Systems and methods for controlling the number of connections established with a server
AssigneeCitrix Systems, Inc.
InventorsJose Kolencheril Raphel, Kailash Kailash, Michel K. Susai
Life of this patent
Estimating the term…
Abstract
A method for maximizing server throughput while avoiding overload of a server is presented. The method involves intercepting, via an interface unit, a client request for information from the server. Next, the interface unit determines the current server performance, where the server performance is based on the number of connections opened to the server, the response time of the server and the rate at which the response time is changing. Finally, the interface unit forwards the client request to the server if the current server performance is close to an optimal performance, whereby avoiding overload of the server.
Claims18
A method for controlling a number of transport layer connections established with a server, the method comprising the steps of:
- (a) intercepting, by a device located between a client and a server, a request from the client to establish a transport layer connection with the server, the device providing a pool of one or more transport layer connections to the server, the pool having at least a first transport layer connection;
- (b) comparing, by the device, the number of transport layer connections established between the device and the server to an identified maximum number of allowable connections to the server, the maximum number of allowable connections to the server identified based on a rate of change of a response time of the server;
- (c) determining, by the device, (i) that a number of transport layer connections established between the device and the server is below a maximum number of allowable connections, responsive to the comparison of the number of transport layer connections established between the device and the server to the identified maximum number of allowable connections to the server, and (ii) that the number of requests the server is responding to within a predetermined amount of time is above a server throughput threshold;
- and
- (d) opening, by the device, a second transport layer connection for the pool of one or more transport layer connections between the device and the server responsive to the determination.
A system for controlling a rate of establishing network connections to a server, the system comprising:
- a device located between a client and a server, the device comprising a network interface device and a processor;
- wherein the network interface device is configured for intercepting a request from a client to establish a transport layer connection with a server, the device providing a pool of one or more transport layer connections to the server, the pool having at least a first transport layer connection;
- wherein the processor is configured for:
- comparing the number of transport layer connections established between the device and the server to an identified maximum number of allowable connections to the server, the maximum number of allowable connections to the server identified based on a rate of change of a response time of the server, and
- determining (i) that a number of transport layer connections established with the server is below a maximum number of allowable connections, responsive to the comparison of the number of transport layer connections established between the device and the server to the identified maximum number of allowable connections to the server, and (ii) that the number of requests the server is responding to within a predetermined amount of time is above a server throughput threshold;
- and
- wherein the network interface device is further configured for opening a second transport layer connection for the pool of one or more transport layer connections to the server responsive to the determination.
Dependencies are inferred from the claim text.