IP Library Granted Patent US 9,122,635
Granted Patent B1
US 9,122,635 · App. 14/254,104 · Granted Sep 1, 2015

Efficient data backup with change tracking

Inventors: Shuangmin Zhang (Beijing, CN); Xianbo Zhang (Plymouth, MN); Weibao Wu (Vadnais Heights, MN); Jim R. Lamb (Maplewood, MN); Yun Yang (Beijing, CN); Satyajit Ashok GorheParlikar (Shoreview, MN)
Assignee: Symantec Corporation
G06F11/1412G06F17/00
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 9,122,635
App. No.
14/254,104
Granted
Sep 1, 2015
Kind
B1
Abstract

The present disclosure provides for efficiently creating a full backup image of a client device by efficiently communicating backup data to a backup server using a change tracking log, or track log. A present full backup image can be created using a track log that is associated with a previous full backup image. The client device can determine whether files, which were included in the previous full backup image, have or have not changed using the track log. The client device can transmit changed file data to the backup server for inclusion in the present full backup image. The client device can also transmit metadata identifying unchanged file data to the backup server. The backup server can use the metadata to extract a copy of the unchanged file data from the previous full backup image for inclusion in the present full backup image.

Claims (98)

1. A method comprising:

determining whether file data of a file has changed since a creation time of a previous backup image, wherein the determining further comprises

analyzing a previous track log associated with the previous backup image, wherein

the previous track log comprises a plurality of file entries associated with a plurality of files included in the previous backup image,

each of the file entries comprises recorded file attributes of the file, and

the analyzing uses one or more present file attributes of the file and one or more of the recorded file attributes;

in response to a determination that the file data has not changed, generating a metadata header associated with the file data, wherein

the metadata header comprises metadata, and

the metadata identifies the file data in the previous backup image; and

transmitting the metadata header to a backup server.

2. The method of claim 1 , further comprising:

in response to a determination that the file data has changed, generating a data header associated with the file data; and

transmitting the data header and the file data to the backup server.

3. The method of claim 2 , wherein

the backup server is configured to

write the file data to a present backup image, in response to receipt of the data header, and

write a copy of the file data to the present backup image, in response to receipt of the metadata header, and

the copy of the file data is extracted from the previous backup image, using the metadata of the metadata header.

4. The method of claim 1 , wherein the analyzing further comprises:

the recorded file attributes were recorded in the previous track log substantially contemporaneously to the creation time of the previous backup image.

5. The method of claim 1 , further comprising:

generating a new track log associated with a present backup image, wherein

a new file entry is added to the present backup image for each file that is included in the present backup image, and

each new file entry comprises file attributes of each respective file that is recorded in the new track log as the present backup image is created.

6. The method of claim 1 , wherein

the metadata comprises

a backup image identifier that identifies the previous backup image, and

a location of the file data in the previous backup image.

7. The method of claim 1 , wherein

the metadata comprises a fingerprint associated with the file data, and

the fingerprint is used to verify integrity of a copy of the file data stored at the backup server.

8. 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:

determining whether file data of a file has changed since a creation time of a previous backup image, wherein the determining further comprises

analyzing a previous track log associated with the previous backup image, wherein

the previous track log comprises a plurality of file entries associated with a plurality of files included in the previous backup image,

each of the file entries comprises recorded file attributes of the file, and

the analyzing uses one or more present file attributes of the file and one or more of the recorded file attributes;

in response to a determination that the file data has not changed, generating a metadata header associated with the file data, wherein

the metadata header comprises metadata, and

the metadata identifies the file data in the previous backup image; and

transmitting the metadata header to a backup server.

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

in response to a determination that the file data has changed, generating a data header associated with the file data; and

transmitting the data header and the file data to the backup server.

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

the backup server is configured to

write the file data to a present backup image, in response to receipt of the data header, and

write a copy of the file data to the present backup image, in response to receipt of the metadata header, and

the copy of the file data is extracted from the previous backup image, using the metadata of the metadata header.

11. The non-transitory computer readable storage medium of claim 8 , wherein the analyzing further comprises:

the recorded file attributes comprise file attributes recorded in the previous track log substantially contemporaneously to the creation time of the previous backup image.

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

generating a new track log associated with a present backup image, wherein

a new file entry is added to the present backup image for each file that is included in the present backup image, and

each new file entry comprises file attributes of each respective file that is recorded in the new track log as the present backup image is created.

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

the metadata comprises

a backup image identifier that identifies the previous backup image, and

a location of the file data in the previous backup image.

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

the metadata comprises a fingerprint associated with the file data, and

the fingerprint is used to verify integrity of a copy of the file data stored at the backup server.

15. A computing device comprising:

a processor; and

a memory coupled to the processor and configured to store instructions executable by the processor, the instructions configured to implement:

an analysis module configured to

make a determination as to whether file data of a file has changed since a creation time of a previous backup image, wherein the determination is made by

analyzing a previous track log associated with the previous backup image, wherein

the previous track log comprises a plurality of file entries associated with a plurality of files included in the previous backup image,

each of the file entries comprises recorded file attributes of the file, and

the analyzing uses one or more present file attributes of the file and one or more of the recorded file attributes; and

a transmit module configured to

generate a metadata header associated with the file data, in response to a determination that the file data has not changed, wherein

the metadata header comprises metadata, and

the metadata identifies the file data in the previous backup image, and

transmit the metadata header to a backup server.

16. The computing device of claim 15 , wherein

the transmit module is further configured to

generate a data header associated with the file data, in response to a determination that the file data has changed, and

transmit the data header and the file data to the backup server.

17. The computing device of claim 16 , wherein

the backup server is configured to

write the file data to a present backup image, in response to receipt of the data header, and

write a copy of the file data to the present backup image, in response to receipt of the metadata header, and

the copy of the file data is extracted from the previous backup image, using the metadata of the metadata header.

18. The computing device of claim 15 , wherein

the recorded file attributes comprise file attributes recorded in the previous track log substantially contemporaneously to the creation time of the previous backup image.

19. The computing device of claim 15 , further comprising:

an efficient backup client module configured to

generate a new track log associated with a present backup image, wherein

a new file entry is added to the present backup image for each file that is included in the present backup image, and

each new file entry comprises file attributes of each respective file that is recorded in the new track log as the present backup image is created.

20. The computing device of claim 15 , wherein

the metadata comprises

a backup image identifier that identifies the previous backup image, and

a location of the file data in the previous backup image, and

a fingerprint associated with the file data, and

the fingerprint is used to verify integrity of a copy of the file data stored at the backup server.

Assignments (12)
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 →
Continuity (1)
Continuation 13557558 · Jul 25, 2012