throbber
USOO7016978B2
`
`(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

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