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
`
`
`
`UNIVERSAL IM
`
`UNIVERSALIM
`SERVER
`
`442
`
`USER
`
`457
`
`USER
`
`
`
`412
`
`IM
`CLIENT
`
`USER
`
`Page 1 of 16
`
`Samsung Exhibit 1011
`
`Page 1 of 16
`
`Samsung Exhibit 1011
`
`

`

`U.S. Patent
`
`Mar. 21, 2006
`
`Sheet 1 of 6
`
`US 7,016,978 B2
`
`S8)Qo. 115
`
`FIG.1
`
`lm
`
`a<
`
`I o9
`
`110
`
`Page 2 of 16
`
`-¢Ze
`Zou
`réser
`
`AWZiaYD
`
`=
`
`120
`
`Page 2 of 16
`
`

`

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

`

`U.S. Patent
`
`Mar.21, 2006
`
`Sheet 3 of 6
`
`US 7,016,978 B2
`
`
`
`OPERATING
`system °14
`
`APPLICATION
`PROGRAMS 316
`
`OUTLINE 3718
`FONTS
`
`306
`
`322
`
`VIDEO
`ADAPTER
`
`PROCESSING
`UNIT
`
`
`
`
`
`2i
`
`336
`
`338
`
`Eased
`
`
`Keyboard
`
`beeenmonnmemeameneemeneanneencennnnaeneeaannneeeeeanesneeeeeeeenanananeewenseeenecseed
`
`Page 4 of 16
`
`XX
`
`342
`
`[ened
`Monitor
`
`330
`
`Local Area Network
`
`340
`
`346
`"
`‘
`
`
`‘‘1‘‘i‘«‘4‘‘‘
`
`332
`
`328
`
`REASa
`
`HARD DISK
`DRIVE
`INTERFACE
`
`
`
`NETWORK
`INTERFACE
`
`=
`
`s
`
`MAGNETIC
`:
`DISK DRIVE
`ABes
`INTERFACE
`REDOaansOERSSRLaiaeeSORE
`
`SERIAL
`
`SCTEREaeeEE
`
`PORT INTERFACE
`wrthakinWieMEEOEAasedmokan Senne. Bae
`
`OPTICAL
`DISK
`INTERFACE
`
`Page 4 of 16
`
`

`

`U.S. Patent
`
`Mar.21, 2006
`
`Sheet 4 of 6
`
`US 7,016,978 B2
`
`svzl
`
`WIwi
`
`yO
`
`
`
`wasnwasn
`
`
`
`YaANaSwaANaS
`
`
`
`
`
`WIIVSY3AINNWITWSU3AINN
`
`
`
`
`
`WI1v907WI1¥907
`
`
`
`UaANaSwaAuas
`
`oor
`\»
`
`ZbpOryy,LOv
`
`OLY
`
`NILNAITO
`
`WI
`
`wasn
`
`LNAIT9
`
`wasn
`
`Page 5 of 16
`
`Page 5 of 16
`
`
`

`

`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
`
`FIG. 5
`
`Page 6 of 16
`
`Page 6 of 16
`
`

`

`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
`
`
`615
`IS
`THE SECOND
`
`
`USER REGISTERED WITH
`
`
`THE SECOND
`
`ISP?
`
`YES
`
`640
`
`§20
`
`Page 7 of 16
`
`

`

