Abstract
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)$$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.
Original language | English |
---|---|
Pages (from-to) | 652-672 |
Number of pages | 21 |
Journal | Algorithmica |
Volume | 73 |
Issue number | 4 |
DOIs | |
State | Published - 1 Dec 2015 |
Externally published | Yes |
Bibliographical note
Publisher Copyright:© 2015, Springer Science+Business Media New York.
Funding
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. A preliminary version of this paper appeared in ISAAC 2013. Moni Naor: Incumbent of the Judith Kleeman Professorial Chair. Research supported in part by a Grant from the Israel Science Foundation.
Funders | Funder number |
---|---|
Citi Foundation | |
Israel Science Foundation | |
Israeli Centers for Research Excellence |
Keywords
- Bloom filter
- Data structures
- Hash tables
- Lower bounds
- Streaming algorithms