IP Library Granted Patent US 8,438,349
Granted Patent B2
US 8,438,349 · App. 12/545,450 · Granted May 7, 2013

Proxy backup of virtual disk image files on NAS devices

Inventors: James Robert Olson (Afton, MN); Timothy M. Naftel (Longmont, CO); David Teater (Minneapolis, MN); Sinh D. Nguyen (Eden Prairie, MN); James P. Ohr (Saint Paul, MN)
Assignee: Symantec 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,438,349
App. No.
12/545,450
Filed
Aug 21, 2009
Granted
May 7, 2013
Kind
B2
Art Unit
2189
USPC
711/162
Abstract

A system and method for backing up a virtual machine executing on a virtualization server computer are described. A snapshot of a virtual disk image file of the virtual machine may be created on a network-attached storage (NAS) device coupled to the virtualization server computer. The snapshot may be used to backup the virtual disk image file from the NAS device to a backup storage device without transferring the virtual disk image file through the virtualization server computer. Mapping information useable to access the plurality of files stored in the virtual disk image file on an individual basis may be created and stored together with the backup copy of the virtual disk image file on the backup storage device.

Claims (77)

1. A non-transitory computer-accessible storage medium storing program instructions executable to:

perform a backup of a virtual machine executing on a virtualization server computer by:

requesting a first snapshot of a virtual disk image file of the virtual machine to be created on a network-attached storage (NAS) device coupled to the virtualization server computer, wherein the virtual disk image file stores a plurality of files used by the virtual machine, wherein the virtual disk image file and the first snapshot are stored in a file system volume on the NAS device;

requesting a second snapshot of the file system volume to be created on the NAS device;

after requesting the second snapshot of the file system volume to be created, requesting the first snapshot of the virtual disk image file to be released;

receiving access information useable to access the second snapshot on the NAS device; and

using the second snapshot to backup the virtual disk image file from the NAS device to a backup storage device without transferring the virtual disk image file through the virtualization server computer.

2. The computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to:

create mapping information useable to access the plurality of files stored in the virtual disk image file on an individual basis, wherein for each respective file of the plurality of files, the mapping information specifies a location of the respective file within the virtual disk image file; and

store the mapping information on the backup storage device.

3. The computer-accessible storage medium of claim 2 , wherein the program instructions are further executable to:

receive a request to restore a particular file of the plurality of files from the virtual disk image file on the backup storage device to a particular computer system;

in response to the request to restore the particular file, access the mapping information to determine location information specifying the location of the particular file within the virtual disk image file on the backup storage device;

extract the particular file from the virtual disk image file on the backup storage device using the location information; and

transfer the particular file to the particular computer system.

4. The computer-accessible storage medium of claim 1 ,

wherein the virtual disk image file is one of:

a Virtual Machine Disk Format (VMDK) file;

a Virtual Hard Disk (VHD) file.

5. The computer-accessible storage medium of claim 1 ,

wherein the program instructions are executable by a particular computer;

wherein the program instructions are executable to:

communicate with the NAS device to transfer data of the second snapshot to the particular computer; and

communicate with the backup storage device to transfer the data of the second snapshot to the backup storage device.

6. The computer-accessible storage medium of claim 1 ,

wherein the program instructions are executable by a particular computer;

wherein the program instructions are executable to:

communicate with the NAS device to cause the NAS device to transfer data of the second snapshot to the backup storage device without transferring the data through the particular computer.

7. A system comprising:

one or more processors; and

memory storing program instructions;

wherein the program instructions are executable by the one or more processors to perform a backup of a virtual machine executing on a virtualization server computer by:

requesting a first snapshot of a virtual disk image file of the virtual machine to be created on a network-attached storage (NAS) device coupled to the virtualization server computer, wherein the virtual disk image file stores a plurality of files used by the virtual machine, wherein the virtual disk image file and the first snapshot are stored in a file system volume on the NAS device;

requesting a second snapshot of the file system volume to be created on the NAS device;