`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
`
`The Internet has changed the way people communicate.
`For many people, electronic mail, known as “e-mail,” has
`practically replaced traditional letters and in someinstances,
`telephone calls, as the primary means of communication.
`Users of the Internet send literally millions of e-mail mes-
`sages across the Internet on a daily basis. The popularity of
`being able to send messages anywhere in the world in a
`matter of minutes, or even seconds, has made e-mail the
`most rapidly accepted form of correspondence to date. The
`use of e-mail has risen from obscurity, used once only by
`academics and the military,
`to dominant mode of public
`communication in less than twenty years.
`However, in our fast-paced world where the desire for
`access to more information at a faster rate increases on a
`daily basis, the once rapid response of e-mail communica-
`tions is no longer fast enough to keep pace with society’s
`need. One way to help people communicate faster was the
`creation of instant messaging (“IM”) services. IM services
`allow for nearly real time communications because the users
`sending and receiving messages are continually connected to
`an IM service. The speed at which recipients get IM mes-
`sages is determined by the speed the data can travel across
`the Internet. When a subscriber logs into an IM service, the
`service lets an IM server knowthat the user is available to
`
`the
`receive messages. To send a message to a recipient,
`subscriber simply selects the name ofthe recipient, usually
`from a contact list that contains the recipient’s IM address,
`and types the message.
`The core of IM is based on the concept of “presence
`management,” which determines where a user is connected
`to the Internet, the availability of the user, and on what
`system the user resides. Similar to email, a system level
`designation (domain)is the first tier of recognizing where to
`reach a particular user. IM, however, requires at least two
`additional elements (location and status) that make up the
`core of presence management. The immediate nature of this
`type of communication requires that the exact IP address of
`the person and their willingness to accept a message be
`knownin order to set up a connection.
`IM wasinitially available to only dial up Internet users,
`which made location specific information extremely impor-
`tant. In the last couple of years the access of IM services has
`spread across mobile devices, such as cellular telephones,
`personal digital assistants (PDAs), and almost any system
`capable of Internet access. This proliferation has added the
`need to manage other elements of presence that did not exist
`in the past. With the potential to have multiple devices
`active, such as PC, PDA,cellular telephone, pager, etc., the
`presence system must be able to identify and manage each
`Internet device connected to the Internet and determine to
`
`which device messages should be forwarded.
`To accommodate the rapid growth in IM, each Internet
`Service Provider (ISP) developed their own brand of tech-
`nology to locate and connect users within their community.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`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
`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
`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
`keeps track of the presence information and connections for
`each user connected to the network. When a subscriber
`
`sends a message, the server determines the location of the
`recipient’s computer by contacting all of the other network
`servers and routes the message through the network servers
`until it reaches the recipient. This particular method is used
`by Microsoft Network (MSN) Messenger IM service.
`Asecond method of transmitting instant messages uses a
`peer-to-peer architecture favored by systems using ICQ
`protocol (pronounced “I seek you”), such as the Yahoo!®
`Messenger IM service.
`In the peer-to-peer approach, a
`central ICQ server keeps track of which subscribers are
`currently online and records their Internet IM protocol
`addresses. Once a subscriber logs on to the ICQ server, the
`ICQ server scans the subscriber’s contact list and displays to
`the subscriber the Internet IM protocol address of every
`person on the contact list currently logged onto the IM
`server. When the subscriber wants to send a message to a
`recipient on the ICQ server, the subscriber simply selects the
`name of the recipient, types a message, and transmits the
`message. Because the ICQ client on the subscriber’s com-
`puter has the Internet Protocol IM address of the recipient,
`the messageis sent directly to the ICQ client residing on the
`recipient’s computer without involving the ICQ server. This
`method has an advantage over the centralized network
`system because the messages do notravel through the entire
`network, which speeds the transfers of large files, such as
`documents and images because they are not slowed by
`network traffic.
`
`Whenthe conversation is complete, the subscriber exits
`the IM program, at which point
`the ICQ client on the
`subscriber’s computer generates a message to the ICQ server
`to terminate the session. The ICQ client
`then sends a
`message to each ICQ client on the subscriber’s contactlist,
`that are currently logged onto the ICQ server, indicating that
`the subscriber has terminated his session.
`
`The last method of transmitting instant messagesis using
`a hybrid system that combines the centralized network
`approach with the peer-to-peer approach. America On
`Line’s (AOL®’s) Instant Messaging (“AIM”) service cur-
`rently uses this method. The AOL® AIM service uses the
`centralized network approachfor transmitting text messages
`and performing presence management. Because text mes-
`sages are usually small, transmitting them over the network
`does not noticeably slow their delivery. However, for large
`files, such as document and images, AOL® AIM service
`uses ICQ protocol to establish a peer-to-peer connection
`between the subscriber and the recipient of the message.
`Unfortunately, each of the current IM services lacks a
`coherent standard. Each IM service uses a separate propri-
`etary protocol
`to implement
`instant messaging on their
`network. As a result, a user can only receive presence
`information and send messagesto individuals that are reg-
`
`Page 8 of 16
`
`Page 8 of 16
`
`

`

`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
`
`Page 9 of 16
`
`

