A Bloom filter is a method for reducing the space (memory) required for representing a set by allowing a small error probability. In this paper we consider a Sliding Bloom Filter: a data structure that, given a stream of elements, supports membership queries of the set of the last n elements (a sliding window), while allowing a small error probability and a slackness parameter. The problem of sliding Bloom filters has appeared in the literature in several communities, but this work is the first theoretical investigation of it. We formally define the data structure and its relevant parameters and analyze the time and memory requirements needed to achieve them. We give a low space construction that runs in O(1) time per update with high probability (that is, for all sequences with high probability all operations take constant time) and provide an almost matching lower bound on the space that shows that our construction has the best possible space consumption up to an additive lower order term.
|Title of host publication||Algorithms and Computation - 24th International Symposium, ISAAC 2013, Proceedings|
|Number of pages||11|
|State||Published - 2013|
|Event||24th International Symposium on Algorithms and Computation, ISAAC 2013 - Hong Kong, China|
Duration: 16 Dec 2013 → 18 Dec 2013
|Name||Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|
|Conference||24th International Symposium on Algorithms and Computation, ISAAC 2013|
|Period||16/12/13 → 18/12/13|
Bibliographical noteFunding Information:
Research supported in part by a grant from the I-CORE Program of the Planning and Budgeting Committee, the Israel Science Foundation and the Citi Foundation.