throbber
US 7,016,978 B2
`(10) Patent No.:
`a2) United States Patent
`Maliket al.
`(45) Date of Patent:
`Mar.21, 2006
`
`
`US007016978B2
`
`(54)
`
`(75)
`
`INSTANT MESSAGING ARCHITECTURE
`AND SYSTEM FOR INTEROPERABILITY
`AND PRESENCE MANAGEMENT
`
`Inventors: Dale Malik, Atlanta, GA (US); Matt
`Peterson, Atlanta, GA (US)
`
`(73) Assignee: BellSouth Intellectual Property
`Corporation, Wilmington, DE (US)
`
`4/2003 Auerbach etal. ........... 709/206
`6,549,937 B1
`5/2003 Gudjonsson etal.
`....... 709/227
`6,564,261 B1*
`3/2004 Carey et al. 0... 455/466
`6,714,793 B1*
`7/2004 Robinsonet al.
`........ 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.
`
`(*) Notice:|Subject to any disclaimer, the term ofthis ko .
`
`patent is extended or adjusted under 35
`cited by examiner
`US.C, 154(b) by 720 days.
`Primary Examiner—Rupal Dharia
`Assistant Examiner—Brian J. Gillis
`(74) Attorney, Agent,
`or Firm—Thomas, Kayden,
`(21) Appl. No.: 10/135,929
`Horstemeyer & Risley LLP
`(22)
`Filed:
`Apr. 29, 2002
`:
`.
`29,
`57
`ABSTRACT
`67)
`(65)
`Prior Publication Data
`
`US 2005/0044144 Al—Feb. 24, 2005 . .
`
`A computer network system establishes an instant messag-
`ing (IM) session betweena first user registered with a first
`(51)
`Int. Cl.
`(2006.01)
`GO6F 15/16
`ISP (ISP) and at least one user registered with a second ISP
`709/246; 709/205
`‘
`(52) US. Cl
`whenthe two ISPs operate using different IM protocols. The
`ISPs each contain a Local IM server connected to each
`(58) Field of Classification Search ................ 709/204,
`registered user. Each ISP also contains a Universal IM server
`709/206, 217, 230, 246, 205
`that is connected to the distributed network. The Universal
`See application file for complete search history.
`IM serverincludes a database that stores routing information
`References Cited
`and Presence information for each user registered with the
`second ISPs and facilitates communications between the
`U.S. PATENT DOCUMENTS
`first and second user using a universal format, such as XML.
`
`(56)
`
`6,430,602 B1*
`6,449,344 B1*
`
`8/2002 Kay et al. 0. 709/206
`9/2002 Goldfingeretal. ...... 379/88.17
`
`28 Claims, 6 Drawing Sheets
`
`x 400
`
`410
`
`{—
`
`407
`
`USER
`
`440
`
`LOCAL IM
`SERVER
`
`LOCALIM
`SERVER
`
`412
`
`IM
`CLIENT
`
`USER
`
`Page | of 16
`
`Facebook's Exhibit No. 1011
`Page 1
`
`
`
`UNIVERSAL IM
`
`UNIVERSALIM
`SERVER
`
`
`
`442
`
`USER
`
`457
`
`USER
`
`Page 1 of 16
`
`
`
`Facebook's Exhibit No. 1011
`Page 1
`
`

`

`U.S. Patent
`
`Mar. 21, 2006
`
`Sheet 1 of 6
`
`US 7,016,978 B2
`
`PRIORART
`
`FIG.1
`
`SERVER
`
`INSTANT
`
`MESSAGING
`
`110
`
`105
`
`115
`
`120
`
`Page 2 of 16
`
`Facebook's Exhibit No. 1011
`Page 2
`
`Page 2 of 16
`
`Facebook's Exhibit No. 1011
`Page 2
`
`

`

`U.S. Patent
`
`Mar.21, 2006
`
`Sheet 2 of 6
`
`US 7,016,978 B2
`
`
`
`SveOvz
`
`GG
`
`
`
`GGc062
`
`YSaAdsS
`
`NOLN&3IT19
`
`
`
`ALdVdGYlIHL
`
`LNVLSNI
`
`YAONASSAW
`
`NOLNAI
`
`YAHLO
`
`WHOsALV1d
`
`082
`
`YSAusaS
`
`
`
`ALaVdGHIHL
`
`LNVLSNI
`
`YAONIASSAW
`
`
`
`ALaVdGYIHL
`
`INVLSNI
`
`YAONASSAW
`
`YsaAYSS
`
`LavYOldd
`
`Yadaver
`
`Y3aAad
`
`iNANOdWOO
`
`ysgevr
`
`LNAIT9
`
`dsgever
`
`LNAINTD
`
`LNAI
`
`Page 3 of 16
`
`Facebook's Exhibit No. 1011
`Page 3
`
`Page 3 of 16
`
`Facebook's Exhibit No. 1011
`Page 3
`
`
`
`
`
`

`

