IP Library Granted Patent US 11,042,452
Granted Patent B1
US 11,042,452 · App. 16/359,188 · Granted Jun 22, 2021

Storage system data recovery using data recovery as a service

Inventor: Gregory McNutt (Sunnyvale, CA)
Assignee: Pure Storage, Inc.
G06F11/1469G06F11/1453G06F11/1464G06F11/1466G06F11/203H04L41/5041H04L41/5096G06F2201/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 11,042,452
App. No.
16/359,188
Granted
Jun 22, 2021
Kind
B1
Abstract

A method for storage system reliability using data recovery as a service, the method including: receiving, for storage data on a storage system, a specification for a particular recovery time objective (“RTO”) and recovery point objective (“RPO”) setting among a plurality of options for RTO/RPO settings; generating, in accordance with the particular RTO/RPO setting, a change stream of data in response to receiving data to be stored on the storage system; and transmitting, from the storage system to a cloud data recovery as a service endpoint, the change stream of data from which data on the storage system may be recovered up to a point in time corresponding to the particular RPO setting and within a time period corresponding to the particular RTO setting.

Claims (28)

1. A method comprising:

generating, in accordance with a recovery point objective (“RPO”) setting, a stream of data that includes storage data to be stored on a storage system and metadata describing recovery information relative to a given point in time, wherein the RPO setting specifies a unit of time used to create transmission packets within the stream of data; and

transmitting, from the storage system to a cloud-based storage service, the stream of data from which data on the storage system may be recovered up to the given point in time corresponding to the RPO setting.

2. The method of claim 1 , further comprising:

prior to transmitting the stream of data, encrypting the stream of data.

3. The method of claim 2 , wherein the stream of data is encrypted using a plurality of keys, and wherein the stream of data may be decrypted based on a subset of the plurality of keys.

4. The method of claim 1 , wherein the transmitting includes transmitting the stream of data to multiple cloud endpoints distributed among multiple availability zones.

5. The method of claim 4 , wherein data on the storage system is recovered based on a quorum of cloud endpoints that is less than all of the multiple cloud endpoints receiving the stream of data.

6. The method of claim 1 , wherein the stream of data includes an atomic sequence of updates.

7. The method of claim 1 , wherein the storage system is a source storage system, and wherein in response to a data loss event, the data from the source storage system is recovered on a target storage system that is different from the source 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:

generating, in accordance with a recovery point objective (“RPO”) setting, a stream of data that includes storage data to be stored on a storage system and metadata describing recovery information relative to a given point in time, wherein the RPO setting specifies a unit of time used to create transmission packets within the stream of data; and

transmitting, from the storage system to a cloud-based storage service, the stream of data from which data on the storage system may be recovered up to the given point in time corresponding to the RPO setting.

9. The apparatus of claim 8 , wherein the program instructions, when executed by the computer processor, further cause the apparatus to carry out:

prior to transmitting the stream of data, encrypting the stream of data.

10. The apparatus of claim 9 , wherein the stream of data is encrypted using a plurality of keys, and wherein the stream of data may be decrypted based on a subset of the plurality of keys.

11. The apparatus of claim 8 , wherein the transmitting includes transmitting the stream of data to multiple cloud endpoints distributed among multiple availability zones.

12. The apparatus of claim 11 , wherein data on the storage system may be recovered based on a quorum of cloud endpoints that is less than all of the multiple cloud endpoints receiving the stream of data.

13. The apparatus of claim 8 , wherein the stream of data includes an atomic sequence of updates.

14. The apparatus of claim 8 , wherein the storage system is a source storage system, and wherein in response to a data loss event, the data from the source storage system is recovered on a target storage system that is different from the source storage system.

15. A computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out:

generating, in accordance with a recovery point objective (“RPO”) setting, a stream of data that includes storage data to be stored on a storage system and metadata describing recovery information relative to a given point in time, wherein the RPO setting specifies a unit of time used to create transmission packets within the stream of data; and

transmitting, from the storage system to a cloud-based storage service, the stream of data from which data on the storage system may be recovered up to the given point in time corresponding to the RPO setting.

16. The computer program product of claim 15 , wherein the stream of data is encrypted using a plurality of keys, and wherein the stream of data may be decrypted based on a subset of the plurality of keys.

17. The computer program product of claim 15 , wherein the transmitting includes transmitting the stream of data to multiple cloud endpoints distributed among multiple availability zones.

18. The computer program product of claim 17 , wherein data on the storage system may be recovered based on a quorum of cloud endpoints that is less than all of the multiple cloud endpoints receiving the stream of data.

19. The computer program product of claim 15 , wherein the stream of data includes an atomic sequence of updates.

20. The computer program product of claim 15 , wherein the storage system is a source storage system, and wherein in response to a data loss event, the data from the source storage system is recovered on a target storage system that is different from the source storage system.

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 Mar 20, 2019
From: MCNUTT, GREGORY
To: PURE STORAGE, INC.
Reel/Frame 048648/0912 →
Cited By (2)
US 12,405,859 US 12,407,562