Method for highly available transaction recovery for transaction processing systems
First Claim
1. A method for recovering transactions comprising:
- first performing failover migration of a transaction recovery service from a failed primary server to a back-up server, the primary server having a transaction log, the transaction recovery service having ownership of the transaction log;
second performing recovery for the failed primary server, the recovery performed on the backup server; and
third performing failback migration of the transaction recovery service from the back-up server to the primary server.
2 Assignments
0 Petitions
Accused Products
Abstract
A highly available transaction recovery service migration system in accordance with one embodiment of the present invention implements a server'"'"'s Transaction Recovery Service (TRS) as a migratable service. In one embodiment of the present invention, the TRS is a server instance or software module implemented in JAVA. The TRS migrates to an available server that resides in the same cluster as the failed server. The migrated TRS obtains the TLOG of the failed server, reads the transaction log, and performs transaction recovery on behalf of the failed server. The migration may occur manually or automatically on a migratable services framework. The TRS of the failed server migrates back in a fail back operation once the failed primary server is restarted. Failback operation may occur whether recovery is completed or not. This expedites recovery and improves availability of the failed server thereby preserving the efficiency of the network and other servers.
60 Citations
69 Claims
-
1. A method for recovering transactions comprising:
-
first performing failover migration of a transaction recovery service from a failed primary server to a back-up server, the primary server having a transaction log, the transaction recovery service having ownership of the transaction log;
second performing recovery for the failed primary server, the recovery performed on the backup server; and
third performing failback migration of the transaction recovery service from the back-up server to the primary server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 18, 19, 20, 22, 23, 24, 25, 45, 46, 47, 52)
-
-
13. A method for performing transaction recovery comprising:
-
(a) detecting a first server is down, the first server having a first transaction log on a memory and a first transaction recovery service;
(b) moving the first transaction recovery service to a second server;
(c) activating the first transaction recovery service on the second server;
(d) performing transaction recovery on behalf of the first server by the first transaction recovery service while the first transaction recovery service resides on the second server;
(e) deactivating the first transaction recovery service on the second server;
(f) moving the first transaction recovery service to the first server; and
(g) activating the first transaction recovery service on the first server. - View Dependent Claims (14, 15, 16, 21, 26, 27, 28, 48, 53, 54, 67)
-
-
29. A method for manually performing failover migration from a failed primary server to a backup server comprising:
-
manually migrating a TRS from a failed primary server to a backup server;
calling a JAVA method of the TRS while the TRS resides on the backup server, the JAVA method configured to activate the TRS on the backup server;
reading the primary server'"'"'s TLOG files by the TRS;
instantiating and placing transactions in the backup server'"'"'s transaction map by the TRS; and
performing recovery for the primary server on the backup server by the TRS, recovery including driving prepared transactions to completion and performing resource recovery.
-
-
30. A method for manually performing failback migration from a backup server to a primary server after recovery on a primary server is complete comprising:
-
completing recovery for a failed primary server by a TRS associated with the primary server and residing on the backup server;
requesting a migratable framework to migrate the TRS from the backup server to the primary server, the backup server making the request to the migratable framework;
deactivating the TRS residing on the backup server by the migratable framework, wherein deactivating the TRS includes the migratable framework calling a JAVA method residing in the TRS to deactivate the TRS on the backup server; and
migrating the TRS from the backup server to the primary server by the migratable framework, wherein the primary server regains ownership of a TLOG corresponding to the primary server upon primary server restart.
-
-
31. A method for manually performing failback migration from a backup server to a primary server before recovery on a primary server is complete comprising:
-
performing recovery for a failed primary server by a TRS associated with the primary server and residing on the backup server;
notifying the backup server that the primary server has restarted, the notification including an administrative MBean;
requesting a migratable framework to migrate the TRS from the backup server to the primary server, the TRS making the request to the migratable framework;
deactivating the TRS residing on the backup server by the migratable framework, wherein deactivating the TRS includes the migratable framework calling a JAVA method residing in the TRS to deactivate the TRS on the backup server; and
migrating the TRS from the backup server to the primary server by the migratable framework, wherein upon a primary server restart, the primary server regains ownership of a TLOG corresponding to the primary server and completes recovery of the primary server. - View Dependent Claims (32)
-
-
33. A method for automatically performing failover migration from a failed primary server to a backup server comprising:
-
detecting the failure of a primary server by a migratable framework;
migrating a TRS associated with the primary server from the failed primary server to a backup server, said migrating a TRS including deactivating the TRS on the primary server by calling an MBean method of the TRS by the migratable framework;
activating the TRS on the backup server, said activating the TRS including reading a TLOG of the primary server, instantiating transactions from the TLOG and moving them to the transaction map of the backup server, and scheduling resource recovery for the failed primary server; and
performing recovery for the primary server by the TRS while the TRS resides on the backup server, said performing recovery including driving prepared transactions to completion and performing resource recovery.
-
-
34. A method for automatically performing failback migration from a backup server to a primary server after recovery performed on a primary server is complete, the method comprising:
-
completing recovery for a primary server by a TRS associated with the primary server, the TRS completing recovery for the primary server while the TRS resides on a backup server, said completing recovery including the TRS checkpointing a TLOG associated with the primary server and relinquishing control of the TLOG of the primary server;
initiating migration of the TRS from the backup server to the primary server, said initiating migration of the TRS including the backup server requesting the migratable framework to migrate the TRS to the primary server;
deactivating the TRS on the backup server, said deactivating the TRS including calling an MBean method of the TRS by the migratable framework; and
migrating the TRS from the backup server to the primary server by the migratable framework, wherein the primary server regains TLOG ownership upon primary server startup.
-
-
35. A method for automatically performing failback migration from a backup server to a primary server before recovery performed on a primary server is complete, the method comprising:
-
restarting a primary server, wherein performing recovery on the primary server is not completed by a TRS residing on the backup server before the primary server is restarted;
initiating migration of a TRS associated with a primary server from a backup server to the primary server, said initiating migration including detecting the startup of the primary server by a migratable framework;
deactivating the TRS residing on the backup server, said deactivating including calling a JAVA method of the TRS to deactivate the TRS, the method configured to;
checkpoint a TLOG associated with the primary server;
purging transactions in the transaction map of the backup server that originated from the TLOG of the primary server; and
stopping resource recovery being performed for the primary server;
migrating the TRS to the primary server; and
activating the TRS on the primary server, said activating the TRS including calling a JAVA method of the TRS to activate the TRS, wherein the primary server regains ownership of the TLOG and performs recovery as required. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
49. A method for performing transaction recovery within a cluster comprising:
-
performing failover migration of a transaction recovery service from a failed primary server to a backup server, the transaction recovery service implemented as a java instance and owning a transaction log corresponding to the primary server;
activating the transaction recovery service on the backup server by the migratable framework, the migratable framework operable to call an activation method of the transaction recovery service, the activation method implemented in java, activating the transaction recovery service including;
reading the transaction log of the primary server;
placing primary server transaction files in a transaction map of the backup server; and
scheduling resource recovery for the primary server;
performing transaction recovery on behalf of the failed primary server by the transaction recovery service, transaction recovery including driving prepared transactions to completion and performing resource recovery;
initiating migration from the backup server to the primary server upon the occurrence of an event; and
performing failback migration of the transaction recovery service from the backup server to the primary server, failback migration including;
deactivating the transaction recovery service on the backup server by the migratable framework, the migratable framework operable to call a deactivation method of the transaction recovery service, the deactivation method implemented in java;
migrating the transaction recovery service to the primary server; and
activating the transaction recovery service on the primary server by calling the activation method. - View Dependent Claims (50, 51, 55)
-
-
56. A method for recovering transactions comprising:
-
performing failover migration of a transaction recovery service from a failed primary server to a backup server, the primary server having a transaction log, and the transaction recovery service having ownership of the log; and
allowing the backup server to read the transaction log and perform recovery on behalf of the failed server. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
68. In a cluster of servers, a server high availability method comprising the step of performing transaction recovery in a backup server using a transaction recovery service and a transaction log stored in a memory shared between the backup server and a failed server before the step of restating the failed server.
-
69. In a cluster of servers, a server high availability method comprising the step of performing transaction recovery in a backup server using a transaction recovery service and a transaction log before the step of restating a failed server.
Specification