Patent ID: 7269689

Claim:
A processor-based method for creating one or more chunks in a machine readable medium from a sequence of values in the machine readable medium, each chunk representing a portion of the sequence of values between at least two breakpoints, the method comprising: obtaining a fingerprint value for a position in the sequence of values in the machine readable medium; designating positions within the sequence of values as breakpoints where each breakpoint is the beginning or end of a chunk in the machine readable medium and a position is designated as a breakpoint if at least one of the following breakpoint conditions is true: (a) the fingerprint value at the position is a D 1 -match (b) the fingerprint value at the position is a D 2 -match, and the distance between the prior breakpoint, if any, and any subsequent D 1 -match breakpoint is greater than a pre-determined maximum value M 1 ; (c) the distance between the prior breakpoint, if any, and the position is equal to the maximum value M 1 , wherein a value is a D 1 -match if a function D 1 Match returns ‘true’ when applied to the fingerprint value; a value is a D 2 -match if a function D 2 Match returns ‘true’ when applied to the fingerprint value; D 1 Match and D 2 Match are Boolean functions mapping integers to Boolean values; and when applied to a random integer, a probability that D 1 Match returns ‘true’ is smaller than a probability that D 2 Match returns ‘true’.