Note: The ONE has moved to GitHub! See the new homepage and repository.
The Opportunistic Network Environment simulator.
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.
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.
If you have used the ONE simulator in your research, please use the SIMUTools paper ([PDF] [BibTeX]) as the reference.
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
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.
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 |
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 |
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 |
The program is released under GPLv3 license. Copyrights of the included map data of Helsinki downtown are owned by Maanmittauslaitos.
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.
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]
Simulator running with 100 nodes, map-based movement and Spray and Wait routing
Random waypoint with 200 nodes and 250m radio range
Adjacency graph generated from a report (with some help from Graphviz)