VANS: Visual Ad hoc Network Simulator

Page created by Eduardo Robles
 
CONTINUE READING
VANS: Visual Ad hoc Network Simulator∗
           Masako Shinohara, Hideki Hayashi, Takahiro Hara, Akimitsu Kanzaki and Shojiro Nishio
                          Graduate School of Information Science and Tech., Osaka University
                           {sinohara.masako, hideki, hara, kanzaki, nishio}@ist.osaka-u.ac.jp

                          ABSTRACT                                          of network topology changes and packet propagation, graphs
                                                                            and statistics of evaluation results, and information on mobile
   In this paper, we describe the design of a visual simulator              hosts. This function enables users to visually comprehend the
for ad hoc networks that provides a function that allows users              simulation status. VANS also provides functions by which
to perform various operations during the simulation. This en-               users can perform various operations during the simulation.
ables users to configure the evaluation environment by check-               These functions enable users to configure the experimental
ing its behavior. These operations can be easily performed                  environment by checking its behavior. Moreover, VANS of-
with a GUI. We also describe the implementation of a sim-                   fers a GUI to users for easy operation. We also describe the
ulator prototype that visually shows the behavior of routing                implementation of a VANS prototype that visually shows the
protocols.                                                                  behavior of routing protocols.
                                                                               The remainder of this paper is organized as follows. In
Keywords: ad hoc network, simulator, visualization tool,                    section 2, we introduce related works. We describe the de-
mobile computing, routing                                                   sign and implementation of VANS in sections 3 and 4, re-
                                                                            spectively. Finally, in section 5, we conclude this paper.
                   1    INTRODUCTION
   As one of the research fields in mobile computing environ-
                                                                                           2 RELATED WORKS
ments, interest is increasing in ad hoc networks constructed                   Some conventional simulators can simulate ad hoc net-
of only mobile hosts that function as routers. In conven-                   works [1], [7], [8]. In this section, we introduce some typ-
tional research on ad hoc networks, the performance of the                  ical simulators and describe differences between VANS and
proposed protocols is usually evaluated by using simulation                 such typical simulators.
experiments since it is difficult to evaluate them on practical
platforms. For this reason, various network simulators for ad               2.1 NS-2
hoc networks have been proposed [1], [7], [8]. These con-
ventional simulators provide the facility to simulate typical                  NS-2 [8] is a discrete event network simulator developed
protocols in different layers; users evaluate the performance               at the University of California, Berkeley. NS-2 can support
of their proposed protocols in various situations by setting pa-            users to conduct various simulations by providing typical pro-
rameters to configure the experimental environment.                         tocols in each OSI layer. Users can also implement their pro-
   However, in conventional simulators, it is usually difficult             posed protocols by creating agents that are derivative classes
to comprehend protocol’s behavior because experimental re-                  inherited from basic classes provided by NS-2. NS-2 outputs
sults are shown as a set of numerical data. For example, when               the information on mobile host movements, packet propaga-
a user finds an unexpected behavior during the protocol evalu-              tion, and experimental results to external files. It supports
ation, it is difficult to comprehend the cause only from numer-             the creation of gnuplot/Xgraph graphs by reading these exter-
ical data since network topology frequently changes due to                  nal files and shows the animation of the simulation status by
the movement of mobile hosts. Moreover, conventional sim-                   using Network AniMator (Nam). Nam reexecutes the simu-
ulators do not support user operations during the simulation.               lation process after the experiment is terminated and displays
That is, users can set parameters to configure the simulation               it as animation. NS-2 is different from VANS because users
environment only before starting the experiment, and they can               can configure the experimental environment only before the
see results only after the experiment is terminated. There-                 experiment starts and can see the experimental results only
fore, users cannot reconfigure the experimental environment                 after the experiment is terminated.
by checking its behavior. In addition, users must read a large
number of manuals to learn how to use the simulator because                 2.2 GloMoSim
source coding is usually specialized for each simulator.
   In this paper, we propose a Visual Ad hoc Network Simula-                   GloMoSim [1] is a discrete event network simulator for
tor (VANS), which is a visual simulator for ad hoc networks.                wireless networks developed at University of California, Los
VANS visually shows various information such as animation                   Angeles that provides various protocols of different layers
                                                                            that users can select at each layer. Since GloMoSim provides
    ∗ This research was partially supported by The 21st Century Center of
                                                                            various APIs, users can easily implement their proposed pro-
Excellence Program “New Information Technologies for Building a Net-
worked Symbiotic Environment” and Grant-in-Aid for Young Scientists
                                                                            tocols. Parameters for determining evaluation environments,
(A)(1668005) of the Ministry of Education, Culture, Sports, Science and     traffic generation, and protocols are specified in configuration
Technology, Japan and by the Tateishi Science and Technology Foundation.    files. Users can see an animation of a simulation status, check
User
the evaluation environment, pause, and restart the simulation            - Simulation status                           - Pause and restart
execution by using a visualization tool written in Java. After a         - Experimental results                        - Simulation reexecution
                                                                         - Information on mobile host                  - Change of configuration parameters
simulation experiment is terminated, its results are output as a
set of numerical data. GloMoSim is similar to VANS because
both simulators assume wireless network environments and                     Display
                                                                             Displaymanager
                                                                                     manager                                         Event
                                                                                                                                     Eventmanager
                                                                                                                                           manager
                                                                                                            display request
have a facility to visually check simulation behaviors. How-                   display request                                requests for
ever, GloMoSim is different from VANS because it does not                                                                     log processing
                                                                                                   Log
                                                                                                   Logmanager
                                                                                                       manager
have a GUI to configure experimental environments.
                                                                                                 Log data                     request for processing on
                                                                                                                              mobile hosts
2.3 OPNET Modeler                                                                                   Mobile
                                                                                                    Mobilehost
                                                                                                           hostmanager
                                                                                                               manager
   OPNET Modeler [7] is a network simulator developed at                                 Mobility manager       Communication manager
the Massachusetts Institute of Technology that can model and
simulate communication networks, devices, and protocols.                                Figure 1: Composition of VANS.
OPNET Modeler is based on a series of hierarchical editors
that directly parallel the structure of actual networks and pro-     3.2 Composition
tocols. OPNET Modeler shows animations of simulation sta-
tus and graphs of simulation results, a facility similar to that       Figure 1 shows the composition of VANS, which consists
provided by VANS. However, OPNET Modeler is different                of four modules: event manager, mobile host manager, dis-
from VANS because the configuration of the experimental en-          play manager, and log manager. In the following subsection,
vironment is very complicated, and users also cannot change          we explain each of them.
the configuration of the experimental environment during sim-
ulations.                                                            3.2.1    Event manager
                                                                        The event manager receives events as inputs from users and
                   3 VANS DESIGN                                     sends execution requests to other modules as needed. Inputs
                                                                     from users are classified into two types of events: by GUI
  In this section, we describe the VANS design.
                                                                     operations and by timer. Events by GUI operations are gen-
                                                                     erated when users operate VANS. Events by GUI operations
3.1 Overview                                                         and modules handling them are summarized as follows:
    VANS visually shows simulation status during the simula-         Event manager
tion so that users can comprehend the behavior of the evalu-           • Changes the simulation progress operations.
ated protocol. Specifically, it shows the following statuses:
                                                                       • Changes configuration parameters of experimental envi-
    • Network topology changes and packet propagation.                    ronments.
    • Graphs and statistics of experimental results, e.g., control     • Changes displayed statuses.
      traffic and setting delays.
                                                                     Mobile host manager
    • Mobile host information.                                         • Changes configuration parameters of mobile hosts.
Since VANS continuously updates the displays of the above
                                                                       • Selects destinations for data transmission.
statuses, users can easily comprehend the ever-changing sim-
ulation statuses. Moreover, users can visually comprehend              • Adds and deletes mobile hosts.
the process (packet flow) when a source transmits data pack-         Display manager
ets to a destination.                                                  • Displays windows, popup menus, and dialogs.
    VANS provides some functions by which users can per-             Log manager
form various operations during the simulation so that they can         • Simulates reexecution by log data.
reconfigure the experimental environment by checking its be-
havior. Specifically, users can perform some operations that            On the other hand, events by timer are automatically gen-
change simulation progress, e.g., pause, restart, and reexecu-       erated during the simulation according to the simulation pro-
tion. They can also change configuration parameter values            gram written by users. For example, communication events
of the evaluation environment and mobile hosts. When users           between mobile hosts, movement of mobile hosts, display of
want to recheck a past simulation, VANS supports such re-            simulation status, and log output are automatically generated
execution by using log data. During this, users can add or           at constant time intervals.
delete mobile hosts to the network and change evaluation met-           The event manager always monitors the entire simulation
rics and displayed statuses. When users perform changes dur-         during execution. When it detects an event by GUI opera-
ing the simulation, these changes are immediately displayed.         tions, it immediately processes the event if it is not processing
These functions enable users to construct the evaluation en-         other events at that time.
vironment by checking the simulation behavior. Moreover,
                                                                     3.2.2    Mobile host manager
since VANS offers a GUI to users for easy operation, they
need not read a large number of manuals to learn how to use            The mobile host manager receives requests for processing
it.                                                                  on mobile hosts from the event manager and sends display
requests to the display manager as needed. This module con-         ule reloads the corresponding logs to VANS. When the log
sists of two submodules: a mobility manager that processes          manager receives a request for log processing from the event
movements of mobile hosts, and a communication manager              manager, it retrieves logs from the external log files and trans-
that processes communications between mobile hosts.                 fers them to the mobile host manager.
Mobility manager: This submodule updates the current po-               Logs are categorized into three types: experimental envi-
   sitions of mobile hosts at every unit of time, according to      ronment, mobile host, and random number. The experimen-
   the mobility model selected by the user. This submod-            tal environment log stores configuration parameters about the
   ule manages parameters about mobile host mobility so             experimental environment and data about the entire simula-
   that users can continue the simulation experiment even if        tion. The mobile host log stores configuration parameters
   they change these parameters during the simulation.              about mobile hosts, information on their positions, and their
                                                                    sent and received packets. Both the experimental environment
Communication manager: This submodule processes pack-               and mobile host logs are output to external files at constant
   ets that mobile hosts transmit and receive according to          time intervals and when users change configuration param-
   the communication protocol selected by the user. Also,           eters about the experimental environment and mobile hosts.
   this submodule calculates data for displaying graphs and         The random number log stores all random numbers generated
   statistics of experimental results and information on mo-        during the simulation.
   bile hosts from the processing results. In addition, this           By using random numbers stored in a random number log
   submodule manages parameters about communication                 and other information stored in the experimental environment
   between mobile hosts.                                            and mobile host logs, this module supports users who re-
                                                                    execute the same simulation experiment. Since this mod-
3.2.3 Display manager                                               ule records configuration parameter changes about the exper-
   When the display manager receives a display request from         imental environment and mobile hosts as log data, the reexe-
the event or mobile host managers, it displays or updates win-      cuted experiment can reflect such changes.
dows, menus, and dialogs; it also shows animation of network
topology changes and packet propagation, graphs and statis-                 4   IMPLEMENTATION OF VANS
tics of evaluation results, and information on mobile hosts.           Since in the research field of ad hoc networks, the design
This module shows the simulation status of the display and          of routing protocols is a very popular issue [3]–[6], we imple-
reflects configuration changes from users immediately with-         mented a VANS prototype that visually shows behaviors of
out being affected by internal processes because the display        routing protocols and evaluates their performances. The pro-
process is independent of internal ones.                            totype was implemented by Microsoft Visual C++ .NET on
   This module displays the simulation area as a rectangle and      Windows XP.
draws a mobile host as a circle on the current position in the         In the following, we describe the configuration parameters
area, where its host identifier is specified at the lower left. A   in the implemented prototype and the implementation details.
radio link between two mobile hosts within communication            We also describe a procedure in which a user incorporates the
range of each other is drawn as a dotted line. If a mobile host     proposed protocol in VANS.
transmits a series of data packets, a flow identifier is assigned
to the transmission. That is, packets associated with the same
                                                                    4.1 Configuration parameters
transmission are assigned to the same flow identifier. When
a user selects a data transmission flow, the characters show-         The prototype offers various configuration parameters about
ing the source and destination of the data transmission are         experimental environments and mobile hosts. A user can set
displayed near the mobile hosts. Therefore, the user can dis-       these values by using a GUI.
tinguish the selected source and destination even when a large        The configuration parameters about the experimental envi-
number of mobile hosts exist. This module also draws prop-          ronment are as follows:
agating packets that correspond to the selected flow as solid
                                                                      • Simulation area
