Network applications are increasingly required to be autonomous, scalable, adaptive to dynamic changes in the network, and survivable against partial system failures. Based on the observation that various biological systems have already satisfied these requirements, this article proposes and evaluates a biologically-inspired framework that makes network applications to be autonomous, scalable, adaptive, and survivable. With the proposed framework, called iNet, each network application is designed as a decentralized group of software agents, analogous to a bee colony (application) consisting of multiple bees (agents). Each agent provides a particular functionality of a network application, and implements biological behaviors such as reproduction, migration, energy exchange, and death. iNet is designed after the mechanisms behind how the immune system detects antigens (e.g., viruses) and produces specific antibodies to eliminate them. It models a set of environment conditions (e.g., network traffic and resource availability) as an antigen and an agent behavior (e.g., migration) as an antibody. iNet allows each agent to autonomously sense its surrounding environment conditions (an antigen) to evaluate whether it adapts well to the sensed environment, and if it does not, adaptively perform a behavior (an antibody) suitable for the environment conditions. In iNet, a configuration of antibodies is encoded as a set of genes, and antibodies evolve via genetic operations such as crossover and mutation. Empirical measurement results show that iNet is lightweight enough. Simulation results show that agents adapt to dynamic and heterogeneous network environments by evolving their antibodies across generations. The results also show that iNet allows agents to scale to workload volume and network size and to survive partial link failures in the network.
ACM Transactions on Autonomous and Adaptive Systems (TAAS) – Association for Computing Machinery
Published: Nov 1, 2009