A better simulation environment for P2P protocols are named as Peersim. These kinds of simulations are coded with the java programming platform. The Peer-to-Peer simulator is also called as Peersim. An easy configuration, extend ability and high performance are the main features provided by the Peersim. The both dynamic and scalable designs are used in Peersim technology. The modular approach is used in Peersim is the main philosophy of the preferred way of coding with it is to re-use existing modules. The modules used in Peersim can be of different kinds. For example the construction and initialization of the underlying network are moduled. The different protocols are handled by this module which control and modify the network in Peersim.
Our organizations main motto is to provide a cent percentage of client’s satisfaction with the expected cost value. Our employee development team members are very enthusiastic and give their full support to the organizations development. Peersim offers a lot of these modules in its sources, which ease greatly the coding of new applications. Peersim can also work in two different modes: cycle-based or event-based. The cycle-based engine is based on a very simple time scheduling algorithm and is very efficient and scalable. However, it has some limitations. Peersim can achieve a network consisting of 10^6 nodes using the cycle-based engine. As an example it does not model the transport layer. The event-based engine is based on a more complex but more realistic approach. It is not very used. It is not well documented and its performances are quite unknown. Both these points are what we had to investigate during our project.
Extremely, large scale (millions of nodes) systems are called Peer-to-peer (P2P). Continuously, nodes in the network can join and leave from the network. In such environment an experimenting with a protocol is no easy task at all. The cope with these properties and to reach extreme scalability and to support dynamism are developed by the Peersim.
In addition, the simulator structure easy to quickly prototype a protocol and is based on component and makes it. In fact of Java objects the different pluggable building blocks are combined with the protocol. The two different simulation models are supported by the Peersim 1.0 version: the cycle-based model and a more traditional event-based model. This document is about the former and this model is a defined as a simplified one. At the cost of some loss of realism the extreme scalability and performance are achieved by this model. Several simple protocols can to create this loss without problems, according to our own experience; yet, care should be taken when this model is selected to experiment with a protocol.
The modular programming based on objects (building blocks) is encouraged by Peersim. The same interface (i.e., the same functionality) implementing another component is easily replaced by each block. The general idea of the simulation model is:
- Choose a network size (number of nodes)
- Choose one or more protocols to experiment with and initialize them
- Choose one or more Control objects to monitor the properties you are interested in modify some parameters during the simulation (e.g., the size of the network, the internal state of the protocols, etc)
- Run your simulation invoking the Simulator class with a configuration file, that contains the above information