Saturday, June 12, 2010

Some subjective reminiscences on Amit

Catching up on Emails and community's Blog after returning home, I have discovered that Paul Vincent has added Amit to the genealogy of products that he is maintaining. There is also going to be in DEBS 2010 a paper presented about experience with Amit, written by some of our team members (I did not participate directly in this paper, since it described work on some use cases that were done in the period that I have spent outside Haifa Research Lab).

I wanted, for a long time, to write something about Amit, maybe this is the right opportunity.

What is Amit?

Amit has been a name of a research project resulted with what is called today "event processing engine". It is based on ECA rules (however, had originally been specified as extension to SQL, as done in active databases). The original specification and design have been done by Asaf Adi (who also single-handedly coded the first version) and myself in 1998. The original language has survived with some additions over the years.

What is was used for?

Amit was used as a component in some of IBM products over the years, most notably Websphere Message Broker, but also Websphere Sensor Events and some others; also it served for some customers engagements as stand-alone, both IBM internal and external customers. The applications developed through Amit spanned various industries. It was also OEM-ed to two external software vendors and served as part of their solutions.

Where is the name Amit coming from?

The official name has been - "Active Middleware Technology" and at some point, somebody in UK decided that the acronym should be written as AMiT, thus you can see that in some places it is spelled that way, however, the acronym came later -- the original name was indeed Amit, and it was called this name since Amit is an Hebrew name, and I chose Hebrew names to all my research projects (Pardes, Adi and Arad are some of the other names), this particular one is also an Indian name, and one person whose name is Amit, who was born in India told me that the meaning of the name in Hindu is "to aspire beyond limitations", actually looking Amit at Wikipedia, one can found that the Hindu meaning of the name is: Infinite or immeasurable or boundless. I liked the aspiring beyond limitations, since that when we started it we did not know where it will lead, but we had a feeling that this is something big, a feeling that the immediate environment did not share (hence the limitations). Later, I have coined the "Active Middleware Technology" acronym, and the plan has been to develop a middleware with many components, we started with a first component called: situation manager, and somehow this was the only component developed, as we went deeper in this one, thus the situation manager component became a synonym of Amit. Again -- history develops in strange way.

What is the impact and legacy of Amit?

With the acquisition of Aptsoft, in early 2008, the IBM executives decided to retire Amit, and it is now still used as a legacy in some places, but not been developed for several years now. However, the impact of Amit has been and still is noticeable. IBM has recognized the impact last year through its internal awards process, that the activity around Amit, and some other related activities was the direct reason that IBM has decided to enter the EP market.
Looking at technical impact -- since we have published detailed description of Amit in journal and conferences papers, it was read by many people in the community, and we identified ideas in various products (even names of operators) inspired to Amit, I'll not finger any specific product, though. I think that some of the ideas that we worked on (which have been developed further in the post-Amit period) like contexts and policies laid foundations for the next generation.

As the paper written about experience with Amit states -- the experience with Amit also taught us where the event processing platforms should evolve to, and triggered the post-Amit work on the EPN/EPA based event processing that we are working on in the last couple of years.

This is a very brief account on Amit, I might write some follow-up to this one telling more.

Friday, June 11, 2010

The EU FET Flagship program


Back at home. In the previous two days I have attended an EU conference in Brussels on FET (Future Emerging Technologies) Flagship. The EU is recently acting to diversify its R&D investments, and launch some new programs in addition to the traditional programs that will keep running. One of this new ways is PPP (Public/Private Partnership) that is aimed at short term more engineering oriented projects, while the FET flagship goes to the opposite direction: launch two very ambitious large 10-years projects, with around 1B Euro investment in each.

They have brought some examples of projects in that scale such as: Large Hardon Collider, The Human Genome project and some others, with varying degrees of success. The rule of the game is that 5-6 ideas will be given a year (and a funding of around 1.5M Euro each) to develop the program (including partnership around the world, funding sources -- the EU will fund only part, expect that national funding agencies will support it as well as others), and out of them 2 will be selected.

