IP Library Granted Patent US 11,733,865
Granted Patent B2
US 11,733,865 · App. 16/945,301 · Granted Aug 22, 2023

Real-time analysis for dynamic storage

Inventors: Sachithananthan Kesavan (Karnataka, IN); Rajesh Nagarajan (Tamil Nadu, IN); Nandakumar Ravindranath Allu (Tamil Nadu, IN)
Assignee: NetApp, Inc.
G06F3/0605G06F3/067G06F3/0631G06F3/0665G06F2212/154G06F2212/217G06F2212/263
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,733,865
App. No.
16/945,301
Granted
Aug 22, 2023
Kind
B2
Abstract

One or more techniques and/or systems are provided for dynamically provisioning logical storage pools of storage devices for applications. For example, a logical storage pool, of one or more storage devices, may be constructed based upon a service level agreement for an application (e.g., an acceptable latency, an expected throughput, etc.). Real-time performance statistics of the logical storage pool may be collected and evaluated against the service level agreement to determine whether a storage device does not satisfy the service level agreement. For example, a latency of a storage device within the logical storage pool may increase overtime as log files and/or other data of the application increase. Accordingly, a new logical storage pool may be automatically and dynamically defined and provisioned for the application to replace the logical storage pool. The new logical storage pool may comprise storage devices expected to satisfy the storage level agreement.

Claims (44)

1. A method, comprising:

creating a volume spanning first storage of a first storage service and second storage of a second storage service;

in response to receiving an operation from an application targeting the volume, storing data of the operation within the volume;

evaluating real-time performance statistics of the first storage across which the volume spans; and

in response to determining that the real-time performance statistics indicate degraded performance of the first storage that does not satisfy a service level agreement for the application, migrating data of the volume from the first storage to a logical storage pool comprised of cloud storage selected based upon the real-time performance statistics, network connection bandwidth to the cloud storage of the logical storage pool, a determination that a cost of the cloud storage is less than a cost of the first storage, and a probability of the cloud storage satisfying the service level agreement above a threshold probability greater than 0, wherein the probability is determined based upon specified performance statistics of the cloud storage.

2. The method of claim 1 , comprising:

provisioning a first logical storage pool for the volume using the first storage and the second storage; and

tracking real-time performance statistics of the first storage and the second storage providing access to the first logical storage pool to determine whether the first storage or the second storage do not satisfy the service level agreement.

3. The method of claim 1 , comprising:

creating a LUN spanning the first storage and the second storage for access by the application; and

tracking real-time performance statistics of the first storage and the second storage providing access to the LUN to determine whether the first storage or the second storage do not satisfy the service level agreement.

4. The method of claim 1 , comprising:

migrating the data of the volume from the first storage to the cloud storage.

5. The method of claim 4 , wherein the cloud storage is hosted by the first storage service, the second storage service, or a third storage service.

6. The method of claim 1 , comprising:

selecting the cloud storage based upon the cost the cloud storage satisfying the service level agreement at the cost.

7. The method of claim 1 , comprising:

selecting the cloud storage based upon an ability of the cloud storage to satisfy a data loss prevention requirement.

8. The method of claim 1 , comprising:

utilizing a background task to migrate the data of the volume from the first storage to the cloud storage.

9. The method of claim 1 , wherein the application comprises a front-end application, and the method comprising:

migrating, by a background task of a service different than the front-end application, the data of the volume without impacting the front-end application accessing the volume.

10. The method of claim 1 , wherein a storage environment receives the operation and stores the data within the volume on behalf of and transparent to the application.

11. The method of claim 1 , comprising:

selecting the first storage and the second storage based upon the service level agreement associated with the application.

12. The method of claim 11 , comprising

in response to the service level agreement being updated as an updated service level agreement, evaluating the real-time performance statistics against the updated service level agreement.

13. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:

create a logical storage pool spanning one or more storage devices of a first storage service based upon a service level agreement of an application;

provide the application with access to the logical storage pool;

in response to the service level agreement being updated as an updated service level agreement, identify a second storage service that can satisfy the updated service level agreement at a lower cost than the first storage service satisfying the updated service level agreement, wherein the second storage service is identified based upon at least one of an initial cost, recurring fees, or maintenance costs of the second storage service being less than the first storage service, and wherein the second storage service is selected based upon a probability of the second storage service satisfying the service level agreement above a threshold probability greater than 0, wherein the probability is determined based upon specified performance statistics of the second storage service; and

migrate data of the logical storage pool from the first storage service to the second storage service.

14. The non-transitory machine readable medium of claim 13 , wherein the updated service level agreement specifies an increased acceptable latency for the application.

15. The non-transitory machine readable medium of claim 13 , wherein the updated service level agreement specifies a decreased acceptable latency for the application.

16. The non-transitory machine readable medium of claim 13 , wherein the data is migrated to a new logical storage pool spanning storage of the second storage service.

17. A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the computing device to:

provision a logical storage pool, hosted by a first storage service, to satisfy a service level agreement;

determine that the service level agreement is modified as an updated service level agreement; and

reprovision the logical storage pool to a second storage service to satisfy the updated service level agreement, wherein the second storage service is selected based upon a network connection bandwidth to cloud storage of the second storage service, the second storage service satisfying the updated service level agreement at a lower cost than the first storage service satisfying the updated service level agreement, and a probability of the second storage service satisfying the service level agreement above a threshold probability greater than 0, wherein the probability is determined based upon specified performance statistics of the second storage service.

18. The computing device of claim 17 , wherein the logical storage pool is provisioned to utilize the first storage service satisfying the service level agreement.

19. The computing device of claim 17 , wherein the logical storage pool is reprovisioned to utilize the second storage service satisfying the updated service level agreement.

20. The computing device of claim 17 , wherein the updated service level agreement specifies at least one of a new acceptable latency for an application, a new target cost for hosting the logical storage pool, a new data loss prevention requirement for data of the logical storage pool, or a new throughput for the application.

Continuity (3)
Continuation 16015928 · Jun 22, 2018
Continuation 14813269 · Jul 30, 2015
Related Publication 20200363959A1 · Nov 19, 2020