Verifying a file in a system with duplicate segment elimination using segmention-independent checksums
AssigneeData Domain, Inc.
InventorsUmesh Maheshwari, R. Hugo Patterson
Life of this patent
Estimating the term…
Abstract
Verifying a file in a system with duplicate segment elimination is disclosed. A data file is segmented into a plurality of distinct data segments, and a checksum is computed for each of the plurality of distinct data segments. A constructed data file checksum is constructed from the checksums of each of the plurality of distinct data segments, and, it is determined if a checksum of the data file is the same as the constructed data file checksum.
Claims28
A method for verifying a file in a system with duplicate segment elimination comprising:
- segmenting a data file into a plurality of distinct data segments
- storing the data file in a data storage system, wherein storing the data file comprises checking to determine whether one or more of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, and in the event that one of the plurality of distinct data segments is not the same as a segment already stored, storing the one of the plurality of distinct data segments, and in the event that one of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, storing a reference to the data segment that has been stored previously in place of the one of the plurality of distinct data segments;
- computing, using a processor, a checksum for each of the plurality of distinct data segments;
- constructing a constructed data file checksum from the checksums of each of the plurality of distinct data segments;
- and
- determining if a checksum of the data file is the same as the constructed data file checksum.
A system for verifying a file in a system with duplicate segment elimination comprising:
- a processor configured to:
- segment a data file into a plurality of distinct data segments
- store the data file in a data storage system, wherein storing the data file comprises checking to determine whether one or more of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, and in the event that one of the plurality of distinct data segments is not the same as a segment already stored, storing the one of the plurality of distinct data segments, and in the event that one of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, storing a reference to the data segment that has been stored previously in place of the one of the plurality of distinct data segments;
- compute a checksum for each of the plurality of distinct data segments;
- construct a constructed data file checksum from the checksums of each of the plurality of distinct data segments;
- and
- determine if a checksum of the data file is the same as the constructed data file checksum;
- and
- a memory coupled to the processor and configured to provide instructions to the processor.
A computer program product for verifying a file in a system with duplicate segment elimination, the computer program product being embodied in a computer readable storage medium and comprising computer instructions that when executed, cause a computer to perform the following:
- segment a data file into a plurality of distinct data segments
- store the data file in a data storage system wherein storing the data file comprises checking to determine whether one or more of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, and in the event that one of the plurality of distinct data segments is not the same as a segment already stored, storing the one of the plurality of distinct data segments, and in the event that one of the plurality of distinct data segments is the same as a data segment that has been stored previously in the data storage system, storing a reference to the data segment that has been stored previously in place of the one of the plurality of distinct data segments;
- computing a checksum for each of the plurality of distinct data segments;
- constructing a constructed data file checksum from the checksums of each of the plurality of distinct data segments;
- and
- determining if a checksum of the data file is the same as the constructed data file checksum.
Dependencies are inferred from the claim text.