Research Article
Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle
@INPROCEEDINGS{10.4108/icst.simutools.2011.245501, author={Roberto Roverso and Sameh El-Ansary and Alexandros Gkogkas and Seif Haridi}, title={Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle}, proceedings={Industry Track SimulationWorks}, publisher={ACM}, proceedings_a={INDUSTRY TRACK}, year={2012}, month={4}, keywords={peer-to-peer systems design simulation-based development NAT emulation bandwidth dynamics emulation}, doi={10.4108/icst.simutools.2011.245501} }
- Roberto Roverso
Sameh El-Ansary
Alexandros Gkogkas
Seif Haridi
Year: 2012
Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle
INDUSTRY TRACK
ACM
DOI: 10.4108/icst.simutools.2011.245501
Abstract
In this paper we present what are, in our experience, the best practices in Peer-To-Peer(P2P) application development and how we combined them in a middleware platform called Mesmerizer. We explain how simulation is an integral part of the development process and not just an assessment tool. We then present our component-based event-driven framework for P2P application development, which can be used to execute multiple instances of the same application in a strictly controlled manner over an emulated network layer for simulation/testing, or a single application in a concurrent environment for deployment purpose. We highlight modeling aspects that are of critical importance for designing and testing P2P applications, e.g. the emulation of Network Address Translation and bandwidth dynamics. We show how our simulator scales when emulating low-level bandwidth characteristics of thousands of concurrent peers while preserving a good degree of accuracy compared to a packet-level simulator.