KNOWLEDGE BASED SYNCHRONIZATION OF SUBSETS OF DATA WITH NO MOVE CONDITION
First Claim
1. A first node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects and/or a subset of the objects between the first node and any second node of the plurality of nodes, comprising:
- a synchronization component for synchronizing the set of objects and/or a subset of the 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 and any first filtered 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 and any second filtered 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 and any first filtered knowledge based on the first changes and compares the second knowledge and any second filtered 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.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient way is provided to represent and exchange knowledge and/or partial knowledge across nodes when synchronizing between any two nodes. A first node sends a second node its knowledge and/or partial knowledge, including objects and versions of those objects. The second node compares its knowledge and/or partial knowledge with the knowledge and/or partial 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 and/or partial 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 and/or partial knowledge of the first node.
50 Citations
20 Claims
-
1. A first node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects and/or a subset of the objects between the first node and any second node of the plurality of nodes, comprising:
-
a synchronization component for synchronizing the set of objects and/or a subset of the 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 and any first filtered 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 and any second filtered 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 and any first filtered knowledge based on the first changes and compares the second knowledge and any second filtered 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 (2, 3, 4, 5, 6)
-
-
7. A method for synchronizing a set of objects and/or a subset of the 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 and/or any partial knowledge of the set of objects and corresponding versions for the objects of the partial knowledge; 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 and/or any partial knowledge of the second node and the knowledge and/or any partial knowledge of the first node; receiving by the first node from the second node the knowledge concerning the set of objects and/or any partial knowledge of the second node; and comparing the knowledge and/or any partial knowledge of the second node of the second node with the knowledge and/or any partial knowledge of the second node 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 (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device for synchronizing a subset of 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; an input/output component that; outputs to the second node partial knowledge of the first node concerning a subset of a set of objects including corresponding versions for the objects of the subset of objects represented on the first node; receives first input representing first changes to the subset of objects from the second node about which the first node does not have represented in the partial knowledge of the first node; and receives second input representing knowledge of the second node concerning the subset of objects including corresponding versions of the objects of the subset of objects represented on the second node; and a synchronization analysis component for comparing the partial knowledge represented by the second input with the partial knowledge of the first node to determine what second changes to the subset of objects to transmit to the second node not represented in the partial knowledge of the second input. - View Dependent Claims (20)
-
Specification