ONE simulator introduction



The main intention of this article is to give an introduction to the ONE (Opportunistic Network Environment) simulator to the beginners in Windows platforms. Since the ONE provides very less documentation I hope this article may be useful to the beginners who aim to do their research work in Delay Tolerant Networks. 

To start with download the ONE simulator from the link given below. It is better to download one.1.4.1 or above.
  https://github.com/akeranen/the-one
Don’t forget to subscribe to the mailman link in the ONE page. Once you are subscribed you can clear any of your doubts with one of the best research community in DTN. 

Here are the steps below to make yourself familiar with ONE.



Setting Java Path Variable
After downloading you get a folder like one_1.4.1. Copy it to any directory in your system. Now, don’t expect to find a .exe because that is not how it starts. 

The pre-requisite for running ONE is to have a jdk in your system. And for one_1.4.1 it is better to use jdk_1.7.0 or above. After downloading and installing jdk set the java path in Environment variables. If you are not familiar with setting the Java path, the steps are given below:

 Go to My Computer. Right Click on Properties. Find Advanced System Settings - Environment Variables - System Varaiables - Path. Edit C:\Program Files\Java\jdk1.7.0\bin

 

 

 


 Don’t forget to separate the paths with a semicolon as shown in the figure.  


Compiling and running ONE 
After setting the Java path now we can compile the ONE. Since ONE is written completely in Java it is necessary to compile all the programs before running the simulator.  


When you got to the downloaded ONE folder you can see a list of folders each containing java files. In the ONE folder along with other folders you will see some .txt files also which are settings files. We’ll come to this later.

 

To compile the ONE simulator, now you have two ways.
1.      Double click on compile.bat OR
2.      Go to command prompt, give the path to the directory where you have saved ONE and type compile.bat and enter.
I suggest you to go with the second method because later when you start developing your own programs in ONE this will give errors on the prompt if you have any.
So once the compile.bat runs all the java files in the ONE get compiled. Before compiling you will only see .java files. Now you will get to see .class files also.

 

To run the ONE simulator also you have two ways.
1.      You can choose the GUI mode OR
2.      You can choose the batch mode.
Batch mode is recommended, but being a beginner it is better to go with GUI because it gives a feeling of what the simulation is.
I’ll explain the GUI first and then the batch mode.
To run the GUI double click on one.bat in your ONE folder or type one.bat in command prompt and enter. This will open up the GUI. Always remember this GUI is a running java code. So where is this code? You can find it in one_1.4.1\core\DTNSim.java. If you are a beginner don’t try to study the code at first. Try to learn more about running the ONE simulator. 

  

There will be a pause/play button on the top left side of GUI. Once you enter this the simulation starts.
On the top left corner you can see the Simulation clock. This is the clock of the simulator. By default it will run for 43200s. But in real it doesn’t take this much time, it is the time that the simulator is simulating according to it’s program.
You can also reduce the magnification by changing values in the field right to that magnification glass you see on top of the GUI.
Let’s have a closer look into the GUI. On the right side we have a section called nodes. You may see a lot of button below it like p0, p1 etc. These are the nodes that are running in the simulation. When you click each button it shows the location of that node on the map.
The map that the ONE simulator uses by default is the Helsinki city map. When you start developing your own programs you can change the maps also. That will be discussed in another article.
In the Event log section of the GUI the connections created, the messages transmitted etc can be seen.
These are some basics on the ONE GUI.
·         To run ONE in the batch mode. Type the following command in the command prompt.
one.bat –b 1

 

The real format of running in batch mode is:
one.bat –b <no:of times to run> <settings file path>
Let us understand what this means:
-b: this indicates that the simulation is to be run in the batch mode.
<no:of times to run>: this is always an integer and tells how many times this simulation is to be run. In our example we have given it as 1 because we need to run it only 1 time. There may be some cases where you may want to run your program for n number of times each with a different random seed. However as a beginner we will keep this value to 1.
<settings file path>: This give the path to the settings file that the simulator is running. By default the ONE uses the default_settings.txt as the settings file. You can see this in the one folder. If you need your own settings file, you can have that also. Give path to that file in this place of the command.

