throbber
(12)
`
`United States Patent
`DeSimone et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,212,548 B1
`*Apr. 3, 2001
`
`US006212548B1
`
`(54) SYSTEM AND METHOD FOR MULTIPLE
`ASYNCHRONOUS TEXT CHAT
`CONVERSATIONS
`
`(75) Inventors: Antonio DeSimone, Lebanon;
`Elizabeth A. Hohne, Long Branch;
`Rf‘ngamam sundi‘r’ Fref’hold;
`VlShWaIlathaIl ThlagaraJall; Kumar
`K- Vishwanathan, both of Holrndel, all
`Of NJ (US)
`
`_
`
`(73) Assignee: AT & T Corp, New York, NY (US)
`
`(*) Notice:
`
`This patent issued on a continued pros-
`ecution application ?led under 37 CFR
`1.53(d), and is subject to the tWenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`Subject I0 any disclaimer, the term Of this
`Pawnt is eXteIlded or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl, N()_j 09/126,162
`
`5,528,671
`5,633,916
`5,659,692
`5,694,163
`5’721’763
`
`6/1996 Ryu et al. .
`5/1997 Goldhagen et al. .
`8/1997 Poggio et al. .
`12/1997 Harrison.
`2/1998 Joseph et a1‘ '
`gusey 6‘ a1"
`6/1998 Choquier et 8.1..
`5,774,668
`5,793,365 * 8/1998 Tang et al. ......................... .. 345/329
`5,828,839 * 10/1998 Moncreiff
`.. 709/204
`5,926,179 * 7/1999 Matsuda et al.
`. 345/355
`5,999,208 * 12/1999 McNerney et al. .................. .. 348/15
`OTHER PUBLICATIONS
`
`,
`
`,
`
`uthyar et al. .
`
`Honeycutt and Pike, “Using mIRC, Netscape Chat, and
`Comic Chat,” Chap. 36 in Using the Internet, Third Edition,
`1996, pp. 905—925.
`“The Undernet Documens Project,” from http://WWW.
`user—com.undernet.org/documents, 3 pages, updated Mar.
`30, 1998.
`Oikarinen and Reed, “Internet Relay Chat Protocol,” Net
`Work Working Group, Request for Comments 1459, May,
`1993.
`“Activerse Documentation” from http://WWW.activerse.com/
`product/ding/v20/docs/toolbar.htm, last modi?ed Jul. 28,
`
`Jul. 30, 1998
`
`(22) Filed:
`_
`199?‘
`(51) Int Cl 7
`G06F 13/00
`* cued by exammer
`(52) US. Cl. ........................ .. 709/204; 709/206; 709/219; 23% obizgmferjvlet 1],): W Wu. R
`709/313; 709/329
`y, gen, 0r zrm— 1 1am yan
`
`(58) Field of Search ................................... .. 709/204, 205,
`709/206, 217, 219, 232, 313, 317, 329;
`345/339, 340, 347, 330, 331, 332
`
`(56)
`
`References Cited
`
`US. PATENT DOCUMENTS
`_
`11/1985 Plke '.
`4’555’775
`8/1988 HuntZlnger .
`4,761,642
`4/1989 Pope _
`478237108
`6/1991 Gur1ey_
`5’036’315
`12/1991 Henderson’ ]L et a1_ _
`5,072,412
`4/1992 Simth et al. _
`5,107,443
`7/1994 Page et al. .
`5,329,619
`4/1995 Goikas et al. .
`5,408,602
`5,491,743 * 2/1996 Shiio et al. ........................ .. 709/204
`
`ABSTRACT
`(57)
`H.
`1 n f
`.
`t
`.
`f
`A luraht
`p
`y 0 users commumca e m a pg’ur'a 1 y o. rea lme
`text conversations (e.g., chat sessions ) in a client-server
`message processing environment using messages including
`a conversation index, a conversation-initiator ID and a list of
`message recipients. Each conversation is maintained at
`client terminals in an individual Window. Dropping and
`controlled adding of conversation participants is attended by
`.
`.
`.
`message updates to other participants. Alternative peer-to
`peer message handlmg reduces the processmg burden on
`servers While alloWing clients to perform control and display
`functions. Voice or other non-text messages are also com
`municated using described techniques.
`
`15 Claims, 6 Drawing Sheets
`
`,700
`
`f
`
`00105115111011 - 1
`1N ROOM: DAWN, MIKE, DAVE
`DAWN > 6111 YOU BELIEVE ll?
`MIKE > com so - BYE
`" MIKE DROPPED '1
`01v: > lo BAD MIKE HAD 10 DROP
`om
`
`DAWN
`
`17211
`[710
`SEE
`CONVERSATION 4 2
`SEE] l
`[15E]
`\El 1N ROOM: DAWN, TOM, DlCK
`DAWN > | WAS 11151 11mm: 10 WE
`MIKE > WHAT n10 MIKE HAVE TO 5m
`01w" > 101/ mu NEVER BELlEVE 1111s
`TOM > 1 THINK HE 10111 ME THE SAME
`STORV BEFORE
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 1
`
`

`
`U.S. Patent
`
`Apr. 3, 2001
`
`Sheet 1 0f 6
`
`US 6,212,548 B1
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 2
`
`

`
`U.S. Patent
`
`Apr. 3, 2001
`
`Sheet 2 0f 6
`
`US 6,212,548 B1
`
`FIG. 2A
`
`f 210
`
`CLIENT
`
`CLIENT
`
`CLIENT
`
`CLIENT
`
`FIG. 3
`
`DAWN — INITIATE CHAT
`
`BENZ]
`
`PUT IN CHAT
`AVAILABLE FOR CHAT
`MIKE
`\:>
`DAVE
`<):
`
`NAME CHAT ROOM:
`HELP] ICREATE CHAT ROOM
`
`CLOSE
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 3
`
`

