= !OverSim Features = [[Image(OverSimArchitecture.png, right, nolink)]] * '''Flexibility''': The simulator allows to simulate both structured and unstructured overlay networks (currently Chord and GIA are implemented). The modular design and usage of the Common API facilitate the extension with new features or protocols. Module behavior can easily be customized by specify parameters in a human readable configuration file. * '''Interactive GUI''': In order to validate and debug new or existing overlay protocols you can make use of the GUI of OMNeT++, which visualizes both the topology of the underlying network and the overlay topology in a customizable way. * '''Statistics''': The simulator collects various statistical data such as sent, received, or forwarded network traffic per node, successful or unsuccessful packet delivery, and packet hop count. * '''Exchangeable Underlying Network Models''': Our simulation framework has a flexible underlying network scheme, which on the one hand provides a fully configurable network topology with realistic bandwidths, packet delays, and packet losses, and on the other hand a fast and simple alternative model for high simulation performance. * '''Scalability''': !OverSim was designed with performance in mind. On a modern desktop PC a typical Chord network of 10.000 nodes can be simulated in real-time. == Planned Features / Work in Progress == * '''Additional overlay protocols''': At the moment we're working on implementations of Kademlia, Koorde, Broose and as well as several Application Layer Multicast protocols. * '''Reuse of simulation code''': The different implementations of overlay protocols should be reusable for real network applications, so that researchers can validate the simulator framework results by comparing them to the results from real-world test networks like [http://www.planet-lab.org/ PlanetLab]. Therefore, the simulation framework should be able to handle and assemble real network packets and to communicate with other implementations of the same overlay protocol.