ADDING NEW CONTINUOUS QUERIES TO A DATA STREAM MANAGEMENT SYSTEM OPERATING ON EXISTING QUERIES
First Claim
1. A computer-implemented method of managing a plurality of streams of data in a computer, the method comprising:
- processing the plurality of streams, to execute thereon a plurality of continuous queries based on a global plan;
during said processing, receiving a new continuous query to be executed;
during said processing, identifying from the global plan, a first operator that supplies data on the relation;
during said processing, modifying the global plan by coupling the first operator to a second operator to be used to implement the new continuous query, thereby to obtain a modified plan;
prior to execution of the new continuous query, propagating from the first operator to the second operator, a current state of a relation if said relation is output by the first operator;
altering said processing, to cause execution of the new continuous query in addition to said plurality of continuous queries, based on the modified plan; and
outputting from said computer, a stream generated based at least partially on processing of said data by executing the new continuous query.
1 Assignment
0 Petitions
Accused Products
Abstract
A new continuous query to a data stream management system (DSMS) may use a stream or a relation which may or may not be used by continuous queries previously registered in the DSMS. The DSMS is programmed to modify an execution plan to accommodate execution of the new query while continuing to execute the previously registered continuous queries. The modified execution plan may include new operators and/or share existing operators. The DSMS is programmed to cause operators which output a relation to propagate a current state of the relation to each newly-coupled operator that uses the relation. The current state is propagated only to operators that have been newly coupled and have thus not yet received any state information previously. After propagation of current state to newly-coupled operators, results of processing any new data for the relation are supplied to all operators coupled thereto, including newly-coupled operators and existing operators.
205 Citations
12 Claims
-
1. A computer-implemented method of managing a plurality of streams of data in a computer, the method comprising:
-
processing the plurality of streams, to execute thereon a plurality of continuous queries based on a global plan; during said processing, receiving a new continuous query to be executed; during said processing, identifying from the global plan, a first operator that supplies data on the relation; during said processing, modifying the global plan by coupling the first operator to a second operator to be used to implement the new continuous query, thereby to obtain a modified plan; prior to execution of the new continuous query, propagating from the first operator to the second operator, a current state of a relation if said relation is output by the first operator; altering said processing, to cause execution of the new continuous query in addition to said plurality of continuous queries, based on the modified plan; and outputting from said computer, a stream generated based at least partially on processing of said data by executing the new continuous query. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium encoded with instructions for a computer to process streams of data using a plurality of continuous queries in a data stream management system, the instructions comprising:
-
instructions to execute a global plan for execution of the plurality of continuous queries; instructions to receive a new continuous query to be executed; instructions to check if new continuous query comprises a relation already referenced in a continuous query among the plurality of continuous queries being executed as per the global plan; instructions to instantiate a first operator corresponding to said relation if a result of said checking is false; instructions to mark, as being available for implementation of said new continuous query, a second operator currently present in the computer and corresponding to said relation, if the result of said checking is true; instructions to instantiate a third operator corresponding to said new continuous query; instructions to couple to the third operator, an appropriate operator selected to be one of the first operator and the second operator, wherein selection of the appropriate operator is based on the result of executing said instructions to check; instructions to propagate to at least the third operator, a current state of the relation, in response to start of execution thereof, wherein said propagating is performed in a transparent manner relative to soft exceptions; instructions to supply to all operators coupled to the appropriate operator, information related to a new state of the relation, wherein said all operators comprise at least said third operator; and instructions to output from said computer, a stream generated based at least partially on processing of said data by executing each of said operators. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A data stream management system that processes streams of data using a plurality of continuous queries, the data stream management system comprising:
-
a store encoded with a plurality of tuples representing a relation, each tuple being time stamped; a memory encoded with a query plan currently being used in execution of the continuous queries; means, coupled to said store, for modifying the global plan in said memory in response receipt of a new continuous query that uses said relation, if the global plan comprises a first operator that supplies at least one tuple of the relation, by using a multi-reader queue to couple the first operator to a second operator to be used to implement the new continuous query; and means, coupled to said means for modifying and to said store, for propagating a state of the relation, from the first operator to the second operator, before propagation of a new tuple having a new time stamp.
-
Specification