IP Library Granted Patent US 8,335,902
Granted Patent B1
US 8,335,902 · App. 13/448,010 · Granted Dec 18, 2012

Systems and methods for performing backup operations of virtual machine files

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,335,902
App. No.
13/448,010
Granted
Dec 18, 2012
Kind
B1
Abstract

Backup systems and methods are disclosed for a virtual computing environment. Certain examples include a system having a backup management server that communicates with a host server having at least one virtual machine. The management server coordinates with the host server to perform backup copies of entire virtual machine disks from outside the guest operating system of the virtual machine. In certain examples, such backup systems further utilize a volume shadow copy service executing on the host server to quiesce virtual machine applications to put data in a consistent state to be backed up. The backup system then utilizes hypervisor snapshot capabilities of the host server to record intended changes to the virtual machine disk files while such files are being copied (e.g., backed up) by the host server. Such recorded changes can be later committed to the virtual machine disk files once the backup operation has completed.

Claims (62)

1. A method for performing a storage operation in a virtual computing environment, the method comprising:

under control of a storage operations computing system comprising a physical computing device, the storage operations computing system in communication with a physical host computing system configured to execute one or more virtual machines having a guest operating system, each virtual machine associated with a virtual machine disk file stored on a physical datastore,

quiescing write requests and permitting read requests of a virtual machine disk file by one or more applications executing on the virtual machine associated with the virtual machine disk file;

determining whether the write requests of the one or more applications were successfully quiesced;

in response to determining that the write requests were successfully quiesced, creating a snapshot of the virtual machine file;

following creating the snapshot, allowing write requests to resume by the one or more applications executing on the virtual machine;

recording, using the snapshot, changes intended to be made to the virtual machine disk file based on the resumed write requests;

unlocking the virtual machine disk file for read-only access by a backup process executing outside the guest operating system of the virtual machine;

copying, via the backup process executing outside the guest operating system, the virtual machine disk file to a backup file on a destination storage device, the copying performed without powering down the virtual machine;

following copying the virtual machine disk file to the destination storage device, committing the changes recorded using the snapshot to the virtual machine disk file; and

locking the virtual machine disk file for normal access by the virtual machine.

2. The method of claim 1 , further comprising, prior to creating the snapshot, flushing transactions in a memory of the virtual machine to the virtual machine disk file stored in the datastore.

3. The method of claim 1 , wherein quiescing write requests comprises notifying the one or more applications executing on the virtual machine to prepare their data for creation of the snapshot.

4. The method of claim 3 , wherein to prepare their data for creation of the snapshot, the one or more applications executing on the virtual machine perform at least one of: completing all open transactions, rolling transaction logs, and flushing caches.

5. The method of claim 3 , further comprising receiving notifications from the one or more applications that their data is prepared for the snapshot.

6. The method of claim 1 , further comprising, prior to quiescing write requests, enumerating the one or more applications executing on the virtual machine and gathering metadata on the enumerated applications.

7. The method of claim 6 , further comprising receiving information related to restore methods for the enumerated applications.

8. The method of claim 1 , further comprising receiving restore information for the backup file, the restore information usable in a process to restore the backup file.

9. The method of claim 1 , wherein copying the virtual machine disk file to the backup file on the destination storage device comprises compressing the virtual machine disk file.

10. The method of claim 9 , wherein compressing comprises:

loading the virtual machine disk file into a memory of the host computing system;

compressing the virtual machine disk file while loaded in the memory; and

transmitting the compressed virtual machine disk file to the destination storage device.

11. The method of claim 9 , further comprising injecting a binary file into the host computing system to perform the compressing.

12. The method of claim 11 , further comprising deleting the injected binary file from the host computing system after completion of the compressing.

13. A system for performing a storage operation in a virtual computing environment, the system comprising:

a physical host datastore configured to store one or more virtual machine disk files;

a physical host computing system configured to execute one or more virtual machines, each virtual machine having a guest operating system and associated with a virtual machine disk file stored on the host datastore;

a storage operations computing system comprising physical computing hardware, the storage operations computing system configured to communicate with the host computing system, the storage operations computing system operable to execute a backup process that executes outside of the guest operating system of the virtual machine; and

a physical destination datastore,

wherein the storage operations computing system is operable to issue executable instructions to:

quiesce write requests and permit read requests of a virtual machine disk file by one or more applications executing on the virtual machine associated with the virtual machine disk file;

determine whether the write requests of the one or more applications were successfully quiesced;

in response to the determination that the write requests were successfully quiesced, create a snapshot of the virtual machine file on the host datastore;

following the creation of the snapshot, allow write requests to resume by the one or more applications executing on the virtual machine;

record, using the snapshot, changes intended to be made to the virtual machine disk file based on the resumed write requests;

unlock the virtual machine disk file for read-only access by the backup process;

copy the virtual machine disk file to a backup file on the destination storage device without powering down the virtual machine;

following the copying of the virtual machine disk file to the destination datastore, commit the changes recorded using the snapshot to the virtual machine disk file; and

lock the virtual machine disk file for normal access by the virtual machine.

14. The system of claim 13 , wherein the destination datastore is remote from the host datastore.

15. The system of claim 13 , wherein the storage operations computing system is operable to notify the one or more applications executing on the virtual machine to prepare their data for creation of the snapshot.

16. The system of claim 15 , wherein upon notification to prepare their data for creation of the snapshot, the one or more applications executing on the virtual machine are operable to perform at least one of: completing all open transactions, rolling transaction logs, and flushing caches.

17. The system of claim 13 , wherein the host computing system is operable to:

load the virtual machine disk file into a memory of the host computing system;

compress the virtual machine disk file while loaded in the memory of the host computing system; and

transmit the compressed virtual machine disk file to the destination datastore.

18. The system of claim 17 , wherein the storage operations computing system is operable to inject a binary file into the memory of the host computing system to compress the virtual machine disk file.

19. Non-transitory computer storage comprising machine-executable instructions that when executed by a computing device cause the computing device to perform a storage operation in a virtual computing environment, the machine-executable instructions comprising instructions for:

quiescing write requests and permitting read requests of a virtual machine disk file by one or more applications executing on a virtual machine, the virtual machine associated with a virtual machine disk file stored on a physical datastore;

determining whether the write requests of the one or more applications were successfully quiesced;

in response to determining that the write requests were successfully quiesced, creating a snapshot of the virtual machine file;

following creating the snapshot, allowing write requests to resume by the one or more applications executing on the virtual machine;

recording, using the snapshot, changes intended to be made to the virtual machine disk file based on the resumed write requests;

unlocking the virtual machine disk file for read-only access by a backup process executing outside the guest operating system of the virtual machine;

copying, via the backup process executing outside the guest operating system, the virtual machine disk file to a backup file on a destination storage device, the copying performed without powering down the virtual machine;

following copying the virtual machine disk file to the destination storage device, committing the changes recorded using the snapshot to the virtual machine disk file; and

locking the virtual machine disk file for normal access by the virtual machine.

20. The non-transitory computer storage of claim 19 , further comprising instructions for:

loading the virtual machine disk file into a memory;

compressing the virtual machine disk file while loaded in the memory; and

transmitting the compressed virtual machine disk file to the destination storage device.

Assignments (28)
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 →
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 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2012
From: FEATHERGILL, DAVID ALLEN
To: VIZIONCORE, INC.
Reel/Frame 028190/0760 →