Friday, December 18, 2009

On event processing fuctions

I have been in a short vacation, and went with (some of) my family to see the film 2012, it is based on an ancient prophecy that the world as we know it will come to an end in December 21st, 2012 -- three more years to see whether this prophecy will come true.

This time I would like to write about event processing functions, I have written about them before, just summarizing it in one place.

There are various functions under the roof of event processing, some applications need all of them, but many applications need only part of them, in various level of sophistications.

Here are the major functions that I have observed:

1. Event distribution: This is the most basic one, event consumers are disseminating events through some intermediate brokers (often called channels), the events may be filtered, but are transfered without change, where any processing occur within the consumer's premises and is not part of the event processing system. Pub/sub systems are of this type, and there is a lot of work about such systems in the distributed computing area.

2. Event transformation: This goes another step and send the consumers transformed events, where the transformation may be translation, aggregation, composition, enrichment, projection and split. Aggregation is probably the most notable use of transformation, and there are many applications whose main usage of event processing is transformation.

3. Event pattern matching: This function is to find whether any subset of the input events satisfy a predefined pattern.

Note that some systems require transformation only, some require pattern matching only, some require both, systems can also have different levels of sophistication in both. It may require very simple patterns only, or sophisticated patterns; likewise it may require very simple types of transformation or much more advanced ones.

4. Situation discovery / event pattern discovery: This function is to discover that some situation occurs without having a predefined patterns, using intelligent techniques. While the first three types of functions are more investigated (although I can't say that all issues are figured out), the fourth one is still a challenge, since there are some experiments, but generally it is not well established yet.

This also remind me of a different topic -- misconceptions around event processing, and I'll write about this topic soon.

1 comment:

Rainer said...

The realistic and actual problem of 2012 could be the next solar storm predicted for around 2012. I'm considering since some time whether the scenarios, also from NASA, could be an application scenario for EP and if we should try to build an according EPN for alerting and reacting on event patterns - in the sense of ed(B)PM of course:-), because we would have to model processes for what we would/could do in which case, in near realtime, because the time stamp resp. the timeframe to react would be very short. Without such modeled processes there would be no value of EP or edBPM and also no business value:-) (thanks for our nice discussion yesterday evening in connetion with the new EPTS working group BV CEP/edBPM)

http://www.newscientist.com/article/mg20127001.300-space-storm-alert-90-seconds-from-catastrophe.html
http://www.nap.edu/catalog.php?record_id=12507
http://www.foxnews.com/story/0,2933,478024,00.html
http://www.space.com/scienceastronomy/081107-new-sunspots.html

But what would happen with EP itself in the worst case of how the solar storm will hit this planet this time? And what would happen with the industialzed countries? Chaos? Hysteria? Self-destruction? But perhaps we would have solved the problem of global warming early enough then?? What would the Amazonas indians think who perhaps will never recognize these events and will survive??

I would be really curious to know what our industries, emergency managements and governments are planning, because there is no information so far actually and each bank and HFT/AlgoTrading companies etc. would get bankrupt.