IP Library Granted Patent US 8,832,073
Granted Patent B2
US 8,832,073 · App. 11/770,926 · Granted Sep 9, 2014

Method and apparatus for efficient aggregate computation over data streams

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,832,073
App. No.
11/770,926
Granted
Sep 9, 2014
Kind
B2
Abstract

Improved techniques are disclosed for processing data stream queries wherein a data stream is obtained, a set of aggregate queries to be executed on the data stream is obtained, and a query plan for executing the set of aggregate queries on the data stream is generated. In a first method, the generated query plan includes generating at least one intermediate aggregate query, wherein the intermediate aggregate query combines a subset of aggregate queries from the set of aggregate queries so as to pre-aggregate data from the data stream prior to execution of the subset of aggregate queries such that the generated query plan is optimized for computational expense based on a given cost model. In a second method, the generated query plan includes identifying similar filters in two or more aggregate queries of the set of aggregate queries and combining the similar filters into a single filter such that the single filter is usable to pre-filter data input to the two or more aggregate queries.

Claims (11)

1. A method, comprising:

obtaining a data stream;

obtaining a set of aggregate queries to be executed on the data stream; and

generating a query plan for executing the set of aggregate queries on the data stream, wherein the generated query plan comprises generating at least one intermediate aggregate query, wherein the intermediate aggregate query combines a subset of aggregate queries from the set of aggregate queries so as to pre-aggregate data from the data stream prior to execution of the subset of aggregate queries such that the generated query plan is optimized for computational expense based on a given cost model;

wherein the generated query plan comprises a tree structure, the query plan generating step further comprises determining an optimal query plan with a lowest computation cost by determining a minimum-cost aggregate tree, and the minimum-cost aggregate tree is determined using a heuristic which adds one or more random aggregate queries to the aggregate tree to form an expanded aggregate graph, and uses a directed Steiner tree heuristic to find the minimum-cost aggregate subtree of the expanded aggregate graph;

wherein the generation of the query plan is implemented by executing one or more software programs on a processor device.

2. An article of manufacture comprising a processor-readable non-transitory storage medium storing one or more software programs which when executed by a processor perform the steps of the method of claim 1 .

3. Apparatus, comprising:

a memory; and

a processor coupled to the memory and operative to: obtain a data stream; obtain a set of aggregate queries to be executed on the data stream; and generate a query plan for executing the set of aggregate queries on the data stream, wherein the generated query plan comprises at least one of: (i) generating at least one intermediate aggregate query, wherein the intermediate aggregate query combines a subset of aggregate queries from the set of aggregate queries so as to pre-aggregate data from the data stream prior to execution of the subset of aggregate queries such that the generated query plan is optimized for computational expense based on a given cost model; and (ii) identifying similar filters in two or more aggregate queries of the set of aggregate queries and combining the similar filters into a single filter such that the single filter is usable to pre-filter data input to the two or more aggregate queries;

wherein the generated query plan comprises a tree structure, the query plan generating operation further comprises determining an optimal query plan with a lowest computation cost by determining a minimum-cost aggregate tree, and the minimum-cost aggregate tree is determined using a heuristic which adds one or more random aggregate queries to the aggregate tree to form an expanded aggregate graph, and uses a directed Steiner tree heuristic to find the minimum-cost aggregate subtree of the expanded aggregate graph.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2014
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 033236/0650 →
MERGER Recorded Apr 24, 2014
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 032744/0203 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2007
From: C N, KANTHI; K V M, NAIDU; RASTOGI, RAJEEV; SATKIN, SCOTT
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 019673/0643 →