IP Library Granted Patent US 12,026,061
Granted Patent B1
US 12,026,061 · App. 16/655,624 · Granted Jul 2, 2024

Restoring a cloud-based storage system to a selected state

Inventors: Arun Theebaprakasam (Fremont, CA); Grigori Inozemtsev (San Jose, CA); Neelesh Thakur (San Jose, CA); Swapnil Nagle (Sunnyvale, CA); Joshua Freilich (San Francisco, CA); Naveen Neelakantam (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F11/1464G06F3/0619G06F3/0629G06F3/067G06F11/1451G06F11/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 12,026,061
App. No.
16/655,624
Filed
Oct 17, 2019
Granted
Jul 2, 2024
Kind
B1
Art Unit
2196
USPC
718/104
Abstract

Restoring a cloud-based storage system to a selected state, including: generating, over a period of time, one or more snapshot states of a cloud-based storage system, wherein each of the one or more snapshot states describes a respective configuration of the cloud-based storage system at a respective point in time within the period of time; providing, to a computing process, one or more selectable states corresponding to the one or more snapshot states of the cloud-based storage system; and transitioning, in response to a selection of a particular snapshot state from among the one or more snapshot states, the configuration of the cloud-based storage system from a current state to the particular snapshot state.

Claims (27)

1. A method comprising:

generating, over a period of time, one or more snapshot states of a cloud-based storage system, wherein each of the one or more snapshot states describes a respective configuration of the cloud-based storage system at a respective point in time within the period of time;

providing, to a computing process, one or more selectable states corresponding to the one or more snapshot states of the cloud-based storage system; and

transitioning, in response to a selection of a particular snapshot state from among the one or more snapshot states, the configuration of the cloud-based storage system from a current state to the particular snapshot state including:

identifying one or more transitional states from the current state to the particular snapshot state,

identifying, responsive to removal of one or more resources, a resource excluded from the particular snapshot state and included in the current state, and

configuring the cloud-based storage system to not use the resource.

2. The method of claim 1 , wherein a given snapshot state of the one or more snapshots states comprises an Infrastructure as Code (IaC) configuration template.

3. The method of claim 2 , wherein each given snapshot state includes specifications for one or more of: one or more hardware configurations for one or more hardware elements supporting the cloud-based storage system, or one or more configurations for one or more cloud resources supporting the cloud-based storage system.

4. The method of claim 1 , wherein each given snapshot state is based on an enumeration of a plurality of resources of the cloud-based storage system.

5. The method of claim 4 , wherein generating the enumeration comprises querying the cloud-computing environment for a tag corresponding to each of the plurality of resources.

6. The method of claim 1 , wherein, relative to the current state, the particular snapshot state is a configuration of the cloud-based storage system that includes one or more of: fewer resources, an increased quantity of one or more existing resources, or a modification of one or more existing resources.

7. The method of claim 1 , wherein transitioning the configuration of the cloud-based storage system includes, responsive to removal of one or more resources, identifying a resource excluded from the next state and included in the snapshot state, and wherein transitioning the configuration of the cloud-based storage system further includes configuring the cloud-based storage system to not use the resource.

8. The method of claim 1 , wherein the particular snapshot state describes one or more of: compute configuration, cluster assignments, operating system state, networking configuration, storage array configuration, storage volumes, or host configurations.

9. An apparatus for restoring a cloud-based storage system to a selected state, the 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:

generating, over a period of time, one or more snapshot states of a cloud-based storage system, wherein each of the one or more snapshot states describes a respective configuration of the cloud-based storage system at a respective point in time within the period of time;

providing, to a computing process, one or more selectable states corresponding to the one or more snapshot states of the cloud-based storage system; and

transitioning, in response to a selection of a particular snapshot state from among the one or more snapshot states, the configuration of the cloud-based storage system from a current state to the particular snapshot state including:

identifying one or more transitional states from the current state to the particular snapshot state and a resource included in the particular snapshot state and excluded from the current state;

adding the resource to the cloud-based storage system; and

configuring the cloud-based storage system to use the resource.

10. The apparatus of claim 9 , wherein a given snapshot state of the one or more snapshots states comprises an Infrastructure as Code (IaC) configuration template.

11. The apparatus of claim 10 , wherein each given snapshot state includes specifications for one or more of: one or more hardware configurations for one or more hardware elements supporting the cloud-based storage system, or one or more configurations for one or more cloud resources supporting the cloud-based storage system.

12. The apparatus of claim 9 , wherein each given snapshot state is based on an enumeration of a plurality of resources of the cloud-based storage system.

13. The apparatus of claim 12 , wherein generating the enumeration comprises querying the cloud-computing environment for a tag corresponding to each of the plurality of resources.

14. The apparatus of claim 9 , wherein, relative to the current state, the particular snapshot state is a configuration of the cloud-based storage system that includes one or more of: fewer resources, an increased quantity of one or more existing resources, or a modification of one or more existing resources.

15. The apparatus of claim 9 , wherein the particular snapshot state describes one or more of: compute configuration, cluster assignments, operating system state, networking configuration, storage array configuration, storage volumes, or host configurations.

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 Oct 17, 2019
From: THEEBAPRAKASAM, ARUN; INOZEMTSEV, GRIGORI; THAKUR, NEELESH; NAGLE, SWAPNIL; FREILICH, JOSHUA; NEELAKANTAM, NAVEEN
To: PURE STORAGE, INC.
Reel/Frame 050747/0976 →
Continuity (3)
Continuation In Part 16458481 · Jul 1, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018