1. A method for removing duplicate data from a sequence of bytes at a storage server, the method comprising: generating a first data fingerprint based on a first data interval in the sequence of bytes, the first data interval having a first length; detecting an anchor in the sequence of bytes at a point after the first interval; defining a second data interval in the sequence of bytes extending from a first position in the sequence to a second position located a specified interval after the location of the anchor, the second data interval having a second length greater than the first length; generating a second data fingerprint based on the second window; finding a first stored data fingerprint in a data fingerprint database corresponding to the first data fingerprint; finding a second stored data fingerprint in the fingerprint database corresponding to the second data fingerprint; and generating a modified sequence of bytes by replacing the first data interval in the sequence of bytes with a first storage indicator corresponding to the first stored data fingerprint and replacing the second data interval in the sequence of bytes with a second storage indicator corresponding to the second stored data fingerprint.