IP Library Granted Patent US 10,877,855
Granted Patent B2
US 10,877,855 · App. 14/577,429 · Granted Dec 29, 2020

Techniques for data backup and restoration

Inventors: Dongxu Sun (Beijing, CN); Cheng Hai Zhu (Beijing, CN); Cheng Shan (Beijing, CN); Haibin She (Beijing, CN); Xianbo Zhang (Plymouth, MN)
Assignee: Veritas Technologies LLC
G06F11/1471G06F11/1448G06F11/1469G06F2201/80
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,877,855
App. No.
14/577,429
Granted
Dec 29, 2020
Kind
B2
Abstract

Techniques for data backup and restoration are disclosed. In one embodiment, the techniques may be realized as a method including generating a first backup representing a database at a first time; after the first backup, generating a plurality of journal entries, each journal entry representing a change to the database made after the first time; and restoring the database from the first backup and the plurality of journal entries, the restored database including the changes represented by the entries.

Claims (59)

1. A computer-implemented method of backing up a database and performing a database restoration comprising:

generating a first backup representing a database at a first point in time;

after the first backup, generating an operational journal including a plurality of journal entries tracking changes in the database to form a record of file changes at a point in time past the first backup;

generating a second backup, after the first backup, at a second point in time;

updating the plurality of journal entries of the operational journal, after the first point in time, to include at least one journal entry representing a change to the database before the second point in time and at least one other journal entry represents a change to the database after the second point in time; and

restoring the database at a point in time equal to or greater than the second point in time including:

determining whether the second backup is valid;

in response to a determination that the second backup is valid, restoring the database based on the second backup; and

in response to a determination that the second backup is invalid, applying the changes represented by the plurality of journal entries to update the first backup to generate an updated restoration of the first backup reflecting at least one of the changes recorded in the operational journal after the first point in time;

wherein the journal entries are used to perform a secondary form of restoration of the database in the event the second backup is invalid.

2. The method of claim 1 ,

wherein the second backup is not used to restore the database in response to determining the second backup is compromised or flawed.

3. The method of claim 2 , further comprising:

identifying a compromising event at a point in time between the first point in time and the second point in time; and

determining not to use the second backup to restore the database based on the compromising event prior to the second point in time.

4. The method of claim 2 , further comprising:

detecting a flaw in the second backup; and

determining not to use the second backup to restore the database based on the flaw.

5. The method of claim 4 , wherein detecting the flaw comprises comparing the second backup against metadata recorded about the second backup.

6. The method of claim 4 , wherein detecting the flaw comprises identifying a failed attempt to use the second backup to restore the database.

7. At least one non-transitory processor readable storage medium storing a computer program of instructions configured to be readable by at least one processor for instructing the at least one processor to execute a computer process for performing the method as recited in claim 1 .

8. An article of manufacture to back up a database and perform a database restoration comprising:

at least one processor readable storage medium; and instructions stored on the at least one medium;

wherein the instructions are configured to be readable from the at least one medium by at least one processor and thereby cause the at least one processor to operate so as to:

generate a first backup representing a database at a first point in time;

after the first backup, generate an operational journal including a plurality of journal entries, tracking changes in the database to form a record of file changes at a point in time past the first backup;

generate a second backup, after the first backup, at a second point in time;

update the plurality of journal entries of the operational journal, after the first point in time, to include at least one journal entry representing a change to the database before the second point in time and at least one other journal entry represents a change to the database after the second point in time; and

restore the database, at a point in time equal to or greater than the second point in time including:

determining whether the second backup is valid;

in response to a determination that the second backup is valid, restoring the database based on the second backup; and

in response to a determination that the second backup is invalid, applying the changes represented by the plurality of journal entries to update the first backup to generate an updated restoration of the first backup reflecting at least one of the changes recorded in the operational journal after the first point in time;

wherein the journal entries are used to perform a secondary form of restoration of the database in the event the second backup is invalid.

9. The article of claim 8 , wherein the second backup is not used to restore the database in response to determining the second backup is compromised or flawed.

10. The article of claim 9 , the at least one processor further operable to:

identify a compromising event at a point in time between the first point in time and the second point in time; and determine not to use the second backup to restore the database based on the compromising event prior to the second point in time.

11. The article of claim 9 , the at least one processor further operable to:

detect a flaw in the second backup; and

determine not to use the second backup to restore the database based on the flaw.

12. The article of claim 11 , wherein detecting the flaw comprises comparing the second backup against metadata recorded about the second backup.

13. The article of claim 11 , wherein detecting the flaw comprises identifying a failed attempt to use the second backup to restore the database.

14. A system to back up a database and perform a database restoration comprising:

one or more processors communicatively coupled to a network; wherein the one or more processors are configured to:

generate a first backup representing a database at a first time;

after the first backup, generate an operational journal including a plurality of journal entries, tracking changes in the database to form a record of file changes at a point in time past the first backup;

generate a second backup, after the first backup, at a second point in time;

update the plurality of journal entries of the operational journal, after the first point in time, to include at least one journal entry representing a change to the database before the second point in time and at least one other journal entry represents a change to the database after the second point in time; and

restore the database, at a point in time equal to or greater than the second point in time, which includes:

determine whether the second backup is valid;

in response to a determination that the second backup is valid, restoring the database based on the second backup; and

in response to a determination that the second backup is invalid, applying the changes represented by the plurality of journal entries to update the first backup and generate an updated restoration of the database reflecting at least one of the changes recorded in the operational journal after the first point in time;

wherein the journal entries are used to perform a secondary form of restoration of the database in the event the second backup is invalid.

15. The system of claim 14 , wherein the second backup is not used to restore the database in response to determining the second backup is compromised or flawed.

16. The system of claim 15 , the one or more processors configured to:

identify a compromising event at a point in time between the first point in time and the second point in time; and

determine not to use the second backup to restore the database based on the compromising event prior to the second point in time.

17. The system of claim 15 , the one or more processors configured to:

detect a flaw in the second backup; and

determine not to use the second backup to restore the database based on the flaw.

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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 Dec 19, 2014
From: SUN, DONGXU; ZHU, CHENG HAI; SHAN, CHENG; SHE, HAIBIN; ZHANG, XIANBO
To: SYMANTEC CORPORATION
Reel/Frame 034560/0592 →