In the batch mode you will not be able to see the node’s location etc.
 
 Report Generation

Now after the ONE finishes the simulation where are the reports generated? Open the reports folder and the MessageStatsReport can be seen. In this report it is possible to see the delivery probability, average latency, overhead ratio etc for the current simulation. 


Settings
Let’s see more about the settings file. As an example we’ll take the default_settings.txt file.



#
# Default settings for the simulation
#
## Scenario settings
Scenario.name = default_scenario
Scenario.simulateConnections = true
Scenario.updateInterval = 0.1
# 43200s == 12h
Scenario.endTime = 43200
 
 

The # in the file indicates comments.
·         Scenario.name: The value set for this is the name we give for current simulation. For each simulation this value should be changed, otherwise the reports generated for each simulation will be replaced with the new contents. So if you want separate report files for each simulation change names here.
·         Scenario.simulateConnection: this should be set to true for simulations. In some cases we may use external traces (like those downloaded from CRAWDAD); in such cases the value is set to false.
·         Scenario.updateInterval: This defines the interval in which the update() function in the MessageRouter.java file has to be called. As default it is set to 0.1s.
·         Scenario.endTime: The time for which the scenario is to be simulated. You can keep it to any number of seconds. By default it is kept to 43200s which is 12hrs.

## Interface-specific settings:
# type : which interface class the interface belongs to
# For different types, the sub-parameters are interface-specific
# For SimpleBroadcastInterface, the parameters are:
# transmitSpeed : transmit speed of the interface (bytes per second)
# transmitRange : range of the interface (meters)

# "Bluetooth" interface for all nodes
btInterface.type = SimpleBroadcastInterface
# Transmit speed of 2 Mbps = 250kBps
btInterface.transmitSpeed = 250k
btInterface.transmitRange = 10
# High speed, long range, interface for group 4
highspeedInterface.type = SimpleBroadcastInterface
highspeedInterface.transmitSpeed = 10M
highspeedInterface.transmitRange = 1000
 

We can set interfaces as we like. The set of interfaces supported by ONE are given in interfaces folder.
·         Type: For a scenario we can give specific names to the interfaces we want. For example I want a Bluetooth type interface and a high speed interface. For distinguishing between the two I name the first as btInterface and the other highspeedInterface. The ONE should now understand the difference between two. We keep the type of both interfaces as SimpleBroadcastInterface and vary the parameters for each interface.
For example: we know Bluetooth won’t have a high transmission range and speed and so we keep their values low:

o    btInterface.transmitSpeed = 250k
o   btInterface.transmitRange = 10
      Also we need a high speed and long range interface and so it’s values we keep different.
o   highspeedInterface.transmitSpeed = 10M
o   highspeedInterface.transmitRange = 1000
Note that transmitSpeed and transmitRange are parameters for SimpleBroadcastInterface. For other interfaces there maybe other parameters.
 Thus with the same type of interfaces we can create as many different interfaces with different features.
Scenario.nrofHostGroups: We can define any number of node groups. In the default file they have used 6 node groups. If you need no specific group, keep this value as 1. 

For each group we can have specific settings. These are given in the table above.
# Common settings for all groups

Group.movementModel = ShortestPathMapBasedMovement

Group.router = EpidemicRouter

Group.bufferSize = 5M
Group.waitTime = 0, 120

# All nodes have the bluetooth interface
Group.nrofInterfaces = 1
Group.interface1 = btInterface
Group.speed = 0.5, 1.5
Group.msgTtl = 300
Group.nrofHosts = 40

You may wish to keep some settings common for all groups. That can be specified as above.
  • movementModel: In the above example all groups use ShortestPathMapBasedMovement as the movement model. The movement models that ONE supports can be found in the movements folder. If some group wants to use another movement model simple do:
