Partial database restoration

US12399783B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12399783-B2
Application numberUS-202217849939-A
CountryUS
Kind codeB2
Filing dateJun 27, 2022
Priority dateOct 3, 2017
Publication dateAug 26, 2025
Grant dateAug 26, 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.

Described herein is a system that restores a database by processing a portion of the database. The system restores the database to a previous state at a particular time by reverting data entries that have changed since the time to their initial values before the change. Data entries that have changed after the restore time are identified. For the data entries that have changed after the restore time, their initial values before the change are determined from various sources. The system determines a database version that is created most recently before the restore time. The system additionally identifies changes to the database between the restore time and when the database version is created. The initial values can be determined from either the database version or the changes made to the database between the restore time and when the database version is created.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: detecting an error in a database supported by a database restore system; determining a restore time for the database based at least in part on detecting the error, the restore time occurring prior to the error; querying a change log stored at the database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determining that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determining respective previous values of the one or more data entries from a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; and performing a partial restoration of the database by reverting the one or more data entries to the respective previous values of the one or more data entries, wherein performing the partial restoration of the database comprises removing the data entry from the database. 2. The method of claim 1 , further comprising: identifying one or more partial changes made to the database after the restore time, wherein determining the respective previous values of the one or more data entries is based at least in part on identifying the one or more partial changes. 3. The method of claim 1 , further comprising: receiving, via a user interface, a user input that indicates a time at which the error occurred within the database, wherein detecting the error is based at least in part on the user input. 4. The method of claim 1 , further comprising: receiving, via a user interface, a user input that indicates a second data entry affected by the error, wherein determining the respective previous values of the one or more data entries comprises determining a value of the second data entry prior to the error, wherein the previous copy corresponds to a time prior to the error. 5. The method of claim 1 , further comprising: determining that a second data entry was removed from the database after the restore time, wherein restoring the database comprises adding the second data entry to the database. 6. The method of claim 1 , further comprising: retrieving an identifier of a second data entry that was modified after the restore time, wherein querying the change log comprises querying the one or more change records in reverse chronological order using the identifier of the second data entry. 7. The method of claim 1 , wherein the one or more change records indicate previous values for the one or more data entries, updated values for the one or more data entries, identifiers of the one or more data entries, and times at which the one or more data entries were modified. 8. The method of claim 1 , wherein determining the respective previous values of the one or more data entries comprises: retrieving previous values for the one or more data entries from a plurality of data sources comprising the previous copy of the database within the database restore system. 9. The method of claim 1 , wherein determining the respective previous values of the one or more data entries comprises: identifying previous values of the one or more data entries by querying one or more indices corresponding to the previous copy of the database. 10. The method of claim 1 , wherein the restore time for the database is selected by a user of the database restore system. 11. The method of claim 1 , wherein the previous copy of the database comprises a latest version of the database prior to the restore time. 12. The method of claim 11 , further comprising: selecting the latest version of the database from two or more versions of the database stored at the database restore system based at least in part on creation times associated with the two or more versions. 13. The method of claim 1 , wherein performing the partial restoration comprises: refraining from processing a remainder of data entries in the database other than the one or more data entries. 14. An apparatus, comprising: a processor; and memory coupled with the processor, the memory comprising instructions that are executable by the processor to cause the apparatus to: detect an error in a database supported by a database restore system; determine a restore time for the database based at least in part on detection of the error, the restore time occurring prior to the error; query a change log stored at the database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determine that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determine respective previous values of the one or more data entries from a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; and perform a partial restoration of the database by reverting the one or more data entries to the respective previous values of the one or more data entries, wherein performing the partial restoration of the database comprises removing the data entry from the database. 15. The apparatus of claim 14 , wherein the instructions are further executable by the processor to cause the apparatus to: identify one or more partial changes made to the database after the restore time, wherein the respective previous values of the one or more data entries is determined using the one or more partial changes. 16. The apparatus of claim 14 , wherein the instructions are further executable by the processor to cause the apparatus to: receive, via a user interface, a user input that indicates a time at which the error occurred within the database, wherein the detection of the error is based at least in part on the user input. 17. The apparatus of claim 14 , wherein the instructions are further executable by the processor to cause the apparatus to: receive, via a user interface, a user input that indicates a second data entry affected by the error, wherein the instructions to determine the respective previous values of the one or more data entries are executable by the processor to cause the apparatus to determine a value of the second data entry prior to the error, wherein the previous copy corresponds to a time prior to the error. 18. The apparatus of claim 14 , wherein the instructions are further executable by the processor to cause the apparatus to: retrieve an identifier of a second data entry that was modified after the restore time, wherein the instructions to query the change log are executable by the processor to cause the apparatus to query the one or more change records in reverse chronological order using the identifier of the second data entry. 19. A non-transitory computer-readable medium storing code fo

Assignees

Inventors

Classifications

  • Database-specific techniques · CPC title

  • Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title

  • Backup restoration techniques · CPC title

  • Backup scheduling policy · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · 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 US12399783B2 cover?
Described herein is a system that restores a database by processing a portion of the database. The system restores the database to a previous state at a particular time by reverting data entries that have changed since the time to their initial values before the change. Data entries that have changed after the restore time are identified. For the data entries that have changed after the restore…
Who is the assignee on this patent?
Rubrik Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1469. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 26 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).