Claims
- 1. A method for routing a message to a communications device, said method comprising:
receiving a message via a communications channel; converting said message into a uniform media format; identifying at least one of the following: at least one user communications device to receive said message and at least one communications channel for delivering said message; converting said uniform media formatted message for at least one communications protocol; and forwarding said message formatted for said at least one communications protocol to said at least one user communications device via at least one communications channel.
- 2. A method in accordance with claim 1, wherein said uniform media format is implemented in the extensible markup language.
- 3. A method in accordance with claim 1, wherein said at least one communications protocol includes at least one of the following: SMTP, HTML, XML, HDML, WML, VXML, SNPP, SMPP, SIP, SIMPLE, SMDI, Instant Messaging, Short Messaging Service and a Sender Application Program Interface.
- 4. A method in accordance with claim 1, wherein the step of identifying includes:
receiving information from an application via an application program interface gateway.
- 5. A method in accordance with claim 1, wherein the step of identifying comprises:
accessing a first database containing contact profile and location information; and accessing a second database containing user preferences information.
- 6. A method in accordance with claim 5, further comprising:
receiving at least one of the following through a user interface: said contact profile and location information and said user preferences information.
- 7. A method in accordance with claim 5, further comprising:
receiving at least one of the following from an application through an application program interface gateway: said contact profile and location information and said user preferences information.
- 8. A method in accordance with claim 1, further comprising:
storing in a database a copy of at least one of the following: said received message, said uniform media formatted message and said message formatted for said at least one communications protocol.
- 9. A method in accordance with claim 8, further comprising:
permitting accessing of said database through a user interface.
- 10. A method in accordance with claim 1, further comprising:
monitoring delivery status information of said message forwarded to said at least one identified communications device.
- 11. A method in accordance with claim 10, further comprising:
storing said delivery status information in a database.
- 12. A method in accordance with claim 11, further comprising:
permitting accessing of said database through a user interface.
- 13. A method in accordance with claim 11, further comprising:
permitting accessing of said database through an application program interface gateway.
- 14. A method in accordance with claim 1, further comprising:
maintaining a copy of said uniform media formatted message within a database; determining whether said message formatted for a first communications protocol has been delivered via a first communications channel; retrieving said copy of said uniform media formatted message from said database; identifying at least one of the following: a second communications device to receive said message and a second communications channel for delivering said message; converting said uniform media formatted message for a second communications protocol; and forwarding said message formatted for said second communications protocol via said second communications channel.
- 15. A method in accordance with claim 1, wherein:
a first communications channel and a second communications channel are identified, said uniform media formatted message is converted for a first communications protocol corresponding to said first communications channel and also is converted for a second communications protocol corresponding to said second communications channel, and wherein said message formatted for said first communications protocol is forwarded via said first communications channel and said message formatted for said second communications protocol is forwarded via said second communications channel.
- 16. A method in accordance with claim 1, further comprising:
maintaining a virtual session between a sender and a recipient, wherein said uniform media formatted message is converted for an instant messaging communications protocol and wherein said converted message is forwarded to said recipient via an instant messaging communications channel.
- 17. A method in accordance with claim 1, wherein said step of receiving includes directing said message to a receiving transport agent and wherein said receiving transport agent converts said message into a uniform media format.
- 18. A method in accordance with claim 17, further comprising:
delivering said message converted into a uniform media format to a core messaging module, wherein said core messaging module identifies said at least one user communications device to receive said message.
- 19. A method in accordance with claim 18, wherein said core messaging module comprises a user manager module and a message manager module and wherein said message manager module consults with said user manager module to identify at least one of the following: said at least one user communications device to receive said message and said at least one communications channel for delivering said message, and wherein said message manager module delivers said uniform media formatted message to at least one delivery transport agent.
- 20. A method in accordance with claim 19, wherein said at least one delivery transport agent converts said uniform media formatted message into a communications protocol and forwards said message formatted in said communications protocol to said identified at least one user communications device.
- 21. A method in accordance with claim 1, wherein said message is received at a receiving transport agent and wherein said receiving transport agent directs the conversion of said message into a uniform media format and directs the storage of said uniform media formatted message into a message storage database.
- 22. A method in accordance with claim 21, further comprising:
delivering a message handling request to a core messaging module wherein said message handling request corresponds to said received message and wherein said core messaging module identifies said at least one user communications device to receive said message.
- 23. A method in accordance with claim 22, wherein said core messaging module comprises a user manager module and a message manager module and wherein said message manager module consults with said user manager module to identify at least one of the following: said at least one user communications device to receive said message and said at least one communications channel for delivering said message, and wherein said message manager module delivers at least one message delivery request to at least one delivery transport agent.
- 24. A method in accordance with claim 23, wherein said at least one delivery transport agent directs the retrieval of said uniform media formatted message from said message storage database and directs the conversions of said uniform media formatted message into a communications protocol and forwards said message formatted in said communications protocol to said identified at least one user communications device.
- 25. A method in accordance with claim 24, wherein at least one of the following is placed in a queue as determined by a load balancing module: said message handling request and said at least one message delivery request.
- 26. A system for routing a message to a communications device, said system comprising:
at least one receiving transport agent to receive a message via a communications channel, wherein said at least one receiving transport agent converts said message into a uniform media format; at least one core messaging module wherein said at least one core messaging module identifies at least one of the following: at least one user communications device to receive said message and at least one communications channel for delivering said message; and at least one delivery transport agent to convert said uniform media formatted message for at least one communications protocol and forward said message formatted for said at least one communications protocol to said at least one user communications device via at least one communications channel.
- 27. A system in accordance with claim 26, wherein said at least one receiving transport agent, said at least one core messaging module and said at least one delivery transport agent reside on a network server.
- 28. A system in accordance with claim 26, wherein said at least one receiving transport agent and said at least one core messaging module and said at least one delivery transport agent reside on a plurality of network servers.
- 29. A system in accordance with claim 26, wherein said at least one communications channel includes at least one of the following: an email communications channel, a web browser communications channel, a wireless application protocol communications channel, an instant messaging communications channel, a short messaging service protocol communications channel, a fax communications channel, a session initiation protocol communications channel, a paging service communications channel and a receiver application program interface communications channel.
- 30. A system in accordance with claim 26, wherein said at least one receiving transport agent includes at least one of the following: an email receiving transport agent, an HTML receiving transport agent, a HDML receiving transport agent, a WML receiving transport agent, a page receiving transport agent, a fax receiving transport agent, an Instant Messaging receiving transport agent, a Short Messaging Service receiving transport agent, a Session Initiation Protocol receiving transport agent and a Sender Application Program Interface receiving transport agent.
- 31. A system in accordance with claim 26, wherein said at least one delivery transport agent includes at least one of the following: an email delivery transport agent, an HTML delivery transport agent, a HDML delivery transport agent, a WML delivery transport agent, and Instant Messaging delivery transport agent, a Short Messaging Service delivery transport agent, a Session Initiation Protocol delivery transport agent, a Simplified Message Desk Interface delivery transport agent, a page delivery transport agent, a fax delivery transport agent and a Receiving Application Program Interface delivery transport agent.
- 32. A system in accordance with claim 26, further comprising:
a load balancing module, wherein said load balancing module controls message handling within said system.
- 33. A system in accordance with claim 26, wherein:
said at least one receiving transport agent includes an inbound message queue wherein messages received at said at least one receiving transport agent can be placed in said inbound message queue; said at least one core messaging module includes a core messaging queue wherein message handling requests received from said at least one receiving transport agent can be placed in said core messaging queue; and said at least one delivery transport agent includes a delivery messaging queue wherein message delivery requests received from said at least one core messaging module can be placed in said delivery messaging queue.
- 34. A system in accordance with claim 26, wherein said at least one delivery transport agent includes a carrier management module.
- 35. A system in accordance with claim 34, further comprising a carrier knowledge database containing carrier information wherein a carrier management module can access said carrier information stored in said carrier knowledge database.
- 36. A system in accordance with claim 34, wherein said carrier management module includes a carrier management queue wherein carrier management requests generated by said at least one delivery transport agent can be placed in said carrier management queue.
- 37. A system in accordance with claim 26, further comprising:
a message storage database to store at least one of the following: said received message, said uniform media formatted message and said message formatted in said at least one communications protocol.
- 38. A system in accordance with claim 37, further comprising:
a user interface comprising controls, wherein said user interface can be utilized to access said message storage database.
- 39. A system in accordance with claim 37, further comprising:
an application program interface gateway, wherein an application can interface with said application program interface gateway to access said message storage database.
- 40. A system in accordance with claim 26, further comprising:
a message transmission error handling module to handle message delivery errors, wherein said at least one delivery transport agent notifies said message transmission error handling module of the occurrence of a message delivery error.
- 41. A system in accordance with claim 40, wherein said message transmission error handling module includes an input queue wherein delivery error notifications can be placed.
- 42. A system in accordance with claim 26, wherein said at least one core messaging module comprises:
a user manager module; and a message manager module, wherein said message manager consults with said user manager module to identify said at least one of the following: said at least user communications device to receive said message and at least one communications channel for delivering said message.
- 43. A system in accordance with claim 42, further comprising:
a contact profile and location database containing contact profile and location information, wherein said user manager module can access said contact profile and location information stored in said contact profile and location database.
- 44. A system in accordance with claim 43, further comprising:
a user interface comprising controls, wherein said user interface can be utilized to access said contact profile and location database.
- 45. A system in accordance with claim 43, further comprising:
an application program interface gateway, wherein an application can interface with said application program interface gateway to access said contact profile and location database.
- 46. A system in accordance with claim 43, further comprising:
a user preferences database containing user preferences information, wherein said user manager module can access said user preferences information stored in said user preferences database.
- 47. A system in accordance with claim 46, further comprising:
a user interface comprising controls, wherein said user interface can be utilized to access at least one of the following: said contact profile and location database and said user preferences database.
- 48. A system in accordance with claim 46, further comprising:
an application program interface gateway, wherein an application can interface with said application program interface gateway to access at least one of the following: said contact profile and location database and said user preferences database.
- 49. A system in accordance with claim 48, further comprising an authentication module.
- 50. A system in accordance with claim 26, further comprising:
a message tracker module having a message tracker database, wherein at least one of the following reports message tracking information to said message tracker module: said at least one receiving transport agent, said at least one core messaging module and said at least one delivery transport agent, and wherein said message tracker module maintains said message tracking information in said message tracker database.
- 51. A system in accordance with claim 50, further comprising:
a recovery agent module, wherein said recovery agent module monitors said message tracking information to detect message delivery errors and wherein said recovery agent module notifies said core messaging module of said message delivery errors.
- 52. A system in accordance with claim 50, wherein said message tracker module includes an input queue and wherein said message tracking information can be placed in said input queue.
- 53. A system in accordance with claim 50, further comprising:
a user interface comprising controls, wherein said user interface can be utilized to access said message tracker database.
- 54. A system in accordance with claim 50, further comprising:
an application program interface gateway, wherein an application can interface with said application program interface gateway to access said message tracker database.
- 55. A system in accordance with claim 26, further comprising:
a message storage database to store at least one of the following: said received message, said uniform media formatted message and said message formatted in said at least one communications protocol; a message tracker module having a message tracker database, wherein the following report message tracking information to said message tracker module: said at least one receiving transport agent, said at least one core messaging module and said at least one delivery transport agent, and wherein said message tracker module maintains said message tracking information in said message tracker database; and a recovery agent module, wherein said recovery agent module monitors said message tracking information to detect message delivery errors.
- 56. A system in accordance with claim 26, wherein said at least one delivery transport agent includes an instant messaging delivery transport agent and wherein said instant messaging delivery transport agent comprises a virtual session object to establish an instant messaging session between a sender and a recipient.
- 57. A system in accordance with claim 56, wherein said instant messaging delivery transport agent further comprises a message distributor module and a message map module.
- 58. A system in accordance with claim 57, wherein said instant messaging delivery transport agent further comprises a reply handler module.
- 59. A system in accordance with claim 56, further comprising a carrier management module.
- 60. A system in accordance with claim 59, further comprising a carrier knowledge database containing carrier information wherein said carrier management module can access said carrier information stored in said carrier knowledge database.
- 61. A computer-readable storage medium containing computer executable code for instructing a computer to operate as follows:
receive a message via a communications channel; convert said message into a uniform media format; identify at least one of the following: at least one user communications device to receive said message and at least one communications channel for delivering said message; convert said uniform media formatted message for at least one communications protocol; and forward said message formatted for said at least one communications protocol to said at least one user communications device via at least one communications channel.
- 62. A computer-readable storage medium in accordance with claim 61, wherein said uniform media format is implemented in the extensible markup language.
- 63. A computer-readable storage medium in accordance with claim 61, wherein said at least one communications protocol includes at least one of the following: SMTP, HTML, XML, HDML, WML, VXML, SNPP, SMPP, SIP, SIMPLE,
SMDI, Instant Messaging, Short Messaging Service and a Sender Application Program Interface.
- 64. A computer-readable storage medium in accordance with claim 61, wherein the step of identifying includes computer executable code for instructing a computer to operate as follows:
receive information from an application via an application program interface gateway.
- 65. A computer-readable storage medium in accordance with claim 61, wherein the step of identifying comprises computer executable code for instructing a computer to operate as follows:
access a first database containing contact profile and location information; and access a second database containing user preferences information.
- 66. A computer-readable storage medium in accordance with claim 65, further comprising computer executable code for instructing a computer to operate as follows:
receive at least one of the following through a user interface: said contact profile and location information and said user preferences information.
- 67. A computer-readable storage medium in accordance with claim 65, further comprising computer executable code for instructing a computer to operate as follows:
receive at least one of the following from an application through an application program interface gateway: said contact profile and location information and said user preferences information.
- 68. A computer-readable storage medium in accordance with claim 61, further comprising computer executable code for instructing a computer to operate as follows:
store in a database a copy of at least one of the following: said received message, said uniform media formatted message and said message formatted for said at least one communications protocol.
- 69. A computer-readable storage medium in accordance with claim 68, further comprising computer executable code for instructing a computer to operate as follows:
permit accessing of said database through a user interface.
- 70. A computer-readable storage medium in accordance with claim 61, further comprising computer executable code for instructing a computer to operate as follows:
monitor delivery status information of said message forwarded to said at least one identified communications device.
- 71. A computer-readable storage medium in accordance with claim 70, further comprising computer executable code for instructing a computer to operate as follows:
store said delivery status information in a database.
- 72. A computer-readable storage medium in accordance with claim 71, further comprising computer executable code for instructing a computer to operate as follows:
permit accessing of said database through a user interface.
- 73. A computer-readable storage medium in accordance with claim 71, further comprising computer executable code for instructing a computer to operate as follows:
permit accessing of said database through an application program interface gateway.
- 74. A computer-readable storage medium in accordance with claim 61, further comprising computer executable code for instructing a computer to operate as follows:
maintain a copy of said uniform media formatted message within a database; determine whether said message formatted for a first communications protocol has been delivered via a first communications channel; retrieve said copy of said uniform media formatted message from said database; identify at least one of the following: a second communications device to receive said message and a second communications channel for delivering said message; convert said uniform media formatted message for a second communications protocol; and forward said message formatted for said second communications protocol via said second communications channel.
- 75. A computer-readable storage medium in accordance with claim 61, further comprising computer executable code for instructing a computer to operate as follows:
maintain a virtual session between a sender and a recipient, wherein said uniform media formatted message is converted for an instant messaging communications protocol and wherein said converted message is forwarded to said recipient via an instant messaging communications channel.
- 76. A computer-readable storage medium in accordance with claim 61, wherein the step of receiving includes computer executable code for instructing a computer to operate as follows:
direct said message to a receiving transport agent and wherein said receiving transport agent converts said message into a uniform media format.
- 77. A computer-readable storage medium in accordance with claim 76, further comprising computer executable code for instructing a computer to operate as follows:
deliver said message converted into a uniform media format to a core messaging module, wherein said core messaging module identifies said at least one user communications device to receive said message.
- 78. A computer-readable storage medium in accordance with claim 77, wherein said core messaging module comprises a user manager module and a message manager module and wherein said message manager module consults with said user manager module to identify at least one of the following: said at least one user communications device to receive said message and said at least one communications channel for delivering said message, and wherein said message manager module delivers said uniform media formatted message to at least one delivery transport agent.
- 79. A computer-readable storage medium in accordance with claim 78, wherein said at least one delivery transport agent converts said uniform media formatted message into a communications protocol and forwards said message formatted in said communications protocol to said identified at least one user communications device.
- 80. A computer-readable storage medium in accordance with claim 61, wherein said message is received at a receiving transport agent and wherein said receiving transport agent directs the conversion of said message into a uniform media format and directs the storage of said uniform media formatted message into a message storage database.
- 81. A computer-readable storage medium in accordance with claim 80, further comprising computer executable code for instructing a computer to operate as follows:
deliver a message handling request to a core messaging module wherein said message handling request corresponds to said received message and wherein said core messaging module identifies said at least one user communications device to receive said message.
- 82. A computer-readable storage medium in accordance with claim 81, wherein said core messaging module comprises a user manager module and a message manager module and wherein said message manager module consults with said user manager module to identify at least one of the following: said at least one user communications device to receive said message and said at least one communications channel for delivering said message, and wherein said message manager module delivers at least one message delivery request to at least one delivery transport agent.
- 83. A computer-readable storage medium in accordance with claim 82, wherein said at least one delivery transport agent directs the retrieval of said uniform media formatted message from said message storage database and directs the conversions of said uniform media formatted message into a communications protocol and forwards said message formatted in said communications protocol to said identified at least one user communications device.
- 84. A computer-readable storage medium in accordance with claim 82, wherein at least one of the following is placed in a queue as determined by a load balancing module: said message handling request and said at least one message delivery request.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/250,384, filed Nov. 30, 2000, and No. 60/282,429, filed Apr. 9, 2001, the contents of which are herein incorporated by reference in their entireties.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60250384 |
Nov 2000 |
US |
|
60282429 |
Apr 2001 |
US |