Establishing a virtual tunnel between two computers
First Claim
1. A method performed by at least one computing device for transferring data in a communication session between a first application on a first network and a second application on a second network, the method comprising:
- providing a computer program to the first network, the computer program for translating between a protocol associated with the first application and an intermediary protocol, the computer program for servicing multiple devices on the first network, the multiple devices including a first device running the first application;
determining that the first device and a second device running the second application are to participate in the communication session, the second device being on the second network;
assigning an identifier to the communication session;
creating, in computer memory, at least one queue associated with the communication session;
storing data passed between the first application and the second application in the at least one queue, the data being stored in association with the identifier;
receiving a command from the computer program, the command including the identifier; and
outputting the data from the at least one queue, to the computer program, in response to the command;
wherein the first network and the second network are each behind firewalls, and the data is passed between the first network and the second network over an intermediary network that contains the at least one queue, that is not behind the firewalls, and that supports the intermediary protocol for communication.
5 Assignments
0 Petitions
Accused Products
Abstract
A system transfers data via a communication session between a client application and a server application, where the client application runs on a first network and the server application runs on a second network. The system includes a proxy having a socket to the client application. The proxy converts data between a local protocol run on the first network to a non-local protocol. An agent creates a socket to the server application. The agent converts data between a local protocol run on the second network and the non-local protocol. A server is in communication with the proxy and the agent. The server contains a message queue dedicated to the communication session. The message queue stores data transmitted during the communication session.
784 Citations
26 Claims
-
1. A method performed by at least one computing device for transferring data in a communication session between a first application on a first network and a second application on a second network, the method comprising:
-
providing a computer program to the first network, the computer program for translating between a protocol associated with the first application and an intermediary protocol, the computer program for servicing multiple devices on the first network, the multiple devices including a first device running the first application; determining that the first device and a second device running the second application are to participate in the communication session, the second device being on the second network; assigning an identifier to the communication session; creating, in computer memory, at least one queue associated with the communication session; storing data passed between the first application and the second application in the at least one queue, the data being stored in association with the identifier; receiving a command from the computer program, the command including the identifier; and outputting the data from the at least one queue, to the computer program, in response to the command; wherein the first network and the second network are each behind firewalls, and the data is passed between the first network and the second network over an intermediary network that contains the at least one queue, that is not behind the firewalls, and that supports the intermediary protocol for communication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a first computing system that runs a first application and a first computer program, the first computer program to enable communication between the first application and one or more computing devices by performing operations that comprise translating between a protocol associated with the first application and an intermediary protocol, the first computing system being on a first network and being behind a first firewall; a second computing system that runs a second application and a second computer program, the second computer program to enable communication between the second application and the one or more computing devices by performing operations that comprise translating between a protocol associated with the second application and the intermediary protocol, the second computing system being on a second network and being behind a second firewall; and the one or more computing devices on an intermediary network between the first firewall and the second firewall, the intermediary network supporting the intermediary protocol for communication, the one or more computing devices perform operations comprising; providing the first computer program to the first computing system or the second computer program to the second computing system, at least one of the first computing system or the second computing system comprising multiple devices that are served, respectively, by the first computer program or the second computer program; determining that the first application and the second application are to participate in the communication session; assigning an identifier to the communication session;
creating, in computer memory, at least one queue associated with the communication session;storing data passed between the first application and the second application in the at least one queue, the data being stored in association with the identifier; receiving a command from the first computer program or the second computer program, the command including the identifier; and outputting the data from the at least one queue, to the first computer program or the second computer program, in response to the command. - View Dependent Claims (14)
-
-
15. One or more non-transitory machine-readable storage devices storing instructions that are executable by at least one computing device for transferring data in a communication session between a first application on a first network and a second application on a second network, the instructions being executable to perform operations comprising:
-
providing a computer program to the first network, the computer program for translating between a protocol associated with the first application and an intermediary protocol, the computer program for servicing multiple devices on the first network, the multiple devices including a first device running the first application; determining that the first device and a second device running the second application are to participate in the communication session, the second device being on the second network; assigning an identifier to the communication session; creating, in computer memory, at least one queue associated with the communication session; storing data passed between the first application and the second application in the at least one queue, the data being stored in association with the identifier; receiving a command from the computer program, the command including the identifier; and outputting the data from the at least one queue, to the computer program, in response to the command; wherein the first network and the second network are each behind firewalls, and the data is passed between the first network and the second network over an intermediary network that contains the at least one queue, that is not behind the firewalls, and that supports the intermediary protocol for communication. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification