IP Library Granted Patent US 11,435,939
Granted Patent B2
US 11,435,939 · App. 16/742,454 · Granted Sep 6, 2022

Automated tiering of file system objects in a computing system

Inventors: Ronald Gerard Singler, Jr. (Lakeland, FL); Cormac Hogan (Ballincollig, IE); Duncan Epping (Helmond, NL)
Assignee: VMWARE, INC.
G06F3/0653G06F3/061G06F3/067G06F3/0631G06F3/0659G06F3/0664G06F9/45558G06F2009/45583G06F2009/45595
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,435,939
App. No.
16/742,454
Granted
Sep 6, 2022
Kind
B2
Abstract

In an example, a method of allocating storage objects of a virtual machine across storage devices in a computing system includes: collecting capabilities of the storage devices in the computing system; assigning a tier of a plurality of tiers to each of the storage devices in the computing system; collecting performance data for the storage devices across a period of time; analyzing the performance data and the capabilities to determine a placement of storage objects of the virtual machine across the plurality of tiers; and moving the storage objects to respective ones of the storage devices based on the assigned tiers.

Claims (43)

1. A method of allocating virtual disks of a virtual machine across storage devices in a computing system, comprising:

collecting capabilities of the storage devices in the computing system;

assigning a tier of a plurality of tiers to each of the storage devices in the computing system;

collecting performance data for the storage devices across a period of time;

obtaining a corresponding storage policy assigned for each virtual disk, each storage policy defining capabilities to be maintained for the corresponding virtual disk during allocation, wherein the capabilities to be maintained for the corresponding virtual disk include, at least one of, input/output (I/O) latency, a protection scheme, storage type, or capacity;

analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine a placement of each of the virtual disks of the virtual machine across the plurality of tiers, wherein analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine the placement of each of the virtual disks of the virtual machine across the plurality of tiers comprises:

determining busiest subsets of time for the storage devices over the period of time based on the capabilities of the storage devices and the performance data for the storage devices collected across the period of time; and

determining upcoming workloads for the storage devices using the determined busiest subsets of time, wherein the upcoming workloads are analyzed to determine the placement of each of the virtual disks; and

moving each of the virtual disks to respective ones of the storage devices based on the assigned tiers.

2. The method of claim 1 , wherein the capabilities of the storage devices include I/O characteristic, storage latency, network latency, and capacity characteristics.

3. The method of claim 1 , wherein the storage devices are disposed in a host computer.

4. The method of claim 1 , wherein the storage devices are disposed in a plurality of host computers of a cluster, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers.

5. The method of claim 1 , wherein the storage devices are disposed in a plurality of host computers of a plurality of clusters, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers of the plurality of clusters.

6. The method of claim 5 , wherein the plurality of clusters includes a cloud computing system and an on-premises computing system.

7. A non-transitory computer readable medium comprising instructions, which when executed in a computer system, causes the computer system to carry out a method of allocating virtual disks of a virtual machine across storage devices in a computing system, the method comprising:

collecting capabilities of the storage devices in the computing system;

assigning a tier of a plurality of tiers to each of the storage devices in the computing system;

collecting performance data for the storage devices across a period of time;

obtaining a corresponding storage policy assigned for each virtual disk, each storage policy defining capabilities to be maintained for the corresponding virtual disk during allocation, wherein the capabilities to be maintained for the corresponding virtual disk include, at least one of, input/output (I/O) latency, a protection scheme, storage type, or capacity;

analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine a placement of each of the virtual disks of the virtual machine across the plurality of tiers, wherein analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine the placement of each of the virtual disks of the virtual machine across the plurality of tiers comprises:

determining busiest subsets of time for the storage devices over the period of time based on the capabilities of the storage devices and the performance data for the storage devices collected across the period of time; and

determining upcoming workloads for the storage devices using the determined busiest subsets of time, wherein the upcoming workloads are analyzed to determine the placement of each of the virtual disks; and

moving each of the virtual disks to respective ones of the storage devices based on the assigned tiers.

8. The non-transitory computer readable medium of claim 7 , wherein the capabilities of the storage devices include I/O characteristic, storage latency, network latency, and capacity characteristics.

9. The non-transitory computer readable medium of claim 7 , wherein the storage devices are disposed in a host computer.

10. The non-transitory computer readable medium of claim 7 , wherein the storage devices are disposed in a plurality of host computers of a cluster, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers.

11. The non-transitory computer readable medium of claim 7 , wherein the storage devices are disposed in a plurality of host computers of a plurality of clusters, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers of the plurality of clusters.

12. The non-transitory computer readable medium of claim 11 , wherein the plurality of clusters includes a cloud computing system and an on-premises computing system.

13. A computing system, comprising:

a memory configured to store program code; and

a processor, coupled to the memory, configured to execute the program code to perform allocation of virtual disks of a virtual machine across storage devices in the computing system, comprising:

collecting capabilities of the storage devices in the computing system;

assigning a tier of a plurality of tiers to each of the storage devices in the computing system;

collecting performance data for the storage devices across a period of time;

obtaining a corresponding storage policy assigned for each virtual disk, each storage policy defining capabilities to be maintained for the corresponding virtual disk during allocation, wherein the capabilities to be maintained for the corresponding virtual disk include, at least one of, input/output (I/O) latency, a protection scheme, storage type, or capacity;

analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine a placement of each of the virtual disks of the virtual machine across the plurality of tiers, wherein analyzing the performance data, the capabilities of the storage devices, and each storage policy to determine the placement of each of the virtual disks of the virtual machine across the plurality of tiers comprises:

determining busiest subsets of time for the storage devices over the period of time based on the capabilities of the storage devices and the performance data for the storage devices collected across the period of time; and

determining upcoming workloads for the storage devices using the determined busiest subsets of time, wherein the upcoming workloads are analyzed to determine the placement of each of the virtual disks; and

moving each of the virtual disks to respective ones of the storage devices based on the assigned tiers.

14. The computing system of claim 13 , wherein the capabilities of the storage devices include I/O characteristic, storage latency, network latency, and capacity characteristics.

15. The computing system of claim 13 , wherein the storage devices are disposed in a host computer.

16. The computing system of claim 13 , wherein the storage devices are disposed in a plurality of host computers of a cluster, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers.

17. The computing system of claim 13 , wherein the storage devices are disposed in a plurality of host computers of a plurality of clusters, and wherein the placement of virtual disks includes distributing the virtual disks across the storage devices in different ones of the plurality of hosts computers of the plurality of clusters.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2020
From: SINGLER, RONALD GERARD, JR; HOGAN, CORMAC; EPPING, DUNCAN
To: VMWARE, INC.
Reel/Frame 051813/0189 →
Continuity (1)
Related Publication 20210216234A1 · Jul 15, 2021
Cited By (1)
US 12,353,739