Flexible system and method for communicating between a broad range of networks and devices
First Claim
1. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a method of forwarding the originating data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the method comprising the following:
- a step for generating, at one or more of the originating devices, data or a message intended for at least one remote destination device;
a step for communicating the generated data or message through one or more originating networks to a gateway using the one or more of the originating protocols;
a step for identifying at the gateway a device type, a network type, or both, for the at least one remote destination device;
a step for identifying, from a plurality of device modules at the gateway for manipulating data and messages into any of a plurality of formats or protocols for diverse device and network types, a device module associated with the device type, network type, or both, identified for the intended remote destination device; and
a step for using the identified device module to manipulate the data or message so that the data or message is then transmitted from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols.
2 Assignments
0 Petitions
Accused Products
Abstract
A flexible gateway accommodates data transfer from a data origination device over a wide variety of networks to a wide variety of destination devices, even if those networks use different protocols, and even if the devices recognize different data formats. Thus, the gateway can perform work previously requiring numerous gateways. After the gateway receives information from a data source, the gateway identifies the specific device type and the specific network type to which the information is to be routed. The gateway then calls device and network drivers associated with the specific device and network identified with the destination device. These drivers then manipulate the data using the device driver into the format recognized by the destination device, and then provide the manipulated data to the destination device over the identified network using the compatible protocol. Thus, the destination device properly receives and interprets the information provided by the data source. If, in the very next moment, data arrives at the gateway that is to be routed over a different network using a different protocol to a different device recognizing a different device, the gateway will call different device and network drivers to enable the communication.
-
Citations
32 Claims
-
1. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a method of forwarding the originating data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the method comprising the following:
-
a step for generating, at one or more of the originating devices, data or a message intended for at least one remote destination device;
a step for communicating the generated data or message through one or more originating networks to a gateway using the one or more of the originating protocols;
a step for identifying at the gateway a device type, a network type, or both, for the at least one remote destination device;
a step for identifying, from a plurality of device modules at the gateway for manipulating data and messages into any of a plurality of formats or protocols for diverse device and network types, a device module associated with the device type, network type, or both, identified for the intended remote destination device; and
a step for using the identified device module to manipulate the data or message so that the data or message is then transmitted from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols. - View Dependent Claims (2, 3, 4, 5)
an act of communicating the generated data or message through one or more originating networks to the gateway using Hypertext Transfer Protocol (HTTP).
-
-
3. The method of claim 1, further comprising the following:
a step for transmitting the data or message over the one or more remote networks to the intended remote destination device using the protocol and the format recognized by the intended remote destination device.
-
4. The method of claim 3, wherein the step for transmitting comprises the following:
an act of transmitting the data or message over a wireless network to the intended remote destination device.
-
5. The method of claim 3, wherein the step for transmitting comprises the following:
an act of transmitting the data or message over a remote network that is at least partially wireless.
-
6. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some or which are different from the originating protocols, a computer program product for implementing a method of forwarding the originated data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the difference used in the originating and receiving protocols, the computer program product comprising:
-
a computer readable medium for providing computer program code means utilized to implement said method; and
wherein said computer program code means is comprised of executable code for implementing the following;
a step for generating, at one or more of the originating devices, data or a message intended for at least one remote destination device;
a step for communicating the generated data or message through one or more originating networks to a gateway using one or more originating protocols;
a step for identifying at the gateway a device type, a network type, or both, for the at least one remote destination device;
a step for identifying, from a plurality of device modules at the gateway for manipulating data and messages into any of a plurality of formats or protocols for diverse device and network types, a device module associated with the device type, network type, or both, identified for the intended remote destination device; and
a step for using the identified device module to manipulate the data or message so that the data or message is then transmitted from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols. - View Dependent Claims (7, 8, 9, 10)
an act of communicating the generated data or message through one or more originating networks to the gateway using HyperText Transfer Protocol (HTTP).
-
-
8. The computer program product of claim 6, further comprising executable code for implementing the following:
a step for transmitting the data or message over the one or more remote networks to the intended remote destination device using the protocol and the format recognized by the intended remote destination device.
-
9. The computer program product of claim 8, wherein the executable code for implementing the step for transmitting comprises executable code for implementing the following:
an act of transmitting the data or message over a wireless network to the intended remote destination device.
-
10. The computer program product of claim 9, wherein the executable code for implementing the step for transmitting comprises executable code for implementing the following:
an act of transmitting the data or message over a remote network that is at least partially wireless.
-
11. A networked computer system for permitting data or messages that are originated using one or more originating protocols to be communicated across one or more networks to a remote destination that uses a receiving protocol different from the originating protocols, comprising:
-
one or more originating devices for originating data or messages using one or more originating protocols;
one or more originating networks logically connected to the one or more originating devices and which communicate therewith using the one or more originating protocols;
gateway means logically connected to the one or more originating devices through the one or more originating networks, for receiving the originated data or messages using the one or more originating protocols, said gateway means comprising;
means for determining a specific address for each received data or message so that a destination device or network type may be identified for the received data or message;
means for identifying from a plurality of device modules at the gateway for manipulating received data and messages into any of a plurality of formats or protocols for diverse device and network types, a device module associated with each received data or message'"'"'s destination device type, network type, or both; and
means for manipulating each received data or message so that each received data or message is then transmitted from the gateway through one or more remote networks to an intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols;
one or more remote networks logically connected to the gateway; and
at least one or more remote destination devices logically connected through the one or more remote networks. - View Dependent Claims (12, 13, 14)
-
-
15. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a computer program product for implementing on the gateway a method of forwarding the originating data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the computer program product comprising:
-
a computer readable medium for providing computer program code means utilized by said gateway to implement said method; and
wherein said computer program code means is comprised of executable code for implementing the following;
a step for receiving at the gateway data or a message generated at one or more of the originating devices, the received data or a message intended for at least one remote destination device;
a step for identifying at the gateway a device module associated with the intended remote destination device, comprising;
an act of reading an address of the intended remote destination device from the data or message;
an act of looking up the address in a locator table associating the address with a specific device type, the specific device type corresponding to the device module associated with the destination device; and
an act of reading the specific device type from the locator table; and
a step for using the identified device module to manipulate the received data or message so that the data or message is then transmitted from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols. - View Dependent Claims (16, 17, 18, 19, 20)
an act of calling the device module from a library of device modules; and
an act of interfacing with the device module through an interface.
-
-
17. The computer program product of claim 15, wherein the executable instructions for performing the step for using the identified device module to manipulate the received data or message comprises executable instructions for performing the following:
-
an act of calling a component object model compliant (COM) device module corresponding to the specific device type from a library of COM device modules; and
an act of interfacing with the COM device module through a COM interface.
-
-
18. The computer program product of claim 15, wherein the executable instructions for performing the step for receiving at the gateway data or a message generated at one or more of the originating devices comprises executable instructions for performing the following:
an act of receiving the data or message at a sending queue associated with the gateway.
-
19. The computer program product of claim 18, wherein tho executable instructions for performing the step for receiving at the gateway data or a message generated at one or more of the originating devices comprises executable instructions for performing the following:
an act of the gateway dequeueing the data or message from the sending queue.
-
20. The computer program product of claim 19, wherein the executable instructions for performing the act of receiving the data or message at a sending queue further comprising executable instructions for performing the following:
an act of the sending queue delivering data or messages to a plurality of gateways including the gateway.
-
21. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a computer program product for implementing on the gateway a method of forwarding the originating data or messages form the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the computer program product comprising:
-
a computer readable medium for providing computer program code means utilized by said gateway to implement said method; and
wherein said computer program code means is comprised of executable code for implementing the following;
a step for receiving at the gateway data or a message generated at one or more of the originating devices, the received data or a message intended for at least one remote destination device;
a step for identifying at the gateway a device module associated with the intended remote destination device, comprising;
an act of reading an address of the intended remote destination device from the data or message;
an act of looking up the address in a locator table associating the address with a specific network type, the specific network type corresponding to the network driver module associated with the remote network; and
an act of reading the specific network type from the locator table, and wherein the executable instruction for performing the step for identifying a device module associated with the intended remote destination device comprise executable instruction for performing the following;
an act of looking up the address in the locator table, the locating table also associating the address with a specific device type, the specific device type corresponding to the device module associated with the intended remote destination device; and
an act of reading the specific device type from the locator table;
a step for using the identified device module to manipulate the received data or message so that the data or message is then transmitted from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols; and
a step for transmitting the data or message to the intended remote destination device, comprising;
a step for transmitting the message to the intended remote destination device over a remote network on which the destination device resides, comprising;
a step for identifying a network driver module associated with the remote network; and
a step for providing the message to the remote network using a protocol compatible with the remote network. - View Dependent Claims (22, 23)
an act of transmitting the message to a message queue.
-
-
24. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a computer program product for implementing on the gateway a method of forwarding the originating data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the computer program product comprising:
-
a computer readable medium for providing computer program code means utilized by said gateway to implement said method; and
wherein said computer program code means is comprised of executable code for implementing the following;
an act of the gateway receiving data or a message generated at one or more of the originating devices, the received data or a message intended for at least one remote destination device;
an act of the gateway reading, from the data or message, an address that either directly or indirectly identifies a location of the intended remote destination device;
an act of the gateway determining a device type, a network type, or both, associated with the address of the intended remote destination device;
an act of the gateway identifying a device module that corresponds to the device type, network type, or both associated with the address of the intended remote destination device;
an act of the gateway using the identified device module to manipulate the received data or message; and
an act of the gateway transmitting the data or message from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols. - View Dependent Claims (25, 26, 27)
an act of the gateway transmitting the data or message over the one or more remote networks to the intended remote destination device using the protocol and the format recognized by the intended remote destination device.
-
-
26. The computer program product of claim 25, wherein the executable code for implementing the act of the gateway transmitting comprises executable code for implementing the following:
an act of the gateway transmitting the data or message over a wireless network to the intended remote destination device.
-
27. The computer program product of claim 26, wherein the executable code for implementing the step for transmitting comprises executable code for implementing the following:
an act of the gateway transmitting the data or message over a remote network that is at least partially wireless.
-
28. In a networked computer system that includes one or more originating devices for originating data or messages, and wherein the originating devices are logically connected to and communicate using one or more originating protocols with one or more originating networks logically connected to a gateway, the gateway in turn being logically connected to one or more remote networks that are logically connected to and that communicate to one or more remote destination devices using one or more receiving protocols, at least some of which are different from the originating protocols, a method of forwarding the originating data or messages from the one or more originating devices through the gateway to the one or more remote destination devices notwithstanding the differences used in the originating and receiving protocols, the method comprising the following:
-
an act of the gateway receiving data or a message generated at one or more of the originating devices, the received data or a message intended for at least one remote destination device;
an act of the gateway reading, from the data or message, an address that either directly or indirectly identifies a location of the intended remote destination device;
an act of the gateway determining a device type, a network type, or both, associated with the address of the intended remote destination device;
an act of the gateway identifying a device module that corresponds to the device type, network type, or both associated with the address of the intended remote destination device;
an act of the gateway using the identified device module to manipulate the received data or message; and
an act of the gateway transmitting the data or message from the gateway through the one or more remote networks to the intended remote destination device using a protocol and a format recognized by the intended remote destination device, irrespective of differences in the originating and receiving protocols. - View Dependent Claims (29, 30, 31, 32)
an act of calling a COM device module corresponding to the intended remote destination device from a library of COM device modules; and
an act of interfacing with the device module through a COM device driver interface.
-
-
30. The method of claim 28, further comprising the following:
-
a specific act of the gateway identifying other modules associated with the intended remote destination device; and
a specific act of the gateway using the other modules to manipulate the received data or message.
-
-
31. The method of claim 30, wherein the other modules include an encryption module.
-
32. The method of claim 30, wherein the other modules include a compression module.
Specification