`U.S.
`
`Patent
`
`Mar.21, 2006
`
`Sheet 3 of 6
`
`US 7,016,978 B2
`
`
`
`OUTLINE 3718
`FONTS
`
`
`
`INTERFACE 332
` ‘‘1‘‘i‘«‘4‘‘‘
`346
`
`
`OPERATING
`system °14
`
`APPLICATION
`PROGRAMS 316
`
`XX
`
`[ened
`Monitor
`
`306
`
`322
`
`VIDEO
`ADAPTER
`
`PROCESSING
`UNIT
`
`328
`
`REASa
`
`330
`
`342
`
`340
`
`Local Area Network
`
`HARD DISK
`DRIVE
`
`NETWORK
`INTERFACE
`
`e
`
`2
`
`t ‘
`
`336
`
`338
`
`
`
`é LoniEd
`
`Keyboard
`
`s
`
`MAGNETIC
`:
`DISK DRIVE
`F
`INTERFACE
`RSTEIRDnachnaeetCAPESaESSaidBE EERE
`
`SERIAL
`
`SCTEREaeeEE
`
`PORT INTERFACE
`TidRinieEEOOPISEaseceaemiae ation, Bae
`
`OPTICAL
`DISK
`INTERFACE
`
`beeenmonnmemeameneemeneanneencennnnaeneeaannneeeeeanesneeeeeeeenanananeewenseeenecseed
`
`FIG. 3
`
`Page 4 of 16
`
`Facebook's Exhibit No. 1011
`Page 4
`
`Page 4 of 16
`
`Facebook's Exhibit No. 1011
`Page 4
`
`

`

`U.S. Patent
`
`Mar.21, 2006
`
`Sheet 4 of 6
`
`US 7,016,978 B2
`
`oor
`\»
`
`
`
`ZbpOryoy7,LOv
`
`NILNAITO
`
`WI
`
`wasn
`
`LNAIT9
`
`wasn
`
`
`
`WI1¥907WI1¥907
`
`UaANaSwaAuas
`
`
`
`
`
`
`WIIWSY3AINNWITWSHAAINN
`
`
`
`YaANaSwaANaS
`
`1S
`
`LN3IT9
`
`yO
`
`WI/wasnYasn
`
`
`
`WI
`
`4INAIT19
`
`Ly
`
`Page 5 of 16
`
`Facebook's Exhibit No. 1011
`Page 5
`
`Page 5 of 16
`
`Facebook's Exhibit No. 1011
`Page 5
`
`
`
`

`

`U.S. Patent
`
`Mar. 21,2006
`
`Sheet 5 of6
`
`US 7,016,978 B2
`
`START
`
`
`
`
`NEW USER MAKES REQUEST FOR
`NEW USER ID FROM FIRST LOCAL
`
`
`
`
`
`LOCAL IM SERVER CHECKS NEW
`USER ID WITH UNIVERSALIM
`SERVER AND MAKES ASSIGNMENT
`
`
`
`500
`
`a
`
`505
`
`510
`
`515
`
`
`INSTANT MESSAGING SERVER
`
`
`
`
`
`
`
`FIRST LOCAL IM SERVER SENDS
`
`
`UPDATE TO FIRST UNIVERSAL iM
`SERVER
`
`520
`
`
`FIRST UNIVERSAL IM SERVER
`
`SENDS UPDATED INFORMATION
`
`TO EVERY OTHER UNIVERSALIM
`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
`
`

`