arrowheads. An arrowhead is drawn from the position of the
                                                                        The flatland in which mobile hosts exist. A user can spec-
mobile host sending a packet to the position of the mobile
                                                                        ify either a flatland with certain vertical and horizontal
host receiving it.
                                                                        lengths or a torus as an infinite flatland.
   In addition, this module displays experimental results and
information on mobile hosts as graphs and statistics during           • Unit of simulation time
the simulation. Evaluation metrics are shown as polygonal               The actual time of the unit time in the simulation experi-
line graphs, frequency distribution graphs, and dissemination           ment. We define unit time as the period between when a
graphs. The scale of the vertical and horizontal axes in each           mobile host processes the received packet and sends it to
graph are automatically adjusted as the simulation progresses.          a neighboring mobile host.
The statistics of simulation metrics are shown as tables.             • Simulation time
                                                                        The period in which a user executes the simulation ex-
3.2.4 Log manager                                                       periment.
  The log manager outputs logs to external files during the         These configuration parameters can be configured not only
simulation. When users reexecute the simulation, this mod-          before starting an experiment but also during its execution.
The mobile host configuration parameters are as follows:
  • Initial number of mobile hosts
    The number of mobile hosts when the simulation experi-
    ment starts.
  • Radio communication range
    The range (radius) in which a mobile host can send a
    packet to other mobile hosts and receive a packet from
    other mobile hosts by radio communication.
  • Maximum/minimum movement speed                                               Figure 2: Dialog for initial setting.
    The range of movement speed of mobile hosts.
  • Mobility model                                                 and information on mobile hosts during the simulation, an in-
    The mobility model of mobile hosts. In this prototype, a       formation window is displayed, as shown in Figure 4. In the
    user can choose one of three typical mobility models [2]:      following, we explain the four windows:
    Random Walk, Random Waypoint, and Random Gauss                   • Setting window
    Markov.                                                             At the top of this window, a turn number that denotes
  • Routing protocol                                                    simulation progress is displayed. Users can suspend and
    The protocol used for communication between mobile                  restart the simulation by pushing the “play/pause” button.
    hosts. In this prototype, a user can choose one of three            If a user suspends the simulation and inputs a turn num-
    typical routing protocols: Dynamic Source Routing                   ber less than the current one, the simulation returns to the
    (DSR) [3], Ad hoc On-Demand Distance Vector (AODV)                  status corresponding to the input number. This window
    [6], and Flooding, which is the simplest way to transmit            also displays configuration parameters about the evalua-
    data packets to a destination.                                      tion environment and mobile hosts. A user can change
  • Mode                                                                these values by pushing the “change” button and setting
    The mobile host mode during the simulation. There are               new values.
    three modes: ‘active,’ ‘sleep,’ and ‘exit.’ ‘Active’ denotes     • Simulation window
    that the mobile host is participating in a network; ‘sleep’        This window shows the animation of the simulation sta-
    denotes that the mobile host is temporarily leaving a net-         tus. In this window, a circle denotes a mobile host, a
    work; and ‘exit’ denotes that the mobile host has already          number at the lower left denotes the identifier of the mo-
    left the network.                                                  bile host, a dotted line denotes a radio link, and a solid
Among these configuration parameters, the initial number of            arrowhead denotes a packet propagation. SRC denotes
mobile hosts and routing protocol can only be set before start-        the source of data transmission corresponding to the se-
ing an experiment, and the mode can only be changed dur-               lected flow, and DST denotes the destination to which
ing the experiment’s execution. The others can be set and              the source sends a data packet. During the simulation,
changed not only before starting an experiment but also dur-           this window shows network topology changes and packet
ing its execution.                                                     propagations.
                                                                       Figure 5 shows popup menus displayed on the simula-
4.2 Implementation details                                             tion window when a user clicks on the right side of a
                                                                       mouse (a) where the mouse cursor is on a mobile host,
   In this subsection, we describe the initial setting before          and (b) where it is not on a mobile host. A user can
