DATA SYNCHRONIZATION AND CONSISTENCY ACROSS DISTRIBUTED REPOSITORIES
First Claim
Patent Images
1. A method comprising:
- retrieving a first hash value of a first root node in a first tree structure associated with a first secondary repository, wherein the first secondary repository comprises a first machine-readable storage medium encoded with the first tree structure;
retrieving a second hash value of a second root node in a second tree structure associated with a primary repository, wherein the primary repository comprises a second machine-readable storage medium encoded with the second tree structure;
comparing the first hash value and the second hash value;
determining that the first hash value is not equal to the second hash value;
retrieving a third hash value of a first data unit associated with the first root node and a fourth hash value of a second data unit associated with the second root node, wherein the first data unit is stored in the first secondary repository and the second data unit is stored in the primary repository;
comparing the third and the fourth hash values;
determining that the third hash value is not equal to the fourth hash value; and
modifying the first data unit in the first secondary repository to be synchronized with the second data unit of the primary repository.
1 Assignment
0 Petitions
Accused Products
Abstract
Data associated with the services in a service oriented architecture are stored in a primary repository and replicated across secondary repositories. Functionality can be implemented to efficiently synchronize data across the primary repository and the secondary repositories. Data synchronization can comprise calculating and comparing hash values of one or more nodes, based in part on concatenated hash values of child nodes and data that comprise the one or more nodes, of a tree structure representing data stored in the repositories.
192 Citations
20 Claims
-
1. A method comprising:
-
retrieving a first hash value of a first root node in a first tree structure associated with a first secondary repository, wherein the first secondary repository comprises a first machine-readable storage medium encoded with the first tree structure; retrieving a second hash value of a second root node in a second tree structure associated with a primary repository, wherein the primary repository comprises a second machine-readable storage medium encoded with the second tree structure; comparing the first hash value and the second hash value; determining that the first hash value is not equal to the second hash value; retrieving a third hash value of a first data unit associated with the first root node and a fourth hash value of a second data unit associated with the second root node, wherein the first data unit is stored in the first secondary repository and the second data unit is stored in the primary repository; comparing the third and the fourth hash values; determining that the third hash value is not equal to the fourth hash value; and modifying the first data unit in the first secondary repository to be synchronized with the second data unit of the primary repository. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
retrieving a first hash value associated with a first root node in a first tree structure of a secondary repository, wherein the secondary repository comprises a first machine-readable storage medium encoded with the first tree structure; comparing the first retrieved hash value with a second hash value, wherein the second hash value is associated with a second root node in a second tree structure of a primary repository, wherein the primary repository comprises a second machine-readable storage medium encoded with the second tree structure; determining that the first and the second hash values are equal; and generating an indication that the primary repository and the secondary repository are synchronized. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer program product comprising a computer readable storage medium having computer readable code embodied therewith, said computer readable code comprising:
-
computer readable code configured to generate a tree structure, comprising a set of nodes, associated with a data repository based, at least in part, on a set of data units of the data repository, wherein the set of nodes comprises a first node associated with at least a first and a second data unit of the data repository and a second node that is a child of the first node; computer readable code configured to compute a hash of a concatenation of hash values of at least a third and a fourth data unit of the data repository to generate a first hash value of the second node, wherein the second node is associated with at least the third and the fourth data units of the data repository; computer readable code configured to compute a hash of a concatenation of the first hash value of the second node and the hash values of the first and the second data units of the data repository to generate a second hash value of the first node; and computer readable code configured to associate the second hash value with the first node. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
a processor unit; a memory unit coupled to the processor unit; and a synchronization unit configured to retrieve a first hash value of a first root node in a first tree structure associated with a secondary repository; retrieve a second hash value of a second root node in a second tree structure associated with a primary repository; compare the first hash value and the second hash value; determine that the first hash value is not equal to the second hash value; retrieve a third hash value of a first data unit associated with the first root node and a fourth hash value of a second data unit associated with the second root node, wherein the first data unit is stored in the secondary repository and the second data unit is stored in the primary repository; compare the third and the fourth hash values; determine that the third hash value is not equal to the fourth hash value; and modify the first data unit in the secondary repository to be synchronized with the second data unit of the primary repository. - View Dependent Claims (20)
-
Specification