Apparatus, method and computer program product for efficiently pooling connections between clients and servers
DCFirst Claim
1. A method comprising:
- (a) establishing, by a device, a pool of one or more transport layer connections between the device and a server;
(b) forwarding, by the device, a first request of a first client to the server received via a first connection between the first client and the device over a second transport layer connection from the pool of one or more transport layer connections between the device and the server;
(c) determining, by the device while the device maintains open the transport layer connection of the pool of one or more transport layer connections between the device and the server, that the second transport layer connection is available for forwarding a second request of a second client via a third transport layer connection between the second client and the device to the server based on the server completing communicating a response to the first request of the first client via the second transport layer connection;
(d) forwarding, by the device responsive to the determination, the second request of the second client over the transport layer connection to the server prior to receiving a close command from the first client via the first transport layer connection between the first client and the device.
4 Assignments
Litigations
1 Petition
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.
64 Citations
20 Claims
-
1. A method comprising:
-
(a) establishing, by a device, a pool of one or more transport layer connections between the device and a server; (b) forwarding, by the device, a first request of a first client to the server received via a first connection between the first client and the device over a second transport layer connection from the pool of one or more transport layer connections between the device and the server; (c) determining, by the device while the device maintains open the transport layer connection of the pool of one or more transport layer connections between the device and the server, that the second transport layer connection is available for forwarding a second request of a second client via a third transport layer connection between the second client and the device to the server based on the server completing communicating a response to the first request of the first client via the second transport layer connection; (d) forwarding, by the device responsive to the determination, the second request of the second client over the transport layer connection to the server prior to receiving a close command from the first client via the first transport layer connection between the first client and the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 17, 18)
-
-
9. A system comprising:
-
a device configured to establish a pool of one or more transport layer connections between the device and a server and forward a first request of a first client to the server received via a first transport layer connection between the first client and the device over a second transport layer connection from the pool of one or more transport layer connections; wherein the device is configured to determine, while the device maintains open the transport layer connection of the pool of one or more transport layer connections between the device and the server, that the second transport layer connection is available for forwarding a second request of a second client received via a third transport layer connection between the second client and the device to the server based on the server completing communicating a response to the first request of the first client via the second transport layer connection and responsive to the determination forward the second request of the second client over the second transport layer connection to the server, forward the second request of the second client over the transport layer connection prior to receiving a close command from the first client via the first connection between the first client and the device, and subsequently receive the close command from the first client via the first transport layer connection between the first client and the device to close the first transport layer connection between the first client and the device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 19, 20)
-
Specification