starting a simulation experiment and operations performed              change mobile host configuration parameters by click-
during the simulation.                                                 ing on the right side of a mouse where the mouse cursor
                                                                       is on a mobile host. Specifically, a user can perform the
4.2.1 Initial setting                                                  following operations:
   When a user starts up VANS, the dialog for initial setting          Specifying a source or a destination: A user specifies
is displayed (see Figure 2). Users can configure parameters                 a source or a destination from or to which packet
about the evaluation environment and mobile hosts described                 propagations are displayed.
in subsection 4.1 by using this dialog. In this dialog, users          Changing mobile status: A user selects the status of the
can choose one of the provided mobility models and routing                  mobile host among active, sleep, and exit.
protocols.
                                                                       Displaying experimental results and information on
                                                                            mobile hosts: A user displays experimental results
4.2.2 Operations during simulation                                          about the mobile host and information on the mo-
   After completing the initial setting, VANS starts the simu-              bile host as graphs and statistics.
lation experiment and displays three windows: setting, simu-           Changing configuration parameters: A user changes
lation, and packet, as shown in Figure 3. In addition, when                 the mobility model, the movement speed, and the
a user performs an operation to display experimental results                radio communication range of the mobile host.
Setting Window           Simulation Window                                Packet Window

                                               Figure 3: Simulation execution.

        (a) Graph                    (b) Statistic
             Figure 4: Information window.                          (a) On a mobile host      (b) Not on a mobile host
                                                                      Figure 5: Popup menus on the simulation window.
  On the other hand, a user can execute the following oper-
  ations by clicking on the right side of a mouse where the          and keeps updating it with simulation progress. In the
  mouse cursor is not on a mobile host.                              prototype, two evaluation metrics can be shown without
                                                                     users’ coding: control traffics is shown as polygonal line
  Adding a mobile host: A user adds a new mobile host,               graphs on the timeseries, and setting delay is shown as a
       i.e., makes a host participate at the position where          frequency distribution graph.
       the user clicks on a mouse.                                   In addition, this window can show routing tables held by
  Displaying experimental results: A user displays exper-            mobile hosts. A routing table records route information
       imental results as graphs in the entire network.              for mobile hosts to transmit data packets to destinations.
  Changing configuration parameters: A user changes                  Figure 4 shows examples of a graph of the control traffic
       the mobility model, the movement speed, and the               and a routing table.
       radio communication range of all mobile hosts in
       the entire network.                                       4.3 Addition of protocols by users
• Packet window                                                     Similar to conventional simulators, a user can implement
  On this window, a user can determine whether propaga-          his/her proposed protocols on VANS and conduct a perfor-
  tions of each kind of packets are displayed on the simu-       mance evaluation. In the implemented prototype, a user can
  lation window. Specifically, if a user checks the box on       add the protocol by implementing in C++. For this aim, VANS
  the left side of a packet name, propagations of the corre-     provides some functions for easy utilization of its visualiza-
  sponding packet are displayed on the simulation window.        tion function.
• Information window
                                                                 4.3.1   Basic classes
  This window shows experimental results and information
  on mobile hosts during the simulation. Specifically, this        When implementing a proposed protocol, the user needs to
  window shows an evaluation metric selected by the user         define the packets and procedures of the protocol. Therefore,
VANS provides the following two basic classes that include        restart, and reexecution, and change configuration parameter
common and important factors for simulation experiments.          values of the evaluation environment and mobile hosts. This
  • Packet class                                                  function enables users to configure the evaluation environ-
    This class manages parameters that send, receive, and         ment by checking its behavior. We also described the imple-
    draw propagating packets. These parameters include the        mentation of a VANS prototype that visually shows routing
    source and the destination of the packet, the type, and the   protocol behavior.
    flow identifier of the packet, and the time (turn) when the      By using VANS, a researcher can examine the validity of
    packet was sent. It also provides virtual functions to copy   a proposed protocol in an assumed environment by visually
    packets, draw packets’ propagation, process the log data,     checking network topology changes and experimental results.
    and check the flow identifier of the packet.                  When an unexpected problem, e.g., the generation of a huge
                                                                  number of error packets or abnormal protocol behavior, oc-
  • Network class
                                                                  curs due to design/implementation errors of the protocol, users
    This class is for communication between mobile hosts
                                                                  can detect the cause of the problem.VANS is also effective
    and manages the basic procedures and parameters for
                                                                  for researchers or students to learn routing protocol behavior.
    packet processing. These parameters include the radio
                                                                  Users can easily comprehend such behavior by checking the
    communication range and sequence numbers to identify
                                                                  network topology changes, the packet propagation, and the
    packets. This class provides virtual functions to draw the
                                                                  experimental results on simulation windows. They also can
    network, process the log data, and execute processes at
                                                                  comprehend the effects of each parameter on the experimen-
    the mobile host manager before data transmissions.
                                                                  tal results by changing the configuration parameters using a
  If a user needs new parameters or functions for the pro-        GUI.
