DIFFERENTIAL FILE AND SYSTEM RESTORES FROM PEERS AND THE CLOUD
First Claim
1. A system for restoring information from a backup system, comprising:
- a processor that executes machine-executable components stored on a computer-readable medium, the components comprising;
a differential component that identifies a current version of information to be restored, a desired version of the information to be restored, and respective sets of blocks corresponding thereto and identifies one or more blocks that are different between the current version and the desired version;
a block location component that determines network locations from which respective blocks found to be different between the current version and the desired version are to be retrieved; and
a restore component that retrieves the respective blocks found to be different between the current version and the desired version from the determined network locations and restores the desired version using the retrieved blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
Provided herein are systems and methodologies for highly efficient restoration in a network-based backup system. As described herein, differential-based analysis can be utilized such that a new complete differential is calculated based on signatures and/or other information relating to a given item to be restored prior to retrieving backup data. Based on the differential, only blocks determined to be unique between the current version of the item and the desired version are transmitted, which can then be merged with non-unique locally present blocks to obtain the fully restored version of the item. Further, a hybrid architecture can be employed, wherein signatures and/or data are stored at a global location within a network as well as one or more local peers. Accordingly, a backup client can obtain information necessary for restoration from either the global location or a nearby peer, thus further reducing latency and bandwidth consumption.
587 Citations
20 Claims
-
1. A system for restoring information from a backup system, comprising:
a processor that executes machine-executable components stored on a computer-readable medium, the components comprising; a differential component that identifies a current version of information to be restored, a desired version of the information to be restored, and respective sets of blocks corresponding thereto and identifies one or more blocks that are different between the current version and the desired version; a block location component that determines network locations from which respective blocks found to be different between the current version and the desired version are to be retrieved; and a restore component that retrieves the respective blocks found to be different between the current version and the desired version from the determined network locations and restores the desired version using the retrieved blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A method of performing a differential restore of one or more files, comprising:
-
identifying a locally available version of one or more files stored on at least one memory and a desired version to which the one or more files are to be restored; identifying respective segments of the desired version of the one or more files that differ from the locally available version thereof at least in part by conducting a differential between the locally available version and the desired version; obtaining the identified segments of the desired version of the one or more files from one or more data stores; and restoring the desired version of the one or more files based at least in part on the obtained segments thereof. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A machine-readable medium having stored thereon instructions which, when executed by a machine, cause the machine to act as a system for restoring information from a hybrid peer-to-peer/cloud-based backup system, the system comprising:
-
means for conducting a signature-based differential between respective blocks of a current, locally available version of one or more files and respective blocks of a desired version to which the one or more files are to be restored; means for utilizing metadata pointing to respective locations of respective blocks on one or more peers and a cloud storage location to locate at least one unique block that did not match the signature-based differential between the current version and the desired version of the one or more files; means for obtaining the at least one unique block from at least one of the one or more peers or the cloud storage location, wherein a higher emphasis is applied to obtaining the at least one unique block from the one or more peers than obtaining the at least one unique block from the cloud storage location; and means for merging the at least one unique block with one or more non-unique blocks present in the current version of the one or more files to create the desired version of the one or more files.
-
Specification