`
`U.S. Patent
`
`Apr. 3, 2001
`
`Sheet 3 0f 6
`
`US 6,212,548 B1
`
`FIG. 4A
`
`DAWN
`CHATS FOR ALL
`m ROOM: DAWN, MIKE
`DAWN > HELLO!
`MIKE > HI THERE
`DAWN > HAvE YOU HEARD THE LATEST?
`
`TZIIEIET
`ADD
`
`FIG. 48
`
`MIKE
`CHATS FOR ALL
`IN ROOM: DAWN, MIKE
`DAWN > HELLO!
`MIKE > Hl THERE
`DAWN > HAVE YOU HEARD THE LATEST?
`
`EHEHZI
`ADD
`
`HOLD 0N - WAIT UNTIL | ADD DAVE
`
`FIG. 4C
`
`DAVE
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 4
`
`

`
`U.S. Patent
`
`Apr. 3, 2001
`
`Sheet 4 0f 6
`
`US 6,212,548 B1
`
`FIG. 5A
`
`DAWN
`CHATS FOR ALL
`IN ROOM: DAWN, MIKE, DAVE
`DAWN > HELLO!
`MIKE > HI THERE
`DAWN > HAVE YOU HEARD THE LATEST?
`MIKE > HOLD ON — WAIT UNTIL I ADD DAVE
`** DAvE ADDED "
`
`QEIIZI
`ADD
`
`ME > HH
`
`@
`
`@
`
`FIG 58
`
`MIKE
`CHATS FOR ALL
`IN ROOM: DAWN, MIKE, DAvE
`DAWN > HELLO!
`MIKE > HI THERE
`DAWN > HAVE YOU HEARD THE LATEST?
`MIKE > HOLD ON — WAIT UNTIL I ADD DAVE
`" DAVE ADDED **
`
`IZIIEIIE
`DE
`
`DAVE > HI!
`
`FIC 5C
`
`DAVE
`CHATS FOR ALL
`IN ROOM: DAWN, MIKE, DAVE
`"* WELCOME "
`
`DAVE > HI!
`
`IZIIEIIZI
`ADD
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 5
`
`

