Abstract. We consider the problem of maintaining aggregates and statistics over data streams, with respect to the last N data elements seen so far. We refer to this model as the sliding window model. We consider the following basic problem: Given a stream of bits, maintain a count of the number of 1's in the last N elements seen from the stream. We show that, using O( 1 log 2 N ) bits of memory, we can estimate the number of 1's to within a factor of 1 + . We also give a matching lower bound of Ω( 1 log 2 N ) memory bits for any deterministic or randomized algorithms. We extend our scheme to maintain the sum of the last N positive integers and provide matching upper and lower bounds for this more general problem as well. We also show how to efficiently compute the Lp norms (p ∈ [1, 2]) of vectors in the sliding window model using our techniques. Using our algorithm, one can adapt many other techniques to work for the sliding window model with a multiplicative overhead of O( 1 log N ) in memory and a 1 + factor loss in accuracy. These include maintaining approximate histograms, hash tables, and statistics or aggregates such as sum and averages.
In REF , Datar et al. studied the problem of maintaining aggregates and statistics over data streams, proposed the sliding window model and formulated the basic counting problem whose solution can be used as a building block for solving most of the problems.
Maintaining Stream Statistics over Sliding Windows
SIAM Journal on Computing
Mathematics Computer Science