IP Library Granted Patent US 11,455,126
Granted Patent B1
US 11,455,126 · App. 17/156,536 · Granted Sep 27, 2022

Copying a cloud-based storage system

Inventors: Sergey Zhuravlev (Bothell, WA); Naveen Neelakantam (Mountain View, CA); Gregory McNutt (Sunnyvale, CA); Yuval Frandzel (Foster City, CA)
Assignee: PURE STORAGE, INC.
G06F3/067G06F3/064G06F3/065G06F3/0617G06F3/0619G06F3/0632G06F3/0659G06F3/0662H04L67/1095H04L67/1097
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,455,126
App. No.
17/156,536
Granted
Sep 27, 2022
Kind
B1
Abstract

Cloning storage systems in a cloud computing environment, including: receiving a request to create a cloud-based storage system; retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system; and creating the cloud-based storage system, including storing, in block storage of the cloud-based storage system, data contained in the one or more objects retrieved from the cloud-based object storage.

Claims (48)

1. A method comprising:

receiving a request to create a cloud-based storage system, wherein the request comprises an identification of a storage system to be cloned;

creating a cloud-based storage system based on the request, the cloud-based storage system comprising at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices;

retrieving, from a cloud-based storage, data elements to include in the cloud-based storage system using information that associates each data element written to the cloud-based storage to the identified storage system to be cloned, and wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the identified storage system to be cloned; and

storing, in the one or more cloud-based storage devices, data contained in the data elements retrieved from the cloud-based storage.

2. The method of claim 1 wherein:

the cloud-based storage comprises cloud-based object storage and wherein retrieving data elements to include in the cloud-based storage system further comprises retrieving, from cloud-based object storage, one or more objects that contain valid data for the storage system.

3. The method of claim 1 wherein:

the request to create the cloud-based storage system includes information describing a previous point-in-time; and

retrieving data elements to include in the cloud-based storage system further comprises retrieving, from the cloud-based storage, data elements that contain data that was valid for the storage system that is to be cloned at the previous point-in-time.

4. The method of claim 1 wherein:

invalid data elements associated with the storage system that is to be cloned are retained in dependence upon a predetermined retention policy.

5. The method of claim 1 wherein creating the cloud-based storage system includes replicating configuration related information associated with the storage system that is to be cloned to the cloud-based storage system.

6. The method of claim 1 wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.

7. The method of claim 1 further comprising:

determining that at least some portion of a dataset stored by the storage system that is to be cloned has not been committed to the cloud-based storage; and

delaying retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.

8. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving a request to create a cloud-based storage system, wherein the request comprises an identification of a storage system to be cloned;

creating a cloud-based storage system based on the request, the cloud-based storage system comprising at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices;

retrieving, from a cloud-based storage, data elements to include in the cloud-based storage system using information that associates each data element written to the cloud-based storage to the identified storage system to be cloned, and wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the identified storage system to be cloned; and

storing, in the one or more cloud-based storage devices, data contained in the data elements retrieved from the cloud-based storage.

9. The apparatus of claim 8 wherein:

the cloud-based storage comprises cloud-based object storage and wherein retrieving data elements to include in the cloud-based storage system further comprises retrieving, from cloud-based object storage, one or more objects that contain valid data for the storage system that is to be cloned.

10. The apparatus of claim 8 wherein:

the request to create the cloud-based storage system includes information describing a previous point-in-time; and

retrieving data elements to include in the cloud-based storage system further comprises retrieving, from the cloud-based storage, data elements that contain data that was valid for the storage system that is to be cloned at the previous point-in-time.

11. The apparatus of claim 8 wherein:

invalid data elements associated with the storage system that is to be cloned are retained in dependence upon a predetermined retention policy.

12. The apparatus of claim 8 wherein creating the cloud-based storage system includes replicating configuration related information associated with the storage system that is to be cloned to the cloud-based storage system.

13. The apparatus of claim 8 wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.

14. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining that at least some portion of a dataset stored by the storage system that is to be cloned has not been committed to the first cloud-based storage; and

delaying retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.

15. A computer program product disposed upon a non-transitory computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

receiving a request to create a cloud-based storage system, wherein the request comprises an identification of a storage system to be cloned;

creating a cloud-based storage system based on the request, the cloud-based storage system comprising at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices;

retrieving, from a cloud-based storage, data elements to include in the cloud-based storage system using information that associates each data element written to the cloud-based storage to the identified storage system to be cloned, and wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the identified storage system to be cloned; and

storing, in the one or more cloud-based storage devices, data contained in the data elements retrieved from the cloud-based storage.

16. The computer program product of claim 15 wherein:

the cloud-based storage comprises cloud-based object storage and wherein retrieving data elements to include in the cloud-based storage system further comprises retrieving, from cloud-based object storage, one or more objects that contain valid data for the storage system that is to be cloned.

17. The computer program product of claim 15 wherein:

the request to create the cloud-based storage system includes information describing a previous point-in-time; and

retrieving data elements to include in the cloud-based storage system further comprises retrieving, from the cloud-based storage, data elements that contain data that was valid for the storage system that is to be cloned at the previous point-in-time.

18. The computer program product of claim 15 wherein:

invalid data elements associated with the storage system that is to be cloned are retained in dependence upon a predetermined retention policy.

19. The computer program product of claim 15 wherein creating the cloud-based storage system includes replicating configuration related information associated with the storage system that is to be cloned to the cloud-based storage system.

20. The computer program product of claim 15 wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2021
From: ZHURAVLEV, SERGEY; NEELAKANTAM, NAVEEN; MCNUTT, GREGORY; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 055010/0592 →
Continuity (3)
Continuation 16385925 · Apr 16, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Cited By (1)
US 12,596,506