Thursday, June 26, 2008

On EP and Analytics



Recently, some of my fellow-bloggers have occupied themselves with the question whether analytics are integral necessary part from CEP, and without it CEP does not really exist. My good friend Tim Bass went further in his current Blog and called the current state of the practice in CEP as Snake Oil , well - here I return to my previous posting with the metaphor of a group of blind people touching an elephant and each of them touches a different side of an elephant and each is confident that he knows what an elephant is, and furthermore he is the only one who knows what an elephant is. One of the benefits (there also some shortcomings...) of working in a large company is the exposure to many types of applications that are very far apart, and yet, all of them can share the same infrastructure (with some variations), talking specifically about the issue of EP and analytics - there are some applications that you cannot really think of without using analytics like "fraud detection" - where we need always to look at patterns that were unknown before, and have been used when our software has blocked the previous set of gaps, thus if the blind person touches the right back leg of the elephant in the "fraud detection" side, he sees analytics as a must. However - likewise there are plenty of other application - probably on other legs, back or trunk that do not require analytics - some simple examples: A physician sets individual alerts based on combination of test results/monitors reading - when to alert the physician or nurse; exception handling in manufacturing process - where the exceptions types are well-defined (and translated again to some combination of events); monitoring security regulation of different persons that need to be accompanied to various places within a plant according to the tag type, and checking if an autorized escorting person exists within the required distance, which monitors regulation and does not require any analytics, this is a small sample of CEP applications I have noticed recently.


Personally I think that analytics are very important, and we'll see more and more applications in which they are required, like the fraud detection one I've already mentioned, smart auditing etc... As stated before, I think that the combination of EP and some intelligent techniques (like: machine learning, prediction, handling uncertain information), which I call "Intelligent Event Processing" is very important for going forward, and we intend to reach to the AI community by doing a first Intelligent Event Processing conference as one of the AAAI spring symposia - stay tunde to note on that,

Having said that, I cannot say that this is the majority of applications, currently most CEP applications do not require analytics, here I join the opinion of Hans Glide on this issue.



This assertion returns me to the picture on the top of this blog - showing the half-full glass syndrom. Some people look at the empty half glass and some look at the full half glass. First - let's take the optimistic "full half" approach -- indications show that there are CEP products that serve as platform to build applications that bring real value to real customers, these applications are in a wide variery of areas, in variety of products, some of the type of "time series" streams, and some are not (next week I'll give a tutorial in DEBS 2008 on patterns, so this will be an opportunity to blog about types of patterns). The fact that they exist, is an indication that the EP indusrty is not just promoting "snake oil"
It is more interesting, as a scientist, to look at the empty half glass - which I think is even more than half. I think that the EP discipline is in its infancny, it already walks some steps, can say a few words, but we need to invest more until it will run, dance, sing and write Blogs... However, as every parent can testify, huge progress happens since from being a newborn until getting to the state I've described, so I don't underestimate the work done so far, and the traction achieved in the market, and think the entire community believe that we just scratched the surface of the potential. More - later.

Monday, June 23, 2008

Call for contributions - EPTS F2F meeting


The EPTS fourth event processing symposium is planned for September 17-19 in Stamford, CT.
While the exact agenda is not available yet (has dependency on contributions) here is a call for contributions in the following topics:

  1. Customer Panel -- Nominate a customer to participate in customers panel about the state of the practice in event processing.
  2. Use Case Session -- call for use cases, the use cases will be presented under the template that will be prepared by the use cases workgroup.
  3. Vendors Business Perspective Panel -- call for business executives of vendors to participate in a panel that will discuss the business trends of event processing products.
  4. Technology challenges panel --- call for CTO/senior architects of vendors/customers to participate in a panel that will discuss the technology challenges of event processing.
  5. Keynote Speaker on technical vision -- nominate a keynote speaker.
  6. Research projects session --- call for presentations from the research community of projects that may be of interest to the general event processing community.
  7. Standards -- Call for presentations on standards related issues
  8. Glossary --- Call for participation in a panel about the EPTS glossary

Nominations should be sent to : info@ep-ts.com


Monday, June 16, 2008

On the right event processing language


