Anchor for database synchronization excluding uncommitted transaction modifications
First Claim
1. In a computing environment in which a destinationdatabase or data store (102) is synchronized with a source database (106) to apply modifications made to the source database to the destination database or data store, a method comprising:
- determining (414, 710) a new anchor value, including determining an anchor value that excludes any modification or modifications corresponding to an uncommitted transaction, the new anchor value based on a datatype value comprising an increasing counter value (330) or a date and time value (630) stored with each modification;
wherein determining the new anchor value comprises, obtaining (402) a first set of committed modifications that do not include uncommitted modifications, obtaining (406) a second set of modifications that includes committed modifications and uncommitted modifications, and establishing (412) the new anchor value based on a minimum value that exists in the second set but not in the first set;
wherein determining the new anchor value comprises, accessing (702) data corresponding to one or more active transactions, in which the data includes a start date and time associated with each active transaction, and establishing (708, 710) the new anchor value based on a minimum start date and time; and
using (416, 712) the new anchor value to enumerate modifications that were made to the source database.
3 Assignments
0 Petitions
Accused Products
Abstract
Described is a technology in which an anchor value is determined, for example to synchronize a destination database or data store with modifications made to a source database. The new anchor value is determined in a manner that excludes modifications corresponding to any uncommitted transactions. The new anchor value may be based on a counter value or a date and time value stored with each modification. The new anchor value may be determined by comparing a first set of committed modifications that do not include uncommitted modifications against a second set of modifications that includes committed modifications and uncommitted modifications. Alternatively, the new anchor value may be determined from the earliest start date and time among the modifications that are part of any uncommitted transactions. The anchor may be used (e.g., via queries) to enumerate modifications for synchronization, and also for detecting conflicts between the source and destination databases.
-
Citations
10 Claims
-
1. In a computing environment in which a destination
database or data store (102) is synchronized with a source database (106) to apply modifications made to the source database to the destination database or data store, a method comprising: -
determining (414, 710) a new anchor value, including determining an anchor value that excludes any modification or modifications corresponding to an uncommitted transaction, the new anchor value based on a datatype value comprising an increasing counter value (330) or a date and time value (630) stored with each modification; wherein determining the new anchor value comprises, obtaining (402) a first set of committed modifications that do not include uncommitted modifications, obtaining (406) a second set of modifications that includes committed modifications and uncommitted modifications, and establishing (412) the new anchor value based on a minimum value that exists in the second set but not in the first set; wherein determining the new anchor value comprises, accessing (702) data corresponding to one or more active transactions, in which the data includes a start date and time associated with each active transaction, and establishing (708, 710) the new anchor value based on a minimum start date and time; and using (416, 712) the new anchor value to enumerate modifications that were made to the source database. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computing environment, a system comprising:
-
a source database (106) of a server (108) that receives modifications and stores a date and time stamp in conjunction with each modification; a destination database or data store (102) that is synchronized with the modifications received at the source database; a synchronization mechanism (110) coupled to the source database and destination database or data store that computes a new anchor value (340, 640) for synchronizing the destination database or data store with a range of modifications, the new anchor value based upon the earliest date and time stamp that is used to track a modification that is part of an uncommitted transaction; wherein the synchronization mechanism (310) computes the new anchor value by comparing a first set of committed modifications (336) that do not include uncommitted modifications against a second set of modifications (338) that includes committed modifications and uncommitted modifications; and wherein the synchronization mechanism computes the new anchor value by determining a minimum start date and time value from among start date and time values associated with active transactions (660).
-
-
8. A method, comprising:
-
evaluating (412) tracking data associated with at least one modification made to a source database that corresponds to an uncommitted transaction, the tracking data comprising a counter to track each modification, wherein the tracking data includes table data in the source database, and wherein evaluating the tracking data includes comparing (408) a first set of committed modifications that do not include uncommitted modifications against a second set of modifications that includes committed modifications; determining (414) a new anchor value for the source database based on the tracking data, wherein determining the new anchor value comprises selecting (414) from the tracking data a minimum value that exists in the second set but not in the first set; and using (416) the new anchor value to enumerate modifications that were made to the source database with respect to a previous anchor value. - View Dependent Claims (9, 10)
-
Specification