Handling Silent Relations In A Data Stream Management System
First Claim
1. A method, implemented in a computer, to manage a plurality of streams of data, and a plurality of relations that supply data infrequently relative to said plurality of streams, the method comprising:
- awakening an operator to process said data, said operator comprising a plurality of inputs;
checking if any input in said plurality of inputs of said operator has no data;
based on outcome of said checking, assuming receipt from said any input, of a null message with a time stamp same as a latest message comprising said data, from among all inputs in said plurality of inputs if a group of predetermined conditions are met; and
outputting a stream from said computer, said stream being generated based at least partially on said operator processing said data using said null message.
1 Assignment
0 Petitions
Accused Products
Abstract
A new continuous query to a data stream management system (DSMS) may use a silent relation whose source does not provide any heartbeats. During execution of any given operator, the DSMS processes data from one input (“active input”) using its time stamp as if the same time stamp is received from another input whose relation has fallen silent (“empty input”), if one or more predetermined conditions are met. One predetermined condition is that the empty input'"'"'s operator has all its own inputs silent. And another predetermined condition is that a maximum time stamp that is currently present among all the inputs of the empty input'"'"'s operator is equal to a time stamp that was last received from these same inputs. When both conditions are met, previously received data from the empty input is time stamped with the same time stamp as the most recently received data from the active input.
153 Citations
7 Claims
-
1. A method, implemented in a computer, to manage a plurality of streams of data, and a plurality of relations that supply data infrequently relative to said plurality of streams, the method comprising:
-
awakening an operator to process said data, said operator comprising a plurality of inputs; checking if any input in said plurality of inputs of said operator has no data; based on outcome of said checking, assuming receipt from said any input, of a null message with a time stamp same as a latest message comprising said data, from among all inputs in said plurality of inputs if a group of predetermined conditions are met; and outputting a stream from said computer, said stream being generated based at least partially on said operator processing said data using said null message. - View Dependent Claims (2, 3)
-
-
4. A method, implemented in a computer, to manage a plurality of streams of data, the method comprising:
-
receiving a new continuous query to be executed on at least a relation in a global plan to execute a plurality of queries on at least said plurality of streams; creating for at least a first operator in the new continuous query, a list of operators in said global plan, wherein said operators supply data on the relation, and said data is supplied infrequently relative to said plurality of streams; altering said global plan to include the new continuous query in addition to said plurality of continuous queries, thereby to result in an altered global plan; wherein the altered global plan treats data received by a third operator at a first input not on said list as if a first time stamp is received at a second input of said third operator from a second operator on said list, said first time stamp being associated with the data from the first operator if a group of predetermined conditions are met; wherein at least one predetermined condition in said group is if the second operator has no data to supply; and storing the altered global plan in a memory of said computer. - View Dependent Claims (5, 6)
-
-
7. A computer-readable storage medium encoded with instructions, said instructions comprising:
-
instructions to receive a new continuous query to be executed on at least a relation in a global plan to execute a plurality of queries on at least said plurality of streams; instructions to create for at least a first operator in the new continuous query, a list of operators in said global plan, wherein said operators supply data on the relation, and said data is supplied infrequently relative to said plurality of streams; and instructions to alter said global plan to include the new continuous query in addition to said plurality of continuous queries, thereby to result in an altered global plan; wherein the altered global plan treats data received by a third operator at a first input not on said list as if a first time stamp is received at a second input of said third operator from a second operator on said list, said first time stamp being associated with the data from the first operator if a group of predetermined conditions are met; wherein at least one predetermined condition in said group is if the second operator has no data to supply.
-
Specification