Claims
- 1. A messaging system, comprising:
a client device having stored therein a client application, which is adapted to be executed by said client device; a server having stored therein a server application, which is adapted to be executed by said server; a plurality of wireless networks, each of which is adapted to:
communicate messages between said client device and said server; and support one or more wireless network protocols; a protocol gateway encapsulating a fundamental network protocol, which underlies each of said one or more wireless network protocols; means for communicating a message between said client application and said server application, over a selected wireless network protocol through said protocol gateway, independent of said selected wireless network protocol; and a message router for routing said message between said protocol gateway and said server, said message router including:
means for authenticating an origin of said message, wherein said authenticating means authenticates said origin before said message is routed by said message router; and a database, which is accessible by said message router and adapted to store information relating to routing and authentication of said message.
- 2. The messaging system according to claim 1, further comprising a simple network transport layer application, which is adapted to be executed by said protocol gateway, and includes a first code segment for defining a maximum segment size, a second code segment for determining if said message exceeds said maximum segment size, and a third code segment for segmenting said message into a plurality of message segments, none of which exceeds said maximum segment size.
- 3. The messaging system according to claim 2, further comprising means for supporting a message retry in each of said wireless network protocols.
- 4. The messaging system according to claim 2, further comprising means for supporting a message ACK/NACK service in each of said wireless network protocols.
- 5. A method of communicating a message between a client device having stored therein a client application adapted to be executed by the client device, and a server having stored therein a server application adapted to be executed by the server, over a plurality of wireless networks, each of which is adapted to support one or more wireless network protocols, said method comprising the steps of:
providing a protocol gateway; within said protocol gateway, encapsulating a fundamental network protocol, which underlies each of said one or more wireless network protocols
communicating the message between the client application and the server application, over a selected wireless network protocol through said protocol gateway, independent of said selected wireless network protocol; and providing a message router for routing the message between said protocol gateway and the server.
- 6. The method according to claim 5, further comprising the step of, with said message router, authenticating an origin of the message.
- 7. The method according to claim 6, wherein said authenticating step is performed by said message router before the message is routed between said protocol gateway and the server.
- 8. The method according to claim 6, further comprising the steps of:
providing a database, which is accessible by said message router; and storing in said database information relating to routing and authentication of the message.
- 9. The method according to claim 5, further comprising the steps of:
providing a simple network transport layer (SNTL) application, wherein said SNTL application is adapted to be executed by said protocol gateway and, with said SNTL application; defining a maximum segment size; determining if said message exceeds said maximum segment size; and segmenting said message into a plurality of message segments, none of which exceeds said maximum segment size.
- 10. The method according to claim 5, further comprising the step of supporting a message retry in each of said wireless network protocols.
- 11. The method according to claim 5, further comprising the step of supporting a message ACK/NACK service in each of said wireless network protocols.
- 12. A method of routing a message in a communications system, comprising:
a server, which is adapted to run a server application; a plurality of message routers, each of which is coupled to said server; a plurality of protocol gateways, each of which is coupled to each one of said plurality of message routers; and a wireless network, which is adapted to couple said server, through one or more of said plurality of message routers and one or more of said plurality of protocol gateways, to a plurality of client devices, each of which is adapted to run a client application; wherein the method comprises the steps of: transmitting the message from one of said plurality of client devices and, within said one of said plurality of client devices:
defining a maximum segment size; determining if the message exceeds said maximum segment size; segmenting the message into one or more message segments, none of which exceeds said maximum segment size; receiving the message at one of said plurality of protocol gateways; transmitting from said one of said plurality of protocol gateways to said one of said plurality of client devices a first acknowledgment message, which acknowledges receipt of at least one message segment by said one of said plurality of protocol gateways; determining, at said one of said plurality of client devices, that said at least one message segment constitutes a complete message; in the event that said at least one message segment constitutes a complete message as determined by said one of said plurality of client devices, transmitting from said one of said plurality of protocol gateways to one of said plurality of message routers said complete message; and with said one of said plurality of message routers, routing said complete message to said server.
- 13. The method according to claim 12, further comprising the steps of:
transmitting from said server to said one of said plurality of message routers a second acknowledgment message, which acknowledges receipt of at least one message segment by said one of said plurality of protocol gateways; receiving said second acknowledgment message at said one of said plurality of message routers and routing same to said one of said plurality of protocol gateways; receiving, from said one of said plurality of message routers, said second acknowledgment message at said one of said plurality of protocol gateways; and transmitting said second acknowledgment message from said one of said plurality of protocol gateways to said one of said plurality of client devices transmitting the message.
- 14. The method according to claim 12, wherein the message comprises a size that exceeds said maximum segment size, further comprising the steps of:
segmenting the message into a first message segment and a second message segment, neither of which exceeds said maximum segment size; transmitting from said one of said plurality of protocol gateways to said one of said plurality of client devices a first acknowledgment message, which acknowledges receipt of said first message segment by said one of said plurality of protocol gateways; receiving said first acknowledgment message at said one of said plurality of client devices determining at said one of said plurality of client device that said second message segment was not received by said one of said plurality of protocol gateways; retransmitting from said one of said plurality of client devices to said one of said plurality of protocol gateways said second message segment; and receiving said retransmitted second message segment at said one of said plurality of protocol gateways; and transmitting from said one of said plurality of protocol gateways to said one of said plurality of client devices a second acknowledgment message, which acknowledges receipt of said second message segment by said one of said plurality of protocol gateways.
- 15. The method according to claim 14, further comprising the steps of:
determining at said one of said plurality of protocol gateways that said first message segment and said second message segment comprises a complete message; and upon receipt of said retransmitted second message segment by said one of said plurality of protocol gateways, transmitting a complete message acknowledgment message from said one of said plurality of protocol gateways to said one of said plurality of client devices.
- 16. A method of routing a message in a communications system, comprising:
a server, which is adapted to run a server application; a plurality of message routers, each of which is coupled to said server; a plurality of protocol gateways, each of which is coupled to each one of said plurality of message routers; and a wireless network, which is adapted to couple said server, through one or more of said plurality of message routers and one or more of said plurality of protocol gateways, to a plurality of client devices, each of which is adapted to run a client application; wherein the method comprises the steps of: transmitting the message from said server to one of said plurality of message routers; receiving the message at said one of said plurality of message routers, and routing same to one of said plurality of protocol gateways; within said one of said plurality of protocol gateways:
defining a maximum segment size; determining if the message exceeds said maximum segment size; segmenting the message into one or more message segments, none of which exceeds said maximum segment size; receiving the message at one of said plurality of protocol gateways; transmitting the message from said one of said plurality of protocol gateways to said one of said plurality of client devices; receiving the message at said one of said plurality of client devices; transmitting an acknowledgment message from said one of said plurality of client devices to said one of said plurality of protocol gateways, wherein said acknowledgment message acknowledges receipt of at least one message segment by said one of said plurality of client devices; and determining, at said one of said plurality of client devices, that said at least one message segment constitutes a complete message.
- 17. The method according to claim 16, wherein the message comprises a size that exceeds said maximum segment size, further comprising the steps of:
within said one of said plurality of protocol gateway, segmenting the message into a first message segment and a second message segment, neither of which exceeds said maximum segment size; transmitting from said one of said plurality of protocol gateways to said one of said plurality of client devices said first message segment and said second message segment; receiving said first message segment at said one of said plurality of client devices; transmitting from said one of said plurality of client devices to said one of said protocol gateways, a first acknowledgment message which acknowledges receipt of said first message segment by said one of said plurality of client devices; determining at said one of said plurality of protocol gateways that said second message segment was not received by said one of said plurality of client devices; retransmitting from said one of said plurality of protocol gateways to said one of said plurality of client devices said second message segment; and receiving said retransmitted second message segment at said one of said plurality of client devices; and transmitting from said one of said plurality of client devices to said one of said plurality of protocol gateways a second acknowledgment message, which acknowledges receipt of said second message segment by said one of said plurality of client devices.
- 18. The method according to claim 16, further comprising the steps of:
determining at said one of said plurality of protocol gateways that said first message segment and said second message segment comprises a complete message; and upon receipt of said retransmitted second message segment by said one of said plurality of client devices, transmitting a complete message acknowledgment message from said one of said plurality of protocol gateways to said one of said plurality of client devices.
CROSS-REFERENCE TO RELATED PATENT APPLICATION
[0001] The present invention is a continuation-in-part application of U.S. patent application Ser. No. 09/494,553, entitled “A Messaging Method and Apparatus For Sending and Receiving Messages In A Client Server Environment Over Multiple Wireless Networks,” to Zombek, et al., filed on Jan. 31, 2000, Attorney Docket No. 35825/157461, of common assignee to the present invention, the contents of which are incorporated herein by reference in their entireties.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09494553 |
Jan 2000 |
US |
Child |
09739844 |
Dec 2000 |
US |