IP Library Granted Patent US 12,001,726
Granted Patent B2
US 12,001,726 · App. 17/933,674 · Granted Jun 4, 2024

Creating 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/0617G06F3/0619G06F3/0632G06F3/064G06F3/065G06F3/0659G06F3/0662G06F9/45558G06F9/545H04L41/082H04L67/1095H04L67/1097G06F2009/45562G06F2009/4557G06F2009/45595
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 12,001,726
App. No.
17/933,674
Filed
Sep 20, 2022
Granted
Jun 4, 2024
Kind
B2
Examiner
ZONG, RUOLEI
Art Unit
2441
USPC
709/219
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 (33)

1. A method comprising:

creating a cloud-based storage system including assigning at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices to the cloud-based storage system;

retrieving, from a cloud-based storage resource, data elements using information that associates the data elements written to the cloud-based storage resource with one or more other cloud-based storage systems wherein the data elements were previously written to the cloud-based storage resource as part of servicing modifying operations directed to the one or more other cloud-based storage systems; and

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

2. The method of claim 1 , further comprising:

determining that at least some portion of a dataset stored by the one or more other cloud-based storage systems has not been committed to the cloud-based storage; and

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

3. The method of claim 1 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more other cloud-based storage systems.

4. The method of claim 3 , wherein the configuration related information comprises information describing connectivity between the one of the one or more other cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more other cloud-based storage systems.

5. The method of claim 1 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage resource, data elements that contain valid data for the cloud-based storage system.

6. The method of claim 1 , further comprising receiving a request to create the cloud-based storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time, and

wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage resource, data elements that contain data that was valid for the one or more other cloud-based storage systems at the previous point-in-time.

7. The method of claim 1 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.

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

9. The method of claim 1 , further comprising receiving a request to create the cloud-based storage system, wherein the request to create the cloud-based storage system comprises a request to clone one of the one or more other cloud-based storage systems.

10. 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:

creating a cloud-based storage system including assigning at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices to the cloud-based storage system;

retrieving, from a cloud-based storage resource, data elements using information that associates the data elements written to the cloud-based storage resource with one or more other cloud-based storage systems wherein the data elements were previously written to the cloud-based storage resource as part of servicing modifying operations directed to the one or more other cloud-based storage systems; and

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

11. The apparatus of claim 10 , 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 one or more other cloud-based storage systems has not been committed to the cloud-based storage resource; and

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

12. The apparatus of claim 10 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more other cloud-based storage systems.

13. The apparatus of claim 12 , wherein the configuration related information comprises information describing connectivity between the one of the one or more other cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more other cloud-based storage systems.

14. The apparatus of claim 10 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage resource, data elements that contain valid data for the cloud-based storage system.

15. The apparatus of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of receiving a request to create the cloud-based storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time, and

wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage resource, data elements that contain data that was valid for the one or more other cloud-based storage systems at the previous point-in-time.

16. The apparatus of claim 10 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.

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

18. 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:

creating a cloud-based storage system including assigning at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices to the cloud-based storage system;

retrieving, from a cloud-based storage resource, data elements using information that associates the data elements written to the cloud-based storage resource with one or more other cloud-based storage systems wherein the data elements were previously written to the cloud-based storage resource as part of servicing modifying operations directed to the one or more other cloud-based storage systems; and

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2022
From: ZHURAVLEV, SERGEY; NEELAKANTAM, NAVEEN; MCNUTT, GREGORY; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 061154/0385 →
Continuity (5)
Continuation 17156536 · Jan 23, 2021
Continuation 16385925 · Apr 16, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Related Publication 20230009921A1 · Jan 12, 2023