The ONE

Note: The ONE has moved to GitHub! See the new homepage and repository.

The Opportunistic Network Environment simulator.

Information

The ONE is a simulation environment that is capable of

ONE can import mobility data from real-world traces or other mobility generators. It can also produce a variety of reports from node movement to message passing and general statistics.

The simulator is written in Java (1.6). More documentation is available in form of javadocs.

Acknowledgments

The ONE simulator has been developed in the SINDTN and CATDTN projects supported by Nokia Research Center (Finland), in the TEKES ICT-SHOK Future Internet project, Academy of Finland projects RESMAN and Picking Digital Pockets (PDP), and supported by EIT ICT Labs.

Referring to the ONE simulator

If you have used the ONE simulator in your research, please use the SIMUTools paper ([PDF] [BibTeX]) as the reference.

Community Resources

News

8.11.2013 New version (1.5.1 RC2) is available

4.11.2013 New version (1.5.1 RC1) is available

31.1.2011 New version (1.4.1) is available

18.3.2010 New version (1.4.0) is available

16.3.2009 New section at the home page: Questions & Answers

19.1.2009 New version (1.3.0) is available

25.8.2008 New version (1.2.0) with a new movement model framework is available

18.8.2008 New section in the homepage: user contributions

6.5.2008 A beta version of the next release (1.1.0) is now available

Download

You can get the source code tar-ball for the latest version (1.5.1 RC2) from here.
For Windows users, there's a zip packet available here.

Old versions

Description .tar.gz .zip javadoc
The ONE version 1.4.1 download download browse
The ONE version 1.3.0 download download browse
The ONE version 1.2.0 download download browse
The ONE version 1.1.0 download download browse
The ONE version 1.0.1 download download browse

Sample scenarios

Here you can download some additional scenarios for the ONE that are not included in the distribution package. The field "ONE version" tells you which version(s) of the ONE the scenario is (at least) suitable for. You can download the file by clicking the filename at the "download" column. The entry in the contact column tells you where you can ask questions or give comments about the scenario.

name description ONE version download
Epidemic TTL test Sample scenario of testing the effect of Time to Live (TTL) to Epidemic routing protocol's performance. The package contains also the resulting report files, so you can use this to check if you managed to install and run the ONE properly. 1.0 - 1.1 epidemic_ttl.zip
RWP Epidemic Simple scenario of 200 nodes doing Random Waypoint movement with Epidemic routing (similar to the 3rd screenshot). 1.0 - 1.2 rwp_epidemic.zip

User contributions

Here you can find add-ons and scripts for the ONE that the users of the ONE have created.

name description ONE version made by download
BonnMotion converter This perl script can convert mobility traces created with the BonnMotion to a form that is suitable for the ONE as external movement model input. 1.0 - Vinicius Mota orderedNs2Parser.pl
Spray and Focus router module An implementation of Spray and Focus DTN routing as described in Spray and Focus: Efficient Mobility-Assisted Routing for Heterogeneous and Correlated Mobility by Thrasyvoulos Spyropoulos et al. 1.1 - PJ Dillon SprayAndFocusRouter.java
osm2wkt A program for converting OpenStreetMap maps into WKT files that are compatible with the ONE simulator. 1.0 - Christoph P. Mayer osm2wkt - openstreetmap to wkt conversion
RAPID router module Implementation of the RAPID DTN routing protocol. 1.4 - Wolfgang Heetfeld and Christoph P. Mayer RapidRouter-v0.1.tar
Routebuilder Simple tool for building routes and points-of-interest files 1.3 - PJ Dillon routebuilder.zip
ONE Contributions Various extensions to the ONE from PJ Dillon 1.3 - PJ Dillon ONE Contributions
Prophet v2 ProphetRouter with updated delivery probability calculations 1.1 - Samo Grasic ProphetV2Router.java
Simple file system Implementation of file system for nodes in ONE 1.4.1 Daniele Bonaldo file_support_v1.0.zip
Energy module Implementation of general energy support for ONE 1.4.1 1.4.1 Denis Silva one1_4_1_energy.zip
Implementation of general energy support for ONE 1.4.1 1.4.1 Denis Silva one1_4_1_energy.zip
dLife and dLifeComm dLife is a social-aware opportunistic routing solution based on the users' daily routines. It also has a community-based version called dLifeComm. 1.4.1 Waldir Moreira dLife_v1.0.zip
SCORP The Social-aware Content-based Opportunistic Routing Protocol (SCORP) is implemented to take forwarding decisions using the Time-Evolving Contact to Interest (TECI) utility function used to determine the social strength between nodes sharing interests in a daily sample. 1.4.1 Waldir Moreira scorp.zip
ProfileCast: CSI:T routing A routing algorithm that exchanges the messages based on the mobility profiles of the nodes. The message is given to a node when this node has the similarity to the Target Profile higher than the owner of the message. Form more information read http://arxiv.org/pdf/0807.1153.pdf 1.4.1 Andrea Campanella, NPTLab University of Milan ( contact ) ProfileCast_CSI-T_routing_algorithm.zip

License

The program is released under GPLv3 license. Copyrights of the included map data of Helsinki downtown are owned by Maanmittauslaitos.

Running (a really quick help)

Download the program. Compile it using your favourite IDE or compile.bat (should work in Linux, Windows and Mac OS X).

Start a simulation by typing (in Linux/Unix/OS X)
./one.sh
or (in Windows)
one.bat

After a short while, the GUI should start and a simulation should be up and running.

Every simulation run uses the settings from default_settings.txt, if one exists. You can give an additional configuration file(s) as a parameters to define new settings or override the ones defined in default settings. For example:

./one.sh epidemic_settings.txt

That would use the (included) epidemic settings configuration file and change the router for all nodes to epidemic (default is "passive router", i.e., no routing logic). See default_settings.txt for information about the different settings.

If you don't wish to use the GUI, you can run simulations in batch mode using -b option. In batch mode you can also define the number of runs using different run indexes. For example:

./one.sh -b 22 snw_comparison_settings.txt

That would run spray and wait comparison using 11 different message copy counts and with binary and normal mode. See Settings class' javadoc for details about run indexing.

To create a local copy of the javadoc documentation, run the create_docs.sh script in the doc folder.

See the included README.txt for more information.

Publications

Ari Keränen, Jörg Ott and Teemu Kärkkäinen: The ONE Simulator for DTN Protocol Evaluation. SIMUTools'09: 2nd International Conference on Simulation Tools and Techniques. Rome, March 2009. [PDF] [BibTeX]

Jouni Karvo and Jörg Ott: Time Scales and Delay-Tolerant Routing Protocols. Proceedings of the ACM MobiCom CHANTS Workshop, September 2008. San Francisco, September 2008. [PDF] [BibTeX]

Frans Ekman, Ari Keränen, Jouni Karvo, and Jörg Ott: Working Day Movement Model. 1st SIGMOBILE Workshop on Mobility Models for Networking Research, Hong Kong, May 2008. [PDF] [BibTeX]

Ari Keränen: Opportunistic Network Environment simulator. Special Assignment, Helsinki University of Technology, Department of Communications and Networking, May 2008. [PDF]

Ari Keränen and Jörg Ott: Increasing Reality for DTN Protocol Simulations. Technical Report, Helsinki University of Technology, Networking Laboratory, July 2007. [PDF]

Screenshots


Simulator running with 100 nodes, map-based movement and Spray and Wait routing


Zoomed view of the simulation


Random waypoint with 200 nodes and 250m radio range


Adjacency graph generated from a report (with some help from Graphviz)


Message passing graph (only messages from h1 to h2)

eXTReMe Tracker