Recently, the discussion about the "right" event processing language has been resumed in couple of Blog entries. First Mark Tsimelzon, the energetic CTO of Coral8, claims that the most important property is that it is familiar and thus similarity to SQL is a benefit. Louis Lovas from Apama argues that familiar syntax is indeed important, but readability is even more important, and argues for imperative language - since most programming in the universe is done in Java / C style; from the comments it seems that David Luckham consistently thinks that Rapide is the right answer. This discussion reminds me of the famous story illustrated in the picture above where a collection of blind people are touching an elephant in different places, and consequently each of them describes the elephant differently. Different people have arrived to the Event Processing area from different backgrounds, and have in mind different type of usages and applications, they also may see different types of users in mind - e.g. verification engineers can work comfortably with temporal logic language, C/Java programmers may have some inclination towards script languages, business users need somewhat higher level language etc... In some applications the main natural abstraction is "stream" as a set of events in a certain time window, and most patterns are set oriented (like: aggregation, threshold, trend seeking etc...), while for other applications the main natural abstraction is "event", since events are processed individually, and the type of patterns deal with individual events (like: conjunction, disjunction, time-out etc..). The challenge with the maturing of the area is to build a language with all the right abstractions, but we need to understand them well first. A comment about the language syntax seems familiar --- yes, it has a benefit, however following this type of reasoning, we would still be in Assembly languages which was what programmers were most familiar with when I started my career as a programmer (once upon a time...), we are advancing since then to provide abstractions. SQL is by itself an abstraction over imperative languages that has started someday, I have still written imperative queries with loops in the pre-SQL era, likewise, spreadsheet programming (which started with Lotus 1-2-3) does not look familiar, but became the most pervasive programming style that exists today (for non-programmers). Thus, IMHO, abstractions that enable to think naturally about a certain type of functions is more important than familiar syntax.

Saturday, June 14, 2008

On Event Proessing Platforms and Engines



Here are pictures of some engine and some platform, and they don't seem to be compatible, however if a car will replace the horse in the 2nd picture, all of a sudden, the engine (of the car) will have a role in the platform. In event processing we hear more and more about platforms, and even about event-based middleware that will be a basis for XTP and other stuff. The platform is providing some services for agents to run, like a road system that can enable to get from place to place and provide services such as: signs, traffic lights etc... The way to go there can be by foot, riding an hoarse, and driving a car, among other options. Taking this analogy further -- in the event processing world, every agent can be implemented in ad-hoc fashion (going by foot), use C/Java code with some tools to help create EP applications, or use engines, which are COTS tools that do event processing. Implementation of heterogenous agents on the same platform requires interoperability standards, if we also wish to implement it in a seamless applications we'll need language standards. There are some starts of event processing platform, quite basic at that point, but the direction seems promising, and may, at some point in time we may see event processing platforms as a basis for the new generation of enterprise application servers.

Sunday, June 8, 2008

On EPTS again - calling for customers to join EPTS



After the first excitement of the launch (first press release is out, press briefing is out, some more press articles are coming soon, some of the members have referred in blogs or news, second press release is on its way) this is the time to extend the community. We have very good coverage of vendors, good coverage of academic people, some coverage of analysts. As I have written in the last blog, the target now is to add more customers. EPTS will issue a call for customers - in various places and opportunities (e.g. the Gartner EPS). What is the main motivation of customers to join:
  • Impact: A lot of activities are forthcoming that will help shaping technologies, their positioning, studies about ROI, terminology, and interoperability issues. EPTS members will be able to impact all these activities - either directly (participating in working groups) or indirectly (reviewing and commenting). Some of the customers community have a lot to contribute - they give talks about EP, they blog about it, and they express opinions on forums. This will be an organized way to translate the opinions and knowledge to impact.
  • Learning: EPTS will provide various community activities that will able its members to learn both on the technology and the business impact side of event processing, as well as sharing and learning best practices.
  • Networking: The various conferences, the work-group conference calls, and other activities will enable active networking, besides networking facilities already exists (user groups, forums and social networks - that will all still exist).
  • Help influence the establishment of "event processing" as an academic direction, impact research directions, and university level courses.

To remind you - there is no cost associated with joining EPTS, directions about joining can be found here: http://www.ep-ts.com/content/view/59/93/

Stay tuned for call for participation and contributions in the EPTS annual meeting in September 17-19, coming soon.

Thursday, June 5, 2008

On the EPTS Press Briefing




When the USA president is talking with reporters he is standing on podium and facing the camera lights; yesterday I had participated in a press briefing in a much more modest setting, through the phone, sitting in the office I have borrowed for this week in IBM Hursley Lab, in UK (picture of Hursley can be found in another Blog entry ). The occasion has been - announcing EPTS, here is a transcript of my short briefing:


"Today We are announcing today EPTS which is a result of discussions between vendors, academic people analysts and customers that started two years ago in the "first event processing symposium", and continued in two subsequent meetings. One of the conclusions of these meeting was to form a permanent forum and working groups to promote the understanding of what event processing is. The list of founding members include around 30 organizational members – vendors, analysts, and customers, and 30 individual members – academic people, customers, independent consultants. You can see the list in our website. The steering committee consists of the group of initiators.

Why do we need another consortium? - I have watched event processing area evolving in the last 10 years , it is already making noticeable traction in the industry - However I believe that the big challenges are still ahead of us, since the industry barely scratched the surface of the potential use – and our mission is to help raise the level of wisdom in business decisions, business observations by correct utilization of such technologies.

Event processing is somewhat different computing paradigm and there is a need to help the customers understand this thinking and the value they can gain by using it. Hence, Our First goal is to document usage scenarios where event processing brings business benefits – most importantly, the business world needs to understand where this can be used, and the different ways it can provide benefits.

Event processing has been introduced in parallel by various vendors each using slightly different terminology, and there is a need to normalize the terminology, thus our goal is to develop a common glossary for its members and the community-at-large to use when dealing with event processing: A draft already exists and will be publicized soon.


We also believe that the academic community can help coping with the challenges, thus, one of our goals is to help establish "event processing" as a proper academic discipline by involving the research community and get them to focus on the right set of challenges.
¨ Last but not least - looking forward, help accelerate use and incubation of standards. This is similar to steps that other disciplines, e.g. databases, moved towards maturity.
¨

In conclusion – today we are announcing EPTS, a consortium of vendors, academic people, analysts and customers intended to promote the understanding and the development of the event processing area. "

The founding members (the list shown below has been sent to the reporters) represent vendors, academic people, analysts, customers, and consultants that are affiliated with event processing.

I hope that this list will grow in the future, we especially target customers that are interested to contribute to the community and gain from the collective insights to join, we shall issue soon a call for customers detail their value add from participating, the two first customers that have joined are - Betfair and Mitre.

Last but not least -- Mark Palmer has reminded me of our first meeting three years ago which took place in the lobby of the Spring Hill hotel in Tarrytown, NY. This meeting has indeed was the first step that started to roll the ball, and indeed we had very vague idea of where this ball should go, so Mark desrve much credit for his immediate enthusiasm from the vague idea.

Many people have been involved so far, and more people hopefully will be involved from now on; We should keep the drum beating, by a series of activities, with community efforts. Some such efforts are already in the way -- the glossary and the use-cases team, stay tuned for more details.

List of EPTS Founding Members:


Organizational Members

Active Endpoints
Aleri Inc.
Betfair Ltd.
Cabahu Pty Ltd
CAC Corporation
CITT GmbH
Coral8
Cordys
Elemental Links
Event Zero Pty Ltd
Forrester
Gartner
IBM
IDS Scheer
Leahy Consulting Group
MITRE
Nastel Technologies
OpenConnect Systems
Oracle
Progress Software
RuleCore
RuleML Inc.
SENACTIVE
Streambase
Streametics
Systar
TIBCO
WareLite Ltd
West Global

Individual Members

Individual Member
Alezandre Alves
Andre Bolles
Avigdor Gal
Beth Plale
Carlo Zaniolo
Christian Wolff
David Luckham
David O'Reilly
Francisco Gomez
Francois Bry
Gary Hale
Gero Muehl
Hans-Arno Jacobsen
Jeffrey Adkins
Jonas Jacobi
K. Mani Chandy
Michael Eckert
Mikael Berndtsson
Nenad Stojanovic
Pedro Bizarro
Philip Howard
Rahunandan Kandasamy
Simon Courtenage
Susan Urban
Themis Palpanas
Tim Bass
Udi Dahan







Saturday, May 31, 2008

On Maturity



After a week break -- lot of work, some taking care of family health issues - I am back catching up on the community Blogs. One thing that I saw has been a debate whether CEP is not mature enough. I think that both sides have a point, depending on what "maturity" means. I'll make a distinction between: maturity of an application, maturity of a product, and maturity of a technical area.


Maturity of an application is measured in the fact that an application is working with relatively low amount of faults, and satisfy its functional and non-functional goals. Typically there is some time for stabilizing the application followed by a maturity time, and in some point the application becomes an obsolete in something, which requires to initiate the next generation.

Maturity of a software product is materialized in the fact that the product is working, being used in applications, and has relative few bugs, and customers trust it to rely on it.

Maturity of a technical area has to do with the level of understanding of this area by customers, amount of utilization of the area relative to potential, clear concepts and standard support.

In the CEP area we certainly have mature applications, we also have some maturity in the products of the first generation, but we are somewhat far from the maturity of the entire area.