IP Library Granted Patent US 10,705,917
Granted Patent B2
US 10,705,917 · App. 14/838,622 · Granted Jul 7, 2020

Consolidated full backup of a restored virtual machine

Inventors: Dulipsinh Deshmukh (Maharashtra, IN); James Olson (Afton, MN); Atul Akolkar (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F11/1448G06F9/45558G06F2009/45562G06F2201/80G06F2201/84
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 10,705,917
App. No.
14/838,622
Granted
Jul 7, 2020
Kind
B2
Abstract

Various systems, methods, and processes for optimizing the performance of a consolidated full backup of a restored virtual machine are disclosed. Changed data and metadata associated with the changed data is received from a hypervisor at a backup module. The hypervisor supports a virtual machine, and the virtual machine employs virtual disks. A confirmation is sent to the hypervisor from the backup module indicating that a full backup of the virtual disks has been created.

Claims (117)

1. A computer-implemented method comprising:

restoring a virtual machine from an original full backup image to create a restored virtual machine;

subsequent to restoring the virtual machine, creating a snapshot of the restored virtual machine;

subsequent to the restoring of the virtual machine and the creating of the snapshot of the restored virtual machine, executing the restored virtual machine;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, and the executing of the restored virtual machine, identifying one or more units of changed data and metadata associated with the one or more units of changed data, wherein

the one or more units of changed data were changed by the restored virtual machine during the executing of the restored virtual machine,

the one or more units of changed data were identified by the restored virtual machine comparing current state information to the snapshot of the restored virtual machine,

the one or more units of changed data and the metadata associated with the one or more units of changed data are received from a hypervisor at a backup module,

the hypervisor supports the restored virtual machine, and

the restored virtual machine employs one or more virtual disks;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, the executing of the restored virtual machine, and the identifying of the one or more units of changed data and the metadata associated with the one or more units of changed data, creating a backup of the one or more virtual disks used by the restored virtual machine, wherein

the backup of the one or more virtual disks is based, at least in part, on the original full backup image and, at least in part, on the one or more units of changed data; and

sending a confirmation to the hypervisor, wherein

the confirmation is sent from the backup module, and

the confirmation indicates that the backup of the one or more virtual disks has been created.

2. The computer-implemented method of claim 1 , further comprising:

identifying the one or more units of changed data using a changed block tracker, wherein

the hypervisor implements the changed block tracker, and

the changed block tracker determines that the one or more units of changed data have been modified by the restored virtual machine; and

storing the metadata associated with the one or more units of changed data in the hypervisor.

3. The computer-implemented method of claim 1 , wherein

the original full backup image is stored on a media server,

a catalog and a state file associated with the virtual machine are also stored on the media server during the restoring, and

the restoring further comprises enabling a changed block tracker on the hypervisor, wherein

the changed block tracker is enabled after completion of the restoring and prior to initiating execution of the restored virtual machine.

4. The computer-implemented method of claim 3 , further comprising:

synthesizing a consolidated full backup.

5. The computer-implemented method of claim 4 , wherein the synthesizing the consolidated full backup further comprises:

generating a snapshot of the restored virtual machine;

accessing the catalog and the state file on the media server;

generating backup metadata from the catalog and the state file; and

creating the consolidated full backup by combining the one or more units of changed data transmitted from the hypervisor with one or more units of unchanged data from the original full backup image identified by the backup metadata.

6. The computer-implemented method of claim 5 , further comprising:

deleting the original full backup image after creating the consolidated full backup, and

designating the consolidated full backup as a new full backup image to be used for a subsequent restore operation.

7. The computer-implemented method of claim 5 , wherein the backup metadata comprises:

information used to restore the virtual machine stored in the catalog; and

a state of the virtual machine at a time the restoring is performed stored in the state file.

8. The computer-implemented method of claim 5 , wherein

the one or more units of unchanged data in the original full backup image is identified by comparing the snapshot of the virtual machine taken after the restoring with the catalog stored as part of the restoring.

9. 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 perform a method comprising:

restoring a virtual machine from an original full backup image to create a restored virtual machine;

subsequent to restoring the virtual machine, creating a snapshot of the restored virtual machine;

subsequent to the restoring of the virtual machine and the creating of the snapshot of the restored virtual machine, executing the restored virtual machine;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, and the executing of the restored virtual machine, identifying one or more units of changed data and metadata associated with the one or more units of changed data, wherein

the one or more units of changed data were changed by the restored virtual machine during the executing of the restored virtual machine,

the one or more units of changed data were identified by the restored virtual machine comparing current state information to the snapshot of the restored virtual machine,

the one or more units of changed data and the metadata associated with the one or more units of changed data are received from a hypervisor at a backup module,

the hypervisor supports the restored virtual machine, and

the restored virtual machine employs one or more virtual disks;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, the executing of the restored virtual machine, and the identifying of the one or more units of changed data and the metadata associated with the one or more units of changed data, creating a backup of the one or more virtual disks used by the restored virtual machine, wherein

the backup of the one or more virtual disks is based, at least in part, on the original full backup image and, at least in part, on the one or more units of changed data; and

sending a confirmation to the hypervisor, wherein

the confirmation is sent from the backup module, and

the confirmation indicates that the backup of the one or more virtual disks has been created.

10. The system of claim 9 , wherein the method further comprises:

identifying the one or more units of changed data using a changed block tracker, wherein the hypervisor implements the changed block tracker, and

the changed block tracker determines that the one or more units of changed data have been modified by the restored virtual machine; and

storing the metadata associated with the one or more units of changed data in the hypervisor.

11. The system of claim 10 , wherein

the original full backup image is stored on a media server,

a catalog and a state file associated with the virtual machine are also stored on the media server during the restoring, and

the restoring further comprises enabling a changed block tracker on the hypervisor, wherein

the changed block tracker is enabled after completion of the restoring and prior to initiating execution of the restored virtual machine.

12. The system of claim 11 , wherein the method further comprises:

synthesizing a consolidated full backup, wherein the synthesizing the consolidated full backup further comprises:

generating a snapshot of the restored virtual machine;

accessing the catalog and the state file on the media server;

generating backup metadata from the catalog and the state file; and

creating the consolidated full backup by combining the one or more units of changed data transmitted from the hypervisor with one or more units of unchanged data from the original full backup image identified by the backup metadata.

13. The system of claim 12 , wherein the method further comprises:

deleting the original full backup image after creating the consolidated full backup, and

designating the consolidated full backup as a new full backup image to be used for a subsequent restore operation.

14. The system of claim 12 , wherein

the backup metadata comprises:

information used to restore the virtual machine stored in the catalog, and

a state of the virtual machine at a time the restoring is performed stored in the state file, and

the one or more units of unchanged data in the original full backup image is identified by comparing the snapshot of the virtual machine taken after the restoring with the catalog stored as part of the restoring.

15. A non-transitory computer readable storage medium comprising program instructions executable to perform a method comprising:

restoring a virtual machine from an original full backup image to create a restored virtual machine;

subsequent to restoring the virtual machine, creating a snapshot of the restored virtual machine;

subsequent to the restoring of the virtual machine and the creating of the snapshot of the restored virtual machine, executing the restored virtual machine;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, and the executing of the restored virtual machine, identifying one or more units of changed data and metadata associated with the one or more units of changed data, wherein

the one or more units of changed data were changed by the restored virtual machine during the executing,

the one or more units of changed data were changed by the restored virtual machine during the executing of the restored virtual machine, the one or more units of changed data were identified by the restored virtual machine comparing current state information to the snapshot of the restored virtual machine,

the restored virtual machine is supported by a hypervisor, and

the restored virtual machine employs one or more virtual disks;

subsequent to the restoring of the virtual machine, the creating of the snapshot of the restored virtual machine, the executing of the restored virtual machine, and the identifying of the one or more units of changed data and the metadata associated with the one or more units of changed data, creating a backup of the one or more virtual disks used by the restored virtual machine, wherein

the backup of the one or more virtual disks is based, at least in part, on the original full backup image and, at least in part, on the one or more units of changed data; and

sending a confirmation to the hypervisor, wherein

the confirmation is sent from a backup module, and

the confirmation indicates that the backup of the one or more virtual disks has been created.

16. The non-transitory computer readable storage medium of claim 15 , wherein the method further comprises:

identifying the one or more units of changed data using a changed block tracker, wherein

the hypervisor implements the changed block tracker, and

the changed block tracker determines that the one or more units of changed data have been modified by the restored virtual machine; and

storing the metadata associated with the one or more units of changed data in the hypervisor.

17. The non-transitory computer readable storage medium of claim 16 , wherein the original full backup image is stored on a media server,

a catalog and a state file associated with the virtual machine are also stored on the media server during the restoring, and

the restoring further comprises enabling a changed block tracker on the hypervisor, wherein

the changed block tracker is enabled after completion of the restoring prior to initiating execution of the restored virtual machine.

18. The non-transitory computer readable storage medium of claim 17 , wherein the method further comprises:

synthesizing a consolidated full backup, wherein

the synthesizing the consolidated full backup comprises:

generating a snapshot of the restored virtual machine;

accessing the catalog and the state file on the media server;

generating backup metadata from the catalog and the state file; and

creating the consolidated full backup by combining the one or more units of changed data transmitted from the hypervisor with one or more units of unchanged data from the original full backup image identified by the backup metadata.

19. The non-transitory computer readable storage medium of claim 18 , wherein the method further comprises further comprising:

deleting the original full backup image after creating the consolidated full backup, and designating the consolidated full backup as a new full backup image to be used for a subsequent restore operation.

20. The non-transitory computer readable storage medium of claim 18 , wherein

the backup metadata comprises:

information used to restore the virtual machine stored in the catalog, and

a state of the virtual machine at a time the restoring is performed stored in the state file, and

the one or more units of unchanged data in the original full backup image is identified by comparing the snapshot of the virtual machine taken after the restoring with the catalog stored as part of the restoring.

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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2015
From: DESHMUKH, DULIPSINH; OLSON, JAMES; AKOLKAR, ATUL
To: SYMANTEC CORPORATION
Reel/Frame 036504/0735 →
Priority Claims (1)
IN 2484/MUM/2015 · Jun 30, 2015 · national
Continuity (1)
Related Publication 20170004047A1 · Jan 5, 2017