IP Library Granted Patent US 10,599,524
Granted Patent B2
US 10,599,524 · App. 15/581,320 · Granted Mar 24, 2020

Backup performance after backup failure

Inventors: Shuangmin Zhang (Beijing, CN); Yongguo Yan (Beijing, CN); Xianbo Zhang (Plymouth, MN); Kai Li (Beijing, CN); Weibao Wu (Vadnais Heights, MN); Shengzhao Li (Shanghai, CN)
Assignee: Veritas Technologies LLC
G06F11/1451G06F11/1435G06F11/1448G06F11/1464G06F11/1469G06F16/128G06F2201/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,599,524
App. No.
15/581,320
Granted
Mar 24, 2020
Kind
B2
Abstract

Disclosed herein are methods, systems, and processes to improve backup performance after backup failure. It is determined whether a backup operation is successful. In response to a determination that the backup operation was unsuccessful, backup metadata associated with the backup operation is replaced with snapshot metadata associated with a snapshot that is taken at a first point in time that is prior to initiation of the backup operation. A rolled-back snapshot that permits another backup operation to be performed at a second point in time based on the snapshot metadata is then generated.

Claims (128)

1. A computer-implemented method, implemented in a computer system, comprising:

generating a snapshot of a prior backup, wherein

the snapshot is generated at a first point in time, and

snapshot metadata is associated with the snapshot;

determining whether a backup operation is successful, wherein

the first point in time is prior to initiation of the backup operation, and

the determining comprises

determining whether a tag file exists, and

in response to a determination that the tag file exists, determining whether the tag file indicates that a file was updated without being persisted to a storage device of the computer system, wherein

the file was to be backed up by the backup operation; and

in response to a determination that the backup operation was unsuccessful,

replacing backup metadata with the snapshot metadata, wherein

the backup metadata is associated with the backup operation,

the replacing the backup metadata with the snapshot metadata facilitates performance of a subsequent backup operation that is based on the snapshot metadata,

the subsequent backup operation is to be performed at a second point in time, and

the second point in time is subsequent to the initiation of the backup operation.

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

detecting that the backup operation is unsuccessful by

determining that the tag file exists in a backup share,

if the tag file exists in the backup share, retrieving an identifier of the snapshot by accessing the snapshot metadata, and

adding a reference to the snapshot metadata indicating generation of the snapshot.

3. The computer-implemented method of claim 1 , wherein the generating the snapshot comprises:

performing a cross-check operation between the snapshot and an application that requests the subsequent backup operation.

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

the application comprises application metadata, and

the application metadata is associated with the backup operation.

5. The computer-implemented method of claim 4 , wherein the cross-check operation comprises:

removing one or more system change numbers from the application metadata; and

designating the snapshot as a backup destination for the subsequent backup operation.

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

ignoring a synchronous write request generated as part of a previous backup operation.

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

receiving a confirmation that the previous backup operation has completed; and

upon receiving the confirmation that the previous backup operation has completed, generating a snapshot request to generate the snapshot.

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

writing a file that is part of the synchronous write request into one or more data container files to preserve data locality.

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

exporting the snapshot to the application, wherein

the synchronous write request is generated by the application, and

the cross-check operation is performed by the application; and

performing the subsequent backup operation based on the snapshot, wherein

the subsequent backup operation is an incremental backup operation.

10. The computer-implemented method of claim 8 , further comprising:

determining whether the file has been closed; and

in response to a determination that the file has been closed, persisting the file to a computer-readable storage medium.

11. A non-transitory computer readable storage medium comprising program instructions executable to:

generate a snapshot of a prior backup, wherein

the snapshot is generated at a first point in time, and

snapshot metadata is associated with the snapshot;

determine whether a backup operation is successful, wherein

the first point in time is prior to initiation of the backup operation, and

the program instructions executable to determine comprise further instructions executable to

determine whether a tag file exists, and

in response to a determination that the tag file exists, determine whether the tag file indicates that a file was updated without being persisted to a storage device, wherein

the file was to be backed up by the backup operation; and

in response to a determination that the backup operation was unsuccessful,

replace backup metadata with the snapshot metadata, wherein

the backup metadata is associated with the backup operation,

