Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
First Claim
1. 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).
7 Assignments
0 Petitions
Accused Products
Abstract
Tokens are used to prepare a target database for replication from a source database and to confirm the preparation in an asynchronous coordinated commit replication process. During a dual write replication process, transmission of the replicated data and locking of data records in the target database occurs only on updates.
273 Citations
18 Claims
-
1. 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). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of replicating data associated with a plurality of transactions in a data replication system including first and second nodes connected via communication media in a topology, each node including (i) a database, (ii) a replication engine which performs data replication functions, and (iii) an application which executes transactions and posts the transactions to the database, the application being independent of the replication engine, each transaction being one or more transaction steps or transaction operations, including a commit operation, the method comprising:
-
(a) an application at a first node initiating and performing transaction steps or transaction operations of a transaction to be executed in a database at the first node, the application pausing the commit operation for each transaction being executed in the database at the first node, wherein one or more transaction steps or transaction operations have been performed for each transaction being paused; (b) a replication engine at the first node assigning a ready to commit token to the transaction in coordination with the application; (c) the replication engine at the first node sending the ready to commit token to the second node; (d) a replication engine at a second node determining whether a target database at the second node is 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 first node; and (e) the application at the first node executing a commit operation at the database at the first node in coordination with the replication engine only upon receipt from the second node of the ready to commit token originally sent from the first node, wherein the replication engine operates asynchronously with respect to the application until step (b) occurs. - View Dependent Claims (13, 14)
-
-
15. A method of performing dual writes for replicating transactions among plural databases located at different nodes, each transaction being one or more transaction steps or transaction operations, at least some of the transaction steps or transaction operations being update steps or operations, the method comprising:
-
(a) initiating a transaction at an originating node; (b) inhibiting the dual write replication process from communicating transaction steps or operations of the transaction with one or more other nodes until an update step or operation occurs within the transaction at the originating node; and (c) upon the occurrence of the update step or operation and regardless of whether a commit operation has occurred, performing the dual write replication process with respect to the one or more other nodes and sending with the update step or operation all transaction steps or operations for the transaction that have occurred prior to the update step or operation for the transaction, or prior to the previous update step or operation if a previous update step or operation existed for the transaction. - View Dependent Claims (16)
-
-
17. A method of performing dual writes for replicating transactions among plural databases located at different nodes, each transaction being one or more transaction steps or transaction operations, at least some of the transaction steps or transaction operations being update steps or operations which are performed only after database locking occurs, the method comprising:
-
(a) initiating a transaction at an originating node; and (b) the dual write replication process causing database locking to occur at one or more other nodes only upon the occurrence of an update step or operation in the transaction at the originating node. - View Dependent Claims (18)
-
Specification