Anthill is a framework aimed at supporting the design, development and analysis of peer-to-peer protocols and algorithms. The goals of Anthill are to: (i) provide an environment for simplifying the design and deployment of new P2P systems, and (ii) provide a "testbed'' for studying and experimenting with P2P systems in order to understand their properties and evaluate their performance. Anthill is based on the multi-agent systems (MAS) paradigm. A MAS is a collection of autonomous agents that can observe their environment and perform simple local computations leading to actions based on these observations. The behavior of an agent may be non-deterministic and its actions may modify the agent environment as well as the agent location within the environment. What distinguishes MAS from other agent models is that there is no central coordination of activity. MAS often exhibit a property called swarm intelligence whereby a collection of simple agents of very limited individual capabilities achieves ``intelligent'' collective behavior. In this manner, they are able to solve problems that are beyond the capabilities or knowledge of individual agents. For example, ant colonies, which are natural instances of MAS, are known to be capable of solving complex optimization problems including those arising in communication networks. In our opinion, MAS can be profitably adopted for the design of innovative peer-to-peer algorithms.
Anthill uses terminology derived from the ant colony metaphor. A P2P system based on Anthill is composed of a network of interconnected nests. Each nest is a peer entity capable of performing computations and hosting resources. Nests handle requests coming from users by generating one or more ants --- autonomous agents that travel across the nest network trying to satisfy the request. Ants interact indirectly with each other by modifying their environment by updating the information stored in the visited nests. This form of indirect communication, used also by real ants, is known as stigmergy.
Developers wishing to experiment with new P2P protocols need to focus only on writing appropriate ant algorithms using the Anthill API and defining the structure of the P2P system. The current version of Anthill includes a simulation environment to help developers analyze and evaluate the behavior of P2P systems. Ant algorithms are executed in simulated nest networks and various properties such as performance, fault-tolerance and availability are measured. Simulation parameters, such as the characteristics of the network, the type of ant algorithms deployed, the kind of workload presented to the system, and the properties to be measured, are easily defined using XML. http://www.cs.unibo.it/projects/anthill/