IP Library Granted Patent US 9,983,807
Granted Patent B1
US 9,983,807 · App. 14/673,027 · Granted May 29, 2018

Static service levels and application specific usage tags for storage policy based management of storage resources

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 9,983,807
App. No.
14/673,027
Granted
May 29, 2018
Kind
B1
Abstract

Storage system characteristics are processed to generate a service level for a storage system that is one of a fixed number of service levels. Application specific usage tags describing application types the storage system is appropriate to support may also be generated. The service level and application specific usage tags are stored into a storage system capability profile and made available, together with any metadata needed to describe the application specific usage tags, to a system associated with a virtualization environment. A request to provision storage resources for a virtual machine is subsequently received, including a policy profile having a requested service level and one or more application specific usage tags describing the storage requirements of the virtual machine. If the policy profile matches the capability profile, storage resources are provisioned for the virtual machine from the storage system.

Claims (98)

1. A computer-implemented method of provisioning storage for a virtual machine executing in a virtualization environment, comprising executing, on at least one processor, the steps of:

generating, in response to performance characteristics of a storage system, a service level for the storage system, wherein the service level for the storage system is one of a fixed number of service levels, and wherein the service level for the storage system indicates a level of performance available from the storage system;

storing the service level for the storage system into a capability profile for the storage system;

receiving a request to provision storage resources for the virtual machine executing in the virtualization environment, wherein the request to provision storage resources includes a policy profile including a requested service level, wherein the requested service level indicates a level of storage performance requested for the virtual machine;

comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system, wherein the comparing includes comparing the requested service level to the service level for the storage system;

provisioning storage resources from the storage system for use by the virtual machine in response to the requested service level matching the service level for the storage system;

generating at least one application specific usage tag for the storage system, wherein the application specific usage tag for the storage system indicates a type of application that a configuration of storage tiers underlying a storage pool in the storage system is appropriate to support, and wherein generating the application specific usage tag for the storage system includes, in response to a determination that the configuration of storage tiers underlying the storage pool in the storage system is appropriate for supporting applications that issue small, random input/output operations, generating an application specific usage tag for the storage system that indicates that the storage pool is appropriate for supporting online transaction processing (OLTP) applications;

storing the application specific usage tag for the storage system into the capability profile for the storage system;

wherein the policy profile in the request to provision storage resources for the virtual machine further includes at least one application specific usage tag, wherein the application specific usage tag in the policy profile indicates a type of application that executes on the virtual machine;

wherein comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system further includes comparing the application specific usage tag in the policy profile to the application specific usage tag in the capability profile; and

wherein provisioning storage resources from the storage system for use by the virtual machine is further in response to the application specific usage tag in the policy profile matching the application specific usage tag in the capability profile.

2. The method of claim 1 , further comprising:

determining, in response to the application specific usage tag for the storage system, a set of metadata for the application specific usage tag for the storage system; and

transmitting the metadata for the application specific usage tag for the storage system to a virtualization administrator system associated with the virtualization environment for use in generating the policy profile.

3. The method of claim 1 , wherein generating the application specific usage tag for the storage system further includes:

generating an application specific tag user interface on a storage administrator system, wherein the application specific tag user interface enables a user of the storage administrator system to indicate at least one application specific tag; and

receiving the application specific usage tag for the storage system through the application specific tag user interface on the storage administrator system.

4. The method of claim 1 , further comprising:

wherein the performance characteristics of the storage system include an indication of a type of disk drive used by the storage system; and

wherein generating the service level for the storage system is responsive to the indication of the type of disk drive used by the storage system.

5. The method of claim 1 , further comprising:

wherein the performance characteristics of the storage system include an indication of a redundant array of independent disks (RAID) architecture used by the storage system; and

wherein generating the service level for the storage system is responsive to the indication of the of the RAID architecture used by the storage system.

6. The method of claim 1 , further comprising:

wherein the performance characteristics of the storage system include an indication of whether the storage system supports high speed caching of data; and

wherein generating the service level for the storage system is responsive to the indication of whether the storage system supports high speed caching.

7. The method of claim 1 , wherein each of the fixed number of service levels indicates a different estimated average latency for input/output operations, and wherein generating the service level for the storage system further comprises:

determining an estimated average latency for input/output operations issued to the storage system; and

wherein the service level generated for the storage system indicates an average latency for input/output operations corresponding to the estimated average latency for input output operations determined for the storage system.

8. The method of claim 1 , further comprising:

wherein generating the service level for the storage system is performed automatically by a storage administrator system;

wherein the fixed number of service levels comprises a predefined set of service levels; and

wherein the requested service level included in the request to provision storage resources for the virtual machine is one of the fixed number of service levels.

9. The method of claim 8 , further comprising:

wherein a set of physical storage devices are attached to the storage system;

