EFFICIENT KNOWLEDGE REPRESENTATION IN DATA SYNCHRONIZATION SYSTEMS
First Claim
1. A method for synchronizing a set of objects between a first node and a second node of a plurality of nodes connectable via one or more networks, comprising:
- initiating synchronization by the first node with the second node including transmitting to the second node knowledge of the first node concerning a set of objects and corresponding versions for the objects of the set of objects represented on the first node;
receiving by the first node first changes to the set of objects from the second node of which the first node is not aware based on a comparison of knowledge of the second node and the knowledge of the first node;
receiving by the first node from the second node the knowledge of the second node concerning the set of objects and corresponding versions of the objects of the set of objects represented on the second node; and
comparing the knowledge of the second node with the knowledge of the first node to determine what second changes to the set of objects to send to the second node of which the second node is unaware.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient way is provided to represent and exchange knowledge across nodes when synchronizing between any two nodes. A first node sends a second node its knowledge, including objects and versions of those objects. The second node compares its knowledge with the knowledge of the first node, and then sends the first node any latest versions of objects of which the first node is unaware. In addition, the second node sends its knowledge to the first node. The first node then performs a similar object-by-object version comparison to determine any conflicts due to independent evolution of objects and any changes that should be sent to the second node in order to bring the objects of the second node up to date with the knowledge of the first node.
-
Citations
20 Claims
-
1. A method for synchronizing a set of objects between a first node and a second node of a plurality of nodes connectable via one or more networks, comprising:
-
initiating synchronization by the first node with the second node including transmitting to the second node knowledge of the first node concerning a set of objects and corresponding versions for the objects of the set of objects represented on the first node; receiving by the first node first changes to the set of objects from the second node of which the first node is not aware based on a comparison of knowledge of the second node and the knowledge of the first node; receiving by the first node from the second node the knowledge of the second node concerning the set of objects and corresponding versions of the objects of the set of objects represented on the second node; and comparing the knowledge of the second node with the knowledge of the first node to determine what second changes to the set of objects to send to the second node of which the second node is unaware. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A first node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects between the first node and any second node of the plurality of nodes, comprising:
-
a synchronization component for synchronizing the set of objects between the first node any second node of the plurality of nodes, including; a synchronization communications component that initiates synchronization with the second node, that transmits to the second node first knowledge about the set of objects including corresponding versions represented on the first node, that receives first changes to the set of objects from the second node about which the first node does not know and that receives second knowledge of the second node about the set of objects and corresponding versions represented on the second node; and a synchronization analysis component that updates the set of objects represented on the first node and the first knowledge based on said first changes and compares the second knowledge with the first knowledge to determine what second changes to the set of objects to send to the second node about which the second node does not know. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computing device for synchronizing a set of objects between a first node and a second node of a plurality of nodes connectable via one or more networks, comprising, comprising:
-
a synchronization initiation component that initiates synchronization by the first node with the second node when connected via the one or more networks; an input/output component that; outputs to the second node knowledge of the first node concerning a set of objects including corresponding versions for the objects of the set of objects represented on the first node; receives first input representing first changes to the set of objects from the second node about which the first node does not have represented in the knowledge of the first node; and receives second input representing knowledge of the second node concerning the set of objects including corresponding versions of the objects of the set of objects represented on the second node; and a synchronization analysis component for comparing the knowledge represented by the second input with the knowledge of the first node to determine what second changes to the set of objects to transmit to the second node not represented in the knowledge of the second input. - View Dependent Claims (20)
-
Specification