Opportunistic execution of secondary copy operations
US-2017206144-A1 · Jul 20, 2017 · US
US12411866B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12411866-B2 |
| Application number | US-202318151401-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 6, 2023 |
| Priority date | Jan 31, 2019 |
| Publication date | Sep 9, 2025 |
| Grant date | Sep 9, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.