IP Library › Granted Patent US 10,148,505
Granted Patent B2
US 10,148,505 · App. 14/410,299 · Granted Dec 4, 2018

Provisioning resources for datacenters

Inventor: Vitaly Stanislavovich Kozlovsky (Saint-Petersburg, RU)
Assignee: EMC IP Holding Company LLC
H04L41/082G06F9/5077G06F17/3007H04L41/0813H04L43/067H04L43/08H04L67/1097H04L67/30
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,148,505
App. No.
14/410,299
Filed
Dec 22, 2014
Granted
Dec 4, 2018
Kind
B2
Art Unit
2457
USPC
709/221
Abstract

Improved techniques involve creating a feedback cycle between a framework for managing many data storage arrays and system for provisioning a data storage array using real-time usage statistics from the framework. Along these lines, a multi-system provisioning tool provides an initial configuration of storage systems in a datacenter; such an initial configuration includes provisioning of logical disks for each system. As this tool monitors activity within the datacenter, it generates live runtime data for each logical disk within each system. The tool then compares this live runtime data to external runtime data received from a central database and looks for anomalies in the live runtime data. Upon detecting an anomaly in a logical disk, the tool may respond by finding logical disks in other storage arrays from which storage resources may be swapped.

Claims (58)

1. A method of operating a datacenter having multiple data storage systems, the multiple data storage systems each providing a plurality of logical disks, the method comprising:

assigning, for each of the multiple data storage systems of the datacenter, an initial amount of storage to each logical disk provided by that data storage system based on an anticipated usage profile for that logical disk;

analyzing live runtime data indicating runtime performance of the logical disks provided by each of the multiple data storage systems;

performing a comparison operation on the live runtime data and expected runtime data, the comparison operation producing a comparison result; and

reallocating storage from one logical disk to another logical disk based on the comparison result, wherein:

the one logical disk is provided by a first data storage system of the multiple data storage systems;

the other logical disk is provided by a second data storage system of the multiple data storage systems, the second data storage system being distinct from the first data storage system; and

reallocating storage from one logical disk to the other logical disk based on the comparison result includes reallocating storage from the one logical disk on the first data storage system to become part of the other logical disk, the other logical disk then spanning both the first data storage system and the second data storage system.

2. The method of claim 1 , wherein analyzing the live runtime data includes accessing and analyzing the live runtime data according to a specified schedule.

3. The method of claim 1 , wherein analyzing the live runtime data includes accessing and analyzing the live runtime data in response to an automated external request.

4. The method of claim 1 , wherein the comparison result includes a difference between a runtime statistic and an expected value of that statistic; and

wherein reallocating storage from one logical disk to the other logical disk includes selectively reallocating the storage based on the difference.

5. The method of claim 4 , wherein the comparison operation is also performed on best practices statistical data, the best practices statistical data containing runtime data from data storage systems of other datacenters, the best practices statistical data being stored in a central server; and

wherein the method further comprises sending reports containing the live runtime data indicating runtime performance of the logical disks provided by each of the multiple data storage systems to the central server.

6. The method of claim 1 , wherein assigning the initial amount of storage includes assigning the initial amount of storage to each logical disk for each of the multiple data storage systems of the datacenter based on best practices statistical data, the best practices statistical data containing runtime data from data storage systems of other datacenters.

7. The method of claim 1 , wherein the method further comprises generating the live runtime data by specifying a profile of a workload or workgroup for analysis, the workgroup containing a set of users having similar usage patterns; and

wherein reallocating storage from one logical disk to the other logical disk includes selectively changing the amounts of storage respectively assigned to the one logical disk and the other logical disk based on the runtime behavior of logical disks provisioned for that workgroup or workload.

8. The method of claim 7 , wherein the method further comprises generating the live runtime data by obtaining logical disk access data from each of a set of applications utilizing data storage of the multiple data storage systems; and

wherein specifying the profile of the workload or workgroup for analysis includes identifying particular properties of the set of applications.

9. The method of claim 1 , wherein performing the comparison operation on the live runtime data and expected runtime data includes:

producing reports containing the live runtime data;

sending the reports to a sizer module arranged to (i) receive the expected runtime data, and (ii) perform the comparison operation on the live runtime data and expected runtime data; and

receiving the comparison result from the sizer module.

10. The method of claim 1 wherein each data storage array contains multiple storage devices.

11. The method of claim 10 wherein:

the one logical disk initially includes storage distributed across a first plurality of the multiple storage devices of the first data storage system;

the other logical disk initially includes storage distributed across a second plurality of the multiple storage devices of the second data storage system; and

reallocating storage from the one logical disk on the first data storage system to become part of the other logical disk includes reallocating storage from the first plurality of the multiple storage devices of the first data storage system to no longer be allocated to the one logical disk but to instead become allocated to the other logical disk, wherein, upon reallocating the storage, the other logical disk includes storage distributed across both the first plurality of the multiple storage devices of the first data storage system and the second plurality of the multiple storage devices of the second data storage system.

12. A computer program product comprising a non-transitory, computer-readable storage medium which stores executable code, which when executed by a computing device configured to operate a datacenter having multiple data storage systems, the multiple data storage systems each providing a plurality of logical disks, causes the computing device to:

assign, for each of the multiple data storage systems of the datacenter, an initial amount of storage to each logical disk provided by that data storage system based on an anticipated usage profile for that logical disk;

analyze reports containing live runtime data indicating runtime performance of the logical disks provided by each the multiple data storage systems;

perform a comparison operation on the live runtime data and expected runtime data, the comparison operation producing a comparison result; and

reallocate storage from one logical disk to another logical disk based on the comparison result, wherein:

the one logical disk is provided by a first data storage system of the multiple data storage systems;

the other logical disk is provided by a second data storage system of the multiple data storage systems, the second data storage system being distinct from the first data storage system; and

reallocating storage from one logical disk to the other logical disk based on the comparison result includes reallocating storage from the one logical disk on the first data storage system to become part of the other logical disk, the other logical disk then spanning both the first data storage system and the second data storage system.

13. The computer program product of claim 12 , wherein analyzing the reports containing live runtime data includes accessing and analyzing the live runtime data according to a specified schedule.

14. The computer program product of claim 12 , wherein analyzing the reports containing live runtime data includes accessing and analyzing the live runtime data in response to an automated external request.

15. The computer program product of claim 12 , wherein the comparison result includes a difference between a runtime statistic and an expected value of that statistic; and

wherein reallocating storage from one logical disk to the other logical disk includes selectively changing the configuration state based on the difference.

16. The computer program product of claim 15 , wherein the comparison operation is also performed on best practices statistical data, the best practices statistical data containing runtime data from data storage systems of other datacenters, the best practices statistical data being stored in a central server; and

wherein the computing device is further caused to send reports containing the live runtime data indicating runtime performance of the logical disks provided by each of the multiple data storage systems to the central server.

17. The computer program product of claim 12 , wherein assigning the initial amount of storage includes assigning the initial amount of storage to each logical disk for each of the multiple data storage systems of the datacenter based on best practices statistical data, the best practices statistical data containing runtime data from data storage systems of other datacenters.

18. The computer program product of claim 12 , wherein the executable code, when executed by the computing device further causes the computing device to generate the live runtime data by specifying a profile of a workload or workgroup for analysis, the workgroup containing a set of users having similar usage patterns; and

wherein adjusting the configuration state of the multiple data storage systems includes selectively changing the configuration state based on the runtime behavior of logical disks provisioned for that workgroup or workload.

19. The computer program product of claim 18 , wherein the executable code, when executed by the computing device further causes the computing device to generate the live runtime data by obtaining logical disk access data from each of a set of applications utilizing data storage systems of the multiple data storage systems; and

wherein specifying the profile of the workload or workgroup for analysis includes identifying particular properties of the set of applications.

20. A system constructed and arranged to operate a datacenter, the system comprising:

a plurality of data storage arrays, each data storage array containing multiple storage devices, each of the plurality of data storage arrays providing a plurality of logical disks;

a network; and

a host configured to run a datacenter management application arranged to operate the datacenter, the host including a network interface, memory, and a controller including controlling circuitry constructed and arranged to:

assign, for each of the plurality of data storage systems of the datacenter, an initial amount of storage to each logical disk provided by that data storage system based on an anticipated usage profile for that logical disk;

analyze live runtime data indicating runtime performance of the logical disks provided by each of the multiple data storage systems;

perform a comparison operation on the live runtime data and expected runtime data, the comparison operation producing a comparison result; and

reallocating storage from one logical disk to another logical disk based on the comparison result, wherein:

the one logical disk is provided by a first data storage array of the multiple data storage systems;

the other logical disk is provided by a second data storage array of the plurality of data storage arrays, the second data storage array being distinct from the first data storage array; and

reallocating storage from one logical disk to the other logical disk based on the comparison result includes reallocating storage from the one logical disk on the first data storage array to become part of the other logical disk, the other logical disk then spanning both the first data storage array and the second data storage array.

Assignments (10)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2016
From: KOZLOVSKY, VITALY STANISLAVOVICH
To: EMC CORPORATION
Reel/Frame 037452/0437 →
Continuity (1)
Related Publication 20160277233A1 · Sep 22, 2016
Cited By (1)
US 12,498,888