×

Distributed database system utilizing an extended two-phase-commit process

  • US 8,880,486 B2
  • Filed: 07/27/2010
  • Issued: 11/04/2014
  • Est. Priority Date: 07/27/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for implementation in a distributed database system comprising a cluster of databases, the method comprising:

  • sending, by a commit coordinator in a voting phase, a query to commit message to a plurality of cohorts, each cohort being a database instance participating in the cluster of databases, at least one cohort being a cohort mirror redundantly storing data for a corresponding cohort, the query requesting the cohort to execute a transaction up to a commitment point;

    receiving, by the commit coordinator, replies from the plurality of cohorts indicating whether execution of the transaction to the commitment point was successful or if execution of the transaction to the commitment point failed, wherein a reply to the query to commit message sent by the cohort mirror directly to the commit coordinator indicating that execution of the transaction to the commitment point was successful is treated as a reply indicating same by the corresponding cohort;

    sending, by the commit coordinator in a completion phase, a commit message to all of the cohorts if all of the cohorts reply and all of the replies indicate that the execution of the transaction to the commitment point was successful, the commit message causing each cohort to complete the transaction and release any locks and resources held during execution of the transaction;

    orsending, by the commit coordinator in the completion phase, a rollback message to all of the cohorts if one or more of the replies indicate that the execution of the transaction to the commitment point failed, the rollback message causing each cohort to undo the transaction and release any locks and resources held during execution of the transaction;

    initiating, by the commit coordinator, a restart process upon a failure of the commit coordinator; and

    queuing, by the commit coordinator, without starting processing the incoming transactions until a restarted cohort executing a current transaction sends a message indicating completion of the current transaction.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×