Srinivas Reddy’s Weblog

My Tech Rants

Adaptive Systems

with one comment

It’s been a long time but I am finally back to writing again :o)  I hope I will never need to take such a long break again.  One common pattern I could observe in the work I am doing and the different articles/presentations I got to see, is the emergence of adaptive systems.  Two things in particular got me thinking. 

One of them is a interview with computing legend, (http://www.acm.org/ubiquity/interviews/v8i22_denning.html) ‘is computing a science or engineering?’. The fact that ‘computation occurs naturally’  is important. Agreed that biological systems have much greater complexity (human body for instance) then most complex of our computers today, we need to see the trend in transition of computers from simple task automation to increasingly complex adaptive systems.

The other one is a presentation by Geoffery Moore (http://geoffmoore.blogs.com/, unfortunately public link to presentation not available here).  He basically makes a case for Business networks and value of Co-innovation.  Historically (to a great extent even today) Computing and Communication (including telephone/ fax / paper/…) are not unified. A lot of Communication involves information process critical data, but this does not get digitalized and used in process context (while with email / instant messaging / VoIP/… we are getting there, its still not unified). For most IT systems today, ‘IT does not matter’ (as in, competitive advantage) is valid, as such they are a commodity and can be outsourced.  Information needs to be shared across partner eco-system in real-time, and systems/processes need to adapt in real-time to market changes, if ‘IT has to matter’.

Assuming that you are now convinced for a need for ‘Adaptive systems’, the question is ‘What is a adaptive system and how can we design one?’.  The classic example here is ‘human body’.  Watching a baby learn may be the best example for this. Its amazing how the body reacts naturally to the contextual changes around it. Computing systems have been learning ‘adaptation’ over the years. It will be useful to review the changes here taking the software stack view.  We are seeing the User Interface technologies transitioning from Thick client, Thin Client and Smart Client technologies to current Rich Internet Applications and Widgets.  If we consider the current Web 2.0 applications with Ajax technologies for instance, the clients try to smartly retrieve data and predict user intentions.  If you happen to have installed Yahoo widgets for instance, they offer you a dashboard to monitor specific services (I like the stock monitor in particular!).  We see a trend towards developing ‘active clients’ which autonomously work for you. Instant Messengers are getting increasingly smart and can deliver you messages to the right client, based on your active profile. We can expect to see increasingly contextual applications (be it map mashups/ flickr snaps/ youtube videos/..)

Going down the stack we have ‘adaptive processes’ and ‘adaptive infrastructure’.  The promise of ‘Service Oriented Architectures (SOA)’ is the ability to flexible design processes that can adapt to business context.  While creating such flexible domain workflows needs deep understanding of business scenarios, the infrastructures needed are increasingly there. How companies are increasingly turning to ‘e-marketplaces’  (be it to offer last minute flight offers, make purchase recommendations based on purchase history like Amazon,….), Social networks and other collaborative environments shows the increasing adaption capabilities. The decoupling of software stack is increasingly making such designs feasible. Its in the infrastructure layer, that we currently see the most advances in adaptation. In today’s modern data centers, making on the fly hardware changes (be it adding servers, memory, disk space,…) is a routine. The ‘Self-healing’ technologies detect system changes/errors and apply corrections (analogies to the human immune system, if only in its most primitive form) with no human intervention.

Looking ahead to the coming ‘Internet of things’ (thanks to advances in sensor networks, semantic web, agent technologies …), we should be able to design even greater adaptation into system design.  Hopefully we can contribute positively to the transformation as a part of the global village.

original

Advertisements

Written by srinivasreddy

June 16, 2007 at 11:01 am

Posted in Technology

One Response

Subscribe to comments with RSS.

  1. […] Adaptive Systems « Srinivas Reddy’s Weblog Adaptive Systems « Srinivas Reddy’s Weblog […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: