Patent ID: 8521770

Claim:
A method of brokering messages comprising data records between publishers and subscribers using at least one data processing device, said method comprising: said at least one data processing device comprising one or more processors; providing at least one data stream processing program executing on said at least one data processing device for processing streams of data records; processing said streams of data records within said data stream processing programs according to a set of relational stream processing operations that comprise stream processing queries, wherein each said at least one data processing device performs said processing without a need to include a persistent relational database element to process said streams of data records; communicating with a collection of external data publishers to create input data streams for processing by said data stream processing programs; communicating with a collection of external data subscribers to consume output data streams of said data stream processing programs; allowing said external data subscribers to create subscriptions in the form of subscription queries comprising stream processing queries including relational stream processing queries; evaluating said subscription queries against said streams by executing the stream processing operations of said subscription queries within said data stream processing programs; generating a stream of query subscription answer records per subscription from said subscription queries; sending said query subscription answer records for each subscription to said external data subscribers via a stream answer mechanism such that said data records can be read individually; allowing said external data subscribers to be notified when there are at least one of said data records available for reading.