Hardware load-balancing apparatus for session replication
First Claim
1. A system for replicating information in a client session, comprising:
- a. a plurality of servers;
b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session;
c. a secondary server in said plurality of servers, said secondary server adapted to receive request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session; and
d. a hardware load balancer adapted to receive a request from a client, the request containing identification information for said primary and secondary servers, said hardware load balancer adapted to check that portion of the request containing the identification information and serve the process request on said primary server if that portion has not changed since a previous request, said hardware load balancer further adapted to select a new primary server from said plurality of servers if that portion has changed.
3 Assignments
0 Petitions
Accused Products
Abstract
A session replication system provides real-time data replication without unnecessarily slowing down the user experience. A system in accordance with the present invention may utilize a primary server to serve requests from a network client, as well as a secondary server to replicate the session information. When a request is received on the session, an attempt may be made to serve the request on the primary server. If the primary is unable to receive or respond to the request, the request may be served on the secondary server or on a new primary server. If the secondary server receives the request, the secondary server may become the new primary server. If a new primary server is selected, the new primary may request the session information from the secondary server.
-
Citations
31 Claims
-
1. A system for replicating information in a client session, comprising:
-
a. a plurality of servers;
b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session;
c. a secondary server in said plurality of servers, said secondary server adapted to receive request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session; and
d. a hardware load balancer adapted to receive a request from a client, the request containing identification information for said primary and secondary servers, said hardware load balancer adapted to check that portion of the request containing the identification information and serve the process request on said primary server if that portion has not changed since a previous request, said hardware load balancer further adapted to select a new primary server from said plurality of servers if that portion has changed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for providing redundancy in a client session, comprising:
-
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer;
b. serving said request on the primary server;
c. selecting a secondary server using the primary server;
d. sending session information for that client session from the primary server to the secondary server; and
e. updating session information on the primary and secondary servers each time a request is received in the client session. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for replicating information in a client session, comprising:
-
a. a plurality of servers;
b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session, and adapted to generate a cookie containing information relating to said primary server and transmit the cookie to the session client;
c. a secondary server in said plurality of servers selected by said primary server, said secondary server adapted to receive the session information from said primary server and store the session information, the secondary server further adapted to receive a request in a client session and serve a response to that request; and
d. a hardware load balancer adapted to receive a request from a client, the request containing identification information for said primary and secondary servers, the web server adapted to process the identification information and serve the process request on said primary server, the hardware load balancer adapted to serve the request on a new primary server if said primary server is unable to process the request.
-
-
21. A method for providing redundancy in a client session, comprising:
-
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer;
b. serving said request on said primary server;
c. sending session information for that client session from the primary server to a secondary server selected by said primary server;
d. storing a cookie on the session client containing information identifying the primary and secondary servers; and
e. updating session information on the primary and secondary servers each time a request is received in the client session. - View Dependent Claims (22, 26, 27, 28, 29, 30, 31)
-
-
23. A system for replicating information in a client session, comprising:
-
a. a plurality of servers;
b. a primary server in said plurality of servers, said primary server adapted to receive a request in a client session and serve a response to that request, said primary server further adapted to store session information for that client session, and adapted to generate a cookie containing information relating to said primary server and transmit the cookie to the session client;
c. a secondary server in said plurality of servers selected by said primary server, said secondary server adapted to receive the session information from said primary server and store the session information, the secondary server further adapted to receive a request in a client session and serve a response to that request; and
d. a hardware load balancer containing load-balancing logic for selecting said primary server, said hardware load balancer adapted to receive an initial request from a client and direct that request to said primary server, said hardware load balancer further adapted to receive a subsequent request from a client, the subsequent request containing identification information for said primary and secondary servers, the hardware load balancer adapted to process the identification information and serve the process request on said primary server, the hardware load balancer further adapted to select a new primary server and serve the request on the new primary server if said primary server is unable to process the request.
-
-
24. A method for providing redundancy in a client session, comprising:
-
a. making a load balancing decision for an initial request from a client in a client session in order to select a primary server from a plurality of servers, the load balancing decision being made using an algorithm in a hardware load balancer;
b. serving the request on the primary server;
c. sending session information for that client session from the primary server to a secondary server selected by said primary server;
d. storing a cookie on the session client, the cookie containing information identifying the primary and secondary servers;
e. reading the identification information received with any subsequent request in the client session and serving that subsequent request on the primary server; and
f. updating session information on the primary and secondary servers each time a subsequent request is served on the primary server for that client session.
-
-
25. A method for providing redundancy in a client session, comprising:
-
a. selecting a primary server from a plurality of servers in response to an initial request from a client, the selecting step using load-balancing logic in a hardware load balancer;
b. serving said request on said primary server to begin a client session;
c. selecting a secondary server;
d. sending session information for that client session from the primary server to the secondary server; and
e. updating session information on the primary and secondary servers each time a request is received in the client session.
-
Specification