An Improved Construction for Counting Bloom Filters

  • Flavio Bonomi
  • Michael Mitzenmacher
  • Rina Panigrahy
  • Sushil Singh
  • George Varghese
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4168)

Abstract

A counting Bloom filter (CBF) generalizes a Bloom filter data structure so as to allow membership queries on a set that can be changing dynamically via insertions and deletions. As with a Bloom filter, a CBF obtains space savings by allowing false positives. We provide a simple hashing-based alternative based on d-left hashing called a d-left CBF (dlCBF). The dlCBF offers the same functionality as a CBF, but uses less space, generally saving a factor of two or more. We describe the construction of dlCBFs, provide an analysis, and demonstrate their effectiveness experimentally.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Azar, Y., Broder, A., Karlin, A., Upfal, E.: Balanced allocations. SIAM Journal of Computing 29(1), 180–200 (1999)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Berenbrink, P., Czumaj, A., Steger, A., Vöcking, B.: Balanced allocations: The heavily loaded case. In: Proc. of the 32nd Annual ACM STOC, pp. 745–754 (2000)Google Scholar
  3. 3.
    Bloom, B.: Space/time tradeoffs in in hash coding with allowable errors. Communications of the ACM 13(7), 422–426 (1970)MATHCrossRefGoogle Scholar
  4. 4.
    Bonomi, F., Mitzenmacher, M., Panigrahy, R., Singh, S., Varghese, G.: Beyond Bloom filters: From approximate membership checks to approximate state machines. In: Proc. of SIGCOMM (to appear, 2006)Google Scholar
  5. 5.
    Broder, A., Mitzenmacher, M.: Using multiple hash functions to improve IP Lookups. In: Proceedings of IEEE INFOCOM, pp. 1454–1463 (2001)Google Scholar
  6. 6.
    Broder, A., Mitzenmacher, M.: Network applications of Bloom filters: A survey. Internet Mathematics 1(4), 485–509 (2004)MATHMathSciNetCrossRefGoogle Scholar
  7. 7.
    Cohen, S., Matias, Y.: Spectral Bloom Filters. In: Proceedings of the 2003 ACM SIGMOD Conference, pp. 241–252 (2003)Google Scholar
  8. 8.
    Dharmapurikar, S., Krishnamurthy, P., Sproull, T., Lockwood, J.: Deep Packet Inspection using Parallel Bloom Filters. In: IEEE Hot Interconnects, vol. 12 (2003)Google Scholar
  9. 9.
    Dharmapurikar, S., Krishnamurthy, P., Taylor, D.: Longest prefix matching using Bloom filters. In: Proceedings of the ACM SIGCOMM 2003, pp. 201–212 (2003)Google Scholar
  10. 10.
    Fan, L., Cao, P., Almeida, J., Broder, A.Z.: Summary cache: A scalable wide-area Web cache sharing protocol. IEEE/ACM Trans. on Networking 8(3), 281–293 (2000)CrossRefGoogle Scholar
  11. 11.
    Kenthapadi, K., Panigrahy, R.: Balanced allocation on graphs. In: Proc. of the Seventeenth Annual ACM-SIAM Symp. on Discrete Algorithms, pp. 434–443 (2006)Google Scholar
  12. 12.
    Lu, Y., Prabhakar, B., Bonomi, F.: Perfect Hashing for Network Applications. In: Proc. of ISIT 2006 (to appear, 2006)Google Scholar
  13. 13.
    Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)MATHGoogle Scholar
  14. 14.
    Mitzenmacher, M., Vöcking, B.: The asymptotics of selecting the shortest of two, improved. In: Suhov, Y. (ed.) Analytic Methods in Applied Probability: In Memory of Fridrikh Karpelevich. American Mathematical Society (2003)Google Scholar
  15. 15.
    Pagh, R., Rodler, F.: Cuckoo Hashing. In: Proc. of the 9th Annual European Symposium on Algorithms, pp. 121–133 (2001)Google Scholar
  16. 16.
    Panigrahy, R.: Efficient hashing with lookups in two memory accesses. In: Proc. of the Sixteenth Annual ACM-SIAM Symp. on Discrete Algorithms, pp. 830–839 (2005)Google Scholar
  17. 17.
    Pagh, A., Pagh, R., Rao, S.: An Optimal Bloom Filter Replacement. In: Proc. of the Sixteenth Annual ACM-SIAM Symp. on Discrete Algorithms, pp. 823–829 (2005)Google Scholar
  18. 18.
    Rajwar, R., Herlihy, M., Lai, K.: Virtualizing Transactional Memory. In: Proc. of the 32nd Annual Int’l. Symp. on Computer Architecture, pp. 494–505 (2005)Google Scholar
  19. 19.
    Sharma, M., Byers, J.: Scalable Coordination Techniques for Distributed Network Monitoring. In: Dovrolis, C. (ed.) PAM 2005. LNCS, vol. 3431, pp. 349–352. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Vöcking, B.: How asymmetry helps load balancing. In: Proceedings of the 40th IEEE-FOCS, pp. 131–140 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Flavio Bonomi
    • 1
  • Michael Mitzenmacher
    • 2
  • Rina Panigrahy
    • 3
  • Sushil Singh
    • 1
  • George Varghese
    • 1
  1. 1.Cisco Systems Inc. 
  2. 2.Harvard University 
  3. 3.Stanford University 

Personalised recommendations