Patent ID: 7620842

Claim:
A method for recovering transactions comprising: providing a cluster of servers executing on one or more computers, wherein each computer includes a computer readable medium and a processor operating thereon; providing, at each of the servers within the cluster a transaction recovery service, and a corresponding transaction log for which the transaction recovery service has ownership and which is stored on a shared computer readable medium also accessible by other servers in the cluster; detecting, within the cluster, a failure of a primary server associated with a first transaction recovery service and a first transaction log stored on the shared computer readable medium, wherein the first transaction log includes records of a current transaction and participants being coordinated by the primary server for participation in the current transaction; performing failover migration of the first transaction recovery service from the failed primary server to a back-up server in the cluster that also has access to the shared computer readable medium, and maintaining ownership by the first transaction recovery service of the first transaction log; performing transaction recovery for the failed primary server by the first transaction recovery service at the back-up server, using the first transaction log, and including processing any unfinished transactions; and after primary server transaction recovery is complete, performing failback migration of the first transaction recovery service from the back-up server to the primary server to allow the primary server to service new or subsequent transactions.