`
`U.S. Patent
`
`Apr. 3, 2001
`
`Sheet 5 0f 6
`
`US 6,212,548 B1
`
`FIG. 6A
`
`DAWN
`
`CHATS FOR ALL
`IN ROOM: DAwN, MIKE, DAvE
`MN > CAN YOU BELIEVE IT?
`MIKE > com 00 - BYE
`** MIKE DROPPED “
`ME > T0 BAD MIKE HAD TO DROP
`OFF!
`
`KNEE
`ADD
`
`FIG. 6B
`
`MIKE
`
`EHEHZI
`IE]
`
`CHATS FOR ALL
`IN ROOM: DAwN, MIKE, DAVE
`DAWN > CAN YOU BELIEVE IT?
`MIKE > GOTTA G0 — BYE
`" MIKE DROPPED *"‘
`DAVE > T0 BAD MIKE HAD TO DROP
`OFF!
`
`@
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 6
`
`

`
`Facebook and WhatsApp Exhibit No. 1006
`Page 7
`
`

`
`US 6,212,548 B1
`
`1
`SYSTEM AND METHOD FOR MULTIPLE
`ASYNCHRONOUS TEXT CHAT
`CONVERSATIONS
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to the ?eld of
`messaging systems and methods. More particularly, the
`present invention relates, in one aspect, to methods and
`systems for maintaining multiple simultaneous asynchro
`nous text (or other) conversations. Still more particularly,
`aspects of the present invention relate to systems and
`methods for establishing and maintaining multiple simulta
`neous asynchronous message sessions betWeen overlapping
`or non-overlapping sets of users in data communications
`contexts, such as Internet chat sessions.
`
`10
`
`15
`
`BACKGROUND OF THE INVENTION
`
`The Internet and many on-line information services pro
`vide electronic mail (e-mail), conferencing and chat
`services, and the ability to access remote computers for
`sending and retrieving ?les. E-mail, perhaps the most Widely
`used of Internet and on-line service applications, has an
`(often desirable) inherent “off-line” time delay characteris
`tic.
`Internet Relay Chat (IRC) or, simply “chat” provides
`informal communications among users of data netWork
`facilities. Chat alloWs tWo or more users to converse by
`exchanging text messages, typically through a “channel” or
`virtual “chat room” maintained on one or more chat servers
`and accessed via an on-line service or using general purpose
`chat “client” softWare executing at a user terminal, Work
`station or personal computer. Only chat “participants” con
`nected (typically through a telephone line modem) to the
`on-line service or other chat environment provided by one or
`more chat servers, can take part in the chat. Chat room
`“conversations” are displayed as text in a chat room WindoW
`on a participant’s display screen, usually accompanied by a
`list of chat participants. The text displayed at a participant’s
`terminal usually includes a history of the conversation from
`the time that the vieWing participant joined the chat room.
`Entering particular chat rooms is typically effected using a
`list or menu of currently available chat rooms. Exiting a chat
`room is usually as simple as closing the chat WindoW.
`Extensions of the basic chat model of communications
`permit use of voice (or other audio), video and other
`message content.
`Chat Rooms (including private chat rooms, described
`beloW) are established on chat servers in advance of text
`conversations, and alloW many users to communicate via
`messages. Any user may elect to join a chat room (become
`a participant), subject to prior subscription or registration
`procedures imposed by the on-line service provider or
`operator of the chat server(s). Many versions of chat client
`softWare, With varying functionality and communications
`protocols, are Widely available on the Internet for doWnload.
`Participants in a chat room receive all messages sent to the
`chat room and can decide to contribute input messages
`according to personal preference.
`Private chat rooms are set up by a participant seeking to
`have private text communications With a selected one or
`more other participants in an existing chat. ToWard this end,
`the initiating participant typically sends a “query” or similar
`message to another participant With Whom the initiating
`participant Wishes to privately communicate. A recipient of
`this query agrees to take part in a private chat With the
`initiating user by responding to the message. Others may be
`
`2
`added in similar fashion. The server provides a separate chat
`room or channel not accessible by anyone not invited by
`those in the established private chat room.
`Instant Messaging (IM) alloWs a user to launch a message
`to another user. Variants of IM permit a notice to be sent to
`others (e.g., those on a “buddy list” ) When a particular user
`logs on to a server, even Without joining a chat or other
`tWo-or-more-person conversation. Users announce their
`availability to receive messages by electing options or
`submitting system parameters in advance. The sender of an
`instant message determines Who Will receive the message.
`While the foregoing and other features of e-mail, chat and
`instant messaging have proven very useful in a number of
`contexts, these systems suffer from a number of real time
`limitations. For example, current chat environments limit
`users to participation in only one multiple-party (three or
`more participant) real-time chat room at a time. Users may
`participate in more than one conversation in real time, if
`these are tWo-Way conversations. Likewise, a user may
`pursue multiple conversations (strings of messages) With
`multiple users, but only over an elapsed time period using
`multiple WindoWs for conversation events, participation, and
`display.
`
`25
`
`SUMMARY OF THE INVENTION
`
`Limitations of the prior art are overcome and a technical
`advance is made in accordance With the present invention
`described in illustrative embodiments herein.
`In accordance With one aspect of the present invention, a
`user maintains multiple simultaneous real-time chat sessions
`With a plurality of other participants using a single client
`residing on a personal computer, Workstation or terminal
`(collectively, “terminal”). Advantageously, each of the con
`versations is presented in a separate WindoW on the terminal,
`and the user can select a WindoW for text input in the usual
`Way.
`In accordance With an illustrative embodiment, a tech
`nique for labeling and addressing messages is introduced
`and applied in a data netWork With a technique for presenting
`conversation events, messages, and history. These and other
`features of illustrative embodiments permit dynamic cre
`ation of multiple simultaneous asynchronous conversations,
`each among multiple users, in a distributed manner—all in
`real time. Participants in component conversations may
`change over the life of the conversation and the conversa
`tions Will include overlapping sets of users.
`Participants send messages in the context of a particular
`conversation. In accordance With an illustrative system
`embodiment, these conversations and communications
`events (e.g., adding a participant, removing a participant)
`among multiple users are tracked in a completely distributed
`manner and in real time. The conversation data, including
`events, messages, and history, is presented to the user in an
`organiZational structure that uniquely identi?es the conver
`sation.
`While participants in several simultaneous real-time con
`versations may be overlapping to various extents, in one
`class of embodiments the set of messages sent to participants
`in one or more of the conversations is mutually exclusive of
`the set of messages sent to participants in one or more other
`conversations. A useful illustrative example is a session
`including a negotiation betWeen tWo (or more) principal
`negotiators, each of Whom has background advisors. The
`respective advisors take part in “Whisper conversations”
`With their principal(s) that cannot be observed (“heard”) by
`the opposing negotiator or opposing advisors, or even others
`
`35
`
`45
`
`55
`
`65
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 8
`
`

