IP Library Granted Patent US 9,778,995
Granted Patent B2
US 9,778,995 · App. 14/875,127 · Granted Oct 3, 2017

Dataset image creation and failure cleanup

Inventors: Stephen Wu (Sacramento, CA); Prathamesh Deshpande (San Jose, CA); Manan Patel (Sunnyvale, CA)
Assignee: NetApp, Inc.
G06F11/1451G06F3/0604G06F3/065G06F3/067G06F3/0619G06F3/0652G06F11/07G06F11/0727G06F11/0757G06F11/1438G06F11/1446G06F11/1464G06F11/1469G06F2201/84
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,778,995
App. No.
14/875,127
Granted
Oct 3, 2017
Kind
B2
Abstract

An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images.

Claims (54)

1. A computing device, comprising:

a memory containing machine readable medium 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 perform the method comprising:

identifying a storage system that stores a dataset;

receiving a start request from an application for producing a dataset image of the dataset;

sending a resume response to the application in response to receiving the start request;

sending a commit request to the storage system for producing a storage object image of a storage object of the dataset;

receiving a commit response from the storage system indicating whether producing the storage object image is a success or failure; and

determining that production of the dataset image of the dataset is a success based upon the commit response.

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

monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.

3. The computing device of claim 2 , wherein the machine executable code causes the processor to perform the method comprising:

initiating a cleanup procedure for deleting one or more storage object images based upon the timeout period expiring.

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

producing an operation identifier (ID) for the dataset image.

5. The computing device of claim 1 , wherein the application is configured for resuming operations and sending one or more commit requests to a dataset image manager engine after receiving the resume response.

6. The computing device of claim 4 , wherein

the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.

7. The computing device of claim 1 , wherein the machine executable code causes the processor to perform the method comprising:

performing operations with multiple storage systems in parallel for producing the dataset image.

8. A non-transitory computer readable medium having instructions stored thereon, the non-transitory computer readable medium comprising instructions for:

identifying a storage system that stores a dataset;

receiving a start request from an application for producing a datasat image of the dataset;

sending a resume response to the application in response to receiving the start request;

sending a commit request to the storage system for producing a storage object image of a storage object of the dataset;

receiving a commit response from the storage system indicating whether producing the storage object image is a success or failure; and

determining that production of the dataset image of the dataset is a failure based upon the commit response.

9. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:

monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.

10. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:

initiating a cleanup procedure for deleting one or more storage object images.

11. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for

producing an operation identifier (ID) for the dataset image.

12. The non-transitory computer readable medium of claim 8 , wherein the application is configured for resuming operations after receiving the resume response.

13. The non-transitory computer readable medium of claim 8 , wherein

the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.

14. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:

performing operations with multiple storage systems in parallel for producing the dataset image.

15. A method, comprising:

identifying a storage system that stores a dataset;

receiving a start request from an application for producing a dataset image of the dataset;

sending a resume response to the application in response to receiving the start request;

sending a commit request to a storage system;

receiving a commit response from the storage system;

determining that production of the dataset image of the dataset is a failure based upon the commit response; and

initiating, based upon the failure, a cleanup procedure for deleting one or more storage object images.

16. The method of claim 15 , further comprising:

monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.

17. The method of claim 15 , wherein initiating the cleanup procedure comprises sending a cleanup request to the storage system.

18. The method of claim 15 , further comprising

producing an operation identifier (ID) for the dataset image.

19. The method of claim 15 , wherein the application is configured for resuming operations after receiving the resume response.

20. The method of claim 18 , wherein

the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.

Continuity (2)
Continuation 13903745 · May 28, 2013
Related Publication 20160026538A1 · Jan 28, 2016