Cross-scope synchronization of data item knowledge and corresponding metadata
First Claim
Patent Images
1. A method of exchanging knowledge between two nodes of a distributed multi-master synchronization environment, the method comprising:
- receiving a synchronization request from a first node;
receiving knowledge of the first node;
determining first versioning information of a second node pertaining to a synchronization scope applicable to a set of nodes of a plurality of nodes where at least one object was at least one of changed or was created, and determining second versioning information of the second node for the at least one object applicable to at least one different synchronization scope of at least a second set of nodes;
depending upon a present synchronization scope between the first node and the second node using either the first versioning information of the second node or the second versioning information of the second node as knowledge of the second node;
comparing knowledge of the first node with the knowledge of the second node to obtain change information of which the first node is unaware, the knowledge of the first node and the knowledge of the second node represented by labeling each object to be shared with a replica identifier and a version identifier;
sending to the first node the change information of which the first node is unaware;
sending to the first node knowledge of the second node; and
receiving from the first node change information of which the second node is unaware.
1 Assignment
0 Petitions
Accused Products
Abstract
The subject disclosure relates to cross scope synchronization among different sets of nodes that synchronize the same data item(s) according to different synchronization scopes. In one aspect, create and update versions are defined for a scope in which a data item was created and updated, respectively, and create and update versions are defined for a local node shared for different groups of nodes synchronizing according to the different synchronization scopes (e.g., a server node).
17 Citations
20 Claims
-
1. A method of exchanging knowledge between two nodes of a distributed multi-master synchronization environment, the method comprising:
-
receiving a synchronization request from a first node; receiving knowledge of the first node; determining first versioning information of a second node pertaining to a synchronization scope applicable to a set of nodes of a plurality of nodes where at least one object was at least one of changed or was created, and determining second versioning information of the second node for the at least one object applicable to at least one different synchronization scope of at least a second set of nodes; depending upon a present synchronization scope between the first node and the second node using either the first versioning information of the second node or the second versioning information of the second node as knowledge of the second node; comparing knowledge of the first node with the knowledge of the second node to obtain change information of which the first node is unaware, the knowledge of the first node and the knowledge of the second node represented by labeling each object to be shared with a replica identifier and a version identifier; sending to the first node the change information of which the first node is unaware; sending to the first node knowledge of the second node; and receiving from the first node change information of which the second node is unaware. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for of exchanging knowledge between two nodes of a distributed multi-master synchronization environment, the system comprising:
-
a node coupled to a knowledge store storing knowledge of the node; the node comprising a synch module that; receives a synchronization request from another node; receives knowledge of the another node; determines first versioning information of the node pertaining to a synchronization scope applicable to a set of nodes of a plurality of nodes where at least one object was at least one of changed or was created, and determining second versioning information of the node for the at least one object applicable to at least one different synchronization scope of at least a second set of nodes; depending upon a present synchronization scope between the another node and the node uses either the first versioning information of the node or the second versioning information of the node as knowledge of the node; compares the knowledge of the node with the knowledge of the another node to obtain change information of which the another node is unaware, the knowledge of the another node and the knowledge of the node represented by labeling each object to be shared with a replica identifier and a version identifier; and send to the another node the change information of which the another node is unaware. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable memory having computer-executable instructions for causing a computer to perform steps comprising:
-
receiving a synchronization request from a first node; receiving knowledge of the first node; determining first versioning information of a second node pertaining to a synchronization scope applicable to a set of nodes of a plurality of nodes where at least one object was at least one of changed or was created, and determining second versioning information of the second node for the at least one object applicable to at least one different synchronization scope of at least a second set of nodes; depending upon a present synchronization scope between the first node and the second node using either the first versioning information of the second node or the second versioning information of the second node as knowledge of the second node; comparing knowledge of the first node with knowledge of the second node to obtain change information of which the first node is unaware, the knowledge of the first node and the knowledge of the second node represented by labeling each object to be shared with a replica identifier and a version identifier; sending to the first node the change information of which the first node is unaware; sending to the first node knowledge of the second node; and receiving from the first node change information of which the second node is unaware. - View Dependent Claims (17, 18, 19, 20)
-
Specification