Application of a differential dataset to a data store using sequential change sets
First Claim
1. A computer-implemented method for synchronizing a local instance of a data store with at least one remote instance of the data store, comprising:
- comparing a local version of a dataset, that includes a first sequentially-ordered list of change sets associated with the local instance of the data store, to a shared version of the dataset, that includes a second sequentially-ordered list of change sets associated with the at least one remote instance of the data store, to identify one or more new change sets that are included in the shared version of the dataset and are not included in the local version of the dataset, the one or more new change sets comprising a set of operations that represent how a state of a corresponding set of entities in the local instance of the data store must be changed to bring the local instance of the data store into synchronization with the at least one remote instance of the data store, and the one or more new change sets having been automatically modified to ensure that only a single operation is included in the set of operations for each entity in the corresponding set of entities; and
applying the one or more new change sets to the local instance of the data store in the order in which the one or more new change sets appear in the second sequentially-ordered list, the applying the one or more new change sets to the local instance of the data store comprising;
performing, by using a computer system, one or more add, modify or delete operations included in the one or more new changes set with respect to one or more corresponding entities in the local instance of the data store.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described herein for creating, maintaining and applying a dataset that can be used to synchronize multiple instances of a data store. The dataset includes a sequentially-ordered sequence of change sets associated with the data store, wherein each change set includes zero or more entries that specify how the state of certain entities in the data store have changed since state changes represented by a previous change set in the sequence were applied to the data store. When a new change set is added to the dataset, any entries in any previously-added change sets dealing with the entities identified in the new change set are removed. Consequently, the dataset provides a concise and complete representation of all the state changes that have occurred to the data store since a known origin state.
18 Citations
18 Claims
-
1. A computer-implemented method for synchronizing a local instance of a data store with at least one remote instance of the data store, comprising:
-
comparing a local version of a dataset, that includes a first sequentially-ordered list of change sets associated with the local instance of the data store, to a shared version of the dataset, that includes a second sequentially-ordered list of change sets associated with the at least one remote instance of the data store, to identify one or more new change sets that are included in the shared version of the dataset and are not included in the local version of the dataset, the one or more new change sets comprising a set of operations that represent how a state of a corresponding set of entities in the local instance of the data store must be changed to bring the local instance of the data store into synchronization with the at least one remote instance of the data store, and the one or more new change sets having been automatically modified to ensure that only a single operation is included in the set of operations for each entity in the corresponding set of entities; and applying the one or more new change sets to the local instance of the data store in the order in which the one or more new change sets appear in the second sequentially-ordered list, the applying the one or more new change sets to the local instance of the data store comprising; performing, by using a computer system, one or more add, modify or delete operations included in the one or more new changes set with respect to one or more corresponding entities in the local instance of the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a file sharing system that maintains a shared version of a dataset; and a client machine that maintains a local version of the dataset and a local instance of a data store, the client machine including at least one processor that is configured to; obtain the shared version of the dataset from the file sharing system; compare the local version of the dataset, that includes a first sequentially-ordered list of change sets associated with the local instance of the data store, to the shared version of the dataset, that includes a second sequentially-ordered list of change sets associated with at least one remote instance of the data store, to identify one or more new change sets that are included in the shared version of the dataset and are not included in the local version of the dataset, the one or more new change sets comprising a set of operations that represent how a state of a corresponding set of entities in the local instance of the data store must be changed to bring the local instance of the data store into synchronization with the at least one remote instance of the data store, and the one or more new change sets having been automatically modified to ensure that only a single operation is included in the set of operations for each entity in the corresponding set of entities; and apply the one or more new change sets to the local instance of the data store in the order in which the one or more new change sets appear in the second sequentially-ordered list, the applying the one or more new change sets to the local instance of the data store including performing one or more add, modify or delete operations included in the one or more new change sets with respect to one or more corresponding entities in the local instance of the data store. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A device comprising:
-
a processing unit; a memory communicatively connected to the processing unit, the memory storing instructions that are executable by the processing unit to perform operations, the operations including; comparing a local version of a dataset, that includes a first sequentially-ordered list of change sets associated with a local instance of a data store, to a shared version of the dataset, that includes a second sequentially-ordered list of change sets associated with at least one remote instance of the data store, to identify one or more new change sets that are included in the shared version of the dataset and are not included in the local version of the dataset, the one or more new change sets comprising a set of operations that represent how a state of a corresponding set of entities in the local instance of the data store must be changed to bring the local instance of the data store into synchronization with the at least one remote instance of the data store, and the one or more new change sets having been automatically modified to ensure that only a single operation is included in the set of operations for each entity in the corresponding set of entities; and applying the one or more new change sets to the local instance of the data store in the order in which the one or more new change sets appear in the second sequentially-ordered list, the applying the one or more new change sets to the local instance of the data store comprising; performing one or more add, modify or delete operations included in the one or more new change sets with respect to one or more corresponding entities in the local instance of the data store. - View Dependent Claims (18)
-
Specification