Apparatus, method and computer program product for efficiently pooling connections between clients and servers
First Claim
1. A method of pooling by an interface unit a transport layer connection to a server, the method comprising the steps of:
- (a) receiving, by an interface unit, a first request of a first client to access a server, the first client and the interface unit communicating via a first transport layer connection;
(b) identifying, by the interface unit, that the interface unit has a second transport layer connection established with the server indicated by the first request;
(c) determining, by the interface unit, from monitoring application layer data of-network traffic between the second client and the server received by the interface unit that a second client and the server have completed transferring a last byte of data of a response for a second client'"'"'s request via the second transport layer connection;
(d) transmitting, by the interface unit, the first request via the second transport layer connection in response to the determination of step (c) and prior to receiving, by the interface unit, one of a finish command or a reset command for the second client'"'"'s connection to the server;
(e) determining, by the interface unit, from monitoring application layer data of network traffic received by the interface unit that the second client and the server have not completed a transfer of the last byte of data of a second response to a second request of the second client via the second transport layer connection in response to receiving a third request from one of the first client or the second client to access the server; and
(f) establishing, by the interface unit, a third transport layer connection with the server in response to the determination of step (e).
10 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and computer program product for efficiently pooling network client-server connections. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is in turn connected to a plurality of clients. The method includes the steps of opening a connection between a first client and the interface unit; determining whether a connection between the interface unit and a server is finished being utilized by the first client; opening a connection between a second client and the interface unit; if no free connection is open between the interface unit and the server, then allowing the second client to access information on the server via the same connection utilized by the first client without waiting for the first client to initiate closing the connection; and delinking the connections between the first and second clients and the interface unit while keeping open the connection between the interface unit and the server.
-
Citations
44 Claims
-
1. A method of pooling by an interface unit a transport layer connection to a server, the method comprising the steps of:
-
(a) receiving, by an interface unit, a first request of a first client to access a server, the first client and the interface unit communicating via a first transport layer connection; (b) identifying, by the interface unit, that the interface unit has a second transport layer connection established with the server indicated by the first request; (c) determining, by the interface unit, from monitoring application layer data of-network traffic between the second client and the server received by the interface unit that a second client and the server have completed transferring a last byte of data of a response for a second client'"'"'s request via the second transport layer connection; (d) transmitting, by the interface unit, the first request via the second transport layer connection in response to the determination of step (c) and prior to receiving, by the interface unit, one of a finish command or a reset command for the second client'"'"'s connection to the server; (e) determining, by the interface unit, from monitoring application layer data of network traffic received by the interface unit that the second client and the server have not completed a transfer of the last byte of data of a second response to a second request of the second client via the second transport layer connection in response to receiving a third request from one of the first client or the second client to access the server; and (f) establishing, by the interface unit, a third transport layer connection with the server in response to the determination of step (e). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An interface unit for pooling a transport layer connection to a server, the interface unit comprising:
-
means for receiving a first request of a first client to access a server, the first client and the interface unit communicating via a first transport layer connection; means for identifying that the interface unit has a second transport layer connection established with the server indicated by the first request; means for ascertaining from monitoring application layer data of network traffic between the second client and the server received by the interface unit that a second client and the server have completed transferring a last byte of data of a response for a second client'"'"'s request via the second transport layer connection; means for transmitting the first request via the second transport layer connection in response to the means for ascertaining and prior to receiving one of a finish command or a reset command for the second client'"'"'s connection to the server; means for determining from monitoring application layer data of network traffic received by the interface unit that the second client and the server have not completed a transfer of the last byte of data of a second response to a second request of the second client via the second transport layer connection in response to receiving a third request from one of the first client or the second client to access the server; and means for establishing a third transport layer connection with the server in response to the determination. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method of pooling by an interface unit a transport layer connection to a server, the method comprising the steps of:
-
(a) receiving, by an interface unit, a first request of a first client to access a server, the first client and the interface unit communicating via a first transport layer connection; (b) identifying, by the interface unit, that the interface unit has a second transport layer connection established with the server indicated by the first request; (c) determining, by the interface unit, from monitoring application layer data of server responses received by the interface unit that a second client and the server have not completed a transfer of the last byte of data of a response of the second client via the second transport layer connection; (d) transmitting, by the interface unit, the first request via the second transport layer connection in response to the determination of step (c) and prior to receiving, by the interface unit, one of a finish command or a reset command for the second client'"'"'s connection to the server; (e) determining, by the interface unit, from monitoring application layer data of server responses received by the interface unit that the first client and the server have not completed a transfer of a last byte of data of a response to the first request via the second transport layer connection in response to receiving a third request from one of the first client or the second client to access the server; and (f) establishing, by the interface unit, a third transport layer connection with the server in response to the determination of step (e). - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. An interface unit for pooling a transport layer connection to a server, the interface unit comprising:
-
means for receiving a first request of a first client to access a server, the first client and the interface unit communicating via a first transport layer connection; means for identifying that the interface unit has a second transport layer connection established with the server indicated by the first request; means for ascertaining from monitoring application layer data of server responses received by the interface unit that a second client and the server have not completed a transfer of the last byte of data of a response of the second client via the second transport layer connection means for transmitting the first request via the second transport layer connection in response to the means for ascertaining and prior to receiving, by the interface one of a finish command or a reset command for the second client'"'"'s connection to the server; means for determining from monitoring application layer data of server responses received by the interface unit that the first client and the server have not completed a transfer of a last byte of data of a response to the first request via the second transport layer connection in response to receiving a third request from one of the first client or the second client to access the server; and means for establishing a third transport layer connection with the server in response to the determination. - View Dependent Claims (40, 41, 42, 43, 44)
-
Specification