IP Library Granted Patent US 11,593,320
Granted Patent B2
US 11,593,320 · App. 16/928,835 · Granted Feb 28, 2023

Dynamically moving virtual machine (VM) data based upon context

Inventors: Vinod Durairaj (Bangalore, IN); Suren Kumar (Tamil Nadu, IN); Vaideeswaran Ganesan (Bangalore, IN)
Assignee: Dell Products, L.P.
G06F16/188G06F9/45558G06F16/119G06F16/128G06F16/1824G06F2009/4557G06F2009/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,593,320
App. No.
16/928,835
Granted
Feb 28, 2023
Kind
B2
Abstract

Systems and methods for dynamically moving virtual machine (VM) data based upon context are described. In some embodiments, an Information Handling System (IHS) may include a processor and a memory coupled to the processor, the memory having program instructions stored thereon that, upon execution, cause the IHS to: select a VM having a plurality of VM files; identify, among the plurality of VM files, a movable VM file; and transfer the movable VM file from a first storage tier to a second storage tier based upon a usage classification associated with the movable VM file.

Claims (38)

1. An Information Handling System (IHS), comprising:

a processor; and

a memory coupled to the processor, the memory having program instructions stored thereon that, upon execution, cause the IHS to:

select a virtual machine (VM) having a plurality of VM files;

identify, among the plurality of VM files, a movable VM file comprising at least one of: a snapshot state file, a suspended state file, or a VM snapshot; and

transfer the movable VM file from a first storage tier to a second storage tier based upon a usage classification associated with the movable VM file, wherein the usage classification is selected from the group consisting of: high usage, medium usage, and low usage, and wherein:

the high usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a first selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the first selected time period;

the medium usage classification is associated with at least one of:

(a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a second selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the second selected time period; and

the low usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of a third selected time period; (b) the suspended state file, wherein the suspended state file has been unused for a fourth selected time period; or (c) the VM snapshot, wherein the VM snapshot is one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of the third selected time period.

2. The IHS of claim 1 , wherein the first selected time period is at least one of: approximately one week, or 5 to 9 days.

3. The IHS of claim 1 , wherein the second selected time period is at least one of: approximately ten weeks, or 8 to 12 weeks.

4. The IHS of claim 1 , wherein the third selected time period is at least one of: approximately five months, or 4 to 6 months; and wherein the fourth selected time period is at least one of: approximately one month, or 20 to 45 days.

5. The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to:

identify an unmovable VM file; and

abstain from transferring the unmovable VM file from the first storage tier to the second storage tier.

6. The IHS of claim 5 , wherein the unmovable VM file comprises at least one of: an NVRAM file, a VM paging file, a VM data disk, a VM swap file, or a current VM log file.

7. The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to detect a change in the usage classification, and wherein at least one of: (a) the change comprises a change from a higher usage classification to a lower usage classification, the first storage tier comprises one or more SSDs and excludes any HDDs, and the second storage tier comprises one or more SSDs and excludes any SSDs; or (b) the change comprises a change from a lower usage classification to a higher usage classification, the first storage tier comprises one or more HDDs and excludes any SSDs, and the second storage tier comprises one or more SSDs and excludes any HDDs.

8. The IHS of claim 1 , wherein the VM is executed on behalf of a client IHS, and wherein the program instructions, upon execution, further cause the IHS to modify the usage classification based upon context information obtained from the client IHS.

9. The IHS of claim 1 , wherein the VM is executed on behalf of a client IHS, and wherein the program instructions, upon execution, further cause the IHS to: (a) determine that the VM file is designed to be moved during runtime, wherein the context information comprises a user's presence before the client IHS, and wherein the modification of the usage classification comprises an upgrade in the usage classification; or (b) determine that the VM file is designed to be moved during runtime, wherein the context information comprises a user's absence from the client IHS, and wherein the modification of the usage classification comprises a downgrade in the usage classification.

10. The IHS of claim 1 , wherein the VM is executed on behalf of a client IHS, and wherein the program instructions, upon execution, further cause the IHS to: (a) determine that the VM file is designed to be moved offline, wherein the context information comprises a user's absence before the client IHS, and wherein the modification of the usage classification comprises an upgrade in the usage classification; or (b) determine that the VM file is designed to be moved offline, wherein the context information comprises a user's presence before the client IHS, and wherein the modification of the usage classification comprises a downgrade in the usage classification.

11. The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to transfer each of the plurality of VM files from the first storage tier to the second storage tier in order from highest to lowest usage classification.

12. The IHS of claim 11 , wherein the program instructions, upon execution, further cause the IHS to create a link for a given VM file with low usage classification prior to transferring the given VM file to the second storage tier.

13. The IHS of claim 12 , wherein the program instructions, upon execution, further cause the IHS to replace the link with the given VM file after all higher priority VM files have been transferred.

14. A memory storage device having program instructions stored thereon that, upon execution by one or more processors of an Information Handling System (IHS), cause the IHS to:

select a virtual machine (VM) having a plurality of VM files;

identify, among the plurality of VM files, a movable VM file comprising at least one of: a snapshot state file, a suspended state file, or a VM snapshot; and

transfer the movable VM file from a first storage tier to a second storage tier based upon a usage classification associated with the movable VM file, wherein the usage classification is selected from the group consisting of: high usage, medium usage, and low usage, and wherein:

the high usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a first selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the first selected time period;

the medium usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a second selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the second selected time period; and

the low usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of a third selected time period; (b) the suspended state file, wherein the suspended state file has been unused for a fourth selected time period; or (c) the VM snapshot, wherein the VM snapshot is one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of the third selected time period.

15. A method, comprising:

selecting a virtual machine (VM) having a plurality of VM files;

identifying, among the plurality of VM files, a movable VM file comprising at least one of: a snapshot state file, a suspended state file, or a VM snapshot; and

transferring the movable VM file from a first storage tier to a second storage tier based upon a usage classification associated with the movable VM file, wherein the usage classification is selected from the group consisting of: high usage, medium usage, and low usage, and wherein:

the high usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a first selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the first selected time period;

the medium usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of a second selected time period; (b) the suspended state file, wherein the suspended state file has been unused for the first selected time period; or (c) the VM snapshot, wherein the VM snapshot is a current (N) or an immediately preceding (N−1) snapshot, created or used before expiration of the second selected time period; and

the low usage classification is associated with at least one of: (a) the snapshot state file, wherein the snapshot state file represents a state of one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of a third selected time period; (b) the suspended state file, wherein the suspended state file has been unused for a fourth selected time period; or (c) the VM snapshot, wherein the VM snapshot is one of a twice preceding (N−2) through fifth preceding (N−5) snapshot, created or used before expiration of the third selected time period.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: DURAIRAJ, VINOD; KUMAR, SUREN; GANESAN, VAIDEESWARAN
To: DELL PRODUCTS, L.P.
Reel/Frame 053207/0327 →