IP Library Granted Patent US 10,592,140
Granted Patent B2
US 10,592,140 · App. 16/045,050 · Granted Mar 17, 2020

Method and system for automated storage provisioning

Inventors: Shawn R. Nicklin (Hopkinton, MA); Brent J. Rhymes (Lueders, TX)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0605G06F3/067
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 10,592,140
App. No.
16/045,050
Granted
Mar 17, 2020
Kind
B2
Abstract

Example embodiments of the present invention include a method, a system, and a computer-program product for storage automation. The method includes receiving a request for storage, determining a storage allocation for provisioning according to the request for storage and available storage resources, and provisioning storage according to the determined storage allocation.

Claims (42)

1. A method comprising:

receiving a storage request, the storage request specifying a first set of storage usage descriptors characterizing use of one or more storage resources by a given application;

identifying a set of candidate data centers for satisfying the storage request, each of the candidate data centers being associated with a second set of storage usage descriptors characterizing use of one or more storage resources of that data center by applications running in that candidate data center;

evaluating storage resource compatibility of the given application and the applications running in the set of candidate data centers, the storage resource compatibility between the given application and the applications running in a given one of the set of candidate data centers being based at least in part on one or more storage multitenancy relationship values determined from a comparison between the first set of storage usage descriptors and the second set of storage usage descriptors for the given candidate data center;

selecting at least one of the set of candidate data centers for satisfying the storage request based at least in part on the evaluated storage resource compatibilities; and

provisioning storage resources of the selected at least one candidate data center to satisfy the storage request;

wherein at least a given one of the storage multitenancy relationship values characterizes compatibility of one or more types of input/output (I/O) operations performed by the given application with one or more types of I/O operations performed by the applications running in the given candidate data center; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 wherein evaluating the storage resource compatibility of the given application and the applications running in the set of candidate data centers comprises utilizing a scoring algorithm to compute a score for each of the set of candidate data centers.

3. The method of claim 2 wherein selecting the at least one candidate data center is based at least in part on the computed scores for each of the set of candidate data centers.

4. The method of claim 1 wherein each of the one or more storage multitenancy relationship values is determined based on a rule defining a relationship between at least one of the first set of storage usage descriptors and at least one of the second set of storage usage descriptors.

5. The method of claim 4 further comprising assigning weights to each of the one or more storage multitenancy relationship values, wherein evaluating the storage resource compatibility between the given application and the applications running in the given candidate data center comprises computing a weighted sum of the one or more storage multitenancy relationship values.

6. The method of claim 1 wherein the first and second sets of storage usage descriptors comprise one or more user-definable tags describing use of storage resources.

7. The method of claim 1 further comprising generating a storage execution plan for satisfying the storage request, wherein provisioning the storage resources of the selected at least one candidate data center to satisfy the storage request is based at least in part on the storage execution plan.

8. The method of claim 7 wherein the storage execution plan defines: one or more storage provisioning workflows; one or more preview workflows for performing checks in a storage environment before executing an automated storage service; and recovery logic for performing a series of actions to recover from a failed automated storage service.

9. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to receive a storage request, the storage request specifying a first set of storage usage descriptors characterizing use of one or more storage resources by a given application;

to identify a set of candidate data centers for satisfying the storage request, each of the candidate data centers being associated with a second set of storage usage descriptors characterizing use of one or more storage resources of that data center by applications running in that candidate data center;

to evaluate storage resource compatibility of the given application and the applications running in the set of candidate data centers, the storage resource compatibility between the given application and the applications running in a given one of the set of candidate data centers being based at least in part on one or more storage multitenancy relationship values determined from a comparison between the first set of storage usage descriptors and the second set of storage usage descriptors for the given candidate data center;

to select at least one of the set of candidate data centers for satisfying the storage request based at least in part on the evaluated storage resource compatibilities; and

to provision storage resources of the selected at least one candidate data center to satisfy the storage request;

wherein at least a given one of the storage multitenancy relationship values characterizes compatibility of one or more types of input/output (I/O) operations performed by the given application with one or more types of I/O operations performed by the applications running in the given candidate data center.

10. The computer program product of claim 9 wherein evaluating the storage resource compatibility of the given application and the applications running in the set of candidate data centers comprises utilizing a scoring algorithm to compute a score for each of the set of candidate data centers.

11. The computer program product of claim 10 wherein selecting the at least one candidate data center is based at least in part on the computed scores for each of the set of candidate data centers.

12. The computer program product of claim 9 wherein each of the one or more storage multitenancy relationship values is determined based on a rule defining a relationship between at least one of the first set of storage usage descriptors and at least one of the second set of storage usage descriptors.

13. The computer program product of claim 12 wherein the program code when executed further causes the at least one processing device to assign weights to each of the one or more storage multitenancy relationship values, wherein evaluating the storage resource compatibility between the given application and the applications running in the given candidate data center comprises computing a weighted sum of the one or more storage multitenancy relationship values.

14. The computer program product of claim 9 wherein the first and second sets of storage usage descriptors comprise one or more user-definable tags describing use of storage resources.

15. The computer program product of claim 9 wherein the program code when executed further causes the at least one processing device to generate a storage execution plan for satisfying the storage request, wherein provisioning the storage resources of the selected at least one candidate data center to satisfy the storage request is based at least in part on the storage execution plan.

16. The computer program product of claim 15 wherein the storage execution plan defines: one or more storage provisioning workflows; one or more preview workflows for performing checks in a storage environment before executing an automated storage service; and recovery logic for performing a series of actions to recover from a failed automated storage service.

17. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

wherein the at least one processing device is configured:

to receive a storage request, the storage request specifying a first set of storage usage descriptors characterizing use of one or more storage resources by a given application;

to identify a set of candidate data centers for satisfying the storage request, each of the candidate data centers being associated with a second set of storage usage descriptors characterizing use of one or more storage resources of that data center by applications running in that candidate data center;

to evaluate storage resource compatibility of the given application and the applications running in the set of candidate data centers, the storage resource compatibility between the given application and the applications running in a given one of the set of candidate data centers being based at least in part on one or more storage multitenancy relationship values determined from a comparison between the first set of storage usage descriptors and the second set of storage usage descriptors for the given candidate data center;

to select at least one of the set of candidate data centers for satisfying the storage request based at least in part on the evaluated storage resource compatibilities; and

to provision storage resources of the selected at least one candidate data center to satisfy the storage request; and

wherein at least a given one of the storage multitenancy relationship values characterizes compatibility of one or more types of input/output (I/O) operations performed by the given application with one or more types of I/O operations performed by the applications running in the given candidate data center.

18. The apparatus of claim 17 wherein evaluating the storage resource compatibility of the given application and the applications running in the set of candidate data centers comprises utilizing a scoring algorithm to compute a score for each of the set of candidate data centers.

19. The apparatus of claim 18 wherein selecting the at least one candidate data center is based at least in part on the computed scores for each of the set of candidate data centers.

20. The apparatus of claim 17 wherein each of the one or more storage multitenancy relationship values is determined based on a rule defining a relationship between at least one of the first set of storage usage descriptors and at least one of the second set of storage usage descriptors.

21. The apparatus of claim 20 wherein the at least one processing device is further configured to assign weights to each of the one or more storage multitenancy relationship values, wherein evaluating the storage resource compatibility between the given application and the applications running in the given candidate data center comprises computing a weighted sum of the one or more storage multitenancy relationship values.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
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 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 Jul 25, 2018
From: NICKLIN, SHAWN R.; RHYMES, BRENT J.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046457/0613 →
Cited By (1)
US 12,645,576