Saturday, October 31, 2009

More on responsive, reactive and proactive computing

Earlier this week, I've posted in this Blog short definitions of the terms: responsive computing, reactive computing and proactive computing. Somehow, terminology always gets questions and responses, and there has been a thread in the Complex Event Processing forum that started to discuss it. So as a follow-up to this discussion, some clarification. The computing modes (responsive, reactive, proactive) are indeed mutually exclusive, however a single system may have combination of all of them.

Active databases are example that start with responsive computing, the basic operations are: insert, modify, delete or retrieve from a database. Then the active database engine takes these database operations as events, and apply reactive computing to execute rules reacting to these events.

The opposite direction is a reactive system, doing some kind of event processing, which during the event processing operations need to consult a database in order to enrich an event with more information. The database query issued is a responsive computing.

Proactive computing may also be combined with reactive and responsive systems.

Hans Gilde has posted on the complex event processing forum an example that combines all three.

While responsive computing is the bread and butter of computing, and reactive is now being more understood, proactive is still lagging behind in terms of realizing the potential, maybe the next hill to climb.


Hans said...

The font size on your blog has recently increased by about 8 points.

With respect to the last paragraph: It seems that in many cases, the barrier to proactive computing is adopting reactive computing. Given the capability to detect and respond to events, adding basic prediction is often just a bit of common sense.

For example: once you can respond to an shipping exception event, informing the customer that their shipment will be delayed is a short step.

Opher Etzion said...

I've moved to a new browser, changed the font back to where it was..

The problem of proactive computing is not just the reactive part, but there is a bridge to cross between the events that already occurred and the predicted undesired state, also, the mitigation may not be just common sense and require some intelligent or optimization process for decision making.