Self-optimization of event processing implementation by autonomic selection of optimized implementation for each function
Original Publication Date: 2009-Jun-30
Included in the Prior Art Database: 2009-Jun-30
This article describes the idea that event processing functions can be implemented using a variety of implementations based on variance in functional and nonfunctional requirements. This is beyond the current state of the art that assumes monolithic implementation for each function.
Event processing products today are implemented by monolithic engines, providing a single implementation of any single event processing function for all cases.
There is a variance between different cases that stems from both fine tuning in semantic interpretation of the same function, and variance in the nonfunctional requirements.
An example of the first case is that a function such as
"detect a pattern of type sequence (ordered collection) of events types e1, e2, e3" is implemented using one implementation that attempts to give good enough performance for all cases; however, some examples for this variety are:
Cartesian product of all instances;
Each event instance overrides the previous one - thus only one event per type is kept.
Events are matched according to their order, i.e. -
Each of these cases has a different optimal implementation that can be selected during the application deployment.
The innovation presented here consists of :
Collection of optimal implementations for each function that takes into consideration functional and nonfunctional variances.
Self-optimization that dynamically selects for each function the optimal implementation for the specific case that is used in the defined application and deploys the optimal implementation to run-time.
Each implementation will be for a single function and thus have very sm...