Memory Efficient Parallel Bloom Filters for String Matching

Bloom Filter is a fast and simple structure for string matching, but it allows false positives. Longest Prefix Matching Bloom Filters (LPM) with counter and extended fast hash table can eliminate false positives at the expense of double memory and none wire-speed. Faster searching speed can be achieved with Parallel LPMs (PLPM), using more memory. We present an algorithm named Memory Efficient Parallel Bloom Filters (MEPBF) which will save (q-1)/(2q) memory and reach nearly the same performance compared with PLPM of q LPMs. With this new algorithm, either faster searching speed can be achieved at given memory and strings or less memory is need at given speed and strings.

[1]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[2]  T. V. Lakshman,et al.  Gigabit rate packet pattern-matching using TCAM , 2004, Proceedings of the 12th IEEE International Conference on Network Protocols, 2004. ICNP 2004..

[3]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.

[4]  Rabi N. Mahapatra,et al.  A Memory-Efficient Hashing by Multi-Predicate Bloom Filters for Packet Classification , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[5]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

[6]  John W. Lockwood,et al.  Deep packet inspection using parallel bloom filters , 2004, IEEE Micro.

[7]  Yeim-Kuan Chang,et al.  Improved TCAM-Based Pre-Filtering for Network Intrusion Detection Systems , 2008, 22nd International Conference on Advanced Information Networking and Applications (aina 2008).

[8]  Timothy Sherwood,et al.  Bit-split string-matching engines for intrusion detection and prevention , 2006, TACO.

[9]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.