Network Applications of Bloom Filters: A Survey

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, the space savings often outweigh this drawback when the probability of an error is made sufficiently low. While Bloom filters date back to the 1970's and have been used since in many database applications, they have only recently received more widespread attention in the networking literature. In this survey, we describe how Bloom filters have been utilized in a variety of network applications, with the goal of facilitating their continued use in further applications.