Efficient Summing over Sliding Windows

Abstract

This paper considers the problem of maintaining statistic aggregates over the last W elements of a data stream. First, the problem of counting the number of 1's in the last W bits of a binary stream is considered. A lower bound of (1/ε + log W) memory bits for Wε-additive approximations is derived. This is followed by an algorithm whose memory consumption is O(1/ε + log W) bits, indicating that the algorithm is optimal and that the bound is tight. Next, the more general problem of maintaining a sum of the last W integers, each in the range of 0,1,...,R, is addressed. The paper shows that approximating the sum within an additive error of RWε can also be done using (1/ε + log W) bits for ε=(1/W). For ε=o(1/W), we present a succinct algorithm which uses B(1 + o(1)) bits, where B=(Wlog(1/Wε)) is the derived lower bound. We show that all lower bounds generalize to randomized algorithms as well. All algorithms process new elements and answer queries in O(1) worst-case time.

0

Discussion (0)

Sign in to join the discussion.

Loading comments…