Method for Distributed RDSMS
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.
The invention differs from other documented RDSMS systems in its unique combination of the method, means, capabilities, interfaces to and potential embodiments of its constituent elements, which 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. It also has novel means of data recovery both from local buffered data and through recursive recovery.
A number of novel applications of DDSMS are also described which provide a new way of existing IT problems, and at the same time afford compelling business value and offer compelling technical advantages.
The invention has resulted from the inventors extensive real-world experience gained in developing stream-processing solutions and software infrastructure in the Telecommunication fields over the last six years, along with over 20 years working various software infrastructure technologies and businesses.
51 Citations
29 Claims
-
1-18. -18. (canceled)
-
19. 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 device 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 device; (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 (f) 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 query with a new formulation of said 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 said trigger event, with respect to each of said external data producers/publishers and each of said external data consumers/subscribers; and
,issuing said reconfiguration instructions to said data stream processing programs determined as needed to put into effect said new configuration. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification