Method and apparatus for routing between network gateways and service centers
First Claim
1. A method for routing messages to one of a plurality of addressable processes within a gateway that couples to a network, said method comprising the acts of:
- (a) receiving, at the gateway, a message from a mobile device, the message including a header portion and a data portion, the header portion including a destination port identifier and a source port identifier, the source port identifier identifies a port within the mobile device, and the destination port identifier identifies a port within the gateway;
(b) obtaining the destination port identifier from the message; and
(c) routing the message to a particular one of the addressable processes within the gateway that is associated with the port identified by the destination port number.
6 Assignments
0 Petitions
Accused Products
Abstract
Techniques for routing messages to addressable portions (e.g., processes) within an apparatus are disclosed. The techniques can be performed by a variety of apparatus including, for example, a gateway, a proxy server or a mobile device. After receiving the messages routed thereto, the addressable portions are able to process the messages and perhaps return a reply message. Often, the apparatus is a gateway or proxy server coupled between a network containing remote computers storing information and a wireless communication system including a plurality of mobile devices. The processing of the message will typically act to produce a message that forwards certain of the information from one or more of the remote computers on the network to a mobile device coupled to the wireless communication system.
-
Citations
45 Claims
-
1. A method for routing messages to one of a plurality of addressable processes within a gateway that couples to a network, said method comprising the acts of:
-
(a) receiving, at the gateway, a message from a mobile device, the message including a header portion and a data portion, the header portion including a destination port identifier and a source port identifier, the source port identifier identifies a port within the mobile device, and the destination port identifier identifies a port within the gateway;
(b) obtaining the destination port identifier from the message; and
(c) routing the message to a particular one of the addressable processes within the gateway that is associated with the port identified by the destination port number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 39, 40, 41)
(c1) identifying a communication channel used within the gateway that corresponds to the destination port number; and
(c2) thereafter routing the message to the particular one of the addressable processes within the gateway via the communication channel.
-
-
6. A method as recited in claim 5,
wherein the gateway links a plurality of mobile devices to the network, and wherein the message from the mobile device is transmitted from the mobile device to a message service center in a wireless manner, the message service center forwards the message to the gateway. -
7. A method as recited in claim 6, wherein the message service center is a small message service center.
-
8. A method as recited in claim 1, wherein said routing (c) comprises:
-
(c1) looking up a communication channel in a route table that corresponds to the destination port number; and
(c2) thereafter routing the message to the particular one of the addressable processes within the gateway via the communication channel.
-
-
9. A method as recited in claim 1, wherein mobile devices are able to communicate with the gateway through a plurality of different networks that use different protocols, and
wherein said receiving (a) of the message at the gateway comprises: - providing a plurality of protocol adapters at a central location within the gateway for receiving and transmitting messages over the plurality of different networks.
-
39. A method as recited in claim 1, wherein the message is thereby routed to one of the processes within the gateway through use of the destination port number.
-
40. A method as recited in claim 1, wherein the ports within the gateway are logical ports.
-
41. A method as recited in claim 5, wherein the communication channel is a narrowband channel of a narrowband wireless network.
-
10. An apparatus that provides mobile devices with access to a network, said apparatus comprising:
-
a plurality of addressable processes that process messages directed to the network, each of the messages including a destination port identifier, a source port identifier and a data portion, and for a particular message, the source port identifier identifies a port within a mobile device that sent the particular message to said apparatus and the destination port identifier identifies a port within said apparatus where the particular message is to be processed; and
an internal message router for receiving incoming messages and routing the messages to said processes that are to process the messages, the routing being based on the destination port identifiers within the messages that identify the ports associated with said processes. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
a route table that associates communication channels with the ports within said apparatus, and wherein said internal message router operates to route each of the messages to the port associated with said process that is to process the incoming message by identifying a particular communication channel for the port indicated by the destination port identifier within the message, and then directing the message to said process associated with the port indicated by the destination port identifier via the particular communication channel.
-
-
12. An apparatus as recited in claim 10, wherein said apparatus is a proxy server.
-
13. An apparatus as recited in claim 10, wherein the network is the Internet.
-
14. An apparatus as recited in claim 10, wherein said processes interact with the network to obtain information requested from the network.
-
15. An apparatus as recited in claim 10, wherein said processes interact with the network to provide information from the network to the mobile devices.
-
16. An apparatus as recited in claim 10, wherein the mobile devices are selected from the group consisting of a mobile phone, a Personal Digital Assistant (PDA), and a portable computing device.
-
17. An apparatus as recited in claim 10,
wherein said apparatus links a plurality of mobile devices to the network, and wherein the messages from the mobile devices are transmitted from the mobile devices to a plurality of message service centers in a wireless manner, the message service centers forward the messages to said internal message router of said apparatus. -
18. An apparatus as recited in claim 17, wherein said internal message router comprises a plurality of protocol adapters that serve to adapt the messages for particular protocols with which the messages are to be sent to or received from the mobile devices via the message service centers.
-
19. An apparatus as recited in claim 18,
wherein said apparatus is a gateway between the network and a wireless communication system including the mobile devices, the wireless communication system utilizing a plurality of wireless network carriers, and wherein said apparatus further comprises: -
a HTTP interface module coupled to the network, said HTTP interface module interconnects said gateway with the network;
a push agent coupled to said HTTP interface module and including a network driver for each of the wireless network carriers, said push agent operates to receive notification messages for particular ones of the mobile devices, and to forwarded the notification messages to the particular ones of the mobile devices by the network driver associated with the wireless network carrier respectively used by the particular ones of the mobile devices; and
a pull agent coupled to said HTTP interface module and including a network driver for each of the wireless network carriers, said pull agent operates to receive information requests for information from the network from particular ones of the mobile devices, to form HTTP requests to request the information from the network via said HTTP interface module, to thereafter receive HTTP responses from the network containing the information requested, to form information replies for the particular ones of the mobile devices based on the HTTP responses, and then to send the information replies to the particular ones of the mobile devices as per the information requests using the network driver associated with the wireless network carrier respectively used by the particular ones of the mobile devices.
-
-
20. An apparatus as recited in claim 19, wherein said apparatus further comprises:
a configuration table, said configuration table containing information associating the mobile devices to the network drivers in said push agent and said pull agent.
-
21. A computer readable medium containing computer program code for routing messages to one of a plurality of addressable processes within an apparatus that couples to a network, said computer readable medium comprising:
-
computer program code for receiving at the apparatus a message from a mobile device, the message including a header portion and a data portion, the header portion including a destination port identifier and a source port identifier, the source port identifier identifies a port within the mobile device, and the destination port identifier identifies a port within the apparatus;
computer program code for obtaining the destination port identifier from the message; and
computer program code for routing the message to a particular one of the addressable processes within the apparatus that is associated with the port identified by the destination port number. - View Dependent Claims (22, 23, 24, 25, 42, 43, 44, 45)
computer program code for identifying a communication channel used within the apparatus that corresponds to the destination port number; and
computer program code for thereafter routing the message to the particular one of the addressable processes within the apparatus via the communication channel.
-
-
23. A computer readable medium as recited in claim 21,
wherein the apparatus is a gateway, wherein the gateway links a plurality of mobile devices to the network, and wherein the message from the mobile device is transmitted from the mobile device to a message service center in a wireless manner, the message service center forwards the message to the gateway. -
24. A computer readable medium as recited in claim 23, wherein the message service center is a small message service center.
-
25. A computer readable medium as recited in claim 23, wherein said computer program code for routing comprises:
-
computer program code for looking up a communication channel in a route table that corresponds to the destination port number; and
computer program code for thereafter routing the message to the particular one of the addressable processes within the gateway via the communication channel.
-
-
42. A computer readable medium as recited in claim 21, wherein the message is thereby routed to one of the addressable processes within the apparatus through use of the destination port number.
-
43. A computer readable medium as recited in claim 21, wherein the ports within the apparatus are logical ports.
-
44. A computer readable medium as recited in claim 22, wherein the communication channel is a narrowband channel of a narrowband wireless network.
-
45. A computer readable medium as recited in claim 44, wherein the apparatus is a gateway.
-
26. A system for delivery of information from a network of computers to wireless communication devices, said system comprising:
-
a plurality of wireless communication devices, said wireless communications devices including a processing unit and a display screen;
a plurality of wireless network carriers, each of said wireless network carriers providing wireless communication services to said plurality of wireless communication devices, and a plurality of said wireless network carriers using a different combination of network type and transport protocol;
a network of computers, one or more of the computers of said network of computers contains information; and
a multi-network gateway, said multi-network gateway couples said wireless network carriers to said network of computers to facilitate data transfer therebetween, each of the plurality of said wireless network carriers using the different combination of network type and protocol are coupled to said network of computers by an airlink configured for the particular combination of network type and protocol, and each of the airlinks operate to exchange data with certain of said wireless communication devices via said wireless network carriers associated therewith, said multi-network gateway includes at least a plurality of addressable processes that process messages directed to the network, each of the messages including a destination port identifier, a source port identifier and a data portion, and for a particular message, the source port identifier identifies a port within a wireless communication device that sent the particular message to said multi-network gateway and the destination port identifier identifies a particular one of said addressable processes within said multi-network gateway where the particular message is to be processed; and
an internal message router for receiving incoming messages and routing the messages to said addressable processes that are to process the messages, the routing being based on the destination port identifiers within the messages that identify the ports associated with said processes. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
a pull agent, said pull agent operates to receive a request from a particular one of said wireless communication devices via a particular one of said plurality of wireless network carriers for information residing on said network of computers, then operates to formulate a network request for the information using a protocol associated with said network of computers and then sends the network request to said network of computers and awaits a network reply, and once the network reply is received, the network reply is converted to a device reply and then sends the device reply to the particular one of said wireless communication devices via the particular one of said plurality of wireless network carriers in accordance with a protocol associated with the particular one of said plurality of wireless network carriers.
-
-
29. A system as recited in claim 28, wherein said pull agent comprises at least one airlink for receiving the request from the particular one of said wireless communication devices and for sending the device reply to the particular one of said wireless communication devices via the particular one of said plurality of wireless network carriers in accordance with the protocol associated with the particular one of said plurality of wireless network carriers.
-
30. A system as recited in claim 29, wherein said pull agent comprises a plurality of airlinks, each of the airlinks being used for one of said plurality of wireless network carriers using the different combination of network type and protocol, and each of said airlinks operate to receive the request from the particular one of said wireless communication devices associated therewith and to send the device reply to the particular one of said wireless communication devices via the particular one of said plurality of wireless network carriers associated therewith in accordance with the protocol associated with the particular one of said plurality of wireless network carriers.
-
31. A system as recited in claim 30, wherein said multi-network gateway further comprises:
a configuration table that stores information associating each of the plurality of said wireless network carriers with one of said airlinks.
-
32. A system as recited in claim 30, wherein said multi-network gateway further comprises:
a push agent, said push agent operates to receive a notification request from said network of computers to be forwarded to a particular one of said plurality of wireless communication devices via a particular one of said wireless network carriers, then operates to formulate a device notification message, and then sends the device notification message to the particular one of said wireless communication devices via the particular one of said plurality of wireless network carriers in accordance with a protocol associated with the particular one of said plurality of wireless network carriers.
-
33. A system as recited in claim 32, wherein said push agent comprises a plurality of airlinks, each of the airlinks being used for one of said plurality of wireless network carriers using the different combination of network type and protocol, and each of said airlinks operate to send the device notification message to the particular one of said wireless communication devices via the particular one of said plurality of wireless network carriers associated therewith in accordance with the protocol associated with the particular one of said plurality of wireless network carriers.
-
34. A system as recited in claim 33, wherein said multi-network gateway further comprises:
a configuration table that stores information associating each of the plurality of said wireless network carriers with one of said airlinks.
-
35. A system as recited in claim 33, wherein said push agent provides at least one narrowband communication channel between said network of computers and said wireless network carriers, and
wherein said pull agent provides at least one wideband communication channel between said network of computers and said wireless network carriers. -
36. A system as recited in claim 27, wherein one of said wireless network carriers is a CDPD type network, and another one of said wireless network carriers is a SMS type network.
-
37. A method for registering an addressable process with an internal message router of a network gateway within a communication system, the network gateway providing wireless communication devices with access to a network, said method comprising the acts of:
-
(a) sending a registration request to the internal message router when an addressable process within the network gateway capable of being routed to by the internal message router is activated;
(b) processing the registration request at the internal message router to assign a port number for the process; and
(c) returning the assigned port number to the process. - View Dependent Claims (38)
wherein said method further comprises: - (d) adding an entry to the route table to associate the assigned port number to a communication channel used to communicated with the process.
-
Specification