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 an outcome of said checking finding no data at said any input, said operator processing by assuming receipt from said any input, a null message with a first time stamp, said first time stamp being derived by said computer from a second time stamp of a latest message comprising at least a portion of said data received from another input in said plurality of inputs if at least one predetermined condition is met; and
outputting a stream from said computer, a message in said stream being generated in response to a continuous query based at least partially on said operator processing said data using said null message, and multiple messages including said latest message received on multiple inputs other than said any input;
wherein said at least one predetermined condition comprises checking whether all inputs, of another operator at said any input, have no data.
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.
-
Citations
20 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 an outcome of said checking finding no data at said any input, said operator processing by assuming receipt from said any input, a null message with a first time stamp, said first time stamp being derived by said computer from a second time stamp of a latest message comprising at least a portion of said data received from another input in said plurality of inputs if at least one predetermined condition is met; and outputting a stream from said computer, a message in said stream being generated in response to a continuous query based at least partially on said operator processing said data using said null message, and multiple messages including said latest message received on multiple inputs other than said any input; wherein said at least one predetermined condition comprises checking whether all inputs, of another operator at said any input, have no data. - View Dependent Claims (2, 3)
-
-
4. 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 an outcome of said checking finding no data at said any input, said operator processing by assuming receipt from said any input, a null message with a first time stamp, said first time stamp being derived by said computer from a second time stamp of a latest message comprising at least a portion of said data received from another input in said plurality of inputs if at least one predetermined condition is met; and outputting a stream from said computer, a message in said stream being generated in response to a continuous query based at least partially on said operator processing said data using said null message, and multiple messages including said latest message received on multiple inputs other than said any input; wherein said at least one predetermined condition comprises checking whether a maximum time stamp among all inputs, of another operator at said any input, is equal to a time stamp that was last received from said all inputs. - View Dependent Claims (5, 6)
-
-
7. 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; said computer 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 (8, 9)
-
-
10. A non-transitory computer-readable storage medium comprising 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 at least one computer 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. - View Dependent Claims (11, 12)
-
-
13. A non-transitory computer-readable storage medium comprising computer instructions, said computer instructions comprising:
-
instructions to awaken an operator to process data received from a plurality of streams, said operator comprising a plurality of inputs; instructions to check if any input in said plurality of inputs of said operator has no data; instructions, responsive to an outcome of execution of said instructions to check finding no data at said any input, to process by assuming receipt from said any input, of a null message with a first time stamp, said first time stamp being derived by a computer from a second time stamp of a latest message comprising at least a portion of said data received from another input in said plurality of inputs if at least one predetermined condition is met; and instructions to output a stream comprising a message generated in response to a continuous query based at least partially on execution of said operator to process said data using said null message, and multiple messages including said latest message received on multiple inputs other than said any input; wherein said at least one predetermined condition comprises instructions to check whether all inputs, of another operator at said any input, have no data. - View Dependent Claims (14)
-
-
15. A non-transitory computer-readable storage medium comprising computer instructions, said computer instructions comprising:
-
instructions to awaken an operator in at least one computer to process data received from a plurality of streams, said operator comprising a plurality of inputs; instructions to check if any input in said plurality of inputs of said operator has no data; instructions, responsive to an outcome of execution of said instructions to check finding no data at said any input, to process by assuming receipt from said any input, of a null message with a first time stamp, said first time stamp being derived by a computer from a second time stamp of a latest message comprising at least a portion of said data received from another input in said plurality of inputs if at least one predetermined condition is met; and instructions to output a stream comprising a message generated in response to a continuous query based at least partially on execution of said operator to process said data using said null message, and multiple messages including said latest message received on multiple inputs other than said any input; wherein said at least one predetermined condition comprises instructions to check whether a maximum time stamp among all inputs, of another operator at said any input, is equal to a time stamp that was last received from said all inputs. - View Dependent Claims (16)
-
-
17. 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; said computer 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 a most-recently received time stamp of the second operator is equal to a time stamp that was last received from all other inputs of said third operator; and storing the altered global plan in a memory of said computer. - View Dependent Claims (18)
-
-
19. A non-transitory computer-readable storage medium comprising computer instructions, said computer 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; 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 a most recently received time stamp of the second operator is equal to a time stamp that was last received from all other inputs of said third operator; and instructions to store the altered global plan in a memory of a computer. - View Dependent Claims (20)
-
Specification