IP Library Granted Patent US 12,061,929
Granted Patent B2
US 12,061,929 · App. 17/888,015 · Granted Aug 13, 2024

Providing storage tailored for a storage consuming application

Inventors: Robert Barker, Jr. (San Ramon, CA); Prakash Darji (Santa Clara, CA); Charles Giancarlo (Atherton, CA); Ronald Karr (Palo Alto, CA); Chadd Kenney (Emerald Hills, CA)
Assignee: PURE STORAGE, INC.
G06F9/5016G05B23/0259G06F3/0664G06F9/50G06F9/505G06F11/1629G06F16/00
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,061,929
App. No.
17/888,015
Granted
Aug 13, 2024
Kind
B2
Abstract

Providing storage tailored for a storage consuming application, including: identifying, for an application that utilizes storage resources within a cloud-based storage system, one or more storage performance characteristics associated with the application; comparing the storage performance characteristics of the application that were identified with storage performance characteristics of storage resources of one or more cloud-based storage systems; and selecting, based on the comparing, one or more storage resources within the one or more cloud-based storage systems to provide storage services to the application.

Claims (47)

1. A method comprising:

identifying, for an application that utilizes storage resources within a cloud-based storage system, one or more storage performance characteristics associated with the application inferred based on application execution over time;

identifying, in dependence upon a predicted change to the application, one or more updated storage performance characteristics associated with the application, by utilizing trending information associated with a set of applications that includes the application;

comparing the updated storage performance characteristics of the application that were identified with storage performance characteristics of storage resources of one or more cloud-based storage systems; and

selecting, based on the comparing, one or more storage resources within the one or more cloud-based storage systems to provide storage services to the application.

2. The method of claim 1 wherein selecting, in dependence upon the one or more storage performance characteristics associated with the application and storage performance characteristics of storage resources within one or more cloud-based storage systems, one or more storage resources within the one or more cloud-based storage systems to support the execution of the application further comprises selecting, from available storage resources that could be included in a cloud-based storage system, a subset of storage resources that can be provided by a cloud computing environment for inclusion within the cloud-based storage system that is to be created to support the execution of the application.

3. The method of claim 1 wherein selecting, in dependence upon the one or more storage performance characteristics associated with the application and storage performance characteristics of storage resources within one or more cloud-based storage systems, one or more storage resources within the one or more cloud-based storage systems to support the execution of the application further comprises selecting, from amongst a plurality of cloud-based storage systems that are supported by a cloud computing environment, a particular cloud-based storage system to support the execution of the application.

4. The method of claim 1 wherein selecting, in dependence upon the one or more storage performance characteristics associated with the application and storage performance characteristics of storage resources within one or more cloud-based storage systems, one or more storage resources within the one or more cloud-based storage systems to support the execution of the application further comprises selecting, from amongst a plurality of storage system virtual controller compute instances, a particular set of one or more storage system virtual controller compute instances to service I/O operations generated by the application.

5. The method of claim 1 further comprising:

identifying, in dependence upon a predicted change to the application, one or more updated storage performance characteristics associated with the application, wherein the predicted change comprises a predicted increase in required processing storage resources to support the application; and

selecting, in dependence upon the one or more updated storage performance characteristics associated with the application and storage performance characteristics of one or more storage resources within one or more of the cloud-based storage systems, an updated set of storage resources within the one or more cloud-based storage systems to support the execution of the application.

6. The method of claim 1 further comprising:

identifying, in dependence upon a detected change to the application, one or more updated storage performance characteristics associated with the application; and

selecting, in dependence upon the one or more updated storage performance characteristics associated with the application and storage performance characteristics of one or more storage resources within one or more of the cloud-based storage systems, an updated set of storage resources within the one or more cloud-based storage systems to support the execution of the application.

7. The method of claim 6 wherein the application utilizes the updated set of storage resources within the one or more cloud-based storage systems without migrating any portion of a dataset that is stored as objects within object storage resources in the cloud-based storage system.

8. The method of claim 6 wherein selecting an updated set of storage resources within the one or more cloud-based storage systems to support the execution of the application further comprises modifying storage resources within the one or more cloud-based storage systems.

9. The method of claim 8 wherein modifying storage resources within the one or more cloud-based storage systems further comprises modifying a virtual drive layer in at least one of the cloud-based storage systems.

10. The method of claim 8 wherein modifying storage resources within the one or more cloud-based storage systems further comprises modifying a storage controller layer in at least one of the cloud-based storage systems.

11. The method of claim 8 , further comprising:

receiving, via a storage tuning interface, tuning information for a cloud-based storage system that is utilized by the application; and

wherein modifying storage resources within the one or more cloud-based storage systems is carried out in response to receiving the tuning information.

12. The method of claim 1 further comprising:

detecting a change to one or more of the cloud-based storage systems;

identifying, in dependence upon the detected change to one or more of the cloud-based storage systems, one or more updated storage performance characteristics associated with the one or more cloud-based storage systems; and

selecting, in dependence upon the storage performance characteristics associated with the application and the updated storage performance characteristics associated with the one or more cloud-based storage systems, an updated set of storage resources within the one or more cloud-based storage systems to support the execution of the application.

13. The method of claim 1 further comprising:

identifying, in dependence upon a predicted change to the application, one or more updated storage performance characteristics associated with the application, by utilizing trending information associated with the application and trending information based on telemetry data associated with similar applications.

14. A method comprising:

identifying, for an application that utilizes storage resources within a cloud-based storage system, one or more storage performance characteristics associated with the application inferred based on application execution over time;

identifying, in dependence upon a predicted change to the application, one or more updated storage performance characteristics associated with the application, by utilizing trending information associated with a set of applications that includes the application;

comparing the updated storage performance characteristics of the application that were identified with storage performance characteristics of storage resources of one or more cloud-based storage systems; and

selecting, based on the comparing, one or more storage resources within the one or more cloud-based storage systems to provide storage services to the application.

15. The method of claim 14 wherein:

for each application of a plurality of applications supported by the storage system, the storage resources within the storage system that support the execution of the application are located in distinct application isolation domains.

16. The method of claim 14 further comprising generating a recommendation to cease supporting the execution of the application on first storage resources within the storage system and begin supporting the execution of the application on second storage resources within the storage system.

17. The method of claim 14 further comprising:

identifying, in dependence upon predicted change to the application, one or more updated storage performance characteristics associated with the application, wherein the predicted change comprises a predicted increase in required processing storage resources to support the application; and

selecting, in dependence upon the one or more updated storage performance characteristics associated with the application and storage performance characteristics of storage resources within the storage system, an updated set of storage resources within the storage system to support the execution of the application.

18. The method of claim 14 further comprising:

selecting, in dependence upon the one or more storage performance characteristics associated with the application and updated storage performance characteristics of storage resources within the storage system, an updated set of storage resources within the storage system to support the execution of the application.

19. The method of claim 14 further comprising:

performing corrective actions in response to detecting that one or more storage resources within the storage system will become constrained.

20. 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, cause the apparatus to carry out the steps of:

identifying, for an application that utilizes storage resources within a cloud-based storage system, one or more storage performance characteristics associated with the application inferred based on application execution over time;

identifying, in dependence upon a predicted change to the application, one or more updated storage performance characteristics associated with the application, by utilizing trending information associated with a set of applications that includes the application;

comparing the updated storage performance characteristics of the application that were identified with storage performance characteristics of storage resources of one or more cloud-based storage systems; and

selecting, based on the comparing, one or more storage resources within the one or more cloud-based storage systems to provide storage services to the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: BARKER JR., ROBERT; DARJI, PRAKASH; GIANCARLO, CHARLES; KARR, RONALD; KENNEY, CHADD
To: PURE STORAGE, INC.
Reel/Frame 060810/0255 →
Continuity (5)
Continuation 16516950 · Jul 19, 2019
Provisional Application 62875947 · Jul 18, 2019
Provisional Application 62731295 · Sep 14, 2018
Provisional Application 62701239 · Jul 20, 2018
Related Publication 20230016170A1 · Jan 19, 2023
Cited By (1)
US 12,646,613