Database recovery time objective optimization with synthetic snapshots

US12411866B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12411866-B2
Application numberUS-202318151401-A
CountryUS
Kind codeB2
Filing dateJan 6, 2023
Priority dateJan 31, 2019
Publication dateSep 9, 2025
Grant dateSep 9, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems for reducing the amount of time to restore a database or other application by dynamically generating and storing synthetic snapshots are described. When backing up a database, an integrated data management and storage system may acquire snapshots of the database at a snapshot frequency and acquire database transaction logs at a frequency that is greater than the snapshot frequency. In response to detecting that the database is unable to provide a database snapshot, the integrated data management and storage system may generate a synthetic snapshot of the database by instantiating a compatible version of the database locally, acquiring a previously stored snapshot of the database, applying data changes from one or more database transaction logs to the previously stored snapshot to generate the synthetic snapshot, and storing the synthetic snapshot of the database within the integrated data management and storage system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: acquiring, at a storage appliance, a first snapshot of a database from a server executing the database, wherein the first snapshot is of the database as of a first point in time, and wherein the server is separate from the storage appliance; acquiring, at the storage appliance, one or more transaction logs for the database that indicate a set of data changes to the database between the first point in time and a second point in time subsequent to the first point in time, wherein the one or more transaction logs are acquired from the server at a frequency that is higher than a snapshot frequency for the database; issuing a request, from the storage appliance to the server, that the server provide a second snapshot of the database, the requested second snapshot being of the database as of the second point in time; detecting, by the storage appliance that is separate from the server, that the server is unable to provide the requested second snapshot of the database to the storage appliance within a threshold time interval for receipt of the second snapshot by the storage appliance, wherein the threshold time interval begins at a third time at which the storage appliance issues the request to the server to provide the second snapshot, and wherein the threshold time interval ends at a fourth time that is later than the third time; determining, by the storage appliance, that a synthetic snapshot of the database is to be generated based at least in part on detecting that the server is unable to provide the second snapshot of the database to the storage appliance within the threshold time interval; instantiating, by the storage appliance, a database engine to generate the synthetic snapshot for the database; generating, by the storage appliance, the synthetic snapshot of the database using the database engine by applying the set of data changes to the first snapshot of the database; terminating, by the storage appliance, the database engine after generating the synthetic snapshot using the database engine; and storing, within the storage appliance, the synthetic snapshot of the database. 2. The method of claim 1 , further comprising: determining, by the storage appliance, the snapshot frequency for acquiring snapshots of the database from the server, wherein acquiring the first snapshot of the database is in accordance with the snapshot frequency. 3. The method of claim 1 , wherein detecting that the server is unable to provide the second snapshot of the database includes determining a blackout window for the database in which snapshot acquisition from the database is prohibited and detecting that the second point in time is during the blackout window for the database. 4. The method of claim 3 , further comprising: determining the database engine to instantiate based at least in part on a compatibility level for the database and the database engine. 5. The method of claim 1 , further comprising: detecting that the server is unable to provide a third snapshot of the database at a third point in time subsequent to the second point in time; acquiring one or more additional transaction logs for the database that include a second set of data changes to the database between the second point in time and the third point in time; and generating the third snapshot of the database based at least in part on the second set of data changes and the synthetic snapshot of the database. 6. The method of claim 1 , wherein the one or more transaction logs for the database comprise a plurality of database transaction logs. 7. The method of claim 1 , wherein storing the synthetic snapshot of the database comprises storing the synthetic snapshot as an incremental snapshot. 8. The method of claim 1 , wherein the database comprises a relational database. 9. The method of claim 1 , further comprising: detecting that a quantity of updates to the database between the first point in time and the second point in time has exceeded a threshold quantity of updates; and outputting an alert specifying that a database anomaly has been detected. 10. An apparatus for data management, comprising: a processor; memory coupled with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to: acquire, at a storage appliance, a first snapshot of a database from a server executing the database, wherein the first snapshot is of the database as of a first point in time, and wherein the server is separate from the storage appliance; acquire, at the storage appliance, one or more transaction logs for the database that indicate a set of data changes to the database between the first point in time and a second point in time subsequent to the first point in time, wherein the one or more transaction logs are acquired from the server at a frequency that is higher than a snapshot frequency for the database; issue a request, from the storage appliance to the server, that the server provide a second snapshot of the database, the requested second snapshot being of the database as of the second point in time; detect, by the storage appliance that is separate from the server, that the server is unable to provide the requested second snapshot of the database to the storage appliance within a threshold time interval for receipt of the second snapshot by the storage appliance, wherein the threshold time interval begins at a third time at which the storage appliance issues the request to the server to provide the second snapshot, and wherein the threshold time interval ends at a fourth time that is later than the third time; determine, by the storage appliance, that a synthetic snapshot of the database is to be generated based at least in part on detecting that the server is unable to provide the second snapshot of the database to the storage appliance within the threshold time interval; instantiate, by the storage appliance, a database engine to generate the synthetic snapshot for the database; generate, by the storage appliance, the synthetic snapshot of the database using the database engine by applying the set of data changes to the first snapshot of the database; terminate, by the storage appliance, the database engine after generating the synthetic snapshot using the database engine; and store, within the storage appliance, the synthetic snapshot of the database. 11. The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to: determine, by the storage appliance, the snapshot frequency for capturing snapshots of the database from the server, wherein acquiring the first snapshot of the database is in accordance with the snapshot frequency. 12. The apparatus of claim 10 , wherein detecting that the server is unable to provide the second snapshot of the database includes determining a blackout window for the database in which snapshot acquisition from the database is prohibited and detecting that the second point in time is during the blackout window for the database. 13. The apparatus of claim 12 , wherein the instructions are further executable by the processor to cause the apparatus to: determine the database engine to instantiate based at least in part on a compatibility level for the database and the database engine. 14. The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to: detect that the server is unable to provide a third snapshot of the database at a third point in time subsequent to the second point in time; acquire one or more additional t

Assignees

Inventors

Classifications

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • involving logging of persistent data for recovery · CPC title

  • using de-duplication of the data · CPC title

  • Virtual · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12411866B2 cover?
Methods and systems for reducing the amount of time to restore a database or other application by dynamically generating and storing synthetic snapshots are described. When backing up a database, an integrated data management and storage system may acquire snapshots of the database at a snapshot frequency and acquire database transaction logs at a frequency that is greater than the snapshot fre…
Who is the assignee on this patent?
Rubrik Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 09 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).