Method and apparatus for session replication and failover
First Claim
1. A system for replicating information in a client session, comprising:
- b. a 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 adapted to receive request in a client session and serve a response to that request, said secondary server further adapted to store session information for that client session; and
d. a web server 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 web server further adapted to serve the request on said secondary server if said primary server is unable to process the request.
2 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 application 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.
193 Citations
43 Claims
-
1. A system for replicating information in a client session, comprising:
-
b. a 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 adapted to receive request in a client session and serve a response to that request, said secondary server further adapted to store session information for that client session; and
d. a web server 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 web server further adapted to serve the request on said secondary server if said primary server is unable to process the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21)
-
-
18. A system for replicating information in a Java client session, comprising:
-
a. a primary server adapted to receive a request from a Java client in a client session and serve a response to that request, said primary server further adapted to store session information for that client session;
b. a 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
.c. a stateful session bean on the primary server used to store information for the client session and pass the identity of said primary and secondary servers back to the client.
-
-
22. 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 session servers;
b. serving said request on said primary server;
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. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A system for replicating information in a client session, comprising:
-
a. a plurality of session servers;
b. a primary server in said plurality of session 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 session 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 web server 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 web server further adapted to serve the request on said secondary server if said primary server is unable to process the request. - View Dependent Claims (35, 39, 40, 41, 42, 43)
-
-
34. 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 session servers;
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.
-
-
36. A system for replicating information in a client session, comprising:
-
a. a plurality of session servers;
b. a primary server in said plurality of session 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 session 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 web server containing load-balancing logic for selecting said primary server, said web server adapted to receive an initial request from a client and direct that request to said primary server, said web server further adapted to receive a subsequent request from a client, the subsequent 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 web server further adapted to serve the request on said secondary server if said primary server is unable to process the request.
-
-
37. 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 session servers;
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, 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.
-
-
38. A method for providing redundancy in a client session, comprising:
-
a. selecting a primary server from a plurality of session servers in response to an initial request from a client;
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