IP Library Granted Patent US 10,635,128
Granted Patent B1
US 10,635,128 · App. 13/663,122 · Granted Apr 28, 2020

Storing backup data using snapshots

Inventors: Fanglu Guo (Los Angeles, CA); Weibao Wu (Vadnais Heights, MN); Kirk L. Searls (Maitland, FL)
Assignee: Veritas Technologies LLC
G06F1/04
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,635,128
App. No.
13/663,122
Granted
Apr 28, 2020
Kind
B1
Abstract

The present disclosure describes storing backup images in backup storage using snapshots. In response to receipt of a backup image that includes a complete copy of client data, a storage unit is generated and the backup image is stored in the storage unit. In response to receipt of a streamlined backup image that includes changed client data and metadata identifying unchanged client data in a base backup image, a base storage unit that includes the base backup image is identified, a snapshot is taken of the base storage unit (which generates a snapshot), and the streamlined backup image is stored on the snapshot. The metadata of the streamlined backup image is analyzed to identify portions of the base backup image that are not referenced by the streamlined backup image, which are removed from the snapshot.

Claims (123)

1. A method comprising:

generating a first snapshot virtual disk of a virtual disk in which a base backup image is stored, wherein

the base backup image comprises client data,

a track log is associated with the base backup image, wherein

the track log comprises a plurality of fingerprints associated with a plurality of data items in the client data, and

a plurality of times associated with the plurality of data items, and

the track log is configured to be used in identifying first client data that has changed since the base backup image was created (“first changed client data”) and first unchanged data that has not changed since the base backup image was created (“first unchanged client data”), and

the first snapshot virtual disk comprises information that identifies a location of each of a plurality of portions of the client data within the base backup image;

storing a first streamlined backup image as a backup image file in the first snapshot virtual disk, wherein

the first streamlined backup image is associated with the base backup image, and

the first streamlined backup image comprises the first changed client data and first metadata identifying the first unchanged client data;

analyzing the first metadata identifying the first unchanged client data in the first streamlined backup image to identify one or more portions of the plurality of portions of the base backup image that are not referenced by the first streamlined backup image; and

removing the one or more portions from the first snapshot virtual disk, wherein

the removing the one or more portions from the first snapshot virtual disk comprises deleting one or more snapshot pointers of a representation of the base backup image,

the one or more snapshot pointers correspond to the one or more portions, and

the one or more snapshot pointers each refer to a portion of the base backup image in a base storage unit;

determining whether the base backup image has expired; and

subsequent to a determination that the base backup image has expired,

generating a second backup image file, wherein

the second backup image file comprises one or more data items in the base backup image that are referenced by the first streamlined backup image,

deleting the base backup image, and

storing the second backup image file in a second snapshot virtual disk.

2. The method of claim 1 , wherein

a representation of the base backup image is stored in the first snapshot virtual disk, as a result of the generating the first snapshot virtual disk,

the first streamlined backup image comprises a plurality of metadata references, and

each of the plurality of metadata references refers to a respective portion of the representation of the base backup image.

3. The method of claim 2 , wherein

each portion of the representation of the base backup image comprises at least one of

a metadata reference to another portion within the representation of the base backup image, and

a snapshot pointer that refers to the virtual disk.

4. The method of claim 1 , wherein

the base backup image comprises

a child backup image, and

a representation of a parent backup image,

the child backup image comprises a second plurality of metadata references, and

each of the second plurality of metadata references refers to a respective portion of the representation of the parent backup image.

5. The method of claim 4 , wherein

the parent backup image is stored on a different unit distinct from the virtual disk, and each portion of the representation of the parent backup image comprises at least one of

a metadata reference to another portion within the representation of the parent backup image, and

a virtual disk snapshot pointer that refers to a corresponding portion of the parent backup image in the different unit.

6. A non-transitory computer readable storage medium configured to store program instructions that, when executed on a processor, are configured to cause the processor to perform a method comprising:

generating a first snapshot virtual disk of a virtual disk in which a base backup image is stored, wherein

the base backup image comprises client data, and

a track log is associated with the base backup image, wherein

the track log comprises a plurality of fingerprints associated with a plurality of data items in the client data, and

a plurality of times associated with the plurality of data items, and

the track log is configured to be used in identifying first client data that has changed since the base backup image was created (“first changed client data”) and first unchanged data that has not changed since the base backup image was created (“first unchanged client data”), and

the first snapshot virtual disk comprises information that identifies a location of each of a plurality of portions of the client data within the base backup image;

storing a first streamlined backup image as a backup image file in the first snapshot virtual disk, wherein

the first streamlined backup image is associated with the base backup image, and

the first streamlined backup image comprises the first changed client data and first metadata identifying the first unchanged client data;

analyzing the first metadata identifying the first unchanged client data in the first streamlined backup image to identify one or more portions of the plurality of portions of the base backup image that are not referenced by the first streamlined backup image; and

