Selectively replicating changes to hierarchial data structures
First Claim
1. A system, comprising:
- a plurality of distributed data stores, respectively comprising a plurality of compute nodes and respectively located in separate networks that are accessible to other ones of the distributed data stores via a network connection;
the distributed data stores, configured to;
receive an update to an object of a hierarchal data structure stored in one of the distributed data stores;
commit the update to a transaction log for the hierarchical data structure to apply the update to the object of the hierarchical data structure in the one distributed data store;
determine one or more replicas of the hierarchical data structure stored in different ones of the distributed data stores that are eligible to apply the update to the object according to a replication permission determined for the object;
send the update to the different distributed data stores; and
commit the update to respective transaction logs for the identified replicas of the hierarchical data structure to apply the update to corresponding objects of the identified replicas of the hierarchical data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
Updates to a hierarchical data structure may be selectively replicated to other replicas of the hierarchical data structure. An update for a hierarchical data structure may be received and committed to the hierarchical data structure. A determination as to whether any other replicas of the hierarchical data structure have permission to receive the update may be made. For those replicas of the hierarchical data structure with permission to receive the update, the update may be provided to the replicas and committed to the replicas. Different types of replication techniques may be implemented, such as pull-based replication techniques or push-based replication techniques. Replication permissions for objects of the hierarchical data structure may be individually defined, in some embodiments.
65 Citations
20 Claims
-
1. A system, comprising:
-
a plurality of distributed data stores, respectively comprising a plurality of compute nodes and respectively located in separate networks that are accessible to other ones of the distributed data stores via a network connection; the distributed data stores, configured to; receive an update to an object of a hierarchal data structure stored in one of the distributed data stores; commit the update to a transaction log for the hierarchical data structure to apply the update to the object of the hierarchical data structure in the one distributed data store; determine one or more replicas of the hierarchical data structure stored in different ones of the distributed data stores that are eligible to apply the update to the object according to a replication permission determined for the object; send the update to the different distributed data stores; and commit the update to respective transaction logs for the identified replicas of the hierarchical data structure to apply the update to corresponding objects of the identified replicas of the hierarchical data structure. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing devices; performing an update to an object of a hierarchal data structure stored in a distributed data store, wherein the update is committed to the object according to a transaction log for the hierarchical data structure; identifying one or more replicas of the hierarchical data structure stored in respective remote distributed data stores that are eligible to apply the update to the object according to a replication permission determined for the object; providing the update to the respective remote distributed data stores for the identified replicas of the hierarchical data structure; and committing the update to respective transaction logs for the identified replicas of the hierarchical data structure to apply the update to corresponding objects of the identified replicas of the hierarchical data structure. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
receiving an update to an object of a hierarchal data structure stored in a distributed data store; committing the update to a transaction log for the hierarchical data structure to apply the update to the object of the hierarchical data structure in the distributed data store; identifying one or more replicas of the hierarchical data structure stored in respective remote distributed data stores that are eligible to apply the update to the object according to a replication permission determined for the object; providing the update to the respective remote distributed data stores for the identified replicas of the hierarchical data structure; and committing the update to respective transaction logs for the identified replicas of the hierarchical data structure to apply the update to corresponding objects of the identified replicas of the hierarchical data structure. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification