Internet client-server multiplexer
First Claim
1. A method comprising the steps of:
- opening a connection to a server in response to a request from a first client and establishing sequence and acknowledgment numbers used to transfer data over said connection;
receiving from a second client a request to retrieve data using a network address and a path name, wherein the request from the second client includes sequence and acknowledgment parameters;
requesting said data from said server using said connection by modifying said sequence and acknowledgment parameters based on said established sequence and acknowledgment numbers used for said connection;
receiving data from said server;
modifying sequence and acknowledgment parameters in said data received from said server to produce modified sequence and acknowledgment parameters; and
sending said data to said second client with said modified sequence and acknowledgment parameters.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and computer program product for network client-server multiplexing. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is connected to a plurality of clients. According to a “connection pooling” aspect of the invention, the interface unit opens and maintains connections with the servers and handles the opening and closing of connections with clients accessing the servers, thereby freeing the servers of the processing load incurred by opening and closing connections. According to a “connection distribution” aspect of the invention, the interface unit examines the path names within requests received from clients and selects the server hosting the requested information according to the path names.
90 Citations
18 Claims
-
1. A method comprising the steps of:
-
opening a connection to a server in response to a request from a first client and establishing sequence and acknowledgment numbers used to transfer data over said connection;
receiving from a second client a request to retrieve data using a network address and a path name, wherein the request from the second client includes sequence and acknowledgment parameters;
requesting said data from said server using said connection by modifying said sequence and acknowledgment parameters based on said established sequence and acknowledgment numbers used for said connection;
receiving data from said server;
modifying sequence and acknowledgment parameters in said data received from said server to produce modified sequence and acknowledgment parameters; and
sending said data to said second client with said modified sequence and acknowledgment parameters.
-
-
2. An apparatus comprising:
-
at least one of;
(a) means for selecting a server storing data as a function of predefined policies based on a path name, (b) means for selecting said server storing said data as a function of predetermined policies based on a load of said server, and (c) means for selecting said server storing said data as a function of predefined policies based on the state of said server;
means for identifying a previously-opened connection to said server established in response to a request from a first client, and identifying sequence and acknowledgment numbers to be used in said connection;
means for receiving from a second client a request to retrieve data using a network address and a path name, wherein the request from the second client includes a GET segment having sequence and acknowledgment parameters;
means for requesting said data from said server using said previously-opened connection by modifying said sequence and acknowledgment parameters in said GET segment to produce a modified GET segment based on said information identifying sequence and acknowledgment numbers already used, and sending said modified GET segment to said server;
means for receiving said data from said server; and
means for sending said data to said second client. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
9. A method comprising the steps of:
-
opening a connection to a server in response to a request from a first client, said server selected as a function of predefined policies including at least one of a path name, a load of said server, and a state of said server;
identifying connection and sequence and acknowledgment numbers used in receiving data on said connection;
receiving from a second client a request to retrieve data, wherein the request from the second client includes sequence and acknowledgment parameters;
requesting said data from said server using said connection by modifying said sequence and acknowledgment parameters using said information identifying sequence and acknowledgment numbers used in said connection;
receiving data from said server; and
sending said data to said second client. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification