×

Cross-ACL multi-master replication

  • US 8,782,004 B2
  • Filed: 01/23/2012
  • Issued: 07/15/2014
  • Est. Priority Date: 01/23/2012
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • maintaining, at a replication site of a plurality of replication sites arranged in a multi-master topology, a data object comprising an access controlled data object data unit;

    maintaining, at the replication site, a first version vector for the access controlled data object data unit, the first version vector representing a first update to the access controlled data object data unit at a replication site of the plurality of replication sites;

    receiving a data object change update for the data object from another replication site of the plurality of replication sites;

    wherein the data object change update comprises a data object data unit update;

    wherein the data object data unit update is associated in the data object change update with a second version vector, the second version vector representing a second update to the access controlled data object data unit at a replication site of the plurality of replication sites;

    determining, based at least in part upon the second version vector associated with the data object data unit update and the first version vector maintained at the replication site for the access controlled data object data unit, whether the data object data unit update conflicts with the access controlled data object data unit;

    if a conflict does not exist, applying the data object change update to the data object maintained at the replication site;

    if a conflict exists, applying the data object change update to the data object maintained at the replication site after the conflict has been deconflicted;

    wherein applying the data object change update to the data object maintained at the replication site includes comparing the second version vector to the first version vector to determine whether the second update happened before, happened after, or happened concurrently with the first update;

    if the second update happened after the first update, applying the data object data unit update to the access controlled data object data unit and merging the second version vector associated with the data object data unit update and the first version vector associated with the access controlled data object data unit without incrementing the resulting merged version vector;

    wherein the method is performed by one or more computing devices at the replication site.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×