IP Library Granted Patent US 8,577,845
Granted Patent B2
US 8,577,845 · App. 12/138,897 · Granted Nov 5, 2013

Remote, granular restore from full virtual machine backup

Inventors: Sinh D. Nguyen (Eden Prairie, MN); Timothy M. Naftel (Longmont, CO)
Assignee: Symantec Operating Corporation
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,577,845
App. No.
12/138,897
Filed
Jun 13, 2008
Granted
Nov 5, 2013
Kind
B2
Art Unit
2164
USPC
707/682
Abstract

In one embodiment, a backup application transmits a remote request to a virtual machine that includes an application to be backed up. The request solicits metadata from the application that describes a structure of the data stored by the application on the virtual storage devices of the virtual machine. Using the metadata, the backup application may identify objects within the virtual machine. Accordingly, a granular restore of data to the virtual machine may be possible without installing backup software within the virtual machine.

Claims (40)

1. A computer-implemented method comprising:

requesting metadata from an application executing on a virtual machine using a backup application, the backup application communicating with the virtual machine and the backup application being remote to the virtual machine, wherein the virtual machine is executing on hardware in a computer system, and wherein the virtual machine includes an operating system that controls execution of the application within the virtual machine, and wherein the computer system includes a virtual machine monitor executed on the computer system to control execution of the virtual machine on the computer system, and wherein the request originates external to the virtual machine, and wherein the request is transmitted to the virtual machine as one or more packets targeting a virtual network interface controller (NIC) within the virtual machine, and wherein the metadata describes a logical structure of application data stored on one or more virtual storage devices in the virtual machine and wherein the metadata identifies logical data objects within the application data stored on the one or more virtual storage devices in the virtual machine, wherein requesting the metadata comprises remotely logging into an account on the virtual machine to transmit the request for the metadata;

requesting a first image of the virtual machine from the virtual machine monitor that controls the virtual machine using the virtual machine monitor's suspend command which generates a snapshot image of the virtual machine, wherein the virtual machine monitor is executing on the hardware in the computer, and wherein the first image includes one or more files representing the one or more virtual storage devices;

performing storage mapping on the one or more virtual storage devices using the metadata to create a catalog of data objects in the logical structure and locations of the data objects on the one or more virtual storage devices; and

storing the metadata and the first image as a backup of the virtual machine, wherein the metadata is stored separately from the first image.

2. The method as recited in claim 1 further comprising storing the catalog as part of the backup of the virtual machine.

3. The method as recited in claim 1 further comprising:

presenting data objects stored on the one or more virtual storage devices to a user in response to a restore request;

accepting user input identifying one or more data objects to restore, the user input excluding at least one data object that is stored on the one or more virtual storage devices;

extracting the identified data objects from the first image of the virtual machine responsive to the user input identifying the identified data objects; and

restoring the identified data objects from the first image to a second image of the virtual machine that is different from the first image.

4. The method as recited in claim 3 further comprising requesting the second image from the virtual machine manager.

5. The method as recited in claim 3 wherein the restoring comprises modifying the second image to store the identified objects on the one or more virtual storage devices.

6. The method as recited in claim 5 further comprising:

detecting one or more additional data objects to be restored to synchronize the second image to a consistent state;

extracting the additional data objects from the first image of the virtual machine; and

restoring the additional data objects to the second image of the virtual machine.

7. The method as recited in claim 3 further comprising signalling the virtual machine manager to start the virtual machine from the second image.

8. A non-transitory computer accessible storage medium storing a plurality of instructions including instructions executed on a backup server during use, the instructions executing on the backup server including a backup application, wherein the backup server is separate from a computer system that executes a virtual machine during use, the backup application communicating with a virtual machine that is remote to the backup application during use, wherein the virtual machine includes an application, the instructions executed on the backup server during use to:

request metadata by the backup application from the application, wherein the virtual machine includes an operating system that controls execution of the application within the virtual machine, and wherein the computer system includes a virtual machine monitor executed on the computer system during use to control execution of the virtual machine on the computer system, and wherein the request is transmitted to the virtual machine as one or more packets targeting a virtual network interface controller (NIC) within the virtual machine, and wherein the metadata describes a logical structure of the application data stored on one or more virtual storage devices in the virtual machine, and wherein the metadata identifies logical data objects within the application data, wherein requesting the metadata comprises remotely logging into an account on the virtual machine to transmit the request for the metadata;

