Method for distributed RDSMS
First Claim
1. A method of reconfiguring a plurality of data stream processing programs executing stream processing queries processing streams of data records on at least one data processing node and communicating with one another over data communications links, said method comprising:
- (a) providing a plurality of said data stream processing programs executing on said at least one data processing node;
(b) processing said streams of data records within a subset of said plurality of said data stream processing programs according to a set of operations including relational stream processing operations;
(c) communicating with at least one external data producer/publisher to send input data streams including sequences of said data records that are then transmitted to input interfaces of an input subset of said plurality of data stream processing programs for processing;
(d) communicating with at least one external data consumer/subscriber to consume output data streams including sequences of said data records output from output interfaces of an output subset of said plurality of said data stream processing programs;
(e) utilizing data including at least a current status of operating statuses of at least one of the statuses selected from the group consisting of;
status of said data communications links, status of said data stream processing programs, and status of currently executing queries; and
utilizing definitions of said streams in order to generate reconfiguration instructions that create a modified configuration of said data stream processing programs, said reconfiguration instructions including configuration changes to stream processing operations and including data stream processing program control operations, said configuration changes including replacing at least one query with a new query to be executed upon at least one currently operational data stream processing program so as to achieve a system-wide input-output processing that functions mathematically equivalently to function of the system before implementation of said new query, with respect to each of said external data producers/publishers and each of said external data consumers/subscribers; and
(f) issuing said reconfiguration instructions to said data stream processing programs determined as needed to put into effect said modified configuration.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and potential embodiment for processing streaming data records is described which provides facilities for defining and naming multiple input and output data streams using relational processing definitions and abstractions similar to those found in relational database management systems (RDBMS) and embodied as a set of communicating stream processing nodes. The result is a Distributed Data Stream Management System (DDSMS) which is also a kind of Relational Data Stream Management System (RDSMS). The former comprises a set of Relational Data Stream Management System (RDSMS) nodes, whereas the latter might contain only a single RDSMS node. A unique combination of the method, means, capabilities, interfaces to and potential embodiments of its constituent elements, work together to provide a seamless and complete DDSMS, and in the optimization strategies and capabilities enabled therein, and in the method, means and embodiments of its stream processing nodes.
45 Citations
11 Claims
-
1. A method of reconfiguring a plurality of data stream processing programs executing stream processing queries processing streams of data records on at least one data processing node and communicating with one another over data communications links, said method comprising:
-
(a) providing a plurality of said data stream processing programs executing on said at least one data processing node; (b) processing said streams of data records within a subset of said plurality of said data stream processing programs according to a set of operations including relational stream processing operations; (c) communicating with at least one external data producer/publisher to send input data streams including sequences of said data records that are then transmitted to input interfaces of an input subset of said plurality of data stream processing programs for processing; (d) communicating with at least one external data consumer/subscriber to consume output data streams including sequences of said data records output from output interfaces of an output subset of said plurality of said data stream processing programs; (e) utilizing data including at least a current status of operating statuses of at least one of the statuses selected from the group consisting of;
status of said data communications links, status of said data stream processing programs, and status of currently executing queries; and
utilizing definitions of said streams in order to generate reconfiguration instructions that create a modified configuration of said data stream processing programs, said reconfiguration instructions including configuration changes to stream processing operations and including data stream processing program control operations, said configuration changes including replacing at least one query with a new query to be executed upon at least one currently operational data stream processing program so as to achieve a system-wide input-output processing that functions mathematically equivalently to function of the system before implementation of said new query, with respect to each of said external data producers/publishers and each of said external data consumers/subscribers; and(f) issuing said reconfiguration instructions to said data stream processing programs determined as needed to put into effect said modified configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method of reconfiguring a plurality of data stream processing programs executing stream processing queries represented as relational expressions comprising sets of relational operators that operate on streams of data records, processing said streams of data records on at least one data processing node and communicating with one another over data communications links, said method comprising:
-
(a) providing a plurality of said data stream processing programs executing on said at least one data processing node; (b) processing said streams of data records within a subset of said plurality of said data stream processing programs according to a set of operations including relational stream processing operations; (c) communicating with at least one external data producer/publisher to send input data streams including sequences of said data records that are then transmitted to input interfaces of an input subset of said plurality of data stream processing programs for processing; (d) communicating with at least one external data consumer/subscriber to consume output data streams including sequences of said data records output from output interfaces of an output subset of said plurality of said data stream processing programs; (e) responding to a trigger event that signifies a need to re-optimize said stream processing queries; and (e) utilizing data including a status history including at least a current status of operating statuses of at least one of the statuses selected from the group consisting of;
status of said data communications links, status of said data stream processing programs, and status of currently executing queries; and
utilizing definitions of said streams in order to generate reconfiguration instructions that create a modified configuration of said data stream processing programs, said reconfiguration instructions including configuration changes to stream processing operations and including data stream processing program control operations, said configuration changes including replacing at least one relational expression of at least one query with a reformulated relational expression of said at least one relational expression to be executed upon at least one currently operational data stream processing program so as to achieve a system-wide input-output processing that functions mathematically equivalently to function of the system before reformulation of said reformulated relational expression, with respect to each of said external data producers/publishers and each of said external data consumers/subscribers; and
,(f) issuing said reconfiguration instructions to said data stream processing programs determined as needed to put into effect said modified˜
configuration.
-
Specification