×

Method and apparatus to scale and unroll an incremental hash function

  • US 7,783,688 B2
  • Filed: 11/09/2005
  • Issued: 08/24/2010
  • Est. Priority Date: 11/10/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of performing an incremental hash function on a data string, the method comprising:

  • using a processor to perform at least a portion of one or more of the following acts;

    receiving the data string over a network at a network interface device, the data string including a plurality of data samples B0 to BI, wherein represents a number of data samples that are received in parallel;

    defining a moving window of length wl within the data string;

    as the plurality of data samples are received, calculating and maintaining a corresponding plurality of hash values H0 to HI, one hash value for each data sample that can be received in parallel;

    wherein calculating the plurality of hash values includes;

    defining a hash multiplier constant to be k;

    calculating a first hash value H0 by adding a first data sample B0 to a last hash value HI, and by subtracting a data sample that was received wl bytes previously multiplied by kwl;

    calculating a second hash value H1 by adding the first data sample B0 multiplied by k and a second data sample B1 to the last hash value HI, by subtracting the data sample that was received wl bytes previously multiplied by kwl+1, and by subtracting a data sample received wl+1 bytes previously multiplied by kwl;

    calculating the last hash value HIby adding the correspondingly multiplied values of the first data samples to the last hash value HI, and by subtracting the correspondingly multiplied values of bytes received from wl to wl+previously;

    combining the calculated first hash value through last hash value into a result;

    using the result to identify content in the form of a particular reference string; and

    performing a particular action based upon the particular reference string.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×