Continuous processing language for real-time data streams
First Claim
1. A computer-implemented method in a continuous processing system, comprising:
- subscribing to one or more continuous input data streams from one or more publishers of data streams, wherein each of the one or more continuous input data streams is published in a publisher-specific data representation format via a publisher-specific remote communication protocol;
executing a query operation directly on the one or more continuous input data streams, including any windows of data within the one or more continuous input data streams, without any pre-processing of the continuous input data streams, including without storing the continuous input data streams in any data structure, prior to said executing, wherein the query operation is executed on a continuous basis; and
publishing, in real time and on a continuous basis, a result of the query operation to one or more output data streams in a subscriber-specific data representation format via a subscriber-specific remote communication protocol as subscribed to by one or more subscribers, wherein the publisher-specific remote communication protocol varies from the subscriber-specific remote communication protocol.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer software language capable of expressing registered queries that operate on one more or more data streams continuously. The language of the present invention is based on a publish/subscribe model in that queries subscribe to data streams and publish to data streams. Also, the language of the present invention can express queries that operate directly on data streams. Since queries expressed in the language of the present invention may be executed continuously and directly on data streams, the language includes a clause for specifying time-based and/or row-based windows for the input data stream. Operations are then performed on the data within such windows. In one embodiment, the language is also SQL-like and includes a clause for defining named windows (which can be used in any number of queries); a clause for detecting a pattern, and correlated database subqueries for correlating data stream data with database tables.
105 Citations
22 Claims
-
1. A computer-implemented method in a continuous processing system, comprising:
-
subscribing to one or more continuous input data streams from one or more publishers of data streams, wherein each of the one or more continuous input data streams is published in a publisher-specific data representation format via a publisher-specific remote communication protocol; executing a query operation directly on the one or more continuous input data streams, including any windows of data within the one or more continuous input data streams, without any pre-processing of the continuous input data streams, including without storing the continuous input data streams in any data structure, prior to said executing, wherein the query operation is executed on a continuous basis; and publishing, in real time and on a continuous basis, a result of the query operation to one or more output data streams in a subscriber-specific data representation format via a subscriber-specific remote communication protocol as subscribed to by one or more subscribers, wherein the publisher-specific remote communication protocol varies from the subscriber-specific remote communication protocol. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer-readable medium having computer-executable instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method comprising:
-
subscribing to one or more continuous input data streams from one or more publishers of data streams, wherein each of the one or more continuous input data streams is published in a publisher-specific data representation format via a publisher-specific remote communication protocol; executing a query operation directly on the one or more continuous input data streams, including any windows of data within the one or more continuous input data streams, without any pre-processing of the continuous input data streams, including without storing the continuous input data streams in any data structure, prior to said executing, wherein the query operation is executed on a continuous basis; and publishing, in real time and on a continuous basis, a result of the query operation to one or more output data streams in a subscriber-specific data representation format via a subscriber-specific remote communication protocol as subscribed to by one or more subscribers, wherein the publisher-specific remote communication protocol varies from the subscriber-specific remote communication protocol. - View Dependent Claims (6)
-
-
7. A system comprising at least one processor and one memory, the processor including one or more units operating thereon and in conjunction with said memory, the one or more units comprising:
-
a publication manager to subscribe to one or more continuous input data streams from one or more publishers of data streams, wherein each of the one or more continuous input data streams is published in a publisher-specific data representation format via a publisher-specific remote communication protocol; a query module manager to execute a query operation directly on the one or more continuous input data streams, including any windows of data within the one or more continuous input data streams, without any pre-processing of the continuous input data streams, including without storing the continuous input data streams in any data structure, prior to said executing, wherein the query operation is executed on a continuous basis; and a subscription manager to publish, in real time and on a continuous basis, a result of the query operation to one or more output data streams in a subscriber-specific data representation format via a subscriber-specific remote communication protocol as subscribed to by one or more subscribers, wherein the publisher-specific remote communication protocol differs from the subscriber-specific remote communication protocol. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification