IP Library Granted Patent US 7,533,229
Granted Patent B1
US 7,533,229 · App. 11/451,001 · Granted May 12, 2009

Disaster recovery and backup using virtual machines

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 7,533,229
App. No.
11/451,001
Granted
May 12, 2009
Kind
B1
Abstract

One or more computer systems, a carrier medium, and a method are provided for backing up virtual machines. The backup may occur, e.g., to a backup medium or to a disaster recovery site, in various embodiments. In one embodiment, an apparatus includes a computer system configured to execute at least a first virtual machine, wherein the computer system is configured to: (i) capture a state of the first virtual machine, the state corresponding to a point in time in the execution of the first virtual machine; and (ii) copy at least a portion of the state to a destination separate from a storage device to which the first virtual machine is suspendable. A carrier medium may include instructions which, when executed, cause the above operation on the computer system. The method may comprise the above highlighted operations.

Claims (31)

1. A method comprising:

receiving a request in a first computer system for an image of a virtual machine during execution of the virtual machine on the first computer system, wherein the virtual machine comprises at least one application, an operating system on which the application is designed to execute, memory data to which the application and operating system have access, and one or more virtual disks including one or more files accessed by the application or operating system;

creating an image of the virtual machine in response to the request and without suspending the virtual machine, wherein the image comprises at least the one or more files on the one or more virtual disks and the memory data; and

tracking which memory locations within a memory of the virtual machine are modified by the application or operating system during the creation of the image, wherein the modifications are tracked separate from the memory data included in the image.

2. The method as recited in claim 1 further comprising, subsequent to creating the image, copying the modifications that were tracked during the creation of the image to the memory.

3. The method as recited in claim 1 further comprising tracking modifications to the one or more files separate from the image.

4. The method as recited in claim 3 further comprising copying the modifications to the one or more files into the files subsequent to creating the image.

5. The method as recited in claim 1 further comprising transmitting the image to a storage device that is separate from another storage device to which the virtual machine is suspendable.

6. A computer system comprising:

execution hardware configured to execute instructions;

a virtual machine comprising at least one application, an operating system on which the application is designed to execute, memory data to which the application and operating system have access, and one or more virtual disks including one or more files accessed by the application or operating system; and

one or more modules configured to manage execution of the virtual machine and configured to receive a request for an image of the virtual machine during execution of the virtual machine, and wherein the one or more modules are configured to create an image of the virtual machine in response to the request and without suspending the virtual machine, wherein the image comprises at least the one or more files on the one or more virtual disks and the memory data, and wherein the one or more modules are configured to track which memory locations with a memory of the virtual machine are modified by the application or operating system during the creation of the image, wherein the modifications are tracked separate from the memory data included in the image.

7. The computer system as recited in claim 6 wherein the one or more modules are configured to copy the modifications that were tracked during the creation of the image to the memory subsequent to creating the image.

8. The computer system as recited in claim 6 wherein the one or more modules are configured to track modifications to the one or more files separate from the image.

9. The computer system as recited in claim 8 wherein the one or more modules are configured to copy the modifications to the one or more files into the files subsequent to creating the image.

10. The computer system as recited in claim 6 wherein the one or more modules are configured to transmit the image to a storage device that is separate from another storage device to which the virtual machine is suspendable.

11. A computer readable medium storing a plurality of instructions which, when executed:

receive a request in a first computer system for an image of a virtual machine during execution of the virtual machine on the first computer system, wherein the virtual machine comprises at least one application, an operating system on which the application is designed to execute, memory data to which the application and operating system have access, and one or more virtual disks including one or more files accessed by the application or operating system;

create an image of the virtual machine in response to the request and without suspending the virtual machine, wherein the image comprises at least the one or more files on the one or more virtual disks and the memory data; and

track which memory locations within a memory of the virtual machine are modified by the application or operating system during the creation of the image, wherein the modifications are tracked separate from the memory data included in the image.

12. The computer readable medium as recited in claim 11 wherein the plurality of instructions, when executed subsequent to creating the image, copy the modifications that were tracked during the creation of the image to the memory.

13. The computer readable medium as recited in claim 11 wherein the plurality of instructions, when executed, track modifications to the one or more files separate from the image.

14. The computer readable medium as recited in claim 13 wherein the plurality of instructions, when executed, copy the modifications to the one or more files into the files subsequent to creating the image.

15. The computer readable medium as recited in claim 11 wherein the plurality of instructions, when executed, transmit the image to a storage device that is separate from another storage device to which the virtual machine is suspendable.

16. A method comprising:

creating an image of a virtual machine, wherein the virtual machine comprises at least one application, an operating system on which the application is designed to execute, memory data to which the application and operating system have access, and one or more virtual disks including one or more files accessed by the application or operating system, and wherein the image comprises at least the one or more files on the one or more virtual disks and the memory data; and

transmitting the image to a storage device separate from another storage device to which the virtual machine is suspendible.

17. The method as recited in claim 16 wherein creating the image is performed without suspending the virtual machine.

18. The method as recited in claim 16 further comprising:

suspending the virtual machine prior to creating the image; and

resuming the virtual machine subsequent to creating the image.

Assignments (15)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2012
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 027764/0650 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE SYMANTEC OPERATING CORPORATION. Recorded Feb 23, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027752/0347 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →