`
`(12) United States Patent
`US 7,016,978 B2
`(10) Patent N0.:
`
` Malik et al. (45) Date of Patent: Mar. 21, 2006
`
`
`(54)
`
`INSTANT MESSAGING ARCHITECTURE
`AND SYSTEM FOR INTEROPERABILITY
`AND PRESENCE MANAGEMENT
`
`(75)
`
`Inventors: Dale Malik, Atlanta, GA (US); Matt
`Peterson, Atlanta, GA (US)
`
`(73) Assignee: BellSouth Intellectual Property
`Corporation, Wilmington, DE (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 720 days.
`
`(21) Appl. No.: 10/135,929
`
`(22)
`
`Filed:
`
`Apr. 29, 2002
`
`(65)
`
`Prior Publication Data
`
`US 2005/0044144 A1
`
`Feb. 24, 2005
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 15/16
`(52) US. Cl.
`....................................... 709/246; 709/205
`(58) Field of Classification Search ................ 709/204,
`709/206, 217, 230, 246, 205
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`........... 709/206
`4/2003 Auerbach et a1.
`6,549,937 B1
`5/2003 Gudjonsson et a1.
`....... 709/227
`6,564,261 B1 *
`3/2004 Carey et a1.
`................ 455/466
`6,714,793 B1 *
`7/2004 Robinson et a1.
`........ 455/412.2
`6,760,580 B1 *
`OTHER PUBLICATIONS
`
`M. Day, et al.; A Model for Presence and Instant Messaging;
`Feb. 2000; pp. 1-17.
`M. Day, et al.;
`Instant Messaging / Presence Protocol
`Requirements; Feb. 2000; pp. 1-26.
`
`* cited by examiner
`
`Primary Examiner—Rupal Dharia
`Assistant Examiner—Brian J. Gillis
`
`or Firm—Thomas,
`(74) Attorney, Agent,
`Horstemeyer & Risley LLP
`
`Kayden,
`
`(57)
`
`ABSTRACT
`
`A computer network system establishes an instant messag-
`ing (IM) session between a first user registered with a first
`ISP (ISP) and at least one user registered with a second ISP
`when the two ISPs operate using different IM protocols. The
`ISPs each contain a Local IM server connected to each
`
`registered user. Each ISP also contains a Universal IM server
`that is connected to the distributed network. The Universal
`
`IM server includes a database that stores routing information
`and Presence information for each user registered with the
`second ISPs and facilitates communications between the
`
`first and second user using a universal format, such as XML.
`
`6,430,602 B1 *
`6,449,344 B1 *
`
`8/2002 Kay et al. ................... 709/206
`9/2002 Goldfinger et a1.
`...... 379/8817
`
`28 Claims, 6 Drawing Sheets
`
`400
`
`f
`
`410
`
`IM
`CLIENT
`
`LOCAL IM
`SERVER
`
`440
`
`IM
`CLIENT
`
`LOCAL IM
`SERVER
`
`i407
`USER
`
`
`
`
`
`
`
`UNIVERSAL IM
`UNIVERSAL IM
`
`
`SERVER
`SERVER
`
`£3
`
`USER
`
`IM
`CLIENT
`
`IM
`CLIENT
`
`442
`
`USER
`
`457
`
`USER
`
`Page 1 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 1
`
`Page 1 of 16
`
`
`
`Facebook's Exhibit No. 1011
`Page 1
`
`
`
`US. Patent
`
`Mar. 21, 2006
`
`Sheet 1 0f 6
`
`US 7,016,978 B2
`
`135
`
`FIG.1
`
`110
`
`INSTANT
`
`MESSAGING
`
`SERVER
`
`PRIORART
`
`3
`
`\—
`
`o % N
`
`N
`‘—
`
`LO
`
`"'
`
`Page 2 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 2
`
`Page 2 of 16
`
`Facebook's Exhibit No. 1011
`Page 2
`
`
`
`US. Patent
`
`Mar. 21, 2006
`
`Sheet 2 0f 6
`
`US 7,016,978 132
`
`mwm
`
`mmN
`
`mww
`
`20.rzwflo
`
`meP0
`
`EMOmH/jn.
`
`ZO._.Zm__._o
`
`mMIPO
`
`EmOqun.
`
`ZO._.Zm=.._o
`
`MMIHO
`
`EmOmk/ln—
`
`ovm
`
`0mm
`
`owN
`
`
`
`>._.m<n_DEEP
`
`|_.Z<._.wz_
`
`mmmvzwwmm—S.
`
`mw>mmm
`
`mmN
`
`
`
`>._.m<n_0E1...
`
`._.Z<._.wz_
`
`mmwzwmmmfi
`
`mw>mmm
`
`>._.m<n_DEIP
`
`._.Z<._.wZ_
`
`mmwzmmmm—z
`
`mw>mww
`
`Z.O._.<._mz<m
`
`.O._.<._wz<m
`
`._.
`
`«MEI—mo
`
`2w20n=200
`
`mmmmfi;
`
`N.GE
`
`
`
`hmc‘EOEml
`
`..O._.<._wz<m
`
`._.Zm=.—O
`
`mwmms,
`
`._.Zm=1_0
`
`mummg.
`
`HZMZO
`
`Page 3 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 3
`
`Page 3 of 16
`
`Facebook's Exhibit No. 1011
`Page 3
`
`
`
`
`
`
`
`US. Patent
`
`Mar. 21, 2006
`
`Sheet 3 0f 6
`
`US 7,016,978 132
`
`XX
`
`— M
`
`onitor
`
`330
`
`
`
`lui.anluIIa4O1A1unu
`
`306
`
`VIDEO
`ADAPTER
`
`PROCESSING
`UNIT
`
`328
`
`DATA
`
`OUTLINE 318
`FONTS
`
`PROGRAM 320
`
`OPERATING
`SYSTEM 314
`
`APPLICATION
`PROGRAMS 316
`
`SERIAL
`
`PORT INTERFACE
`
`wwmgmowgmifi -:-:‘-,'&.' "331i 1"" 3%“!5
`
`OPTICAL
`DISK
`INTERFACE
`
`m»wmommy«23>:sz:imexamamimam mam; 9:2,
`
`...........................................................................................
`
`FIG. 3
`
`Page 4 of 16
`
`Facebook'S Exhibit No. 1011
`
`Page 4
`
`HARD DISK
`DRIVE
`INTERFACE
`
`{$24- 2~“"“P§-sz-;. WWW MEWWVM
`
`
`
`52%;?“33"
`
`NETWORK
`INTERFACE
`
`
`
`=1:
`
`J91
`
`MAGNETIC
`DISK DRIVE
`INTERFACE
`
`amizrmxm’wmimm;Assam; 2:»:me«.2:we“
`
`332
`
`
`Local Area Network
`
`342
`
`340
`
`
`
`338 ’
`
`Page 4 of 16
`
`Facebook's Exhibit No. 1011
`Page 4
`
`
`
`US. Patent
`
`hdar.21,2006
`
`Sheet4 0f6
`
`US 7,016,978 132
`
`oov
`
`~¢¢ovv
`
`mum:
`
`nm¢
`
`Emma
`
`kzmjo
`
`oF¢\\
`
`2_
`
`
`2_4<0042.4(004
`
`mm>mmmmm>mmw
`
`FzmjoEmjos:—2.
`
`2.pzmjo
`
`V.GE
`
`s__._<wmm>_z:E4<mmm>_z:
`
`
`
`mm>mmmMm>mmm
`
`Nov
`
`mmmD
`
`va
`
`1mm:
`
`Page 5 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 5
`
`Page 5 of 16
`
`Facebook's Exhibit No. 1011
`Page 5
`
`
`
`US. Patent
`
`Mar. 21, 2006
`
`Sheet 5 0f6
`
`US 7,016,978 132
`
`
`START
`
`
`
`
`
`NEW USER MAKES REQUEST FOR
`NEW USER ID FROM FIRST LOCAL
`INSTANT MESSAGING SERVER
`
`500
`
`4/
`
`505
`
`510
`
`515
`
`520
`
`
`
`
`
`
`LOCAL IM SERVER CHECKS NEW
`USER ID WITH UNIVERSAL IM
`SERVER AND MAKES ASSIGNMENT
`
`
`
`
`
`FIRST LOCAL lM SERVER SENDS
`UPDATE TO FIRST UNIVERSAL IM
`
`
`SERVER
`
`
`
`
`
`
`FIRST UNIVERSAL EM SERVER
`SENDS UPDATED INFORMATION
`
`TO EVERY OTHER UNIVERSAL IM
`
`SERVER LISTED ON USER’S
`ROSTER
`
`
`
`START
`
`Page 6 of 16
`
`FIG. 5
`
`Facebook's Exhibit No. 1011
`
`Page 6
`
`Page 6 of 16
`
`Facebook's Exhibit No. 1011
`Page 6
`
`
`
`US. Patent
`
`Mar. 21, 2006
`
`Sheet 6 0f 6
`
`US 7,016,978 B2
`
`START
`
`6 o
`13
`
`605
`
`FIRST USER REQUEST IM SESSION
`
`WITH SECOND USER 610
`PROCESSING
`
`LOCAL IM SERVER ROUTES REQUEST TO
`FIRST UNIVERSAL IM SERVER FOR
`
`615
`
`
`IS
`
`THE SECOND
`
`
`USER REGISTERED WITH
`
`
`THE SECOND
`
`ISP?
`
`YES
`
`NO
`
`640
`
`620
`
`LOCATE LOCAL IM SERVER
`ASSOCIATED WITH SECOND
`USER ON FIRST ISP'S NETWORK
`
`LOCATION OF LOCAL IM SERVER
`
`ROUTE THE REQUEST TO THE
`SECOUND UNIVERSAL IM SERVER
`FOR PROCESSING AND
`
`645
`
`IS
`NO
`THE SECOND
`
`
`SER AVAILABLE?
`
`
`SEND
`
`
`ESTABLISH IM SESSION
`
`RETURN
`
`BETWEEN FIRST USER AND
`MESSAGE
`
`
`
`THE SECOND USER
`OR
`
`
`
`GOTO END
`
`
`
`647
`
`END
`
`FIG. 6
`
`Page 7 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 7
`
`Page 7 of 16
`
`Facebook's Exhibit No. 1011
`Page 7
`
`
`
`US 7,016,978 B2
`
`1
`INSTANT MESSAGING ARCHITECTURE
`AND SYSTEM FOR INTEROPERABILITY
`AND PRESENCE MANAGEMENT
`
`TECHNICAL FIELD
`
`This invention relates generally to instant messaging, and
`more particularly relates to providing an open network to
`provide interoperability between multiple platforms operat-
`ing under a single instant messaging standard.
`
`BACKGROUND
`
`2
`In doing so, each ISP selected different methods for man-
`aging presence and setting up communications paths
`between two parties. Unfortunately, these methods do not
`allow users of one system to easily contact and communicate
`5 with users of other systems. There is a need to enable
`effective intersystem communication and provide a path to
`grow future interoperability without negatively affecting the
`current separate networks in operation.
`Currently, ISPs use one of three methods to transmit
`10 instant messages between subscribers on their network. The
`first method uses a centralized network, in which subscribers
`are connected to one another through a series of network
`servers. The individual servers are linked together to form a
`large, centralized network. In this architecture, each server
`The Internet has changed the way people communicate.
`For many people, electronic mail, known as “e-mail,” has 15 keeps track of the presence information and connections for
`practically replaced traditional letters and in some instances,
`each user connected to the network. When a subscriber
`telephone calls, as the primary means 0f communication.
`sends a message, the server determines the location of the
`Users of the Internet send literally millions of e-mail mes-
`recipient’s computer by contacting all of the other network
`sages across the Internet on a daily basis. The popularity 0f
`servers and routes the message through the network servers
`being able to send messages anywhere in the world in a 20 until it reaches the recipient. This particular method is used
`matter of minutes, or even seconds, has made e-mail the
`by Microsoft Network (MSN) Messenger IM service.
`most rapidly accepted form 0f correspondence to date. The
`A second method of transmitting instant messages uses a
`use of e-mail has risen from obscurity, used once only by
`peer-to-peer architecture favored by systems using ICQ
`academics and the military,
`to dominant mode of public
`protocol (pronounced “I seek you”), such as the Yahoo!®
`communication in less than twenty years.
`25 Messenger IM service.
`In the peer-to-peer approach, a
`However, in our fast-paced world Where the desire for
`central ICQ server keeps track of which subscribers are
`access to more information at a faster rate increases on a
`currently online and records their Internet IM protocol
`daily basis, the once rapid response 0f e-mail communica-
`addresses. Once a subscriber logs on to the ICQ server, the
`tions is no longer fast enough to keep pace With society’s
`ICQ server scans the subscriber’s contact list and displays to
`need. One way to help people communicate faster was the 30 the subscriber the Internet IM protocol address of every
`creation of instant messaging (“IM”) services. IM services
`person on the contact list currently logged onto the IM
`allow for nearly real time communications because the users
`server. When the subscriber wants to send a message to a
`sending and receiving messages are continually connected to
`recipient on the ICQ server, the subscriber simply selects the
`an IM service. The speed at WhiCh recipients get lM mes-
`name of the recipient, types a message, and transmits the
`sages is determined by the speed the data can travel across 35 message. Because the ICQ client on the subscriber’s com-
`the Internet. When a subscriber logs into an IM service, the
`puter has the Internet Protocol IM address of the recipient,
`service lets an IM server know that the user is available to
`the message is sent directly to the ICQ client residing on the
`receive messages. To send a message to a recipient,
`the
`recipient’s computer without involving the ICQ server. This
`subscriber simply selects the name of the recipient, usually
`method has an advantage over the centralized network
`from a contact list that contains the recipient’s IM address, 40 system because the messages do no travel through the entire
`and types the message.
`network, which speeds the transfers of large files, such as
`The core of IM is based on the concept 0f “presence
`documents and images because they are not slowed by
`management,” which determines where a user is connected
`network traffic.
`to the Internet, the availability 0f the user, and on What
`When the conversation is complete, the subscriber exits
`system the user resides. Similar to email, a system level 45 the 1M program, at which point
`the ICQ client on the
`designation (domain) is the first tier of recognizing where to
`subscriber’s computer generates a message to the ICQ server
`reach a particular user. IM, however, requires at least two
`to terminate the session. The ICQ client
`then sends a
`additional elements (location and status) that make up the
`message to each ICQ client on the subscriber’s contact list,
`core of presence management. The immediate nature of this
`that are currently logged onto the ICQ server, indicating that
`type of communication requires that the exact IP address of 50 the subscriber has terminated his session.
`the person and their Willingness to accept a message be
`The last method of transmitting instant messages is using
`known in order to set up a connection.
`a hybrid system that combines the centralized network
`IM was initially available to only dial up Internet users,
`approach with the peer-to-peer approach. America On
`which made location specific information extremely impor-
`Line’s (AOL®’s) Instant Messaging (“AIM”) service cur-
`tant. In the last couple of years the access of IM services has 55 rently uses this method. The AOL® AIM service uses the
`spread across mobile devices, such as cellular telephones,
`centralized network approach for transmitting text messages
`personal digital assistants (PDAs), and almost any system
`and performing presence management. Because text mes-
`capable of Internet access. This proliferation has added the
`sages are usually small, transmitting them over the network
`need to manage other elements of presence that did not exist
`does not noticeably slow their delivery. However, for large
`in the past. With the potential to have multiple devices 60 files, such as document and images, AOL® AIM service
`active, such as PC, PDA, cellular telephone, pager, etc., the
`uses ICQ protocol to establish a peer-to-peer connection
`presence system must be able to identify and manage each
`between the subscriber and the recipient of the message.
`Internet device connected to the Internet and determine to
`Unfortunately, each of the current IM services lacks a
`which device messages should be forwarded.
`coherent standard. Each IM service uses a separate propri-
`To accommodate the rapid growth in IM, each Internet 65 etary protocol
`to implement
`instant messaging on their
`network. As a result, a user can only receive presence
`Service Provider (ISP) developed their own brand of tech-
`nology to locate and connect users within their community.
`information and send messages to individuals that are reg-
`
`Page 8 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 8
`
`Page 8 of 16
`
`Facebook's Exhibit No. 1011
`Page 8
`
`
`
`US 7,016,978 B2
`
`3
`istered with the same IM service as the sender. Thus, the lack
`of a standard protocol for IM severely limits the potential
`application of IM by restricting the number of potential
`recipients to those users registered on the same service as the
`sender of the IM message.
`An example of a traditional instant messaging architecture
`is shown in FIG. 1. The traditional IM architecture consists
`of a central IM server 105 connected to a number of
`
`individual IM clients (110, 115, 120, 125, 130, and 145) in
`a closed network. To send an IM, from client 110 to client
`145, IM client 110 first connects with an IM server 105 using
`a proprietary protocol. For example, AOL® and Yahoo!®
`use ICQ. Once the IM client 110 is connected to the IM
`server 105, the user logs on by entering a user name and
`password. The IM client 110 then sends the IM server 105
`the connection information, such as the IP address and
`number of the port assigned to the IM client and the name
`and address of everyone in the IM contact list associated
`with the IM client 110.
`
`The IM server 105 then creates a temporary file that
`contains the connection information for the IM client 110
`
`and for each IM client. Once the temporary files have been
`created, the IM server 105 checks the network to determine
`whether any IM client identified by the contact list associ-
`ated with IM client 110 is currently logged into the system.
`If the IM server 105 finds any of the contacts logged onto the
`network, the IM server 105 sends a message back to the IM
`client 110 with the connection information for each IM
`
`client currently logged onto the network. When the IM client
`110 receives the connection information, the status of that
`particular IM client is updated to “Online,” which is dis-
`played to the user. At this point the user may select any IM
`client that is registered “Online,” at which point a dialog box
`will appear in which the user may enter text. Because the IM
`client 110 knows the address and port number of the IM
`client 145 the message is sent directly to the recipient IM
`client 145. The IM client 145 then receives the instant
`
`message and can respond. Once the IM session is complete
`the dialog box is closed and the IM client 110 goes offline
`and sends a message to the IM server 105 terminating the
`session. The IM server 105, in response to acknowledging
`that the IM client 110 has logged off, generates a message to
`each of the IM clients on the client list of IM client 110
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`indicating that IM client 110 is logged off the network.
`A major drawback to this system is that each IM client
`that a user wishes to communicate with must be connected
`
`45
`
`to the IM server and must be part of the network due to the
`proprietary nature of the protocol. If the IM client happens
`to lie outside the IM network, he or she will not be able
`communicate with anyone in the network.
`One solution to the interoperability problem is an attempt
`by the Internet Engineering Task Force (IETF) to develop a
`standard protocol for instant messaging known as Instant
`Messaging Presence Protocol. Many of the IM service
`providers have been working within the IETF to develop a
`standard IM protocol. However, because each IM service
`provider has spent considerable capital developing a format
`for instant messaging,
`the IETF has yet been unable to
`establish a standard protocol.
`Another solution to the interoperability problem is JAB-
`BER, which is an IM system focused on providing IM
`access to any user from anywhere using any device and
`interoperability with IM services. JABBER is Extensible
`Markup Language (XML) open source server software that
`was developed by a community of developers over the
`Internet. JABBER allows communication among applica-
`tions and systems across all platforms. Developers write
`
`50
`
`55
`
`60
`
`65
`
`4
`additional modules to submit them back for possible incor-
`poration into the JABBER software. Unfortunately, most of
`the IM services do not use XML as their IM format.
`
`Therefore, to achieve interoperability between the IM ser-
`vices, JABBER requires a translation module to translate the
`IM message in XML format into each of the formats used by
`the separate IM services. Therefore, the JABBER system
`adds additional cost and complexity to the IM infrastructure.
`A block diagram illustrating a prior art IM network that
`uses JABBER Interoperable XML-Based Network architec-
`ture is shown in FIG. 2. JABBER is a real-time communi-
`
`cations platform based on open protocols and Extensive
`Markup Language (XML), and whose architecture is based
`on the well-known electronic mail system. Because JAB-
`BER is based on the email system, the JABBER architecture
`contains distributed network servers, called JABBER serv-
`ers 215, and clients, known as JABBER clients 200, 205,
`210, that receive and send messages to JABBER clients
`connected to any JABBER server on the Internet. However,
`unlike typical email systems, which are store and forward
`systems, JABBER delivers messages in real time because
`the JABBER server 215 knows when a particular JABBER
`client is online.
`
`Two features of JABBER make it unique over common
`prior art IM systems. First, JABBER uses an open protocol
`that allows interoperability among various IM systems.
`Second, JABBER is based on XML, which allows for easy
`and reliable structured messaging between software appli-
`cations.
`The JABBER architecture is based on client-server archi-
`tecture and not on a client-to-client architecture, as are most
`IM systems. Messages from JABBER client 200 to JAB-
`BER client 210 must pass through the JABBER server 215.
`Each JABBER client is attached to a local JABBER server
`215. Each local JABBER server 215 receives information
`from one JABBER client 200 and transfers the information
`
`to another JABBER client along with presence information.
`Each local JABBER server 215 functions independently
`from one another, and can communicate with any other
`JABBER server that is connected to the Internet as long as
`it has been identified, and predisposed to do so ahead of
`time.
`
`Each local JABBER server 215 performs two functions:
`listening for and communicating directly with JABBER
`client applications, and communicating with other JABBER
`servers. Each local JABBER server 215 consists of multiple
`components that separately handle individual functions with
`the JABBER system. At the core of the local JABBER
`server 215 is a deliver component 220, which performs the
`following tasks: session management, client-to-server com-
`munications, server-to-server communications, group chat,
`storing messages for JABBER clients currently offline, DNS
`resolution, user authentification, user registration, database
`lookups filtering messages for offline users, and the like.
`Additionally, each JABBER server 215 contains “trans-
`ports” 225, 230, and 235 that communicate with other
`servers operating under protocols that are foreign to JAB-
`BER’s open XML format. The transports act as translators
`between the deliver component 220 of the local JABBER
`server 215 and a third party instant messenger server. Each
`transport contains their own session manager that translates
`JABBER XML into and out
`the “foreign” protocol for
`presence, messaging, and information/query requests.
`In
`general, when a client logs onto the JABBER server 215, a
`thread is created in the transport to handle all communica-
`tion from that client. Typically, the translation to and from
`JABBER XML is straightforward when the foreign protocol
`
`Page 9 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 9
`
`Page 9 of 16
`
`Facebook's Exhibit No. 1011
`Page 9
`
`
`
`US 7,016,978 B2
`
`5
`is well documented, as in the case of IRC protocols, and the
`AIM protocol. However, for other foreign protocols that are
`poorly documented, such as Yahoo!® Instant Messenger, the
`translation to and from JABBER XML can either be difficult
`
`6
`first and second user. The logic rules include a hierarchical
`listing of each user’s registered Internet devices that indi-
`cates the order in which each Internet device should be
`
`contacted to establish the communications link, a security
`level for each registered Internet device, and a listing of the
`and 510W Currently, transports are available to translate to 5
`applications that each Internet device is able to support.
`and from the following PTOtOCOIS: AOL® AIM> ICQ> IRC>
`A
`h d
`d'
`b d'
`f h .
`.
`MSN Messenger, Rich Site Summary (RSS ver. 0.9), and
`met 0
`accor ing to an em 0 .iment o t e invention,
`Yahoo! ® Instant Messenger.
`establishes an instant message session between a first user
`As an example, when the JABBER client 200 wishes to
`communicate with a client 245 on a third party instant 10 registered 0h a first ISP (ISP) network and a second user
`messenger server 240’ such as AOL Instant Messenger, the
`registered on a second ISP over the Internet when the first
`JABBER client 200 first generates a message which is sent
`and. second ISPs are operating under different instant mes-
`to the local JABBER server 215. The message contains
`saging protocols. The method begins by the hISt user gen-
`JABBER ID that contains the name of the third party instant
`erating a connection request and transmitting it to a Local
`messaging server 240 (e.g.,j0hnd0e@aim.g0abber.0rg). The 15 IM server associated With the first ISP. The connection
`local JABBER server 215 routes the message to the appro-
`request contains a USERID associated with the second user.
`priate translator, which in the illustration is Translator 225.
`The Local IM server checks the routing information for the
`If the Translator 225 is running locally on the local JABBER
`connection request to determine whether the second user is
`server 215, the JABBER server 215 communicates directly
`registered with the first ISP. If the second user is registered
`with the Translator 225. If, however, the Transport 225 is 20 with the first ISP, the Local 1M server associated with the
`running remotely, the JABBER server 215 passes the XML
`first ISP establishes the instant message session between the
`packet to the remote server, which then forwards it 0ht0 the
`two users. If however, the second user is registered with
`Translator 225 After the local JABBER server 215 has
`another Local IM server, the connection request is routed to
`passed the message to the Translator 225, the Translator 225
`a Universal IM server to determine the appropriate Local IM
`translates the XML packet into a native packet, which is 25 server to receive the request. The Universal IM server
`readable by the thhd party instant messenger server 240‘ The
`contains a database that lists each user on its own network
`third party instant messenger server 240 in turn, passes the
`and. selected users on other ISPs. The selected users are
`lated
`acket onto the a
`ro riate client 245.
`derived from the contact llStS or rosters for each user .Oh the
`trah’he Jablher architecture rehhs lheavily on translators and is
`constrained by its ability to keep up with each provider’s 30 first ISP network. Adetermination IS made at the Universal
`protocol, and method of handling presence. Thus, there is a
`tM server on the first ISP whether thesecond user IS hSted
`need in the art for a simple, cost effective IM network
`in the database. If the second user is listed in the database,
`architecture that uses a universal IM presence and intercon-
`the Universal 1M server connected to the first ISP forwards
`nection methodology that is compatible with the existing IM
`the connection request to.a Universal IM server connected to
`Service Provider networks.
`35 the second ISP. The Universal IM server .connected to the
`second ISP then transmits back to the Universal IM server
`
`SUMMARY OF THE INVENTION
`
`on the first ISP the routing information and the Presence
`information associated with the second user. The first Uni-
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`versal IM server then establishes an instant message session
`invention addresses the above-described
`The present
`needs in a universal instant messaging system. Generally 40 based on the routing and Presence information returned from
`described, a computer network system according to an
`the Universal IM server using the extensive markup lan-
`embodiment of the invention for establishing a communi-
`guage (XML) protocol.
`cations link between a first user registered with a first service
`provider network and at least one user registered with a
`second service provider network when the two networks 45
`The accompanying drawings, which are incorporated in
`operate using different protocols. The networks, which are
`and form a part of the Specification,
`illustrate preferred
`connected by a distributed network, such as the Internet,
`embodiments Of the present ihVehtiOh and, together With the
`each contain a Local IM server connected to each user. The
`description, disclose the principles 0f the invention. In the
`Local IM server controls the flow of electronic information
`50 drawings:
`between the users logged onto the particular network.
`FIG. 1 is an illustration of a prior art instant messaging
`The networks also contain a Universal IM server that iS
`system.
`connected between the Local IM server and the distributed
`FIG. 2 is an illustration of a prior art JABBER interop-
`network. The Universal .IM server containsa database that
`erable XML-based instant messaging network.
`stores routing information and Presence information for
`FIG 3 is block diagram of a personal computer that
`each user registered with the first service provider network 55
`rovides the o eratin environment for an embodiment of
`and some 0f the users 0f other provider networks. The
`ph
`.
`.
`h
`g
`Presence information contains user attributes and a set of
`.
`.
`.
`.
`.
`t e invention.
`logic rules that are used to control the communications link
`FIG‘ 4 IS an.illustration Of a universal IhStaht messaging
`between the first and second users. The user attributes
`contained in the Presence information include a list of each 60 architecture using an exemplary embodiment 0f the inven-
`Internet device each user has registered to receive electronic
`tion.
`messages, a list of connection options for each registered
`FIG- 5 is a logic flow diagram illustrating a method for
`Internet device, a list of available states for each Internet
`registering a new user With a Service Provider Network
`device, and an application identifier associated with each
`using the universal instant messaging architecture.
`Internet device.
`FIG. 6 is logic flow diagram illustrating a method of
`Additionally, the Presence information contains a set of
`establishing a communications link between at least two
`logic rules that govern the communications link between the
`users using the universal instant messaging architecture.
`
`65
`
`Page 10 of 16
`
`Facebook's Exhibit No. 1011
`
`Page 10
`
`Page 10 of 16
`
`Facebook's Exhibit No. 1011
`Page 10
`
`
`
`US 7,016,978 B2
`
`7
`DETAILED DESCRIPTION OF THE
`EMBODIMENTS
`
`The present invention is directed toward novel architec-
`tures, systems, and methods for providing instant messages
`(IM) over a distributed network to multiple users connected
`to different Internet devices, such as personal computer,
`cellular telephones, Personal Digital Assistants, pagers, and
`the like on separate ISPs (ISP) operating different
`IM
`protocol standards.
`
`Exemplary Internet Device
`implementing the
`An exemplary Internet device for
`invention is shown in FIG. 3, which includes a conventional
`personal computer 100 with a processing unit 326, a system
`memory 304, and a system bus 306, which joins the system
`memory 304 to the processing unit 326. The system memory
`304 includes read only memory (ROM) 308 and random
`access memory (RAM) 312. The basic input/output system
`(BIOS) 310 is stored in ROM 308, and contains basic
`routines that aid in transferring information between ele-
`ments within the personal computer 300, as found during
`start-up. Further, the personal computer 300 contains a hard
`disk drive 330, a magnetic disk drive 348, and an optical
`disk drive 356, e.g., to read from or write to other optical
`media, or for reading a CD-ROM disk 360. Ahard disk drive
`interface 328, a magnetic disk drive interface 334, and an
`optical drive interface 338, connect the hard disk drive 330,
`magnetic disk drive 348, and optical disk drive 356 to the
`system bus 306. Non-volatile storage is provided for the
`personal computer 302 by the drives and their associated
`computer-readable media. Those skilled in the art should
`recognize that other types of media are readable by a
`computer, e.g., magnetic cassettes, digital video disks, flash
`memory cards, ZIP cartridges, JAZZ cartridges, etc. may be
`used in the exemplary operating environment as well as the
`computer-readable media described above.
`Various program modules may be stored in the RAM 312.
`These include, but are not limited to, an operating system
`314, one or more application programs 316, and program
`data 320, and other program modules. The personal com-
`puter 302 allows commands and information to be entered
`by devices such as a keyboard 354, a mouse 352, or other
`input device. Along with these conventional devices, pens,
`touch-operated devices, microphones, joysticks, game pads,
`satellite dishes, scanners, etc. may also be used to enter
`commands or information. The input devices are typically
`connected to the processing unit 326 through a serial port
`interface 336 coupled to the system bus 306. The devices
`may also be connected by other interfaces, such as a game
`port or a universal serial bus (USB). A display screen 324 or
`other type of display device is connected to the system bus
`306 via a video adapter interface 322. It is typical of personal
`computers to include other peripheral output devices, such
`as speakers or printers, as well as the display screen 324.
`Logical connections to one or more remote computers
`342, allow the personal computer 302 to operate in a
`networked environment. Although the remote computer 342
`has been shown as a personal computer, in FIG. 3, it should
`be apparent
`to those skilled in the art
`that
`the remote
`computer 342 may be a server, a router, a peer device or
`other common network node, and on average includes many
`or all of the elements described in relation to the personal
`computer 302. A local area network (LAN) 340 and a wide
`area network (WAN) 362 are the typical logical connections
`that connect
`the personal computer 102 to the remote
`computer 342. These logical connections are commonly
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`found in offices and enterprise-wide computer networks,
`such as intranets and the Internet.
`
`The personal computer is connected to the LAN 340
`through a network interface 332, when used in a LAN
`networking environment. In a WAN networking environ-
`ment,
`the personal computer 302 normally includes a
`modem 350 or other channels of establishing communica-
`tions over the WAN 362, (e. g. the Internet). The modem 350
`is connected to the system bus 160 via the serial port
`interface 336, which may be either internal or external to the
`personal computer 302. The application programs 316
`described above relative to the personal computer 302, or
`any part
`thereof, may be stored in the remote memory
`storage device 344 of the networked computer 342 in the
`networked environment. The network connections shown
`
`are exemplary and those skilled in the art will appreciate that
`other ways of establishing a communications link between
`the perso