`
`US 6,212,548 B1
`
`3
`on the same side of the negotiation. Side conversations, e.g.,
`betWeen opposing advisors seeking to resolve underlying
`technical or procedural points, can be pursued under the
`observation of other advisors and/or principals in separate
`chat WindoWs. Advantageously, advisors on the same side
`can selectively pursue such side conversations as Well.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`The above-summariZed description of illustrative
`embodiments of the present invention Will be more fully
`understood upon a consideration of the folloWing detailed
`description and the attached draWing, Wherein:
`FIG. 1 is an overall vieW of a data netWork in Which
`embodiments of the present invention are used and prac
`ticed.
`FIG. 2A shoWs an illustrative client-server message han
`dling architecture for use With embodiments of the present
`invention.
`FIG. 2B shoWs an illustrative peer-to-peer message han
`dling architecture for use With embodiments of the present
`invention
`FIG. 3 shoWs an illustrative chat initiation WindoW for use
`by a message-initiating user at a client terminal.
`FIGS. 4A—C, 5A—C and 6A—C shoW illustrative vieWs of
`WindoWs at typical client terminals during various phases of
`establishing, maintaining and removing from conversations.
`FIG. 7 shoWs a terminal display With a plurality of
`simultaneous real-time multiple party message conversa
`tions in respective WindoWs.
`
`DETAILED DESCRIPTION
`
`Terminology
`It proves useful to introduce a set of terms as a basis for
`the detailed description given beloW. For this purpose the
`folloWing terms and respective meanings Will be applied:
`Session: all potential participants in on-line conversations.
`Thus, in the negotiation example mentioned above, all users
`on both sides are part of the session. In other cases the
`session may include a group of users such as those logged
`onto an on-line service or similar chat room, or included in
`a “buddy list” maintained by a user.
`Conversation: a string of messages among participants in a
`session, presented Within a WindoW at each participant’s
`display. Non-participants in a conversation do not receive
`messages in a conversation, nor can non-participants send
`messages to participants in the context of the conversation.
`A conversation has a history that may be different for
`different participants.
`Message: information generated by a participant that is
`added to a conversation history. Also includes control infor
`mation including conversation id and a list of participants in
`a conversation.
`Initiating Message: the ?rst message in a conversation.
`Augmenting Message: a message that indicates a participant
`has been added to a conversation.
`Pruning Message: a message that indicates a participant has
`been removed from a conversation
`Illustrative System OvervieW
`FIG. 1 shoWs an illustrative data communications system
`150, such as the Internet With attendant access facilities, in
`Which the present invention may be applied. Of course
`netWork 150 may be an on-line service netWork, or any other
`real-time message-handling netWork. In netWork 150 a rep
`resentative plurality of personal computers, Workstations, or
`terminals (collectively “terminals”), 105-i, i=1, 2, .
`.
`. , N are
`shoWn connected by Way of telephone lines or other access
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`paths through a data netWork (illustratively, the Internet) 100
`to a server 110. N can be any positive integer, subject to
`transmission and processor capacity limitations.
`Server 110 is shoWn With dashed lines on its right to
`indicate that the server functions may be distributed over an
`arbitrary number of netWorked cooperating servers. Each
`terminal 105-i is connected (through standard access
`facilities) to an associated server. In some cases all terminals
`Will be associated With the same server, but more generally
`one or more terminals Will be connected to each of a group
`of servers. In typical operation, the terminals 105-i execute
`client softWare for cooperating With server softWare running
`on a respective server 110 to enable chat functionalities. In
`one illustrative case, client and server softWare Will be based
`on Well-known chat components such as mIRC client and
`server softWare by mIRC Co. Ltd. Which is available on the
`Internet, e.g., at http://WWW.mirc.co.uk, and from other
`distributors.
`Further information about Well-known chat softWare and
`procedures is available from the Undernet User Committee
`Web site at WWW.user-com.undernet.org/documents/. Of par
`ticular note is NetWork Working Group Request for Com
`ments: 1459, by J. Oikarinen and D. Reed, May, 1993,
`available at the Undernet Web site. This latter document
`presents a version of the Internet Relay Chat (IRC) Protocol
`that has provided important bases for current chat imple
`mentations. Other particular client/server implementations
`of various chat functionalities include several quIRC chat
`softWare modules.
`Standard chat methodologies, including those recited
`above, or used in other chat systems Well knoWn to the art,
`or described in documents Well knoWn in the art, are
`modi?ed and extended in accordance With aspects of the
`present invention to realiZe desirable inventive functional
`ities. Features and operations of illustrative systems, meth
`ods and protocols for achieving advantages of the present
`invention Will be described beloW.
`Message Handling Architectures and Protocols
`Aprincipal mechanism for communicating messages and
`managing WindoWs for vieWing chat conversations in accor
`dance With illustrative embodiments of the present invention
`is the Well-known client-server architecture, as modi?ed in
`the manner described beloW. FIG. 2A illustrates a simple
`client-server architecture for message handling in accor
`dance With one class of embodiments of the present inven
`tion. In FIG. 2A, a snapshot of activity among a sampling of
`netWork elements, messages are seen to be sent from one
`client (illustratively client 220) to a server 210. At server 210
`processing of the message is performed to effect control and
`distribution of messages in a conversation (to clients 230
`and 250, for example). At other times, clients such as 230,
`240 or 250 originate messages that are processed by server
`210 and forWarded, as appropriate, to other clients. In
`accordance With aspects of embodiments of the present
`inventive contributions, a client maintains a plurality of
`simultaneous plural-participant conversations.
`Alternatively, many of the message handling and WindoW
`control operations used in embodiments of the present
`invention are advantageously accomplished using a peer-to
`peer interconnection among clients. Such a system arrange
`ment is shoWn in a simpli?ed example in FIG. 2B, Where
`clients 260, 270, 280 and 290 are shoWn selectively com
`municating messages. Because a message format is used, in
`accordance With one aspect of the present invention, that
`alWays alloWs a receiving client to identify the chat conver
`sation With Which a message is associated, much of the
`routing and WindoW control functionality can be left to the
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 9
`
`

