Patent ID: 8064457

Claim:
A method of filtering a data packet, comprising: receiving a data packet and N filters wherein N is an integer and is greater than or equal to one, each of the N filters comprising a bit mask and corresponding bit values; generating a common filter mask by taking the overlapping mask bits among the bit masks of a selected group of N filters and a corresponding bit value of the common filter mask, wherein the length of the common filter mask is shorter than each of the bit mask of the N filters in the selected group and the corresponding bit value of the common filter mask is smaller than each of the corresponding bit value of the N filters; applying the bit mask of each of the N filters to the received data packet; applying the common filter mask to the filtered data packet to determine whether there is a match between the filtered data packet and each of the N filters; and eliminating the respective filter if there is no match between the filtered data packet and the filter.