USOO72491.61B2

(12) United States Patent (10) Patent No.: US 7,249,161 B2 Srinivas et al. (45) Date of Patent: Jul. 24, 2007

(54) METHOD AND SYSTEM FOR 2002/0055975 A1* 5/2002 Petrovykh ...... 709/205 FACILITATING 2002fOO65938 A1 5/2002 Jungck et al...... 709/246 TRANSACTIONS BETWEEN DISPARATE 2003/013 1061 A1* 7/2003 Newton et al...... TO9,206 SERVICE PROVIDERS 2004/0019637 A1 1/2004 Goodman et al...... TO9.204 2004.?0030750 A1 2/2004 Moore et al...... 709.204

(75) Inventors: BindignavileAAA- Srinivas, Westford, MA S-8. A. 33. MSNoran etet al. al...... 370/352709,227 (US); Mitri Abou-Rizk, Newton, MA 2004/0249891 A1* 12/2004 Khartabil et al...... TO9,206 (US) FOREIGN PATENT DOCUMENTS (73) Assignee: Corporation, Espoo (FI) EP 1 104964 A1 6, 2001 (*) Notice: Subject to any disclaimer, the term of this WO WO O1/86471 A1 11, 2001 patent is extended or adjusted under 35 U.S.C. 154(b) by 793 days. OTHER PUBLICATIONS Crocker, D., et al., “Common Presence and Instant Messaging (21) Appl. No.: 10/331,040 (CPIM) draft-ietf-impp-cpim-03”. Aug. 14, 2002, IETF Standard (22) Filed Dec. 27, 2002 Working-Draft, Internet Engineering Task Force, 36 pgs. 1C eC. Af * cited by examiner (65) Prior Publication Data Primary Examiner Jinsong Hu US 2004/O128352 A1 Jul. 1, 2004 (74) Attorney, Agent, or Firm—Harrington & Smith, PC (51) Int. Cl. (57) ABSTRACT G06F 5/3 (2006.01) (52) U.S. Cl...... 709/206: 709/205; 709/246; A method and system is described for facilitating instant 370/335 messaging (IM) between a first user with an address that (58) Field of Classification Search ...... 709/205, includes a first domain name and a second user with an 709/206, 246; 370/335 address that includes a second domain name different from See application file for complete search history. the first. A substitute address is chosen that includes the second domain name and is mapped to the first address. An (56) References Cited IM sent from the first user to the second is copied and U.S. PATENT DOCUMENTS re-addressed to be sent from the substitute address. This maintains consistency of domain names between the 6,912,564 B1 6/2005 Appelman et al...... TO9.204 addressor and addressee, allowing existing IM systems that 7,016,978 B2 * 3/2006 Malik et al...... TO9,246 inhibit IM between incompatible IMSPs to deliver the 7,058,036 B1* 6/2006 Yu et al ------... 370,335 message. 2002fOOO6803 A1 1/2002 Mendiola et al...... 455,466 2002fOO21307 A1 2/2002 Glenn et al...... 345,753 2002/0035605 A1 3f2002 McDowell et al...... TO9,206 15 Claims, 5 Drawing Sheets

ISP critis...N.R.E.2gresses r? - - - SP RECENEEwere FRO 2 com- (MSP1) - 24 MSPSF. Fissom) r" ESEENS-ENE - 2 (FOR OUTPUT MESSAGES) AND BETWEENTEMPORARY ID AND JSER1 (FOR INPUT MESSAGEs)

SP ACCESSES Ap 30

IMSP1 coPES TEXT OF MESSAGE (PROBABLY WITH soME - 32 RE-FORMATTING AND SENDS IT RE-ADDRESSED FROM substitute8xz.com. To user28.xyz.com. - MSP2 CLIENSERVER DEWERS THE cored TEXT - 34 To user29xyz.com

JMSP2 CLENT FOR USER2 REPLIES TO THE MESSAGE (DESTINATION OF THE MESSAGE IS; substitutexyz.com AND 36 SINCE THIS IS THE ORIGINATION; AND SENDER IS user2xyz.com)

IMSF KEES ONMONTRING FOR ANY ESSAGES - 38 RECEIVED TO substituteoxyz.com - AS SONAS THE REPLY MESSAGES RECENEDT - 40 substitutexyz.cnn. ISP1 INTERCEPTS THE REPY MESSAGE AND ACCESSES THE SORED APPN3 DATA - MSP1 TcoPESTEXT FROM subst:texyzger. OF REPLY MESSAGE To user.18abe.com ANDRE-ADDRESSES - 42 - - - - BACK TO 3 -- ISP1 COPES THE CORE MESSA, to MSP cueNir 44 U.S. Patent Jul. 24, 2007 Sheet 1 of 5 US 7.249,161 B2

y 5 v)

