Filtered replication of data stores
First Claim
Patent Images
1. A method for replicating at least one change to stored data between replicas in a sync community wherein each replica makes changes independently of other replicas in the sync community, comprising:
- receiving, at a second replica, a first replica knowledge value that represents knowledge of changes to the stored data that a first replica is aware, and a first filter that identifies a first particular set of data in the stored data, wherein the first replica knowledge value includes a first change identifier and a second change identifier, the first change identifier indicating the first replica is aware of all changes made by the first replica up to the first change identifier, the second change identifier indicating the first replica is aware of all changes made by a third replica up to the second change identifier;
comparing the first replica knowledge value with versions associated with changes to the stored data in the second replica to identify the at least one change known by the second replica that the first replica is not aware, wherein the at least one change is associated with a first particular set of data identified by the first filter;
sending the at least one change to the first replica;
sending, to the second replica, a system knowledge value provided by a knowledge store that represents knowledge of changes to the stored data that a system is aware, and a second filter provided by a filter store that identifies a second particular set of data in the stored data;
receiving at least one received change that exists in the second replica that the system was not aware, wherein the at least one received change is associated with the second particular set of data identified by the second filter;
incorporating the at least one received change into the stored data associated with item data store module;
receiving information that identifies at least one non-filtered change to the stored data that is not represented by the first replica knowledge value and is also not associated with the second particular set of data identified by the second filter according to the second replica; and
updating the stored data maintained by the first replica using the information that identifies the at least one non-filtered change, wherein said updating the stored data maintained by the first replica further comprises creating at least one exception in the first replica knowledge value according to the information that identifies the at least one non-filtered change, the at least one exception referencing knowledge of changes to the stored data that the first replica was aware before receiving the at least one change.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods for enabling mult-master synchronization of particular sets of data using filters. In a synchronization request, data including knowledge and filters may be supplied. A response may comprise data including changes that are identified by the filter and that have versions that are not known by the requestor.
39 Citations
14 Claims
-
1. A method for replicating at least one change to stored data between replicas in a sync community wherein each replica makes changes independently of other replicas in the sync community, comprising:
-
receiving, at a second replica, a first replica knowledge value that represents knowledge of changes to the stored data that a first replica is aware, and a first filter that identifies a first particular set of data in the stored data, wherein the first replica knowledge value includes a first change identifier and a second change identifier, the first change identifier indicating the first replica is aware of all changes made by the first replica up to the first change identifier, the second change identifier indicating the first replica is aware of all changes made by a third replica up to the second change identifier; comparing the first replica knowledge value with versions associated with changes to the stored data in the second replica to identify the at least one change known by the second replica that the first replica is not aware, wherein the at least one change is associated with a first particular set of data identified by the first filter; sending the at least one change to the first replica; sending, to the second replica, a system knowledge value provided by a knowledge store that represents knowledge of changes to the stored data that a system is aware, and a second filter provided by a filter store that identifies a second particular set of data in the stored data; receiving at least one received change that exists in the second replica that the system was not aware, wherein the at least one received change is associated with the second particular set of data identified by the second filter; incorporating the at least one received change into the stored data associated with item data store module; receiving information that identifies at least one non-filtered change to the stored data that is not represented by the first replica knowledge value and is also not associated with the second particular set of data identified by the second filter according to the second replica; and updating the stored data maintained by the first replica using the information that identifies the at least one non-filtered change, wherein said updating the stored data maintained by the first replica further comprises creating at least one exception in the first replica knowledge value according to the information that identifies the at least one non-filtered change, the at least one exception referencing knowledge of changes to the stored data that the first replica was aware before receiving the at least one change. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for managing and replicating changes to stored data between replicas in a sync community, wherein each replica makes changes independently of other replicas in the sync community, comprising:
-
a processor; a memory operatively coupled to the processor; an item data store module to manage the stored data; a knowledge store module to manage knowledge of changes to the stored data; a filter store module to maintain one or more filters that each identify a particular set of data in the stored data; a change enumeration module to; receive a first replica knowledge value that represents knowledge of changes to the stored data that a first replica is aware, and a first filter that identifies a first particular set of data in the stored data, wherein the first replica knowledge value includes a first change identifier and a second change identifier, the first change identifier indicating the first replica is aware of all changes made by the first replica up to the first change identifier, the second change identifier indicating the first replica is aware of all changes made by a third replica up to the second change identifier, the changes made by the third replica up to the second change identifier including a first change to a first item and a second change to a second item, the first change and second change corresponding to different change identifiers; compare the first replica knowledge value with versions associated with changes provided by the item data store module to identify at least one enumerated change known by the system that the first replica is not aware, wherein the at least one enumerated change is associated with a first particular set of data identified by a first filter; and send the at least one enumerated change to the first replica; and
a change incorporation module to;send, to a second replica, a system knowledge value provided by the knowledge store that represents knowledge of changes to the stored data that the system is aware of, and a second filter provided by the filter store module that identifies a second particular set of data in the stored data; receive at least one received change that exists in the second replica that the system was not aware, wherein the at least one received change is associated with the second particular set of data identified by the second filter; incorporate the at least one received change into the stored data associated with item data store module; receive information that identifies at least one non-filtered change to the stored data that is not represented by the first replica knowledge value and is also not associated with the first particular set of data identified by the first filter according to the second replica; and update the stored data maintained by the first replica using the information that identifies the at least one non-filtered change, wherein updating the stored data maintained by the first replica further comprises creating at least one exception in the first replica knowledge value according to the information that identifies the at least one non-filtered change, the at least one exception referencing the knowledge of changes to the stored data that the first replica was aware before receiving the at least one enumerated change. - View Dependent Claims (11, 12, 13, 14)
-
Specification