Applications for immune system inspired distributed systems

The biological immune system utilizes an architecture that functions within constraints imposed by physical space of the animal body and limitations of the number of antigen specific immune cells that are specific to a particular pathogen. Physical space is also an important constraint on computer systems, especially in applications used to connect inexpensive low-powered sensors using short-range wireless communication. Such spatial networks are being increasingly used in environmental monitoring, disaster relief and military operations. These networks might operate under constraints of resource and physical space, similar to a natural immune system. Although there are systematic differences between biological immune systems and so-called artificial immune systems, the design of such computers can be informed by architectural strategies employed by their biological counterpart.

In previous work (paper1,paper2) we showed that an immune system inspired architectures can increase efficiency of two computer systems- a multi-robot control system and a distributed peer-to-peer system. Both systems exhibited tradeoffs between local communication (distributing a solution within a cluster of computers) and global communication (distributing a solution between a cluster of computers). The optimal architecture was found to be sub-modular where the number of clusters (analogous to LNs) and the number of computers within a cluster both needed to increase as such distributed computer systems got bigger (Fig. 1 and 2).

Fig. 1. (A) Left Panel: a peer-to-peer system content search system showing clusters (big circles) and nodes within them (small ovals). Short-distance links are shown by light arrows and a long-distance connection is shown in bold arrows (shown only for a single node). (B) Right Panel: a scaled up version of the peer-to-peer content search system with a sub-modular architecture. Both the number of clusters and their size (number of nodes within them) now increase with system size (total number of nodes). Note that there are also more long-distance connections per node (shown only for a single node).

We considered another concrete example of an application where space is a constraint and scaling of performance with system size is an important design criterion – an AIS approach to control multiple robots tasked with obstacle avoidance. The robots communicate with software agent(s) in a server upon encountering an obstacle. The agents transmit rule-sets of actions to robots to help overcome their obstacles, and agents also share information globally amongst themselves by migrating to other computer servers. Some analogies between this AIS and an NIS are: the obstacle problem presented by a robot is analogous to an antigen, the rule-set of actions transmitted by an agent correspond to antibodies, the robots are akin to DCs, software agents correspond to B cells, the computer servers themselves are analogous to LNs, and the physical area `serviced' by a single computer server corresponds to a DR. The system is diagrammed in Fig. 2.

Fig. 2. (A) Left Panel: a scaled down version of the multi-robot AIS system. The shaded regions are artificial LNs (computer servers) and the unshaded regions are the artificial DR. Light arrows denote communication between robots and servers (local communication) and bold arrows denote communication between servers (global communication). (B) Right Panel: a scaled up multi-robot AIS system with sub-modular architecture. Note that the number of artificial LNs and their size (the number of robots they service and the number of software agents they have in memory) both increase with the size of the system.

We are interested in an architecture that minimizes the time taken by a robot to transmit information about an obstacle (local detection), the time taken by a computer server to transmit back an initial rule-set of actions (local response) and the time taken by a computer server to communicate good rule-sets to other agents (global response). There are two potential communication bottlenecks: communication between robots and computer servers, and communication between computer servers.

Overcoming the bottleneck in (local) communication between robot and server requires many small DRs. A bottleneck in (global) server communication requires a few large servers. If both local and global communication are constrained, the architecture which balances these opposing requirements is sub-modular, i.e. the number of servers increases sublinearly with system size and the capacity of each server (bandwidth, memory and number of robots serviced by each server) increases sublinearly with system size (shown in Fig. 2). The four ways in which communication can be bottlenecked are outlined below:

1) High Capacity Robot Bandwidth, High Capacity Server Bandwidth: Assuming that robots have high bandwidth to communicate with computer servers and software agents can communicate with each other over a channel with high bandwidth, we see that trivially any of the architectures would suffice.

2) Limited Robot Bandwidth, High Capacity Server Bandwidth: Assuming communication between robots and computer servers is a bottleneck mandates a small fixed size DR, i.e. a computer server servicing a small number of robots to reduce contention and transmission time. Since communication between servers is not constrained, we can have the number of servers scaling linearly with system size, giving a completely modular network as the optimal architecture.

3) High Capacity Robot Bandwidth, Limited Server Bandwidth: Assuming communication between computer servers is a bottleneck stipulates a fixed number of computer servers to reduce communication overhead. Since communication between robots and servers is not constrained, we can have the DR size (number of robots serviced by a single server) and LN size (number of agents in a single server) scaling with system size. Hence the optimal architecture is a non-modular detection network.

4) Limited Robot Bandwidth, Limited Server Bandwidth: A bottleneck in robot and server communication demands a small DR and lots of servers, whereas a bottleneck in server communication requires fewer large servers. The architecture that balances these opposing requirements is a hybrid sub-modular architecture, i.e. the number of servers and their size (number of robots serviced by each server) increases with system size (Fig. 2).