Bidirectional communication system and method
First Claim
1. A bidirectional communication method between a server and each of a plurality of clients through an HTTP (Hyper Text Transfer Protocol) communication gate allowing only HTTP traffic to pass through, the method comprising the steps of:
- a) establishing two connections between the server and the client;
b) setting one of the two connections to an upstream connection using POST method of HTTP to allow real-time data transfer from the client to the server, c) setting the other of the two connections to a downstream connection using GET method of HTTP lo allow real-time data transfer from the server to the client; and
d) transferring data between the server and the client through the upstream connection and the downstream connection, wherein the real-time data transfer is inhibited between the client and the server until the two connections have been completely set up;
wherein the HTTP communication gate is an HTTP proxy having a caching function;
at the client, e) adding a temporary unique character string, which is different from previous temporary unique character strings used by the client and by other clients, to content location information of each of a POST-method HTTP header and a header of a data cell so as to avoid the caching function of the HTTP proxy; and
at the server, f) ignoring the temporary unique character string added in the content location information received from the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A bidirectional communication method allowing real-time information sharing among clients on an Intranet through a server on the Internet in disclosed. After establishing two connections between the server and the client through an HTTP proxy, one of the two connections is set to a downstream connection using GET method of HTTP to allow real-time data transfer from the server to the client. Thereafter, the other of the two connections is set to an upstream connection using POST method of HTTP to allow real-time data transfer from the client to the server. After having set the upstream connection and the downstream connection, data cells are transferred between the server and the client through the upstream connection and the downstream connection.
64 Citations
14 Claims
-
1. A bidirectional communication method between a server and each of a plurality of clients through an HTTP (Hyper Text Transfer Protocol) communication gate allowing only HTTP traffic to pass through, the method comprising the steps of:
-
a) establishing two connections between the server and the client;
b) setting one of the two connections to an upstream connection using POST method of HTTP to allow real-time data transfer from the client to the server, c) setting the other of the two connections to a downstream connection using GET method of HTTP lo allow real-time data transfer from the server to the client; and
d) transferring data between the server and the client through the upstream connection and the downstream connection, wherein the real-time data transfer is inhibited between the client and the server until the two connections have been completely set up;
wherein the HTTP communication gate is an HTTP proxy having a caching function;
at the client, e) adding a temporary unique character string, which is different from previous temporary unique character strings used by the client and by other clients, to content location information of each of a POST-method HTTP header and a header of a data cell so as to avoid the caching function of the HTTP proxy; and
at the server, f) ignoring the temporary unique character string added in the content location information received from the client. - View Dependent Claims (2, 3, 4, 6, 7, 12, 13)
-
-
5. A bidirectional communication method between a server on the Internet and each of a plurality of clients on an Intranet through an HTTP (Hyper Text Transfer Protocol) communication gate allowing only HTTP traffic to pass through, the method comprising the steps of:
-
a) establishing two connections between the server and the client;
b) setting one of the two connections to a downstream connection using GET method of HTTP to allow real-time data transfer from the server to the client;
c) after having set connection, setting the other of the two connections to an upstream connection the one of the two connections to the downstream using POST method of HTTP to allow real-time data transfer from the client to the server;
d) after having set the upstream and downstream connections, transferring data between the server and the client through the upstream connection and the downstream connection;
at the client, e) sending a tunneling GET header to the server through the one of the two connections, the tunneling GET header being included in a particular cell and being distinguished from other data cells by having a particular field of a header portion of the particular cell set lo a predetermined value that is not included in the other data sells; and
f) sending a tunneling POST header to the server through the other of the two connections independently of sending the tunneling GET header;
at the server, g) when receiving the tunneling POST header before the tunneling GET header, stopping data reception from the client until the downstream connection has been set;
wherein the HTTP communication gate is an HTTP proxy having a caching function;
at the client, h) adding a temporary unique character string, which is different from previous temporary unique character strings used by the client and by other clients, to content location information of each of a POST-method HTTP header and a header of a data cell so as to avoid the caching function of the HTTP proxy; and
at the server, i) ignoring the temporary unique character string added in the content location information received from the client. - View Dependent Claims (8, 9)
-
-
10. A bidirectional communication system comprising:
-
a server on the Internet;
a plurality of clients on an Intranet; and
an HTTP (Hyper Text Transfer Protocol) communication gate allowing only HTTP traffic to pass through so as to connect the server and each of the plurality of clients, wherein each of the clients comprises;
a connection controller for establishing two connections between the server and the client;
a tunneling header generator for generating a tunneling header so that one of the two connections is set to an upstream connection using POST method of HTTP and the other of the two connections is set to a downstream connection using GET method of HTTP;
a first protocol converter for converting client application data into a data block to be transferred to the server; and
a first reverse protocol converter for converting a received data block from the server into server application data, and the server comprises;
a tunneling header analyzer for analyzing the tunneling header received from the client to determine whether the upstream and downstream connections have been set, wherein data transfer between the client and the server is inhibited until the tunneling header analyzer determines that both the upstream and downstream connections have been set;
a second protocol converter for converting server application data into a data block to be transferred to the client; and
a second reverse protocol converter for converting a received data block from the client into client application data;
wherein the HTTP communication gate is an HTTP proxy having a caching function;
wherein the tunneling header generator of the client adds a temporary unique character string, which is different from previous temporary unique character strings used by the client an-d by other clients, to content location information of each of a POST method HTTP header and a header of a data block so as lo avoid the caching function of the HTTP proxy. - View Dependent Claims (11, 14)
-
Specification