SymbioitcSphere

From Distributed Software Systems Group, University of Massachusetts, Boston

A Biologically-inspired Architecture for Self-Configuring Network Systems with Symbiotic Coevolution across Network Layers


Natural Symbiosis
Enlarge
Natural Symbiosis


Executive Summary:

SymbioticSphere is a biologically-inspired architecture which allows network systems to autonomously adapt to dynamic environmental changes. SymbioticSphere follows biological principles such as decentralization, evolution and symbiosis to design application services and middleware platforms in a network system. Each service and platform is designed as a biological entity, and implements biological behaviors such as energy exchange, migration, reproduction and death. Each service/platform also possesses behavior policies, as genes, each of which defines when to and how to invoke a particular behavior.


Objective:

As computing devices and networks are becoming more powerful and ubiquitous, the networking landscape is evolving into new paradigms such as autonomic networks, pervasive networks and grid networks. As they are rapidly increasing in complexity and scale, they face several challenges, particularly autonomy and adaptability. Network systems are expected to autonomously adapt to dynamic conditions in the network (e.g., network traffic and resource availability) in order to improve user experience expand operational longevity and reduce maintenance cost.


Approach:

In order to meet these challenges (i.e., autonomy and adaptability), we propose to apply key biological principles and mechanisms to design network systems. This is motivated by an observation that various biological systems have already developed the mechanisms necessary to achieve autonomy and adaptability. For example, bees act autonomously, influenced by local environmental conditions and local interactions with other bees. A bee colony adapts to dynamic environmental conditions. When the amount of honey in a hive is low, many bees leave the hive to gather nectar from nearby flowers. When the hive is nearly full of honey, most bees remain in the hive and rest.

SymbioticSphere is an architecture that applies biological principles and mechanisms to design network systems. It consists of two kinds of components: application services and middleware platforms. Each of them is modeled as a biological entity, analogous to an individual bee in a bee colony. They are designed to follow several biological principles such as decentralization, emergence, evolution and symbiosis. An application service is designed as a software agent. Each agent implements a functional service (e.g., web service) and biological behaviors such as energy exchange, reproduction, migration and death. A middleware platform runs on a network host and operates agents. Each platform provides runtime services that agents use to perform their services and behaviors, and implements biological behaviors such as energy exchange, reproduction and death. SymbioticSphere models agents and platforms as different biological species.

In SymbioticSphere, each agent and platform autonomously senses its surrounding environment conditions and adaptively invokes a behavior suitable for the conditions. For example, an agent may invoke the migration behavior to move toward a network host that receives a large number of user requests for its services. This results in the adaptation of agent location; the agent can improve its response time to user requests. Also, a platform may invoke the reproduction behavior to make its offspring on a neighboring network host where resource availability is high. This results in the adaptation of resource availability; the platforms provide more resources to agents.

Agents' and Platforms' Regular Behaviors
Enlarge
Agents' and Platforms' Regular Behaviors

In addition to these (regular) behaviors, agents and platforms implement a special type of behaviors: symbiotic behaviors. A symbiotic behavior is a sequence of regular behaviors that an agent and its underlying platform invoke in order. As described above, agents and platforms can adapt to dynamic network environments by performing regular behaviors; however, regular behaviors of one species (e.g., agents) can degrade the adaptation of the other species (e.g., platforms) in some circumstances. For example, if too many agents migrate toward a user, the platforms near from the user have a risk to crash due to overloading or resource extinction. Symbiotic behaviors are intended for agents and platforms to balance and augment their adaptability by allowing the two species to cooperate for pursuing their mutual benefits.

Each agent/platform possesses behavior policies, each of which defines when to and how to invoke a particular (regular or symbiotic) behavior. A behavior policy is en-coded as a gene. In SymbioticSphere, evolution occurs on behavior policies (i.e., genes) via genetic operations such as mutation and crossover, which alter behavior policies when agents/platforms replicate themselves or reproduce their offspring. This evolution process is intended to increase the adaptability of agents/platforms by allowing them to adjust their behavior policies to dynamic network conditions across generations. Evolution also frees data center designers from anticipating all possible network conditions and tuning their agents and platforms to the conditions at design time. Instead, agents and platforms can evolve and autonomously adapt themselves to network conditions. This can significantly simplify the implementation and maintenance of agents/platforms.


Design Principles in SymbioitcSphere:

SymbioticSphere applies the following biological prin-ciples to design agents and platforms.

(1) Decentralization: In various biological systems (e.g., bee colony), there are no central leader entities to control or coordinate individual entities in order to in-crease scalability and survivability. Similarly, in SymbioticSphere, there are no central entities to control and coordinate agents/platforms so that they can be scalable and survivable by avoiding a single point of performance bottlenecks and failures.

(2) Autonomy: Inspired by biological entities (e.g., bees), agents/platforms sense their local network conditions, and based on the conditions, they autonomously behave and interact with each other without any intervention from/to other agents, platforms and human users.

(3) Emergence: In biological systems, collective (group) behaviors emerge from interactions of individual entities. In SymbioticSphere, agents/platforms interact only with nearby peers. Desirable system characteristics (e.g., adaptability) emerge through collective behaviors and interactions of individual agents/platforms. Note that they are not present in any single agent/platform.

(4) Lifecycle and Food Chain: Biological entities strive to seek and consume food for living. In SymbioticSphere, agents/platforms store and expend energy for living. Each agent gains energy in exchange for performing its service to other agents or human users, and expends energy to use network and computing resources. Each platform gains energy in exchange for providing resources to agents, and periodically evaporates energy. The abundance or scarcity of stored energy in agents/platforms affects their lifecycle. For example, an abundance of stored energy indicates high demand to an agent/platform; thus, the agent/platform may be designed to favor reproduction or replication to increase its avail-ability. A scarcity of stored energy indicates lack of demand; it causes death of the agent/platform.

Energy Exchange in SymbioticSphere
Enlarge
Energy Exchange in SymbioticSphere

Also, in the ecosystem, the energy accumulated from food is transferred between different species to balance their populations. For example, producers (e.g., shrubs) convert the Sun light energy to chemical energy. The chemical energy is transferred to consumers (e.g., hares) as consumers consume producers. In SymbioticSphere, the energy exchange among users, agents and platforms is designed after ecological food chain (Fig. 1). SymbioticSphere models a user as the Sun, agents as producers, and platforms as consumers. Similar to the Sun, users have an unlimited amount of energy. The users provide energy to agents in proportion of the services that the users require. When a user requests a service implemented by an agent, the user transfers a certain amount of energy to the agent. (Each agent specifies the price in energy units of its service.). Each agent gains energy from users and transfers 10% of its energy level to the underlying platform for consuming resources provided by the platform. Each platform gains energy from agents and periodically evaporates 10 % of its energy level to the environment. This energy exchange rule follows an ecological fact that a consumer species acquires about 10% of the energy maintained by a producer species.

(5) Evolution: Biological entities evolve as a species so that the entities that fit better to the environment become more abundant. In SymbioticSphere, agents and platforms evolve their genes (i.e., behavior policies) by generating behavioral diversity and executing natural selection. Behavioral diversity means that different agents/platforms possess different behavior policies. This is generated via mutation and crossover during replication and reproduction. Natural selection is triggered with agents’ and platforms’ energy levels. It retains the agents whose energy levels are high (i.e., the agents that have effective behavior policies, such as moving toward a user to gain more energy) and eliminates the agents whose energy levels are low (i.e., the agents that have ineffective behavior policies, such as moving too often). Through successive generations, effective behavior policies become abundant in an agent/platform species while ineffective ones become dormant or extinct. This allows agents/platforms to adapt to dynamic network conditions.

(6) Symbiosis through Coevolution: Competition for food and terrain always occurs in the biological world; however, several species coevolve and establish mutual relationships to avoid excessive competition and support with each other to survive. In SymbioticSphere, agents and platforms cooperate as different species working at different network layers (i.e., application layer and middleware layer) in order to pursue their mutual benefits (e.g., gaining more energy to survive) and improve their adaptability. This is driven by coevolution between agents and platforms, which cooperatively evolves behavior policies for symbiotic behaviors.


Publication


Journal Papers:

1. P. Champrasert and J. Suzuki, "Building Self-Configuring Data Centers with Cross Layer Coevolution," In Journal of Software, Vol. 2, No. 2, Academy Publisher, 2007. to appear. (nominated by the IEEE FTDCS 2007 conference)


Refereed Conference and Workshop Papers:

1. P. Champrasert, C. Lee and J. Suzuki, "Towards Self-Adaptive Networking with Symbiotic Behaviors of Multi-Agents," In Proc. of IEEE International Conference on Integration of Knowledge Intensive Multi-Agent Systems (KIMAS), Waltham, MA, April 2007.

2. P. Champrasert and J. Suzuki, "Exploring Adaptive Data Centers through Cooperative Symbiotic Networking," In Proc. of the 11th IEEE International Workshop on Future Trends of Distributed Computing Systems (FTDCS), Sedona, AZ, March 2007.

3. P. Champrasert and J. Suzuki, "A Biologically-Inspired Autonomic Architecture for Self-Healing Data Centers," In Proc. of the 30th IEEE International Conference on Computer Software and Applications Conference, September, 2006. (31% acceptance rate).

4. P. Champrasert and J. Suzuki, "SymbioticSphere: A Biologically-Inspired Autonomic Architecture for Self-Managing Network Systems." In Proc. of the Doctoral Symposium at the 30th IEEE International Conference on Computer Software and Applications Conference (COMPSAC), Chicago, IL, September 2006.

5. P. Champrasert and J. Suzuki, "Towards Green Grids: A Biologically-Inspired Adaptive Architecture for Power Efficient Server Farms," In Proc. of the 2nd IEEE International Conference on Autonomic and Autonomous Systems (ICAS), Santa Clara, CA, July 2006.

6. P. Champrasert and J. Suzuki, "SymbioticSphere: A Biologically-Inspired Autonomic Architecture for Self-Adaptive and Self-Healing Server Farms," In Proc. of the 2nd IEEE International Workshop on Autonomic Communications and Computing (ACC), Buffalo, NY, June 2006.

7. P. Champrasert and J. Suzuki, "Making Grid Systems Self-Organizing and Adaptive: An Approach Leveraging Biological Concepts and Mechanisms," In Proc. of the 4th IASTED International Conference on Communications, Internet and Information Technology (CIIT), Cambridge, MA, November 2005.

8. P. Champrasert, T. Itao and J. Suzuki, "SymbioticSphere: A Biologically-inspired Network Architecture for Autonomic Grid Computing," In Proc. of the 2nd IEEE/Create-Net International Workshop on Networks for Grid Applications, Boston, MA, October 2005.

9. P. Champrasert, T. Itao and J. Suzuki, "A Biologically-Inspired Symbiotic Architecture for Adaptive Networking," In Proc. of the 9th World Multi-Conference on Systemics, Cybernetics and Informatics, Orlando, FL, USA, July 2005.