IP Library Granted Patent US 8,924,358
Granted Patent B1
US 8,924,358 · App. 13/691,069 · Granted Dec 30, 2014

Change tracking of individual virtual disk 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,924,358
App. No.
13/691,069
Filed
Nov 30, 2012
Granted
Dec 30, 2014
Kind
B1
Examiner
HO, BINH VAN
Art Unit
2163
USPC
707/652
Abstract

A first write operation is intercepted. The first write operation is a write from a virtual machine to a virtual disk. The first write operation is a change to a first data location. The change to the first data location is recorded. The recording creates a first change record. The first change record is stored separately from the first data location. A first backup operation is performed. The first backup operation, the intercepting, and the recording are performed by an application executing on a host of the virtual machine. The first backup operation includes a read request for the first data location. The read request for the first data location is fulfilled based on the first change record.

Claims (133)

1. A method, comprising:

intercepting a first write operation, wherein

the first write operation comprises a write from a virtual machine to a virtual disk, and

the first write operation comprises a change to a first data location, wherein

the change to the first data location is the result of a change to a file associated with the virtual machine;

recording the change to the first data location, wherein

the recording creates a first change record for the first write operation in a data structure associated with the virtual machine, and

the first change record is stored separately from the first data location; and

performing a first backup operation, wherein

the first backup operation, the intercepting, and the recording are performed by one or more applications executing on a host of the virtual machine,

the first backup operation comprises an incremental backup operation, and

the incremental backup operation accesses the first change record to determine if the first data location has been modified.

2. The method of claim 1 , further comprising:

selecting the virtual disk from a plurality of virtual disks stored on a storage device.

3. The method of claim 1 , further comprising:

creating a snapshot of the virtual disk.

4. The method of claim 1 , further comprising:

installing a file filter driver on a virtual machine host, wherein

the file filter driver is configured to intercept the first write operation,

the virtual machine is hosted by the virtual machine host.

5. The method of claim 4 , further comprising:

the virtual machine host propagating a quiesce event to the virtual machine; and

the virtual machine propagating the quiesce event to an application of the virtual machine.

6. The method of claim 1 , further comprising:

identifying the first data location, wherein

first data of a data structure is stored at the first data location;

creating a snapshot of the data structure;

copying the first data to a secondary storage location, wherein,

the recording comprises associating the first data to the first data location in the first change record,

the first write operation is performed at the first data location after a completion of the recording and the copying,

the first backup operation comprises answering the read request from the secondary storage location,

the first backup operation creates a first backup data structure; and

responsive to a completion of the first backup operation, releasing the first data.

7. The method of claim 6 , further comprising:

intercepting a second write operation, wherein

the second write operation is addressed to the data structure, and

the second write operation is received after the releasing;

identifying a second data location, wherein

the second write operation is a change to the second data location, and

second data of the data structure is stored at the second data location;

recording the change to the second data location; and

performing a second backup operation, wherein

the second backup operation comprises copying the second data location to a second backup data structure, and

the second backup operation is an incremental backup of the data structure.

8. The method of claim 1 , further comprising:

determining whether a second write operation is addressed to the virtual disk, wherein the second write operation is addressed to a shared storage object; and

in response to determining that the second write operation is not addressed to the virtual disk, performing the write operation.

9. A non-transitory computer-readable storage medium storing instructions executable by a processor to:

intercept a first write operation, wherein

the first write operation comprises a write from a virtual machine to a virtual disk, and

the first write operation comprises a change to a first data location, wherein

the change to the first data location is the result of a change to a file associated with the virtual machine;

record the change to the first data location, wherein

recording the change creates a first change record for the first write operation in a data structure associated with the virtual machine, and

the first change record is stored separately from the first data location; and

perform a first backup operation, wherein

the first backup operation, the intercepting, and the recording are performed by one or more applications executing on a host of the virtual machine,

the first backup operation comprises an incremental backup operation, and

the incremental backup operation accesses the first change record to determine if the first data location has been modified.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions are further executable to:

create a snapshot of the virtual disk.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions are further executable to:

install a file filter driver on a virtual machine host, wherein

the file filter driver is configured to intercept the first write operation,

the virtual machine is hosted by the virtual machine host.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions are further executable to:

identify the first data location, wherein

first data of a data structure is stored at the first data location;

create a snapshot of the data structure;

copy the first data to a secondary storage location, wherein,

recording the change comprises associating the first data to the first data location in the first change record,

the first write operation is performed at the first data location after a completion of the recording and the copying,

the first backup operation comprises answering the read request from the secondary storage location,

the first backup operation creates a first backup data structure; and

responsive to a completion of the first backup operation, release the first data.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions are further executable to:

intercept a second write operation, wherein

the second write operation is addressed to the data structure, and

the second write operation is received after the releasing;

identify a second data location, wherein

the second write operation is a change to the second data location, and

second data of the data structure is stored at the second data location;

record the change to the second data location; and

perform a second backup operation, wherein

the second backup operation comprises copying the second data location to a second backup data structure, and

the second backup operation is an incremental backup of the data structure.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions are further executable to:

determine whether a second write operation is addressed to the virtual disk, wherein the second write operation is addressed to a shared storage object; and

in response to determining that the second write operation is not addressed to the virtual disk, perform the write operation.

15. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

intercept a first write operation, wherein

the first write operation comprises a write from a virtual machine to a virtual disk, and

the first write operation comprises a change to a first data location, wherein

the change to the first data location is the result of a change to a file associated with the virtual machine;

record the change to the first data location, wherein

recording the change creates a first change record for the first write operation in a data structure associated with the virtual machine, and

the first change record is stored separately from said first data location; and

perform a first backup operation, wherein

the first backup operation, the intercepting, and the recording are performed by one or more applications executing on a host of the virtual machine, and

the first backup operation comprises an incremental backup operation, and

the incremental backup operation accesses the first change record to determine if the first data location has been modified.

16. The system of claim 15 , wherein the instructions are further executable to:

create a snapshot of the virtual disk.

17. The system of claim 15 , wherein the instructions are further executable to:

install a file filter driver on a virtual machine host, wherein

the file filter driver is configured to intercept the first write operation,

the virtual machine is hosted by the virtual machine host.

18. The system of claim 15 , wherein the instructions are further executable to:

identify the first data location, wherein

first data of a data structure is stored at the first data location;

create a snapshot of the data structure;

copy the first data to a secondary storage location, wherein,

recording the change comprises associating the first data to the first data location in the first change record,

the first write operation is performed at the first data location after a completion of the recording and the copying,

the first backup operation comprises answering the read request from the secondary storage location,

the first backup operation creates a first backup data structure; and

responsive to a completion of the first backup operation, release the first data.

19. The system of claim 18 , wherein the instructions are further executable to:

intercept a second write operation, wherein

the second write operation is addressed to the data structure, and

the second write operation is received after the releasing;

identify a second data location, wherein

the second write operation is a change to the second data location, and

second data of the data structure is stored at the second data location;

record the change to the second data location; and

perform a second backup operation, wherein

the second backup operation comprises copying the second data location to a second backup data structure, and

the second backup operation is an incremental backup of the data structure.

20. The system of claim 15 , wherein the instructions are further executable to:

determine whether a second write operation is addressed to the virtual disk, wherein the second write operation is addressed to a shared storage object; and

in response to determining that the second write operation is not addressed to the virtual disk, perform the write operation.