Patent ID: 7177866

Claim:
A method of replicating data associated with a plurality of transactions in a replication system including a plurality of nodes connected via communication media in a topology, each node including a database, at least some of the nodes being able to independently receive and post transactions, each transaction being one or more transaction steps or transaction operations, including a commit operation, the method comprising: (a) initiating and performing transaction steps or transaction operations of a transaction to be executed in a database at an originating node; and (b) replicating the transaction steps or transaction operations to at least one or more other nodes while the transaction steps or transaction operations are being performed in the database at the originating node by: (i) pausing the commit operation for each transaction being executed in the database at the originating node, (ii) assigning a ready to commit token to the transaction, (iii) sending the ready to commit token to the one or more other nodes, (iv) determining at the one or more other nodes whether the respective databases are prepared for a commit operation for the transaction corresponding to the ready to commit token, and, if so, sending back the ready to commit token to the originating node, and (v) executing a commit operation at the database of the originating node only upon receipt from at least one of the other nodes of the ready to commit tokens originally sent from the originating node, wherein one or more transaction steps or transaction operations have been performed for each transaction being paused, and wherein step (b) is performed asynchronously with respect to other transaction steps or transaction operations that are initiated in step (a).