Group<ID>.movementModel = <The class name of the movement model>
  • router: The routing protocol that all group of nodes use is set as Epidemic routing protocol. The routing protocols already implemented in ONE can be seen in routing folder.
  • bufferSize: The default buffer size for all the nodes is kept as 5M in this example.
  • waitTime: This is the minimum and maximum wait times (seconds) after reaching destination. In our example min is 0s and max is 120s for all groups.
  • nrofInterfaces : The number of interfaces used by groups. In the example all groups use only 1 interface.
  • interface<ID>: the interface ID used. If we want Bluetooth features that we defined first, then Group.interface1 = btInterface.
What if some group uses two interfaces then the two can be specified by:
Group.interface2 = highspeedInterface.
  • speed: this defines the max and min speed in which the nodes must move. In the example it is given as 0.5-1.5m/s. All the values in this field should be in m/s. (0.5-1.5m/s is generally taken as speed for pedestrians)
  • msgTtl: The TTL value of messages for the group. This should be specified in minutes.
  • nrofHosts: This field specifies the number of nodes in each group. It is kept 40 in this example.


# group1 (pedestrians) specific settings

Group1.groupID = p


# group2 specific settings

Group2.groupID = c

# cars can drive only on roads

Group2.okMaps = 1

# 10-50 km/h

Group2.speed = 2.7, 13.9


# another group of pedestrians

Group3.groupID = w


# The Tram groups

Group4.groupID = t

Group4.bufferSize = 50M

Group4.movementModel = MapRouteMovement

Group4.routeFile = data/tram3.wkt

Group4.routeType = 1

Group4.waitTime = 10, 30

Group4.speed = 7, 10

Group4.nrofHosts = 2

Group4.nrofInterfaces = 2

Group4.interface1 = btInterface

Group4.interface2 = highspeedInterface


Group5.groupID = t

Group5.bufferSize = 50M

Group5.movementModel = MapRouteMovement

Group5.routeFile = data/tram4.wkt

Group5.routeType = 2

Group5.waitTime = 10, 30

Group5.speed = 7, 10

Group5.nrofHosts = 2


Group6.groupID = t

Group6.bufferSize = 50M

Group6.movementModel = MapRouteMovement

Group6.routeFile = data/tram10.wkt

Group6.routeType = 2

Group6.waitTime = 10, 30

Group6.speed = 7, 10

Group6.nrofHosts = 2


In this section, each group is defined and group specific settings are kept.
  • Group1.groupID: We can specify an id for each group. In the example for first group it is p. That is why in GUI mode you were able to see p0,p1 etc. Like this we can define an ID for each group.
The first group in the example doesn’t use any specific settings and use the settings that we kept for the whole group.
  • Group2: Group2 has defined a parameter called okMaps. There are many routes that the nodes can follow. The Group 1 did not specify any value means the nodes in that group can follow all the routes in the map. Such type of nodes can be kept as pedestrians as pedestrians tend to take all routes. The group2 uses only route 1 which is roads. To understand the indexes for each route, it is given in default_settings.txt file.

MapBasedMovement.mapFile1 = data/roads.wkt
MapBasedMovement.mapFile2 = data/main_roads.wkt
MapBasedMovement.mapFile3 = data/pedestrian_paths.wkt

MapBasedMovement.mapFile4 = data/shops.wkt
  • Group 2 also wants another value for speed and defines this as Group2.speed = 2.7,3.9
  • Group4, 5 and 6: They use different values for movement models, routes, buffer, number of nodes etc.
## Message creation parameters

# How many event generators

Events.nrof = 1

# Class of the first event generator

Events1.class = MessageEventGenerator

# (following settings are specific for the MessageEventGenerator class)

# Creation interval in seconds (one new message every 25 to 35 seconds)

Events1.interval = 25,35

# Message sizes (500kB - 1MB)

Events1.size = 500k,1M

# range of message source/destination addresses

Events1.hosts = 0,125

# Message ID prefix

Events1.prefix = M

Messages can be generated or can be loaded from an external text file. For beginners we’ll discuss about messages being generated. In some cases we can use different events for message generation. Here only 1 event is used and so we keep Events.nrof =1.
The class of event is MessageEventGenerator, other classes can be seen in input folder in ONE.
The interval in which messages are to be generated has to be defined. It is by default kept as 25-35s.
Events1.interval = 25,35
The message size is to be defined: Events1.size = 500k,1M
Now, the source/destination addresses that are valid to where the messages go is to be defined: Events1.hosts = 0,125
In this example we have a total of 126 nodes (40(p group)+(40 c group) +(40 w group)+ (6 from three t groups)), so we keep the values as 0,125. If we were having 50 nodes then it will 0,49 and so on.

In some cases some routing protocols have their own specific settings. For example:

SprayAndWaitRouter.nrofCopies = 6

# Reports - all report names have to be valid report classes
# how many reports to load
Report.nrofReports = 1
# length of the warm up period (simulated seconds)
Report.warmup = 0

# default directory of reports (can be overridden per Report with output setting)
Report.reportDir = reports/
# Report classes to load

Report.report1 = MessageStatsReport

We can specify the number of reports we want for each simulation. The reports available in ONE are given in the report folder. The MessageStatsReport.java can be seen in this folder. This report contains the delivery rate, average latency etc.
What if we need two reports, say MessageDeliveryReport. Then the settings has to be defined as below:

Report.nrofReports = 2
Report.report1 = MessageStatsReport
Report.report2 = MessageDeliveryReport

We have seen that in batch mode we can run the simulation for any number of times. We can change the settings for each parameter for each run by using a semicolon in the default_settings.txt. For example:
Scenario.name = [simulation1;simulation2;simulation3]
Group.router = [EpidemicRouter;ProphetRouter;SprayAndWaitRouter]

After we change the two parameters like this and then run from cmd: one.bat –b 3

ONE will run for three times and for each time it will take different values separated using semicolon.

Thus we will get three reports in the reports folder:
simulation1_MessageStatsReport.txt (Ran with Epidemic routing)
simulation2_MessageStatsReport.txt (Ran with Prophet routing)
simulation3_MessageStatsReport.txt (Ran with Spray and Wait routing)

How to use a separate settings file?

In some cases we may wish to use a separate settings file. We can create another file and give the path of the file in the command prompt. The ONE uses all the values used in this file. Those values missing in this file will be taken from the default_settings.txt file.

Let us create a file called test.txt. This file uses only one group of nodes.
Scenario.name = test

Scenario.nrofHostGroups = 1
Group.nrofHosts = 100
Events1.hosts = 0,99
Now we run the ONE as below:
One.bat –b 1 test.txt
The parameters that are not defined in the test.txt will be taken from the default_settings.txt.

 



