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