`
`US 6,212,548 B1
`
`5
`client software at user terminals. Aspects and advantages of
`such peer-to-peer interconnection Will be discussed below.
`As With the presently modi?ed client-server architecture, a
`client can maintain plural simultaneous conversations, each
`With a plurality of other participants.
`Initially, hoWever, it Will be assumed for illustration that
`a client-server architecture is used to permit clients to
`exchange messages through one or more respective servers.
`Each client is associated With a particular server, Which
`server may be shared among clients or co-located With a
`designated client. Such a client-server arrangement can be
`considered to be essentially a star con?guration if intercon
`nected servers, if any, are considered as one server. This
`latter condition Will be assumed in discussions of client
`server system organiZations in the sequel. That is, it Will be
`assumed that all servers in a multi-server netWork Will
`maintain, or have ready access to, lists of participants and
`other message handling information maintained at servers to
`control the processes described beloW. Such exchange of
`information betWeen servers is commonplace in multi
`server environments.
`In beginning a discussion of typical message handling
`operations in accordance With the present invention, it Will
`be recogniZed that any message conversation has an initiator
`and a set of participants. Further, any message has a sender
`and a set of recipients that is a superset of the set of
`participants. In accordance With one aspect of some illus
`trative embodiments of the present invention, a message that
`includes a set of recipients that is a proper superset of the set
`of participants advantageously changes the set of partici
`pants in the conversation to include all the recipients of the
`message. A message therefore includes an identi?cation of
`the existing participants in the conversation, and perhaps
`others being added by the message.
`In accordance With illustrative embodiments of the
`present invention, characteristics desirably included in any
`message from a message-originating user are message ele
`ments identifying
`the originating user, (ii) all recipients of
`the message, and (iii) a conversation index.
`Thus, each user in a conversation has a unique identi?er
`(unique across the session, at least) associated With the user.
`This user identi?er may be assigned speci?cally for the
`session or may be persistently associated With the user.
`Examples include an e-mail address or an Internet Protocol
`(IP) address, but nicknames are common in chat contexts.
`Also, as noted, it proves advantageous to cause all conver
`sations initiated by a sender have a unique conversation
`index. The combination of sender’s ID and conversation
`index are advantageously used by all recipients of a message
`to determine the conversation With Which the message is
`associated. The system Will have unique names for each
`conversations generated by the initiators and, as is usual for
`chat rooms, unique names for each participant visible to
`each participant.
`In one illustrative embodiment, any participant can add a
`neW participant at any point in the conversation. This
`conversation event advantageously triggers a message to all
`other participants, causing their vieW to be updated. Any
`participant may choose to remove himself or herself from a
`conversation. As in the case of adding a participant, this
`event conveniently triggers a vieW-updating message to all
`participants. These and other typical message characteristics
`and operations Will noW be illustrated in an illustrative
`example involving the initiation of a chat room, the subse
`quent use of the chat room to broadcast to participants, and
`the removal of participants from the chat room.
`Message Formats
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`The ASCII message protocol conveniently used to
`describe the messages exchanged betWeen the client and the
`server in many chat environments is adopted for the present
`illustrative embodiments. Because many aspects of existing
`chat message protocols Will prove useful in employing the
`present invention, elements useful in introducing the above
`recited and other inventive features Will be used in augment
`ing existing formats and protocols. In any event, it Will be
`understood that many particular message formats may be
`adopted for use With the present inventive contributions, as
`circumstances may alloW or dictate. To provide a common
`illustrative format, it proves useful to employ the folloWing
`message elements:
`
`[Headl NL]+NL NL [Name:Value]* NL NL NL *
`
`Where NL (neWline) is also represented as \n. A message is
`therefore taken as complete When it has at least
`
`[HEADl NL]+NL NL and an optional set of (name, value) pairs.
`
`Some Example Messages
`Asequence of messages Will noW be shoWn and discussed
`to illustrate aspects of chat methodology used in illustrative
`embodiments of the present invention. In these example
`messages, a tWo-line command sequence appears as, for
`example,
`2
`11.
`The syntax and semantics for all instances of this useful,
`but arbitrary, command sequence Will not be presented, but
`the command function and results appear in the messages
`and associated discussion. Other particular commands and
`command sequences Will prove useful in particular contexts,
`as Will be apparent to those skilled in the art.
`For purposes of the illustrative example messages, it is
`assumed that the session involves users DaWn, Mike and
`Dave. Initially, DaWn is preparing to initiate a conversation
`With Mike. The folloWing illustrative initiate chat message
`re?ects DaWn’s use of her client softWare from her terminal
`to indicate that she Would like to initiate a chat. The message
`is sent from her client to a communications server.
`Message-Begin
`<Session Id>
`2
`11
`ChatRoomNamez<User Speci?ed Room Name>
`UID:<User’s unique Id for the Session>
`UIDNameListz<comma separated list of participants’
`UID for this
`Chat Session excluding the Chat room Creator>
`Message-End
`Information for this message is conveniently entered in a
`WindoW created by the client softWare at DaWn’s terminal,
`e.g., in response to selecting an “Initiate Chat” button from
`a menu or the like presented by an opening (or other) screen
`on DaWn’s client. An example WindoW of this type is shoWn
`in FIG. 3. Because the client softWare is aWare of the
`initiator’s (DaWn’s) User ID, it is not necessary for her to
`explicitly enter this UID.
`When the initiate chat message given above is received at
`the server, it is parsed and processed in accordance With the
`folloWing illustrative pseudo code:
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 10
`
`

`
`US 6,212,548 B1
`
`Code-Begin
`If (ChatRoomName+Creator-Id already present in the list of Chat Rooms)
`
`send the following error response for the Chat Room
`Creation Request:
`Message-Begin
`<Session Id>
`2
`12
`errorCode:6 errorstring:Duplicate Chat Room
`ChatRoomName: <ChatRoomName+Creator-Id> UID:<User’s unique Id
`for the Session> UIDList:<comma separated list of participants’ UID for
`this Chat Session excluding the Chat room Creator)
`Message-End
`}
`else
`
`Add the Chat Room to the list of active Chat Rooms; pair; Extract the
`List of participants from the NickNameList N/V pair;
`Send the following Response Message to the Chat Room Creator and all
`the participants of the chat room:
`Message-Begin <Session Id>
`2
`12
`
`ChatRoomName:<ChatRoomName+Creator-Id> UID:<User’s unique Id for the
`Session> UIDList:<comma separated list of participants’ UID for this Chat
`Session excluding the Chat room Creator)
`Message-End
`
`When the message is received by the client software residing on conversation
`participants’ terminals, the following processing illustratively transpires:
`// processing by the Creator
`if (creation of chat room is successful)
`
`if (there is no other chat room with the same name exist)
`
`display a chat room with just the room name
`
`else
`
`display a chat room with the room + creator’s id
`modify the name of the other chat room with the same name to
`room name + creator’s id (this is creator of this room)
`
`else
`
`display an error message informing the error
`
`// processing by rest of the participants
`if (there is no other chat room with the same name exist)
`
`display a chat room with just the room name
`
`else
`
`display a chat room with the room + creator’s id
`modify the name of the other chat room which has the same
`name to room name + creator’s id (this is creator of this room)
`Note that the participants do not ordinarily receive an error message for creation
`of a chat room.
`
`invention, any participant in a chat room can add a new
`FIGS. 4A—C illustrate a continuation of the foregoing
`eXZIIIIPIQ There, Dawn and Mike View their COIlVerSaIiOIl in 55 participant to that chat room. To effect the desired addition
`reSPeCFiV§WiI1d0WS~ Mike is Preparing to Send a message to
`the following message is sent by a client, such as the client
`Dawn indicating that he is about to add Dave to the chat. In
`at Mike’s terminal to the Server:
`accordance with one illustrative embodiment of the present
`
`Message-Begin
`<Session Id>
`2
`13
`ChatRoomName:<ChatRoomName+Creator-Id>
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 11
`
`

