TRANSACTIONAL QUALITY OF SERVICE IN EVENT STREAM PROCESSING MIDDLEWARE
First Claim
1. A computer-implemented method for achieving transactional quality of service in a transactional object store system having at least one client issuing transaction requests, at least one publishing object, at least one read-only derived object, and at least one event stream processing query, wherein a change to the at least one publishing object defines an event to be delivered to one or more of the at least one event stream processing query, wherein a state of the at least one read-only derived object represents a result of an event stream processing query, and wherein the at least one event stream processing query repeatedly receives an event from one or more of the at least one publishing object, determines a result based on a history of events from the one or more publishing object, and delivers the result to a read-only derived object of the at least one read-only derived object, the computer-implemented method comprising:
- receiving a transaction from a client of the at least one client;
executing the transaction, wherein the transaction comprises one of reading a read-only derived object of the at least one read-only derived object, reading another object or writing another object, and wherein the transaction ends with one of a decision to request committing the transaction or a decision to request aborting the transaction;
responsive to a decision to request committing the transaction, wherein the transaction comprises writing one of the at least one publishing object, delivering events to event stream processing queries, and executing the delivered event stream processing queries in parallel with the executing of the transaction; and
responsive to a decision to request committing a transaction that comprises reading one of the at least one read-only derived object, performing a validation to determine whether the transaction can proceed to be committed, whether the transaction should abort, or whether the validation should delay waiting for one or more event stream processing queries to complete,wherein if a first transaction updates a publishing object that triggers an event processing query that updates a derived object, any second transaction occurring logically later must see the updated value of the derived object.
1 Assignment
0 Petitions
Accused Products
Abstract
Computer implemented method, system and computer usable program code for achieving transactional quality of service in a transactional object store system. A transaction is received from a client and is executed, wherein the transaction comprises reading a read-only derived object, or reading or writing another object, and ends with a decision to request committing the transaction or a decision to request aborting the transaction. Responsive to a decision to request committing the transaction, wherein the transaction comprises writing a publishing object, events are delivered to event stream processing queries, and are executed in parallel with executing of the transaction. Responsive to a decision to request committing a transaction that comprises reading a read-only derived object, a validation is performed to determine whether the transaction can proceed to be committed, whether the transaction should abort, or whether the validation should delay waiting for one or more event stream processing queries to complete.
-
Citations
20 Claims
-
1. A computer-implemented method for achieving transactional quality of service in a transactional object store system having at least one client issuing transaction requests, at least one publishing object, at least one read-only derived object, and at least one event stream processing query, wherein a change to the at least one publishing object defines an event to be delivered to one or more of the at least one event stream processing query, wherein a state of the at least one read-only derived object represents a result of an event stream processing query, and wherein the at least one event stream processing query repeatedly receives an event from one or more of the at least one publishing object, determines a result based on a history of events from the one or more publishing object, and delivers the result to a read-only derived object of the at least one read-only derived object, the computer-implemented method comprising:
-
receiving a transaction from a client of the at least one client; executing the transaction, wherein the transaction comprises one of reading a read-only derived object of the at least one read-only derived object, reading another object or writing another object, and wherein the transaction ends with one of a decision to request committing the transaction or a decision to request aborting the transaction; responsive to a decision to request committing the transaction, wherein the transaction comprises writing one of the at least one publishing object, delivering events to event stream processing queries, and executing the delivered event stream processing queries in parallel with the executing of the transaction; and responsive to a decision to request committing a transaction that comprises reading one of the at least one read-only derived object, performing a validation to determine whether the transaction can proceed to be committed, whether the transaction should abort, or whether the validation should delay waiting for one or more event stream processing queries to complete, wherein if a first transaction updates a publishing object that triggers an event processing query that updates a derived object, any second transaction occurring logically later must see the updated value of the derived object. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product stored in a computer usable medium having computer usable program code embodied therein for achieving transactional quality of service in a transactional object store system having at least one client issuing transaction requests, at least one publishing object, at least one read-only derived object, and at least one event stream processing query, wherein a change to the at least one publishing object defines an event to be delivered to one or more of the at least one event stream processing query, wherein a state of the at least one read-only derived object represents a result of an event stream processing query, and wherein the at least one event stream processing query repeatedly receives an event from one or more of the at least one publishing object, determines a result based on a history of events from the one or more publishing object, and delivers the result to a read-only derived object of the at least one read-only derived object, the computer program product comprising:
-
computer usable program code configured for receiving a transaction from a client of the at least one client; computer usable program code configured for executing the transaction, wherein the transaction comprises one of reading a read-only derived object of the at least one read-only derived object, reading another object or writing another object, and wherein the transaction ends with one of a decision to request committing the transaction or a decision to request aborting the transaction; responsive to a decision to request committing the transaction, wherein the transaction comprises writing one of the at least one publishing object, computer usable program code configured for delivering events to event stream processing queries, and for executing the delivered event stream processing queries in parallel with the executing of the transaction; and responsive to a decision to request committing a transaction that comprises reading one of the at least one read-only derived object, computer usable program code configured for performing a validation to determine whether the transaction can proceed to be committed, whether the transaction should abort, or whether the validation should delay waiting for one or more event stream processing queries to complete, wherein if a first transaction updates a publishing object that triggers an event processing query that updates a derived object, any second transaction occurring logically later must see the updated value of the derived object. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A transactional object store system, comprising:
-
at least one client issuing transaction requests; at least one publishing object, at least one read-only derived object, and at least one event stream processing query, wherein a change to the at least one publishing object defines an event to be delivered to one or more of the at least one event stream processing query, wherein a state of the at least one read-only derived object represents a result of an event stream processing query, and wherein the at least one event stream processing query repeatedly receives an event from one or more of the at least one publishing object, determines a result based on a history of events from the one or more publishing object, and delivers the result to a read-only derived object of the at least one read-only derived object, the transactional object store system further comprising; an execution mechanism for executing a transaction received from a client of the at least one client, wherein the transaction comprises one of reading a read-only derived object of the at least one read-only derived object, reading another object or writing another object, and wherein the transaction ends with one of a decision to request committing the transaction or a decision to request aborting the transaction; a delivering mechanism, responsive to a decision to request committing the transaction, wherein the transaction comprises writing one of the at least one publishing object, for delivering events to event stream processing queries, and for executing the delivered event stream processing queries in parallel with the executing of the transaction; and a validation mechanism, responsive to a decision to request committing a transaction that comprises reading one of the at least one read-only derived object, for performing a validation to determine whether the transaction can proceed to be committed, whether the transaction should abort, or whether the validation should delay waiting for one or more event stream processing queries to complete, wherein if a first transaction updates a publishing object that triggers an event processing query that updates a derived object, any second transaction occurring logically later must see the updated value of the derived object. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification