IP Library Granted Patent US 12,026,060
Granted Patent B1
US 12,026,060 · App. 16/599,528 · Granted Jul 2, 2024

Reverting between codified states in a cloud-based storage system

Inventors: Arun Theebaprakasam (Fremont, CA); Grigori Inozemtsev (San Jose, CA); Neelesh Thakur (San Jose, CA); Naveen Neelakantam (Mountain View, CA); Swapnil Nagle (Sunnyvale, CA); Joshua Freilich (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F11/1464G06F3/0617G06F3/0659G06F3/067G06F11/1448G06F11/1469G06F2201/80G06F2201/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,060
App. No.
16/599,528
Granted
Jul 2, 2024
Kind
B1
Abstract

Reverting between codified states in a cloud-based storage system, including: generating, in response to receiving a request to change a configuration of the cloud-based storage system to an updated state, a snapshot state of a current state of the cloud-based storage system; transitioning the configuration of the cloud-based storage system from the snapshot state to a next state toward the updated state; and reverting, in response to not configuring the cloud-based storage system in accordance with the updated state, configuration of the cloud-based storage system from the next state to the snapshot state.

Claims (22)

1. A method comprising:

generating, in response to receiving a request to change a configuration of a cloud-based storage system to an updated state, a snapshot state of a current state of the cloud-based storage system;

based on one or more configuration templates representing one or more transitional states between the current state and the updated state, transitioning the configuration of the cloud-based storage system from the snapshot state to a next state toward the updated state, wherein the one or more configuration templates representing one or more transitional states between the current state and the updated state includes the resources and dependencies required for the transitional state; and

based on a failure encountered during implementation of a particular configuration template corresponding to the next state, reverting the configuration of the cloud-based storage system from the next state back to the snapshot state by implementing a configuration template corresponding to the snapshot state, wherein the configuration template corresponding to the snapshot state includes the resources and dependencies required for the snapshot state.

2. The method of claim 1 , wherein the snapshot state comprises an Infrastructure as Code (IaC) configuration template.

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

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

5. The method of claim 1 , wherein the updated 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.

6. The method of claim 1 , further comprising identifying one or more transitional states from the snapshot state to the updated state.

7. The method of claim 6 , reverting the configuration of the cloud-based storage system includes rolling back each modification of the cloud-based storage system performed at each completed transitional state in reaching the updated state until the configuration of the cloud-based storage system matches the snapshot state.

8. The method of claim 1 , wherein the 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 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 response to receiving a request to change a configuration of a cloud-based storage system to an updated state, a snapshot state of a current state of the cloud-based storage system;

based on one or more configuration templates representing one or more transitional states between the current state and the updated state, transitioning the configuration of the cloud-based storage system from the snapshot state to a next state toward the updated state, wherein the one or more configuration templates representing one or more transitional states between the current state and the updated state includes the resources and dependencies required for the transitional state; and

based on a failure encountered during implementation of a particular configuration template corresponding to the next state, reverting the configuration of the cloud-based storage system from the next state back to the snapshot state by implementing a configuration template corresponding to the snapshot state wherein the configuration template corresponding to the snapshot state includes the resources and dependencies required for the snapshot state.

10. The apparatus of claim 9 , wherein the snapshot state comprises an Infrastructure as Code (IaC) configuration template.

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

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

13. The apparatus of claim 9 , wherein the updated 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.

14. The apparatus of claim 9 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out identifying one or more transitional states from the snapshot state to the updated state.

15. The apparatus of claim 14 , wherein reverting the configuration of the cloud-based storage system includes rolling back each modification of the cloud-based storage system performed at each completed transitional state in reaching the updated state until the configuration of the cloud-based storage system matches the snapshot state.

16. The apparatus of claim 9 , wherein the 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 11, 2019
From: THEEBAPRAKASAM, ARUN; INOZEMTSEV, GRIGORI; THAKUR, NEELESH; NEELAKANTAM, NAVEEN; NAGLE, SWAPNIL; FREILICH, JOSHUA
To: PURE STORAGE, INC.
Reel/Frame 050688/0921 →
Continuity (3)
Continuation In Part 16458481 · Jul 1, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Cited By (1)
US 12,481,529