2. N 2 T O N

I. v) 2

2 3 2 e e 2

U.S. Patent Jul. 24, 2007 Sheet 3 of 5 US 7.249,161 B2

(7, KY

aay

g

US 7,249,161 B2 1. 2 METHOD AND SYSTEM FOR presence information for the user2 client, the message from FACLITATING INSTANT MESSAGING userl is sent directly to user2. TRANSACTIONS BETWEEN DISPARATE It can be noted at this point that in IM the sending of the SERVICE PROVIDERS message is not guaranteed, so that if an IM is sent from a Source to a destination there is no guarantee that it will reach TECHNICAL FIELD the destination (although this is rare). Note as well that it may be possible to send a message to an end-user that has These teachings relate generally to instant messaging on not logged into the IMSP server, although the behavior of an electronic network, Such as the internet or an intranet this feature is server dependent (e.g., Yahoo will save a (e.g., a private network), between two or more user 10 user's messages until the next time the user logs in, while addresses in different domains. It is particularly related to some other IMSPs may not). Also, note that the message instant messaging among two or more user addresses from user1 is not sent directly to user2, it is routed instead wherein at least two user addresses include domain names through the IMSP Server software. that differ from one another, such as from different instant That is, current IM architecture passes all IM messages 15 through a server, which routes the message. A reply from messaging service providers. user2 is transmitted to userl in like manner. An IM session remains open until one of the users logs off. Such as by BACKGROUND logging off of his client. That client then signals the IMSP server of the offline status, and the server then notifies the Instant messaging (IM) is a method and system of live or clients of all of the online buddies of that revised status. Note nearly live communication, over the internet or other elec that logging off of a client may be distinguished from closing tronic network, between two users who are both simulta a client, which may be instead only a change in presence neously logged on to an IM service provider (IMSP). The information (e.g., active to idle). IMSP provides access to the network as well as software to One major limitation has been that users of one IMSP facilitate IM between its users. It should be noted that there 25 identified by one domain name could not effect IM with are generally two types of software: “Client-software' that users of another IMSP identified by a different domain name. is downloaded by the end-user (generally this is distributed This is because each IMSP has its own proprietary standards freely) and “Server-Software” that is not downloaded by the on how they pack and unpack messages, standards that are end-user. The Server-Software is the core and the engine of not necessarily enabling of the proprietary standards of the IMSP. It is the Server-Software behavior that distin 30 others. Some users have overcome this limitation by main guishes IMSPs from one another by offering different com taining accounts in each IMSP in which one of their poten pelling features. Typically, users download IM Client-Soft tial buddies has an account. However, this leads to users ware that enables them to engage in IM with other users of having to maintain multiple accounts with multiple login the same IMSP who have also downloaded the same or identifiers and passwords, having to maintain open clients compatible software. There are a variety of IMSPs, for 35 for each IMSP a user chooses to monitor during any given example: Wireless Village (WV), AOL, Yahoo!, MSN and session on his computer, and the inability to have an IM ICO (AOL is a registered trademark of America Online, Inc.; conversation with two buddies who each use a different Yahoo! is a registered trademark of Yahoo! Inc.; MSN is a IMSP. For example, userl (a yahoo.com could engage in IM registered trademark of the Microsoft Corporation; and ICO with user2Clyahoo.com, but not with user2Olmsn.com. is a registered trademark of ICO, Inc.). IM software from 40 Certain IMSPs advertise an ability to facilitate IM com one IMSP generally does not enable IM communications munications between users of only specified domains that with users of another IMSP, since most IMSPs use a differ. For example, Odigo (Odigo is a registered trademark proprietary Solution. of Odigo, Inc.) asserts on its website (www.Odigo.org) that Typical IM software today includes a first user (for IM users can access two distinct IMSPs: AIM and ICO. The example, user1) downloading the IM Client-Software onto 45 specific protocol for facilitating this appears to be propri his own computer. The IM software downloaded onto a etary. However, since IM is only enabled between specified user's computer is generally referred to as the Client domains, it is assumed the service is facilitated by servers Software (or more simply as the client), a convention that is associated with each domain acting in concert under a continued herein. The client connects to an IMSP server contractual relation between the IMSPs. when userl logs on. The client is pre-configured to know the 50 For convention with regard to this disclosure, an IM IP address of the server, So when a user logs in (by entering address “username(a)domainname' is parsed as follows. The the username and password) using the pre-downloaded characters to the left of the (a symbol are referred to as the proprietary client, it (the client) requests to connect and username. The characters to the right of the (a symbol authenticate the user to the server. Once the user is authen constitute the domain name or domain, which in this con ticated, the server updates the client with a list of buddies 55 vention includes the top-level domain name for simplicity. and their presence information. The server sends a message IM addresses and parts thereof will be offset herein by back to the userl client as to which buddies from the user1 underlining for clarity. generated buddy list are logged on, along with their presence information (such as mood, availability, etc.). The client SUMMARY OF THE INVENTION changes the displayed status on userl’s computer to indicate 60 which buddies are logged on. The userl access, information The foregoing and other problems are overcome, and is also sent by the server to the clients of those logged-on other advantages are realized, in accordance with the pres buddies. When userl wishes to send an IM message to a ently preferred embodiments of these teachings. buddy who is logged on, say user2, userl clicks or selects A method of facilitating instant messaging (IM) between the name (IM address) for user2, types or attaches a message 65 two domains over an electronic communication network is in the computer window provided, and sends the message. shown. The first address includes a first domain and the Because the userl client has already been provided the second address includes a second domain that differs from US 7,249,161 B2 3 4 the first. The steps of the method include first receiving a those same users to engage in IM with users of other IMSPs. first message from the first address that is directed to the In effect, each IMSP provides IM only among its own island second address. The next step is mapping the first address to of users. a substitute address, wherein the substitute address includes FIG. 2 depicts a simplified block diagram wherein the the second domain. Next, the first message is sent from the limitation of FIG. 1 is overcome for users of Wireless Substitute address to the second address. Village. Employing the preferred embodiment of the present Various further and additional steps are disclosed to invention, WV enables its users to engage in IM with users facilitate IM communications from the second address back of any other IMSP of which only three are depicted. FIG. 2 to the first address, each of which is discussed in detail is illustrative, as the present invention is not necessarily below. 10 limited to direct contact between the servers of disparate The present invention also comprises a system for facili IMSPs for every phase of IM communication. Throughout tating instant messaging over an electronic network between this disclosure and the ensuing claims, both servers and a first address that includes a first domain and a second clients associated with a particular IMSP are considered to address that includes a second domain that differs from the comprise that particular IMSP. For example, WV includes first domain. The first domain is associated with a first 15 the WV servers as well as every WV client resident in the instant messaging service provider, and the second domain computers of WV users. is associated with a second instant messaging service pro FIG. 3 illustrates in block diagram how IM communica vider. The system comprises a Substitute address and a map tions between two users of disparate IMSPs is facilitated. A that correlates the substitute address to either the first sender 12 (depicted as a mobile terminal) enters a message directed to a recipient 14 (depicted as another mobile address or the second address. Preferably, the substitute terminal). The sender and/or recipient may alternatively use address includes the second domain, and the map correlates a computer terminal or any other device on which an IMSP the substitute address to the first address. client is resident. By way of example, the sender will be This invention provides a method and a system for designated as Mitri using the IM address mitricawV.com and facilitating instant messaging (IM) between a first user with 25 the recipient will be designated as Srini using the IMaddress an address that includes a first domain name and a second Srini(a).com. By their IM domains, Mitri’s IMSP 16 is user with an address that includes a second domain name Wireless Village and Srini's IMSP18 is ICO. In accordance different from the first. A substitute address is chosen that with an aspect of this invention, Mitri’s IMSP 16 creates a includes the second domain name, and the Substitute address pool of IM addresses. Note that in this case that the IMSP is is mapped to the first address. An IM sent from the first user 30 WV, which does not maintain the account, as the accounts to the second is copied and re-addressed to be sent from the are maintained by ICO. That is, the accounts are maintained Substitute address. This maintains consistency of domain by ICO, and stored at the ICO server, and the WV server names between the addressor and addressee, allowing exist behaves (in this case) like any ICO user. ing IM systems that inhibit IM between incompatible IMSPs The pool of IM addresses need not be fixed, and may to deliver the message. 35 change over time. Preferably, creation of the pool is done prior to the time that Mitri directs a message to Srini, so that BRIEF DESCRIPTION OF THE DRAWINGS an IMSP practicing the present invention maintains pools of IM addresses within several domains, each domain consis The foregoing and other aspects of these teachings are tent with one of numerous other IMSPs. Alternatively, made more evident in the following Detailed Description of 40 Mitri’s IMSP may create an address consistent with the IM the Preferred Embodiments, when read in conjunction with system of Srini's IMSP when Mitri attempts to initiate IM the attached Drawing Figures, wherein: with a user of a foreign IMSP such as Srini. FIG. 1 is a conceptual overview of IM Systems of the When Mitri’s IMSP detects a message that is directed to prior art, wherein each IMSP (Wireless Village, AOL, etc.) a foreign IMSP, for example, “From mitri?aw v.com; To is isolated from the other IMSPs. 45 Srini(a)icq.com'. Mitri’s IMSP accesses the pool of FIG. 2 is a conceptual overview of an IM System accord addresses within the domain of Srini’s IMSP (or creates a ing to the present invention, wherein an IMSP that does not new address within that domain) and reserves one of them preclude IM between users in different domains can facili for the pending IM session initiated by Mitri. By example, tate IM through other IMSPs. the address from the pool reserved for this IM session will 50 be designated substitute(a)icq.com. Mitri’s IMSP further FIG. 3 is a block diagram of a first user on a first IMSP maps Mitri’s address, mitri?awV.com, to the address engaging in IM with a second user on a second IMSP. reserved from the pool and stores this mapping data. FIG. 4 is a flow chart outlining the steps for two-way Because the recipient IMSP will only transfer IM messages instant messaging in accordance with an embodiment of the when both sender and receiver addresses are from within its invention. 55 own domain, Mitri’s IMSP copies the message from Mitri to Srini into an account bearing a domain that will be processed DETAILED DESCRIPTION OF THE by Srini's IMSP. Note that whether the IM (from Mitri to PREFERRED EMBODIMENTS Srini) is copied to the IM (from substitute to Srini) is an implementation detail. The IM could be copied, or the From The present invention is best understood with reference to 60 address can be changed without explicitly copying the the associated drawings, wherein FIG. 1 is a simplified block message. However, from Mitri>Srini the message needs to diagram exposing a limitation of instant messaging (IM) be copied due to the packaging and unpackaging of the systems of the prior art. FIG. 1 depicts four widely used entire IM message. instant messaging service providers (IMSPs): Wireless Vil Specifically, Mitri’s IMSP accesses the mapped data and lage (WV), America Online (AOL), Microsoft Network 65 finds mitri?awV.com is mapped to Substitute(a)icq.com. (MSN) and ICO. Each of these IMSPs facilitates IM Mitri’s IMSP copies the text of the message into an IM between their own customers or users, but do not enable message from the reserved address. The copied message is US 7,249,161 B2 5 6 now addressed “From substitute(a)icq.com; To receives this message at block 34 and directs it to Srini(a)icq.com'. The copied message with an address within user2O)xyZ.com as it would any other IM traffic between the recipient’s domain is sent over the internet, world wide two of its users. web, or other electronic network. The recipient’s IMSP Following receipt of the message, user2 sends an original recognizes this network traffic as IM between two of its own 5 reply that is addressed “From user2(a)xyZ.com; To users, and directs the message to Srini(a)icq.com as Mitri substitute(axyZ.com'. This message is received by IMSP2 intended. at block 36, and at block 38 IMSP2 directs this reply to It is important to note that sending Mitri’s copied message substitute(axyZ.com as it would for any other user of its from the address Substitute(a)icq.com makes the message services. Continually from the time of the mapping done in indiscernible, from the perspective of the recipient’s IMSP, 10 block 38, IMSP1 monitors network traffic addressed to or from IM traffic among any of the regular users of the from substitute(axyZ.com, and discerns at block 40 that an recipient’s IMSP. The message is indiscernable because the original reply is directed to that address. IMSP1 intercepts packaging of the message is performed by the same Client that message and accesses the stored mapping data. IMSP1 Software as the recipient IMSP. uses the mapping data to Substitute the address of the reply The actual graphical screen interface viewed by Srini may 15 recipient at block 42. IMSP1 then copies the text of the or may not indicate that Mitri is the sender. Preferably it does original reply into a message addressed: "From indicate the sender to better facilitate communication user2Cl2XyZ.com; To userl (a.abc.com, and sends the copied between the end users, Mitri and Srini in this example. It reply to userl (a.abc.com at block 44. It is to be noted that should be noted, however, that copying of the message may this copied reply does not maintain consistent domain names allow the server to add/append a string (e.g., username? 20 between addressor and addressee. As stated above, an IMSP buddyname) to indicate where the message is coming from. practicing the present invention must not inhibit delivery of These are features that the originating IMSP can provide. To an IM message with disparate domains. It is believed that maintain privacy of the true sender Mitri from all except most popular IMSPs do so inhibit IM between disparate Srini, the mapping of Substitute(a)icq.com with domains, primarily for business rather than technical rea mitri?awV.com is preferably deleted and the substitute 25 SOS. address is returned to the pool or deleted (i.e., no longer IMSP1 may then receive, at block 46, an additional associated with mitri?awV.com or Srini(a)icq.com) once the message “From userl (a.abc.com To user2Cl2XyZ.com'. IM session between Mitri and Srini is completed. Comple IMSP1 then accesses the map again as in block 30 and tion is typically signaled by at least one of the end users continues as before to copy message text and Substitute logging off of their respective client. 30 addresses to enable IM between userl and user2 so long as There are pluralities of methods by which return commu they are both logged on. Once communication between nications from Srini to Mitri maybe accomplished. In the userl and user2 is terminated, the reserved address example below, userl is the sender of the original message substitute(axyZ.com is returned to the pool of addresses for who initiates IM between the parties using IMSP1. IMSP1 future use, or is deleted (depending on the implementation), is identified with the domain “abc.com', and does not inhibit 35 not necessarily related to either userl (a.abc.com or transfers between domains. User2 is the intended recipient user2Cl2XyZ.com. This minimizes the required size of the of the original message and uses IMSP2. IMSP2 is identified address pool. with the domain "xyz.com'. The domains “abc.com’ and It is noted that the domain names per se are not what “xyZ.com” represent disparate domains similar to wV.com allows the IMSP1 to deliver or to restrict the sending of the and icq.com in the above example using Mitri and Srini. 40 messages between two different IM providers; instead it is FIG. 4 illustrates in block diagram the architecture that the proprietary information and the packaging and unpack enables the present invention. As described above, IMSP1 aging of the IM message that typically differs between each creates and maintains at block 22 a pool of addresses within IM provider that does not allow the communication between then domain that is recognizable by IMSP2. For example, if two different IMSPs. That is, it is not the domain names, but IMSP2 facilitates IM between users with domain names 45 the incompatibilities between IMSPs, that affects the ability ((axyZ.com, then IMSP1 will create a pool of identifiers that to send and receive IMs. also end with (axyZ.com. IMSP1 receives an original While described in the context of presently preferred message that is directed, for example, "From embodiments, those skilled in the art should appreciate that userl (a.abc.com; To user2Cl2XyZ.com’ at block 24. Recog various modifications of and alterations to the foregoing nizing that XyZ.com is a foreign domain, IMSP1 selects and 50 embodiments can be made, and that all such modifications reserves in block 26 an address from a pool of addresses in and alterations remain within the scope of this invention. the xyz.com domain that was created at block 22. IMSP1 Examples herein are stipulated as illustrative and not then maps and stores the reserved address with the addresses exhaustive. of the initial message at block 28 as follows: What is claimed is: userl (a.abc.com is mapped to Substitute(a)XyZ.com; and 55 1. A method of facilitating instant messaging over an Substitute(axyZ.com is mapped to user2Cl2XyZ.com. This electronic communication network, comprising: mapped data may be bidirectional: i.e.: userl (a.abc.com is receiving a first message, from a first address that includes mapped to Substitute(a)XyZ.com; and Substitute(a)XyZ.com is a first domain identified with a first instant messaging mapped to userl (a.abc.com. Once the mapping data is service provider, directed to a second address that stored, it is accessed by IMSP1 at block 30. IMSP1 then 60 includes a second domain different than the first copies the text of the original message sent in block 24 and domain, the second domain identified with a second sends the copied message which is now addressed as "From instant messaging service provider; substitute(axyZ.com: To user2Cl2xyZ.com’ over the network mapping the first address to a substitute address that at block 32. IMSP1 may have to re-format the original includes the second domain; message in order to copy its text. Because the copied 65 copying a text of the first message; and message is sent from a domain identified with IMSP2, it is sending the copied text of the first message from the sent by IMSP1 but through IMSP2 onto the network. IMSP2 Substitute address to the second address. US 7,249,161 B2 7 8 2. The method of claim 1, where the substitute address is responsive to receiving a message from a first address of selected from a pool of addresses that each include the the plurality that is directed to a second address asso second domain. ciated with the second domain, mapping the first 3. The method of claim 2, where the mapping between the address to one of the Substitute instant messaging first address and the substitute address is deleted after instant 5 addresses; and messaging between the first address and the second address sending a text of the message from the one Substitute is terminated. instant messaging address to the second address. 4. The method of claim 2, where the substitute address is 12. The program of claim 11, the actions further com one of returned to the pool or deleted after instant messaging prising: between the first address and the second address is termi 10 following sending a text of the message, and responsive nated. to receiving a reply message directed from the second 5. The method of claim 1, executed by the first instant address to the one Substitute instant messaging address, messaging service provider. sending a text of the reply message to the first address. 6. The method of claim 1, wherein copying a text of the 13. A system for facilitating instant messaging over an first message further comprises re-formatting the copied text 15 electronic network between a sender address associated with of the first message. a first domain and a recipient address associated with a 7. The method of claim 1, wherein sending the copied text different second domain, the system comprising: of the first message comprises appending the copied text to means for storing a pool of Substitute instant messaging another message that is sent from the Substitute address. addresses associated with a second domain; 8. The method of claim 1, further comprising: means for mapping one Substitute instant messaging monitoring the Substitute address for a reply message; address to a sender instant messaging address associ mapping the Substitute address to the first address; ated with a first domain; copying a text of the reply message; and means for receiving a message directed from the sender sending the copied text of the reply message to the first instant messaging address to a recipient instant mes address. 25 Saging address associated with the second domain; 9. The method of claim 8, further comprising one of responsive to receiving the message, means for sending a deleting the substitute address or returning the substitute text of the message from the one substitute instant address to a pool of addresses that each include the second messaging address to the recipient instant messaging domain. address. 10. The method of claim 8, where the reply message is 30 14. The system of claim 13, wherein the means for directed from the substitute address to the first address by storing, for mapping, for receiving and for sending com means of the mapping. prises at least one server. 11. A program of machine-readable instructions, tangibly 15. The system of claim 13, wherein the means for embodied on an information bearing medium and executable receiving is further for receiving a reply message directed by a digital data processor, to perform actions directed 35 from the recipient instant messaging address to the one toward facilitating instant messaging, the actions compris Substitute instant messaging address, wherein 1ng: responsive to receiving the reply message, the means for storing a plurality of instant messaging addresses associ sending is for sending a text of the reply message to the ated with a first domain; Sender instant messaging address. creating a pool of Substitute instant messaging addresses 40 associated with a second domain; k k k k k