SYNCHRONIZATION OF SUBSETS OF DATA INCLUDING SUPPORT FOR VARYING SET MEMBERSHIP
First Claim
1. A computing device, comprising:
- a sync module configured to support variable filter set membership in connection with multi-master synchronization and to communicatively couple to a local replica that stores a local version of a set of data objects and associated metadata, the sync module comprising;
a communications module configured to communicate with at least one other sync module included in a multi-master community of sync modules; and
an analysis module configured to manage information associated with the set of data objects, wherein the information includes (1) knowledge that pertains to at least one version of the set of data objects received from the at least one other sync module, and (2) filter forgotten knowledge that pertains to deleted data objects, or versions thereof, that belong to a filtered subset of the set of data objects in which membership is dynamic.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient way and general mechanism is provided to represent and exchange knowledge and/or partial knowledge across nodes when synchronizing between any two nodes including custom or move filters where set membership can change over time at a device as data items come in and out of filter scope. 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 can 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. Replicas can track filters to efficiently support synchronizing with filtered replicas. Filter forgotten knowledge is also used to represent how recently a replica can guarantee to know which items have been in the filter. Ghosts can be used to represent items that have been in the filter recently but have currently moved out. Filter forgotten knowledge concept allows both new filters to be tracked when they are introduced into the community, as well as periodically cleaning up of tombstones and ghosts.
-
Citations
20 Claims
-
1. A computing device, comprising:
-
a sync module configured to support variable filter set membership in connection with multi-master synchronization and to communicatively couple to a local replica that stores a local version of a set of data objects and associated metadata, the sync module comprising; a communications module configured to communicate with at least one other sync module included in a multi-master community of sync modules; and an analysis module configured to manage information associated with the set of data objects, wherein the information includes (1) knowledge that pertains to at least one version of the set of data objects received from the at least one other sync module, and (2) filter forgotten knowledge that pertains to deleted data objects, or versions thereof, that belong to a filtered subset of the set of data objects in which membership is dynamic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method, comprising:
-
maintaining a first replica for storing a first version of data objects and associated metadata in a computer readable storage medium; configuring the first replica for supporting variable filter set membership in connection with multi-master synchronization; communicating with a second replica of a multi-master community of replicas, the second replica storing a second version of data objects and associated metadata; and including in the first replica knowledge relating to known versions of data objects maintained by the multi-master community and filter forgotten knowledge relating to purged data objects belonging to a filtered subset of the first version of data objects in which membership is variable. - View Dependent Claims (15, 16)
-
-
17. A method, comprising:
-
maintaining a local replica for storing a current version of data objects and associated metadata; communicatively coupling to an other replica of a multi-master community of replicas, the other replica storing an other version of data objects and associated metadata; and maintaining in the local replica knowledge relating to known versions of data objects maintained by the multi-master community, forgotten knowledge relating to purged data object or versions thereof, and filter forgotten knowledge relating to purged data objects, or versions thereof, that are included in a filtered subset, with variable membership, of the local version of data objects. - View Dependent Claims (18, 19, 20)
-
Specification