Facilitating flexible windows in data stream management systems
First Claim
Patent Images
1. A method of processing continuous data streams in a data stream management system, said method comprising:
- receiving a query to be executed in a window on a continuous data stream and a software code associated with said window;
determining a set of data values to be included in said window based on execution of said software code, wherein said set of data values is contained in a plurality of data values received in said continuous data stream; and
generating a output of said query based on said set of data values included in said window,wherein said determining comprises;
receiving a first data value contained in said plurality of data values at a first time instant in said continuous data stream;
checking whether said first data value is to be included in said window by executing said software code; and
adding said first data value to said set of data values, only if said first data value is to be included in said window.
1 Assignment
0 Petitions
Accused Products
Abstract
Facilitating flexible windows in querying continuous data streams. In one embodiment, a software code is associated with a window, wherein execution of the software code determines the values to be included in the window. On receiving a query indicating the window, the result of the query is generated based on the values in the window determined by execution of the software code. The software code may be identified by an identifier and thus used for different queries on the same or different continuous data streams.
-
Citations
20 Claims
-
1. A method of processing continuous data streams in a data stream management system, said method comprising:
-
receiving a query to be executed in a window on a continuous data stream and a software code associated with said window; determining a set of data values to be included in said window based on execution of said software code, wherein said set of data values is contained in a plurality of data values received in said continuous data stream; and generating a output of said query based on said set of data values included in said window, wherein said determining comprises; receiving a first data value contained in said plurality of data values at a first time instant in said continuous data stream; checking whether said first data value is to be included in said window by executing said software code; and adding said first data value to said set of data values, only if said first data value is to be included in said window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of retrieving desired information from continuous data streams, said method being executed in a client system, said method comprising:
-
sending a query to be executed in a window on a continuous data stream and a software code associated with said window, wherein said software code is to be used to determine the values to be included in said window; and receiving a result comprising a plurality of outputs at corresponding time instants in response to said sending, wherein each of said plurality of outputs is generated by executing said query on a set of data values included in said window at said corresponding time instant, wherein said set of data values are determined to be included in said window at each of said corresponding time instants based on execution of said software code, wherein said set of data values are contained in a plurality of values received in said continuous data stream, wherein said software code, when executed, specifies a corresponding width for said window at each of said corresponding time instants, wherein the width is variable and not equal for at least two of said time instants.
-
-
10. A computing system comprising:
-
a data source to send a plurality of data values on a continuous data stream; a client system to send a query to be executed in a window on said continuous data stream and a software code associated with said window; and a data stream manager comprising; a request manager to receive said query and said software code from said client system; a query processor to receive said plurality of data values from said data source and to determine a set of data values to be included in said window based on execution of said software code, wherein said set of data values is contained in said plurality of data values, to determine said set of data values to be included in said window, said query processor is operable to; receive a first data value contained in said plurality of data values at a first time instant in said continuous data stream; check whether said first data value is to be included in said window by executing said software code; and add said first data value to said set of data values, only if said first data value is to be included in said window; and an output generator to generate an output of said query based on said set of data values included in said window and to send said output to said client system as a response to said query, wherein at least one of said data source, said client system and said data stream manager is implemented to contain a processor and a memory. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A machine readable medium storing one or more sequences of instructions for causing a system to process continuous data streams, wherein execution of said one or more sequences of instructions by one or more processors contained in said system causes said system to perform the actions of:
-
receiving a query to be executed in a window on a continuous data stream and a software code associated with said window; determining a set of data values to be included in said window based on execution of said software code, wherein said set of data values is contained in a plurality of data values received in said continuous data stream; and generating a output of said query based on said set of data values included in said window, wherein said determining further comprises; receiving a first data value contained in said plurality of data values at a first time instant in said continuous data stream; checking whether said first data value is to be included in said window by executing said software code; and adding said first data value to said set of data values, only if said first data value is to be included in said window. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A machine readable medium storing one or more sequences of instructions for causing a client system to retrieve desired information from continuous data streams, wherein execution of said one or more sequences of instructions by one or more processors contained in said client system causes said client system to perform the actions of:
-
sending a query to be executed in a window on a continuous data stream and a software code associated with said window, wherein said software code is to be used to determine the values to be included in said window; and receiving a result comprising a plurality of outputs at corresponding time instants in response to said sending, wherein each of said plurality of outputs is generated by executing said query on a set of data values included in said window at said corresponding time instant, wherein said set of data values are determined to be included in said window at each of said corresponding time instants based on execution of said software code, wherein said set of data values are contained in a plurality of values received in said continuous data stream, wherein said software code contains at least one programming instruction which, when executed, specifies a corresponding width for said window at each of said corresponding time instants, wherein the width is variable and not equal for at least two of said time instants.
-
Specification