Claims
- 1. A method for exchanging messages between an instant messaging user and an e-mail user, the method comprising:
receiving a first outgoing instant message from the instant messaging user for delivery to an e-mail address of the e-mail user; creating a first outgoing e-mail message from the first outgoing instant message; generating a token that is usable to associate a subsequent incoming e-mail message with the instant messaging user; inserting the token into the outgoing e-mail message, wherein the token is returnable in a reply to the first outgoing e-mail message; and transmitting the first outgoing e-mail message to the e-mail address, wherein a subsequently received e-mail message that includes the token is deliverable to the instant messaging user as an incoming instant message.
- 2. The method of claim 1, wherein inserting the token into the first outgoing e-mail message includes inserting the token into at least one of a From header and a Reply-To header of the first outgoing e-mail message.
- 3. The method of claim 2, wherein inserting the token into the first outgoing e-mail message includes inserting the token into a user name portion of an e-mail address in at least one of the From header and the Reply-To header.
- 4. The method of claim 1, wherein creating the first outgoing e-mail message includes converting the first outgoing instant message to an e-mail format.
- 5. The method of claim 1, wherein creating the first outgoing e-mail message includes inserting a status indicator for the instant messaging user, the status indicator reflecting whether the instant messaging user is online or offline at a time when the first outgoing e-mail message is opened.
- 6. The method of claim 5, wherein the status indicator includes a hypertext transfer protocol page request.
- 7. The method of claim 1, wherein creating the first outgoing e-mail message includes adding information regarding an e-mail instant messaging service to the first outgoing e-mail message.
- 8. The method of claim 1, wherein generating the token includes:
creating an entry in a token table, the entry storing an identifier of the instant messaging user and the e-mail address of the e-mail user, wherein the token includes an identifier of the token table entry.
- 9. The method of claim 8, wherein the identifier of the token table entry includes a randomly or pseudo-randomly generated number, bit sequence or character string.
- 10. The method of claim 8, wherein the token further includes an identifier of a token server that stores the token table.
- 11. The method of claim 1, further comprising:
receiving an incoming e-mail message including the token; extracting the token from the incoming e-mail message; based at least in part on the token, identifying the instant messaging user; converting the incoming e-mail message to an incoming instant message; and delivering the incoming instant message to the instant messaging user.
- 12. The method of claim 11, wherein generating the token includes adding the token to a set of valid tokens, the method further comprising:
determining whether the token extracted from the incoming e-mail message matches a token in the set of valid tokens; and rejecting the incoming e-mail message in the event that the extracted token does not match a token in the set of valid tokens.
- 13. The method of claim 11, wherein generating the token includes creating a corresponding entry in a token table, the token table entry storing an identifier of the instant messaging user and the e-mail address of the e-mail user, and wherein identifying the instant messaging user includes retrieving the identifier of the instant messaging user from the token table entry corresponding to the extracted token.
- 14. The method of claim 13, further comprising:
retrieving the e-mail address of the e-mail user from the token table entry corresponding to the extracted token; comparing a sender address obtained from a From header of the incoming e-mail message to the retrieved e-mail address; and treating the incoming e-mail message as suspicious in the event that the sender address does not match the retrieved e-mail address.
- 15. The method of claim 14, wherein treating the incoming e-mail message as suspicious includes rejecting the incoming e-mail message.
- 16. The method of claim 14, wherein the token table entry includes a list of aliases for the e-mail user, the method further comprising:
no longer treating the incoming e-mail message as suspicious in the event that the sender address matches an alias in the list of aliases.
- 17. The method of claim 14, wherein the token table entry includes a mismatch counter and treating the incoming e-mail message as suspicious includes updating the value of the mismatch counter, wherein the incoming e-mail message is rejected in the event that the mismatch counter reaches a threshold value.
- 18. The method of claim 11, wherein delivering the incoming instant message to the instant messaging user includes:
in the event that an instant messaging client for the instant messaging user is accessible, providing the incoming instant message to the instant messaging client for display; and in the event that the instant messaging client is not accessible, storing the incoming instant message, wherein the stored message is subsequently provided to the instant messaging client at a time when the instant messaging client is accessible.
- 19. The method of claim 11, wherein delivering the incoming instant message to the instant messaging user includes:
in the event that an instant messaging client for the instant messaging user is accessible, providing the incoming instant message to the instant messaging client for display; and in the event that the instant messaging client is not accessible, redirecting the incoming instant message to an e-mail address of the instant messaging user.
- 20. The method of claim 11, further comprising:
receiving a second outgoing instant message from the instant messaging user, the second outgoing instant message being a reply to the incoming instant message; using the identifier of the instant messaging user and the e-mail address of the e-mail user to locate the token that was previously generated; creating a second outgoing e-mail message from the second outgoing instant message; inserting the token into the second outgoing e-mail message, wherein the token is returnable in a reply to the second outgoing e-mail message; and transmitting the second outgoing e-mail message to the e-mail address of the e-mail user.
- 21. The method of claim 20, wherein the token identifies an entry in a token table, the token table entry including the identifier of the instant messaging user and the e-mail address of the e-mail user.
- 22. The method of claim 21, wherein transmitting the second outgoing e-mail address to the e-mail address of the e-mail user includes determining the e-mail address of the e-mail user from the token table entry.
- 23. The method of claim 22, wherein the token table entry includes a list of aliases for the e-mail address of the e-mail user, the method further comprising:
in response to receiving the second outgoing instant message, determining whether a sender address obtained from a From header of the incoming e-mail message matches the e-mail address of the e-mail user stored in the token table entry or an alias in the list of aliases; and in the event that the sender address does not match the stored e-mail address or any alias, adding the sender address to the list of aliases.
- 24. The method of claim 21, wherein the token table entry includes a timestamp and the token table entry is deleted in the event that the timestamp corresponds to a time prior to an expiration time, the method further comprising:
updating the timestamp with a time corresponding to transmission of the second outgoing e-mail message.
- 25. A method for exchanging messages between an instant messaging user and an e-mail user, the method comprising:
generating a token that is usable to associate incoming e-mail messages with the instant messaging user; receiving an incoming e-mail message that includes the token; extracting the token from the incoming e-mail message; based at least in part on the token, identifying the instant messaging user; converting the incoming e-mail message to an incoming instant message; and delivering the incoming instant message to the instant messaging user.
- 26. The method of claim 25, wherein the act of generating the token is performed in response to a request from the instant messaging user.
- 27. A system for transmitting messages between an instant messaging user and an e-mail user, the system comprising:
an outgoing message module configured to receive an outgoing instant message from the instant messaging user to the e-mail user, to convert the outgoing instant message into an outgoing e-mail message, the outgoing e-mail message including a first token, and to transmit the outgoing e-mail message to the e-mail user; an incoming message module configured to receive an incoming e-mail message that includes the first token, to convert the incoming e-mail message into an incoming instant message based at least in part on the first token, and to transmit the incoming instant message to the instant messaging user; and a token module configured to communicate with the outgoing message module and the incoming message module, the token module further configured to maintain a set of valid tokens including at least the first token.
- 28. The system of claim 27, wherein the incoming message module is further configured to reject an incoming e-mail message that includes a second token in the event that the second token is not in the set of valid tokens.
- 29. The system of claim 27, wherein the outgoing message module is further configured to include the first token in at least one of a From header and a Reply-To header of the outgoing e-mail message.
- 30. The system of claim 27, wherein the outgoing message module is further configured to include the first token in a user name portion of at least one of a From header and a Reply-To header of the outgoing e-mail message.
- 31. The system of claim 27, wherein the outgoing message module is further configured to add further data to a body portion of the outgoing e-mail message.
- 32. The system of claim 31, wherein the added data includes a status indicator for the instant messaging user, the status indicator reflecting whether the instant messaging user is online or offline at a time when the outgoing e-mail message is opened.
- 33. The system of claim 32, wherein the status indicator includes a hypertext transfer protocol page request.
- 34. The system of claim 31, wherein the added data includes information regarding an e-mail instant messaging service.
- 35. The system of claim 27, wherein the outgoing message module is further configured to determine whether a token suitable for use as the first token has previously been stored by the token module and, in the event that a suitable token has previously been stored, to use the stored token as the first token.
- 36. The system of claim 35, further comprising:
a token lookup module in communication with the outgoing message module, the token lookup module configured to store a token lookup table that provides a searchable listing of tokens stored by the token module, wherein the outgoing message module determines whether a suitable token has previously been stored by communicating with the token lookup module.
- 37. The system of claim 36, wherein the token lookup table is searchable using an identifier of the instant messaging user and an e-mail address of the e-mail user.
- 38. The system of claim 27, wherein the token module is further configured to store a token table including a plurality of token table entries, wherein each token table entry is identified by a respective token in the set of valid tokens.
- 39. The system of claim 38, wherein each token table entry includes an identifier of the instant messaging user and an e-mail address of the e-mail user.
- 40. The system of claim 39, wherein the incoming message module is further configured to identify the instant messaging user from the token table entry identified by the first token.
- 41. The system of claim 39, wherein the incoming message module is further configured to compare a sender address of the incoming e-mail message to the e-mail address of the e-mail user in the token table entry identified by the first token and to reject the incoming e-mail message in the event that the sender address does not match the stored e-mail address.
- 42. The system of claim 39, wherein the incoming message module is further configured to compare a sender address of the incoming e-mail message to the e-mail address of the e-mail user in the token table entry identified by the first token and to treat the incoming e-mail message as a suspicious message in the event that the sender address does not match the stored e-mail address.
- 43. The system of claim 42, wherein the incoming message module is further configured such that treating the incoming e-mail message as a suspicious message includes maintaining a count of suspicious messages that include the first token and rejecting the incoming e-mail message in the event that the count exceeds a maximum value.
- 44. The system of claim 27, further comprising:
an instant messaging server configured to communicate with the incoming and outgoing message modules and with an instant messaging client that creates the outgoing instant message, wherein the instant messaging server is further configured to receive the outgoing instant message from the instant messaging client and to forward the outgoing instant message to the outgoing message module, and wherein the instant messaging server is further configured to receive the incoming instant message from the incoming message module and to forward the incoming instant message to be displayed by the instant messaging client.
- 45. A method for exchanging messages between an instant messaging user and an e-mail user, the method comprising:
receiving a first instant message from the instant messaging user addressed to the e-mail user; generating a token associated with the instant messaging user and the e-mail user; converting the first instant message to a first e-mail message including the token, wherein the token is returnable in a reply to the first e-mail message; storing the token in a token table; transmitting the first e-mail message to the e-mail user; receiving a second e-mail message from the e-mail user, the second e-mail message including the token; extracting the token from the second e-mail message; validating the token by accessing the token table; and in the event that the token is validated:
converting the second e-mail message to a second instant message; and delivering the second instant message to the instant messaging user.
- 46. A method for exchanging messages between an instant messaging user and an e-mail user, the method comprising:
generating a first instant message addressed to the e-mail user; transmitting the first instant message to an outgoing message server configured to convert the first instant message to a first e-mail message for transmission to the e-mail user and to include in the first e-mail message a token identifying at least one of the instant messaging user and the first instant message; receiving a second instant message from an incoming message server configured to receive a second e-mail message originating with the e-mail user, the second e-mail message containing the token or a representation thereof, and to create the second instant message from the second e-mail message.
- 47. A method for exchanging messages between an e-mail user and an instant messaging user, the method comprising:
receiving a first e-mail message that originated from a first instant message sent by the instant messaging user, the first e-mail message including a token identifying at least one of the instant messaging user and the first instant message; generating a second e-mail message in reply to the first e-mail message, the second e-mail message including the token or a representation thereof; and transmitting the second e-mail message to a server configured to recognize the token or the representation thereof and convert the second e-mail message to a second instant message deliverable to the instant messaging user.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/457,479 (Attorney Docket No. 017887-010800US), filed Mar. 24, 2003, entitled “Instant Messaging Using an E-mail Protocol,” which disclosure is incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60457479 |
Mar 2003 |
US |