Patent ID: 7764606

Claim:
A method of tracking an order of data units in a plurality of data flows, the method comprising: generating, using one or more processing units, hash values based on the data units, each hash value identifying a data flow to which a particular data unit belongs; comparing, using one or more processing units, one of the generated hash values to previously generated hash values to generate a comparison indicator, where the comparison is performed at each of a plurality of processing units; storing an entry in a pointer memory at a location that is assigned to process the particular data unit, the entry pointing to a location of a second entry, the second entry corresponding to a second one of the plurality of processing units assigned to process a data unit behind the particular data unit, and in a same data flow as the particular data unit; updating, using one or more processing units, a tail vector that identifies at least one of the data units currently being processed for a data flow based on the comparison indicator indicating a first condition; and updating, using one or more processing units, the tail vector and a head vector that identifies a beginning of the data flow based on the comparison indicator indicating a second condition.