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, comprising:
- a processor; and
a memory component communicatively coupled to the processor, the memory component having stored therein computer-executable instructions that when executed by the processor cause the processor to implementa synchronization component configured to synchronize a set of objects between the first node and a second node of the plurality of nodes, includinga synchronization communications component configured to initiate a synchronization with the second node, the synchronization component further configured to transmit to the second node first knowledge about the set of objects represented on the first node, wherein the synchronization communications component is further configured to receive a first subset of a first set of changes to the set of objects from the second node about which the first node does not know, and wherein the synchronization communications component is further configured to receive second knowledge about the set of objects represented on the second node, anda synchronization analysis component configured to update the set of objects represented on the first node and the first knowledge based on the first subset of the first set of changes, wherein the synchronization analysis component is further configured to compare the second knowledge with the first knowledge to determine a second subset of a second set of changes to the set of objects to send to the second node about which the second node does not know;
at least one of a first filtered knowledge or a second filtered knowledge representing knowledge of respective subsets of information about the set of objects where the set of objects are represented on the first node with a first schema and represented on the second node with a second schema different from the first schema, wherein the first schema and the second schema have at least one overlapping schema element that can be synchronized as a subset; and
filtered knowledge of the first node comprising an exception, representing a situation in which a different amount of information is known about an item or range of items than for a whole scope of items corresponding to the set of objects represented on the first node, the first node creating the exception in response to receiving partial knowledge from the second node.
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.
32 Citations
20 Claims
-
1. A first node of a plurality of nodes connectable via one or more networks, comprising:
-
a processor; and a memory component communicatively coupled to the processor, the memory component having stored therein computer-executable instructions that when executed by the processor cause the processor to implement a synchronization component configured to synchronize a set of objects between the first node and a second node of the plurality of nodes, including a synchronization communications component configured to initiate a synchronization with the second node, the synchronization component further configured to transmit to the second node first knowledge about the set of objects represented on the first node, wherein the synchronization communications component is further configured to receive a first subset of a first set of changes to the set of objects from the second node about which the first node does not know, and wherein the synchronization communications component is further configured to receive second knowledge about the set of objects represented on the second node, and a synchronization analysis component configured to update the set of objects represented on the first node and the first knowledge based on the first subset of the first set of changes, wherein the synchronization analysis component is further configured to compare the second knowledge with the first knowledge to determine a second subset of a second set of changes to the set of objects to send to the second node about which the second node does not know; at least one of a first filtered knowledge or a second filtered knowledge representing knowledge of respective subsets of information about the set of objects where the set of objects are represented on the first node with a first schema and represented on the second node with a second schema different from the first schema, wherein the first schema and the second schema have at least one overlapping schema element that can be synchronized as a subset; and filtered knowledge of the first node comprising an exception, representing a situation in which a different amount of information is known about an item or range of items than for a whole scope of items corresponding to the set of objects represented on the first node, the first node creating the exception in response to receiving partial knowledge from the second node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 employing a processor to execute computer executable instructions stored on a computer readable storage medium to implement the following acts:
-
initiating a synchronization by the first node with the second node including transmitting to the second node first knowledge of the first node concerning a set of objects represented on the first node; receiving by the first node a first subset of a first set of changes, including at least a change with a schema element corresponding to the second node and a change with a schema element common to the first node and the second node, to the set of objects from the second node of which the first node is not aware based on a comparison of the first knowledge and a second knowledge of the second node concerning the set of objects; representing a partial knowledge of the set of objects by the first node or the second node as a filtered version of at least one of the first knowledge or the second knowledge, equivalent to a subset of the set of objects, and having a scope corresponding to an intersection of elements between a first schema corresponding to the first node, and a second schema corresponding to the second node; transmitting a second subset of a second set of changes to the set of objects from the first node of which the second node is unaware based on the comparison; and synchronizing the first node and the second node at least partly by applying at the first node the change in the first subset corresponding to the schema element common to the first node and the second node and consistent with the scope. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device configured to synchronize 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:
-
a processor; and a memory component communicatively coupled to the processor, the memory component having stored therein computer-executable instructions that when executed by the processor cause the processor to implement a synchronization initiation component configured to initiate a synchronization between the first node and the second node, an input/output component configured to output to the second node a first knowledge of the first node concerning the set of objects represented on the first node, receive a first input representing a first subset of a first set of changes to the set of objects from the second node about which the first node does not have representation in the first knowledge of the first node, the first subset including at least a schema element maintained by the second node but not by the first node, and a schema element common to the first node and the second node, and receive a second input representing a second knowledge of the second node concerning the set of objects represented on the second node, and a synchronization analysis component configured to compare the second knowledge represented by the second input with the first knowledge of the first node to determine a second subset of a second set of changes to the set of objects to transmit to the second node not represented in the second knowledge of the second input, and synchronize the first node with the second node at least partly by applying to the first node a change having the common schema element. - View Dependent Claims (20)
-
Specification