ArticlePDF Available

Abstract

The use of network simulators has not remained confined to the research community, but are increasingly being used for education purpose as well. Among the different network simulators available, Network Simulator version 2 (NS-2) is widely popular. However, installing NS-2, executing the simulations, and subsequently analyzing the generated trace files may not be an easy task, especially for novices. Although several tools have been developed to provide remote simulation facilities or to aid in the process of trace file analysis, often they have their own dependencies. Further, there is a lack of a single environment for simulation and post-processing. This paper presents ns2web, a Web application to address such issues and provide a single, integrated environment for simulation with NS-2, and analysis of trace files. Ns2web enables remote execution of simulations with NS-2 for both wired and wireless scenarios. The latter includes Wireless Sensor Networks (WSNs), Bluetooth, and WiMax modules, apart from the standard modules that ship with NS-2.34. The software also provides a toolkit to analyze trace files generated as a result of the simulation. Further, ns2web is publicly available and could be accessed by anyone over the Web. This application enables a user to focus on simulations with NS-2, rather than spend his time in installing (or patching) the simulator or writing custom scripts for analysis.
1
A Web-based Integrated Environment for
Simulation and Analysis with NS-2
Barun Kumar Saha, Sudip Misra, Senior Member, IEEE
Indian Institute of Technology, Kharagpur, India
Email: {barun.kumar.saha, smisra}@sit.iitkgp.ernet.in
Mohammad S. Obaidat, Fellow, IEEE
Monmouth University, USA
Email: obaidat@monmouth.edu
Abstract
The use of network simulators has not remained confined to the research community, but
are increasingly being used for education purpose as well. Among the different network simula-
tors available, Network Simulator version 2 (NS-2) is widely popular. However, installing NS-2,
executing the simulations, and subsequently analyzing the generated trace files may not be an
easy task, especially for novices. Although several tools have been developed to provide remote
simulation facilities or to aid in the process of trace file analysis, often they have their own
dependencies. Further, there is a lack of a single environment for simulation and post-processing.
This paper presents ns2web, a web application to address such issues and provide a single, integrated
environment for simulation with NS-2, and analysis of trace files. Ns2web enables remote execution
of simulations with NS-2 for both wired and wireless scenarios. The latter includes Wireless Sensor
Networks (WSNs), Bluetooth, and WiMax modules, apart from the standard modules that ship with
NS-2.34. The software also provides a toolkit to analyze trace files generated as a result of the
simulation. Further, ns2web is publicly available and could be accessed by anyone over the Web.
This application enables a user to focus on simulations with NS-2, rather than spend his time in
installing (or patching) the simulator or writing custom scripts for analysis.
Index Terms
Network simulation, NS-2, remote simulation, trace file analysis
I. INTRODUCTION
Network simulation has become an intrinsic part of research in the field of Computer
Networks [1]. Low (or zero) cost, easy availability, reliable replication of settings, and
scalability are some factors that have made network simulation a popular approach compared
to the use of test beds. NS-2, NS-3, OPNET, OMNet++, QualNet are some of the popular
network simulators that exist today. However, these simulators differ in terms of their scope,
Accepted Version (For personal use only)
2
features or license. Among the existing simulators, NS-2 has gained considerable popularity
among the researchers. NS-2 supports simulation of wired, wireless or mixed mode of
networks. While NS-2.34 ships with the ZigBee module (apart from simple wireless and
MANET), patches for other independently developed wireless modules (WSN, Bluetooth,
WiMAX) are also available.
A. Motivation: Why use ns2web?
NS-2 is being increasingly used by different universities to supplement the theoretical
concepts taught in class. However, it is often the perception of the users (particularly the
new users) that installation of NS-2 is not an easy process, and is also evident from the
numerous online troubleshooting available for the same. Apart from its usage in personal
computers, NS-2 has also been used to develop web-based virtual laboratories in order to
teach the concepts of Computer Networks [2], [3], [4]. It may be noted that executing
a simulation with NS-2 is, however, only part of the problem. To perform any sort of
quantitative analysis, one has to parse and process the trace file generated as part of the
simulation. A trace file contains logs of different events that occur in the network during the
simulation. Typically, one uses some scripting languages (such as AWK, PERL, Python) to
extract necessary information from the trace files. One, however, has to be careful since the
trace files have different formats depending on wired or wireless scenarios. Alternatively, one
could use any of the existing software developed for analysis of trace files to get the results.
These trace file analysis software, in turn, have their own dependencies. To summarize, a
user might have to encounter one or more of the following issues while using NS-2:
Installation (or applying patches for different modules) and related problems.
Use of one or more pieces of software for analysis and their related dependencies.
The entire process of simulation and analysis is scattered among different pieces of
software.
Therefore, the lack of an one-stop utility for simulation with NS-2 and subsequent analysis,
which is directly usable from anywhere, has been largely felt. Ns2web provides an integrated
platform, where users could run their simulations and analyze the results.
B. Contributions
To address the multiple issues discussed above, we have developed ns2web. Ns2web
attempts to provide an one-stop utility, where network simulation with NS-2, and subsequent
trace file analysis, could be done with ease. Further, being a web application, it is capable
of providing ubiquitous access through the Internet. We document our contributions in the
following points:
Remote simulation: The software enables remote simulation with NS-2 over the Web.
On submitting a script, the simulation is executed in the web server, and the output of
the simulation is sent back to the user and displayed in the web browser.
Accepted Version (For personal use only)
3
Online analysis of trace file: Ns2web provides a tool for post-simulation analysis of
the trace files. A user can use the available options to generate reports on the following
metrics:
Average throughput (of a node)
Cumulative sum of bytes received by a node
End-to-end delay of packets transmitted between two nodes
Retransmission count of packets sent between two nodes
Hop count of packets sent between two nodes
The first metric displays an average value; others, generate a line diagram. To facilitate
comparative study, for instance, comparing delivery probabilities of packets by varying
buffer sizes, ns2web allows a user to run a series of simulations in a single window. The
plots generated corresponding to a metric from each such simulation are superimposed,
which aids in easy comparison.
In certain wireless scenarios (for example, WSN, Bluetooth, and ZigBee) the textual
output of a simulation contains useful information. Ns2web provides a text filter, which
could filter and display all lines in the output containing a specific pattern.
Code generation: Ns2web allows auto-generation of simulation scripts for wired and
wireless scenarios based on user inputs.
Multiple wireless modules: Finally, ns2web is based upon the NS-2.34 baseline version,
and patches for WiMAX (Ns2-WiMAX-AWG), WSNs (MannaSim framework) and
Bluetooth (UCBT) have also been applied. Therefore, one has the option to experiment
with different areas of Wireless Networks. From personal experiences we have found
that applying (multiple) external patches on NS-2 could become a tough job especially
with different versions of NS-2.
C. Target Audience
Ns2web aims to cater to a diverse class of audience. Primarily, novices would benefit,
since there is no need to install NS-2. The section for code generation would help beginners
to have an understanding of the basic components required for simulation with NS-2. The
tool for trace file analysis relieves one from the burden of writing their own scripts, and
remembering different column numbers. Finally, presenting all these options together in a
single place make the task of network simulation and analysis easier as well as appealing.
II. RE LATE D WOR K
The idea of remote simulation using NS-2 has been explored by the researchers to some
extent over the years, and has resulted in multiple solutions. In comparison, the area of trace
file analysis has received far more attention. In this Section, we review the relevant work
done in these areas.
Accepted Version (For personal use only)
4
A. Remote Simulation
Wang et al. [2] have developed a virtual Computer Networks laboratory using NS-2. A
Java Applet renders the lab environment on the user’s machine, and provides a set of tools
to generate and configure a network topology. The simulation script, generated at the client
side, uses Remote Method Invocation (RMI) of Java to get the code executed by NS-2 at the
server. A trace file for Network Animator (NAM) is generated after the simulation, which
is sent back to the client, and is used by locally installed NAM to display the animation.
The WiFi Virtual Laboratory [3] attempts to provide quality education on WiFi focusing
on data exchange using the IEEE 802.11 protocol, and use of RTS/CTS frames to avoid
collisions. The web interface lets a user design his/her own simulation scenario, or load a
previously stored scenario. Once a user submits the scenario, he/she can visualize the different
network events through an animation. Further, the distribution (and states) of different packet
types at the different layers of the TCP/IP protocol stack are also shown. However, mobility
of the nodes has not been considered, which, perhaps, could be a demanding feature in
today’s world. The web interface does not display the intermediate simulation script, which
prevents an enthusiastic user to fine tune one or more relevant parameter(s) of the simulation.
Moreover, the scope of the project is limited only to WiFi – it does not address the problem
of teaching network simulation in general (and NS-2 in particular).
Qun and Jun have used simulations with NS-2 to supplement a Computer Networks course
[5] at School of Computer and Information Technology, Beijing Jiaotong University. They
have proposed a demonstration and experimentation system to let the students gain better
understanding of the subject. However, their approach does not involve remote simulations.
Rather, nsBench has been used, which invokes a local installation of NS-2 to run the
simulation.
B. Trace File Analysis
After a simulation has been executed, one has to analyze the generated trace file to derive
any conclusion. A lot of effort has been put forward to develop a generalized software in
order to aid users in the analysis of trace files. One such software is Trace-analyzer, which
enables generation of statistics in textual format that can be used for plotting. NS-2 Trace
Analyzer [6], on the other hand, lets users analyze different metrics (throughput, packet loss,
delay, and jitter) and view them in the form of a report, table, or graph.
Ishak et al. [7] have developed the Internet Protocol Quality of Services Toolkit (IPQit),
which provides a Tcl/Tk-based front-end for designing simulation scenario and executing the
simulation. IPQit, in turn, invokes NS-2 Trace Analyzer for analysis of trace files. However,
this tool, too, requires a local installation on NS-2 together with NS-2 Trace Analyzer.
JTrana [8] considers simulation traces as flat files, containing multiple records under
various columns. It uses a MySQL database, and loads necessary fields from a trace file into
relevant tables for subsequent analysis. The software can automatically detect the format of
Accepted Version (For personal use only)
5
the trace file, and allows a user to execute custom SQL scripts for analysis. This extensibility,
although helpful for advanced users, require users to be expert with SQL. In fact, one has
to create a MySQL database even before he/she could use the software.
Extensible Data Analysis Toolkit [9] takes a step further to generalize the trace file analysis
process. EDAT defines the commonly used functionality as operators. Data from a trace file
flows through a pipeline of multiple operators, and the outcome of the final operator gives
the desired result. A user could define a new operator by writing a new class (in Ruby), or
by combining existing operators.
Apart from the trace files, NS-2 also support monitors, which allows to keep track of
behaviour of the queues. Cicconetti et al. [10], however, argued that the use of the trace files
or monitors may not be efficient in all cases – trace file or monitors would not help to track the
internal state of network entities, and tracing could introduce considerable overhead in case
of large scale simulations. To address this issue, the authors have implemented ns2measure,
which provides a Stat class for efficient data collection from simulation. Further, they have
implemented a software framework that lets automatic replication of simulation scenarios
and their execution until a desired confidence interval is reached.
Ns2graph [11] attempts to optimize time required for large scale simulations by allowing
collection of only the required statistics. Users have to specify the metric(s) they are interested
in the simulation script itself. This option is beneficial for advanced users who know exactly
what they want to plot.
Jones [12] presented a collection of Python scripts aimed towards analysis of wireless
trace files. These scripts help in the generation of random networks, analysis of network
flow statistics, printing aggregate statistics, and provides a Python interface to GnuPlot.
C. Justification for a new Application
Although NS-2 is a powerful simulator, a user may face one or more challenges while
using it. It is, therefore, helpful if a Graphical User Interface (GUI)-based front-end for
NS-2 is available, which lets one to directly use NS-2, rather than deal with the underlying
challenges. The usefulness of such a software further increases when available as a web
application, where the users do not require installing NS-2, and all the simulations are
executed on a server. Various software developed till date to address the issues related to
remote-simulation, have one or more of the following lacking:
Does not support simulation of the scenarios related to the advanced areas in wireless
networks (for example, WSNs, Bluetooth and WiMAX).
Not publicly available and usable, except for the WiFi Virtual Laboratory.
Limited or zero support for viewing the corresponding simulation scripts, and experi-
menting by altering the various parameters.
Limited support for post-simulation analysis of the trace files.
Accepted Version (For personal use only)
6
To overcome these limitations, we have developed ns2web as a web application. Ns2web
provides an intuitive GUI for generating the simulation script, which could be further
modified by a user. The simulation, as defined by the script, is executed in the server,
and the results are shown back to the user in his/her browser. Further, ns2web supports
simulation of scenarios related to WSNs, Bluetooth and WiMAX.
Most of the works reviewed in Section II-B have been developed as desktop applications,
and are not suitable for direct adaptation with a web application. The scripts written by Jones
are an exception. However, they do not support wired or mixed (wired and wireless) trace
formats. Further, in certain scenarios, the contents of a trace file fails to provide complete
information about the simulated scenario. For instance, in case of WSNs, the existing trace
files formats do not provide any insight about the cluster formations. Such information could
be obtained from the output of the corresponding scripts. However, the existing software
focus only on the analysis of the trace files.
We, therefore, chose to implement a trace file analysis framework, which complements
the ns2web application. This framework can analyze the trace files in wired, wireless and
wired-cum-wireless modes. Moreover, the output of a simulation script could be filtered for
necessary processing, if any. Ns2web, thus, provides an integrated environment for executing
network simulations (and analysis) with NS-2.
III. AN OVE RVI EW O F NS2WEB
In this section we present the architecture of ns2web. We then illustrate how ns2web is
used by a user to execute a typical simulation.
A. Architecture
Ns2web is composed of two modules: ns2sim and ns2trace. The ns2sim module is respon-
sible for displaying the application front-end, and executing the remote simulation with NS-2
on the web server. The other module, ns2trace, manages all tasks related to the analysis of the
post-simulation trace files. Figure 1 shows a block diagram highlighting the key components
of the application.
A simulation script submitted by a user is encapsulated within a HTTPRequest object
and sent to the server. The ns2sim module receives this HTTPRequest object, extracts the
simulation code, and stores it in a temporary file in the server’s hard disk. As shown in
Figure 2, all incoming simulations are enqueued as tasks into a task queue (implemented
using django-celery). Each task is identified with a universally unique identifier (UUID).
Aworker process (an instance of celeryd) running in the server picks up a task from the
queue, and executes it. Any trace file created after simulation is also stored in the server’s
hard disk. The output (or error, if any) message from the simulation, as well as the contents
of the trace file, are encapsulated in a HTTPResponse object, and sent back to the user’s
web browser.
Accepted Version (For personal use only)
7
Use of a task queue enables asynchronous execution of the simulations. Further, it makes
easy to configure the maximum number of simulations that could run in the server at any
given time. However, due to this asynchronous nature, the client has to poll periodically to
check whether a task with a given UUID is complete.
Once the simulation is complete and the trace file has been generated, a user can proceed
with the performance evaluation phase. To do so, he/she selects the format of the output trace
file and the metric of interest. The evaluation of the metrics is performed by the ns2trace
module as shown in Figure 3. The TraceAnalyzer class is the primary component of ns2trace,
which reads a trace file, filters the events based on different criteria (for example, source
and destination nodes), and evaluates the metrics. The actual implementation of any given
metric is contained within the Metrics class. The TraceAnalyzer class provide wrappers
for invoking any method of the Metrics class with a relevant (filtered) list of events from
the trace file. Thus, the TraceAnalyzer class is suitable for stand alone use. To integrate it
with the web application, we have created a sub-module, WebView. When a user selects a
metric for evaluation, the metric’s name and the related parameters, if any, are encapsulated
within a HTTPRequest object, and sent to the ns2trace module. The WebView sub-module
intercepts this HTTPRequest, extracts the parameters, and invokes the relevant methods from
the TraceAnalyzer class. The result of the metric evaluation so obtained is then encapsulated
in a HTTPResponse object by the WebView sub-module, and sent back to the user’s web
browser.
B. Exporting the Plots
The outputs of the ns2trace module are of two types: a string or a collection of strings.
When the “Average throughput” or “General Statistics” options are selected, a string is
returned. In all other cases, a JSON object, containing a collection of ordered values as
strings, is returned. The application front-end is responsible for parsing the returned object,
and displaying the graph. In order to facilitate the use of these graphs in research works,
ns2web allows to download them in three different file formats – EPS, PDF and PNG. These
graphs are generated at the server using Matplotlib [13], and could be easily inserted into
a L
A
T
E
X or any other document file. Moreover, when each graph is plotted at the client
side, the corresponding data (obtained from the JSON object) is also displayed below the
plot area in a format readable by GnuPlot. This allows one to use the raw data for further
post-processing, if any.
C. A Sample Run
To use this application, a user has to follow these steps:
1) Generate (or write) the simulation script by defining the various parameters.
2) Run the simulation.
3) Select the format of the trace file (wired, wireless or mixed).
Accepted Version (For personal use only)
8
4) Select the desired metric(s) to be evaluated.
5) Download the graphs as EPS, PDF or PNG files.
Figures 4 shows the guided scenario generation section of ns2web. This section allows a
user to configure various parameters including the number of nodes, properties of the links,
the sources and destinations of traffic, and the simulation duration. All such information are
summarized in two different tables, so that a user can keep track of his/her scenario. An
expert user, however, could skip this section and jump to the script editor shown in Figure
5 (a).
With the desired scenario ready, one could click on the “Generate Script” button to generate
and display the OTcl code corresponding to the current scenario. This code could be further
edited to add any new functionality or to fine tune the simulation parameters. Thereafter, the
user clicks on the “Run” button to trigger the remote simulation at the server. The contents
of the trace file, along with any output message generated or any error message produced,
are displayed back to the user’s web browser. This completes the simulation execution stage;
one can proceed with the trace file analysis phase.
The trace file analysis section (Figure 5 (b)) provides a menu-driven interface for evaluation
of different metrics. To begin with, one has to select the trace file format corresponding to
wired or wireless network simulations. For wireless scenarios, only the new trace file format
is supported. The mixed mode trace file (as result of both wired and wireless nodes in the
simulation) presently supports evaluation of the “Average Throughput” metric.
To evaluate a metric, a user clicks on the appropriate option in the tool bar, and provides
the necessary inputs. The plot area displays the graph corresponding to the result. Any new
plot is superimposed over the existing ones in order to allow comparative analysis of the
plots. To export a graph, one has to select the output file format, and click on the “Export
plot” button. This provides a URL to download the desired file.
IV. COMPARISON OF FEATUR ES
Table I compares ns2web and other similar software on the basis of a feature matrix. The
cells with a Xindicate that the features across the row is available for the software along
the column. A in a cell indicate that the corresponding feature is not available for the
software. It may be mentioned here that we could not collect relevant information for all
the software listed in Table I since many of them are not publicly available. Such cases are
indicated with empty cells.
V. CONCLUSIONS
NS-2 is a popular network simulator widely used by the researchers as well as students.
However, one often has to go through a tedious installation and troubleshooting procedure
before one can actually use NS-2. Besides, NS-2 itself does not provide a structured approach
for post-simulation analysis. Although several tools have been created for that purpose, they
Accepted Version (For personal use only)
9
have their limitations and dependencies. In short, there is a lack of a single software that
would run on any platform. In this paper, we have presented ns2web, a web-application
providing an integrated environment for remote simulation and analysis using NS-2. Ad-
ditionally, this software also integrates the modules implemented for different categories
of wireless networks (WSNs, Bluetooth, WiMAX) with NS-2.34. Ns2web, thus, allows
a user to directly start his/her work with network simulation rather than exploring what
(or how) should be installed. Ns2web is publicly accessible through the following URL:
http://vlssit.iitkgp.ernet.in/ns2web/ns2web/. The source code of ns2web, released
with a GNU/GPL v2 license, could be found here: http://vlssit.iitkgp.ernet.in/
ns2web/xmedia/ns2web.tar.gz.
Ns2web has further scope of improvement in terms of functionality and user experience.
A visualization component for network events might help users new to NS-2. Additionally,
the ns2sim module could be extended to support evaluation of other relevant metrics, or to
let users define their own metrics. In particular, evaluation of metrics related to energy states
of nodes for wireless networks would be a desirable option. Availability of these features
might project ns2web as a better alternative to the use of NS-2 and NAM on user’s own
system.
ACK NOWLEDGEMENT
The authors would like to thank Arijit Roy, Sujata Pal, and Bibudhendu Pati for their inputs
and support. This work has been done as a part of the Advanced Network Technologies
Virtual Lab [14] under the Virtual Labs project sponsored by Ministry of Human Resource
Development, Government of India.
REFERENCES
[1] L. Breslau, D. Estrin, K. Fall, S. Floyd, J. Heidemann, A. Helmy, P. Huang, S. McCanne, K. Varadhan, Y. Xu, and
H. Yu, “Advances in Network Simulation,” IEEE Computer, vol. 33, pp. 59–67, May 2000.
[2] J. Wang, B. Peng, and W. Jia, “Design and Implementation of Virtual Computer Network Lab based on NS2 in the
Internet.,” in Proceedings of the 3rd International Conference on Web-based Learning, pp. 346–353, 2004.
[3] T. Sturgeon, C. Allison, and A. Miller, “A WiFi Virtual Laboratory,” in Proceedings of the 7th Annual Conference
of the Higher Education Academy Subject Centre for Information and Computer Sciences, pp. 207–211, 2006.
[4] X. Li, Y. Guan, and M. Wu, “Web-based Virtual Laboratory Platform for Computer Network,” in Proceedings of the
International Conference on Computational Intelligence and Software Engineering, pp. 1 –3, Dec. 2009.
[5] Z. Qun and W. Jun, “Application of NS2 in Education of Computer Networks,” in Proceedings of the International
Conference on Advanced Computer Theory and Engineering, 2008. ICACTE ’08., pp. 368 –372, Dec. 2008.
[6] A. Salleh, Z. Ishak, N. Din, and M. Jamaludin, “Trace Analyzer for NS-2,” in Proceedings of the 4th Student
Conference on Research and Development, 2006. SCOReD 2006., pp. 29 –32, Jun. 2006.
[7] Z. Ishak, N. Din, and M. Jamaludin, “IPQit: An Internet Simulation kit based on NS2,” in Proceedings of the IEEE
International Conference on Telecommunications and Malaysia International Conference on Communications, 2007.
ICT-MICC 2007. , pp. 489 –493, May 2007.
[8] “Jtrana: A Java-based NS2 Wireless Trace Analyzer.” [Online]. http://sites.google.com/site/
ns2trana/. Accessed: 05 Sep. 2011.
Accepted Version (For personal use only)
10
[9] W. Kiess, N. Chmill, U. Wittelsb¨
urger, and M. Mauve, “Modular Network Trace Analysis,” in Proceedings of the
5th ACM Symposium on Performance Evaluation of Wireless ad hoc, Sensor, and Ubiquitous Networks, PE-WASUN
’08, (New York, NY, USA), pp. 1–6, ACM, 2008.
[10] C. Cicconetti, E. Mingozzi, and G. Stea, “An Integrated Framework for Enabling Effective Data Collection and
Statistical Analysis with NS-2,” in Proceeding from the 2006 Workshop on NS-2: the IP Network Simulator, WNS2
’06, (New York, NY, USA), ACM, 2006.
[11] D. Harrison, “Ns2graph: Rpi NS-2 Graphing and Statistics Package.” [Online]. http://ns2graph.
sourceforge.net/. Accessed: 05 Sep. 2011.
[12] E. Jones, “Tools for NS2 Simulations.” [Online]. http://www.evanjones.ca/software/ns2tools.
html. Accessed: 07 Feb. 2012.
[13] J. D. Hunter, “Matplotlib: A 2d Graphics Environment,Computing In Science & Engineering, vol. 9, pp. 90–95,
May-Jun 2007.
[14] “Advanced Network Technologies Virtual Lab.” [Online]. http://virtual-labs.ac.in/cse28/. Ac-
cessed: 08 Feb. 2012.
Accepted Version (For personal use only)
11
BIOGRAPHIES
BARUN KUMAR SAHA is pursuing MS at School of Information Technology, Indian Institute of
Technology, Kharagpur. His research interests include Wireless Networks, Mobile Ad hoc Networks,
Delay Tolerant Networks, Opportunistic Mobile Networks and their applications.
SUDIP MISRA is an Assistant Professor at School of Information Technology, Indian Institute of
Technology, Kharagpur. He has authored/edited of over 100 scholarly research papers, and around
6 books. He has won six research paper awards in different conferences. He has delivered multiple
keynote speeches worldwide. He is also an Editor/Editorial Board Member of various journals, and
has been serving in the program committees of numerous international conferences.
Prof. MOHAMMAD S. OBAIDAT (Fellow of IEEE and Fellow of SCS) is an internationally
well-known academic/researcher/ scientist. He received his Ph.D. and M. S. degrees in Computer
Engineering with a minor in Computer Science from Ohio State University. Dr. Obaidat is currently a
full Professor of Computer Science at Monmouth University, NJ, USA. Among his previous positions
are Advisor to the President of Philadelphia University, President of SCS, Chair of the Department of
Computer Science and Director of the Graduate Program at Monmouth University. He has received
extensive research funding and has published over Ten (10) books and over 550 refereed technical
articles. Mohammad is the Editor-in-Chief of 3 scholarly journals and is also an editor, advisory
editor of numerous international journals and transactions including IEEE journals/transactions. He
has chaired numerous international conferences and given numerous keynote speeches all over the world. http://
bluehawk.monmouth.edu/mobaidat
Accepted Version (For personal use only)
12
Fig. 1. A block diagram showing ns2web and its two submodules: ns2sim and ns2trace.
Accepted Version (For personal use only)
13
Fig. 2. The ns2sim module consists of a task queue where user scripts are enqueued and later retrieved by the worker
process to execute them. The contents of the trace file and any other output is displayed back to the user.
Accepted Version (For personal use only)
14
Fig. 3. The TraceAnalyzer class of the ns2trace module is responsible for parsing a trace file. The Metrics class provides
implementation of a metric. The WebView submodule acts as an intermediate between TraceAnalyzer class and the web.
Accepted Version (For personal use only)
15
Fig. 4. Screenshots of ns2web showing its different features. (a) Creating nodes using the “Guided Scenario Generator”,
and (b) Configuring wireless links, traffic sources and destinations.
Accepted Version (For personal use only)
16
Fig. 5. The other components of ns2web. (a) Simulation script editor, and (b) Trace file analysis section, with options to
download the plots.
Accepted Version (For personal use only)
17
TABLE I
FEATU RES M ATRI X COM PARI NG NS 2WEB WIT H OTHER SO FTWAR E PROV IDI NG REMOT E SIMUL ATION W IT H NS-2
WiFi Virtual
Laboratory [3]
Virtual Computer
Networks Lab [2]
Web-based Virtual
Laboratory Platform [4]
ns2web
GUI-based script generation X X X X
Script editing X
Events animation X X
Wired X X X
Wireless X X
Bluetooth X
Wireless Sensor Networks X
WiMAX X
Interactive trace file analysis X
Plotting custom data X
Publicly usable X X
Accepted Version (For personal use only)
... As networking systems have become more complex and expensive, the network simulators play an important role in the implementation process of new communication systems. They have become an indispensable tool for research in the field of Computer Networks [6], especially in case of wireless sensor networks, because WSNs can be composed by a lot of sensor nodes, increasing the cost and time to experiments in physical environments. ...
... Thus, it is important that a tool helps students and researchers to build their simulations. Although several tools [6][7][8][9][10][11][12][13][14] had been developed to provide simulation facilities on NS-2, they don't work specifically with wireless sensor networks in accordance with the IEEE 802.15.4 standard. ...
... 978-1-5090-3302-7/16/$31.00 © 2016 IEEE II. RELATED WORK Over the years, the NS-2 has got some tools [6][7][8][9][10][11][12][13][14] that are intended to facilitate its use. ...
Conference Paper
Full-text available
Low-cost technology that can monitor a wide range of environments, Wireless Sensor Network (WSN) has become increasingly common and studies on it have increased a lot. Due to the cost and time required to deploy a WSN in physical environments, the network simulators, such as the popular Network Simulator 2 (NS-2), have been adopted for evaluation of WSNs. NS-2 is a widely accepted and used network simulation tool. The IEEE 802.15.4 wireless technology has been used for implementation of WSNs and NS-2 supports simulation of WSNs based on the IEEE 802.15.4 standard, but the execution of simulations on this standard may not be an easy task for new users. This paper presents WINSS (Wireless Network Sensor Simulator), a simulation tool of the IEEE 802.15.4 Standard for NS-2.
... Their main disadvantage is the time spent in learning the simulation environment and setting up the simulation scenarios. Although there are proposals tackling this issue [15], the networks they simulate are restricted by the use of configuration wizards, which impede free creation of networks by students. Similarly, virtual laboratories based on device emulation [8,14] require the utilization of configuration scripts (or wizards) to define network topology, which hampers the possibility of rapidly introducing topology changes. ...
Article
This work presents NetEval, a web-based educational tool for designing and assessing heterogeneous networks and receiving feedback on design mistakes. NetEval challenges students with scenarios that require the design of networks using Wi-Fi, radio frequency links and other wired technologies and security mechanisms, letting them freely create answer networks.
... Although it is usually possible to export the model to an external file, users do not have the ability to edit directly the file that is used by the software. A cloud-based architecture is implemented, for example, by NeCTAR [68]' ARK cloud-based bioinformatics tools' FAME, which allows models to be stored on the server or exported locally; or ns2web [69], which is an interesting approach of a Web-based environment for simulation with Network Simulator 2. ...
Article
Full-text available
Background: The choice of a bioinformatics tool that is used to design and analyse bioinformatics models is usually influenced by the choice of format used to store the models on the hard drive and vice versa and may seem irrelevant to researchers who design and analyse biological models using high-level computer software. However, the method for saving created models, which is usually opaque to users, can have an important impact on their work and have several important consequences. Objective: Review various computer representations of bioinformatics models based on the structure of the files used to store them. Results: We defined three classes of formats—formats with the internal structure hidden from the user, specialized programming languages, and controlled natural languages—and provide examples as well as list advantages and disadvantages of each class. Finally, we present recommendations on the groups of tools researchers should use. Conclusion: Indeed, the choice of the format used to store the bioinformatics models can have important consequences for the entire investigation. A correctly chosen format provides all functionalities required by the modeller and offers high flexibility in analysing the model, making collaboration with other researchers easier and helping to develop the model further in the future. In our opinion, both users and developers tend to underestimate slightly the specialized programming languages and controlled natural languages which should be studied more in-depth.
... It means whatever protocol a layer implements does not effects the functionality of its upper layers [51]. NS-2 has also become available on web by Saha et al. [74] providing integrated environment for remote simulation and analysis of simple wired as well as wireless networks. Beginners who do not want to go into the details of NS-2 installation can utilize this web-based application. ...
Article
Full-text available
In this paper, we propose a simulation model for cognitive radio sensor networks (CRSNs) which is an attempt to combine the useful properties of wireless sensor networks and cognitive radio networks. The existing simulation models for cognitive radios cannot be extended for this purpose as they do not consider the strict energy constraint in wireless sensor networks. Our proposed model considers the limited energy available for wireless sensor nodes that constrain the spectrum sensing process—an unavoidable operation in cognitive radios. Our model has been thoroughly tested by performing experiments in different scenarios of CRSNs. The results generated by the model have been found accurate which can be considered for realization of CRSNs.
... Visualization and interaction have been identified as crucial requirements to facilitate studentcentric learning in engineering education [4]. Related work includes various studies assessing the effectiveness of learning through visual tools such as mobile apps [5], web-based integrated simulations [6] and multimedia platforms [7]. ...
Chapter
Mobile ad hoc networks (MANETs) are a collection of wireless devices like mobile phones and laptops that can spontaneously form self-sustained temporary networks without the assistance of any pre-existing infrastructure or centralized control. These unique features have enabled MANETs to be used for communication in challenging environments like earthquake-affected areas, underground mines, etc. Mobility and speed of devices in MANETs have become highly unpredictable and is increasing day by day. Major challenge in these highly dynamic networks is to efficiently deliver data packets from source to destination. Over these years a number of protocols have been proposed for this purpose. This chapter examines the working of popular protocols proposed for efficient data delivery in MANETs: starting from the traditional topology-based protocols to the latest opportunistic protocols. The performances of these protocols are analyzed using simulations in ns-2. Finally, challenges and future research directions in this area are presented.
Article
This article provides a survey of methods and paradigms for teaching Computer Networks (CN). Since the theoretical concepts are rather abstract in this subject, and students often find them too technical and difficult to understand, many authors attempt to answer the question on how to improve students’ motivation and interest for the complex teaching material of CN. In this work, we follow a rigorous paper collection methodology and extract a large number of previous studies that relate to the stated research questions. Also, we find that there is no review article in the current literature that would provide a clear systematization or a guided study on this topic. Hence, this work provides a literature overview by binding all the previously used methods for teaching CN in one place, and brings contribution by classifying the existing approaches into four basic classes: methods based on using visualization objects such as network simulators, multimedia applications, packet-tracing tools or visual analogies; methods based on using the virtualization techniques; methods precipitating active learning paradigm and methods based on the practical hands-on laboratory exercises. Moreover, the research in this article goes beyond the proposed classification. The classes of methods and tools are compared and contrasted based on the findings from the literature. Methods are evaluated by a detailed cross-comparison based on their advantages, disadvantages and challenges in the perspective of both teachers and students. The review is additionally strengthened by comparing the educational effectiveness of the classified methods. We examine, classify, and contrast the usual approaches used in teaching CN, provide useful insights on how appropriate they are in achieving specific educational goals and determine the future research directions.
Chapter
Wireless Sensor Networks (WSNs) provide several types of applications providing comfortable and smart-economic life. Energy saving minimizing the rare sources of energy, noise and atmospheric monitoring reducing the pollution, and healthcare monitoring helping the health are examples of important applications in WSNs. Any application requires communication between the sensors and the different kinds of servers. This communication can be performed using three main access technology architectures. These architectures profit from important wireless communication technologies such as IEEE 802.15.3 and IEEE 802.15.4 for Wireless Personal Area Network (WPAN), IEEE 802.11g and 802.11n for Wireless Local Area Network (WLAN), and High Speed Downlink Packet Access (HSDPA) and Long-Term Evolution (LTE) for Wireless Wide Area Network (WWAN). In order to enhance application performance, the routing strategies discovering the best path to the destination, the energy-saving methods maximizing the life of sensors, and security protocols guarantying our privacy are the most important techniques used in WSNs.
Article
Recent trends in wireless communication show an increase in use of mobile devices to exchange information. Due to frequent mobility, there is a possibility that the devices in the network may move out of the transmission range and may fail to connect to the network. To ensure network connectivity in these situations, researchers have proposed many methodologies to determine optimal location for placing mobile forwarding nodes such as particle swarm optimisation, ant colony etc., that helps in establishing routes effectively. A method that establishes an optimal route using genetic algorithm after determining an effective location using particle swarm optimisation is proposed. The proposed work focuses on integrating the benefits of particle swarm optimisation to determine optimal location for placing mobile forwarding node with genetic algorithm to establish an optimal route to destination. Performance of the proposed methodology when analysed using the simulation studies reveals that the packet drop rate is reduced and throughput is improved significantly.
Article
Full-text available
The Internet lies at the heart of today's social, educational and business worlds. Computer networking technology has hitherto provided the infrastructure to facilitate inter-personal pan-global communication on an unprecedented scale. The next logical development for such communicative pathways is the extension of access to this global mesh from individual static workstations to a multiplicity of mobile agents. Convenience of access will be greatly increased by the use of such agents, underpinned in turn by wireless network technology. The WiFi Virtual Laboratory project seeks to enhance our learning and teaching of such technology. This paper describes the educational goals of the project, the technological requirements implied by those goals, the architecture developed to satisfy these goals, observations made during preliminary evaluations, and plans for future development.
Conference Paper
Full-text available
The Network Simulator 2 (ns-2) is an open source tool for network simulation. When planning for large-scale simulation experiments, an efficient and flexible data collection and a statistically sound output data analysis are important aspects to keep in mind. Unfortunately, ns-2 offers little support for data collection, and statistical analysis of the simulation results is most often performed offline, using either home made code or available packages, which are not integrated with ns-2. In this paper we describe two complementary contributions: the first one consists of a set of C++ modules, that allow a flexible and efficient data collection; the second one is a software framework, which is fully integrated with ns-2, that performs all the operations required to carry out simulation experiments in a statistically sound way. Our framework allows a user to significantly reduce the post-processing overhead and to save simulation time, especially with large-scale simulations. Our code is publicly available at [3].
Article
Full-text available
ADVANTAGES OF A COMMON SIMULATOR Multiprotocol network simulators provide a rich opportunity for efficient experimentation. Disparate research efforts using a common simulation environment can yield substantial benefits, including . improved validation of the behavior of existing protocols, . a rich infrastructure for developing new protocols, . the opportunity to study large-scale protocol interaction in a controlled environment, and . easier comparison of results across research efforts. The Virtual InterNetwork Testbed (VINT) project provides improved simulation tools for network researchers to use in the design and deployment of new wide-area Internet protocols. An understanding of the VINT simulation framework and its principal tool, ns, the network simulator, can help researchers determine how best to proceed with their efforts. SIMULATION NEEDS OF NETWORK RESEARCHERS Simulation evaluates network protocols under varying network conditions. Studying
Conference Paper
Full-text available
Network simulator 2 (NS-2) is an open source discrete event simulation tool used for simulating Internet protocol (IP) networks. It was developed by UC Berkeley and widely used worldwide for network simulation purposes. The NS-2 software uses TCL as a front-end interpreter and C++ as the back end network simulation engine. Network simulation scripts in TCL are used to create the network scenarios and upon the completion of the simulation, trace files that capture events occurring in the network are produced. The trace files would capture information that could be used in performance study, e.g. the amount of packets transferred from source to destination, the delay in packets, packet loss etc. However, the trace file is just a block of ASCII data in a file and quite cumbersome to access using some form of post processing technique. In order to ease the process of extracting data for performance study, the NS-2 trace analyzer is proposed. This software is a tool for extracting and presenting trace files for the network simulation environment of NS-2. The NS-2 trace analyzer software consists of three layers. The first layer is the source layer which consists of the trace file data. The second layer is the processing layer. This layer processes the data obtain from the source and convert it to meaningful format for the third layer. The third layer is the presentation layer. This layer presents meaningful data in the form of graph, table and report for network performance study, i.e. throughput, end-to-end delay, packet loss and jitter. Through the NS-2 trace analyzer the user would be able to do performance study of a network scenario through interactive GUI. This will benefit the user since he or she can concentrate on developing new algorithms or new architectures rather spending too much time on post processing of data.
Article
A typical computer networking class curriculum includes the study of theory and the laboratory projects. Creating engaging laboratory and classroom experiences is a challenge to effective engineering undergraduate education. In this paper we present the Web-based platform to help undergraduate students understand fundamental networking concepts via the modeling and simulation of computing systems. We discuss our experiences with novel laboratory platform using ns2 and Java products in undergraduate networking courses which allows students to interact remotely with the emulated process of network protocol. It is shown that the platform enhances student learning and interest in the subject of computer networks.
Conference Paper
In order to solve the realistic problems in the teaching and experiment of computer network courses, a NS2-based demonstration and experiment system for computer network courses has been constructed. This system is made up of two parts, one of which is the demonstration system for teachers to demonstrate in class, and the other is the experiment system for students to do experiment in the laboratory or after school. This system has achieved some beneficial effect in the education practice. The future work is focused on the improvement of the experiment database.
Conference Paper
In this paper we present EDAT, a tool designed for the anal- ysis of trace files from network simulations and experiments. The EDAT framework encapsulates analysis steps in exten- sible operators. These can be arbitrarily combined to a flow- based analysis. The core of EDAT is a library of these oper- ators implemented as classes in the scripting language Ruby. For ease of use, these can be visually assembled by means of a graphical user interface that also allows to configure and execute these operators. The results can be plotted in graphs that are directly usable in scientific publications.
Conference Paper
This paper proposed the design model and implementing method of virtual Computer Networks lab which is based on NS2. In this lab, the client part is implemented with Java Applet, NS2 is used as computing platform, Nam is used as the tool for displaying in the client, and Java RMI is used for communication between the server and the client. The virtual experiment equipments are implemented with Java Bean. The server that uses NS2 as computing platform has powerful simulating capability. The Web-based Virtual Computer Networks lab provides platform between users and NS2, which makes users leave out the trouble of studying NS2.Users can use it to do network simulation experiment and deeply understand the complex behavior in computer networks. Keywords: Virtual Lab, RMI, NS2, Nam, Java Applet, JavaBeans
Conference Paper
Network Simulator 2 (NS2) is one of the more used network simulator across the globe. However, NS2 is often associated with a steep learning curve for new users. Therefore an effort to automate the process of using NS2 using a graphical user interface (GUI) has been initiated. The paper describes the tool kit GUI known as Internet protocol quality of services toolkit (IPQit). It provides an easy to use GUI for both network topology creation and post-processing of NS2. Its usage is mainly intended for educational purposes. It supports quality of services (QoS) technology.
Article
Matplotlib is a 2D graphics package used for Python for application development, interactive scripting, and publication-quality image generation across user interfaces and operating systems. The latest release of matplotlib runs on all major operating systems, with binaries for Macintosh's OS X, Microsoft Windows, and the major Linux distributions. Matplotlib has a Matlab emulation environment called PyLab, which is a simple wrapper of the matplotlib API. Matplotlib provides access to basic GUI events such as button_press_event, mouse_motion_event and can also be registered with those events to receive callbacks. Event handling code written in matplotlib works across many different GUIs. It supports toolkits for domain specific plotting functionality that is either too big or too narrow in purpose for the main distribution. Matplotlib has three basic API classes, including, FigureCanvasBase, RendererBase and Artist.