Comments

  1. very nice for beginners , good work try to provide implementation details if possible for new protocol

    ReplyDelete
    Replies
    1. Thank u.., I will keep another article for that. Keep suggesting :)

      Delete
    2. Please can you advice or assist me with any material that will help me interpret results in ONE. thanks for the wonderful post here. its great for beginners like me. elteejayy@gmail.com

      Delete
  2. can you tell me that how can we assign priority level to message in simulation as we can have priority level on basis like message is bulk, normal or expedited type

    ReplyDelete
    Replies
    1. Hai neha,

      I think I can help u with that. Just give me 1 or 2 days :)

      Delete
    2. Hai Neha,

      To create priority level for bulk, normal or expedited, first create 3 events in ur settings. Let the event class for all three events be MessageEventGenerator (That's not necessary). Now for each event make the vary the size of messages (like 50k-200k for bulk, 200k-400k for normal like that), vary the message prefixes for each event and also assign a priority for each event.

      You will have to set that priority in the Message.java file in core folder of ONE.

      After u set functions to set that priority there, I think make a sort function in MessageRouter.java where u will have to make a seperate queue for each type of message.

      That's the logic. If u don't get idea still tell me, k..

      Delete
    3. Hi all
      i am beginner of ONE simulator and also i am not a professional Java programmer anybody help me
      1. how to send a single message from node 1 to node 2
      and
      2. from node 2 reply acknowledge message to node 1 (that i receive hello message)

      please help me thanks


      --

      Delete
  3. nice work. Looking forward for more tutors. I am beginner. I have few question If you are ready to tackle them.

    ReplyDelete
    Replies
    1. Sagar Barai,
      join the mail list and I hope to help you.

      Juliano Fischer Naves

      Delete
    2. Yeah i am on the mailing list. thanx Juliano :-)

      Delete
    3. Hai Sagar,

      Yup, do ask questions. If I can I will help. Also join the mailing list.

      Delete
    4. How do I join the mailing list. Thanks

      Delete
  4. Very nice work, Nikhita, contratulations!

    ReplyDelete
    Replies
    1. Hai Juliano,

      Thanks a lot for your compliment... :)

      Delete
  5. Nikhitha,
    Done a grt job. Keep it up!!!
    Wanted to know how to implement multicasting in ONE...

    Thanks
    Inadyuti

    ReplyDelete
    Replies
    1. Hai,

      Thanks. Well, I have not yet implemented multicasting in ONE. Let me see if I can help u. By the way post the question in ONE mailing list also. There u will get a precise answer.

      Nikhitha

      Delete
  6. Hi,
    I'm new to this simulator. Ur information is very useful to me. Can I know whether ONE simulator is used for wireless sensor networks environment.

    ReplyDelete
  7. This is very useful information for the beginners. I want to know how to integrate existing data sets (e.g. CRAWDAD) for DTN routing?

    ReplyDelete
    Replies
    1. I am also interested in loading external data sets and traces in ONE. Has anyone come up with a solution yet?
      Thanks in advance

      Delete
  8. Hi NIkhitha,
    How to implement an external movement model, for example .one movement model generated by bonnmotion?
    I am looking very hard for external movement integration, but still no concrete solution.

    ReplyDelete
  9. when i am comile.bat then following error occur so what should i do
    interfaces\SimpleBroadcastInterface.java:12: package core does not exist
    import core.Settings;
    ^
    interfaces\SimpleBroadcastInterface.java:18: cannot find symbol
    symbol: class NetworkInterface
    public class SimpleBroadcastInterface extends NetworkInterface {
    ^
    interfaces\SimpleBroadcastInterface.java:23: cannot find symbol
    symbol : class Settings
    location: class interfaces.SimpleBroadcastInterface
    public SimpleBroadcastInterface(Settings s) {
    ^
    interfaces\SimpleBroadcastInterface.java:35: cannot find symbol
    symbol : class NetworkInterface
    location: class interfaces.SimpleBroadcastInterface
    public NetworkInterface replicate() {
    ^
    interfaces\SimpleBroadcastInterface.java:44: cannot find symbol
    symbol : class NetworkInterface
    location: class interfaces.SimpleBroadcastInterface
    public void connect(NetworkInterface anotherInterface) {
    ^
    interfaces\SimpleBroadcastInterface.java:102: cannot find symbol
    symbol : class NetworkInterface
    location: class interfaces.SimpleBroadcastInterface
    public void createConnection(NetworkInterface anotherInterface) {
    ^
    interfaces\ConnectivityGrid.java:69: cannot find symbol
    symbol : variable DTNSim
    location: class interfaces.ConnectivityGrid
    DTNSim.registerForReset(ConnectivityGrid.class.getCanonicalName(
    ));
    ^
    interfaces\ConnectivityGrid.java:76: cannot find symbol
    symbol : class Settings
    location: class interfaces.ConnectivityGrid
    Settings s = new Settings(MovementModel.MOVEMENT_MODEL_NS);
    ^
    interfaces\ConnectivityGrid.java:76: cannot find symbol
    symbol : class Settings
    location: class interfaces.ConnectivityGrid
    Settings s = new Settings(MovementModel.MOVEMENT_MODEL_NS);
    ^
    interfaces\ConnectivityGrid.java:76: cannot find symbol
    symbol : variable MovementModel
    location: class interfaces.ConnectivityGrid
    Settings s = new Settings(MovementModel.MOVEMENT_MODEL_NS);
    ^
    interfaces\ConnectivityGrid.java:77: cannot find symbol
    symbol : variable MovementModel
    location: class interfaces.ConnectivityGrid
    int [] worldSize = s.getCsvInts(MovementModel.WORLD_SIZE,2);
    ^
    interfaces\ConnectivityGrid.java:81: cannot find symbol
    symbol : variable World
    location: class interfaces.ConnectivityGrid
    s.setNameSpace(World.OPTIMIZATION_SETTINGS_NS);
    ^
    like this 100 errors

    ReplyDelete
    Replies
    1. check if your class path is set to point to some other folder in your system.
      I presume you'r working on Linux, so in that case
      1.open up terminal
      2. echo $CLASSPATH
      if it is not blank.. then
      export CLASSPATH=''
      3. now compile using sh compile.sh

      Hope this solves the problem.

      Delete
  10. Hi I have question about PointsOfInterest , how I can do for defining my node to go the direction of this POIs ?
    could you please help me

    ReplyDelete
  11. hi please I need to convert the map with osm extenstion to wkt thank you in advance

    ReplyDelete
  12. how to assign priority for the various bundles...like in prioritized epidemic routing...plz reply

    ReplyDelete
  13. i am also beginner to ONE.I am doing dissertation in co-operation enforcement in DTN.I want to know that can i edit existing routing algorithm to cooperate nodes.

    ReplyDelete
  14. How to add selfishness to nodes within network??Once selfishness is given,according to that messages are being forwarded or dropped..pls help.

    ReplyDelete
  15. Hi Nikhita,
    I am new to one simulator. I read your document and created network with the 9 different scenario, with 5, 10 and 15 nodes with using 3 different routing protocol and check the reports for that.

    Now, I want create Denial of Service attack to check the performance of these 9 scenarios. So what I should do for attack?

    Thanking you,
    Vrushank Shukla

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete
  17. Do you know how to get report in the form of (node id, total number of message received, total number of node in contact)? If need to define a new class, can you help me with that?

    ReplyDelete
  18. To All Respected Researchers,

    Anyone can help me regarding avoidance of some nodes during simulation using ONE simulator?
    1) As we know the total simulation time is: 43200 s, how to divide the total time into some sub intervals?
    2) Say, I want the 1st sub interval 2000s. After 2000s we want to avoid some nodes, how to avoid those nodes and in the 2nd sub interval how to continue simulation bypassing those nodes?
    Please help me if possible.


    Chandrima Chakrabarti

    ReplyDelete
  19. Hello all.
    Has anyone managed to run simulations using PJ Dilon's SprayAndFocus router module?
    It seems that the results are not right. Any help is highly appreciated

    ReplyDelete
    Replies
    1. Yes i had run simulations based on the SprayAndFocus router module. May I know what is the problem you'r facing?

      Delete
  20. Hi, any one plz tell me about ONE Simulator's contribution in Mobile Ad hoc networks....Is it possible to develop Ad hoc network routing protocols such as AODV, DSR in ONE?

    ReplyDelete
  21. When i compile one.bat in command line. It says C:\Users\AHMED>java -Xmx512M -cp .;lib/ECLA.jar;lib/DTNConsoleConnection.jar cor
    e.DTNSim
    Exception in thread "main" java.lang.NoClassDefFoundError: core/DTNSim

    ReplyDelete
    Replies
    1. Did u check that there is DTNSim.java file in the core folder inside the ONE folder? Also have you compiled the one using compile.bat?

      Delete
    2. ALso please check whether there is DTNSim.class also in that folder. Just to make sure the java files has been compiled

      Delete
    3. When i compile compile.bat
      C:\Users\AHMED>Desktop\one_1.4.1\one_1.4.1\compile.bat

      C:\Users\AHMED>javac -extdirs lib/ core/*.java
      javac: file not found: core\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ movement/*.java
      javac: file not found: movement\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ report/*.java
      javac: file not found: report\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ routing/*.java
      javac: file not found: routing\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ gui/*.java
      javac: file not found: gui\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ input/*.java
      javac: file not found: input\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ applications/*.java
      javac: file not found: applications\*.java
      Usage: javac
      use -help for a list of possible options

      C:\Users\AHMED>javac -extdirs lib/ interfaces/*.java
      javac: file not found: interfaces\*.java
      Usage: javac
      use -help for a list of possible options

      Delete
    4. I typed path to file compile.bat as shown
      it shows these errors.

      Delete
    5. Hai Tehseen,

      One more doubt, which java version are you using? And also have you added the java path in the path variables? Just to confirm

      Delete
    6. Hi every body can any body make two nodes and how they send packet and receive in one simulator plz help me i am new learner my email is rafiqullah1@gmail.com

      Delete
  22. Hi.

    I am new to ONE simulator. I connect eclipse with ONE. But I don't know how to run code using eclipse?

    ReplyDelete
    Replies
    1. Hey Donna, please check my post http://one-simuator-for-beginners.blogspot.in/2013/08/how-to-integrate-one-with-eclipse.html for running the code using eclipse.

      Delete
    2. Let we have N nodes in the DTN environment grouped into n numbers of groups i.e. each group contains k number of nodes.
      K=N/n
      Task1: I want you to test spray and wait where number of copies generated in each group is k. Compute the same statistics: delivery ratio, overhead, impact on buffer size etc.

      Delete
  23. This comment has been removed by the author.

    ReplyDelete
  24. Hii Nikhitha,
    In ONE there is no payload for a message, but i want to give a priority for each message based on if it is a real time or non-real time. I want to add a flag for each message:
    if real time, flag is set to 1
    if non-real, flag is 0.
    Can i get some help in translating this into code in ONE??

    thnx.

    ReplyDelete
  25. Hi, please i need help. Just trying to compile ONE using the command prompt but i get the message "ACCESS DENIED" What could be resposible?

    Thanks.

    ReplyDelete
  26. some could help me to install ONE simulator

    ReplyDelete
  27. hey nitkhita,can you help regarding multicast routing on DTN

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. Can anybody tell me how to implement selfish behavior of node in mobile social network??

    ReplyDelete
  30. Please, I ask how to implement spray and wait routing protocol and I want to build a new routing protocol how can start and modify classes of one simulator. Please need your help.

    ReplyDelete
  31. Hi Dear I want to make The One simulator. Please send me link or book so I make create the one simulator stepp by step
    Thank You

    ReplyDelete
  32. Hello Dear Nikhitha,
    I really appreciate your effort, your post helped me a lot it saves my time
    please keep continue to post more tips
    Thanks again

    ReplyDelete
  33. Hi Nikittha,
    I am new in ONE. can you please tell me how to add %of energy left characteristics in Report. I want to check the energy consumption in the network.

    ReplyDelete
  34. As mentioned in the instruction i set the path variables.. and compile the .bat file..
    but still it throws several errors
    .. i am using jdk1.7.0.

    throws error like package core does not exist..
    cannot find symbol..
    and many more..please help me.

    ReplyDelete
  35. As mentioned in the instruction i set the path variables.. and compile the .bat file..
    but still it throws several errors
    .. i am using jdk1.7.0.

    throws error like package core does not exist..
    cannot find symbol..
    and many more..please help me.

    ReplyDelete
  36. Hi! How do i go about implementing a new routing strategy? Do i make a new class in the routing folder with my algorithm?

    ReplyDelete
  37. hai niki, please help me, now i am doing my final project about dtn, i want to know how i can set the the source and destination node . ex i want to node 1 as source and node 25 as destination.

    ReplyDelete
  38. How can message encryption be performed in One simulator?

    ReplyDelete
  39. hi,
    do you have any idea how to implement n epidemic routing in dtn

    ReplyDelete
  40. Hello Nikhitha,

    I want to install ONE simulator in Ubuntu and integrate to eclipse IDE. Will be there any version problems/

    ReplyDelete
  41. Hello I just want to know that where can I see the reports generated??

    ReplyDelete
  42. mr barun, please tell me how i can load external movement from csv file?

    ReplyDelete
  43. can u please tell me how to create simple DTN...??

    ReplyDelete
  44. This comment has been removed by the author.

    ReplyDelete
  45. my question is "how to see the output in ONE environment along with the execution?" please help me.its urgent for me.

    ReplyDelete
  46. Hello I need some help in implementing BubbleRap in ONE simulator. if anyone worked on it then kindly contact me on this id "qirtas333@gmail.com"

    ReplyDelete
  47. Hello..
    I have recently started my masters final year project on opportunistic networks using one simulator.Your tutorials are extremely helpful. I had some queries regarding the TTL and message creation..Can you please help me??

    I want to know

    What is the Relationship between TTL expiry and New Message Creation???
    How the messages are being created??
    For different messages the TTL are diffferent??? What is the logic behind the TTL??
    Also Epidemic Routing replicates the actual message.But when i saw the event log it displayed messages with different size. Then how it becomes Epidemic Routing??

    ReplyDelete
  48. Hello..
    I have recently started my masters final year project on opportunistic networks using one simulator.Your tutorials are extremely helpful. I had some queries regarding the TTL and message creation..Can you please help me??

    I want to know

    What is the Relationship between TTL expiry and New Message Creation???
    How the messages are being created??
    For different messages the TTL are diffferent??? What is the logic behind the TTL??
    Also Epidemic Routing replicates the actual message.But when i saw the event log it displayed messages with different size. Then how it becomes Epidemic Routing??

    ReplyDelete
  49. Hi All!

    Can anybody try to run the add on https://www.netlab.tkk.fi/tutkimus/dtn/theone/ dLife and dLifeComm with ONE simulator. I try but getting error.

    ReplyDelete
  50. F:\ONE\one_1.4.1>javac -extdirs lib/ gui/*.java
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.

    ReplyDelete
  51. F:\ONE\one_1.4.1>javac -extdirs lib/ gui/*.java
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.

    ReplyDelete
  52. Can anybody tell me which protocol is used to send messages in One

    ReplyDelete
    Replies
    1. You mean which routing protocol? If so that depends on what protocol you choose in the setting!

      Delete
  53. Hi

    I want to apply a buffer management such as NDrop or EDrop in the simulator, so where should I set that? which part? please help, thank you

    ReplyDelete
  54. Hi

    I want to apply a buffer management in the simulation, so how should I set that?
    please help, thank you

    ReplyDelete
  55. Once i create my own scenario that i want, after that where to put the new logic for route optimization? Can i run the whole scenario with the logic in a single file? Where to give the input?

    ReplyDelete
  56. Once i create my own scenario that i want, after that where to put the new logic for route optimization? Can i run the whole scenario with the logic in a single file? Where to give the input?

    ReplyDelete
  57. Once i create my own scenario that i want, after that where to put the new logic for route optimization? Can i run the whole scenario with the logic in a single file? Where to give the input?

    ReplyDelete
  58. How to change map?
    And how to make map properly?
    My map is not working properly, my screen is blank when I run my customized map.

    ReplyDelete
  59. Hello, everyone..
    I am very much new to ONE. I had installed ONE and tested the existing protocols therein.
    Can anyone please guide me through ONE in
    i) how to simply take two nodes and connect them
    ii) how to write my own function if required.
    Thank you very much in advance

    ReplyDelete
    Replies
    1. hello sir,
      i am new to ONE simulator. i had installed ONE simulator. i tested only one.bat.
      i want to know to create node, connection and messages. After that how to send messages from one node to another.
      please help me how to use ONE simulator for routing for my project.
      thank you in advance

      Delete
  60. Hello everyone,
    i am new to ONE simulator. i had installed ONE simulator. i tested only one.bat.
    i want to know to create node, connection and messages. After that how to send messages from one node to another.
    please help me how to use ONE simulator for routing for my project.
    thank you in advance

    ReplyDelete
    Replies
    1. Hi there,
      im new to ONE too and still trying to figure out how the simulator works. Maybe you can look at the content of project's the readme
      https://github.com/akeranen/the-one/wiki/README

      Delete

Post a Comment

Popular Posts