IP Library Granted Patent US 10,776,213
Granted Patent B2
US 10,776,213 · App. 15/693,013 · Granted Sep 15, 2020

Restoring a database using a fully hydrated backup

Inventors: Abhijit Chakankar (San Jose, CA); Warren Shen (Sunnyvale, CA); Manoj Singhal (Sunnyvale, CA)
Assignee: Cohesity, Inc.
G06F11/1451G06F3/0619G06F3/0665G06F3/0689G06F11/1464G06F11/1471G06F16/128G06F16/27G06F2201/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,776,213
App. No.
15/693,013
Granted
Sep 15, 2020
Kind
B2
Abstract

A backup of a database is determined to be performed. A backup of at least a portion of contents of a storage volume that includes data of the database is performed. The backup includes a step of creating a new metadata tree root node. Creating the new metadata tree root node includes copying from another metadata tree root node of a tree data structure corresponding to a previous backup instance, one or more references to one or more lower tier metadata tree nodes associated with the tree data structure corresponding to the previous backup instance.

Claims (38)

1. A method, comprising:

determining to perform a backup of a database;

performing a backup of at least a portion of contents of a storage volume that includes data of the database, including by creating a new metadata tree root node, wherein creating the new metadata tree root node includes copying from another metadata tree root node of a tree data structure corresponding to a previous backup instance, one or more references to one or more lower tier metadata tree nodes associated with the tree data structure corresponding to the previous backup instance;

receiving one or more transaction log file segments, wherein the one or more transaction log file segments are comprised of a plurality of transactions associated with the database;

identifying the backup as being past a retention time period;

determining whether to delete the backup based on whether the backup is needed to restore the database to a point in time corresponding to one of the plurality of transactions associated with the database, wherein the one of the plurality of transactions associated with the database occurs within the retention time period; and

modifying a file system metadata snapshot tree associated with a requested particular version based on the one or more transaction log file segments associated with the database, wherein the requested particular version is associated with a particular point in time.

2. The method of claim 1 , further comprising traversing the tree data structure from the new metadata tree root node to provide a complete view of file system metadata for a version of the storage volume.

3. The method of claim 1 , wherein the backup of the database is determined to be performed in response to receiving the storage volume that includes the data of the database.

4. The method of claim 1 , wherein the database is prepared to be backed up prior to performing the backup.

5. The method of claim 1 , wherein the database is prepared to be backed up at least in part by quiescing a database application associated with the database.

6. The method of claim 1 , wherein the at least a portion of contents of the storage volume includes metadata associated with the database.

7. The method of claim 1 , wherein performing the backup of at least the portion of contents of the storage volume that includes data of the database includes tracking one or more changes by adding one or more new leaf nodes and one or more new intermediate nodes, wherein the one or more new leaf nodes and the one or more new intermediate nodes are linked to the new metadata tree root node.

8. The method of claim 1 , further comprising:

determining the file system metadata snapshot tree associated with the requested particular version; and

creating a copy of a root node of the file system metadata snapshot tree associated with the requested particular version.

9. The method of claim 8 , further comprising copying data associated with the root node copy to a specified location.

10. The method of claim 9 , further comprising deleting the root node copy.

11. The method of claim 8 , further comprising providing access to data associated with the root node copy.

12. The method of claim 1 , further comprising providing data associated with the modified file system metadata snapshot tree and the portion of the contents of the storage volume associated with the particular point in time.

13. The method of claim 1 , wherein the contents of the storage volume is associated with a full backup or an incremental backup of a source of the storage volume contents.

14. The method of claim 1 , further comprising, deleting the backup based on whether the backup is required to restore the database to the particular point in time.

15. A system, comprising:

a processor configured to:

determine to perform a backup of a database;

perform a backup of at least a portion of contents of a storage volume that includes data of the database, wherein to perform the backup of at least a portion of contents of the storage volume that includes data of the database includes to create a new metadata tree root node, wherein to create the new metadata tree root node includes copying from another metadata tree root node of a tree data structure corresponding to a previous backup instance, one or more references to one or more lower tier metadata tree nodes associated with the tree data structure corresponding to the previous backup instance;

receive one or more transaction log file segments, wherein the one or more transaction log file segments are comprised of a plurality of transactions associated with the database;

identify the backup as being past a retention time period;

determine whether to delete the backup based on whether the backup is needed to restore the database to a point in time corresponding to one of the plurality of transactions associated with the database, wherein the one of the plurality of transactions associated with the database occurs within the retention time period;

modify a file system metadata snapshot tree associated with a requested particular version based on the one or more transaction log file segments associated with the database, wherein the requested particular version is associated with a particular point in time; and

a memory coupled to the processor and configured to provide the processor with instructions.

16. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

determining to perform a backup of a database;

performing a backup of at least a portion of contents of a storage volume that includes data of the database, including by creating a new metadata tree root node, wherein creating the new metadata tree root node includes copying from another metadata tree root node of a tree data structure corresponding to a previous backup instance, one or more references to one or more lower tier metadata tree nodes associated with the tree data structure corresponding to the previous backup instance;

receiving one or more transaction log file segments, wherein the one or more transaction log file segments are comprised of a plurality of transactions associated with the database;

identifying the backup as being past a retention time period;

determining whether to delete the backup based on whether the backup is needed to restore the database to a point in time corresponding to one of the plurality of transactions associated with the database, wherein the one of the plurality of transactions associated with the database occurs within the retention time period; and

modifying a file system metadata snapshot tree associated with a requested particular version based on the one or more transaction log file segments associated with the database, wherein the requested particular version is associated with a particular point in time.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: CHAKANKAR, ABHIJIT; SHEN, WARREN; SINGHAL, MANOJ
To: COHESITY, INC.
Reel/Frame 044429/0724 →
Continuity (1)
Related Publication 20190065322A1 · Feb 28, 2019
Cited By (1)
US 12,306,733