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 an existing global plan;
during said processing, receiving a new continuous query to be executed;
during said processing, identifying from the existing global plan, a first operator that supplies data on a relation;
during said processing, modifying the existing 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 global plan;
prior to execution of the new continuous query, a processor in the computer selectively transmitting from the first operator to the second operator but not to a third operator in the existing global plan, a current value of the relation;
prior to receipt of the new continuous query, said current value being transmitted to the third operator from the first operator by use of at least one reference and said at least one reference being deleted after said current value being read by the third operator during said processing based on the existing global plan;
altering said processing, to cause execution of the new continuous query in addition to said plurality of continuous queries, based on the modified global plan; and
outputting from said computer, a stream generated based at least partially on processing of said data by execution of 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.
127 Citations
21 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 an existing global plan; during said processing, receiving a new continuous query to be executed; during said processing, identifying from the existing global plan, a first operator that supplies data on a relation; during said processing, modifying the existing 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 global plan; prior to execution of the new continuous query, a processor in the computer selectively transmitting from the first operator to the second operator but not to a third operator in the existing global plan, a current value of the relation; prior to receipt of the new continuous query, said current value being transmitted to the third operator from the first operator by use of at least one reference and said at least one reference being deleted after said current value being read by the third operator during said processing based on the existing global plan; altering said processing, to cause execution of the new continuous query in addition to said plurality of continuous queries, based on the modified global plan; and outputting from said computer, a stream generated based at least partially on processing of said data by execution of the new continuous query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory 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 transmit to at least the third operator, a current state of the relation, in response to start of execution thereof; wherein prior to receipt of the new continuous query, said current state comprising data is transmitted from the first operator by use of at least one reference and said at least one reference being deleted after said data in said current state being read by the second operator; 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 second operator and said third operator; and instructions to output from said computer, a stream generated based at least partially on processing of said data by execution of each of said operators. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. 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 transmitting a current state of the relation, from the first operator to the second operator but not to a third operator, before transmission of a new tuple having a new time stamp; wherein prior to receipt of the new continuous query, said current state comprising data is transmitted from the first operator by use of at least one reference and said at least one reference being deleted after said data in said current state being read by the third operator. - View Dependent Claims (19, 20, 21)
-
Specification