IP Library Granted Patent US 11,416,298
Granted Patent B1
US 11,416,298 · App. 16/516,950 · Granted Aug 16, 2022

Providing application-specific storage by a storage system

Inventors: Robert Barker, Jr. (Cupertino, 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 11,416,298
App. No.
16/516,950
Granted
Aug 16, 2022
Kind
B1
Abstract

Providing application-specific storage by a cloud-based storage system, including: identifying, for an application that utilizes resources within the cloud-based storage system, one or more characteristics associated with the application; and selecting, in dependence upon the one or more characteristics associated with the application and characteristics of resources within the cloud-based storage system, one or more resources within the cloud-based storage system to support the execution of the application, wherein at least a portion of a dataset associated with the application is stored as blocks within block storage resources in the cloud-based storage system and also stored as objects within object storage resources in the cloud-based storage system.

Claims (45)

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 during a monitoring of an execution of the application; and

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

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, wherein at least a portion of a dataset associated with the application is stored as blocks within block storage resources in the cloud-based storage system and also stored as objects within object storage resources in the cloud-based storage system;

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 cloudbased storage systems, an updated set of storage resources within the one or more cloud-based storage systems to support the execution of 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 the 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 the 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 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.

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

7. The method of claim 5 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.

8. The method of claim 7 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.

9. The method of claim 7 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.

10. The method of claim 7 , 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.

11. 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.

12. The method of claim 1 further comprising:

detecting that one or more storage resources within the cloud-based storage system have become constrained; and

automatically, without user intervention, performing corrective actions.

13. 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 during a monitoring of an execution of the application; and

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

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, wherein at least a portion of a dataset associated with the application is stored as blocks within block storage resources in the cloud-based storage system and also stored as objects within object storage resources in the cloud-based storage system;

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.

14. The method of claim 13 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.

15. The method of claim 13 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.

16. The method of claim 13 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.

17. The method of claim 13 further comprising:

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

18. 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 during a monitoring of an execution of the application; and

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

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, wherein at least a portion of a dataset associated with the application is stored as blocks within block storage resources in the cloud-based storage system and also stored as objects within object storage resources in the cloud-based storage system;

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.

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 19, 2019
From: BARKER, ROBERT, JR.; DARJI, PRAKASH; GIANCARLO, CHARLES; KARR, RONALD; KENNEY, CHADD
To: PURE STORAGE, INC.
Reel/Frame 049804/0260 →
Cited By (7)
US 12,223,210 US 12,360,682 US 12,466,415 US 12,493,431 US 12,596,506 US 12,639,650 US 12,646,613