IP Library Granted Patent US 9,104,717
Granted Patent B2
US 9,104,717 · App. 13/755,573 · Granted Aug 11, 2015

Distributed storage object delete

Inventors: Ajit Verma (Los Altos, CA); John Plocher (San Jose, CA); Xiongbing Ou (Beijing, CN)
Assignee: Futurewei Technologies, Inc.
G06F17/30371
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 9,104,717
App. No.
13/755,573
Granted
Aug 11, 2015
Kind
B2
Abstract

System and methods for storage object distribution using dynamic policy controls are provided. An embodiment method deleting an object in a distributed storage system includes receiving, from a client, a delete request for an object, retrieving, by a primary datacenter, an object metadata list corresponding to the object to be deleted, and inserting, by the primary datacenter, a delete marker on a top of a stack data structure in an object metadata list.

Claims (34)

1. A method of deleting versions of an object in a distributed storage system, comprising:

receiving, from a client, a delete request for a first version of the object, wherein the delete request includes a first entity tag associated with the first version of the object;

retrieving, by a primary datacenter, an object metadata list corresponding to the object, wherein the object metadata list includes a stack data structure comprising metadata associated with different versions of the object;

inserting, by the primary datacenter, a delete marker on top of a first metadata in the object metadata list, the first metadata corresponding to the first version of the object;

forwarding the delete request to a secondary datacenter to request that a secondary datacenter delete portions of the first version of the object stored by the secondary datacenter, wherein the forwarded delete request includes the first entity tag;

receiving, by the primary datacenter, a delete response from the secondary datacenter, the delete response indicating a successful deletion of a version of the object; and

determining, by the primary datacenter, whether the forwarded delete request was processed correctly by the secondary datacenter based on whether the delete response includes the first entity tag, wherein the delete request is deemed to have been processed incorrectly when the delete response excludes the first entity tag.

2. The method of claim 1 , further comprising indicating with the delete marker that a version of the object below the delete marker in the stack data structure is no longer available.

3. The method of claim 1 , further comprising indicating with the delete marker that a version of the object below the delete marker in the stack data structure has been deleted.

4. The method of claim 1 , further comprising indicating with the delete marker that a version of the object below the delete marker in the stack data structure is scheduled for deletion.

5. The method of claim 1 , further comprising comparing the first entity tag in the delete request with a second entity tag stored at the secondary datacenter.

6. The method of claim 1 , further comprising using an object integrity service to request restoring an object deleted in error on the secondary datacenter.

7. The method of claim 1 , wherein the secondary datacenter lacks the capability to recognize the first entity tag in the delete request.

8. The method of claim 1 , wherein determining whether the forwarded delete request was processed correctly by the secondary datacenter based on whether the delete response includes the first entity tag comprises:

determining that the secondary datacenter did not verify that the version of the object deleted by the secondary datacenter was the first version of the object when the delete response excludes the first entity tag.

9. The method of claim 1 , wherein the secondary datacenter correctly executes the delete request if the secondary datacenter recognizes the first entity tag in the delete requests, and matches the first entity tag with a stored entity tag.

10. A primary datacenter comprising:

at least one processor; and

a non-transitory computer readable storage medium storing programming for execution by the at least one processor, the programming including instructions to:

receive, from a client, a delete request for a first version of an object, wherein the delete request includes a first entity tag associated with the first version of the object;

retrieve, by the primary datacenter, an object metadata list corresponding to the object, wherein the object metadata list includes a stack data structure comprising metadata associated with different versions of the object;

insert, by the primary datacenter, a delete marker on top of a first metadata in the object metadata list, the first metadata corresponding to the first version of the object;

forward the delete request to a secondary datacenter to request that a secondary datacenter delete portions of the first version of the object stored by the secondary datacenter, wherein the forwarded delete request includes the first entity tag;

receive a delete response from the secondary datacenter, the delete response indicating a successful deletion of a version of the object; and

determine whether the forwarded delete request was processed correctly by the secondary datacenter based on whether the delete response includes the first entity tag, wherein the delete request is deemed to have been processed incorrectly when the delete response excludes the first entity tag.

11. The primary datacenter of claim 10 , wherein the programming includes further instructions to indicate with the delete marker that a version of the object below the delete marker in the stack data structure is no longer available.

12. The primary datacenter of claim 10 , wherein the programming includes further instructions to indicate with the delete marker that a version of the object below the delete marker in the stack data structure has been deleted.

13. The primary datacenter of claim 10 , wherein the programming includes further instructions to indicate with the delete marker that a version of the object below the delete marker in the stack data structure is scheduled for deletion.

14. The primary datacenter of claim 10 , wherein the programming includes further instructions to compare the first entity tag in the delete request with a second entity tag stored at the secondary datacenter.

15. The primary datacenter of claim 10 , wherein the delete marker indicates that versions of the object corresponding to metadata positioned below the delete marker have been deleted or are scheduled to be deleted.

16. The primary datacenter of claim 10 , wherein the secondary datacenter lacks the capability to recognize the first entity tag in the delete request.

17. The primary datacenter of claim 10 , wherein the instructions to determine whether the forwarded delete request was processed correctly by the secondary datacenter based on whether the delete response includes the first entity tag includes instructions to:

determine that the secondary datacenter did not verify that the version of the object deleted by the secondary datacenter was the first version of the object when the delete response excludes the first entity tag.

18. The primary datacenter of claim 10 , wherein the secondary datacenter correctly executes the delete request if the secondary datacenter recognizes the first entity tag in the delete requests, and matches the first entity tag with a stored entity tag.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059682/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2014
From: OU, XIONGBING; PLOCHER, JOHN; VERMA, AJIT
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 032418/0313 →
Continuity (1)
Related Publication 20140214782A1 · Jul 31, 2014