This Article 
 Bibliographic References 
 Add to: 
Aging Bloom Filter with Two Active Buffers for Dynamic Sets
January 2010 (vol. 22 no. 1)
pp. 134-138
MyungKeun Yoon, Korea Financial Telecommunications and Clearings Institute (KFTC), Seoul
A Bloom filter is a simple but powerful data structure that can check membership to a static set. As Bloom filters become more popular for network applications, a membership query for a dynamic set is also required. Some network applications require high-speed processing of packets. For this purpose, Bloom filters should reside in a fast and small memory, SRAM. In this case, due to the limited memory size, stale data in the Bloom filter should be deleted to make space for new data. Namely the Bloom filter needs aging like LRU caching. In this paper, we propose a new aging scheme for Bloom filters. The proposed scheme utilizes the memory space more efficiently than double buffering, the current state of the art. We prove theoretically that the proposed scheme outperforms double buffering. We also perform experiments on real Internet traces to verify the effectiveness of the proposed scheme.

[1] B.H. Bloom, “Space/Time Trade-Offs in Hash Coding with Allowable Errors,” Comm. ACM, vol. 13, no. 7, pp. 422-426, 1970.
[2] A. Broder and M. Mitzenmacher, “Network Applications of Bloom Filters: A Survey,” Internet Math., vol. 1, no. 4, pp. 485-509, June 2002.
[3] F. Chang, W. Feng, and K. Li, “Approximate Caches for Packet Classification,” Proc. IEEE INFOCOM, Mar. 2004.
[4] W. Feng, K. Shin, D. Kandlur, and D. Saha, “The BLUE Active Queue Management Algorithms,” IEEE/ACM Trans. Networking, vol. 10, no. 4, pp.513-528, Aug. 2002.
[5] M. Mitzenmacher, “Compressed Bloom Filters,” IEEE/ACM Trans. Networking, vol. 10, no. 5, pp. 604-612, Oct. 2002.
[6] P. Mutaf and C. Castelluccia, “Compact Neighbor Discovery: A Bandwidth Defense through Bandwidth Optimization,” Proc. IEEE INFOCOM, Mar. 2005.
[7] A. Kumar, J. Xu, L. Li, J. Wang, and O. Spatschek, “Space-Code Bloom Filter for Efficient Per-Flow Traffic Measurement,” Proc. IEEE INFOCOM, Mar. 2004.
[8] L. Fan, P. Cao, J. Almeida, and A. Broder, “Summary Cache: A Scalable Wide Area Web Cache Sharing Protocol,” IEEE/ACM Trans. Networking, vol. 8, no. 3, pp. 281-293, June 2000.
[9] J. Lim and K. Shin, “Gradient-Ascending Routing via Footprints in Wireless Sensor Networks,” Proc. IEEE Int'l Real-Time Systems Symp. (RTSS '05), pp.298-307, Dec. 2005.
[10] F. Deng and D. Rafiei, “Approximately Detecting Duplicates for Streaming Data Using Stable Bloom Filters,” Proc. ACM SIGMOD, June 2006.
[11] D. Guo, J. Wu, H. Chen, and X. Luo, “Theory and Network Applications of Dynamic Bloom Filters,” Proc. IEEE INFOCOM, Apr. 2006.
[12] P.S. Almeida, C. Baquero, N. Preguica, and D. Hutchison, “Scalable Bloom Filters,” Information Processing Letters, vol. 101, no. 6, pp. 255-261, Mar. 2007.
[13] Q. Zhao, J. Xu, and A. Kumar, “Detection of Super Sources and Destinations in High-Speed Networks: Algorithms, Analysis and Evaluation,” IEEE J. Selected Areas Comm. (JSAC), vol. 24, no. 10, pp. 1840-1852, Oct. 2006.
[14] F. Hao, M. Kodialam, and T.V. Lakshman, “Building High Accuracy Bloom Filters Using Partitioned Hashing,” SIGMETRICS Performance Evaluation Rev., vol. 35, no. 1, pp. 277-288, June 2007.
[15] E. Horowitz, S. Sahni, and D. Mehta, Fundamentals of Data Structures, second ed., Silicon Press, Apr. 2007.
[16] “Passive Measurement and Analysis Project,” Nat'l Laboratory for Applied Network Research (NLANR), http:/, 2008.
[17] R. Rivest, “The MD5 Message-Digest Algorithm,” IETF RFC 1321, 1992.

Index Terms:
Bloom filter, LRU, cache, packet processing.
MyungKeun Yoon, "Aging Bloom Filter with Two Active Buffers for Dynamic Sets," IEEE Transactions on Knowledge and Data Engineering, vol. 22, no. 1, pp. 134-138, Jan. 2010, doi:10.1109/TKDE.2009.136
Usage of this product signifies your acceptance of the Terms of Use.