`US008150922B2
`
`c12) United States Patent
`Griffin et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,150,922 B2
`Apr. 3, 2012
`
`(54) VOICE AND TEXT GROUP CHAT DISPLAY
`MANAGEMENT TECHNIQUES FOR
`WIRELESS MOBILE TERMINALS
`
`(75)
`
`Inventors: Chris Michael Griffin, Naperville, IL
`(US); Bashar Jano, Algonquin, IL (US);
`Jin Woo Lee, Vernon Hills, IL (US);
`Mihaela Kamenova Mihaylova,
`Schaumburg, IL (US); Christopher
`Robert Dale Wilson, Carpentersville, IL
`(US)
`
`(73) Assignee: Research in Motion Limited, Waterloo,
`Ontario (CA)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 10/197,022
`
`(22) Filed:
`
`Jul. 17, 2002
`
`(65)
`
`Prior Publication Data
`
`US 2004/0015553 Al
`
`Jan.22,2004
`
`(51)
`
`Int. Cl.
`G06F 15/16
`(2006.01)
`(52) U.S. Cl. ........................................ 709/206; 715/758
`( 58) Field of Classification Search . ... ... ... ... .. ... 709/206,
`709/204, 220; 370/310; 345/329, 728, 758;
`455/405, 435.1, 412.2; 715/753, 758; 705/27;
`725/74
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,528,671 A
`6/ 1996 Ryu et al. ........................ 379/93
`5,694,549 A
`12/1997 Carlin et al.
`5,742,905 A
`4/ 1998 Pepe et al.
`5,781,614 A
`7 I 1998 Brunson
`5,838,318 A
`11/ 1998 Porter et al.
`
`5,889,764 A
`N eedharn et al.
`3/1999
`Marianetti, II et al. ....... 382/187
`5,889,888 A
`3/1999
`5,905,476 A
`McLaughlin et al.
`5/1999
`5,987,401 A
`Trudeau
`11/1999
`5,987,503 A
`Murakami
`11/1999
`5,990,887 A
`Red Path et al.
`11/1999
`5,991,796 A
`Anuparn et al.
`11/1999
`6,020,884 A * 2/2000
`..... 345/747
`MacNaughton et al.
`6,061,716 A
`Moncreiff ..................... 709/205
`5/2000
`6,078,948 A
`Podgorny et al. ............. 709/204
`6/2000
`(Continued)
`
`CN
`
`FOREIGN PATENT DOCUMENTS
`1348662 A
`5/2002
`(Continued)
`
`OTHER PUBLICATIONS
`
`http://web.archive.org/web/
`Workshop.
`MIRC
`The
`20020223232111/http://dooyoo-uk.tripod.com/mirc/irc.htrn.
`pp.
`1-8. Feb. 2002.*
`
`(Continued)
`
`Primary Examiner -
`
`John Macllwinen
`
`ABSTRACT
`(57)
`A single content region in a chat history display is used to
`display entries representative of a plurality of messages cor(cid:173)
`responding to all chat histories for all of chat threads currently
`engaged in by a given mobile terminal. Additionally, a buddy
`list display supports management of chat buddies, a detail
`view display allows otherwise truncated messages to be dis(cid:173)
`played, and a text message editor display supports the com(cid:173)
`position of text messages. Each chat user may designate pub(cid:173)
`lic display identifiers for purposes of identification to other
`chat users. Additionally, each user may designate private
`display identifiers for each of his/her buddies, which private
`display identifiers may be used to replace the public display
`identifiers for that user's buddies when displayed on the
`user's mobile terminal. In this manner, the use of speech and
`text based group chatting and similar services in wireless
`communication environments is more readily enabled.
`
`28 Claims, 9 Drawing Sheets
`
`1101
`
`1102 -~"-._
`
`1103
`
`1106
`
`1110
`
`/
`
`1108 · /
`
`f) <start new thread>-
`Buddies
`Reply
`
`1109
`
`1107
`
`Page 1 of 19
`
`Samsung Exhibit 1005
`
`
`
`US 8,150,922 B2
`Page 2
`
`..... 345/738
`
`U.S. PATENT DOCUMENTS
`6/2000 Schindler ...................... 709/204
`6,081,830 A
`12/2000 Hymel et al
`6,157,814 A
`6,161,134 A *
`................... 709/220
`12/2000 Wang et al
`6,167,402 A *
`. ...................... 707/10
`12/2000 Yeager .
`6,212,548 Bl*
`4/2001 DeSimone et al.
`........... 709/204
`6,286,034 Bl
`9/2001 Sato et al. ..................... 709/204
`6,301,609 Bl
`10/2001 Aravamudan et al. ........ 709/207
`6,360,093 Bl
`3/2002 Ross et al.
`6,360,252 Bl *
`3/2002 Rudy et al. .................... 709/206
`6,370,563 B2
`4/2002 Murakami et al. ............ 709/205
`6,393,461 Bl
`5/2002 Okada et al.
`6,405,035 Bl
`6/2002 Singh
`6,430,567 B2
`8/2002 Burridge
`6,430,604 Bl
`8/2002 Ogle et al.
`6,433,795 Bl *
`8/2002 MacNaughton et al.
`6,434,604 Bl
`8/2002 Harada et al.
`6,446,112 Bl
`9/2002 Bunney et al.
`6,456,621 Bl
`9/2002 Wada et al.
`6,459,892 B2
`10/2002 Burgan et al. ................. 455/412
`6,471,521 Bl*
`10/2002 Dornbush et al. ............. 434/322
`6,480,885 Bl
`11/2002 Olivier
`6,484,196 Bl*
`11/2002 Maurille ....................... 709/206
`6,499,053 Bl
`12/2002 Marquette et al.
`6,501,834 Bl
`12/2002 Milewski et al.
`6,539,237 Bl
`3/2003 Sayers et al.
`6,539,421 Bl
`3/2003 Appelman et al.
`6,549,768 Bl
`4/2003 Fraccaroli
`6,594,255 Bl
`7/2003 Newman
`6,597,903 Bl*
`.................. 455/405
`7/2003 Dahm et al.
`6,630,944 Bl *
`10/2003 Kakuta et al. ................. 345/758
`6,668, 169 B2 *
`12/2003 Burgan et al. .............. 455/435.1
`6,677,976 B2
`1/2004 Parker et al.
`6,681,108 Bl*
`1/2004 Terry et al. ................. 455/412.2
`6,721,784 Bl
`4/2004 Leonard et al.
`6,760,580 B2 *
`7/2004 Robinson et al. .......... 455/412.2
`6,807 ,431 B2 *
`10/2004 Sayers et al. .................. 455/555
`6,901,255 B2 *
`5/2005 Shostak
`................ 455/422.1
`6,970,907 Bl *
`11/2005 Ullmann et al.
`.............. 709/206
`6,978,293 Bl *
`12/2005 Wong et al. ................... 709/206
`6,981,223 B2 *
`12/2005 Becker et al .................. 715/753
`7,003,327 Bl*
`2/2006 Payne et al .................... 455/566
`7,007,226 Bl*
`2/2006 Smith et al. ................... 715/206
`7,062,533 B2 *
`6/2006 Brown et al.
`................. 709/205
`7,080,124 Bl*
`7 /2006 Shankar ........................ 709/206
`7,100,116 Bl*
`8/2006 Shafrir et al. ................. 715/751
`2001/0031635 Al
`10/2001 Bharatia
`2001/0042095 Al
`11/2001 Kim et al. ..................... 709/204
`2001/0044787 Al *
`11/2001 Shwartz et al.
`................. 705/78
`2002/0007398 Al
`1/2002 Mediola et al.
`2002/0022954 Al
`2/2002 Shimohata et al. ............... 704/3
`2002/0023128 Al
`2/2002 Matsumoto et al. .......... 709/204
`2002/0073154 Al
`6/2002 Murakami et al.
`2002/0077082 Al
`6/2002 Cruickshank
`2002/0083035 Al
`6/2002 Pearl et al.
`2002/0095679 Al*
`7/2002 Bonini ............................ 725/74
`2002/0112014 Al
`8/2002 Bennett et al.
`
`2002/0133547 Al
`2003/0003953 Al
`2003/0007464 Al*
`2003/0012348 Al
`2003/0028597 Al *
`2003/0030670 Al *
`2003/0055897 Al*
`2003/0126213 Al
`2003/0149774 Al
`2003/0152040 Al
`2003/0153339 Al
`2003/0153340 Al
`2003/0153341 Al
`2003/0153342 Al
`2003/0153343 Al
`2003/0154243 Al
`2003/0154249 Al
`2003/0158902 Al
`2003/0177190 Al*
`2003/0212746 Al*
`2003/0236823 Al
`2004/0039779 Al *
`2004/0078304 Al *
`2004/0125790 Al
`2004/0203907 Al
`2004/0224710 Al
`2005/0027802 Al*
`2005/0126952 Al
`2005/0207557 Al*
`2006/0167944 Al *
`2007/0067404 Al*
`
`9/2002 Lin
`1/2003 Houplain
`. ...................... 370/310
`1/2003 Balani .
`1/2003 Skladman et al.
`2/2003 Salmi et al. ................... 709/204
`................. 345/7 58
`2/2003 Duarte et al.
`3/2003 Brown et al.
`................. 709/205
`7 /2003 Betzler
`8/2003 McConnell et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Crockett et al.
`8/2003 Volach
`9/2003 Moody et al .................. 709/206
`11/2003 Fitzpatrick et al ............ 709/206
`12/2003 Patzer et al.
`2/2004 Amstrong et al
`4/2004 Gabbard et al.
`7 /2004 Hiller et al.
`10/2004 Hiller et al.
`11/2004 Koskelainen et al.
`2/2005 Madsen et al. ................ 709/204
`6/2005 Zabawskyj et al
`........ 379/210.02
`9/2005 Dolan et al.
`7/2006 Baker ........................ 707/104.1
`3/2007 Brown et al.
`................. 709/206
`
`............ 709/204
`................ 705/27
`
`CN
`EP
`JP
`JP
`JP
`JP
`KR
`WO
`WO
`WO
`WO
`
`FOREIGN PATENT DOCUMENTS
`1401102 A
`3/2003
`1 154 666 A2
`11/2002
`10154117
`6/1998
`11203227
`7 /1999
`11249990
`9/1999
`2002009819
`1/2002
`2001-0103278
`11/2001
`W099/63773
`12/1999
`WO 00/69140
`11/2000
`01/63512
`8/2001
`W02004/008336
`1/2004
`
`OTHER PUBLICATIONS
`
`PCT International Search Report for PCT/US03/22355 dated Sep.
`26, 2003.
`Supplementary European Search Report, EPO Appl. No.
`EP03764784, Dated Jun. 16, 2006, 3 pages.
`PCT International Search Report and Written Opinion, Dec. 7, 2005,
`PCT/US04/43581, 7 pages.
`PCT International Search Report, PCT/US03/22357, May 4, 2004, 3
`pages.
`* cited by examiner
`
`Page 2 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 1 of 9
`
`US 8,150,922 B2
`
`Speaker
`
`Screen
`
`Key Pad
`
`Mic
`
`100
`
`FIG. 1
`
`103
`
`104
`
`106
`
`202
`
`101
`
`102
`
`105
`104
`
`107
`
`Mobile
`Terminal 1
`
`Mobile
`Terminal 2
`
`Mobile
`Terminal 3
`
`100
`
`100
`
`100
`
`100~ Mobile
`Terminal 4
`
`204
`
`202
`
`FIG. 2
`
`Server
`Complex
`
`Page 3 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 2 of 9
`
`US 8,150,922 B2
`
`310
`
`305
`
`100 ~MoblleTenninal
`
`--
`
`:
`:
`'
`:
`
`309
`
`Application
`Storage
`
`Temporary
`Storage
`
`Permanent
`Storage
`
`311~
`
`Network
`Interface
`
`312
`
`1/0
`Controller
`
`Voice
`Codec
`
`1~
`!
`' '
`'
`' '
`'
`'
`L_ --- --- - - - - --- --- - -- --- - --- ---- -- --- --- ------- -- - -•
`
`/.-204 304
`
`_______ L/
`
`! Server Complex
`
`'
`
`303
`
`. . .
`
`302
`
`Nickname
`Manager
`
`Message
`Broadcaster
`
`Router
`
`Presence
`Manager
`
`----------------- -------- -----------
`
`'
`' '
`'
`' '
`---------~--·
`
`307
`
`306
`
`301
`
`FIG. 3
`
`Page 4 of 19
`
`
`
`U.S. Patent
`US. Patent
`
`Apr. 3, 2012
`Apr. 3, 2012
`
`Sheet 3 of9
`Sheet 3 of 9
`
`US 8,150,922 B2
`US 8,150,922 B2
`
`500
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`400
`
`
`
`
`
`
`
`
`
`
`
`501
`502
`503
`
`504
`
`505
`
`FIG. 5
`
`Page 5 of 19
`
`Page 5 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 4 of 9
`
`US 8,150,922 B2
`
`600
`
`List Type: GROUP
`
`No Groups: 1
`
`Group Name: my buddies
`
`Recipient/Os: 412, 321, 864
`
`No Ungrouped: 2
`
`Recipient IDs: 123, 104
`
`Recipient ID: 412
`
`Recipient Name: Jane Smith
`
`Recipient Nickname: Jane
`
`Recipient Short Name: JS
`
`Recipient Status: Available
`
`FIG. 6
`
`601
`
`602
`603
`604
`605
`606
`
`502
`503
`504
`505
`607
`
`701
`
`703
`
`702
`
`705
`
`704
`
`706
`
`Address
`
`Pub/Jc Nickname
`
`Pub/Jc Short Name·
`
`Subscnber IDs
`
`700
`
`ID
`
`123
`
`136
`
`876
`
`Status:
`Available
`
`12321012112 2016
`
`Off
`
`11310112108012
`
`TextOnly
`
`123 10 112 10 7291
`
`J1mJ
`
`Chris
`
`JaneT
`
`JJ
`cc
`JT
`
`120, 415, 654
`
`345, 246, 235, 346
`
`102, 349
`
`FIG. 7
`
`Page 6 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 5 of 9
`
`US 8,150,922 B2
`
`800
`
`ID:
`
`123
`
`123
`
`876
`
`701
`
`801
`
`802
`
`803
`
`Buddy ID
`
`Nickname:
`
`Short Name:
`
`325
`
`124
`
`325
`
`Cool
`
`Dad
`
`BstFrnd
`
`FIG. 8
`
`00
`
`D
`
`JT
`
`Page 7 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 6 of 9
`
`US 8,150,922 B2
`
`-+------"
`
`1002
`
`1001
`
`O nickname
`• +group name 3
`•
`group name 4
`• 0
`• 0
`group name 5
`• 0
`nickname 2 (sn2)
`O nickname 5 (sn5)
`•
`nickname 7 (sn7)
`
`nickname 1 (sn1)
`
`nickname 5 (sn5)
`
`1005
`
`• 0
`nickname 4 (sn4)
`O nickname 6 (sn6)
`
`Select
`
`Write
`
`1003
`
`1004
`
`FIG. 10
`
`Page 8 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 7 of 9
`
`US 8,150,922 B2
`
`1101
`
`1102
`
`1104 ----
`1105
`
`1106
`
`nickname9, nickname2, nicknam ...
`
`(sn5) this is a short text message
`
`1103
`
`(sn1)this is a short text message
`
`(sn3) this is a short text message
`
`(sn9) message 4 of thread 2
`
`(sn4) message 5 of thread 2
`
`1103
`
`1110~
`
`(sn1)this is a short text message
`
`<start new thread>~~
`
`Buddies
`
`Reply
`
`1108
`
`1201
`
`1109
`FIG. 11
`
`1107
`
`talk to: nickname1, nickname3, ...
`
`1203
`
`FIG. 12
`
`Page 9 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 8 of 9
`
`US 8,150,922 B2
`
`1302
`
`1303
`
`O nickname 4 (sn4)
`
`This is the full body of the
`message that might have been
`truncated in other views.
`
`nickname 12 (sn12)
`
`nickname 23 (sn23)
`
`nickname 33 (sn33)
`
`nickname 36 (sn36)
`
`1301
`
`1309
`
`1304
`
`1305
`
`Cancel
`
`Write
`
`1306 ~
`
`1307
`
`FIG. 13
`
`Page 10 of 19
`
`
`
`U.S. Patent
`
`Apr. 3, 2012
`
`Sheet 9 of 9
`
`US 8,150,922 B2
`
`1401
`
`write to: nickname1, nickname3, ...
`
`I
`
`1402
`
`Cancel
`
`Send
`
`1404
`FIG. 14
`
`1403
`
`Page 11 of 19
`
`
`
`US 8,150,922 B2
`
`1
`VOICE AND TEXT GROUP CHAT DISPLAY
`MANAGEMENT TECHNIQUES FOR
`WIRELESS MOBILE TERMINALS
`
`TECHNICAL FIELD
`
`The present invention relates generally to connnunication
`systems incorporating speech and textual input and output
`modalities and, in particular, to a novel technique of manag(cid:173)
`ing the display of a plurality of real-time speech and text
`conversations (e.g., chat threads) on limited display areas.
`
`BACKGROUND OF THE INVENTION
`
`2
`build dynamic and static buddy-lists, as well as a technique to
`incorporate user friendly and small screen friendly nick(cid:173)
`names that better enable users to identify and interact with
`users in large connnunities where the likelihood of name
`collisions is high especially when names have to be truncated
`to fit in small screens. Furthermore, relevant chat information
`is displayed to the user when needed in a manner suitable for
`small screens. Using the present invention, the number of
`steps and keypad entries the user has to take in order to
`10 perform the most common chat activities in a manner suitable
`of wireless devices is reduced. In a presently preferred
`embodiment, the techniques are distributed among a mobile
`terminal acting as the client in a client-server model while a
`15 chat server complex acts as the server part of a client-server
`model.
`To this end, a single content region in a chat history display
`is used to display entries representative of a plurality of mes(cid:173)
`sages corresponding to all of the chat histories for all of the
`chat threads currently engaged in by a given mobile terminal.
`Additionally, a buddy list display supports management of
`chat buddies (i.e., chat users that a given chat user frequently
`connnunicates with), a detail view display allows otherwise
`truncated messages to be displayed, and a text message editor
`display supports the composition of text messages. Nick(cid:173)
`names and other identifiers of chat participants ( or users) are
`controlled on two levels. At the first level, each chat user may
`have a designated display identifier, such as a public nick(cid:173)
`name and a public short name. At the second level, each user
`30 can designate private display identifiers, such as a private
`nickname and a private short name for each of his/her bud(cid:173)
`dies, which private display identifiers may be used to replace
`the public display identifiers for that user's buddies when
`displayed on the user's mobile terminal. By incorporating the
`techniques described herein, as opposed to prior art tech(cid:173)
`niques that relied on multiple windows and a bias towards
`simultaneously displaying all available information at all
`times, the use of speech and text based group chatting and
`similar services in wireless connnunication environments is
`more readily enabled.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Text and, to a lesser degree, speech chatting systems, are
`generally known in the art, particularly in relation to personal
`computing systems. Published U.S. patent application Ser.
`Nos. 2001/0042095 Al; 2001/0011293 Al; and 2002/
`0023128 Al and U.S. Pat. Nos. 6,212,548 and 6,286,034
`illustrate exemplary system and user interfaces used today. A 20
`common feature of such systems is that the various conver(cid:173)
`sations ( or threads) are usually split out into distinct regions
`( or windows) on the display or screen. Furthermore, when a
`single thread comprises a plurality of both text and speech
`exchanges, such systems usually separate the two modalities. 25
`The speech is usually played over a speaker, whereas the
`plurality of text messages are displayed on the screen. Users
`have no means to reference old speech messages or distin(cid:173)
`guish when they occurred in the thread relative to other mes(cid:173)
`sages in that thread.
`Particularly troublesome is the fact that such interfaces
`become unwieldy when implemented on small screen devices
`with cumbersome text input mechanisms (as is common on
`mobile terminals in today's wireless markets.)
`Published U.S. patent application Ser. No. 2002/0023128 35
`Al ("the '128 Publication") describes a system where the
`screen area is split into six distinct windows. One window
`presents a chat history of one thread (the thread in focus)
`while another window displays a chat history of the combined
`plurality of the remaining threads. A chat history comprises a 40
`plurality of entries displayed on the screen that describe both
`inbound (i.e., received by the user's mobile terminal) and
`outbound (i.e., sent by the user's mobile terminal) chat mes(cid:173)
`sages. The entries are usually displayed on the screen in
`chronological order and usually only describe text messages. 45
`The '128 Publication also exemplifies the verboseness of
`chat history entries displayed on the screen. An entry might
`list a timestamp, a thread identifier, the sender's identifier,
`and the message. In the case that a single message targets a
`plurality of individuals (i.e., a chat group), the entries may 50
`contain a list of the plurality of other recipient's information
`as well. The combined information of all the entries in the
`chat history is too overwhelming for very small displays.
`Therefore, it would be advantageous to provide a technique
`for displaying multiple chat threads (or histories) using lim- 55
`ited display areas. Such a technique should acconnnodate the
`occurrence of speech messages, and should avoid the verbos-
`ity of prior art techniques.
`
`FIG. 1 is a schematic illustration of a wireless mobile
`terminal in accordance with the present invention.
`FIG. 2 is a block diagram of a wireless connnunications
`system in accordance with the present invention.
`FIG. 3 is a block diagram of wireless connnunication chat
`components in accordance with the present invention.
`FIG. 4 is a schematic illustration of an outbound text mes(cid:173)
`sage in accordance with the present invention.
`FIG. 5 is a schematic illustration of an inbound text mes(cid:173)
`sage in accordance with the present invention.
`FIG. 6 is a schematic illustration of a buddy list update
`message in accordance with the present invention.
`FIG. 7 is a table that illustrates the data contained in a
`presence manager in accordance with the present invention.
`FIG. 8 is a table that illustrates the data contained in a
`60 nickname manager in accordance with the present invention.
`FIG. 9 is a schematic illustration of a buddy list display
`listed in alphabetical order in accordance with the present
`invention.
`FIG. 10 is a schematic illustration of a buddy list display
`listed in group order in accordance with the present invention.
`FIG. 11 is a schematic illustration of a chat history display
`in accordance with the present invention.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides techniques, principally
`applicable to wireless connnunication environments, for dis(cid:173)
`playing and interacting with speech and text group chat
`threads. In particular, the present invention describes tech- 65
`niques to display a plurality of chat threads in a single chat
`history on a limited display area. It describes a technique to
`
`Page 12 of 19
`
`
`
`US 8,150,922 B2
`
`3
`FIG. 12 is a schematic illustration of a title bar for the chat
`history display when speech is recorded in accordance with
`the present invention.
`FIG. 13 is a schematic illustration of a detail view display
`of a single communication message in accordance with the
`present invention.
`FIG. 14 is a schematic illustration of a text message editor
`in accordance with the present invention.
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`The present invention may be more fully described with
`reference to FIGS. 1-14. FIG. 1 illustrates a wireless mobile
`terminal 100 that may comprise any wireless communication
`device such as a handheld cellular phone or a wirelessly
`enabled Personal Digital Assistant (PDA). The configuration
`of the mobile terminal 100 shown inFIG.1 is exemplary only,
`and it is generally understood that a variety of terminals and
`terminal configurations could be used. As shown, the mobile
`terminal 100 comprises a speaker 103 for rendering signals,
`such as received speech, audible; a display 102 to render text
`and graphical elements visible; a navigation rocker 105 that
`allows a user to navigate a list or menu displayed on the
`screen; programmable buttons ( or "softkeys") 104; a keypad
`106 that allows the user to input digits, letters, and other
`symbols (e.g., punctuation); a microphone 107 that captures
`audio such as the user's speech; and a push-to-talk button 101
`that allows the user to initiate recording and transmission of
`audio. These and other components of the mobile terminal
`(not shown) are well known in the art and need not be
`described in greater detail herein. Additionally, there are a
`variety of styles and instances of components that can be used
`instead of ( or in conjunction with) the components described
`in FIG. 1. For example, the push-to-talk button 101 may be
`omitted and replaced with automatic voice detection mecha(cid:173)
`nisms. Touch screens and hand writing recognition tech(cid:173)
`niques can replace the need for the softkeys 104, the naviga(cid:173)
`tion rocker 105, and the keypad 106. The present invention is
`not limited in this regard. Additional components of the ter(cid:173)
`minal that are not necessarily visible to the user but are
`necessary to
`implement chat functionality are further
`described with reference to FIG. 3. The input devices avail(cid:173)
`able on the wireless mobile terminal (e.g., keypad, softkeys,
`etc.) may be employed by a user of the wireless mobile
`terminal to initiate a session of chat software and, within the
`operation of the chat software, to initiate one or more chat
`conversations (threads) as described in greater detail below.
`FIG. 2 illustrates the overall system architecture of a wire(cid:173)
`less communication system comprising a plurality of mobile 50
`terminals 100 in accordance with the present invention. The
`terminals 100 communicate with at least one chat server
`complex 204 by wirelessly transmitting data to a correspond(cid:173)
`ing wireless carrier's infrastructure 202. As known in the art,
`the wireless carrier infrastructures 202 comprise those ele(cid:173)
`ments necessary to support wireless communications with the
`terminals 100. Various service providers (such as Verizon or
`Sprint in the U.S., or Orange in Europe) build and maintain
`such infrastructures. The data packets are sent on to a com(cid:173)
`munication network 203 that forwards them onto the server
`complex 204. The communication network 203, which is a
`packet-based network, may comprise a public network such
`as the Internet or World Wide Web, a private network such as
`a corporate intranet, or some combination of public and pri(cid:173)
`vate network elements. The server complex 204 preferably
`comprises a plurality of networked server computers that may
`be programmed to implement the functionality described
`
`4
`below. The particular number of servers used and the manner
`in which they communicate with each other is a matter of
`design choice. Techniques for programming server comput(cid:173)
`ers and mobile terminals in accordance with the present
`invention are well known in the art.
`When the server complex 204 communicates with one or
`more mobile terminals, the server complex 204 sends its data
`to the network 203 that, in turn, forwards the data onto at least
`one of the carrier infrastructures 202. Each relevant carrier
`10 infrastructure 202 then transmits the data to one or more ofits
`corresponding mobile terminals 100. Preferably, when a plu(cid:173)
`rality of users chat together (i.e., send chat messages from one
`terminal 100 to another), data comprising text, speech, and/or
`graphical messages ( or some combination thereof) are sent to
`15 the server complex 204. The server complex 204 then sends
`copies of the message out to the targeted terminals 100, pref(cid:173)
`erably including, in one embodiment, the initiating or sending
`terminal. Those having ordinary skill in the art will recognize
`that the server complex 204 can be placed inside a wireless
`20 carrier's infrastructure 202, or that it may be eliminated in
`cases where direct terminal-to-terminal transfer is supported.
`In the latter case, substantially all of the chat messaging
`functionality is supported by the mobile terminals. Further(cid:173)
`more, the present invention would benefit systems other than
`25 packet data based systems, as well as systems that are limited
`in scope to a single wireless carrier's domain.
`FIG. 3 illustrates in more detail components found in both
`the terminals 100 and the server complex 204 used to
`exchange group speech and text chat messages. Focusing on
`30 the components of the terminal 100, machine-readable and
`executable instructions (typically referred to as software,
`code, or program) are preferably stored in an application
`storage (or memory) 310 and executed (or run) on a central
`processing unit (CPU) 211. All storage devices described
`35 herein may comprise any combination of volatile (e.g., ran(cid:173)
`dom access memory) or non-volatile (e.g., read-only
`memory) storage as known in the art. Likewise, the CPU 211
`may comprise a microprocessor, microcontroller, digital sig(cid:173)
`nal processor, co-processor, similar devices or combinations
`40 thereof. Using known programming techniques, the software
`can manipulate the display 102, capture speech from the
`microphone 107, capture input data from the key pad 106,
`navigation rocker 105, soft keys 104 and/or push-to-talk but(cid:173)
`ton 101 using the I/0 controller 312. Outbound chat messages
`45 sent to the server complex 204, as well as those inbound chat
`messages received from the server complex 204, pass through
`the network interface 306 that provides connectivity between
`the terminal and the data network. Where the terminal 100
`comprises a wireless device, the network interface 306 com(cid:173)
`prises the entire physical interface necessary to communicate
`with the server complex 204, including a wireless transceiver.
`Preferably, but not necessarily, speech sent to the server com(cid:173)
`plex 204 is first encoded using a voice codec 307, which may
`be implemented in software. Similarly, voice from the server
`55 complex 204, may, when necessary, be decoded using the
`voice codec 307 before it is sent to the speaker 103. The
`software uses temporary storage 309 to save working data
`that does not persist between software initiations (sessions).
`On the other hand, the software uses the permanent storage
`60 305 to persist data for longer periods of time that can span
`multiple software sessions.
`Focusing on components of the server complex 204, the
`data traffic comprising encoded speech and text messages
`( e.g., outbound chat messages 400; see FIG. 4) flows into the
`65 server complex 204 preferably via the router 301. Note that
`the router 301, presence manager 302, message broadcaster
`303 and nickname manager 304 may be implemented on one
`
`Page 13 of 19
`
`
`
`US 8,150,922 B2
`
`5
`or more server computers or the like residing within the server
`complex 204. The router 301 directs the outbound chat mes(cid:173)
`sage 400 towards a message broadcaster 303 that determines
`the plurality of inbound chat message copies ( e.g., inbound
`chat messages 500; see FIG. 5) needed and their destinations.
`In the context of the present invention, the term inbound
`refers to messages directed to one or more mobile terminals,
`whereas the term outbound refers to messages sent by mobile
`terminals. The message broadcaster 303 decomposes the
`incoming message 400, and locates the list of recipient iden(cid:173)
`tifiers 402. It then queries a presence manager 302 to establish
`the recipients' current status 702 (i.e., an indicator of whether
`the recipient is ready to receive the particular type of message,
`speech and/or text messages only, etc.) and the terminal's
`address 703. FIG. 7 illustrates a table with the plurality of
`presence data records 700 contained within the presence
`manager 303. Each presence record 700, comprises the user's
`identifier 701, the current status 702, the current terminal
`address 703 (if known), a public display identifier, such as a
`public nickname 704 and a public short name 705, and a
`plurality of other user identifiers 706 that subscribe to the
`presence information of the user corresponding to that record.
`The public display identifiers or public nickname set 704-705
`is used in inbound chat messages 500 sent to the terminal 100
`unless the receiver (i.e., the receiving user) overrides the
`public nickname set 704-705 with private display identifiers
`or a private nickname set 802-803. When presence status 702
`changes, the presence manager 302 sends a buddy list update
`message 600 to all the subscribers listed in the subscriber
`identifier field 706 of the corresponding presence record 700.
`Those having ordinary skill in the art will recognize that
`presence records 700 may contain other information and
`attributes such as forwarding address, processing rules that
`describe what to do in various circumstances, graphical rep(cid:173)
`resentation for various status, profiles (i.e., a plurality of a
`different value sets that could be used at various times or
`depending on the receiver, etc.) and so on.
`Although not illustrated in FIG. 3, the server complex 204
`may include other components such as authentication and
`encryption servers that ensure the authenticity of the chat
`communication messages and secure the privacy of their con(cid:173)
`tent. The server complex 204 may also include a plurality of
`other components like speech-to-text and text-to-speech
`translators, natural language translators, voice transcoders,
`and other similar transformation gateways that transform the
`message, its contents, and any attachments (e.g., ring-tones,
`images, and so on) to a more meaningful and usable format by
`the receiver. Techniques for implementing such other com(cid:173)
`ponents are well known in the art.
`Preferably, a nickname manager 304 resides in the server
`complex 204 and is responsible for managing lists of nick(cid:173)
`name sets 802-803 used by the receiver of an inbound chat
`message 500 to override public nicknames and short names.
`Note that nicknames and short names differ primarily in their
`length. Nicknames may be of any arbitrary length (possibly
`limited as a matter of design choice), whereas short names are
`preferably fixed in length or size. Additionally, nicknames
`and short names are instances of display identifiers used to
`identify the originators of chat messages. Such display iden(cid:173)
`tifiers are distinguished from identifiers used internally by the
`present invention to identify particular users ( e.g., identifiers
`having reference numerals 701, 403, and 604 in the accom(cid:173)
`panying FIGs).
`FIG. 8 illustrates the nickname record 800 contained
`within the nickname manager 304. Preferably, each nickname
`record 800 comprises a receiving user's identifier 701, the
`buddy's identifier 801 (i.e., the identifier of the chat buddy for
`
`6
`whom the receiving user desires the message broadcaster 303
`to replace the buddy's public nickname set 704-705 with the
`receiver's private nickname set 802-803 on all inbound chat
`messages 500) and the private nickname 802 and private short
`name 803. Like the case of presence records 700, those hav(cid:173)
`ing ordinary skill in the art recognize that nickname records
`800 may contain other information and attributes such as
`forwarding address, processing rules, graphical representa(cid:173)
`tion for various status, profiles (i.e., different field values that
`10 could be used in various times, etc.) and so on. Upon receiv(cid:173)
`ing a message targeted to a recipient designated by the receiv(cid:173)
`ing user's identifier 701, the nickname manager 304 deter(cid:173)
`mines the buddy identifier 801 (i.e., the identification of the
`chat participant that initiated transmission of the message).
`15 Based on the buddy identifier 801, the nickname manager 304
`inspects the nickname records corresponding to the targeted
`recipient. If the buddy identifier is not found in the targeted
`recipient's nickname records, the message is sent to the tar(cid:173)
`geted recipient as in inbound message with the public nick-
`20 n