Bi-directional process-to-process byte stream protocol
First Claim
1. A computer-implemented method of maintaining bi-directional communication between a client system and a server system, comprising:
- transmitting at least two requests across a firewall from a client to a server, said requests each;
including an indication of messages previously received from the server system; and
requiring a response;
wherein the server system is adapted to maintain an open communication link with the client system by keeping at least one response outstanding, said firewall adapted to prevent data traffic initiated by the server system from accessing the client system.
4 Assignments
0 Petitions
Accused Products
Abstract
A client system stores messages and sends the messages to a server system. The messages are included in a request formatted according to a protocol that can traverse a firewall. Then the client system waits for a response from the server system. The response will also be formatted according to the protocol that can traverse the firewall. The response will include an indication of which messages the server system received from the client system in the last request. If a certain number of messages accumulate at the client system, or a certain amount of time passes before the response is received, the client system will send a second request. The server system also stores messages and sends the messages to the client system. The server system waits for a first request and a second request from the client system. If the first request has been received and a particular number of messages have accumulated at the server system, then the server system will send a response corresponding to the first request. If the second request is received, the server system will send the response corresponding to the first request even if no messages have accumulated. The response will include any accumulated messages. The next time the client system sends a request, the request will include an indication of which messages the client system received from the server system in the last response.
152 Citations
11 Claims
-
1. A computer-implemented method of maintaining bi-directional communication between a client system and a server system, comprising:
-
transmitting at least two requests across a firewall from a client to a server, said requests each;
including an indication of messages previously received from the server system; and
requiring a response;
wherein the server system is adapted to maintain an open communication link with the client system by keeping at least one response outstanding, said firewall adapted to prevent data traffic initiated by the server system from accessing the client system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
storing a set of messages at the client system;
sending a first request from the client system to the server system through the firewall, said first request to include a copy of the set of messages; and
waiting to receive a first response at the client system from the server system through the firewall.
-
-
3. The method of claim 2 wherein the transmitting step further comprises:
-
storing additional messages at the client system; and
sending a second request from the client system to the server system through the firewall if a particular number of messages accumulate at the client system, said second request to include a copy of the additional messages.
-
-
4. The method of claim 2 wherein the transmitting step further comprises:
-
storing additional messages at the client system; and
sending a second request from the client system to the server system through the firewall if a particular period of time passes before receiving the first response, said second request including a copy of the first set of messages and a copy of the additional messages.
-
-
5. The method of claim 2 wherein the transmitting step further comprises:
-
storing additional messages at the client system;
receiving the first response from the server system at the client system, said first response including an indication of messages received at the server system in the first request;
removing the indicated messages from the client system; and
sending a second request from the client system to the server system through the firewall based on receiving the first response, said second request including a copy of any messages stored at the client system.
-
-
6. The method of claim 2 wherein the first request includes an indication of messages received at the client system from the server system in a previous response.
-
7. The method of claim 1 wherein the transmitting step further comprises:
-
storing a set of messages at the server system;
waiting to receive a request from the client system at the server system through the firewall; and
sending a response from the server system to the client system through the firewall if the request is received and if either a particular number of messages accumulate at the server system or a particular period of time passes since receiving the request, said response including a copy of the set of messages and an indication of any messages received from the client system in the request.
-
-
8. The method of claim 1 wherein the transmitting step further comprises:
-
storing a set of messages at the server system;
waiting to receive a first request and a second request from the client system at the server system through the firewall; and
sending a response from the server system to the client system through the firewall if the first and second requests are received, said response including a copy of the set of messages and an indication of any messages received from the client system in at least the first request.
-
-
9. The method of claim 1 wherein the transmitting step further comprises:
-
storing messages at the server system;
receiving a request from the client system at the server system, said request including an indication of messages received by the client system in a previous response;
removing indicated messages from the server system; and
sending a response from the server system to the client system through the firewall, said response including a copy of any messages stored at the server system.
-
-
10. An apparatus for maintaining bi-directional communication between a client system and a server system, comprising:
-
a first network device having a memory containing a program that transmits at least two requests across a firewall to a second network device;
said requests each;
including an indication of messages previously received from the server system; and
requiring a response; and
a second network device, coupled to said first network device, wherein said second network device is adapted to maintain data traffic between said first network device by keeping at least one response outstanding, said firewall adapted to prevent data traffic initiated on a server side of the firewall from accessing network devices on a client side of the firewall.
-
-
11. A machine-readable storage medium having stored thereon machine executable instructions, the execution of said instructions to implement a method for maintaining bi-directional communication between a client system and a server system, said method comprising:
-
transmitting at least two requests across a firewall from a client to a server said requests each;
including an indication of messages previously received from the server system; and
requiring a response;
wherein the server system is adapted to maintain an open communication link with the client system by keeping at least one response outstanding, said firewall adapted to prevent data traffic initiated by the server system from accessing the client system.
-
Specification