IP Library Granted Patent US 11,474,731
Granted Patent B1
US 11,474,731 · App. 16/993,717 · Granted Oct 18, 2022

Methods and systems for eventually-complete backups

Inventors: Vaijayanti Rakshit Bharadwaj (Maharashtra, IN); Chirag Dalal (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F3/065G06F3/0619G06F3/0673
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 11,474,731
App. No.
16/993,717
Granted
Oct 18, 2022
Kind
B1
Abstract

Disclosed are techniques that provide for eventually-complete backups, and restoration thereof. For example, such methods, computer program products, and computer systems can include initiating a backup operation (where the backup operation is configured back up a dataset), detecting termination of the backup operation, detecting termination of the backup operation, and determining whether the backup operation backed up the dataset completely. In response to a determination that the backup operation did not backup the dataset completely, generating an indication that the backup is not complete. In response to a determination that the backup operation did not backup the dataset completely, generating an indication that the backup is complete.

Claims (118)

1. A method comprising:

initiating a backup operation, wherein

the backup operation is one of a plurality of backup operations of a backup,

the backup comprises a plurality of partial backups,

the plurality of backup operations are configured to back up a dataset,

the dataset comprises a plurality of data chunks, and

the backup operation produces a partial backup of the plurality of partial backups;

selecting a selected data chunk of the plurality of data chunks;

determining whether the selected data chunk was backed up in a previous partial backup of the plurality of partial backups;

in response to a determination that the selected data chunk was not backed up in a previous partial backup of the plurality of partial backups,

storing a backup image of data of the selected data chunk in the partial backup;

in response to a determination that the selected data chunk was backed up in a previous partial backup of the plurality of partial backups,

determining whether data of the selected data chunk has been modified since the previous partial backup was created, and

in response to a determination that the data of the selected data chunk was modified since the previous partial backup was created,

storing the backup image of the data of the selected data chunk in the partial backup;

detecting termination of the backup operation;

determining whether the backup operation backed up the dataset completely;

in response to a determination that the backup operation did not result in the dataset being backed up completely,

generating an indication that the backup is not complete; and

in response to a determination that the backup operation did result in the dataset being backed up completely,

generating an indication that the backup is complete.

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

in response to the indication that the backup is not complete, storing progress information, wherein

the progress information indicates data of the dataset that has been backed up.

3. The method of claim 1 , wherein

the determining whether the selected data chunk was backed up in the previous partial backup of the plurality of partial backups comprises

determining whether the previous partial backup comprises

the backup image of the data of the selected data chunk, or

a reference to a backup image of the data of the selected data chunk in another previous partial backup of the plurality of partial backups.

4. The method of claim 3 , wherein

upon the dataset being backed up completely, the backup comprises the plurality of partial backups.

5. The method of claim 3 , wherein

the partial backup comprises a backup image of at least one data chunk of the plurality of data chunks.

6. The method of claim 5 , wherein

the partial backup further comprises one or more references to backup images of at least one other data chunk in the another previous partial backup.

7. The method of claim 6 , wherein

the selected data chunk is one of a new data chunk or an existing data chunk.

8. The method of claim 1 , wherein

the termination is a result of an end of a backup window.

9. The method of claim 1 , further comprising:

retrieving progress information; and

causing the backup operation to be initiated at a point in the dataset indicated by the progress information.

10. A non-transitory computer-readable storage medium, comprising program instructions, which, when executed by one or more processors of a computing system, perform a method comprising:

initiating a backup operation, wherein

the backup operation is one of a plurality of backup operations of a backup,

the backup comprises a plurality of partial backups,

the plurality of backup operations are configured to back up a dataset,

the dataset comprises a plurality of data chunks, and

the backup operation produces a partial backup of the plurality of partial backups;

selecting a selected data chunk of the plurality of data chunks;

determining whether the selected data chunk was backed up in a previous partial backup of the plurality of partial backups;

in response to a determination that the selected data chunk was not backed up in a previous partial backup of the plurality of partial backups,

storing a backup image of data of the selected data chunk in the partial backup;

in response to a determination that the selected data chunk was backed up in a previous partial backup of the plurality of partial backups,

determining whether data of the selected data chunk has been modified since the previous partial backup was created, and

in response to a determination that the data of the selected data chunk was modified since the previous partial backup was created,

storing the backup image of the data of the selected data chunk in the partial backup;

detecting termination of the backup operation;

determining whether the backup operation backed up the dataset completely;

in response to a determination that the backup operation did not result in the dataset being backed up completely,

generating an indication that the backup is not complete; and

in response to a determination that the backup operation did result in the dataset being backed up completely,

generating an indication that the backup is complete.

11. The non-transitory computer-readable storage medium of claim 10 , wherein and the method further comprises:

in response to the indication that the backup is not complete, storing progress information, wherein

the progress information indicates data of the dataset that has been backed up.

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

the determining whether the selected data chunk was backed up in the previous partial backup of the plurality of partial backups comprises

determining whether the previous partial backup comprises

the backup image of the data of the selected data chunk, or

a reference to a backup image of the data of the selected data chunk in another previous partial backup of the plurality of partial backups,

upon the dataset being backed up completely, the backup comprises the plurality of partial backups.

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

the partial backup comprises a backup image of at least one data chunk of the plurality of data chunks.

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

the partial backup further comprises one or more references to backup images of at least one other data chunk in the another previous partial backup.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the termination is a result of an end of a backup window.

16. The non-transitory computer-readable storage medium of claim 12 , the method further comprising:

retrieving progress information; and

causing the backup operation to be initiated at a point in the dataset indicated by the progress information.

17. A computing system comprising:

one or more processors; and

a computer-readable storage medium coupled to the one or more processors, comprising program instructions, which, when executed by the one or more processors, perform a method comprising

initiating a backup operation, wherein

the backup operation is one of a plurality of backup operations of a backup,

the backup comprises a plurality of partial backups,

the plurality of backup operations are configured to back up a dataset,

the dataset comprises a plurality of data chunks, and

the backup operation produces a partial backup of the plurality of partial backups,

selecting a selected data chunk of the plurality of data chunks,

determining whether the selected data chunk was backed up in a previous partial backup of the plurality of partial backups,

in response to a determination that the selected data chunk was not backed up in a previous partial backup of the plurality of partial backups,

storing a backup image of data of the selected data chunk in the partial backup,

in response to a determination that the selected data chunk was backed up in a previous partial backup of the plurality of partial backups,

determining whether data of the selected data chunk has been modified since the previous partial backup was created, and

in response to a determination that the data of the selected data chunk was modified since the previous partial backup was created,

storing the backup image of the data of the selected data chunk in the partial backup,

detecting termination of the backup operation,

determining whether the backup operation backed up the dataset completely,

in response to a determination that the backup operation did not result in the dataset being backed up completely,

generating an indication that the backup is not complete, and

in response to a determination that the backup operation did result in the dataset being backed up completely,

generating an indication that the backup is complete.

18. The computing system of claim 17 , wherein the method further comprises:

in response to the indication that the backup is not complete, storing progress information, wherein

the progress information indicates data of the dataset that has been backed up.

19. The computing system of claim 17 , wherein

the determining whether the selected data chunk was backed up in the previous partial backup of the plurality of partial backups comprises

determining whether the previous partial backup comprises

the backup image of the data of the selected data chunk, or

a reference to a backup image of the data of the selected data chunk in another previous partial backup of the plurality of partial backups, and

the partial backup comprises

a backup image of at least one data chunk of the plurality of data chunks, and

one or more references to backup images of at least one other data chunk in the another previous partial backup, and

the selected data chunk is one of a new data chunk or an existing data chunk.

20. The computing system of claim 17 , wherein the method further comprises:

retrieving progress information; and

causing the backup operation to be initiated at a point in the dataset indicated by the progress information.

Assignments (8)
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 069576/0987 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0993 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jan 13, 2021
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054980/0377 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Dec 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054805/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2020
From: BHARADWAJ, VAIJAYANTI RAKSHIT; DALAL, CHIRAG
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 053499/0057 →
Cited By (1)
US 12,380,065