Skip to main content

The ONE Knowledge Base

The Opportunistic Network Environment (ONE) simulator has become largely popular and widely used in research on DTNs and Opportunistic Networks. The simulator has an associated friendly community, where users can ask questions and get their doubts clarified. Indeed, the community is vibrant and its members are useful. However, there are two issues with this community.

First, the archives of the community's mailing list are not public. This is unlike many other similar lists hosted using Mailman, which are public and, therefore, can be searched using Google. Hence, time and again people have asked the question -- how to search the email archives?

The second issue is largely due to the first. Due to the lack of searching facility over the archives, often same question tend to be asked by the new users repeatedly. People here are patient enough to reply to them. But such necessity could be entirely discounted had there been a facility to search the archives. In particular, it would be useful to point to the users the specific emails matching one or more user provided search keyword(s).

Enter the ONE Knowledge Base (ONE KB) to the rescue!

The ONE KB is an online platform meant for searching the email archives of the community's mailing list. This will, therefore, enable the users of the ONE simulator to search using suitable keywords if their query has already been answered earlier.

Similar to other search engines, the ONE KB presents a list of matching documents (emails in this context) based on the input keyword(s). A user can click on these individual items to view the corresponding email in detail. As of today, the archives from November 2007 to April 2014 have been indexed. So, next time you have a question, give the ONE KB a try :)

However, please note that this is no alternative to actual mailing list pointed above.


  1. hi,
    i have two questions:
    1.By changing node selfish degree how to calculate no.of selfish nodes? much selfish node can detect using this function(/**
    * Returns if the nodes wants to cooperate or not
    public boolean wantToCooperate() {

    if (this.selfishdegree <= 0)
    return true;

    Calendar cal = Calendar.getInstance();
    Random n = new Random(cal.getTimeInMillis());
    int rn = (n.nextInt(100)+1);
    if (rn > this.selfishdegree)
    return true;
    return false;
    please answers me of these questions.
    Atul Sharma
    (DCRUST Murthal)

    1. Hi Atul,

      Perhaps it would be helpful if you contact the author of the above code :)

    2. hey acually they don't reply my email that's why i ask these queries to you if possible please help its really urgent


Post a Comment

Popular posts from this blog

Text Highlighting in Latex

While preparing a manuscript with Latex, it is often useful to highlight the changes made in the current revision with a different color. This can be achieved using the\textcolor command provided by Latex. For example,\textcolor{red}{Hello World}would display the string "Hello World" in red color.

However, the final/published copy of the manuscript does not contain any highlighted text. Therefore, if a large volume of changes were made, it becomes tiresome at the end to find and remove all the individual portions of highlighted text.

This can be circumvented by defining a utility command to switch highlighting on and off as desired. In the following, we define a new Latex command, highlighttext, for this purpose. The command takes only a single argument -- the text that it should highlight.


% For highlighting changes in this version with red color
    \newcommand{\highlighttext}[1] {\textcolor{red}{#1}}
    % Remove all text highlighting
    % Useful to gener…

Specifying Source and Destination of Messages

One of the frequently asked questions in the community is how to specify which particular nodes would act as source(s) and destination(s) of the messages created in the ONE simulator. The simulator, in fact, provides a pair of settings (shown below in bold face) aimed for this particular purpose.

Let us consider that there are $n + 1$ nodes in an OMN.  Further, let the nodes with addresses from $x$ to $y$, both inclusive, would create messages. The nodes in the range $w$ to $z$, both inclusive, would be the destinations of those messages, where $0 \le x \le y \le n$, and $0 \le w \le z \le n$. Then, the corresponding simulation scenario can be configured as follows.

## 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 # Me…

IllegalArgumentException in Simulations

At times, users have reported of runtime exceptions while running a simulation that uses PRoPHET. The error signature looks like the following.

Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(Unknown Source) at java.util.TimSort.mergeAt(Unknown Source) at java.util.TimSort.mergeCollapse(Unknown Source) at java.util.TimSort.sort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.ArrayList.sort(Unknown Source) at java.util.Collections.sort(Unknown Source)
It may be noted that the default sorting algorithm has changed since Java 7 — rather than Merge sort, Tim sort is now used by default. However, it seems like it is possible to override the default sorting algorithm in Java using the following argument to the JVM.
The execution command in the (or one.bat) file should be updated with the above argument to something like this: