IP Library Granted Patent US 10,917,470
Granted Patent B1
US 10,917,470 · App. 16/385,925 · Granted Feb 9, 2021

Cloning storage systems in a cloud computing environment

Inventors: Sergey Zhuravlev (Campbell, CA); Naveen Neelakantam (Mountain View, CA); Gregory McNutt (Sunnyvale, CA); Yuval Frandzel (Foster City, CA)
Assignee: Pure Storage, Inc.
H04L67/1097H04L67/1095
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,917,470
App. No.
16/385,925
Filed
Apr 16, 2019
Granted
Feb 9, 2021
Kind
B1
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 (38)

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;

retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system, wherein the one or more objects correspond to the identified storage system to be cloned, and wherein the one or more objects were written to the cloud-based object storage as part of servicing modifying operations directed to the identified storage system to be cloned; 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.

2. The method of claim 1 wherein retrieving one or more objects to include in the cloud-based storage system further comprises retrieving, from the cloud-based object storage, one or more objects that contain valid data for the storage system that is to be cloned.

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 one or more objects to include in the cloud-based storage system further comprises retrieving, from the cloud-based object storage, one or more objects 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 objects 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, the configuration related information including information describing connectivity between the storage system that is to be cloned and one or more hosts that issue I/O requests to the storage system that is to be cloned.

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

7. The method of claim 1 further comprising:

delaying retrieval, from cloud-based object storage, of at least one object to include in the cloud-based storage system, wherein the at least one object comprises a dataset that has not been committed to the cloud-based object storage.

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;

retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system, wherein the one or more objects correspond to the identified storage system to be cloned, and wherein the one or more objects were written to the cloud-based object storage as part of servicing modifying operations directed to the identified storage system to be cloned; 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.

9. The apparatus of claim 8 wherein retrieving one or more objects to include in the cloud-based storage system further comprises retrieving, from the 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 one or more objects to include in the cloud-based storage system further comprises retrieving, from the cloud-based object storage, one or more objects 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 objects 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, the configuration related information including information describing connectivity between the storage system that is to be cloned and one or more hosts that issue I/O requests to the storage system that is to be cloned.

13. The apparatus of claim 8 wherein retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system includes verifying that each write to the one or more objects 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 a storage system that is to be cloned has not been committed to the cloud-based object storage; and

delaying retrieval, from cloud-based object storage, of at least one object to include in the cloud-based storage system, wherein the at least one object comprises a dataset that has not been committed to the cloud-based object storage.

15. A computer program product disposed upon a non-transitory computer readable 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;

retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system, wherein the one or more objects correspond to the identified storage system to be cloned, and wherein the one or more objects were written to the cloud-based object storage as part of servicing write operations directed to the identified storage system to be cloned; 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.

16. The computer program product of claim 15 wherein retrieving one or more objects to include in the cloud-based storage system further comprises retrieving, from the 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 one or more objects to include in the cloud-based storage system further comprises retrieving, from the cloud-based object storage, one or more objects 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 objects 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, the configuration related information including information describing connectivity between the storage system that is to be cloned and one or more hosts that issue I/O requests to the storage system that is to be cloned.

20. The method of claim 1 , wherein block-based storage of the storage system to be cloned is replicated using the data contained in the one or more objects.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2019
From: ZHURAVLEV, SERGEY; NEELAKANTAM, NAVEEN; MCNUTT, GREGORY; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 048899/0684 →
Continuity (2)
Provisional Application 62768952 · Nov 18, 2018
Provisional Application 62769277 · Nov 19, 2018