System and method for performing application level persistence
First Claim
1. A method of enabling a load balancing system, comprising:
- enabling a load balancer to load balance incoming client requests to a plurality of servers;
enabling each server of the plurality of servers to include blank persistence information as at least part of an application level protocol command in a response to a client request;
enabling the load balancer to receive the response to the client request from each of the plurality of servers, and to write persistence information that identifies the respective server in place of the blank persistence information; and
enabling the load balancer to recognize persistence information that is at least part of application level protocol commands included with incoming client requests, and to forward at least some incoming client requests having persistence information to one of the plurality of servers based at least in part on the persistence information included with the incoming client requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for inserting and examining Cookies in the data streams of HTTP connections for the purpose of persistently directing HTTP connections to the same destination. A network device directs 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 associated mode inserts a Cookie that uniquely identifies the client into an HTTP response. The passive mode inserts Cookie information that uniquely identifies a previously selected destination into an HTTP response. In the rewrite mode, a network device manages the destination information that is rewritten over blank Cookie information generated by the destination producing the HTTP response. The insert mode inserts and removes Cookie information in the data packets for HTTP requests and response prior to processing by the destination.
-
Citations
14 Claims
-
1. A method of enabling a load balancing system, comprising:
-
enabling a load balancer to load balance incoming client requests to a plurality of servers; enabling each server of the plurality of servers to include blank persistence information as at least part of an application level protocol command in a response to a client request; enabling the load balancer to receive the response to the client request from each of the plurality of servers, and to write persistence information that identifies the respective server in place of the blank persistence information; and enabling the load balancer to recognize persistence information that is at least part of application level protocol commands included with incoming client requests, and to forward at least some incoming client requests having persistence information to one of the plurality of servers based at least in part on the persistence information included with the incoming client requests. - View Dependent Claims (2)
-
-
3. A device in a network that includes a plurality of clients and a plurality of servers, comprising:
-
a mechanism that receives a Hypertext Transport Protocol (HTTP) request from a client; and a processor for enabling actions, including; determining a destination server from the plurality of servers, based at least in part on a load balancing determination; determining if the client previously communicated with the destination server, based at least in part on persistence information included in at least part of an application level protocol command, wherein the application level protocol command includes at least part of an HTTP cookie; if it is determined that the client previously communicated with the destination server, determining the destination server based at least in part on the persistence information in the HTTP cookie; and forwarding the HTTP request to the destination server. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A system for load balancing communication in a network, comprising:
-
a plurality of clients; a plurality of servers; and a device that includes; a mechanism arranged to receive a Hypertext Transport Protocol (HTTP) request from a client; and a processor for enabling actions, including; determining a destination server from the plurality of servers, based at least in part on a load balancing determination; determining if the client previously communicated with the destination server, based at least in part on persistence information included in at least part of an application level protocol command, wherein the application level protocol command includes at least part of an HTTP cookie; if it is determined that the client previously communicated with the destination server, determining the destination server based at least in part on the persistence information in the HTTP cookie; and forwarding the HTTP request to the destination server. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification