Method and apparatus for replicated transaction consistency
First Claim
1. A method for conducting transactions on replica data items replicated from a primary site, comprising:
- initiating a local transaction on the replica data items;
referencing the replica data items with the local transaction;
generating updates to the replica data items from the primary site, the updates occurring independently of the local transaction;
identifying which replica data items were updated at the primary site during the local transaction;
committing the local transaction to the primary site when the local transaction references to the replica data items occur independently of identified replica data items updated from the primary site;
establishing a reference point in time when data items are updated at the primary site by;
committing a dummy transaction to the primary site;
identifying one of the updates from the primary site returning the dummy transaction; and
identifying a set of primary site updates occurring from the initiation of the local transaction to reception of the dummy transaction; and
committing the local transaction only when replica data items referenced by the local transaction are not updated from the primary site before the reference point.
5 Assignments
0 Petitions
Accused Products
Abstract
Local transactions are run at replication sites while receiving and tracking replication packages from primary sites. If a package coming in from a primary site updates data that a local transaction used, the data is considered stale and the local transaction is restarted. When the replication site wishes to commit (e.g., update data at the primary sites), a special dummy marker is submitted and committed. The marker comprises a dummy transaction that updates a piece of data at the primary site private to the replication site. The local site waits for the dummy transaction in the stream of replication packages sent from the primary site. Once the dummy transaction is received, the replication site is assured that any subsequent replication packages from the primary site will not affect the local transaction. If the replication packages received before the marker do not affect data items referenced during the local transaction, the local transaction commits.
-
Citations
21 Claims
-
1. A method for conducting transactions on replica data items replicated from a primary site, comprising:
-
initiating a local transaction on the replica data items; referencing the replica data items with the local transaction; generating updates to the replica data items from the primary site, the updates occurring independently of the local transaction; identifying which replica data items were updated at the primary site during the local transaction; committing the local transaction to the primary site when the local transaction references to the replica data items occur independently of identified replica data items updated from the primary site; establishing a reference point in time when data items are updated at the primary site by; committing a dummy transaction to the primary site; identifying one of the updates from the primary site returning the dummy transaction; and identifying a set of primary site updates occurring from the initiation of the local transaction to reception of the dummy transaction; and committing the local transaction only when replica data items referenced by the local transaction are not updated from the primary site before the reference point. - View Dependent Claims (2, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
3. A method for conducting transactions on replica data items replicated from multiple primary sites, comprising:
-
initiating a local transaction on the replica data items; referencing the replica data items with the local transaction; generating updates to the replica data items from the multiple primary sites, the updates occurring independently of the local transaction; tracking local transaction updates according to which one of the primary sites generated the replica data items; identifying which replica data items were updated by each one of the tracked primary sites during the local transaction by; committing a dummy transaction to each one of the primary sites; waiting for the dummy transaction updates from each one of the primary sites; and identifying all updates from the primary sites that occur from initiation of the local transaction to reception of all dummy transactions; and committing the local transaction to the tracked primary sites when the local transaction references to the replica data items occur independently of identified replica data items updated from the multiple primary sites.
-
-
4. A method for conducting transactions on replica data items replicated from a primary site, comprising:
-
initiating a local transaction on the replica data items; referencing the replica data items with the local transaction; generating updates to the replica data items from the primary site, the updates occurring independently of the local transaction; identifying during the local transaction which replica data items were updated at the primary site; establishing a reference point in time when data items are updated at the primary site; and committing the local transaction only when replica data items referenced by the local transaction are updated from the primary site after the reference point.
-
-
13. A replicated data system, comprising:
-
at least one primary site for storing a database, the primary site generating replication packages reflecting updates to portions of the database; at least one local site connected to the primary site, the local site storing a local replica of at least a portion of the database and conducting local transactions with the local replica; and the local site generating a marker after each local transaction and waiting for receipt of the marker from the primary site before committing each local transaction thereby identifying which of the replication packages affected the local replica during the local transaction. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method for conducting local transactions on replica data copied from a primary database, comprising:
-
generating replication packages for updating data items in the replica data; conducting a transaction that references the replica data; establishing a reference point when data items are updated at the primary database; and committing the local transaction to the primary database when the replication packages generated prior to the reference point do not update the data items referenced during the transaction. - View Dependent Claims (19, 20, 21)
-
Specification