System and method for failover
First Claim
Patent Images
1. A method for switching a client from a primary server to backup server comprising:
- establishing a first connection from a client to a primary server;
sending a message from said client to said primary server via said first connection for processing by said primary server;
prior to receiving an expected response to said message at said client, experiencing a failure of said primary server at said client whereby said first connection fails;
requesting initiation of a second connection from said client to a backup server;
confirming, at said backup server, that said primary server has failed;
sending a recovery signal from said backup server to said client representing an acknowledgement of said request to initiate said second connection;
receiving said recovery signal at said client;
sending said message to said backup server via said second connection for processing by said backup server; and
,if said backup server contains results of processing said message as previously processed by said primary server prior to failure of said primary server, then sending said results from said backup server to said client;
orif said backup server does not contain results of processing said message by said primary server then processing said message at said backup server and sending said results thereof from said backup server to said client.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a novel system and method for failover. In an embodiment, a primary server and a backup server are available to a plurality of clients. Messages containing requests are processed by the primary server, while a mirror image of transaction records generated by the processing of those requests is maintained in volatile memory of both the primary server and the backup server. In this mode of operation, the volatile memory is periodically flushed to non-volatile memory.
70 Citations
15 Claims
-
1. A method for switching a client from a primary server to backup server comprising:
-
establishing a first connection from a client to a primary server; sending a message from said client to said primary server via said first connection for processing by said primary server; prior to receiving an expected response to said message at said client, experiencing a failure of said primary server at said client whereby said first connection fails; requesting initiation of a second connection from said client to a backup server; confirming, at said backup server, that said primary server has failed; sending a recovery signal from said backup server to said client representing an acknowledgement of said request to initiate said second connection; receiving said recovery signal at said client; sending said message to said backup server via said second connection for processing by said backup server; and
,if said backup server contains results of processing said message as previously processed by said primary server prior to failure of said primary server, then sending said results from said backup server to said client;
orif said backup server does not contain results of processing said message by said primary server then processing said message at said backup server and sending said results thereof from said backup server to said client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for switching a client from a primary server to backup server comprising:
-
maintaining a first address at said client identifying said primary server; maintaining a second address at said client identifying said backup server; establishing a first connection from said client to a primary server; sending a message from said client to said primary server via said first connection for processing by said primary server; prior to receiving an expected response to said message at said client, experiencing a failure of said primary server at said client whereby said first connection fails; requesting initiation of a second connection from said client to said backup server using said second address; receiving a recovery signal from said backup server at said client; and
,receiving results from processing of said message from said backup server;
wherein said results are received from storage of said backup server as previously stored by said backup server if said results were previously processed by said primary server prior to failure of said primary server; and
otherwise said results are received from storage of said backup server as previously stored by said backup server if said results were processed by said backup server after failure of said primary server, such that said client is unaware as to which of said servers processed said message.
-
-
10. A client machine configured to switch from communicating via a first connection with a primary server to a second connection with a backup server said client machine comprising an arrangement of at least one processor connected to storage devices and a network interface for communicating via said first connection and said second connection;
- said processor configured to maintain a first address at said client identifying said primary server and to maintain a second address at said client identifying said backup server;
said processor further configured to establish a first connection from said client to a primary server and to send a message from said client to said primary server via said first connection for processing by said primary server;
said processor further configured to, prior to receiving an expected response to said message at said client, experiencing a failure of said primary server at said client;
said processor further configure to request initiation of a second connection from said client to said backup server using said second address;
said processor further configured to receive a recovery signal from said backup server and further configured to receive results from processing of said message from said backup server;
wherein said results are received from storage of said backup server as previously stored by said backup server if said results were previously processed by said primary server prior to failure of said primary server; and
otherwise said results are received at said processor from storage of said backup server as previously stored by said backup server if said results were processed by said backup server after failure of said primary server, such that said processor is unaware as to which of said servers processed said message. - View Dependent Claims (11, 12, 13, 14)
- said processor configured to maintain a first address at said client identifying said primary server and to maintain a second address at said client identifying said backup server;
-
15. A backup server connected to a primary server via a main link and connectable to a client machine via a second connection if a first connection between said primary server and said client machine fails;
- said backup server comprising an arrangement of at least one processor connected to storage devices and a network interface for communicating via said main connection and said second connection;
said processor configured to receive and store mirrored results of messages sent from said client to said primary server that that are processed by primary server;
said processor configured to determine if said primary server has failed and to respond to a request from said client machine to process said message if said client machine determines that said primary server has failed to respond to a request to process said message;
said processor configured to return results stored in said backup server if said message was processed by said primary server and mirrored to said backup server prior to failure of said primary server;
said processor further configured to generate results of said messages that are not previously stored if said message was not processed by said primary server and mirrored to said backup server prior to failure of said primary server.
- said backup server comprising an arrangement of at least one processor connected to storage devices and a network interface for communicating via said main connection and said second connection;
Specification