Method and apparatus for session replication and failover
First Claim
1. A system for replicating information in a client session, comprising:
- a. 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;
b. a secondary server adapted to receive request in a client session and serve a response to that request, said secondary server storing session information for that client session concurrently with the primary server; and
c. 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 wherein the client session information is sufficient for the secondary server to maintain the client session;
wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information.
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.
174 Citations
43 Claims
-
1. A system for replicating information in a client session, comprising:
-
a. 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; b. a secondary server adapted to receive request in a client session and serve a response to that request, said secondary server storing session information for that client session concurrently with the primary server; and c. 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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 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 storing session information for that client session concurrently with the primary server; 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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information. - View Dependent Claims (19, 20)
-
-
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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information. - 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 receiving 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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information.
-
-
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; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information. - View Dependent Claims (35)
-
-
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 receiving 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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information.
-
-
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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information.
-
-
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 wherein the client session information is sufficient for the secondary server to maintain the client session; wherein the session information allows the primary or secondary server to provide client specific responses to client requests, the session information allowing the primary or secondary server to continue a previously started internet session by serving the response to the request using client session data from the session information. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification