Recent developments in information technology have brought about important changes in distributed computing. New environments have emerged such as massively large-scale wide area computer networks and mobile ad hoc networks. These new environments are extremely dynamic, unreliable and often large-scale. Traditional approaches to designing distributed applications based on central control, small scale or strict reliability assumptions are not suitable for exploiting the enormous potential of these environments. Based on the observation that living organisms efficiently organize a large number of unreliable and dynamically changing components (cells, molecules, individuals of a population, etc) it has long been an interesting area of research to try to figure out what are the key ideas that make biological systems work and to apply these ideas in distributed systems engineering. In this paper we propose a conceptual framework that captures a few basic biological processes such as plain diffusion, reaction-diffusion, proliferation, etc. We show through examples how to implement practically relevant functions based on these ideas. Using a common evaluation methodology, we show that these applications have state-of-the-art effectivity and performance while they inherit some nice properties of biological systems, such as adaptivity and robustness to failure.
Design Patterns from Biology for Distributed Computing
BABAOGLU, OZALP;
2005
Abstract
Recent developments in information technology have brought about important changes in distributed computing. New environments have emerged such as massively large-scale wide area computer networks and mobile ad hoc networks. These new environments are extremely dynamic, unreliable and often large-scale. Traditional approaches to designing distributed applications based on central control, small scale or strict reliability assumptions are not suitable for exploiting the enormous potential of these environments. Based on the observation that living organisms efficiently organize a large number of unreliable and dynamically changing components (cells, molecules, individuals of a population, etc) it has long been an interesting area of research to try to figure out what are the key ideas that make biological systems work and to apply these ideas in distributed systems engineering. In this paper we propose a conceptual framework that captures a few basic biological processes such as plain diffusion, reaction-diffusion, proliferation, etc. We show through examples how to implement practically relevant functions based on these ideas. Using a common evaluation methodology, we show that these applications have state-of-the-art effectivity and performance while they inherit some nice properties of biological systems, such as adaptivity and robustness to failure.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.