IP Library Granted Patent US 11,163,462
Granted Patent B1
US 11,163,462 · App. 16/861,371 · Granted Nov 2, 2021

Automated resource selection for software-defined storage deployment

Inventors: Trevor H. Dawe (Riverview, CA); Sean R. Gallacher (Moncton, CA)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0604G06F3/067G06F3/0659G06F3/0662H04L67/1097
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,163,462
App. No.
16/861,371
Granted
Nov 2, 2021
Kind
B1
Abstract

Methods, apparatus, and processor-readable storage media for automated resource selection for software-defined storage deployment are provided herein. An example computer-implemented method includes obtaining a software-defined storage deployment request from a user, the request comprising an amount of total storage capacity and a minimum number of servers; generating an in-memory data structure of at least a portion of an inventory associated with the user, wherein the inventory comprises servers and disks associated with the servers, and wherein the data structure organizes the inventory based on disk size and disk count per server; calculating, using at least the data structure, total storage capacity for each of multiple combinations of disk sizes and disk counts across the servers; determining at least one of the combinations, based on the total storage calculations, that satisfies the request; and performing at least one automated action based on the combination(s) determined to satisfy the request.

Claims (48)

1. A computer-implemented method comprising:

obtaining a software-defined storage deployment request from at least one user, wherein the request comprises a requested amount of total storage capacity and a minimum number of servers to be utilized for the software-defined storage deployment;

generating an in-memory data structure of at least a portion of an inventory associated with the at least one user, wherein the inventory comprises multiple servers and multiple disks associated with the multiple servers, and wherein the in-memory data structure organizes the at least a portion of the inventory based at least in part on disk size and disk count per server;

calculating, using at least the in-memory data structure, total storage capacity for each of multiple combinations of one or more disk sizes and one or more disk counts across one or more of the multiple servers within the inventory;

calculating an amount of storage required per server for the minimum number of servers to satisfy the software-defined storage deployment request;

determining at least one of the multiple combinations, based on the total storage calculated for each of the multiple combinations and the calculated amount of storage required per server, that satisfies the software-defined storage deployment request; and

performing at least one automated action based at least in part on the at least one combination determined to satisfy the software-defined storage deployment request;

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

2. The computer-implemented method of claim 1 , wherein the at least one combination determined to satisfy the software-defined storage deployment request comprises two or more combinations, and wherein the method further comprises calculating, for each of the two or more combinations, a difference between the total storage capacity of each combination and the requested amount of total storage capacity.

3. The computer-implemented method of claim 2 , further comprising:

determining, among the two or more combinations, the combination with the smallest calculated difference.

4. The computer-implemented method of claim 3 , wherein performing the at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination with the smallest calculated difference.

5. The computer-implemented method of claim 2 , further comprising:

determining that each of the two or more combinations has the same calculated difference; and

identifying one of the two or more combinations that comprises the least amount of server and disk devices.

6. The computer-implemented method of claim 5 , wherein performing the at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination that comprises the least amount of server and disk devices.

7. The computer-implemented method of claim 1 , wherein calculating total storage for each of multiple combinations comprises calculating total storage for each combination that includes a server count greater than or equal to the minimum number of servers to be utilized for the software-defined storage deployment.

8. The computer-implemented method of claim 1 , wherein calculating the amount of storage required per server for the minimum number of servers comprises incorporating a consideration for spare capacity on each server for replicating data across two or more of the multiple servers.

9. The computer-implemented method of claim 1 , wherein calculating the amount of storage required per server for the minimum number of servers comprises incorporating a consideration for an amount of usable storage needed to satisfy the software-defined storage deployment request.

10. 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 obtain a software-defined storage deployment request from at least one user, wherein the request comprises a requested amount of total storage capacity and a minimum number of servers to be utilized for the software-defined storage deployment;

to generate an in-memory data structure of at least a portion of an inventory associated with the at least one user, wherein the inventory comprises multiple servers and multiple disks associated with the multiple servers, and wherein the in-memory data structure organizes the at least a portion of the inventory based at least in part on disk size and disk count per server;

to calculate, using at least the in-memory data structure, total storage capacity for each of multiple combinations of one or more disk sizes and one or more disk counts across one or more of the multiple servers within the inventory;

to calculate an amount of storage required per server for the minimum number of servers to satisfy the software-defined storage deployment request;

to determine at least one of the multiple combinations, based on the total storage calculated for each of the multiple combinations and the calculated amount of storage required per server, that satisfies the software-defined storage deployment request; and

to perform at least one automated action based at least in part on the at least one combination determined to satisfy the software-defined storage deployment request.

11. The non-transitory processor-readable storage medium of claim 10 , wherein the at least one combination determined to satisfy the software-defined storage deployment request comprises two or more combinations, and wherein the program code when executed by the at least one processing device further causes the at least one processing device to calculate, for each of the two or more combinations, a difference between the total storage capacity of each combination and the requested amount of total storage capacity.

12. The non-transitory processor-readable storage medium of claim 11 , wherein the program code when executed by the at least one processing device further causes the at least one processing device:

to determine, among the two or more combinations, the combination with the smallest calculated difference, wherein performing at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination with the smallest calculated difference.

13. The non-transitory processor-readable storage medium of claim 11 , wherein the program code when executed by the at least one processing device further causes the at least one processing device:

to determine that each of the two or more combinations has the same calculated difference; and identifying one of the two or more combinations that comprises the least amount of server and disk devices, wherein performing at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination that comprises the least amount of server and disk devices.

14. The non-transitory processor-readable storage medium of claim 10 , wherein calculating total storage for each of multiple combinations comprises calculating total storage for each combination that includes a server count greater than or equal to the minimum number of servers to be utilized for the software-defined storage deployment.

15. An apparatus comprising:

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

the at least one processing device being configured:

to obtain a software-defined storage deployment request from at least one user, wherein the request comprises a requested amount of total storage capacity and a minimum number of servers to be utilized for the software-defined storage deployment;

to generate an in-memory data structure of at least a portion of an inventory associated with the at least one user, wherein the inventory comprises multiple servers and multiple disks associated with the multiple servers, and wherein the in-memory data structure organizes the at least a portion of the inventory based at least in part on disk size and disk count per server;

to calculate, using at least the in-memory data structure, total storage capacity for each of multiple combinations of one or more disk sizes and one or more disk counts across one or more of the multiple servers within the inventory;

to calculate an amount of storage required per server for the minimum number of servers to satisfy the software-defined storage deployment request;

to determine at least one of the multiple combinations, based on the total storage calculated for each of the multiple combinations and the calculated amount of storage required per server, that satisfies the software-defined storage deployment request; and

to perform at least one automated action based at least in part on the at least one combination determined to satisfy the software-defined storage deployment request.

16. The apparatus of claim 15 , wherein the at least one combination determined to satisfy the software-defined storage deployment request comprises two or more combinations, and wherein the method further comprises calculating, for each of the two or more combinations, a difference between the total storage capacity of each combination and the requested amount of total storage capacity.

17. The apparatus of claim 16 , wherein the at least one processing device is further configured:

to determine, among the two or more combinations, the combination with the smallest calculated difference, wherein performing at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination with the smallest calculated difference.

18. The apparatus of claim 16 , wherein the at least one processing device is further configured:

to determine that each of the two or more combinations has the same calculated difference; and identifying one of the two or more combinations that comprises the least amount of server and disk devices, wherein performing at least one automated action comprises outputting, to the at least one user for use in a software-defined storage deployment, identifying information pertaining to the combination that comprises the least amount of server and disk devices.

19. The apparatus of claim 15 , wherein calculating total storage for each of multiple combinations comprises calculating total storage for each combination that includes a server count greater than or equal to the minimum number of servers to be utilized for the software-defined storage deployment.

20. The apparatus of claim 15 , wherein calculating the amount of storage required per server for the minimum number of servers comprises incorporating a consideration for spare capacity on each server for replicating data across two or more of the multiple servers.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2020
From: DAWE, TREVOR H.; GALLACHER, SEAN R.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052521/0988 →
Cited By (1)
US 12,602,258