This is a blog describing some thoughts about issues related to event processing and thoughts related to my current role. It is written by Opher Etzion and reflects the author's own opinions
Sunday, February 2, 2014
Revisiting the FFD example in the EPIA book - call for contributions
Saturday, January 26, 2013
On airport events
Saturday, November 10, 2012
On IBM scientific accomplishment
Saturday, October 27, 2012
StreamEPS from SGT - an open source event processing from Ghana
Saturday, October 1, 2011
On context and punctuation
punctuation in the database encyclopedia (the value was written by Maier and Tucker) says:
In other words, this is a "dummy event" put into the stream to denote the end of a sub-stream.
Now the question is whether using windows + punctuation + group-by is indeed simple. The relational model's claim to fame is its simplicity, however, from early days of the relational model, it has been realized that there are semantic anomalies, and all the normalization rules came to resolve those anomalies, yet, the overall model has been simple. However, this is not really true for the extension of the relational model for streams, while the relational model has a single entity: relation, the extension has multiple entities: relation, stream, window. Punctuation is a kind of trying to add semantics as a kind of logical patch.
IMHO, the context model is semantically cleaner. It has a single semantic notion for all the constructs that determine how to group event together (in the stream terminology, create sub-streams). In the context model there are no dummy event; the notion of temporal context (window) can also support event intervals - time windows that start by event and end by event; the events that start and end the window are real events, and can be used for other purposes. Moreover, looking at the definition of punctuation above, it defines the end of a sub-stream, but assumes that the next bid starts when a new bid event arrives. However, if we look at a situation where bids have not only "end bid" events, but also "start bid" events, then we would like to ignore bids that arrive when no bid is open, and this has no natural representation, and has to be implemented with tricks, so we also need the equivalent of "start sub-stream punctuation". So, we view this as kind of context based on , and not as kind of event within the stream with a special semantics.
The model we presented in EPIA (which we keep evolve) to be a semantic model that provides abstractions above the current implementations of both event and stream processing systems; several product owners have already told us that they use concepts from the book as inspiration to next versions of their products, and I guess that full implementation that is based on this model as native is yet to come.
Friday, July 22, 2011
Another implementation of the "Fast Flower Delivery"
In the EPIA book, we had a running example used for demonstrating all constructs in the book, the example described a scenario called: "Fast Flower Delivery". During the book writing we approached the event processing community and issued call for implementations, there has been six implementations that were ready during the book's writing: Aleri (currently Sybase), Apama(Progress), Esper, Etalis, ruleCore and Streambase. It seems that more implementations are being devised, I was asked for permission to use the "Fast Flower Delivery" scenario as the running example in an upcoming book teaching the use of one of the products, will write about that when this book will be out.
Recently, an implementation of this scenario in IBM Websphere Business Events (WBE) was posted on IBM developerWorks as a tutorial to teach the use of that product.
Seems to becoming the "Hello World" of event processing.
Monday, June 27, 2011
A course based on the EPIA book
I got a request today to share the slides that I am using for the event processing course at the Technion, based on the EPIA book, in order to use it for an event processing academic course. At this point I will share it in a controlled way for those who wish to use it to give a course, if you are interested to give a course based on this book, please let me know and I'll give you access to the course's site.
Monday, June 13, 2011
On the boundaries of windows
Today I heard rain knocking on the window. Rain in June is quite a rare event in Haifa, but happened before. When I lived in the USA it was always peculiar to me to watch heavy rains and thunderstorms in the summer.
Looking at windows, window in event processing is an important concept, designating temporal context. we have discussed this issue in length in chapter 7 of the EPIA book, Windows can be isolated or sliding, isolated windows can start by event or fixed time, end by event or fixed time, or expire after some time offset.
Sliding windows can slide by time, or by event count, and can be overlapping or non-overlapping.
In any of these variations, every single window is a time interval. The question is what type of interval - open or closed on both ends.
In the book we mention two types of intervals:
For most types of window, we used the half open window, if the interval boundaries are denoted by Ts and Te (for start and end), then an event whose time-stamp is T belongs to the window if Ts ≤ T < Te, which says that events that occur in the interval starting point are included, and those at the interval ending point are not included. This, for example, guarantees, that in non-overlapping sliding time window, an event belongs to exactly one window instance.
For the sliding event window we used the close interval semantics Ts ≤ T ≤ Te. The rationale is that if the sliding window has a count of five events, we typically mean that all of those five events belong to this window.
Some comments here: I have heard the opinion that it is not an issue, since there are systems which create total order of events, serializing them, by having a single process that assigns time-stamps. These can be valid for some applications, but is not valid in the general case due to two reasons:
- The event that starts or ends the window can by itself participate in some EPAs that are active in this window, thus a decision is needed whether it participates or not.
- In various applications the applicable time-stamp is the occurrence time of this event as reported by its source, and not the detection time assigned by the system, thus several events can occur at the same time-point. Furthermore, even in the assigned detection time, in distributed systems there may be multiple entry points, and ensuring total order may not be cost effective.
Tuesday, February 15, 2011
Some catching up
Have not written for the last week, spent some of it in the IBM La Gaude site, near Nice, in South France, the La Gaude site is on mountain and can be seen in a bird eye's view here. The meeting was an internal meeting of "technical leaders" (whatever it is) in IBM South and West Europe, and was kind of educational and networking session. Back home - occupied by some family matters, so now I found some time to catch up. First looking at the Blogland, one can find two old bloggers returning after long silence, one of them is Brian Connell, who returned to blogging after a long time, the other is Marco from Rulecore, who also returned to blogging after a long silence. In a comment to my Blog, the Rulecore guys are wondering why Rulecore is not mentioned in the ACM Computing Survey upcoming survey on event processing while other are mentioned. I think that the reason is quite obvious, while I am familiar with Rulecore (they participated in the implementation of the EPIA example; my students used them in project several times), if one wants to be known by the academic community, then one has to participate in the research oriented conferences, publish (at least industrial) papers etc --- in our world, visibility is the name of the game, so you might consider sending an industrial paper or experience report to DEBS 2011, or participate in the DEBS 2011 challenge.
Another blog (Jason Irwin's) that I don't typically follow provides a new review of the EPIA book.
My next trip is planned for late March in the USA, I was invited to give a tutorial on event processing as one of the highlights of the OMG Technical Conference, I might also do some other meetings in the USA (customers' meeting, IBM meetings, university visits), but still working on the plan.
Saturday, January 1, 2011
My 2010
Friday, December 10, 2010
On ACM Distinguished Speaker Program
Today the ACM Distinguished Speaker program announced my inclusion in the list of "ACM Distinguished Speakers". The program is described in the ACM DSP site, while this is a big honor, especially looking at list of speakers that include some real giants, it is not a recognition program, but a program that has a mission stated as: The DSP is an outreach program if ACM that brings distinguished speakers from academia, industry and government to give presentations to ACM chapters, members and the greater IT community.
The outreach mission means that by accepting the nomination to ACM Distinguished Speaker, I commit to
travel and give talks by request of local ACM chapters worldwide, there are some ground rules that can be found on the site, e.g. to justify international travel (fully funded by ACM) there should be an accumulated audience of 300 people, so it typically entails multiple talks during a single trip. I am in the opinion that I should spend some of my time in sharing knowledge with the greater community, this is the reason I am teaching, providing long tutorials in various conferences, and wrote (together with Peter Niblett) the book "Event Processing in Action". Thus, accepting this nomination is another link in the chain, and I'll try to do my best to satisfy requests, especially from places in the world which don't get a lot of talks on the event processing area.
My speaker page shows four proposed talks, three of them deal in event processing:
- A short tutorial that serves as introduction to event processing -- summarizing the material in the EPIA book.
- A talk about the research challenges that exist and a "call for action" to the research community in a way to move the event processing area towards its next generations
- A talk about proactive computing, one of the extension directions of event processing, on which I concentrate recently.
The fourth talk is on more general theme: Computer Science Research in Industry -- some history and different models of how it operates.
I hope that it will be both useful to the audience and fun.
Tuesday, October 19, 2010
Teaching an event processing course again
I think that I continue to do it, since I like the interaction with students, and it is also means to evangelize "event processing" to the younger generation; it also provides exposure to graduate students to work with, as over the years I have supervised (or co-supervised) 6 PhD dissertations and 21 MSc thesis, if my count is right. It is also source for recruiting. Quite a lot of my colleagues in IBM have been my own students (which I supervised), or my teaching assistants, or students that took courses with me.
The way my courses are designed revolve among the following principles:
For historical reasons the course is called "database engineering" and always there is a student who expects to see classical database course, for these students I answer that today in any database conference, data stream management is one of the emerging areas, and I am giving a flavor of it (my approach is not database centric,thought), I also show students some analysts testimonies that event processing is an emerging markets in general. The second principle is deep dive -- the course is going more on depth then on breadth, the students should gain deep understanding in what event processing is. The last principle is retain over time, my own experience is that to retain over time students have to experience themselves, so they'll get implementation project, I have not yet decided what the projects will be, gave myself time until next week.
I am using the EPIA book as a text book, but this time will not focus on the FFD example.
I might create teaching materials for this course so that others will be able to reuse it.
Wednesday, September 29, 2010
New review for the EPIA book
It is holiday again, and tomorrow I am leaving for a short (2 days) vacation here in Israel with my family, and then in Sunday night, travelling to the USA for a short (4 days) business trip, where the highlight will be participation in the event processing - capital markets conference of OMG EP CoP; here is the conference's program. I have been travelling too much recently, hope that after this trip I'll have a break in travelling.
Today I've noticed a new review of the EPIA book posted by Tushar Jain, a person I have not been familiar with so far. Good to see that people like the book. The reviewer is right that the conceptual model we described in the book still need to obtain acceptance like UML and BPMN, well -- the next step is to try and work on standard proposal for event processing modeling language, and I'll take advantage of my coming trip to USA to try and kickoff this activity.
One comment -- I don't see the other books mentioned as competitive. The book of Mani Chandy and Roy Schulte is a business oriented book, and our book is a technical oriented book, so the intersection is fairly limited, furthermore, we mention in the book that we don't deal thoroughly with the business perspective, and recommend Chandy and Schulte's book as a complimentary for those who would like to get deeper understanding of the business perspective. Later in October I'll start teaching again a course in the Technion based on the EPIA book (first one since the book is out, though I have used the book's draft for previous course).
Wednesday, August 4, 2010
The book: Event Processing IN ACTION - is now out
I still need to write something about the vacation in Western Canada, but returning to the office today, I have received a package of copies of the EPIA book, that was just published. The project of writing this book (in my spare time) was quite demanding, and was twice longer than the original expectation. I have talked with some colleagues who wrote books for other publishers recently, and found out that relative to their experience, Manning has exceptional quality control procedures, with three reviews by readers during the book's development, and a multi-stage production process with a lot of iteration between the authors and various people on the production team -- technical proofreader, copy editor, proofreader and the production manager. Thursday, April 22, 2010
On the production phase of the EPIA book

Monday, March 22, 2010
Some media events
I have written last week about participating in an entrepreneurship panel, where there has been a discussion on whether innovation in big companies is counted or not, it turns out that the echo of this discussion got to the national press in Israel, although you have to read Hebrew in order to understand what is written. Well - for those who do, they did not quote me accurately, and even did not spell my name correctly... go figure.Thursday, February 25, 2010
On spatial relations between events and entities

Sunday, December 20, 2009
On common misconceptions about event processing - the single application misconception
We start the introduction chapter for the EPIA book, by stating: Some people say that event processing is the next big thing; some people say that event processing is old hat and there is nothing really new in it. Both groups may be right to a certain extent. As with any field that is relatively new there is some fog around it: some of the fog stems from misconceptions, some from confusing messages by vendors and analysts, and some arises because of a lack of standards, a lack of agreement on terms, and a lack of understanding about some of the basic issues. In the book we don't really talk about the misconceptions, but I think it is a good topic towards the end of 2009 to dedicate some postings towards the major misconceptions.
I'll start with misconception number 1: Event processing is a single-industry (some even say single-application) technology, and event processing software cannot generalize beyond this single industry/application.
The industry is, of course, capital markets, and the application is algorithmic trading
The diagram below is taken from the ebizQ customers survey (two years ago) about what are the business problems that they expect to solve with event processing, and the result is 9% indicated algorithmic trading.
This misconception is originated from the fact that the capital market industry has indeed been the early adopter of event processing software, and served as a proof of concept for the rest of the industries, there are indeed some vendors that focus mainly around this type of application, however, this does not show the entire picture. From the IBM experience I know of customers in various industries, most are not in the capital market area. Getting to the material collected by the EPTS use case work group (the material is on the EPTS members internal site, available to EPTS members) I find quite a lot of examples of systems working in production or being developed from variety of domains, here are some samples:- Border security radiation detection (Eventzero)
- Mobile asset geofence (Rulecore)
- Logistic and scheduling application (Starview)
- Unauthorized use of heavy machinery (Rulecore)
- Hospital patient and asset tracking (IBM)
- Activity monitoring for taxing and fraud detection (IBM)
- Intelligent CRM in banking (TIBCO)
- EDA and asynchronous BPM in retail (TIBCO)
- Situation awareness in energy utilities (TIBCO)
- Situation awareness in airlines (TIBCO)
- Reduce cost in injection therapy (IBM)
- Next generation navigation (CITT)
- Real-time management of hazardous materials (Oracle)
- Finding anomalies in point of sales in retail stores (CA)
- Elderly behavior monitoring (U. of Munich)
Saturday, December 19, 2009
More on the ecosystem of event processing systems
The one week school break for children ends tomorrow, and today I went with my two younger daughters to see Avatar, a very ambitious movie with a lot of advanced 3D graphics. The downside is that the film spans over 3 hours without a break -- could cut 1 hour easily, but nevertheless the graphics is very impressive, the plot is kind of paraphrase on other movies.
Friday, December 11, 2009
On EPIA Website

This is a link to the website. The website is hosted in the book section if the EPTS website.

