removing the one or more portions from the first snapshot virtual disk-snapshot, wherein

the removing the one or more portions from the first snapshot virtual disk comprises deleting one or more snapshot pointers of a representation of the base backup image, wherein

the one or more snapshot pointers correspond to the one or more portions, and

the one or more snapshot pointers each refer to a portion of the base backup image in a base storage unit;

determining whether the base backup image has expired; and

subsequent to a determination that the base backup image has expired,

generating a second backup image file, wherein

the second backup image file comprises one or more data items in the base backup image that are referenced by the first streamlined backup image,

deleting the base backup image, and

storing the second backup image file in a second snapshot virtual disk.

7. The non-transitory computer readable storage medium of claim 6 , wherein

a representation of the base backup image is stored in the first snapshot virtual disk, as a result of the generating the first snapshot virtual disk,

the first streamlined backup image comprises a plurality of metadata references, and

each of the plurality of metadata references refers to a respective portion of the representation of the base backup image.

8. The non-transitory computer readable storage medium of claim 7 , wherein

each portion of the representation of the base backup image comprises at least one of

a metadata reference to another portion within the representation of the base backup image, and

a snapshot pointer that refers to the virtual disk.

9. The non-transitory computer readable storage medium of claim 6 , wherein

the base backup image comprises

a child backup image, and

a representation of a parent backup image,

the child backup image comprises a second plurality of metadata references, and

each of the second plurality of metadata references refers to a respective portion of the representation of the parent backup image.

10. The non-transitory computer readable storage medium of claim 9 , wherein

the parent backup image is stored on a different unit distinct from the virtual disk, and

each portion of the representation of the parent backup image comprises at least one of

a metadata reference to another portion within the representation of the parent backup image, and

a virtual disk snapshot pointer that refers to a corresponding portion of the parent backup image in the different unit.

11. An apparatus comprising:

a snapshot backup module configured to

generate a first snapshot virtual disk of a virtual disk in which a base backup image is stored, wherein

the base backup image comprises client data, and

a track log is associated with the base backup image, wherein

the track log comprises a plurality of fingerprints associated with a plurality of data items in the client data, and

a plurality of times associated with the plurality of data items, and

the track log is configured to be used in identifying first client data that has changed since the base backup image was created (“first changed client data”) and first unchanged data that has not changed since the base backup image was created (“first unchanged client data”), and

the first snapshot virtual disk comprises information that identifies a location of each of a plurality of portions of the client data within the base backup image;

store a first streamlined backup image as a backup image file in the first snapshot virtual disk, wherein

the first streamlined backup image is associated with the base backup image, and

the first streamlined backup image comprises the first changed client data and first metadata identifying the first unchanged client data;

analyze the first metadata identifying the first unchanged client data in the first streamlined backup image to identify one or more portions of the plurality of portions of the base backup image that are not referenced by the first streamlined backup image; and

remove the one or more portions from the first snapshot virtual disk, wherein

removing the one or more portions from the first snapshot virtual disk comprises deleting one or more snapshot pointers of a representation of the base backup image, wherein

the one or more snapshot pointers correspond to the one or more portions, and

the one or more snapshot pointers each refer to a portion of the base backup image in a base storage unit;

determine whether the base backup image has expired; and

subsequent to a determination that the base backup image has expired,

generate a second backup image file, wherein

the second backup image file comprises one or more data items in the base backup image that are referenced by the first streamlined backup image,

delete the base backup image, and

store the second backup image file in a second snapshot virtual disk.

12. The apparatus of claim 11 , wherein

a representation of the base backup image is stored in the first snapshot virtual disk, as a result of generating the first snapshot virtual disk,

the first streamlined backup image comprises a plurality of metadata references, and

each of the plurality of metadata references refers to a respective portion of the representation of the base backup image.

13. The apparatus of claim 12 , wherein

each portion of the representation of the base backup image comprises at least one of

a metadata reference to another portion within the representation of the base backup image, and

a snapshot pointer that refers to the virtual disk.

14. The apparatus of claim 11 , wherein

the base backup image comprises

a child backup image, and

a representation of a parent backup image,

the child backup image comprises a second plurality of metadata references, and

each of the second plurality of metadata references refers to a respective portion of the representation of the parent backup image.

15. The apparatus of claim 14 , wherein

the parent backup image is stored on a different unit distinct from the virtual disk, and

each portion of the representation of the parent backup image comprises at least one of

a metadata reference to another portion within the representation of the parent backup image, and

a virtual disk snapshot pointer that refers to a corresponding portion of the parent backup image in the different unit.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
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 Oct 30, 2012
From: GUO, FANGLU; WU, WEIBAO; SEARLS, KIRK L.
To: SYMANTEC CORPORATION
Reel/Frame 029209/0085 →