×

Collision avoidance in bidirectional database replication

  • US 6,662,196 B2
  • Filed: 03/16/2001
  • Issued: 12/09/2003
  • Est. Priority Date: 03/16/2001
  • Status: Active Grant
First Claim
Patent Images

1. A method of avoiding collisions in a bidirectional database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) a table that stores indicia of initiated transactions that are ready to be committed, but are not yet committed, and (iii) a transaction transmitter, each transaction being one or more transaction steps or transaction operations, the method comprising:

  • (a) the transaction transmitter of an originating node sending selected transactions posted to the database of the originating node to one or more other nodes for replication at the one or more other nodes;

    b) pausing each transaction being executed in a database of an originating node prior to a commit operation for the transaction;

    (c) entering into the table at the originating node, indicia of the initiated transactions that are ready to be committed but that are not yet committed, and assigning a ready to commit token to the transaction;

    (d) the transaction transmitter at the originating node sending the ready to commit tokens in the table of the originating node to the one or more other nodes;

    (e) determining at each of the one or more other nodes whether the database at the one or more other nodes is prepared for a commit operation for the transactions corresponding to each received ready to commit tokens, and, if so, the transaction transmitter in each of the other nodes sends back the ready to commit tokens to the respective originating node; and

    (f) executing the commit operation of the transaction in the database of the originating node only upon receipt from each of the other nodes in the system of the ready to commit token originally sent from the originating node for the transaction, wherein the commit operation for each transaction in the system is paused so as to allow all of the nodes in the system to prepare for the commit and thereby avoid collisions at all of the nodes in the system.

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