after requesting the second snapshot of the file system volume to be created, requesting the first snapshot of the virtual disk image file to be released;

receiving access information useable to access the second snapshot on the NAS device; and

using the second snapshot to backup the virtual disk image file from the NAS device to a backup storage device without transferring the virtual disk image file through the virtualization server computer.

8. The system of claim 7 , wherein the program instructions are further executable by the one or more processors to:

create mapping information useable to access the plurality of files stored in the virtual disk image file on an individual basis, wherein for each respective file of the plurality of files, the mapping information specifies a location of the respective file within the virtual disk image file; and

store the mapping information on the backup storage device.

9. The system of claim 8 , wherein the program instructions are further executable by the one or more processors to:

receive a request to restore a particular file of the plurality of files from the virtual disk image file on the backup storage device to a particular computer system;

in response to the request to restore the particular file, access the mapping information to determine location information specifying the location of the particular file within the virtual disk image file on the backup storage device;

extract the particular file from the virtual disk image file on the backup storage device using the location information; and

transfer the particular file to the particular computer system.

10. The system of claim 7 ,

wherein the virtual disk image file is one of:

a Virtual Machine Disk Format (VMDK) file;

a Virtual Hard Disk (VHD) file.

11. The system of claim 7 ,

wherein the one or more processors are included in a particular computer;

wherein the program instructions are executable by the one or more processors to:

communicate with the NAS device to transfer data of the second snapshot to the particular computer; and

communicate with the backup storage device to transfer the data of the second snapshot to the backup storage device.

12. The system of claim 7 ,

wherein the one or more processors are included in a particular computer;

wherein the program instructions are executable by the one or more processors to:

communicate with the NAS device to cause the NAS device to transfer data of the second snapshot to the backup storage device without transferring the data through the particular computer.

13. A method comprising:

executing program instructions on a first computer system to perform a backup of a virtual machine executing on a virtualization server computer, wherein said executing the program instructions causes the first computer system to perform operations including:

requesting a first snapshot of a virtual disk image file of the virtual machine to be created on a network-attached storage (NAS) device coupled to the virtualization server computer, wherein the virtual disk image file stores a plurality of files used by the virtual machine, wherein the virtual disk image file and the first snapshot are stored in a file system volume on the NAS device;

requesting a second snapshot of the file system volume to be created on the NAS device;

after requesting the second snapshot of the file system volume to be created, requesting the first snapshot of the virtual disk image file to be released;

receiving access information useable to access the second snapshot on the NAS device in response to requesting the second snapshot to be created; and

using the second snapshot to backup the virtual disk image file from the NAS device to a backup storage device without transferring the data through the virtualization server computer.

14. The method of claim 13 , wherein said executing the program instructions further causes the first computer system to perform additional operations including:

creating mapping information useable to access the plurality of files stored in the virtual disk image file on an individual basis, wherein for each respective file of the plurality of files, the mapping information specifies a location of the respective file within the virtual disk image file; and

storing the mapping information on the backup storage device.

15. The method of claim 14 , wherein said executing the program instructions further causes the first computer system to perform additional operations including:

receiving a request to restore a particular file of the plurality of files from the virtual disk image file on the backup storage device to a particular computer system;

in response to the request to restore the particular file, accessing the mapping information to determine location information specifying the location of the particular file within the virtual disk image file on the backup storage device;

extracting the particular file from the virtual disk image file on the backup storage device using the location information; and

transferring the particular file to the particular computer system.

16. The method of claim 13 ,

wherein the virtual disk image file is one of:

a Virtual Machine Disk Format (VMDK) file;

a Virtual Hard Disk (VHD) file.

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 Aug 21, 2009
From: OLSON, JAMES ROBERT; NAFTEL, TIMOTHY M.; TEATER, DAVID; NGUYEN, SINH D.; OHR, JAMES P.
To: SYMANTEC CORPORATION
Reel/Frame 023130/0934 →
Continuity (1)
Related Publication 20110047340A1 · Feb 24, 2011