request a first image of the virtual machine from the virtual machine monitor that controls the virtual machine using the virtual machine monitor's suspend command which generates a snapshot image of the virtual machine, wherein the first image includes one or more files representing the one or more virtual storage devices;

perform storage mapping on the one or more virtual storage devices using the metadata to create a catalog of data objects in the logical structure and locations of the data objects on the one or more virtual storage devices; and

store the metadata and the first image as a backup of the virtual machine, wherein the metadata is stored separately from the first image.

9. The non-transitory computer accessible storage medium as recited in claim 8 wherein the instructions are executed during use to store the catalog as part of the backup of the virtual machine.

10. The non-transitory computer accessible storage medium as recited in claim 8 wherein the instructions are executed during use to:

present data objects stored on the one or more virtual storage devices to a user in response to a restore request;

accept user input identifying one or more data objects to restore, the user input excluding at least one data object that is stored on the one or more virtual storage devices;

extract the identified data objects from the first image of the virtual machine responsive to the user input identifying the identified data objects; and

restore the identified data objects from the first image to a second image of the virtual machine that is different from the first image.

11. The non-transitory computer accessible storage medium as recited in claim 10 wherein the instructions are executed during use to:

detect one or more additional data objects to be restored to synchronize the second image to a consistent state;

extract the additional data objects from the first image of the virtual machine; and

restore the additional data objects to the second image of the virtual machine.

12. A system comprising:

a computer system comprising hardware that is configured to execute at least one virtual machine, wherein the virtual machine comprises an application and one or more virtual storage devices; and

a backup server computer system coupled to the computer system and configured to backup data describing the virtual machine using a backup application, the backup application communicating with the application on the virtual machine during use, wherein the virtual machine is remote to the backup application, wherein the backup server computer system is configured to restore selected data objects from a first virtual storage device in a backup image to the virtual machine while excluding other data objects on the first virtual storage device, and wherein the backup server computer system is configured to perform the restore of the selected data objects without installing backup software within the virtual machine responsive to metadata corresponding to the backup image that is stored by the backup server separate from the backup image, and wherein the metadata is requested from an application executing on the virtual machine during generation of the backup image, wherein requesting the metadata comprises remotely logging into an account on the virtual machine to transmit the request for the metadata during use, and wherein the virtual machine includes an operating system that controls execution of the application within the virtual machine, and wherein the computer system includes a virtual machine monitor that controls execution of the virtual machine on the computer system, wherein the backup application uses the virtual machine monitor's suspend command which generates a snapshot image of the virtual machine, and wherein the request is transmitted to the virtual machine as one or more packets targeting a virtual network interface controller (NIC) within the virtual machine, wherein the backup server computer system is further configured to perform storage mapping on the one or more virtual storage devices using the metadata to create a catalog of data objects in the logical structure and locations of the data objects on the one or more virtual storage devices.

13. The system as recited in claim 12 wherein metadata describes a logical structure of data on the one or more virtual storage devices, and wherein the backup server computer system is configured to store the first image and the metadata as a backup of the virtual machine.

14. The system as recited in claim 13 wherein the backup server computer system is further configured to store the catalog as part of the backup of the virtual machine.

15. The system as recited in claim 12 wherein the backup server computer system is further configured to present data objects stored on the one or more virtual storage devices to a user in response to a restore request; accept user input identifying one or more data objects to restore, the user input excluding at least one data object that is stored on the one or more virtual storage devices; extract the identified data objects from the first image of the virtual machine responsive to the user input identifying the identified data objects; and restore the identified data objects from the first image to a second image of the virtual machine that is different from the first image.

16. The system as recited in claim 15 wherein the backup server computer system is further configured to detect one or more additional data objects to be restored to synchronize the second image to a consistent state; extract the additional data objects from the first image of the virtual machine; and restore the additional data objects to the second image of the virtual machine.

Assignments (13)
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 →
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 Jun 13, 2008
From: NGUYEN, SINH D.; NAFTEL, TIMOTHY M.
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 021094/0761 →
Continuity (1)
Related Publication 20090313447A1 · Dec 17, 2009