wherein the storage system includes a storage pool that organizes units of storage space allocated from the physical storage devices that are attached to the storage system to form one or more virtual volumes;

wherein the virtual volumes formed from the storage pool of the storage system are exposed for access through one or more protocol endpoints contained within the storage system;

wherein the service level for the storage system describes the overall level of storage service performance supported by the storage pool in the storage system;

wherein the application specific usage tag for the storage system indicates a type of application that the storage pool in the storage system is appropriate to support; and

wherein the request to provision storage resources for the virtual machine comprises a request to provision a virtual volume from the storage pool in the storage system.

10. The method of claim 9 , wherein the storage system is one of a plurality of storage systems that are managed by a storage administrator user using the storage administrator system;

wherein the virtual machine is one of a plurality of virtual machines that are managed by a virtualization environment administrator user using a virtualization environment administration system;

wherein the application specific usage tag for the storage system indicates at least one application type that typically has a working set that can be located on at least one high performance disk drive that is located within the set of physical storage devices that are attached to the storage system;

wherein generating the application specific usage tag for the storage system includes i) generating an application specific tag user interface on the storage administrator system, wherein the application specific tag user interface enables a user of the storage administrator system to indicate at least one application specific tag, and ii) receiving the application specific usage tag for the storage system through the application specific tag user interface on the storage administrator system; and the method further comprising:

in response to receiving the application specific usage tag for the storage system through the application specific tag user interface, i) automatically determining, by the storage administrator system, a set of metadata for the application specific usage tag for the storage system, and ii) automatically transmitting the metadata for the application specific usage tag for the storage system from the storage administrator system to the virtualization administrator system, wherein the metadata for the application specific usage tag indicates to the virtualization administrator system that the application specific usage tag may be included as a usage tag constraint in a policy profile in a request to provision storage resources for one of the plurality of virtual machines.

11. A computerized system for provisioning storage for a virtual machine executing in a virtualization environment, comprising:

at least one hardware processor;

a memory having program code stored thereon, wherein the program code, when executed by the processor, causes the processor to

generate, in response to performance characteristics of a storage system, a service level for the storage system, wherein the service level for the storage system is one of a fixed number of service levels, and wherein the service level for the storage system indicates a level of performance available from the storage system;

store the service level for the storage system into a capability profile for the storage system;

receive a request to provision storage resources for the virtual machine executing in the virtualization environment, wherein the request to provision storage resources includes a policy profile including a requested service level, wherein the requested service level indicates a level of storage performance requested for the virtual machine;

compare the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system, wherein the comparing includes comparing the requested service level to the service level for the storage system;

provision storage resources from the storage system for use by the virtual machine in response to the requested service level matching the service level for the storage system; and

generate at least one application specific usage tag for the storage system, wherein the application specific usage tag for the storage system indicates a type of application that a configuration of storage tiers underlying a storage pool in the storage system is appropriate to support, and store the application specific usage tag for the storage system into the capability profile for the storage system, and wherein the generating the application specific usage tag for the storage system is generated at least in part by, in response to a determination that the configuration of storage tiers underlying the storage pool in the storage system is appropriate for supporting applications that issue small, random input/output operations, causing the processor to generate an application specific usage tag for the storage system that indicates that the storage pool is appropriate for supporting online transaction processing (OLTP) applications;

wherein the policy profile in the request to provision storage resources for the virtual machine further includes at least one application specific usage tag, wherein the application specific usage tag in the policy profile indicates a type of application that executes on the virtual machine;

wherein comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system further includes comparing the application specific usage tag in the policy profile to the application specific usage tag in the capability profile; and

wherein provisioning storage resources from the storage system for use by the virtual machine is further in response to the application specific usage tag in the policy profile matching the application specific usage tag in the capability profile.

12. The system of claim 11 , wherein the program code, when executed on the processor, further causes the processor to:

determine, in response to the application specific usage tag for the storage system, a set of metadata for the application specific usage tag for the storage system; and

transmit the metadata for the application specific usage tag for the storage system to a virtualization administrator system associated with the virtualization environment for use in generating the policy profile.

13. The system of claim 11 , wherein the program code, when executed on the processor, further causes the processor to:

generate the application specific usage tag for the storage system by generating an application specific tag user interface on a storage administrator system, wherein the application specific tag user interface enables a user of the storage administrator system to indicate at least one application specific tag, and

receiving the application specific usage tag for the storage system through the application specific tag user interface on the storage administrator system.

14. The system of claim 11 , further comprising:

wherein the performance characteristics of the storage system include an indication of a type of disk drive used by the storage system; and

wherein the service level for the storage system is generated responsive to the indication of the type of disk drive used by the storage system.

15. The system of claim 11 , further comprising:

wherein the performance characteristics of the storage system include an indication of a redundant array of independent disks (RAID) architecture used by the storage system; and

wherein the service level for the storage system is generated responsive to the indication of the of the RAID architecture used by the storage system.

16. The system of claim 11 , further comprising:

wherein the performance characteristics of the storage system include an indication of whether the storage system supports high speed caching of data; and

wherein the service level for the storage system is generated responsive to the indication of whether the storage system supports high speed caching.

17. The system of claim 11 , further comprising:

wherein each of the fixed number of service levels indicates a different estimated average latency for input/output operations;

wherein the program code, when executed on the processor, further causes the processor to generate the service level for the storage system by determining an estimated average latency for input/output operations issued to the storage system; and

wherein the service level generated for the storage system indicates an average latency for input/output operations corresponding to the estimated average latency for input output operations determined for the storage system.

18. A non-transitory computer readable medium for provisioning storage for a virtual machine executing in a virtualization environment, the non-transitory medium having instructions stored thereon, that when executed on a processor of a computer, perform the steps of:

generating, in response to performance characteristics of a storage system, a service level for the storage system, wherein the service level for the storage system is one of a fixed number of service levels, and wherein the service level for the storage system indicates a level of performance available from the storage system;

storing the service level for the storage system into a capability profile for the storage system;

receiving a request to provision storage resources for the virtual machine executing in the virtualization environment, wherein the request to provision storage resources includes a policy profile including a requested service level, wherein the requested service level indicates a level of storage performance requested for the virtual machine;

comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system, wherein the comparing includes comparing the requested service level to the service level for the storage system;

provisioning storage resources from the storage system for use by the virtual machine in response to the requested service level matching the service level for the storage system;

generating at least one application specific usage tag for the storage system, wherein the application specific usage tag for the storage system indicates a type of application that a configuration of storage tiers underlying a storage pool in the storage system is appropriate to support, and wherein generating the application specific usage tag tag for the storage system includes, in response to a determination that the configuration of storage tiers underlying the storage pool in the storage system is appropriate for supporting applications that issue small, random input/output operations, generating an application specific usage tag for the storage system that indicates that the storage pool is appropriate for supporting online transaction processing (OLTP) applications;

storing the application specific usage tag for the storage system into the capability profile for the storage system;

wherein the policy profile in the request to provision storage resources for the virtual machine further includes at least one application specific usage tag, wherein the application specific usage tag in the policy profile indicates a type of application that executes on the virtual machine;

wherein comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system further includes comparing the application specific usage tag in the policy profile to the application specific usage tag in the capability profile; and

wherein provisioning storage resources from the storage system for use by the virtual machine is further in response to the application specific usage tag in the policy profile matching the application specific usage tag in the capability profile.

19. A computer-implemented method of provisioning storage for a virtual machine executing in a virtualization environment, comprising executing, on at least one processor, the steps of:

generating, in response to performance characteristics of a storage system, a service level for the storage system, wherein the service level for the storage system is one of a fixed number of service levels, and wherein the service level for the storage system indicates a level of performance available from the storage system;

storing the service level for the storage system into a capability profile for the storage system;

receiving a request to provision storage resources for the virtual machine executing in the virtualization environment, wherein the request to provision storage resources includes a policy profile including a requested service level, wherein the requested service level indicates a level of storage performance requested for the virtual machine;

comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system, wherein the comparing includes comparing the requested service level to the service level for the storage system;

provisioning storage resources from the storage system for use by the virtual machine in response to the requested service level matching the service level for the storage system;

generating at least one application specific usage tag for the storage system, wherein the application specific usage tag for the storage system indicates a type of application that a configuration of storage tiers underlying a storage pool in the storage system is appropriate to support, and wherein generating the application specific user tag for the storage system includes, in response to a determination that the configuration of storage tiers underlying the storage pool in the storage system is appropriate for supporting applications that issue small, random input/output operations, generating an application specific usage tad for the storage system that indicates that the storage pool is appropriate for supporting online transaction processing (OLTP) applications

storing the application specific usage tag for the storage system into the capability profile for the storage system;

wherein the policy profile in the request to provision storage resources for the virtual machine further includes at least one application specific usage tag, wherein the application specific usage tag in the policy profile indicates a type of application that executes on the virtual machine;

wherein comparing the policy profile in the request to provision storage resources for the virtual machine to the capability profile for the storage system further includes comparing the application specific usage tag in the policy profile to the application specific usage tag in the capability profile; and

wherein provisioning storage resources from the storage system for use by the virtual machine is further in response to the application specific usage tag in the policy profile matching the application specific usage tag in the capability profile.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: TYLIK, DMITRY NIKOLAYEVICH; ALEXEEV, SERGEY ALEXANDROVICH; SHUSHARIN, ALEXEY VLADIMIROVICH; ALEXEEV, ALEXANDER NICKOLAEVICH; OWEN, KARL M.; SAYYED, WADAH
To: EMC CORPORATION
Reel/Frame 039955/0041 →