Patent ID: 7870103

Claim:
A method for tolerating collisions of identifiers for data segments comprising: combining a primary identifier and secondary identifier of a first segment to make a combined identifier of the first segment, wherein an original data stream is reconstructed using a plurality of data segments retrieved using a plurality of identifiers, wherein the primary identifier is one of the plurality of identifiers, and wherein the first segment is one of the plurality of data segments; combining a primary identifier and secondary identifier of a second segment to make a combined identifier of the second segment; determining that the primary identifier of the first segment is the same as the primary identifier of the second segment; determining that the secondary identifier of the first segment and the secondary identifier of the second segment differ; indicating that a collision occurred in the primary identifier, wherein the collision comprises when the first segment and the second segment are not identical, wherein future recovery of the first segment or the second segment uses the indication; wherein the primary identifier of the first segment is obtained, using a processor, by applying a first function to the first segment and the secondary identifier of the first segment is obtained by applying a second function to the first segment; wherein the primary identifier of the second segment is obtained by applying the first function to the second segment and the secondary identifier of the second segment is obtained by applying the second function to the second segment; and in the event that the combined identifier of the first segment is the same as the combined identifier of the second segment, indicating that the first segment and the second segment are duplicates.