Simplified method for processing multiple connections from the same client
First Claim
1. A method for directing communications over a network between a client and at least one content server, the method comprising:
- receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server;
identifying the client that is associated with the resource request by the server array controller device;
selecting an original content server to handle the resource request, by the server array controller device, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests;
caching connection information that is associated with the original content server and the identified client by the server array controller device;
initializing, by the server array controller device, a connection count that is associated with the identified client when the connection information is cached;
updating by the server array controller device, the connection count when the original content server is selected from the cached connection information; and
directing the data flow between the original content server and the identified client by the server array controller device while data flow between the identified content server and the identified client is maintained by the server array controller device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus is related to connection management for a communications network. A control component receives a data flow requesting a resource from a client, identifies the client, and determines when the data flow is unassociated with a connection to a requested resource. The control component selects a new content server for an unassociated resource request when either the identified client was previously unknown or the identified client has exceeded a maximum number of connections with a previously selected content server. The control component selects the previously selected content server when the identified client has not exceeded the maximum number of connections. A switch component is employed to maintain a connection between the client and the selected content server such that the client receives the requested resource. Utilizing cached connection information for up to “N” connections enhances the speed of connections between the client and the selected content server.
308 Citations
24 Claims
-
1. A method for directing communications over a network between a client and at least one content server, the method comprising:
-
receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server; identifying the client that is associated with the resource request by the server array controller device; selecting an original content server to handle the resource request, by the server array controller device, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests; caching connection information that is associated with the original content server and the identified client by the server array controller device; initializing, by the server array controller device, a connection count that is associated with the identified client when the connection information is cached; updating by the server array controller device, the connection count when the original content server is selected from the cached connection information; and directing the data flow between the original content server and the identified client by the server array controller device while data flow between the identified content server and the identified client is maintained by the server array controller device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for directing communications over a network, the method comprising:
-
receiving a data flow by a server array controller device, the data flow including a resource request; identifying a client that is associated with the resource request by the server array controller device; selecting an original content server to handle the resource request, by the server array controller device, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; and directing the data flow between the original content server and the identified client by the server array controller device while maintaining data flow between the identified content server and the identified client for the allowed collections. - View Dependent Claims (7)
-
-
8. A method for directing communications over a network between a client and at least one content server, the method comprising:
-
receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server; identifying the client that is associated with the resource request by the server array controller device; performing by the server array controller device a load balancing decision based on the identified client; selecting an original content server to handle the resource request, by the server array controller device, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision; caching by the server array controller device the load balancing decision, wherein the cached load balancing decision is reused by the server array controller up to a maximum number of resource requests for the original content server for the identified client; and directing the data flow between the original content server and the identified client using the server array controller.
-
-
9. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to:
-
receive a data flow including a resource request specifying an identified content server; identify the client that is associated with the resource request; select an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests; cache connection information that is associated with the original content server and the identified client; initialize a connection count that is associated with the identified client when the connection information is cached; update the connection count when the original content server is selected from the cached connection information; and direct the data flow between the original content server and the identified client while data flow between the identified content server and the identified client is maintained. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising:
-
receiving a data flow including a resource request specifying an identified content server; identifying the client that is associated with the resource request; selecting an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests; caching connection information that is associated with the original content server and the identified client; initializing a connection count that is associated with the identified client when the connection information is cached; updating the connection count when the original content server is selected from the cached connection information; and directing the data flow between the original content server and the identified client while data flow between the identified content server and the identified client is maintained. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to:
-
receive a data flow including a resource request; identify a client that is associated with the resource request; select an original content server to handle the resource request, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; and direct the data flow between the original content server and the identified client while maintaining data flow between the identified content server and the identified client for the allowed collections. - View Dependent Claims (20)
-
-
21. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising:
-
receiving a data flow including a resource request; identifying a client that is associated with the resource request; selecting an original content server to handle the resource request, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; and directing the data flow between the original content server and the identified client while maintaining data flow between the identified content server and the identified client for the allowed collections. - View Dependent Claims (22)
-
-
23. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to:
-
receive a data flow including a resource request specifying an identified content server; identify the client that is associated with the resource request; perform a load balancing decision based on the identified client; select an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision; cache the load balancing decision in a memory, wherein the cached load balancing decision is reused up to a maximum number of resource requests for the original content server for the identified client; and direct the data flow between the original content server and the identified client.
-
-
24. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising:
-
receiving a data flow including a resource request specifying an identified content server; identifying the client that is associated with the resource request; performing a load balancing decision based on the identified client; selecting an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision; caching the load balancing decision in a memory, wherein the cached load balancing decision is reused up to a maximum number of resource requests for the original content server for the identified client; and directing the data flow between the original content server and the identified client.
-
Specification