We are investigating how to implement traditional data network services (and meta-services, and middleware) using biological architectures and what advantages might be gained by using such an architecture. Below, we present some very brief examples of network services designed using biological architectures and describe some of their desirable characteristics:
Information servers are a generic name for any service that deploys a set of servers which respond to information requests from clients. Such servers may be web servers or name resolution servers. Such a service implemented using a biological architecture would allow servers to reproduce when demand is high, and to migrate toward areas of high demand. The ability to replicate and migrate allows this service to adapt to changing demands and increase the Quality of Service (QoS) perceived by the clients.
Each server emits a pheromone, which is detected by the other servers. When a server detects that very few other servers are around, it may increase its rate of reproduction. Offspring may also contain some random mutation from the parent, thus introducing diversity into the population of servers. The ability to reproduce faster when few servers are present and the diversity of the server population contribute to the survivability of this service.
In the information server example, we stated that servers emit a pheromone which is detected by other servers. Clients also make use of the pheromone to locate the nearest or most desirable server. It does this by by following a pheromone trail of increasing strength. Servers may advertise additional capabilities in their pheromones, such as the ability to provide public keys or their expected response time.
Note this method of service discovery is the opposite of the traditional method, which requires the client to send a unicast packet to a designated server or multicast a message to discover a server. A pheromone based server discovery method has several advantages over designated server and multicast discovery methods. It is more fault tolerant and easier to configure than the designated server method; and is more efficient than the multicast method when there are many clients and few servers.
Pheromone based service discovery may also have advantages over anycasting, described in RFC1546. Unlike anycasting, clients can look for specific advertisements in the pheromone, thus being able to choose the server which meets their criteria.
Pheromones may also be used as a very primitive form of routing. If host A wants to send a packet to host B, A can simply send the packet along increasing strength of B's pheromones. This method will have difficulty scaling to a large number of hosts; however, it is very simple compared to traditional routing algorithms and easily accommodates mobile hosts. Thus pheromone based routing may be used in special circumstances, such as ad-hoc routing or during bootstrap procedures after a major failure.
The ability of biological architectures to distinguish self and non-self make them good candidates for performing intrusion detection and automatic intrusion response. Stephanie Forrest and David Chess has done some work in this area by basing Intrusion Detection Systems on the human immune system.
By limitting lifetimes and varying reproductive rates, biological architectures can efficiently spread new knowledge or software updates through a network. Imagine a set of virus detecting mobile agents (version 1) that go through a network of hosts looking for infected files. In 6 months, a new version (version 2) of the virus detecting mobile agents are created, which can detect recently discovered viruses. How can we replace all the version 1 virus detecting mobile agents with the version 2's? If the mobile agents were designed with limitted lifetimes and a reproduction rule that says "if you detect another agent with a higher version than yourself, then stop reproducing", then eventually (depending on the lifetime limits and reproductive rates) all version 1 agents will die out and version 2 agents will take over the population. Thus, new software or new knowledge, in the form of ability to detect new viruses, can be spread through the network by introducing only 1 copy of the new software or knowledge.
(Note that the version 1 agents will continue to function normally until version 2 is released. So version 2 does not need to be released on a strict schedule.)
This page was last updated on 9/17/1998
By Michael Wang