# 1 A Deterministic Algorithm for Summarizing Asynchronous Streams over a Sliding Window Costas Busch Rensselaer Polytechnic Institute Srikanta Tirthapura.

## Presentation on theme: "1 A Deterministic Algorithm for Summarizing Asynchronous Streams over a Sliding Window Costas Busch Rensselaer Polytechnic Institute Srikanta Tirthapura."— Presentation transcript:

1 A Deterministic Algorithm for Summarizing Asynchronous Streams over a Sliding Window Costas Busch Rensselaer Polytechnic Institute Srikanta Tirthapura Iowa State University

2 Introduction Algorithm Analysis Outline of Talk

3 Time Data stream: For simplicity assume unit valued elements

4 Current time Most recent time window of duration Compute the sum of elements with time stamps in time window Goal: Data stream:

5 Example I: All packets on a network link, maintain the number of different ip sources in the last one hour Example II: Large database, continuously maintain averages and frequency moments

6 Synchronous stream t i : In ascending order Asynchronous stream t i : No order guaranteed Data stream:

7 Why Asynchronous Data Streams? Synchronous streamAsynchronous stream Synchronous Asynchronous Merge w/o control Network delay & multi-path routing

8 Processing Requirements: One pass processing Small workspace: poly-logarithmic in the size of data Fast processing time per element Approximate answers are ok

9 Our results: A deterministic data aggregation algorithm Time: Space: Relative Error:

10 Previous Work: [Datar, Gionis, Indyk, Motwani. SIAM Journal on Computing, 2002] Deterministic, Synchronous [Tirthapura, Xu, Busch, PODC, 2006] Randomized, Asynchronous Merging buckets Random sampling

11 Introduction Algorithm Analysis Outline of Talk

12 Current time Time Data stream: For simplicity assume unit valued elements

13 Current time Most recent time window of duration Data stream: Compute the sum of elements with time stamps in time window Goal:

14 Divide time into periods of duration

15 The sliding window may span at most two time periods sliding window

16 sliding window Sum can be written as two sub-sums In two time periods

17 sliding window Data structure that maintains an estimate of In left time period

18 Without loss of Generality, Consider data structure in time period

19 Data structure consists of various levels is an upper bound of the sum in a period

20 Counts up to elements Time period Bucket at Level Consider level

21 Increase counter value Stream:

22 Increase counter value Stream:

23 Stream: Increase counter value

24 Increase counter value Stream:

25 Stream: Counter threshold of reached Split bucket

26 Stream: New buckets have threshold also

27 Stream: Increase appropriate bucket

28 Stream: Increase appropriate bucket

29 Stream: Increase appropriate bucket

30 Stream: Split bucket

31 Stream:

32 Stream: Increase appropriate bucket

33 Stream: Split bucket

34 Stream:

35 Splitting Tree

36 Leaf buckets of duration 1 are not split any further Max depth =

37 The initial bucket may be split into many buckets Leaf buckets

38 Due to space limitations we only keep the last buckets Leaf buckets

39 Suppose we want to find the sum of elements in time period

40 of splitting threshold Consider various levels

41 First level with a leaf bucket that intersects timeline

42 Estimate of S: Consider buckets on right of timeline

43 First level with a leaf bucket On right timeline OR

44 Introduction Algorithm Analysis Outline of Talk

45 Suppose that we use level in order to compute the estimate

46 Stream: A data element is counted in the appropriate bucket Consider splitting threshold level

47 Stream: We can assume that the element is placed in the respective bucket

48 Stream: We can assume that when bucket splits the element is placed in an arbitrary child bucket

49 Stream: If: GOOD! Element counted in correct bucket

50 Stream: If: BAD! Element counted in wrong bucket

51 Consider Leaf Buckets If GOOD!

52 Consider Leaf Buckets If BAD! Element counted in wrong bucket

53 :elements of left part counted on right Consider Leaf Buckets :elements of right part counted on left

54 elements of left part counted on right Must have been initially inserted in one of these buckets

55 Since tree depth

56 Since tree depth Similarly, we can prove Therefore:

57 It can be proven Since

58 It can be proven Since Combined with We obtain relative error :

Download ppt "1 A Deterministic Algorithm for Summarizing Asynchronous Streams over a Sliding Window Costas Busch Rensselaer Polytechnic Institute Srikanta Tirthapura."

Similar presentations