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 |
Keywords
- Bloom filter
- Data structures
- Hash tables
- Lower bounds
- Streaming algorithms
All Science Journal Classification (ASJC) codes
- General Computer Science
- Applied Mathematics
- Computer Science Applications