IP Library Granted Patent US 10,552,389
Granted Patent B2
US 10,552,389 · App. 15/581,447 · Granted Feb 4, 2020

Object and sequence number management

Inventors: Ananthan Subramanian (San Ramon, CA); Sridevi Jantli (San Jose, CA); Anil Paul Thoppil (Sunnyvale, CA); Cheryl Marie Thompson (Sunnyvale, CA); Qinghua Zheng (San Jose, CA)
Assignee: Oath Inc.
G06F16/215G06F16/22G06F16/2379
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 10,552,389
App. No.
15/581,447
Granted
Feb 4, 2020
Kind
B2
Abstract

Techniques are provided for orphan object detection, invalid sequence number detection, and asynchronous object cleanup. A storage system may store data within one or more tiers of storage, such as a storage tier (e.g., solid state storage and disks maintained by the storage system), a remote object store (e.g., storage provided by a third party storage provider), and/or other storage tiers. Orphan objects, within the remote object store, that are no longer used by the storage system may be detected and/or deleted. When an aggregate of volumes is deleted, corresponding objects, within the remote object store, may be identified and/or deleted. Invalid sequence numbers (e.g., lost or corrupt sequence numbers locally maintained in a metafile) assigned to objects within the remote object store may be identified, deleted, and/or fixed.

Claims (44)

1. A computing device comprising:

a memory comprising machine executable code having stored thereon instructions for performing a method; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

send a request to a remote object store for a list of object names derived from sequence numbers assigned to objects; and

determine that a sequence number within a name of an object within the list of object names is invalid based upon a list of sequence numbers specified within a metafile used to store information relating to objects stored within the remote object store lacks the sequence number, wherein the metafile is determined to be corrupted based upon the sequence number being invalid.

2. The computing device of claim 1 , wherein the machine executable code causes the processor to:

display an indicator that the sequence number is invalid.

3. The computing device of claim 1 , wherein the machine executable code causes the processor to:

process a command from a requestor to retrieve data from the object associated with the sequence number that is invalid.

4. The computing device of claim 1 , wherein the machine executable code causes the processor to:

determine that the metafile has been corrupted where the sequence number has been lost.

5. The computing device of claim 4 , wherein the machine executable code causes the processor to:

insert the sequence number into the metafile.

6. A method comprising:

sending a request to a remote object store for a list of object names derived from sequence numbers assigned to objects; and

determining that a sequence number within a name of an object within the list of object names is invalid based upon a list of sequence numbers specified within a metafile used to store information relating to objects stored within the remote object store lacks the sequence number, wherein the metafile is determined to be corrupted based upon the sequence number being invalid.

7. The method of claim 6 , comprising:

determining that the metafile is corrupted based upon the sequence number has been lost.

8. The method of claim 6 , comprising:

inserting a first sequence number of a first object into the metafile based upon the object being stored within the remote object store.

9. The method of claim 6 , comprising:

displaying an indicator that the sequence number is invalid.

10. The method of claim 6 , comprising:

receiving a command from a requestor to retrieve data from the object associated with the sequence number that is invalid.

11. The method of claim 10 , comprising:

retrieving the object from the remote object store.

12. The method of claim 11 , comprising:

providing the data of the object to the requestor.

13. The method of claim 6 , wherein the name of the object comprises a prefix derived from a volume identifier of a volume of a composite aggregate, of a storage tier, to which the object belongs.

14. The method of claim 6 , comprising:

assigning monotonically increasing sequence numbers to objects created within the remote object store for a volume.

15. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:

send a request to a remote object store for a list of object names derived from sequence numbers assigned to objects; and

determine that a sequence number within a name of an object within the list of object names is invalid based upon a list of sequence numbers specified within a metafile used to store information relating to objects stored within the remote object store lacks the sequence number, wherein the metafile is determined to be corrupted based upon the sequence number being invalid.

16. The non-transitory machine readable medium of claim 15 , wherein the instructions cause the machine to:

determine that the metafile is corrupted based upon the sequence number has been lost.

17. The non-transitory machine readable medium of claim 15 , wherein the instructions cause the machine to:

insert a first sequence number of a first object into the metafile based upon the object being stored within the remote object store.

18. The non-transitory machine readable medium of claim 15 , wherein the instructions cause the machine to:

display an indicator that the sequence number is invalid.

19. The non-transitory machine readable medium of claim 15 , wherein the instructions cause the machine to:

receive a command from a requestor to retrieve data from the object associated with the sequence number that is invalid.

20. The non-transitory machine readable medium of claim 19 , wherein the instructions cause the machine to:

retrieve the object from the remote object store, wherein the data of the object is provided to the requestor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: SUBRAMANIAN, ANANTHAN; JANTLI, SRIDEVI; THOPPIL, ANIL PAUL; THOMPSON, CHERYL MARIE; ZHENG, QINGHUA
To: NETAPP INC.
Reel/Frame 042177/0706 →
Continuity (1)
Related Publication 20180314719A1 · Nov 1, 2018
Cited By (1)
US 12,688,171