posed protocol, it can add the parameters or functions to deri-      As part of our future work, we plan to implement typical
vation classes inherited from basic classes. Virtual functions    protocols in various layers, e.g., TCP and UDP in the trans-
can be redefined as needed if procedures of the proposed pro-     port layer and IEEE802.11 and Bluetooth in the MAC layer.
tocol are different from the basic classes.                       We also plan to evaluate VANS on a practical platform to ver-
                                                                  ify its effectiveness in an actual environment.
4.3.2 Change of interface
   When a user evaluates a proposed protocol, it usually con-                         REFERENCES
ducts simulation experiments by changing parameters that im-
pact the performance. Therefore, VANS provides the follow-         [1] L. Bajaj, M. Takai, R. Ahuja, K. Tang, R. Bagrodia,
ing two functions as APIs to add new configuration parame-             and M. Gerla, GloMoSim: A scalable network sim-
ters and configure evaluation metrics:                                 ulation environment, Technical Report 990027, UCLA
                                                                       Computer Science Department (1999).
  • Addition of configuration parameters                           [2] T. Camp, J. Boleng, and V. Davies, A survey of mobility
    A user can add new parameters into the configuration               models for ad hoc network research, Wireless Communi-
    parameters that impact the performance of the proposed             cations and Mobile Computing (WCMC): Special issue
    protocol. If a user adds new parameters, VANS adds new             on Mobile Ad Hoc Networking: Research, Trends and
    handles corresponding to the parameters into the dialog            Applications, Vol. 2, No. 5, pp. 483–502 (2002).
    for initial setting and the setting window. By doing so,       [3] D.B. Johnson, Routing in ad hoc networks of mo-
    the added parameters are shown in the dialog for initial           bile hosts, Proc. IEEE Workshop on Mobile Comput-
    setting, and the user can configure them. These param-             ing Systems and Applications (WMCSA’94), pp. 158–
    eters are also shown in the setting window, and the user           163 (1994).
    can change their values by pushing the “change” buttons        [4] M.R. Pearlman, and Z.J. Haas, Determining the opti-
    and inputting them.                                                mal configuration for the zone routing protocol, IEEE
  • Configuration of evaluation metrics                                Journal on Selected Areas in Communications, Vol. 17,
    A user can set evaluation metrics for the proposed pro-            No. 8, pp. 1395–1414 (1999).
    tocol. In doing so, the user sets periodical intervals at      [5] C.E. Perkins, and P. Bhagwat, Highly dynamic
    which VANS calculates the evaluation metrics. By con-              destination–sequenced distance–vector routing (DSDV)
    figuring the display graphs and statistics of the evalua-          for mobile computers, Proc. ACM SIGCOMM’94, pp.
    tion metrics, the user can comprehend temporal changes             234–244 (1994).
    of metrics.                                                    [6] C.E. Perkins, and E.M. Royer, Ad hoc on demand dis-
                                                                       tance vector routing, Proc. IEEE Workshop on Mobile
                  5 CONCLUSION                                         Computing Systems and Applications (WMCSA’99), pp.
                                                                       90–100 (1999).
   In this paper, we designed VANS, which is a visual sim-         [7] Making Networks and Applications Perform,
ulator for ad hoc networks. VANS shows animation of sim-               http://www.opnet.com/.
ulation status, graphs and statistics of experimental results,     [8] The Network Simulator - ns-2,
and information on mobile hosts. Therefore, users can visu-            http://www.isi.edu/nsnam/ns/.
ally comprehend simulation status. In VANS, users perform
several operations about the simulation progress, e.g., pause,
You can also read