IP Library Granted Patent US 12,039,369
Granted Patent B1
US 12,039,369 · App. 16/458,481 · Granted Jul 16, 2024

Examining a cloud-based storage system using codified states

Inventors: Naveen Neelakantam (Mountain View, CA); Joshua Freilich (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F9/5005G06F3/0607G06F3/067G06F16/9035G06F3/0658
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,039,369
App. No.
16/458,481
Filed
Jul 1, 2019
Granted
Jul 16, 2024
Kind
B1
Art Unit
2196
USPC
718/104
Abstract

Examining a cloud-based storage system using codified states includes generating an enumeration of a plurality of resources of the cloud-based storage system; comparing the enumeration to a codified state for the cloud-based storage system; and identifying, based on the comparison, a difference between the enumeration and the codified state.

Claims (32)

1. A method comprising:

generating an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;

comparing the enumeration to a configuration template that indicated resources that were allocated to the cloud-based storage system;

issuing an alert indicating one or more resources determined to be missing from the enumeration based on a comparison with the configuration template; and

resubmitting the previously submitted configuration template that includes the one or more missing resources, thereby causing the cloud-based storage system to include one or more replacement resources to compensate for the one or more missing resources according to the configuration template.

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

3. The method of claim 1 , further comprising identifying a resource included in the configuration template and excluded from the enumeration, and the method further comprises adding the resource in the cloud-based storage system.

4. The method of claim 1 , further comprising issuing an alert indicating a difference between the configuration template and the enumeration.

5. The method of claim 1 , further comprising identifying a resource excluded from the configuration template and included in the enumeration, and the method further comprises configuring the cloud-based storage system to use the resource.

6. The method of claim 1 , further comprising assigning, to each resource of the plurality of resources, a corresponding tag.

7. The method of claim 6 , wherein generating the enumeration comprises querying the cloud-based storage system for each corresponding tag for the plurality of resources.

8. An apparatus for examining a cloud-based storage system using codified states, 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 an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;

comparing the enumeration to a previously submitted configuration template that previously indicated resources that were to be allocated to the cloud-based storage system;

issuing an alert indicating one or more resources determined to be missing from the enumeration based on a comparison with the previously submitted configuration template; and

resubmitting the previously submitted configuration template that includes the one or more missing resources, thereby causing the cloud-based storage system to include one or more replacement resources to compensate for the one or more missing resources according to the configuration template.

9. The apparatus of claim 8 , wherein the configuration template is an Infrastructure as Code (IaC) configuration template.

10. The apparatus of claim 8 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of identifying a resource included in the configuration template and excluded from the enumeration, and further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of adding the resource in the cloud-based storage system.

11. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of issuing an alert indicating a difference between the previously submitted configuration template and the enumeration.

12. The apparatus of claim 8 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of identifying a resource excluded from the configuration template and included in the enumeration, and further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of configuring the cloud-based storage system to use the resource.

13. The apparatus of claim 8 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of assigning, to each resource of the plurality of resources, a corresponding tag.

14. The apparatus of claim 13 , wherein generating the enumeration comprises querying the cloud-based storage system for each corresponding tag for the plurality of resources.

15. A computer program product for examining a cloud-based storage system using codified states, the 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:

generating an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;

comparing the enumeration to a previously submitted configuration template that previously indicated resources that were to be allocated to the cloud-based storage system;

issuing an alert indicating one or more resources determined to be missing from the enumeration based on a comparison with the previously submitted configuration template; and

resubmitting the previously submitted configuration template that includes the one or more missing resources, thereby causing the cloud-based storage system to include one or more replacement resources to compensate for the one or more missing resources according to the configuration template.

16. The computer program product of claim 15 , wherein the configuration template comprises an Infrastructure as Code (IaC) configuration template.

17. The computer program product of claim 15 , wherein the computer program instructions include instructions for identifying a resource included in the configuration template and excluded from the enumeration, and further comprising computer program instructions that, when executed, cause the computer to carry out the step of adding the resource in the cloud-based storage system.

18. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause the computer to carry out the step of issuing an alert indicating a difference between the previously submitted configuration template and the enumeration.

19. The computer program product of claim 15 , further comprising computer program instructions that, when executed, cause the computer to carry out the step of identifying a resource excluded from the configuration template and included in the enumeration, and further comprising computer program instructions that, when executed, cause the computer to carry out the step of configuring the cloud-based storage system to use the resource.

20. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause the computer to carry out the step of assigning, to each resource of the plurality of resources, a corresponding tag.

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 Jul 1, 2019
From: NEELAKANTAM, NAVEEN; FREILICH, JOSHUA
To: PURE STORAGE, INC.
Reel/Frame 049640/0343 →
Continuity (2)
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Cited By (8)
US 12,355,626 US 12,481,529 US 12,621,205 US 12,634,202 US 12,647,324 US 12,663,974 US 12,681,775 US 12,710,987