US2021224166A1PendingUtilityA1

Database snapshot and backup management with recoverable chains

Assignee: RUBRIK INCPriority: Nov 21, 2017Filed: Jan 6, 2021Published: Jul 22, 2021
Est. expiryNov 21, 2037(~11.3 yrs left)· nominal 20-yr term from priority
G06F 11/1469G06F 2201/80G06F 2201/82G06F 11/1451G06F 2201/805G06F 2201/84G06F 11/1471G06F 2201/815
65
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for recovering databases and other applications with reduced downtime using recoverable chains are described. When protecting or backing up a database, an integrated data management and storage system may capture snapshots of the database at a snapshot frequency (e.g., at 15 minute intervals) and acquire database transaction logs that include data changes of the database at a frequency that is greater than the snapshot frequency. The integrated data management and storage system may generate a particular point in time version of the database by identifying a recoverable chain that comprises a combination of one or more database snapshots including the snapshot closest to the recovery point and one or more database transaction logs.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A data management system, comprising:
 a memory or data storage device; and   one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising:   receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap;   identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval;   identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval;   determining whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and   generating the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.   
     
     
         22 . The data management system of  claim 21 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
 determining a first storage size for the first recoverable chain; and   determining a second storage size for the second recoverable chain.   
     
     
         23 . The data management system of  claim 21 , wherein the operations further comprise:
 taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and   periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.   
     
     
         24 . The data management system of  claim 21 , wherein the operations further comprise:
 receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.   
     
     
         25 . A data management system, comprising:
 a memory or data storage device; and   one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising:   receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals;   identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval;   identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval;   determining a first estimated time to generate the first recoverable chain;   determining a second estimated time to generate the second recoverable chain; and   recovering the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on a comparison of the first estimated time and the second estimated time.   
     
     
         26 . The data management system of  claim 25 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
 determining a first storage size for the first recoverable chain; and   determining a second storage size for the second recoverable chain.   
     
     
         27 . The data management system of  claim 25 , wherein the operations further comprise:
 taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and   periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.   
     
     
         28 . The data management system of  claim 25 , wherein the operations further comprise:
 receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.   
     
     
         29 . A data management system, comprising:
 a memory or data storage device; and   one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising:   receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals;   identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval;   identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval;   determining a first number of files for the first recoverable chain; and   determining a second number of files for the second recoverable chain; and   recovering the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on a comparison of the first number of files and the second number of files.   
     
     
         30 . The data management system of  claim 29 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
 determining a first storage size for the first recoverable chain; and   determining a second storage size for the second recoverable chain.   
     
     
         31 . The data management system of  claim 29 , wherein the operations further comprise:
 taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and   periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.   
     
     
         32 . The data management system of  claim 29 , wherein the operations further comprise:
 receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.   
     
     
         33 . A method for operating a data management system, comprising;
 receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap;   identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval;   identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval;   determining whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and   generating the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.   
     
     
         34 . The method of claim  3 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
 determining a first storage size for the first recoverable chain; and   determining a second storage size for the second recoverable chain.   
     
     
         35 . The method of  claim 33 , further comprising taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and
 periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.   
     
     
         36 . The method of  claim 33 , further comprising:
 receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.   
     
     
         37 . A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to;
 receive an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap;   identify a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval;   identify a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval;   determine whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and   generate the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.   
     
     
         38 . The non-transitory computer-readable storage medium of claim  3 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
 determine a first storage size for the first recoverable chain; and   determine a second storage size for the second recoverable chain.   
     
     
         39 . The non-transitory computer-readable storage medium of  claim 37 , wherein the instructions further configure the computer to take a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and
 periodically take incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.   
     
     
         40 . The non-transitory computer-readable storage medium of  claim 37 , further comprising:
 receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.

Join the waitlist — get patent alerts

Track US2021224166A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.