Patent ID: 8688650

Claim:
A method of creating a data fingerprint to identify or characterize contents of a data object using a selected subset of the data object, the method comprising: using a selection function to select a plurality of non-contiguous regions from the data object, the selection function using information about the contents of the data object to select the non-contiguous regions, wherein the selection function: selects one or more portions of the data object with a high frequency of change among generations of the data object for inclusion in the selected regions; and omits one or more portions of the data object with a low frequency of change among generations of the data object from inclusion in the selected regions; the selected regions each having a small number of bytes relative to the number of bytes in the data object and being distributed throughout the data object, the selected regions comprising a sparse subset of the data of the data object and having a probability of including bytes that change if the data object were modified, the probability being based on a total size of the selected regions and a size of the data object; and performing a hash operation on the data contained in the plurality of regions to produce a fingerprint based on the sparse subset of the data object.