In the last couple of days I have heard a lot of talks about potential proposals, many of them will probably merge, others will disappear. The commission people are encouraging people to merge and share, they don't think it is reasonable to have more than 10-15 proposals. One of the important tests for the proposals is the grandmother test: If you can explain your grandmother in one sentence what it does in terms that your grandmother will understand, then you'll be able to sell the idea to politicians. IMHO most of the presentations I have heard fail to satisfy this property, especially all the ones which has technology in their center. The promising directions relate to Biology -- human brain, breakthrough in robotics, and socio-technical systems.

What is the relationship to the "event processing grand challenge"? --- this may be one of the vehicles to advance the grand challenges, however, since the two flagship projects will start in 2013 -- we need to find other avenues to start earlier.

Event processing is relevant to everything, the human brain is very much event-driven, robots are in many cases event-driven, social evolution is event-driven and more.

One of the challenges is to sell the contribution of event processing to these projects, in discussing with one of them, they thought that they indeed need to process events, but there is no research here, just hard dirty work of programing. I told them that our research issue is how to eliminate the hard dirty work of programming in conventional languages and provide for them something much more high-level with "easy clean work" instead. They have not thought of it this way, since we have not reached out to these communities yet, I gave the analogy that 40 years ago everybody has created home-made database, until the relational database changed the picture, this is exactly what we are doing, raising the level of abstraction.

Next --- see where this can fit and how it can intersect with the EP grand challenge, and determine how to position it (in my talk on live ecology I have equated event processing to the nervous system of a human body). My presentation on live ecology is now on slideshare.

More - later.

Thursday, June 10, 2010

The event processing grand challenge - live ecology



Still travelling in Europe, I have spent one day in Luxembourg, serving as a reviewer in the Pronto project that deals with "event recognition for resource management", the highlight was showing us a nice demo of a van that was covered with sensors that track noise, density and location of the car, and can provide diagnostics about the comfort of passengers (too dense, too noisy) and the quality of driving (unsafe driving, sharp turns). I also discovered that one can miss train connections and not only flight connections, and arrived to the hotel in Luxembourg very late at night. From Luxembourg I continued in another 3 hours train ride to Brussels, from which I am writing now.



In Brussels I am attending an EU conference about the FET Flagship program. The European Commission is trying to diversify its programs in order to achieve more impact, and invest more in high risk - high impact long term research; there are several big consortia already established, and I will try to see whether the "event processing grand challenge" ideas, can fit into one or more of these, I am planned to deliver a short presentation today on "live ecology", taking the theme of making Asimov, my favorite writer, come to live with some of his amazing ideas, starting from Gaia ("The Foundation Edge"), a galaxy behaving like a single organism, and moving through the fantastic voyage, the blend between human and robot, and predicting the society's course (Psychohistory), and then hopefully return home later tonight.



Monday, June 7, 2010

Events of the day - Darmstadt and OMG

I am now in Darmstadt, Germany, starting a long day of visiting the Technical University of Darmstadt, and giving a seminar talk at the university. In the evening I'll have to reach my next destination, Luxembourg, and this seems to be done in combination of 3 trains from here, will still need to figure it out.

Also, today you can hopefully hear me in the OMG event processing symposium along with some respectable members of the event processing community. This symposium has been reshaped as a virtual symposium, so people can tune in using cyberspace.




Friday, June 4, 2010

On business user's computing

Friday is our shopping day (our working week is Sunday to Thursday, thus Friday and Saturday are weekend days here); today in a coffee shop in our neighborhood shopping center I have noticed a sign: "We don't accept checks or credit cards", they meant that they neither accept checks nor credit cards, obviously, but if we'll feed this sentence to a computerized program that parses logical propositions, I am not sure what the result would have been. There is a famous experiment in which they asked people to formalize a query about people who live in New-York or in Philadelphia, and many people formalized this query as people who live in New-York and Philadelphia, which reduces the answer to a person who happens to have two addresses in both cities. I am mentioning it, since recently I had some discussions about the ability of business user to write their own: {rules, patterns, queries} - chose your favorite terminology. There are users which I call "semi-technical users" who do not know how to program in any programming language, but can be taught to formalize their requirements in an accurate way. However, there are users who are not able to do it, and giving them natural language interfaces will lead to unexpected results.

So - should we give up on that? not necessarily, there are several ways to advance here, one of them is to have parameterized rules/queries/patterns, and let the user instantiate it by entering parameters. This, of course, limits the scope of programming to the predefined patterns that have been created by the IT developer; another way is to use some kind of dialog with the user to interview the user about the precise meaning, this area needs more work, but it is vital in extending the scope of those who can program event processing (and also some tangent areas like business rules) applications. More about it - later

Thursday, June 3, 2010

DEBS 2010 program has been published

The program of DEBS 2010 is now published on the conference's website. Note that IBM has become a research power, based on its representation in DEBS.
In total IBMers have authored or co-authored 10 papers out of the 21 papers in the research and industry tracks, and 2 out of the 6 tutorials.

Some details:

Tutorials:

Ella Rabinovich and myself will deliver a tutorial prepared by several members of our team, on: context Aware Computing and its Utilization in Event-Based System
This is the third year in a raw that I am giving (alone or with others) a tutorial in DEBS.

Guy Sharon, another member of our team, participated in the preparation of a tutorial on Measuring Business Value of CEP-Applications.

Papers:

I am a co-author of the paper: Analyzing the Behavior of Event Processing Applications.

Another paper by members of our team is: Industry Experience with the IBM Active Middleware Technology (AMiT) Complex Event Processing Engine (I have not participated in writing this one), both of these papers are planned to be presented by Ella Rabinovich.

Three additional papers are co-authored by other persons in IBM Haifa Research Lab:

Magnet: Practical Subscription Clustering for Internet-Scale Publish/Subscribe
Quilt: A Patchwork of Multicast Regions
On Trade-offs in Event Delivery Systems

Four papers are authored by IBM Watson Research center's guys:

Evaluation of Streaming Aggregation on Parallel Hardware Architectures
Placement of Replicated Tasks for Distributed Stream Processing Systems
Experiences with Codifying Event Processing Function Patterns
Workload Characterization for Operator-Based Distributed Stream Processing Applications

And another paper co-authored by Udo Pletat from IBM Boeblingen

Distributed Heterogeneous Event Processing


This is an indication for the importance that IBM sees for investing in research and thought leadership in the areas of event processing, stream analytics, and pub/sub. More about DEBS -- in July; meanwhile another business trip to Europe is waiting for me in Sunday.



Monday, May 31, 2010

The event processing grand challenge - take one


In the Dagstuhl seminar on event processing that ended 10 days ago we launched the "event processing grand challenge activity". You may be familiar with the DARPA grand challenge of driving driver-less car through the desert, you can see the two winner cars in the pictures above. We are not DARPA, and don't have money to distribute, but we would like to take the opposite direction, first define the grand challenge, and then convince funding authorities that they want to support it.

Why do we need this grand challenge? The research community has incubated the "event processing" area as we know today --- some research projects in the 1990-ies, such as: David Luckham's Rapide in Stanford, Mani Chandy's Infospheres in Caltech, John Bates' Apama in Cambridge, and our own Amit project in IBM Haifa Research Lab, followed by the various stream processing projects, like Jennifer Widom's stream project in Stanford, and later the Aurora project, to name a few (there are many more, of course).

The state of the practice is now in the hands of the software vendors, and event processing is becoming part of the main-stream of enterprise computing. However, software vendors are by nature advancing technology in an incremental fashion. On the other hand, there is a strong feeling that "event processing" has barely scratched the surface of its potential to impact society, this goes beyond current applications, and even beyond enterprise computing as we know it.

It is now the role of the research community to jump-start and incubate the step-function required to be achieved in order to get this kind of impact. We would like to have a call to the research community in event processing to focus on such a grand challenge, and as an incentive (and enabler) to get funding agencies worldwide to adopt it.

A substantial brain power have been invested in Dagstuhl, and in a follow-up to work on it, there have also been some people outside the community that deal with socio-technical systems and bio-informatics.

As a metaphor we can view many type of IT systems, social systems and biological system as a "live ecology", similar to a single organism with a lot of brains, eyes, ears, hands and feet.
Event processing serves as the nervous system, and events are what flow between the different players. This subsumes the "Internet of things" vision, where many sensors are connected, and also robots of various kinds as actuators, serving as hands. Such an infrastructure will enable changing the life as we know them.

We are working now on various scenarios that will be enabled by such an infrastructure; you can hear some thoughts about it in my talk next week in the OMG Event Processing community of practice that holds its first event processing symposium. Stay tuned for much more on that topic.