ERCIM News No.45 - April 2001 [contents]
ServerGrids: Available and Scalable Global Computing Platforms
by Evangelos Markatos
The widespread use of computing and communication devices in personal computers, (mobile) telephones, vehicles, and home appliances, has given rise to a new computing paradigm that is mainly based on co-operating personal computers and thin clients. These clients usually have low-computing capabilities (compared to current desktop computers), limited (battery-based) power supply, and a slow communication connection. Scientists at ICS-FORTH propose the use of powerful ServerGrids to make the cooperation of such thin clients effective.
ServerGrids are networks of computers that provide an available and scalable service to their clients. Limited versions of ServerGrids have already started to appear. For example, existing ServerGrids include the Domain Name Service (DNS) system which translates Internet domain names to IP addresses, several existing networks of cooperating web proxies, and the content-delivery networks that replicate content of popular web servers all over the world and transparently serve clients from the closest replica. Examples of future ServerGrids include video-on-demand servers, Internet-based distribution networks of television channels from anywhere in the world, digital libraries, medical information systems, multinational department stores, etc. Clients of current and future ServerGrids include traditional Personal Computers, PDAs, Mobile phones, and various computing devices embedded in home appliances, vehicles, etc.
ServerGrids, and in general similar approaches to the creation of networks of scalable and available servers, will transform the way we live, the way we work, and the way we entertain ourselves. For example, capitalizing on the existence of ServerGrids, mobile phones have started tobecome indispensable communication and entertainment devices, much like a telephone, a radio, TV, and VCR combined together. Besides calling other people, mobile telephones will soon be able to download and play songs, movies, and receive TV Channels. Mobile phones will be used more and more to surf the web (or its descendant), locate people, alert their owners of friends and family that happen to be nearby, and notify about that long-wanted tie that went on sale at the Marks & Spencer down the road. Besides mobile phones and PDAs, a wide variety of other devices will soon be equipped with a computing and communication capabilities. For example, cars, which already have several embedded microcontrollers, will consult ServerGrids about maps of the area, nearby hotels, possible obstructions ahead, detours, and service stations. Based on information downloadable from ServerGrids, cars will help drivers find the shortest possible way to their destination bypassing heavy traffic and avoiding adverse weather conditions. Cars (through the use of ServerGrids) will be able to guide drivers through their journey and make sure that they are always on the right road. In return, cars will send information about current road conditions to ServerGrids.
ServerGrids are an excellent platform to execute (mobile) agents that perform a wide range of tasks on behalf of their owners. For example, shopping agents will continually search on-line stores to find (new or used) products that match a users preferences, scientific information agents will discover papers that match a researchers interests, stock market agents will continually search for (world-wide) stock market opportunities, television agents will locate channels (anywhere in the world) that play a users favourite cartoon. But, besides making our life easier, ServerGrids can make our life safer as well. For example, car accidents will be reported the second they happen: the moment a car crashes, a microcontoller will broadcast the location and conditions of the accident; paramedics will be on their way to help the driver and passengers immediately. By interacting with ServerGrids, cars will alert their drivers about severe weather conditions that may be up ahead, suggesting an alternate route. Home appliances will also report adverse operating conditions that according the ServerGrids databases may lead to damage or even fire.
One could parallel future ServerGrids with the current (mobile) telephone network. Currently, several people have lightweight (mobile) telephones and can talk to each other through local telephone centers that wire calls through a maze of telephone centers and switches. If a switch goes down, calls can (to some extent) be re-routed through other switches, trying to keep the telephone service as available as possible. Similar in spirit, ServerGrids will provide more advanced communication services with higher availability.
To make ServerGrids a reality, several challenging research problems need to be addressed. Two of them are availability and scalability.
Availability is the first and foremost requirement of ServerGrids. ServerGrids must provide their useful and vital services around the clock. When a service is not available, profits may be lost, customers may switch to other providers, cars may crash, and lives may be in danger. To put it simply, a ServerGrids down time should be less than a few seconds per year, a goal that is 3-5 orders of magnitude away from the availability even the most advanced current web servers provide.
The next most important property of ServerGrids is scalability. ServerGrids provide services to various clients spread over several different countries in different continents. ServerGrids will be required to serve millions of clients per second, a goal that is two orders of magnitude away from the number of clients even the most advanced current content delivery networks serve.
Finally, ServerGrids must be reliable and easy to maintain. Experience with power networks and telephone networks suggest that human error is the single most important factor of failure. Therefore ServerGrids should be able to maintain themselves, so that human intervention is kept to a minimal.
Therefore, the major research challenges that ServerGirds face are availability and scalability. In addition to them several other research areas need to be explored. Such areas include security, authentication, resource management, division of work between fat servers and thin clients in order to improve performance and conserve energy (on the client side), etc.
In order to achieve these requirements, the computers of a ServerGrid will probably be hierarchically build, clustered in several centers which will be physically distributed all over the Globe. The client population will be dynamically distributed among those centers according to the current load, and network conditions. In case of failure or overload, clients will be transparently redirected to other centers, making every possible effort to keep the service available at all times.
Summarizing, ServerGrids are networks of computers that provide a scalable and available service to (usually thin) clients. Although small-scale versions of ServerGrids have already started to appear, major research challenges need to be met, before they can be widely deployed to a variety of applications.
Evangelos P. Markatos - ICS-FORTH
Tel:+30 81 391655