PlanetSim
Table of Contents
Description
PlanetSim is an object oriented simulation framework for overlay networks and services. This framework presents a layered and modular architecture with well defined hotspots documented using classical design patterns. In PlanetSim, developers can work at two main levels: creating and testing new overlay algorithms like Chord or Pastry, or creating and testing new services (DHT, CAST, DOLR, etc) on top of existing overlays.
PlanetSim also aims to enable a smooth transition from simulation code to experimentation code running in the Internet. Because of this, we provide wrapper code that takes care of network communication and permits us to run the same code in network testbeds such as PlanetLab. Moreover, distributed services in the simulator use the Common API for Structured Overlays. This enables complete transparency to services running either against the simulator or the network.
PlanetSim has been developed in the Java language to reduce complexity and smooth the learning curve in our framework. We however have profiled and optimised the code to enable scalable simulations in reasonable time. To validate the utility of our approach, we have implemented two overlays (Chord and Symphony) and a variety of services like CAST, DHT, and object middleware. We have proved that PlanetSim reproduces the measures of these environments and is also efficient in its network implementation.
PlanetSim Architecture
PlanetSim’s architecture comprises three main extension layers constructed one atop another. Applications are built in the upper layer using the standard Common API façade. This façade is built on the routing services offered by the underlying overlay layer. Besides, the overlay layer obtains proximity information to other nodes asking information to the Network layer.
The Simulator dictates the overall life cycle of the framework by calling the appropriate methods in the overlay's Node and obtaining routing information to dispatch messages through the Network.
Publications
2008
- Jordi Pujol Ahulló, Pedro García López, Marc Sànchez Artigas, Marcel Arrufat Arias, Gerard París Aixalà, Max Bruchmann PlanetSim: An extensible framework for overlay network and services simulations. Technical Report DEIM-RR-08-002, Universitat Rovira i Vigili, Tarragona, Spain. 11th January, 2008 [ PDF ]
2005
- Pedro García, Carles Pairot, Rubén Mondéjar, Jordi Pujol, Helio Tejedor, and Robert Rallo. PlanetSim: A New Overlay Network Simulation Framework. Lecture Notes in Computer Science (LNCS), Volume 3437. Software Engineering and Middleware, SEM 2004, Linz, Austria. Revised Selected Papers. March 2005, pp. 123-137. ISSN: 0302-9743. ISBN: 3-540-25328-9. [ pdf ]
2004
- Pedro García, Carles Pairot, Rubén Mondéjar, Jordi Pujol, Helio Tejedor, and Robert Rallo. PlanetSim: A New Overlay Network Simulation Framework. Proceedings of the 19th IEEE International Conference on Automated Software Engineering (ASE 2004). Workshop on Software Engineering and Middleware (SEM 2004). Linz, Austria, September 2004. ISBN: 3-902457-02-3. Acceptance Rate: 34%.
References
2008
- Mekterović, Igor; Baranović, Mirta; Križanović, Krešimir. Content-Based Search Using Self-Organizing Peer-to-Peer Network. Proceedings of the 2nd WSEAS International Conference On Computer Engineering And Applications (CEA'08), Advances On Software Engineering, Parallel And Distributed Systems. Cambridge, UK. Pages 50-55. WSEAS Press , 2008. ISBN: 978-960-6766-42-8.
2007
- Jinoh Kim. Robust Object Replication in a DHT Ring. Advanced Operating Systems (Prof. Jon Weissman), Spring 2007.
- Xinfa WEI and Kaoru SEZAKI. DHR-Trees: Enabling Multidimensional Queries in P2P Systems. IEICE Transactions on Communications, Volume E90-B, Number 9, Pages. 2494-2503, 2007. ISSN 1895-1767.
- Krishna P. N. Puttaswamy and Ben Y. Zhao. A Case for Unstructured Distributed Hash Tables. Proceedings of 10th IEEE Global Internet Symposium (GI '07) in conjunction with IEEE INFOCOM 2007, Anchorage, AK, USA, May 2007.
- Ingmar Baumgart, Bernhard Heep, Stephan Krause. OverSim: A Flexible Overlay Network Simulation Framework. Proceedings of 10th IEEE Global Internet Symposium (GI '07) in conjunction with IEEE INFOCOM 2007, Anchorage, AK, USA, May 2007.
- Nadeem Abdul Hamid. A lightweight framework for peer-to-peer programming. Journal of Computing Science in Colleges. Volume 22, Number 5, Pages 98-104, May 2007. Consortium for Computing Sciences in Colleges.
- S. Naicken, B. Livingston, A. Basu, S. Rodhetbhai, I. Wakeman and D. Chalmers. The state of peer-to-peer simulators and simulations. SIGCOMM Comput. Commun. Rev. Pages 95-98. Volume 37, Number 2, April 2007. ACM Press. ISSN 0146-4833.
- Rajiv Ranjan, Lipo Chan, Aaron Harwood, Rajkumar Buyya, Shanika Karunasekera. A Scalable, Robust, and Decentralised Resource Discovery Service for Large Scale Federated Grids. Technical Report, GRIDS-TR-2007-6, Grid Computing and Distributed Systems Laboratory, The University of Melbourne, Australia, April 18, 2007.
2006
- S. Naicken, A. Basu, B. Livingston, S. Rodhetbhai, and I. Wakeman, Towards Yet Another Peer-to-Peer Simulator. In Proceedings of The Fourth International Working Conference on Performance Modelling and Evaluation of Heterogeneous Networks (HET-NETs), Ilkley, UK, 2006.
- Ludger Bischofs, Simon Giesecke, Michael Gottschalk, Wilhelm Hasselbring, Timo Warns and Stefan Willer. Comparative evaluation of dependability characteristics for peer-to-peer architectural styles by simulation. Journal of Systems and Software, Volume 79, Issue 10, Architecting Dependable Systems, October 2006, Pages 1419-1432.
Results
Currently the PlanetSim can show the network topology as a GML or Pajek outputs. See these examples:
- A Chord network with 1000 nodes, whose node Ids are randomly built.
This output is obtained loading the output file into the yEd graph editor, included into the current PlanetSim distribution.
- A Symphony network with 1000 nodes, whose node Ids are randomly built.
This output is obtained loading the output file into the Pajek graph editor, not included into the current PlanetSim distribution.

