Patent ID: 7643505

Claim:
A method for compressing an uncompressed data packet, comprising: (a) receiving the uncompressed data packet having a header portion and a data portion, the data portion having a plurality of bytes of data; (b) comparing a portion of the data portion with content stored in a history module; wherein a plurality of comparisons are performed with portions of the content stored in the history module and the portions of the content of the history module have a same byte size as the portion of the data portion; (c) generating a plurality of masks based on the plurality of comparisons with portions of the content stored in the history module, the generated masks indicative of a number of matches between the portion of the data portion of the data packet and portions of the content stored in the history module; (d) comparing the plurality of masks; (e) selecting one of the plurality of masks, based on the number of matches; and (f) generating a compression record for the portion of the data portion, wherein the compression record includes a plurality of fields indicating (i) a byte size of the portion of the data portion compared in step (b); (ii) an address field indicative of the selected mask in step (e); (iii) mask field indicative of the selected mask; and (iv) data indicative of an unmatched portion of the portion of the data portion; and (g) assembling a compressed data packet with a header and the compression record, wherein the header includes a control bit indicating the data packet is compressed.