SELFMAN, the project aims to address the challenges inherent in large scale applications. According to Peter Van Roy, project coordinator, "The central challenge when you build big internet applications is how to keep them running without having to tweak and manage them all the time. We wanted to make big internet applications easy, so that all the management problems you normally have are handled by the system itself. It will take the internet to the next level."European researchers have been working for years on a system that allows developers to create internet applications that can manage and fix themselves. Called
Indeed it will.
How it Works
Within the SELFMAN project, there are four key areas determined to be vital in order for a distributed application to have the ability to manage itself: self-configuring, self-tuning, self-healing, and self-protecting.
To configure itself, an application needs to track all of its components, update them when needed, and make sure that all the different pieces are able to communicate with each other. Within the SELFMAN system, an individual component can be queried for this information, such as its version number and which other components it interacts with. If the version number is out-of-date, it would be automatically updated.
The self-tuning piece of the system involves having the application automatically adjust to changing loads as well as changes taking place among the various nodes on the network. To do so, it uses a load-balancing algorithm that detects overloads, node crashes, and other disruptions.
What was more challenging for the researchers was the self defense aspect of the SELFMAN system. They discovered that the safest systems were not those in which nodes are directly linked, but those in which nodes can communicate with other nodes in just a few steps. Within these sorts of networks, dubbed "small world" networks, the SELFMAN security service can automatically detect abnormal behavior and eject bad nodes as needed.
Results So Far
Already the team has had promising results. For example, Scalaris, an open-source scalable transactional storage for Web 2.0 services won first prize in the IEEE International Scalable Computing Challenge 2008. Peer-to-peer video streaming application PeerTV uses SELFMAN to quickly test an evaluate new P2P components. There's also a demo of a distributed Wikipedia that can handle more queries than the current version and a graphics program that lets multiple users collaborate on a design.
Van Roy believes that SELFMAN represents the first step towards an internet filled with "unbreakable" applications. "Right now we're just scratching the surface," he says.
For more information about these applications, stay tuned to ICT Results, a European research tracking firm, which will soon highlight the various applications in more detail.
Image credit: Unlisted Sightings