SUPPORT FOR USER DEFINED AGGREGATIONS IN A DATA STREAM MANAGEMENT SYSTEM
First Claim
1. A data stream management system that processes a plurality of streams of data using a plurality of continuous queries, the data stream management system comprising:
- a store comprising a plurality of tuples representing a relation, each tuple being time stamped;
a memory comprising a global plan currently being used in execution of the continuous queries on the plurality of streams;
means, coupled to said store, for modifying said global plan in said memory in response receipt of a new continuous query that uses a new aggregation defined by a user, by using an operator to invoke a first instance in a plurality of instances of the new aggregation based on a first value of an attribute of said data;
wherein said new aggregation groups data in said streams by said attribute; and
means, coupled to said means for modifying and to said store, for executing an instruction in the operator, to perform the new aggregation.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer is programmed to accept a command to create a new aggregation defined by a user during execution of continuous queries on streams of data. The computer is further programmed to thereafter accept and process new continuous queries using the new aggregation, in a manner similar to built-in aggregations. The user typically writes a set of instructions to perform the new aggregation, and identifies in the command, a location of the set of instructions. In response to such a command, the computer creates metadata identifying the new aggregation. The metadata is used to instantiate one aggregation for each group of data in a current window, grouped by an attribute identified in a new query.
-
Citations
20 Claims
-
1. A data stream management system that processes a plurality of streams of data using a plurality of continuous queries, the data stream management system comprising:
-
a store comprising a plurality of tuples representing a relation, each tuple being time stamped; a memory comprising a global plan currently being used in execution of the continuous queries on the plurality of streams; means, coupled to said store, for modifying said global plan in said memory in response receipt of a new continuous query that uses a new aggregation defined by a user, by using an operator to invoke a first instance in a plurality of instances of the new aggregation based on a first value of an attribute of said data; wherein said new aggregation groups data in said streams by said attribute; and means, coupled to said means for modifying and to said store, for executing an instruction in the operator, to perform the new aggregation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory computer-readable storage media comprising software including instructions to process a plurality of streams of data, the instructions comprising:
-
instructions to store in a store a plurality of tuples representing a relation, each tuple being time stamped; instructions to use a global plan in a memory to execute a plurality of continuous queries on the plurality of streams; instructions responsive to receipt of a new continuous query that uses a new aggregation defined by a user, to modify in said memory said global plan currently being used in execution of the continuous queries, by using an operator to invoke a first instance in a plurality of instances of the new aggregation based on a first value of an attribute of said data; wherein on execution of said instructions to modify, said new aggregation groups data in said streams by said attribute; and instructions to perform the new aggregation when using said operator. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method implemented in a computer of processing a plurality of streams of data, the method comprising:
-
storing in a store a plurality of tuples representing a relation, each tuple being time stamped; using a global plan in a memory to execute a plurality of continuous queries on the plurality of streams; in response receipt of a new continuous query that uses a new aggregation defined by a user, modifying in said memory said global plan currently being used in execution of the continuous queries, by using an operator to invoke a first instance in a plurality of instances of the new aggregation based on a first value of an attribute of said data; wherein said new aggregation groups data in said streams by said attribute; and executing at least one instruction in the operator, to perform the new aggregation. - View Dependent Claims (18, 19, 20)
-
Specification