Patent ID: 7664833
Filing Date: 2010-02-16
Classification: H04L

Abstract:
1. A computer-implemented method for managing connections between at least one client and at least one data server, said method comprising: (a) providing an intermediary connection apparatus comprising connections to a plurality of clients over a WAN or a LAN environment, said apparatus comprising memory buffers and at least one connection to each of said at least one data server in a plurality of data servers; (b) receiving at said apparatus a client request for a response including an entity from a data server over a client network connection; (c) selecting a data server connection through which to upstream transmit the client request by detecting the temporary load on data servers that are capable of responding to the client request; (d) determining whether to create an additional connection with the selected data server or to delay sending the client request whenever there is no free connection to be used for sending the client request towards the selected data server, wherein a free connection has no pending requests to be executed by the data server, and that is of the type that corresponds to the type of pending client request; (e) determining, at said apparatus, a size limitation on the size of a partial response for a portion of the entity that the selected data server is allowed to provide at a given time to said apparatus in response to said client request, wherein the portion of the entity is less than the whole of the entity; (f) determining, at said apparatus, whether the client request has to be converted to multiple partial client requests, according to the size limitation for the partial response from the selected data server; (g) sending from said apparatus to the selected data server, the client request or multiple partial client requests according to scheduling criterion based on at least one parameter comprising: priority, load balancing, number of connections occupied by the selected data server, and request type; (h) sending from the selected data server connection the partial response over a client network connection according to the size limitation in response to the client request or one of the multiple partial client requests; (i) generating and forwarding multiple partial client requests until an entire client request is received by the selected data server; and (j) generating and forwarding partial responses until and entire response is sent by the selected data server.