Establishing a virtual tunnel between two computer programs
First Claim
1. A method, performed by at least one device, for transferring data via a communication session between a client application and a server application, the method comprising:
- assigning an identifier to the communication session;
creating at least one queue associated with the communication session;
storing data passed between the client application and the server application in the at least one queue, the data being stored using the identifier; and
receiving, from the client application, a command to obtain data in the at least one queue that is destined for the client application and that is present at a time the command from the client application is received, and receiving, from the server application, a command to obtain data in the at least one queue that is destined for the server application and that is present at a time the command from the server application is received, the command received from the client application being a hypertext transfer protocol (HTTP) command to retrieve data from the at least one device, and the command received from the server application being an HTTP command to retrieve data from the at least one device;
wherein the client application and the server application run local protocols, and the data is passed between the client application and the server application via an intermediary protocol; and
wherein the client application is behind a first firewall, the server application is behind a second firewall, and the at least one device is not behind either the first firewall or the second firewall.
15 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.
802 Citations
23 Claims
-
1. A method, performed by at least one device, for transferring data via a communication session between a client application and a server application, the method comprising:
-
assigning an identifier to the communication session; creating at least one queue associated with the communication session; storing data passed between the client application and the server application in the at least one queue, the data being stored using the identifier; and receiving, from the client application, a command to obtain data in the at least one queue that is destined for the client application and that is present at a time the command from the client application is received, and receiving, from the server application, a command to obtain data in the at least one queue that is destined for the server application and that is present at a time the command from the server application is received, the command received from the client application being a hypertext transfer protocol (HTTP) command to retrieve data from the at least one device, and the command received from the server application being an HTTP command to retrieve data from the at least one device; wherein the client application and the server application run local protocols, and the data is passed between the client application and the server application via an intermediary protocol; and wherein the client application is behind a first firewall, the server application is behind a second firewall, and the at least one device is not behind either the first firewall or the second firewall. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A machine-readable medium stores instructions for use in transferring data via a communication session between a client application and a server application the instructions being executable by at least one machine, the instructions for causing the at least one machine to:
-
assign an identifier to the communication session; create at least one queue associated with the communication session; store data passed between the client application and the server application in the at least one queue, the data being stored using the identifier; and receive, from the client application, a command to obtain data in the at least one queue that is destined for the client application and that is present at a time the command from the server application is received, and receive, from the server application, a command to obtain data in the at least one queue that is destined for the server application and that is present at a time the command from the server application is received, the command received from the client application being a hypertext transfer protocol (HTTP) command to retrieve data from the at least one machine, and the command received from the server application being an HTTP command to retrieve data from the at least one machine; wherein the client application and the server application run local protocols, and the data is passed between the client application and the server application via an intermediary protocol; and wherein the client application is behind a first firewall, the server application is behind a second firewall, and the at least one machine is not behind either the first firewall or the second firewall. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for transferring data via a communication session between a client application and a server application, the client application running on a first network and the server application running on a second network, the system comprising:
-
a proxy having a socket to the client application, the proxy to convert data between a local protocol run on the first network to a non-local protocol; an agent having a socket to the server application, the agent to convert data between a local protocol run on the second network and the non-local protocol; and a server to enable communication between the proxy and the agent, the server containing a message queue dedicated to the communication session, the message queue for storing data transmitted during the communication session, wherein the server is configured to receive, from the client application, data in the message queue destined for the server application, and to receive, from the server application, data in the message queue destined for the client application; wherein the server is configured to receive, from the client application, a command to obtain data in the message queue that is destined for the client application and that is present at a time the command from the client application is received, and to receive, from the server application, a command to obtain data in the message queue that is destined for the server application and that is present at a time the command from the server application is received, the command received from the client application being a hypertext transfer protocol (HTTP) command to retrieve data from the server, and the command received from the server application being an HTTP command to retrieve data from the server; and wherein the client application and the first network are behind a first firewall, the server application and the second network are behind a second firewall, and the server is not behind either the first firewall or the second firewall. - View Dependent Claims (22, 23)
-
Specification