IP Library Granted Patent US 8,171,201
Granted Patent B1
US 8,171,201 · App. 12/575,342 · Granted May 1, 2012

Systems and methods for improving virtual machine performance

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 8,171,201
App. No.
12/575,342
Granted
May 1, 2012
Kind
B1
Abstract

Virtual machine optimization and/or storage reclamation solutions are disclosed that manage virtual machine sprawl and/or growing enterprise storage costs. For instance, certain solutions receive recommendations based on one or more rules, policies and/or user preferences that identify storage and/or alignment criteria for virtual machine disk (VMDK) partition(s). In certain examples, a resize tool that operates within a host operating system of a host server dynamically resizes and/or aligns one or more VMDK partitions of a powered-down virtual machine. For instance, the resize tool can be injected to the host server from a remote management server and can resize and/or align the VMDK partitions without requiring contents of the VMDK to be copied to another VMDK. By reallocating storage and/or aligning the VMDK partitions, embodiments of the invention can increase virtual machine performance and improve storage management.

Claims (45)

1. A method for improving virtual machine performance within a computing environment, the method comprising:

for each of a plurality of virtual machines executing on at least one host server:

obtaining a lock on the virtual machine associated with a virtual machine disk having a plurality of partitions,

determining a target size of one or more of the plurality of partitions of the virtual machine disk,

issuing a first instruction to power off the virtual machine,

while the virtual machine is powered off, performing at least one of resizing and aligning the one or more partitions without copying contents of the virtual machine disk to another virtual machine disk,

issuing a second instruction to power on the virtual machine, and

removing the lock from the virtual machine.

2. The method of claim 1 , additionally comprising automatically resizing and aligning the one or more partitions of the virtual machine disk.

3. The method of claim 2 , wherein said aligning comprises aligning a start offset of each of the one or more partitions with a 64 kilobyte boundary of a physical disk storing the virtual machine disk.

4. The method of claim 3 , wherein said resizing comprises increasing a size of each of the one or more partitions such that an end offset of each of the one or more partitions aligns with another 64 KB boundary of the physical disk.

5. The method of claim 2 , wherein said resizing comprises reducing a size of each of the one or more partitions to the target size.

6. The method of claim 1 , wherein said performing at least one of resizing and aligning the one or more partitions comprises moving each of the one or more partitions by changing addresses of sectors of the one or more partitions.

7. The method of claim 1 , additionally comprising receiving with a host operating system of each of the at least one host server a resize module from a remote management server to perform the at least one of resizing and aligning.

8. The method of claim 7 , further comprising removing the resize module following said removing the lock from the virtual machine.

9. The method of claim 1 , wherein said determining the target size comprises receiving user input indicative of at least one of a requested size and a new address for at least one of the one or more partitions.

10. The method of claim 1 , additionally comprising:

obtaining a second lock on the virtual machine following said issuing the first instruction to power off the virtual machine; and

releasing the second lock following said performing at least one of resizing and aligning and prior to issuing the second instruction to power on the virtual machine.

11. The method of claim 10 , wherein obtaining the second lock comprises renaming the virtual machine disk from a first name to a second name and said releasing the second lock comprises renaming the virtual machine disk with the first name.

12. The method of claim 1 , additionally comprising, prior to said issuing the second instruction to power on the virtual machine:

detaching the virtual machine disk from the virtual machine; and

re-attaching the virtual machine disk to the virtual machine.

13. A system for improving virtual machine performance within a computing environment, the system comprising:

a host server comprising a host operating system and a plurality of virtual machines each having a guest operating system;

a datastore comprising a plurality of virtual machine disks associated with each of the plurality of virtual machines, wherein a first virtual machine disk of the plurality of virtual machine disks is associated with the first virtual machine of the plurality of virtual machines; and

a management server in network communication with the host server, the management server being configured to inject a resize module into the host operating system of the host server, the resize module being further configured to:

determine a target size of one or more of a plurality of partitions of the first virtual machine disk,

issue a first instruction to power off the first virtual machine,

while the first virtual machine is powered off, perform at least one of resizing and aligning the one or more partitions without copying contents of the first virtual machine disk to another virtual machine disk, and

afterwards, issue a second instruction to power on the first virtual machine.

14. The system of claim 13 , wherein the resize module is further configured to:

determine a target size of one or more of a plurality of partitions of a second virtual machine disk of the plurality of virtual machine disks associated with the second virtual machine of the plurality of virtual machines;

issue a third instruction to power off the second virtual machine,

while the second virtual machine is powered off, perform at least one of resizing and aligning the one or more partitions of the second virtual machine disk without copying contents of the second virtual machine disk to another virtual machine disk, and

afterwards, issue a fourth instruction to power on the second virtual machine.

15. The system of claim 13 , wherein the management server is further configured to remove the resize module following said issuing of the second instruction to power on the first virtual machine.

16. The system of claim 13 , wherein the management server further comprises a user interface configured to receive user input indicative the target size of the one or more partitions of the first virtual machine disk.

17. The system of claim 13 , wherein the resize module is further configured to automatically resize each of the one or more partitions such that both a beginning offset and an end offset of each of the one or more partitions is aligned with a 64 kilobyte boundary of the datastore.

18. A system for improving virtual machine performance within a computing environment, the system comprising:

means for obtaining a lock on a virtual machine associated with a virtual machine disk having a plurality of partitions;

means for determining a target size of one or more of the plurality of partitions of the virtual machine disk means for powering off the virtual machine;

means for automatically resizing and aligning the one or more partitions, while the virtual machine is powered off, without copying contents of the virtual machine disk to another virtual machine disk;

means for powering on the virtual machine following said performing; and

means for removing the lock from the virtual machine.

Assignments (31)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 20, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031043/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2013
From: VIZIONCORE, INC.
To: QUEST SOFTWARE, INC.
Reel/Frame 029968/0615 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Sep 28, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, LLC)
To: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
Reel/Frame 029050/0679 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CITIZENSHIP OF QUEST SOFTWARE, INC. FROM A CALIFORNIA CORPORATION TO A DELAWARE CORPORATION PREVIOUSLY RECORDED ON REEL 024132 FRAME 0728. ASSIGNOR(S) HEREBY CONFIRMS THE GRANT, ASSIGNMENT, TRANSFER, AND CONVEYANCE TO AGENT OF A CONTINUING SECURITY INTEREST IN THE ADDITIONAL PATENTS. Recorded Jul 2, 2010
From: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 024634/0567 →
AMENDMENT NUMBER FOUR TO PATENT SECURITY AGREEMENT Recorded Mar 24, 2010
From: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 024132/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2010
From: EDWARDS, THOMAS SCOTT, SR.
To: VIZIONCORE, INC.
Reel/Frame 023820/0021 →