Replication barriers for dependent data transfers between data stores
AssigneeWestern Digital Technologies, Inc.
InventorsCarl D'Halluin, Thomas Demoor
Life of this patent
Estimating the term…
Abstract
Example distributed storage systems, replication managers, and methods provide replication barriers for dependent data transfers between data stores. An object data store may include a barrier object and be configured to identify dependencies between a dependency set of data objects and the barrier object. When replicating data objects to another data store, the dependency set of data objects may be transferred first, delaying the transfer of the barrier object while the dependency set is being transferred.
Claims20
A system, comprising:
- at least one processor;
- at least one memory;
- an operations log, stored in the at least one memory, configured to store a plurality of time-based log operation entries for completed storage operations targeting a first plurality of data objects in a first object data store, wherein the first plurality of data objects includes a dependency set of data objects;
- a barrier engine, stored in the at least one memory for execution by the at least one processor, configured to:
- identify, based on timestamps in the plurality of time-based log operation entries for the dependency set of data objects, a dependency between the dependency set of data objects and a barrier object in the first plurality of data objects;
- identify the barrier object in the operations log;
- and
- set, in a time-based operations log entry for the barrier object in the operations log, a barrier object identifier value;
- and
- a replication manager, stored in the at least one memory for execution by the at least one processor, configured to transfer the first plurality of data objects from the first object data store to a second object data store by:
- transferring the dependency set of data objects to the second object data store;
- determining, responsive to the barrier object identifier value in the operations log, the barrier object;
- delaying, while the replication manager is transferring the dependency set of data objects to the second object data store, the transfer of the barrier object to the second object data store;
- and
- releasing the barrier object responsive to completion of transferring the dependency set of data objects, wherein the timestamps for the dependency set of data objects are earlier than a timestamp for the barrier object in the plurality of time-based log operation entries.
A computer-implemented method, comprising:
- storing a first plurality of data objects in a first object data store, wherein the first plurality of data objects includes a dependency set of data objects;
- identifying, based on timestamps in time-based log operation entries for the dependency set of data objects, a dependency between the dependency set of data objects and a barrier object in the first plurality of data objects;
- identifying the barrier object in an operations log, wherein the operations log stores a plurality of time-based log operation entries for completed storage operations targeting the first plurality of data objects in the first object data store;
- setting, in a time-based operations log entry for the barrier object in the operations log, a barrier object identifier value;
- and
- transferring the first plurality of data objects from the first object data store to a second object data store by:
- transferring the dependency set of data objects to the second object data store;
- determining, responsive to the barrier object identifier value in the operations log, the barrier object;
- delaying, while transferring the dependency set of data objects to the second object data store, the transfer of the barrier object to the second object data store;
- and
- releasing the barrier object responsive to completion of transferring the dependency set of data objects, wherein the timestamps for the dependency set of data objects are earlier than a timestamp for the barrier object in the time-based log operation entries.
A system, comprising:
- at least one processor;
- at least one memory;
- an operations log, stored in the at least one memory, configured to store a plurality of time-based log operation entries for completed storage operations targeting a plurality of data objects in a first object data store, wherein the plurality of data objects includes a dependency set of data objects;
- means for identifying, based on timestamps in the plurality of time-based log operation entries for the dependency set of data objects, a dependency between the dependency set of data objects and a barrier object in the plurality of data objects;
- means for identifying the barrier object in the operations log;
- means for setting, in a time-based operations log entry for the barrier object in the operations log, a barrier object identifier value;
- and
- means for transferring the plurality of data objects from the first object data store to a second object data store by:
- transferring the dependency set of data objects to the second object data store;
- determining, responsive to the barrier object identifier value in the operations log, the barrier object;
- delaying, while transferring the dependency set of data objects to the second object data store, the transfer of the barrier object to the second object data store;
- and
- releasing the barrier object responsive to completion of transferring the dependency set of data objects, wherein the timestamps for the dependency set of data objects are earlier than a timestamp for the barrier object in the plurality of time-based log operation entries.
Dependencies are inferred from the claim text.