`U.S. Patent
`
`Mar. 21, 2006
`
`Sheet 6 of 6
`
`US 7,016,978 B2
`
`START
`
`6p0
`
`ad
`
`605
`
`FIRST USER REQUEST IM SESSION
`
`WITH SECOND USER 610
`PROCESSING
`
`LOCAL IM SERVER ROUTES REQUESTTO
`FIRST UNIVERSAL IM SERVER FOR
`
`NO
`
`LOCATION OF LOCALIM SERVER
`
`LOCATE LOCAL IM SERVER
`ASSOCIATED WITH SECOND
`USER ONFIRSTISP’S NETWORK
`
`ROUTE THE REQUESTTO THE
`SECOUND UNIVERSAL IM SERVER
`FOR PROCESSING AND
`
`647
`
`FIG. 6
`
`645 iS
`
`THE SECOND
`
`
`SER AVAILABLE?
`
`
`NO
`
`
`
`
`SEND
`
`
`ESTABLISH IM SESSION
`RETURN
`
`BETWEENFIRST USER AND
`
`MESSAGE
`
`
`THE SECOND USER
`OR
`
`
`
`GOTO END
`
` “
`
`Page 7 of 16
`
`Facebook's Exhibit No. 1011
`Page 7
`
`
`615
`IS
`THE SECOND
`
`
`USER REGISTERED WITH
`
`
`THE SECOND
`
`ISP?
`
`YES
`
`640
`
`§20
`
`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 twoparties. 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 networksin 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 someinstances,
`each user connected to the network. When a subscriber
`telephone calls, as the primary means of 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 contactingall of the other network
`sages across the Internet on a daily basis. The popularity of
`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 methodis used
`matter of minutes, or even seconds, has made e-mail the
`by Microsoft Network (MSN) Messenger IM service.
`most rapidly accepted form of correspondence to date. The
`Asecond methodoftransmitting 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 of 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 serverscans the subscriber’s contactlist 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 IM 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 messageis 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 ofthe 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 of “presence
`documents and images because they are not slowed by
`management,” which determines where a user is connected
`networktraffic.
`to the Internet, the availability of 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 IM program, at which point
`the ICQ client on the
`designation (domain)is the first tier of recognizing where to
`subscriber’s computer generates a messageto 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 contactlist,
`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 so 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
`knownin order to set up a connection.
`a hybrid system that combines the centralized network
`IM wasinitially available to only dial up Internet users,
`approach with the peer-to-peer approach. America On
`which madelocation 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® AIMservice uses the
`spread across mobile devices, such as cellular telephones,
`centralized network approachfor 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
`Service Provider (ISP) developed their own brand of tech-
`network. As a result, a user can only receive presence
`nology to locate and connect users within their community.
`information and send messagesto 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 byrestricting the number of potential
`recipients to those users registered on the sameservice as the
`sender of the IM message.
`An exampleof a traditional instant messaging architecture
`is shownin 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
`numberof 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
`clientthat 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
`
`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
`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.
`Onesolution to the interoperability problem is an attempt
`by the Internet Engineering Task Force (IETF) to develop a
`standard protocol for instant messaging knownas 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.
`Anothersolution 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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`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 requiresa translation moduleto translate the
`IM message in XML formatinto 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 JABBERInteroperable XML-Based Network architec-
`ture is shown in FIG. 2. JABBERis a real-time communi-
`cations platform based on open protocols and Extensive
`Markup Language (XML), and whosearchitecture is based
`on the well-known electronic mail system. Because JAB-
`BERis based on the email system, the JABBER architecture
`contains distributed network servers, called JABBER serv-
`ers 215, and clients, known as JABBERclients 200, 205,
`210, that receive and send messages to JABBER clients
`connected to any JABBERserver on the Internet. However,
`unlike typical email systems, which are store and forward
`systems, JABBER delivers messages in real time because
`the JABBERserver 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, JABBERis based on XML,which allows for easy
`and reliable structured messaging between software appli-
`cations.
`The JABBERarchitecture 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-
`BERclient 210 must pass through the JABBER server 215.
`Each JABBERclient is attached to a local JABBERserver
`215. Each local JABBER server 215 receives information
`from one JABBERclient 200 and transfers the information
`
`to another JABBERclient along with presence information.
`Each local JABBER server 215 functions independently
`from one another, and can communicate with any other
`JABBERserverthat is connected to the Internet as long as
`it has been identified, and predisposed to do so ahead of
`time.
`
`Each local JABBERserver 215 performs two functions:
`listening for and communicating directly with JABBER
`client applications, and communicating with other JABBER
`servers. Each local JABBERserver 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 JABBERclients currently offline, DNS
`resolution, user authentification, user registration, database
`lookupsfiltering 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 XMLformat. 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 managerthat translates
`JABBER XMLinto and out
`the “foreign” protocol for
`presence, messaging, and information/query requests.
`In
`general, when a client logs onto the JABBERserver 215, a
`thread is created in the transport to handle all communica-
`tion from that client. Typically, the translation to and from
`JABBER XMLisstraightforward 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
`
`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
`
`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 XMLcaneither be difficult
`contacted to establish the communications link, a security
`
`and slow. Currently, transports are available to translate to 5 Jevel for each registered Internet device, andalisting of the
`and from the following protocols: AOL® AIM,ICQ, IRC,
`applications that each Internet device is able to support.
`vhoo!InstantMeseenaceSummary (RSS ver. 0.9), and
`A method according to an embodiment of the invention,
`As an example, when the JABBERclient 200 wishesto establishes an instant message session betweenafirst user
`
`communicate with a client 245 on a third party instant 10 registered on 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
`JABBERclient 200 first generates a message whichis sent
`and second ISPs are operating under different instant mes-
`to the local JABBER server 215. The message contains
`saging protocols. The method begins bythefirst user gen-
`JABBERIDthat contains the nameofthe third party instant
`erating a connection request and transmitting it to a Local
`messaging server 240 (e.g., johndoe@aim.goabber.org). The 15 IM server associated with the first ISP. The connection
`local JABBERserver 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 useris
`server 215, the JABBERserver 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 IM server associated with the
`running remotely, the JABBERserver 215 passes the XML
`first ISP establishes the instant message session between the
`packet to the remote server, which then forwardsit onto the
`two users. If however, the second user is registered with
`Translator 225. Afteree ee Then as as
`another Local IM server, the connection requestis routed to
`translatestheXMLpacketintoanative packet,which is 25 eeeeeaeeeeroeeaane
`readable by thethird party instant messengerserver 240. The
`contains a database that lists each user on its own network
`third party instant messenger server 240 in turn, passes the
`lated packet onto the appropriate client 245.
`and selected users on other ISPs. The selected users are
`whe Jaber architecture relies heavily on translators and is
`derived from the contact lists or rosters for each user on the
`constrained by its ability to keep up with each provider’s 30 first ISP network. A determination is made at the Universal
`protocol, and method of handling presence. Thus,there is a
`IM server on the first ISP whether thesecond user is listed
`need in the art for a simple, cost effective IM network
`in the database. If the second useris listed in the database,
`architecture that uses a universal IM presence and intercon-
`the Universal IM server connected to the first ISP forwards
`nection methodologythatis compatible with the existing IM
`the connection request loa 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
`on the first ISP the routing information and the Presence
`information associated with the second user. The first Uni-
`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 betweenafirst user registered with a first service
`provider network and at least one user registered with a
`BRIEF DESCRIPTION OF DRAWINGS
`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 invention and, together with the
`each contain a Local IM server connected to each user. The
`description, disclose the principles of the invention. In the
`Local IM server controls the flow of electronic information
`sq 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 serverthat is
`system.
`connected between the Local IM server and the distributed
`FIG.2 is an illustration of a prior art JABBERinterop-
`network. The Universal IM server containsa database that
`erable XML-basedinstant 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 operating
`environment for an embodiment of
`and some of the users of other provider networks. The
`th .
`Te
`OP
`8
`Presence information contains user attributes and a set of
`.
`the invention.
`.
`.
`.
`.
`logic rules that are used to control the communications link
`FIG. 4 is an illustration of a universal instant 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 embodimentof the inven-
`Internet device each user has registered to receive electronic
`ton.
`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 messagingarchitecture.
`
`Internet device. 65~—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.
`
`SUMMARYOF THE INVENTION
`
`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)overa 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 304to 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-ROMdisk 360. A hard 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
`memorycards, ZIP cartridges, JAZZ cartridges, etc. may be
`used in the exemplary operating environmentas well as the
`computer-readable media described above.
`Various program modules maybe 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 universalserial bus (USB). A display screen 324 or
`other type of display device is connected to the system bus
`306 via a video adapterinterface 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 shownas a personal computer, in FIG. 3, it should
`be apparent
`to those skilled in the art
`that
`the remote
`computer 342 maybe a server, a router, a peer device or
`other commonnetwork 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 maybeeither internalor 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 personal computer and the remote computer exist with-
`out departing from the scope of this invention.
`
`Universal Instant Messaging Architecture
`FIG. 4 is an illustration of a Universal IM architecture
`400. The Universal IM architecture 400 uses a universal
`protocol, such as the extensible markup language (XML)
`protocol to allow users of different ISPs (ISPs) 405 and 430
`that use proprietary protocols to communicate with one
`another. A Universal IM server 425 located at ISP 405 is the
`
`key feature of the Universal IM architecture 400. FIG. 4
`illustrates two separate ISP Networks, ISP 405 and ISP 430.
`Because the two networksare identical, the discussi

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