System and method for failover
First Claim
1. A system for failover comprising at least one client connectable to a plurality of interconnectable servers, each of said servers operable to process messages from said client and maintain at least transaction record respective to each said message in a transaction log stored in volatile storage, and further operable to flush said transaction log to a non-volatile storage device respective to said server after each said message is processed, wherein when more than one server is available then only one of said servers processes said messages and a remainder of said servers maintain a mirror image of said transaction log, said transaction logs being flushed on a periodic basis, and wherein when only one of said servers is available then said transaction log is flushed more frequently than said periodic basis.
1 Assignment
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.
108 Citations
22 Claims
- 1. A system for failover comprising at least one client connectable to a plurality of interconnectable servers, each of said servers operable to process messages from said client and maintain at least transaction record respective to each said message in a transaction log stored in volatile storage, and further operable to flush said transaction log to a non-volatile storage device respective to said server after each said message is processed, wherein when more than one server is available then only one of said servers processes said messages and a remainder of said servers maintain a mirror image of said transaction log, said transaction logs being flushed on a periodic basis, and wherein when only one of said servers is available then said transaction log is flushed more frequently than said periodic basis.
-
21. A method for operating a system for failover comprising the steps of:
-
receiving, at a primary server, a request from a client;
processing, at said primary server, said request as at least one transaction;saving, in volatile memory of said primary server, a transaction record respective to said at least one transaction; generating, at said primary server, a request to commit said transaction; mirroring said transaction record in volatile memory of said backup sewer; and
, acknowledging, in said primary server, said commit request if said mirroring is successfully confirmed;repeating the foregoing steps for additional received messages; and immediately flushing said primary sewer volatile memory to non-volatile memory if said mirroring is unsuccessfully confirmed; and
, thereafter ceasing further performance of said mirroring step; and
, thereafter flushing each said transaction record to non-volatile memory after said saving step.
-
-
22. A method for operating a system for failover comprising the steps of:
-
receiving, at a primary server, a request from a client; determining whether said request is a duplicate request, and if said request is a duplicate request, then returning, to said client, a previously stored result of processing said request and if said request is not a duplicate request, then processing, at said primary server, said request as at least one transaction; saving, in volatile memory of said primary server, a transaction record respective to said at least one transaction; generating, at said primary server, a request to commit said transaction; mirroring said transaction record in volatile memory of said backup server; and
,acknowledging, in said primary server, said commit request if said mirroring is successfully confirmed.
-
Specification