ABSTRACT

Service discovery is a platform for network entities, whether hardware or software, to spontaneously self-configure and self-heal in a volatile environment. An in-depth understanding of the fundamentals of service discovery is essential for system architects to effectively execute pervasive and autonomous context-aware applications. We offer this understanding by clarifying some fundamental concepts and issues in service discovery; the evolution of service discovery in the context of distributed systems, the basic architectures and their variance and the different functionalities that contribute towards satisfying the self-configuring and self-healing properties of service discovery. We then proceed to show how service discovery fits into a system, by characterizing operational aspects. Subsequently, we describe how existing state of the art performs service discovery, in relation to the operational aspects and

Computer scientists can learn much from how the human body manages itself autonomously, and apply the same techniques to building distributed systems. This is how autonomous computing, an initiative of IBM [1], sees the future of computer systems. An autonomous system has at least one of the following four properties [2]:

1. Self-configuring. Systems that adapt automatically to dynamically changing environments. The systems can dynamically add (“on-the-fly”) new hardware and software to the system infrastructure with no disruption of services.