System and method for managing a plurality of snapshots
US-9043271-B2 · May 26, 2015 · US
US9766988B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9766988-B2 |
| Application number | US-201615093822-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 8, 2016 |
| Priority date | Dec 22, 2009 |
| Publication date | Sep 19, 2017 |
| Grant date | Sep 19, 2017 |
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.
A technique for restoring file systems by applying full and incremental backups together while streaming them from multiple devices provides a faster system restore from a full backup where incremental backups must also be applied. A first storage device streams the full backup while at least one second storage device streams at least one incremental backup. As files are detected in the incremental backup, they are written instead of the corresponding file in the full backup. Incremental backups can be pre-merged to reduce their number to one less than a number of storage devices available to stream the backups, so that the full backup can be streamed along with the pre-merged incremental backup(s) to restore the file system.
Opening claim text (preview).
What is claimed is: 1. A computer-performed method for restoring a file system to a target storage, the method comprising: first reading a first backup stream containing a full backup of the file system from a first one of multiple storage devices and containing a first number of files; while performing the first reading, second reading at least one second backup stream containing a corresponding at least one incremental backup of the file system containing a second number of files from a corresponding at least one second one of the multiple storage devices; prior to completing the first reading of the full backup so that the first number of files has not been completely read and prior to completing the second reading of the at least one second backup so that the second number of files has not been completely read, determining whether a next file read by the first reading from the full backup is a copy of a file already read from the incremental backup by the second reading; responsive to determining that the next file read by the first reading from the full backup is not a copy of a file already read by the second reading and prior to completing the first reading of the full backup and prior to completing the second reading of the at least one second backup, first writing the next file read by the first reading to the target storage; and responsive to determining that the next file read by the first reading from the full backup is a copy of the file already read by the second reading from the incremental backup and prior to completing the first reading of the full backup and prior to completing the second reading of the at least one second backup, second writing the copy of the file already read by the second reading to the target storage. 2. The computer-performed method of claim 1 , wherein the full backup and the at least one incremental backup store files of the file system in a common canonical order and wherein the method further comprises: continuing the first reading the first backup stream; subsequent to writing the copy of the file already read by the second reading to the target storage, continuing the second reading the second backup stream to determine an identifier of a second next file in the corresponding at least one incremental backup; comparing identifiers of files previously read by the first reading with the identifier of the second next file in the corresponding at least one incremental backup; and halting the second reading the second backup stream until a result of the comparing indicates a second copy of the second next file has been read from the first backup stream by the first reading. 3. The computer-performed method of claim 2 , wherein the common canonical order of the files in the full backup and the at least one incremental backup is an order according to inodes of the files. 4. The computer-performed method of claim 2 , wherein the common canonical order of the files in the full backup and the at least one incremental backup is an alphabetical ordering of the files. 5. A computer system comprising a processor for executing program instructions and a memory coupled to the processor for executing the program instructions, wherein the program instructions include program instructions for restoring a file system to a target storage, wherein the program instructions comprise program instructions for: first reading a first backup stream containing a full backup of the file system from a first one of multiple storage devices and containing a first number of files; while performing the first reading, second reading at least one second backup stream containing a corresponding at least one incremental backup of the file system containing a second number of files from a corresponding at least one second one of the multiple storage devices; prior to completing the first reading of the full backup so that the first number of files has not been completely read and prior to completing the second reading of the at least one second backup so that the second number of files has not been completely read, determining whether a next file read by the first reading from the full backup is a copy of a file already read from the incremental backup by the second reading; responsive to determining that the next file read by the first reading from the full backup is not a copy of a file already read by the second reading and prior to completing the first reading of the full backup and prior to completing the second reading of the at least one second backup, first writing the next file read by the first reading to the target storage; and responsive to determining that the next file read by the first reading from the full backup is a copy of the file already read by the second reading from the incremental backup and prior to completing the first reading of the full backup and prior to completing the second reading of the at least one second backup, second writing the copy of the file already read by the second reading to the target storage. 6. The computer system of claim 5 , wherein the full backup and the at least one incremental backup store files of the file system in a common canonical order and wherein the program instructions further comprise program instructions for: continuing the first reading the first backup stream; subsequent to writing the copy of the file already read by the second reading to the target storage, continuing the second reading the second backup stream to determine an identifier of a second next file in the corresponding at least one incremental backup; comparing identifiers of files previously read by the first reading with the identifier of the second next file in the corresponding at least one incremental backup; and halting the second reading the second backup stream until a result of the comparing indicates a second copy of the second next file has been read from the first backup stream by the first reading. 7. The computer system of claim 6 , wherein the common canonical order of the files in the full backup and the at least one incremental backup is an order according to inodes of the files. 8. The computer system of claim 6 , wherein the common canonical order of the files in the full backup and the at least one incremental backup is an alphabetical ordering of the files. 9. A computer program product comprising a computer-readable storage device that is not a signal or carrier wave storing program instructions for execution within a computer system, wherein the program instructions include program instructions for restoring a file system to a target storage, wherein the program instructions comprise program instructions for: first reading a first backup stream containing a full backup of the file system from a first one of multiple storage devices and containing a first number of files; while performing the first reading, second reading at least one second backup stream containing a corresponding at least one incremental backup of the file system containing a second number of files from a corresponding at least one second one of the multiple storage devices; prior to completing the first reading of the full backup so that the first number of files has not been completely read and prior to completing the second reading of the at least one second backup so that the second number of files has not been completely read, determining whether a next file read by the first reading from the full backup is a copy of a file already read from the incremental backup by the second reading; responsive to determining that the next file read by the first reading from the full backup is not a copy of a file already read by the second reading and prior to completing the first reading of the full backup
Virtual · CPC title
Concurrency control (transaction processing G06F9/466) · CPC title
Management of the data involved in backup or backup restore · CPC title
Redundancy elimination performed by the file system (error detection or correction of the data by redundancy in operations G06F11/14) · CPC title
Virtual file systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.