Creating Snapshots Of A Storage Volume In A Distributed Storage System
US-2019073372-A1 · Mar 7, 2019 · US
US12399783B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12399783-B2 |
| Application number | US-202217849939-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 27, 2022 |
| Priority date | Oct 3, 2017 |
| Publication date | Aug 26, 2025 |
| Grant date | Aug 26, 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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.