HIGH AVAILABILITY VIA DATA SERVICES
First Claim
1. A method for failover from a failure of a first database during processing of a transaction, the transaction requesting a set of database modifications, the method comprising:
- detecting a failure in the first database;
placing a message in one or more message queues, said message indicating objects inserted, updated, or deleted in the transaction, unless said message has already been placed;
sending the requested set of database modifications and a commit command to a second database; and
avoiding the first database in future transaction until the first database is restored.
3 Assignments
0 Petitions
Accused Products
Abstract
Application-level replication, the synchronization of data updates within a cluster of application servers, may be provided by having application servers themselves synchronize all updates to multiple redundant databases, precluding the need for database-level replication. This may be accomplished by first sending a set of database modifications requested by the transaction to a first database. Then a message may be placed in one or more message queues, the message indicating the objects inserted, updated, or deleted in the transaction. Then a commit command may be sent to the first database. The set of database modifications and a commit command may then be sent to second database. This allows for transparent synchronization of the database and quick recovery from a database failure, while imposing little performance or network overhead.
-
Citations
24 Claims
-
1. A method for failover from a failure of a first database during processing of a transaction, the transaction requesting a set of database modifications, the method comprising:
-
detecting a failure in the first database;
placing a message in one or more message queues, said message indicating objects inserted, updated, or deleted in the transaction, unless said message has already been placed;
sending the requested set of database modifications and a commit command to a second database; and
avoiding the first database in future transaction until the first database is restored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for failover from a failure of a second database during processing of a transaction, the transaction requesting a set of database modifications, the method comprising:
-
detecting a failure in the second database;
sending a cache synchronization message to other application servers sharing the same cluster as an application server executing the method, said cache synchronization message including an indication that the second database is down; and
avoiding the second database in future transaction until the first database is restored. - View Dependent Claims (10, 11)
-
-
12. An apparatus for failover of a first database during processing of a transaction, the transaction requesting a set of database modifications, the apparatus comprising:
-
a first database failure detector;
a message queue message inserter coupled to said first database failure detector;
a second database modification and commit command sender coupled to said message queue message inserter; and
a first database avoider coupled to said first database failure detector. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus for failover from a failure of a second database during processing of a transaction, the transaction requesting a set of database modifications, the apparatus comprising:
-
a second database failure detector;
a cache synchronization message application server sender coupled to said second database failure detector; and
a second database avoider coupled to said second database failure detector.
-
-
17. An apparatus for failover from a failure of a first database during processing of a transaction, the transaction requesting a set of database modifications, the apparatus comprising:
-
means for detecting a failure in the first database;
means for placing a message in one or more message queues, said message indicating objects inserted, updated, or deleted in the transaction, unless said message has already been placed;
means for sending the requested set of database modifications and a commit command to a second database; and
means for avoiding the first database in future transaction until the first database is restored. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification