This project is about simulating new applications of P2P file-sharing, using the DEVS formalism and the CD++ toolkit.
Our simulator has a very basic network model, but we are focusing development on the user/peer models. In our existing work we have simulated peers sharing documents that contain hyperlinks. The peers can then follow these links if they so choose. How do hyperlinks work in a P2P network? Check our work on U-P2P, the “universal peer to peer” file-sharing framework.
The simulation is parameterized. The peers have a basic behavior model that can be configured. The number of peers in the network can also be configured, in our implementation we use the Gnutella protocol, built on top of a social network (the peers have acquaintances, which they try to connect to). Each peer model can be configured to have a different behavior.
The simulation outputs a text file log which contains all the events that happen in the simulation. This log can be taken into the Simulation visualizer Java application which shows each event in the log happening visually on a network graph.
The Github repository for the P2P Simulation project can be found here.