`

`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 XMLcaneitherbe difficult
`contacted to establish the communications link, a security
`and slow. Currently, transports are available to translate to
`level 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.
`MSN Messenger, Rich Site Summary (RSS ver. 0.9), and
`A method according to an embodimentof the invention,
`Yahoo!® Instant Messenger.
`establishes an instant message session betweena first user
`As an example, when the JABBERclient 200 wishes to
`registered on a first ISP (ISP) network and a second user
`communicate with a client 245 on a third party instant
`registered on a second ISP over the Internet when thefirst
`messenger server 240, such as AOL Instant Messenger, the
`and second ISPs are operating under different instant mes-
`JABBERclient 200 first generates a message which is sent
`saging protocols. The method begins by the first user gen-
`to the local JABBER server 215. The message contains
`erating a connection request and transmitting it to a Local
`JABBERIDthat contains the nameof the third party instant
`IM server associated with the first ISP. The connection
`messaging server 240 (e.g., johndoe@aim.goabber.org). The
`local JABBERserver 215 routes the message to the appro-
`priate translator, which in the illustration is Translator 225.
`If the Translator 225 is running locally on the local JABBER
`server 215, the JABBER server 215 communicates directly
`with the Translator 225. If, however, the Transport 225 is
`running remotely, the JABBERserver 215 passes the XML
`packet to the remote server, which then forwardsit onto the
`Translator 225. After the local JABBER server 215 has
`
`10
`
`15
`
`20
`
`25
`
`30
`
`request contains a USERID associated with the second user.
`The Local IM server checks the routing information for the
`connection request to determine whether the second useris
`registered with the first ISP. If the second useris registered
`with the first ISP, the Local IM server associated with the
`first ISP establishes the instant message session between the
`two users. If however, the second user is registered with
`another Local IM server, the connection request is routed to
`a Universal IM server to determine the appropriate Local IM
`server to receive the request. The Universal IM server
`contains a database that lists each user on its own network
`and selected users on other ISPs. The selected users are
`derived from the contact lists or rosters for each user on the
`first ISP network. A determination is made at the Universal
`IM server on the first ISP whether the second useris listed
`in the database. If the second useris listed in the database,
`the Universal IM server connectedto the first ISP forwards
`
`35
`
`the connection request to a Universal IM server connected to
`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-
`
`passed the messageto the Translator 225, the Translator 225
`translates the XML packet into a native packet, which is
`readable by the third party instant messenger server 240. The
`third party instant messenger server 240 in turn, passes the
`translated packet onto the appropriate client 245.
`The Jabber architecture relies heavily on translators and is
`constrained by its ability to keep up with each provider’s
`protocol, and method of handling presence. Thus,there is a
`need in the art for a simple, cost effective IM network
`architecture that uses a universal IM presence and intercon-
`nection methodologythat is compatible with the existing IM
`Service Provider networks.
`
`SUMMARYOF THE INVENTION
`
`versal IM serverthen establishes an instant message session
`invention addresses the above-described
`The present
`based on the routing and Presence information returned from
`needs in a universal instant messaging system. Generally
`the Universal IM server using the extensive markup lan-
`described, a computer network system according to an
`guage (XML)protocol.
`embodiment of the invention for establishing a communi-
`cations link betweenafirst user registered with a first service
`BRIEF DESCRIPTION OF DRAWINGS
`provider network and at least one user registered with a
`second service provider network when the two networks
`operate using different protocols. The networks, which are
`connected by a distributed network, such as the Internet,
`each contain a Local IM server connected to each user. The
`Local IM server controls the flow of electronic information
`
`40
`
`45
`
`50
`
`55
`
`The accompanying drawings, which are incorporated in
`and form a part of the specification,
`illustrate preferred
`embodiments of the present invention and, together with the
`description, disclose the principles of the invention. In the
`drawings:
`FIG. 1 is an illustration of a prior art instant messaging
`system.
`FIG. 2 is an illustration of a prior art JABBER interop-
`erable XML-based instant messaging network.
`FIG. 3 is block diagram of a personal computer that
`provides the operating environment for an embodiment of
`the invention.
`
`60
`
`FIG. 4 is an illustration of a universal instant messaging
`architecture using an exemplary embodimentof the inven-
`tion.
`
`65
`
`FIG. 5 is a logic flow diagram illustrating a method for
`registering a new user with a Service Provider Network
`using the universal instant messaging architecture.
`FIG. 6 is logic flow diagram illustrating a method of
`establishing a communications link between at least two
`users using the universal instant messaging architecture.
`
`between the users logged onto the particular network.
`The networks also contain a Universal IM serverthat is
`connected between the Local IM server and the distributed
`network. The Universal IM server contains a database that
`stores routing information and Presence information for
`each user registered with the first service provider network
`and some of the users of other provider networks. The
`Presence information contains user attributes and a set of
`logic rules that are used to control the communications link
`between the first and second users. The user attributes
`contained in the Presence information include a list of each
`Internet device each user has registered to receive electronic
`messages, a list of connection options for each registered
`Internet device, a list of available states for each Internet
`device, and an application identifier associated with each
`Internet device.
`
`Additionally, the Presence information contains a set of
`logic rules that govern the communications link between the
`
`Page 10 of 16
`
`Page 10 of 16
`
`

`

`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 discussion of the
`Universal IM architecture 400 for purposes of this applica-
`tion is limited to the ISP 405. Additionally, the discussion of
`the ISP 405 will be limited to the components that provide
`the Universal IM service.
`The ISP 405 contains two servers: a Local IM server 420
`and the Universal IM server 425. The Local IM server 420
`provides the standard IM function for the ISP 405. The
`Universal IM server 425 provides the Universal IM function
`that allowsthe user 412, whois registered with the ISP 405,
`to communicate with another user 457, register

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