IP Library › Granted Patent US 7,979,420
Granted Patent B2
US 7,979,420 · App. 11/873,407 · Granted Jul 12, 2011

Handling silent relations in a data stream management system

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,979,420
App. No.
11/873,407
Granted
Jul 12, 2011
Kind
B2
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.

Claims (81)

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.

2. The method of claim 1 wherein:

the first time stamp is same as the second time stamp.

3. The method of claim 1 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation have a time stamp older than a current time in said computer.

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.

5. The method of claim 4 wherein:

the first time stamp is same as the second time stamp.

6. The method of claim 4 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation have a time stamp older than a current time in said computer.

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.

8. The method of claim 7 wherein:

still another predetermined condition in said group comprises checking if a most-recently received time stamp of the second operator is equal to time stamps of all other inputs of the third operator.

9. The method of claim 7 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation having a time stamp older than a current time in said computer.

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.

11. The non-transitory computer-readable storage medium of claim 10 wherein:

still another predetermined condition in said group comprises checking if a most- recently received time stamp of the second operator is equal to time stamps of all other inputs of the third operator.

12. The non-transitory computer-readable storage medium of claim 10 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation having a time stamp older than a current time in said computer.

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.

14. The non-transitory computer-readable storage medium of claim 13 wherein:

the first time stamp is same as the second time stamp.

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.

16. The non-transitory computer-readable storage medium of claim 15 wherein:

the first time stamp is same as the second time stamp.

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.

18. The method of claim 17 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation have a time stamp older than a current time in said computer.

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.

20. The non-transitory computer-readable storage medium of claim 19 wherein:

the relation is represented incrementally in the global plan, as a plurality of tuples with each tuple being time stamped; and

all tuples of the relation have a time stamp older than a current time in said computer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2008
From: JAIN, NAMIT; SRINIVASAN, ANAND; MISHRA, SHAILENDRA KUMAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 020486/0008 →
Continuity (1)
Related Publication 20090100029A1 · Apr 16, 2009