`
`US 6,212,548 B1
`
`10
`
`9
`
`-continued
`
`UID:<user issuing the request>
`UIDList:<comma separated list of participants’ UID to be added to this chat
`room>
`
`Message-End
`Upon receiving the above message, the server performs the following processing:
`Code-Begin
`If (ChatRoomName+Creator-Id does not exist)
`{
`
`send the following error response for the Chat Room Creation Request:
`Message-Begin
`<Session Id>
`2
`14
`errorCode:7
`errorString:Invalid chatroomname
`ChatRoomName:<ChatRoomName+Creator-Id>
`Message-End
`
`}
`else if (user issuing the request is not a participant of this chat room)
`{
`
`send the following error response for the Chat Room Creation Request:
`Message-Begin <Session Id>
`2
`14
`errorCode: 8
`errorString:Participant does not eXist in the room
`ChatRoomName:<ChatRoomName+Creator-Id>
`Message-End
`
`else
`
`eXtract the list of participants from the message, add them to the
`list of participants in the room. Broadcast the following message
`to all the participants in the room.
`Message-Begin
`<Session Id>
`2
`14
`ChatRoomName:<ChatRoomName+Creator-Id>
`UID:<user who issued the add request>
`UIDList:<comma separated list of UIDs for participants who have been
`added to this chat room>
`Message-End
`
`}
`Upon receiving the above message the client software residing on conversation
`participants’ terminals performs the following:
`// Processing by the user who issued the add if adding the participant
`was successful
`
`add this participant to list of active users in the corresponding
`chat room
`
`//processing by the client for the participant who was added
`if (there is no other chat room with the same name exist)
`
`display a chat room with just the room name
`
`else
`
`display a chat room with the room + creator’s id
`modify the name of the other chat room which has the same
`name to room name + creator’s id (this is creator of this room)
`
`//processing by rest of the participants add this participant to list of
`active users in that corresponding chat room.
`
`55
`
`FIGS. 5A—C show screens at the terminals of Dawn,
`Mike, and Dave for viewing of their conversation after Dave
`has been added.
`Broadcasting a Message in a Chat Room
`Any Participant in a chat room can broadcast a message 60
`to all participants in that chat room. The following illustrates
`a typical process in which a message is sent by a client to the
`server:
`
`Facebook and WhatsApp Exhibit No. 1006
`Page 12
`
`

`
`US 6,212,548 B1
`
`11
`
`12
`
`Message-Begin
`<Session Id>
`2
`19
`ChatRoomName:<ChatRoomName+Creator-Id>
`UID:<user broadcasting the message>
`Message:<message to be broadcast>
`Message-End
`Upon receipt of the above message the receiving server performs the following:
`Code-Begin
`If (ChatRoomName+Creator-Id does not eXist)
`
`send the following error response for the Chat Room Creation Request:
`Message-Begin
`<Session Id>
`2
`2O
`errorCode:7
`errorString:Invalid chatroomname
`ChatRoomName:<ChatRoomName+Creator-Id>
`Message-End
`
`}
`else if (user issuing the request is not a participant of this chat room)
`
`send the following error response for the Chat Room Creation Request:
`Message-Begin
`<Session Id>
`2
`
`errorCode:8 errorString:Participant do

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket