US2024202182A1PendingUtilityA1

Data replication in active-active databases

Assignee: IBMPriority: Dec 14, 2022Filed: Dec 14, 2022Published: Jun 20, 2024
Est. expiryDec 14, 2042(~16.4 yrs left)· nominal 20-yr term from priority
G06F 16/273G06F 16/27G06F 16/2365
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of managing an active-active database system storing a first copy of data records at a first node a second copy of the data records at a second node includes receiving a first set of operations stored at the first node as a first set of local operations, a copy of the first set of operations transmitted to the second node and stored as a first set of remote operations, and receiving a second set of operations stored at the second node as a second set of local operations, a copy of the second set of operations transmitted to the first node and stored as a second set of remote operations. The method includes determining a comparison point by selecting an operation from each of the first set of operations and the second set of operations, and comparing the first copy of the data records to the second copy.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of managing an active-active database system, the method comprising:
 accessing the database system by a processing device, the database system storing a collection of data records, wherein the database system stores a first copy of the data records at a first node, and a second copy of the data records at a second node;   receiving a first set of operations at the first node, the first set of operations stored at the first node as a first set of local operations, a copy of the first set of operations transmitted to the second node and stored as a first set of remote operations;   receiving a second set of operations at the second node, the second set of operations stored at the second node as a second set of local operations, a copy of the second set of operations transmitted to the first node and stored as a second set of remote operations;   determining a comparison point by selecting an operation from each of the first set of operations and the second set of operations;   comparing the first copy of the data records to the second copy of the data records, wherein the comparing includes;   comparing values of data records of the first copy that are not changed by operations subsequent to the comparison point, to values of data records of the second copy that are not changed by operations subsequent to the comparison point;   comparing old data values of data records of the first copy that are updated by one or more subsequent operations, to old data values of data records of the second copy that are updated by one or more subsequent operations;   comparing operations occurring after the comparison point; and   determining whether the first and second nodes are consistent based on the comparing.   
     
     
         2 . The method of  claim 1 , wherein the processing device includes a first comparison module stored locally with the first copy and a second comparison module stored locally with the second copy. 
     
     
         3 . The method of  claim 2 , wherein the first comparison module negotiates with the second comparison module to select the comparison point based on a sequence of the first set of operations and a sequence of the second operations. 
     
     
         4 . The method of  claim 3 , wherein the first module negotiates with the second module to provide sufficient time to prepare the first module and the second module to perform a comparison. 
     
     
         5 . The method of  claim 2 , transmit all subsequent operations occurring after the selected operations from the second node to the first node, and manage the order of execution of each of the subsequent operations by the first module. 
     
     
         6 . The method of  claim 1 , further comprising logging the old data values of data records of the first copy that are updated by the one or more subsequent operations, and logging the old data values of data records of the second copy that are updated by one or more subsequent operations. 
     
     
         7 . The method of  claim 1 , further comprising adding a flag to each data record of the first copy and the second copy that is updated by the one or more subsequent operations. 
     
     
         8 . The method of  claim 1 , wherein the first comparison and the second comparison are performed independently. 
     
     
         9 . A system for managing an active-active database system, the system comprising:
 a processor communicatively coupled to a memory, the processor configured to perform:   accessing the database system by a processing device, the database system storing a collection of data records, wherein the database system stores a first copy of the data records at a first node, and a second copy of the data records at a second node;   receiving a first set of operations at the first node, the first set of operations stored at the first node as a first set of local operations, a copy of the first set of operations transmitted to the second node and stored as a first set of remote operations;   receiving a second set of operations at the second node, the second set of operations stored at the second node as a second set of local operations, a copy of the second set of operations transmitted to the first node and stored as a second set of remote operations;   determining a comparison point by selecting an operation from each of the first set of operations and the second set of operations;   comparing the first copy of the data records to the second copy of the data records, wherein the comparing includes:   comparing values of data records of the first copy that are not changed by operations subsequent to the comparison point, to values of data records of the second copy that are not changed by operations subsequent to the comparison point;   comparing old data values of data records of the first copy that are updated by one or more subsequent operations, to old data values of data records of the second copy that are updated by one or more subsequent operations;   comparing operations occurring after the comparison point; and   determining whether the first and second nodes are consistent based on the comparing.   
     
     
         10 . The system of  claim 9 , wherein the processing device includes a first comparison module stored locally with the first copy and a second comparison module stored locally with the second copy. 
     
     
         11 . The system of  claim 10 , wherein the first comparison module negotiates with the second comparison module to select the comparison point based on a sequence of the first set of operations and a sequence of the second operations. 
     
     
         12 . The system of  claim 11 , wherein the first module negotiates with the second module to provide sufficient time to prepare the first module and the second module to perform a comparison. 
     
     
         13 . The system of  claim 10 , transmit all subsequent operations occurring after the selected operations from the second node to the first node, and manage the order of execution of each of the subsequent operations by the first module. 
     
     
         14 . The system of  claim 9 , wherein the processing is configured to further perform:
 logging the old data values of data records of the first copy that are updated by the one or more subsequent operations, and logging the old data values of data records of the second copy that are updated by one or more subsequent operations.   
     
     
         15 . A computer program product for managing an active-active database, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:
 accessing the database system by a processing device, the database system storing a collection of data records, wherein the database system stores a first copy of the data records at a first node, and a second copy of the data records at a second node;   receiving a first set of operations at the first node, the first set of operations stored at the first node as a first set of local operations, a copy of the first set of operations transmitted to the second node and stored as a first set of remote operations;   receiving a second set of operations at the second node, the second set of operations stored at the second node as a second set of local operations, a copy of the second set of operations transmitted to the first node and stored as a second set of remote operations;   determining a comparison point by selecting an operation from each of the first set of operations and the second set of operations;   comparing the first copy of the data records to the second copy of the data records, wherein the comparing includes:   comparing values of data records of the first copy that are not changed by operations subsequent to the comparison point, to values of data records of the second copy that are not changed by operations subsequent to the comparison point;   comparing old data values of data records of the first copy that are updated by one or more subsequent operations, to old data values of data records of the second copy that are updated by one or more subsequent operations;   comparing operations occurring after the comparison point; and   determining whether the first and second nodes are consistent based on the comparing.   
     
     
         16 . The computer program product of  claim 15 , wherein the processing device includes a first comparison module stored locally with the first copy and a second comparison module stored locally with the second copy. 
     
     
         17 . The computer program product of  claim 16 , wherein the first comparison module negotiates with the second comparison module to select the comparison point based on a sequence of the first set of operations and a sequence of the second operations. 
     
     
         18 . The computer program product of  claim 17 , wherein the first module negotiates with the second module to provide sufficient time to prepare the first module and the second module to perform a comparison. 
     
     
         19 . The computer program product of  claim 16 , transmit all subsequent operations occurring after the selected operations from the second node to the first node, and manage the order of execution of each of the subsequent operations by the first module. 
     
     
         20 . The computer program product of  claim 15 , wherein the method further includes logging the old data values of data records of the first copy that are updated by the one or more subsequent operations, and logging the old data values of data records of the second copy that are updated by one or more subsequent operations.

Join the waitlist — get patent alerts

Track US2024202182A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.