the instructions executable to replace the backup metadata with the snapshot metadata facilitate performance of a subsequent backup operation that is based on the snapshot metadata,

the subsequent backup operation is to be performed at a second point in time, and

the second point in time is subsequent to the initiation of the backup operation.

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

detect that the backup operation is unsuccessful by determining that the tag file exists in a backup share,

if the tag file exists in the backup share, retrieving an identifier of the snapshot by accessing the snapshot metadata, and

adding a reference to the snapshot metadata indicating generation of the snapshot.

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

generation of the snapshot comprises performing a cross-check operation between the snapshot and an application that requests the subsequent backup operation,

the application comprises application metadata,

the application metadata is associated with the backup operation, and

the instructions executable to perform the cross-check operation comprise instructions executable to

remove one or more system change numbers from the application metadata, and

designate the snapshot as a backup destination for the subsequent backup operation.

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

ignore a synchronous write request generated as part of a previous backup operation;

receive a confirmation that the previous backup operation has completed;

upon receipt of the confirmation that the previous backup operation has completed, generating generate a snapshot request to generate the snapshot;

write a file that is part of the synchronous write request into one or more data container files to preserve data locality;

determine whether the file has been closed; and

in response to a determination that the file has been closed, persist the file to a computer-readable storage medium.

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

export the snapshot to the application, wherein

the synchronous write request is generated by the application, and

the cross-check operation is performed by the application; and

perform the subsequent backup operation based on the snapshot, wherein

the subsequent backup operation is an incremental backup operation.

16. A system comprising:

a storage system;

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

generate a snapshot of a prior backup, wherein

the snapshot is generated at a first point in time, and

snapshot metadata is associated with the snapshot,

determine whether a backup operation is successful, wherein

the first point in time is prior to initiation of the backup operation, and

the program instructions executable by the one or more processors to determine comprise further instructions executable by the one or more processors to

determine whether a tag file exists, and

in response to a determination that the tag file exists, determine whether the tag file indicates that a file was updated without being persisted to the storage system, wherein

 the file was to be backed up by the backup operation,

in response to a determination that the backup operation was unsuccessful, replace backup metadata with the snapshot metadata, wherein

the backup metadata is associated with the backup operation,

the program instructions executable by the one or more processors to replace the backup metadata with the snapshot metadata facilitates performance of a subsequent backup operation that is based on the snapshot metadata,

the subsequent backup operation is to be performed at a second point in time, and

the second point in time is subsequent to the initiation of the backup operation.

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

detect that the backup operation is unsuccessful by

determining that the tag file exists in a backup share,

if the tag file exists in the backup share, retrieving an identifier of the snapshot by accessing the snapshot metadata, and

adding a reference to the snapshot metadata indicating generation of the snapshot.

18. The system of claim 17 , wherein

generation of the snapshot comprises performing a cross-check operation between the snapshot and an application that requests the subsequent backup operation,

the application comprises application metadata,

the application metadata is associated with the backup operation, and

the instructions executable to perform the cross-check operation comprise instructions executable to

remove one or more system change numbers from the application metadata, and

designate the snapshot as a backup destination for the subsequent backup operation.

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

ignore a synchronous write request generated as part of a previous backup operation;

receive a confirmation that the previous backup operation has completed;

upon receipt of the confirmation that the previous backup operation has completed, generating generate a snapshot request to generate the snapshot;

write a file that is part of the synchronous write request into one or more data container files to preserve data locality;

determine whether the file has been closed; and

in response to a determination that the file has been closed, persist the file to a computer-readable storage medium.

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

export the snapshot to the application, wherein

the synchronous write request is generated by the application, and

the cross-check operation is performed by the application; and

perform the subsequent backup operation based on the snapshot, wherein

the subsequent backup operation is an incremental backup operation.

Assignments (10)
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 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0931 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2018
From: ZHANG, SHUANGMIN; YAN, YONGGUO; ZHANG, XIANBO; LI, KAI; WU, WEIBAO; LI, SHENGZHAO
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 045645/0196 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 10, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043141/0403 →
Continuity (1)
Related Publication 20180314597A1 · Nov 1, 2018
Cited By (1)
US 12,650,951