CROSS-ACL MULTI-MASTER REPLICATION
First Claim
Patent Images
1. A computer-implemented method, comprising:
- at a first replication site of a plurality of replication sites;
storing a data object in computer memory, the data object having at least one access controlled data object data unit;
storing in computer memory a first version vector for the access controlled data object data unit;
receiving a data object change update for the data object from a second replication site of the plurality of replication sites;
storing the data object change update in computer memory, the data object change update having at least one data object data unit update and a second version vector for the data object data unit update;
determining, based at least in part on the first version vector and the second version vector, that the data object data unit update conflicts with the access controlled data object data unit;
in response to determining that the data object data unit update conflicts with the access controlled data object data unit, applying the data object change update to the data object only after the conflict has been deconflicted;
wherein the method is performed by one or more computing devices.
7 Assignments
0 Petitions
Accused Products
Abstract
Techniques for cross-ACL multi-master replication are provided. The techniques allow a replication site in a multi-master replication system implementing an asynchronous replication protocol and an access control policy to appropriately apply received data change updates to data maintained at the site even where a data change update is missing information because of the implemented access control policy.
41 Citations
30 Claims
-
1. A computer-implemented method, comprising:
-
at a first replication site of a plurality of replication sites; storing a data object in computer memory, the data object having at least one access controlled data object data unit; storing in computer memory a first version vector for the access controlled data object data unit; receiving a data object change update for the data object from a second replication site of the plurality of replication sites; storing the data object change update in computer memory, the data object change update having at least one data object data unit update and a second version vector for the data object data unit update; determining, based at least in part on the first version vector and the second version vector, that the data object data unit update conflicts with the access controlled data object data unit; in response to determining that the data object data unit update conflicts with the access controlled data object data unit, applying the data object change update to the data object only after the conflict has been deconflicted; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media storing one or more programs, the one or more programs comprising instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform a method comprising:
-
at a first replication site of a plurality of replication sites; storing a data object in computer memory, the data object having at least one access controlled data object data unit; storing in computer memory a first version vector for the access controlled data object data unit; receiving a data object change update for the data object from a second replication site of the plurality of replication sites; storing the data object change update in computer memory, the data object change update having at least one data object data unit update and a second version vector for the data object data unit update; determining, based at least in part on the first version vector and the second version vector, that the data object data unit update conflicts with the access controlled data object data unit; in response to determining that the data object data unit update conflicts with the access controlled data object data unit, applying the data object change update to the data object only after the conflict has been deconflicted. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus, comprising:
-
computer memory storing instructions; one or more processors coupled to the computer memory; wherein the instructions stored in the computer memory, when executed by the one or more processors, cause the one or more processors to perform a method comprising; at a first replication site of a plurality of replication sites; storing a data object in the computer memory, the data object having at least one access controlled data object data unit; storing in the computer memory a first version vector for the access controlled data object data unit; receiving a data object change update for the data object from a second replication site of the plurality of replication sites; storing the data object change update in the computer memory, the data object change update having at least one data object data unit update and a second version vector for the data object data unit update; determining, based at least in part on the first version vector and the second version vector, that the data object data unit update conflicts with the access controlled data object data unit; in response to determining that the data object data unit update conflicts with the access controlled data object data unit, applying the data object change update to the data object only after the conflict has been deconflicted. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification