ComputingComputer ScienceComputer SystemsData StructuresDatabasesStorage SystemsCache-oblivious Data StructuresCachingCaching StrategiesData CompressionHash TablesMemory Hierarchy OptimizationArithmetic CodingBloom FiltersCache CompressionCache Data CompressionCaching ArchitecturesCaching MechanismsFalse Positive Rate Reduction
A Bloom filter is a simple space-efficient randomized data structure for representing a set in order to support membership queries. Although Bloom filters allow false positives, for many applications the space savings outweigh this draw-back when the probability of an error is sufficiently low. We introduce compressed Bloom filters, which improve performance when the Bloom filter is passed as a message, and its transmission size is a limiting factor. For example, Bloom filters have been suggested as a means for sharing Web cache information. In this setting, proxies do not share the exact contents of their caches, but instead periodically broadcast Bloom filters representing their cache. By using compressed Bloom filters, proxies can reduce the number of bits broadcast, the false positive rate, and/or the amount of computation per lookup. The cost is the processing time for compression and decompression, which can use simple arithmetic coding, and more memory use at the proxies, which utilize the larger uncompressed form of the Bloom filter.
13
Space/time trade-offs in hash coding with allowable errors
Burton H. Bloom · Communications of the ACM · 1970 · 7.5K citations · Full text
Universal classes of hash functions
J.Lawrence Carter, Mark N. Wegman · Journal of Computer and System Sciences · 1979 · 2.6K citations
John Kubiatowicz, David Bindel, Yan Chen et al. · ACM SIGPLAN Notices · 2000 · 2K citations · Full text
John Kubiatowicz, David Bindel, Yan Chen et al. · 2000 · 868 citations
Alex C. Snoeren, Craig Partridge, Luis A. Sanchez et al. · 2001 · 737 citations