Update-anywhere replication of distributed systems
First Claim
1. A replicator for replicating data among a plurality of processing sites each communicatively coupled to a network, the replicator comprising:
- a fault tolerant distributed lock manager (FTDLM) for acquiring one or more distributed exclusive locks associated with a write transaction, the write transaction comprising a set of data changes; and
a total persisted order state machine (TPOSM) for creating and sending a change set to the plurality of processing sites, the change set comprising the data changes retrieved after the write transaction is committed and preserving change ordering in a total persisted order;
wherein the one or more distributed exclusive locks release after the change set is sent to the plurality of processing sites; and
wherein the plurality of processing sites reconcile the change set with a received change set and a received lock management message for changing ownership of the one or more distributed exclusive locks, so that the change sets are applied and locks are released in the total persisted order.
5 Assignments
0 Petitions
Accused Products
Abstract
Transactional database replication techniques are disclosed. The techniques can be realized in many ways, such as in a replicator module that can be instantiated at each site in a distributed system. The techniques support a variety of data storage technologies such as traditional durable transactional databases as well as in-memory data storage systems, and a variety of data types such as relational, flat file, XML, and object-oriented data. Guaranteed levels of distributed transactional data consistency for both reads and writes are enabled for database applications. The techniques also support the ability of applications distributed across a network to perform updates concurrently, and the ability to replicate many standard database systems without needing to modify their intrinsic behavior or needing them to be aware of the replicator, and the ability to tolerate network and process failures without any change to the data consistency guarantees provided to the applications.
78 Citations
34 Claims
-
1. A replicator for replicating data among a plurality of processing sites each communicatively coupled to a network, the replicator comprising:
-
a fault tolerant distributed lock manager (FTDLM) for acquiring one or more distributed exclusive locks associated with a write transaction, the write transaction comprising a set of data changes; and a total persisted order state machine (TPOSM) for creating and sending a change set to the plurality of processing sites, the change set comprising the data changes retrieved after the write transaction is committed and preserving change ordering in a total persisted order; wherein the one or more distributed exclusive locks release after the change set is sent to the plurality of processing sites; and wherein the plurality of processing sites reconcile the change set with a received change set and a received lock management message for changing ownership of the one or more distributed exclusive locks, so that the change sets are applied and locks are released in the total persisted order. - View Dependent Claims (2, 3, 4, 5, 19)
-
-
6. A method for replicating data among a plurality of processing sites each communicatively coupled to a network, the method comprising:
-
acquiring one or more distributed exclusive locks associated with a write transaction, the write transaction comprising a set of data changes; creating a change set that comprises the data changes retrieved after the write transaction is committed and preserves change ordering in a total persisted order; sending the change set to the plurality of processing sites; releasing the one or more distributed exclusive locks after the change set is sent to the plurality of processing sites; and reconciling the change set with a received change set and a received lock management message for changing ownership of the one or more distributed exclusive locks, so that the change sets are applied and locks are released in the total persisted order. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
20. A machine-readable medium encoded with instructions, that when executed by a processor, cause the processor to carry out a process for replicating data among a plurality of processing sites each communicatively coupled to a network, the process comprising:
-
acquiring one or more distributed exclusive locks associated with a write transaction; creating a change set that preserves change ordering in a total persisted order containing the data changes associated with the write transaction retrieved after the write transaction is committed; sending the change set to the plurality of processing sites; releasing the one or more distributed exclusive locks after the change set is sent to the plurality of processing sites; and reconciling the change set with a received change set and a received lock management message for changing ownership of the one or more distributed exclusive locks, so that the change sets are applied and locks are released in the total persisted order. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification