IP Library Granted Patent US 12681741
Granted Patent B2
US 12681741 · App. 17/735,737 · Granted Jul 14, 2026

Virtual volume placement based on activity level

Inventors: Huijuan Fan (Chengdu, CN); Bob Yan (Chengdu, CN)
Assignee: Dell Products L.P.
G06F9/45558G06F9/455G06F9/50G06F9/505G06F9/5072G06F9/5077G06F2009/4557G06F2009/45579G06F2009/45583
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 12681741
App. No.
17/735,737
Granted
Jul 14, 2026
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media for placement of virtual volumes based on activity levels are provided herein. An example computer-implemented method includes obtaining a request to create a new virtual volume on a storage cluster comprising a plurality of storage nodes; determining a total activity level for each of a plurality of storage nodes of the storage cluster in response to the request, wherein the total activity level for a given storage node is determined based at least in part on an activity level value of each virtual volume currently hosted on the storage node; selecting one of the plurality of storage nodes to host the new virtual volume based at least in part on the determined total activity levels; and creating the new virtual volume on the selected storage node.

Claims (55)

1 . A computer-implemented method comprising:

obtaining a request to create a new virtual volume on a storage cluster comprising a plurality of storage nodes;

determining a total activity level for each of the plurality of storage nodes of the storage cluster in response to the request, wherein the total activity level for a given storage node is determined based at least in part on an activity level value of each virtual volume currently hosted on the storage node, wherein at least two of the virtual volumes currently hosted on the storage node correspond to different virtual volume types from among a plurality of virtual volume types, each virtual volume type being associated with a distinct functional role, and wherein the activity level value of each of the at least two virtual volumes: (i) represents a probability that the virtual volume will be accessed during one or more virtual machine operations and (ii) is based at least in part on the corresponding virtual volume type;

selecting one of the plurality of storage nodes to host the new virtual volume based at least in part on the determined total activity levels; and

creating the new virtual volume on the selected storage node;

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 each of the activity level values indicates an average input-output access frequency probability for a respective one of the virtual volume types.

3 . The computer-implemented method of claim 1 , wherein the activity level values are computed based on an analytical hierarchy process, and wherein the analytical hierarchy process comprises:

performing pairwise comparisons between individual ones of the plurality of virtual volume types and individual ones of a set of virtual machine operations involving one or more of the plurality of virtual volume types.

4 . The computer-implemented method of claim 3 , wherein the set of virtual machine operations comprises one or more of: a virtual machine creation operation, a virtual machine clone operation, a virtual machine migration operation, a virtual machine snapshot operation, a virtual machine deletion operation, and a virtual machine input-output operation.

5 . The computer-implemented method of claim 1 , wherein the selecting comprises:

selecting, from among the plurality of storage nodes, the storage node having the lowest total activity level.

6 . The computer-implemented method of claim 1 , wherein the selecting comprises:

determining that at least two of the storage nodes have substantially the same total activity level; and

randomly selecting one of the at least two storage nodes to host the new virtual volume.

7 . The computer-implemented method of claim 1 , wherein the plurality of virtual volume types comprises at least two of:

a swap type of virtual volume that is created when a virtual machine is powered on;

a configuration type of virtual volume comprising metadata files for a virtual machine;

a data type of virtual volume that stores information previously in a directory of a virtual machine; and

a memory type of virtual volume comprising a complete copy of memory of a virtual machine.

8 . 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 request to create a new virtual volume on a storage cluster comprising a plurality of storage nodes;

to determine a total activity level for each of a plurality of storage nodes of the storage cluster in response to the request, wherein the total activity level for a given storage node is determined based at least in part on an activity level value of each virtual volume currently hosted on the storage node, wherein at least two of the virtual volumes currently hosted on the storage node correspond to different virtual volume types from among a plurality of virtual volume types, each virtual volume type being associated with a distinct functional role, and wherein the activity level value of each of the at least two virtual volumes: (i) represents a probability that the virtual volume will be accessed during one or more virtual machine operations and (ii) is based at least in part on the corresponding virtual volume type;

to select one of the plurality of storage nodes to host the new virtual volume based at least in part on the determined total activity levels; and

to create the new virtual volume on the selected storage node.

9 . The non-transitory processor-readable storage medium of claim 8 , wherein each of the activity level values indicates an average input-output access frequency probability for a respective one of the virtual volume types.

10 . The non-transitory processor-readable storage medium of claim 8 , wherein the activity level values are computed based on an analytical hierarchy process, and wherein the analytical hierarchy process comprises:

performing pairwise comparisons between individual ones of the plurality of virtual volume types and individual ones of a set of virtual machine operations involving one or more of the plurality of virtual volume types.

11 . The non-transitory processor-readable storage medium of claim 10 , wherein the set of virtual machine operations comprises one or more of: a virtual machine creation operation, a virtual machine clone operation, a virtual machine migration operation, a virtual machine snapshot operation, a virtual machine deletion operation, and a virtual machine input-output operation.

12 . The non-transitory processor-readable storage medium of claim 8 , wherein the selecting comprises:

selecting, from among the plurality of storage nodes, the storage node having the lowest total activity level.

13 . The non-transitory processor-readable storage medium of claim 8 , wherein the selecting comprises:

determining that at least two of the storage nodes have substantially the same total activity level; and

randomly selecting one of the at least two storage nodes to host the new virtual volume.

14 . 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 request to create a new virtual volume on a storage cluster comprising a plurality of storage nodes;

to determine a total activity level for each of a plurality of storage nodes of the storage cluster in response to the request, wherein the total activity level for a given storage node is determined based at least in part on an activity level value of each virtual volume currently hosted on the storage node, wherein at least two of the virtual volumes currently hosted on the storage node correspond to different virtual volume types from among a plurality of virtual volume types, each virtual volume type being associated with a distinct functional role, and wherein the activity level value of each of the at least two virtual volumes: (i) represents a probability that the virtual volume will be accessed during one or more virtual machine operations and (ii) is based at least in part on the corresponding virtual volume type;

to select one of the plurality of storage nodes to host the new virtual volume based at least in part on the determined total activity levels; and

to create the new virtual volume on the selected storage node.

15 . The apparatus of claim 14 , wherein each of the activity level values indicates an average input-output access frequency probability for a respective one of the virtual volume types.

16 . The apparatus of claim 14 , wherein the activity level values are computed based on an analytical hierarchy process, and wherein the analytical hierarchy process comprises:

performing pairwise comparisons between individual ones of the plurality of virtual volume types and individual ones of a set of virtual machine operations involving one or more of the plurality of virtual volume types.

17 . The apparatus of claim 16 , wherein the set of virtual machine operations comprises one or more of: a virtual machine creation operation, a virtual machine clone operation, a virtual machine migration operation, a virtual machine snapshot operation, a virtual machine deletion operation, and a virtual machine input-output operation.

18 . The apparatus of claim 14 , wherein the selecting comprises:

selecting, from among the plurality of storage nodes, the storage node having the lowest total activity level.

19 . The apparatus of claim 14 , wherein the selecting comprises:

determining that at least two of the storage nodes have substantially the same total activity level; and

randomly selecting one of the at least two storage nodes to host the new virtual volume.

20 . The apparatus of claim 14 , wherein the plurality of virtual volume types comprises at least two of:

a swap type of virtual volume that is created when a virtual machine is powered on;

a configuration type of virtual volume comprising metadata files for a virtual machine;

a data type of virtual volume that stores information previously in a directory of a virtual machine; and

a memory type of virtual volume comprising a complete copy of memory of a virtual machine.