IP Library Granted Patent US 11,221,785
Granted Patent B2
US 11,221,785 · App. 16/701,947 · Granted Jan 11, 2022

Managing replication state for deleted objects

Inventors: Thomas Demoor (De Haan, BE); Carl D'Halluin (Ghent, BE)
Assignee: Western Digital Technologies, Inc.
G06F3/065G06F3/067G06F3/0622G06F3/0652G06F11/142
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,221,785
App. No.
16/701,947
Granted
Jan 11, 2022
Kind
B2
Abstract

Example distributed storage systems, replication state engines, and methods manage replication state for guaranteed replication between data stores. An object data store may store data objects that have been determined for deletion and rendered inaccessible to a client application. A replication state may be queried for deleted data objects and, if the replication state indicates that replication to another object data store is incomplete, physical deletion may be delayed until the replication state indicates that replication is complete and the data object may be physically deleted.

Claims (69)

1. 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 log operation entries for storage operations targeting data objects in a first object data store;

a delete function, stored in the at least one memory for execution by the at least one processor, configured to add a delete marker to the operations log to render a data object stored in the first object data store inaccessible to a client application;

a replication state machine, stored in the at least one memory for execution by the at least one processor, configured to:

identify a replication state of the data object; and

store the replication state of the data object in the operations log; and

a garbage collector, stored in the at least one memory for execution by the at least one processor, configured to:

query, from the operations log, the replication state of the data object, wherein the replication state indicates that a replication of the data object from the first object data store to a second object data store of a data storage system is incomplete;

determine that the replication state of the data object has changed to indicate that the replication is complete; and

responsive to the replication state indicating that the replication is complete, physically delete the data object from the first object data store.

2. The system of claim 1 , wherein the replication state machine is further configured to set, responsive to the first object data store storing the data object, the replication state of the data object to a null value.

3. The system of claim 1 , wherein the replication state machine is further configured to:

monitor a replication manager for the replication manager to add the data object to a replication queue; and

set, responsive to the replication manager adding the data object to the replication queue, the replication state to a replication pending value.

4. The system of claim 1 , wherein the replication state machine is further configured to:

monitor a replication manager for the replication manager to complete replication of the data object; and

set, responsive to the replication manager completing replication of the data object, the replication state to a successful replication value.

5. The system of claim 1 , wherein the replication state machine is further configured to:

monitor a replication manager for the replication manager to identify a replication error for the data object; and

set, responsive to the replication manager identifying a replication error for the data object, the replication state to a replication failed value.

6. The system of claim 1 , wherein the replication state machine is further configured to store, in the operations log, a replication state identifier for the replication state of the data object in an object creation entry for the data object.

7. The system of claim 1 , further comprising:

a replication manager, stored in the at least one memory for execution by the at least one processor, configured to:

access the data object using a replication read command for data objects rendered inaccessible to the client application; and

replicate the data object from the first object data store to the second object data store of the data storage system.

8. The system of claim 7 , wherein the replication read command is configured to detect a delete marker and a preceding write operation without a corresponding replication state identifier indicating successful replication.

9. The system of claim 1 , wherein the garbage collector is further configured to:

initiate garbage collection for data objects rendered inaccessible to the client application and stored in the first object data store; and

delay, responsive to querying the replication state of the data object indicating replication is not complete, physical deletion of the data object from the first object data store.

10. A computer-implemented method, comprising:

determining to delete a data object stored in a data storage system, wherein the data storage system includes an operations log configured to store a plurality of log operation entries for storage operations targeting data objects in a first object data store;

rendering the data object inaccessible to a client application by adding a delete marker to the operations log;

querying, from the operations log, a replication state of the data object, wherein the replication state indicates that a replication of the data object from the first object data store to a second object data store of the data storage system is incomplete;

determining that the replication state of the data object has changed to indicate that the replication is complete; and

responsive to the replication state indicating that the replication is complete, physically deleting the data object from the first object data store.

11. The computer-implemented method of claim 10 , further comprising:

storing the data object in the first object data store; and

setting, responsive to storing the data object in the first object data store, the replication state of the data object to a null value.

12. The computer-implemented method of claim 10 , further comprising:

monitoring a replication queue for an addition of the data object to the replication queue; and

setting, responsive to adding the data object to the replication queue, the replication state to a replication pending value.

13. The computer-implemented method of claim 10 , further comprising:

monitoring for complete replication of the data object; and

setting, responsive to complete replication of the data object, the replication state to a successful replication value.

14. The computer-implemented method of claim 10 , further comprising:

monitoring for a replication error for the data object; and

setting, responsive to identification of the replication error for the data object, the replication state to a replication failed value.

15. The computer-implemented method of claim 10 , further comprising:

storing, in the operations log, a replication state identifier for the replication state of the data object in an object creation entry for the data object.

16. The computer-implemented method of claim 10 , further comprising:

accessing the data object using a replication read command for data objects rendered inaccessible to the client application.

17. The computer-implemented method of claim 16 , further comprising:

detecting, responsive to the replication read command accessing the data object, a delete marker and a preceding write operation marker without a corresponding replication state identifier indicating successful replication; and

replicating, responsive to detecting the delete marker and the preceding write operation marker without a corresponding replication state identifier indicating successful replication, the data object to the second object data store.

18. The computer-implemented method of claim 10 , further comprising:

initiating garbage collection for data objects rendered inaccessible to the client application and stored in the first object data store; and

delaying, responsive to querying the replication state of the data object indicating replication is not complete, physical deletion of the data object from the first object data store.

19. The computer-implemented method of claim 18 , further comprising:

completing, responsive to querying the replication state of the data object indicating replication is complete, garbage collection for data objects rendered inaccessible to the client application and stored in the first object data store.

20. A system, comprising:

a first object data store configured to store a data object;

an operations log configured to store a plurality of log operation entries for storage operations targeting data objects in the first object data store;

means for determining to delete the data object stored in the first object data store;

means for rendering the data object inaccessible to a client application by adding a delete marker to the operations log;

means for querying, from the operations log, a replication state of the data object, wherein the replication state indicates that a replication of the data object from the first object data store to a second object data store is incomplete;

means for determining that the replication state of the data object has changed to indicate that the replication is complete; and

means for, responsive to the replication state indicating that the replication is complete, physically deleting the data object from the first object data store.

Assignments (5)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2019
From: DEMOOR, THOMAS; D'HALLUIN, CARL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051389/0106 →
Continuity (1)
Related Publication 20210165573A1 · Jun 3, 2021