Method and system for storing load balancing information with an HTTP cookie
First Claim
1. Method for load balancing access to a resource identified in a hyper text transport protocol (HTTP) request, comprising:
- (a) examining an HTTP request to determine when a Cookie is included with the HTTP request, the Cookie including information that indicates a destination for accessing the resource identified in the HTTP request;
(b) when the Cookie is included in the HTTP request, sending the HTTP request to the destination that is indicated by the Cookie'"'"'s information;
(c) generating an HTTP response at the destination, the HTTP response providing access to the requested resource;
(d) inserting a copy of the information in the Cookie into the HTTP response;
(e) sending the HTTP response with the copy of the information in the Cookie to the sender of the HTTP request, so that a subsequent HTTP request to access the resource will include another Cookie with information indicating that the resource is accessible at the destination;
(f) sending the HTTP request to a server array controller that manages a plurality of node servers;
(g) employing the server array controller to select one of the plurality of node servers to receive the HTTP request based on the information in the Cookie, the selected node server being associated with the destination, wherein the selected node server generates the HTTP response;
(h) including an identifier with the copy of the information in the Cookie, the identifier associating the selected node server with the destination;
(i) generating a time stamp that is included in the HTTP response; and
(j) changing an expiration date for the time stamp relative to the number of HTTP requests sent to the server array controller over a period of time.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for inserting and examining Cookies in the data streams of HTTP connections for the purpose of persistently directing HTTP connections to the same destination. The present invention enables a network transmission device, e.g., a router or controller, to reliably and efficiently direct subsequent HTTP connections from the same client to the same server (destination) for accessing the requested resources. There are four modes for employing the Cookie to persistently direct HTTP connections. The associative mode inserts a Cookie into an HTTP response that uniquely identifies the client so that when a client'"'"'s subsequent HTTP request is compared to a table, the HTTP request will be routed to a previously selected destination associated with the client. The passive mode inserts Cookie information into an HTTP response that uniquely identifies a previously selected destination such as a node server so that when a client'"'"'s subsequent HTTP request is examined, it will be provided to the previously selected destination. In the rewrite mode, a network transmission device manages the destination information that is rewritten over blank Cookie information generated by the destination producing the HTTP response. The insert mode enables a network transmission device to insert and remove Cookie information in the data packets for HTTP requests and responses prior to processing by the destination. The Cookie information can include a time stamp. Other types of Cookies include priority, path and hops.
-
Citations
8 Claims
-
1. Method for load balancing access to a resource identified in a hyper text transport protocol (HTTP) request, comprising:
-
(a) examining an HTTP request to determine when a Cookie is included with the HTTP request, the Cookie including information that indicates a destination for accessing the resource identified in the HTTP request;
(b) when the Cookie is included in the HTTP request, sending the HTTP request to the destination that is indicated by the Cookie'"'"'s information;
(c) generating an HTTP response at the destination, the HTTP response providing access to the requested resource;
(d) inserting a copy of the information in the Cookie into the HTTP response;
(e) sending the HTTP response with the copy of the information in the Cookie to the sender of the HTTP request, so that a subsequent HTTP request to access the resource will include another Cookie with information indicating that the resource is accessible at the destination;
(f) sending the HTTP request to a server array controller that manages a plurality of node servers;
(g) employing the server array controller to select one of the plurality of node servers to receive the HTTP request based on the information in the Cookie, the selected node server being associated with the destination, wherein the selected node server generates the HTTP response;
(h) including an identifier with the copy of the information in the Cookie, the identifier associating the selected node server with the destination;
(i) generating a time stamp that is included in the HTTP response; and
(j) changing an expiration date for the time stamp relative to the number of HTTP requests sent to the server array controller over a period of time. - View Dependent Claims (2, 3)
-
-
4. Method for load balancing access to a resource identified in a hyper text transport protocol (HTTP) request, comprising:
-
(a) examining an HTTP request to determine when a Cookie is included with the HTTP request, the Cookie including information that indicates a destination for accessing the resource identified in the HTTP request;
(b) when the Cookie is included in the HTTP request, sending the HTTP request to the destination that is indicated by the Cookie'"'"'s information;
(c) generating an HTTP response at the destination, the HTTP response providing access to the requested resource;
(d) inserting a copy of the information in the Cookie into the HTTP response;
(e) sending the HTTP response with the copy of the information in the Cookie to the sender of the HTTP request, so that a subsequent HTTP request to access the resource will include another Cookie with information indicating that the resource is accessible at the destination;
(f) including a plurality of Cookies in the HTTP request, each Cookie having a different type; and
(g) determining a type for each Cookie, the type of each Cookie indicating how the information included in each Cookie is to be utilized, wherein the type of each Cookie includes priority, path and hops. - View Dependent Claims (5, 6, 7, 8)
-
Specification