Synchronization of storage using comparisons of fingerprints of blocks
First Claim
1. A system for processing data, comprising:
- a deduplicating system for storing data segments, wherein the deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system;
an interface for receiving an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system; and
a processor configured to;
create a new snapshot of the current data stored on the data storage system that is to be restored, wherein the new snapshot comprises a first list of fingerprints;
determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system by comparing a the first list of fingerprints associated with the current data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system, wherein determining the subset comprises identifying a set of fingerprints in the first list of fingerprints associated with the state of current data stored on the data storage system that are not in the second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system;
revert the data stored in the data storage system to a state of data at the snapshot time using the identified set of fingerprints not in the snapshot in the deduplicating system by deleting data segments associated with the identified set of fingerprints that are not in the snapshot in the deduplicating system;
transfer data associated with the subset from the deduplicating system to the data storage system; and
revert the data stored in the data storage system to a state of data at the snapshot time using the determined subset of data by inserting the transferred data associated with the subset into appropriate locations in the data storage system.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for processing data comprises a deduplicating system, an interface, and a processor. The deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system. The interface receives an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system. The processor is configured to determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system using a first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system.
123 Citations
17 Claims
-
1. A system for processing data, comprising:
-
a deduplicating system for storing data segments, wherein the deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; an interface for receiving an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system; and a processor configured to; create a new snapshot of the current data stored on the data storage system that is to be restored, wherein the new snapshot comprises a first list of fingerprints; determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system by comparing a the first list of fingerprints associated with the current data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system, wherein determining the subset comprises identifying a set of fingerprints in the first list of fingerprints associated with the state of current data stored on the data storage system that are not in the second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system; revert the data stored in the data storage system to a state of data at the snapshot time using the identified set of fingerprints not in the snapshot in the deduplicating system by deleting data segments associated with the identified set of fingerprints that are not in the snapshot in the deduplicating system; transfer data associated with the subset from the deduplicating system to the data storage system; and revert the data stored in the data storage system to a state of data at the snapshot time using the determined subset of data by inserting the transferred data associated with the subset into appropriate locations in the data storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing data, comprising:
-
receiving an indication to revert data stored in a data storage system to a state of data at a snapshot time stored in the deduplicating system, wherein a deduplicating system stores data segments, wherein the deduplicating system stores a copy of data stored in the data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; create a new snapshot of the current data stored on the data storage system that is to be restored, wherein the new snapshot comprises a first list of fingerprints; determining a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system by comparing the first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system, wherein determining the subset comprises identifying a set of fingerprints in the first list of fingerprints associated with the state of current data stored on the data storage system that are not in the second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system; reverting the data stored in the data storage system to a state of data at the snapshot time using the identified set of fingerprints not in the snapshot in the deduplicating system by deleting data segments associated with the identified set of fingerprints that are not in the snapshot in the deduplicating system; transferring data associated with the subset from the deduplicating system to the data storage system; and reverting the data stored in the data storage system to a state of data at the snapshot time using the determined subset of data by inserting the transferred data associated with the subset into appropriate locations in the data storage system. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product for processing data, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:
-
receiving an indication to revert data stored in a data storage system to a state of data at a snapshot time stored in the deduplicating system, wherein a deduplicating system stores data segments, wherein the deduplicating system stores a copy of data stored in the data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; create a new snapshot of the current data stored on the data storage system that is to be restored, wherein the new snapshot comprises a first list of fingerprints; determining a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system by comparing the first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system, wherein determining the subset comprises identifying a set of fingerprints in the first list of fingerprints associated with the state of current data stored on the data storage system that are not in the second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system; reverting the data stored in the data storage system to a state of data at the snapshot time using the identified set of fingerprints not in the snapshot in the deduplicating system by deleting data segments associated with the identified set of fingerprints that are not in the snapshot in the deduplicating system; transferring data associated with the subset from the deduplicating system to the data storage system; and reverting the data stored in the data storage system to a state of data at the snapshot time using the determined subset of data by inserting the transferred data associated with the subset into appropriate locations in the data storage system.
-
Specification