Effective Formal Procedure of Alternate Routings in MANET Improving Quality of Service

Document Sample
Effective Formal Procedure of Alternate Routings in MANET Improving Quality of Service Powered By Docstoc
					                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                   Vol. 9, No. 5, May 2011

  Effective Formal Procedure of Alternate Routings in
         MANET Improving Quality of Service
          Shakeel Ahmed and A. K. Ramani                                                       Nazir Ahmad Zafar
School of Computer Science and Information Technology                                    Department of Computer Science
               Devi Ahilya University                                                         King Faisal University
                    Indore, INDIA                                                           Hofuf, SAUDI ARABIA
    Emails: {shakeel_rahi, ramaniak}@yahoo.com                                             Email: nazafar@kfu.edu.sa

Abstract—Various protocols are proposed in Mobile Ad Hoc                    known fact that the routing consumes both channel bandwidth
Networks (MANET) for finding the best route from source to                  as well as the battery power of nodes for communication or
destination however, there doesn’t exist any real protocol                  processing which leads to poor QoS. In single-path On-
considering all the parameters needed to attain acceptable level            demand protocols routing of data takes place over a single-path
of Quality of Service (QoS) for real-time interactive applications.         which is discovered during the route discovery process of the
Consequently this is an open research problem and has become a              routing algorithm. In these routing protocols, route discovery
challenging issue for today’s network services. Due to mobility of          may be performed after route fails. Therefore, data
the nodes in MANET the topology changes frequently, the nodes               transmission will be stopped while the new route is established
are self organized, lack centralized control and move freely.
                                                                            causing data transmission delay. On the other hand, multipath
Many of the routing protocols proposed maintain only one route
to the specified node and do not consider important QoS
                                                                            routing establishes multiple routes between source and
parameters like bandwidth, packet type and the route is                     destination nodes. For fault tolerance, even if one route fails,
rediscovered in these protocols by the source node when the                 source node can maintain connections by using other routes.
earlier route fails. In this paper, we have proposed a new Formal           Hence multiple routing protocols can reduce data transmission
approach of multipath node-disjoint routings based on AODV                  failures and delay times that are caused by route disconnection.
protocol which uses two node-disjoint routes between source and             To perform the route maintenance process before all routes fail,
destination to improve QoS. In the proposed approach mobility               the network must always maintain multiple routes and the
of nodes, bandwidth requirement, and battery life are considered            selection criterion of the specific path depends on the routing
in route discovery process that can significantly reduce end-to-            algorithm employed. A major restrain factor is the control
end delay and increase packet delivery ratio. Dynamic graphs are            traffic overhead that is incurred as a result of the discovery and
used to model the network topology since the nodes of MANET                 subsequent maintenance of multiple routes. However, multi-
are not fixed. Investigation and analysis of the proposed routing           path extensions to on-demand routing protocols exist that keep
protocol is carried out by employing formal techniques. Z                   the low over head of control.
notation is used to describe the formal model because of its
abstract and rigorous power of specifying the properties. The                   Having multiple paths in Ad Hoc networks is beneficial
specification is analyzed and validated using Z Eves tool.                  because wireless networks are prone to route breaks resulting
                                                                            node mobility, fading environment, signal interference, high
   Keywords-Ad Hoc networks; Alternate route; QoS; Formal                   error rate, and packet collisions. It is also important to generate
methods; Z notation; Validation                                             alternate routes for the primary route without propagating more
                                                                            control messages than building only single route. Minimization
                       I.    INTRODUCTION                                   of the number of packet transmissions is critical in Ad Hoc
                                                                            networks with limited bandwidth and battery life.
    Mobile Ad Hoc networks are characterized by dynamic
topology due to node mobility, limited bandwidth and power of                   In this paper, Alternate Route Quality of Service (ARQoS)
battery. In this situation, it is essential to find the route with          [7] model is analyzed, verified and validated using formal
better Quality of Service (QoS) considering low overheads,                  method to improve QoS in on-demand routing protocols by
dynamic conditions, routing with maximal throughput and                     providing alternate paths for the single-path. Selection of
minimal control overhead. Several on-demand routing                         alternate route will be carried out by the protocol itself when
protocols are proposed for Ad Hoc networks in which nodes                   the primary route fails.
build and maintain routes as needed, and route discovery
                                                                                Most of the proposed protocols are focused on simulation
process is initiated whenever a node needs a route to a
                                                                            and few implementations are proposed in which environments
particular destination. Examples of such protocols include the
                                                                            had no more than a dozen of nodes. It is also observed that for
Dynamic Source Routing (DSR) [1], Ad Hoc On-Demand
                                                                            very simple protocols different simulators can produce
Distance Vector (AODV) protocol [2], Temporally Ordered
                                                                            immensely different results. By using model checking one can
Routing Algorithm (TORA) [3].
                                                                            present performance measures that are difficult if not
   Several performance studies [4, 5, 6] of Ad Hoc networks                 impossible to obtain by simulation, and the results obtained
have shown that on-demand protocols incur lower routing                     from simulations are often not realistic as they have not been
overheads compare to the proactive counterparts. It is a well               validated against empirical data. Simulations do not really

                                                                      261                               http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                Vol. 9, No. 5, May 2011
improve the development process. [8]. Graph theory has much                  For the AODVM protocol, intermediate nodes are not
of its applications in the area of parallel and distributed              allowed to send a RREP packet directly to the source node.
algorithms and is an effective tool for modeling and visualizing         Further, intermediate nodes do not discard the duplicate RREQ
the communication networks. Graph theory does not have                   packets. But the intermediate nodes record all received RREQ
much computer tool support for verifying and validating the              packets in routing table. The destination node sends an RREP
systems. Formal techniques are best approaches for                       for all the received RREQ packets. An intermediate node
specification and proving the computerized models. In this               forwards a received RREP packet to the neighbor in the routing
research, formal methods in terms of Z notation [9] are used by          table. Whenever a node overhears one of its neighbors
linking with graph theory for describing multiple routes by              broadcasting RREP packet, it removes that neighbor from its
considering QoS parameters and updating the routing table. Z             routing table, because nodes cannot participate in more than
notation is used because of abstraction and encapsulation of             one route [14].
objects for further enhancement of the description of the
system. Rest of the paper is organized as follows.                           In AODV-BR the authors propose a scheme to calculate
                                                                         alternate paths such that when a link failure occurs, the
    In section 2, it is provided an outline of the related work.         intermediate node searches for an alternate route to circumvent
Section 3 presents an introduction to formal methods. In                 the broken link. The basic assumption made in this protocol is
section 4, an introduction to AODV protocol is given. In                 that all the nodes are in promiscuous mode and that they can
section 5, formal specification of ARQoS is described. Finally,          overhear every transmission within their range [15]. The above
concluding remarks are given in section 6.                               mentioned protocols have a number of limitations. First, none
                                                                         of the protocols have considered the QoS parameters including
                    II.   RELATED WORK                                   constant mobility of the nodes and an introduction of new node
                                                                         coming within the transmission range. The newly added may
    There are three main categories of Ad Hoc routing                    have an optimal path to destination is not considered. The main
protocols: Proactive (table-driven), Reactive (On-demand) and            drawback of AODV-BR protocol is that the alternate routes
Hybrid [10]. Proactive protocols build their routing tables              that are computed during route discovery are not maintained
continuously by broadcasting periodic routing updates through            during the course of data transfer and in this way QoS is not
the network; reactive protocols build their routing table’s on-          met. Thus the routes could become stale and outdated by the
demand and have no prior knowledge of the routes they will               time they are actually utilized. Moreover, the utilization of
take to get to a particular destination. Hybrid protocols create         promiscuous mode greatly increases the power consumption of
reactive routing zones interconnected by proactive routing links         each node.
and usually adapt their routing strategy to the amount of
mobility in the network [11].
                                                                                           III.   FORMAL METHODS
   A number of solutions for multipath routing in Ad Hoc                     Formal methods are extensively used in a variety of areas
networks are based on AODV (Ad Hoc On-demand Distance                    including software engineering, modeling and simulation,
Vector) [12]. Some of the examples are: AOMDV (Ad Hoc                    verifying network protocols, designing and development of
On-demand Multiple Distance Vector) [13], AODVM (Ad Hoc                  parallel and distributed systems, model checking, theorem
On-demand Distance Vector Multipath) [14], AODV-BR (Ad                   proving and for checking hardware systems. Hence Formal
Hoc On-demand Distance Vector Backup Route) [15] and MP-                 methods are best choice for modeling of mobile Ad Hoc
AODV (Multipath- Ad Hoc On-demand Distance Vector) [16],                 networks due to its distributive nature and because of much
AODV-ABR(Ad Hoc On-demand Multiple Distance Vector-
                                                                         component of software as compared to its counterpart
Adaptive backup routing) and AODV-ABL (Ad Hoc On-                        hardware. An important aspect of a wireless networks is that
demand Multiple Distance Vector - Adaptive backup with local             nodes use multi-hop communication on an unreliable medium,
repair routing) [17].                                                    further the network is subject to dynamic changes and
     The AOMDV protocol establishes loop-free link-disjoint              environmental interferences therefore algorithms and protocols
paths in the network. When intermediate nodes receive the                should be used for analysis, writing formal specification and
RREQ packet from the source node, AOMDV stores all RREQ                  producing refinements [18].
packets, unlike conventional AODV, which discards                            A formal specification is a description that is abstract,
duplicates. In this way, each node maintains a first hop-list            precise and in a sense is complete. The abstraction allows a
where information from additional field called first hop in              human reader to understand the big picture; the precision forces
RREQ packet indicates the neighbor node of the source nodes.             ambiguities to be questioned and removed; and the
If first hop of received RREQ packet is duplicated from its own          completeness means all aspects of behavior are described [18].
first hop-list, the RREQ packet is discarded. On the other hand,         Secondly, the formality of the description allows us to carry out
the RREQ packet is not duplicated from previous RREQ                     rigorous analysis. By looking at a single description one can
packets. Then the node updates the next hop, hop count and               determine useful properties such as consistency or deadlock-
advertised-hop count in routing table. At the destination, RREP          freedom [19]. By writing different descriptions from different
packets are sent from each received RREQ packet. The                     viewpoints one can determine important properties such as
multiple routes are made by RREP packets that follow the                 satisfaction of high level requirements or correctness of a
reverse routes which have already been setup in the                      proposed design
intermediate nodes as discussed in [13].

                                                                   262                              http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                Vol. 9, No. 5, May 2011
    Z notation [20, 21] is a model-based approach which is a                     enough available bandwidth till the destination receives
strongly typed, mathematical specification language, not an                      the RREQ packet.
executable notation and it cannot be interpreted or compiled
into a running program. There are few tools for checking Z                      When there are more than one nodes meeting the need
texts for syntax and type errors in much the same way that a                     of bandwidth, the source node will choose the best
compiler checks code in an executable programming language.                      route based on the delay as the primary route and next
In Z notation, schemas are used which are small pieces for                       route meet the QoS requirements as alternate route.
decomposing a specification into manageable components. The                     During the route request process the primary and the
schema is the feature that distinguishes Z from other formal                     alternate routes are established considering only the
notations. In Z schemas are used to describe both static and                     nodes which have met the QoS requirement for the
dynamic aspects of a system [22]. Z specification enables to                     data to be transmitted on the route established.
produce a model that is unambiguous, verifiable and traceable.
Z is more mature and has an ISO standard [23].                                  Considering mobility of nodes if the primary route
                                                                                 fails, alternate route will be considered as primary
    In Ad Hoc networks nodes are free to move causing                            route. And a secondary alternate route will be found by
changes in the network topology and highly dynamic. This                         the source node to backup for the alternate route which
dynamic nature increases the complexity of the algorithms                        may cause a failure of communication.
designed for Ad Hoc networks and the verification of these
algorithms is a difficult error-prone task that requires much            B. An Example
effort. Formal methods have a lot to offer where mobility of the
nodes can be modeled from a complex system to mathematical                   In Figure 1, primary route and an alternate backup route are
entities resulting in a rigorous model. By using these                   represented based on AODV routing protocol. When a link
techniques it is possible to model and verify the mobility of            failure occurs, the source node will use the alternate route to
nodes in a more thorough and detailed fashion than the                   transmit the data. The protocol assumes that both the source
empirical testing and simulation techniques.                             node and the destination for primary and alternate routes are
                                                                         same but intermediate nodes for both the routes are disjoint.
                                                                         When the alternate route fails, ARQoS will have another route
              IV. PROTOCOL CONSTRUCTION                                  from source to destination which is a substitute for the alternate
    In this section, we present the procedure details of the             route.
ARQoS protocol. Since the purpose of our study is to improve
                                                                                                      A                B    C
the performance of existing on-demand protocols specifically
of AODV hence suggested modification for improving the QoS                              S                                           D

is also introduced.                                                                                   E                F    G

A. Route Construction and Route Reply                                                             H

    In ARQoS the original AODV is extended. When a source
needs to initiate a data session to a destination but does not                              a)            Primary Route Discovery
have any route information, it searches a route by flooding a
Route Request (RREQ) packet. During the searching process                                             A                B    C
the node considers QoS parameters: mobility, bandwidth, and
battery life of the nodes. The steps in Route Discovery process                         S                                            D
are listed below:                                                                                     E                F    G

       The source node first calculates the bandwidth needed                                     H           I                 J
        and examine the links between itself and neighbor
        nodes. If there is enough available bandwidth, the
        source node generates a RREQ packet, and sets up a                                  b)            Alternate Route Discovery
        routing table for this data packet and broadcast the                                          A                B    C

        RREQ packet.
                                                                                        S                                           D

                                                                                                      E                F    G
        Each RREQ packet has a unique identifier so that
        nodes can detect and drop duplicate packets. An
        intermediate node, upon receiving a non-duplicate                                         H            I                J

        RREQ, records the previous hop and the source node
                                                                                       c)        Alternate Route to Alternate Route
        information in its route table, process is called
        backward learning.                                                                   Primary Route                  Route Reply
       An intermediate node receiving a RREQ examines the                             Alternate Route                     Substitute Route
        links of the neighbor nodes. If the required bandwidth
        is available the RREQ packet is rebroadcast and a                             Figure 1. Multiple Route Construction
        reverse route to the source node is sets up. If there is

                                                                   263                                      http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                   Vol. 9, No. 5, May 2011
    In AODV, a route is timed out when it is not used and                       The moving object of the network is defined as a schema
updated for certain duration of time. We use the same                       given below which is denoted by Object and has four
technique for timing out alternate routes. Nodes that provide               components namely, identification (id), type (type), battery
alternate routes overhear data packets and if the packet was                (battery) and set of the neighbors (neighbors). The set of
transmitted by the next hop to the destination as indicated in              neighbors is assumed as a finite power set of Node which is
their alternate route table, they update the route. If an alternate         defined as an abstract data type. The type of object is
route is not updated during the timeout interval, the node is               considered because it might be a source, destination or an
removed from the route stored in the routing table table.                   internal node. Further, the node is given a Nil value if it is not
                                                                            part of any route stored in the routing table.
                    V. FORMAL ANALYSIS                                      Object 
    In this section, formal analysis of the routing table for both          id: Node
primary and alternate routes is presented. The network                      type: Type
management for the routing table for ARQoS on-demand                        battery: Power
distance vector routing protocol is also presented. Initially,              neighbours:  Node
formal definitions of basic data types are described and then               
moving objects and network needed for Ad Hoc network are
defined. Finally, single path routing table, alternate path                     The possibility of communication between two objects of
routing table, disjoint routings, and routing table management              the graph is defined as an edge which is described by the
are described.                                                              schema Connectivity given below. It consists of three
                                                                            components: connection, trans and weight. The first one is used
A. Formal Model of ARQoS Network                                            to define a link between two nodes of the graph. The second
    An interconnected collection of objects that help and allow             component is used to represent the transmission between both
users to share information and resources is termed as                       the nodes defining edge. The transmission is only possible if
communication network. A mobile Ad hoc network is a                         the nodes are in range, if nodes are out of range transmission is
collection of self-configuring objects inter-connected by                   not possible. To represent the transmission two states are
wireless links and devices which are free to move in any                    assumed which are denoted by InRange and OutRange. And
direction in the domain. This network might be a part of                    the last one component weight is used to represent the time
another larger network of communicating objects. In this paper,             needed a node to communicate with the other, and is an
the communication network is defined by a graph relation                    alternative way of representing bandwidth. Because an object
where the moving objects are considered as nodes and                        cannot communicate to itself therefore both elements defining
communication links are assumed as edges of the graph. The                  connectivity cannot be the same elements.
graph relation is not static or fixed on the other hand it is                  Transmission ::InRange OutRange
dynamic, i.e., its any two nodes may be connected at one time
while might be disconnected at another time. In formal                      Connectivity 
definition, the identifier of a moving object is denoted by Node            connection: Object  Object
as given below. Four types of nodes, i.e., source, destination,
                                                                            trans: Transmission
internal and nil are assumed which will be needed to analyze
                                                                            weight: 
and search the route for data transmission. The power of
battery is considered and is assumed as dead, low or normal                 
denoted by Dead, Low and Normal respectively.                               connection . 1 . id  connection . 2 . id
    Power ::Dead Low Normal
                                                                               Object level communication is extended to define the entire
   Type ::Source Destination Internal Nil                           network. We have supposed that if there is an edge between
                                                                            two objects then communication is possible. Since any two
    The above types are assumed as sets types in which we do                objects in the network can communicate and hence status of the
not impose any restriction upon number of elements in a set                 communication is defined above representing in range or out of
and as a consequent a high order of abstraction is supposed.                range in the definition of connectivity. The formal specification
Moreover, we do not insist upon any effectual procedure to                  of the network is described by the schema Network given
decide about an arbitrary element if it is a member of the given            below consisting of two components which are objects and
set in Z notation. Consequently, the Node is a set of nodes over            connections. The variable, objects, is a collection of nodes of
which we cannot define an operation of cardinality to know the              the graph defined as a finite power set of object. And the
number of elements. Similarly, the complement and subset                    second variable, connections, is a finite power set of
operations are not well-defined over sets in Z notation. The sets           Connectivity used to represent the set of all the edges. The
Power and Type are assumed as free types in which at one time               invariants are defined in the predicate part of the schema
only one value is assumed.

                                                                      264                               http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 9, No. 5, May 2011
Network                                  SPRTable 
objects:  Object                                                     AdhocNetwork
connections:  Connectivity                                           routes:  seq Node
                                                      
con: Connectivity con  connections                                route: seq Node route  routes
 o1, o2: Object o1  objects  o2  objects                       ran route  o: Object o  objects o . id
     con . connection = o1 o2                                   route: seq Node route  routes  # route  1
o1, o2: Object o1  objects  o2  objects                          i:  i  1 .. # route - 1
 con: Connectivity con  connections                                   con: Connectivity con  connections
     con . connection = o1 o2  o1 . id  o2 . id                          route i route i + 1
o1, o2: Object o1  objects  o2  objects                                     = con . connection . 1 . id con . connection . 2 . id
 con1: Connectivity con1  connections                                        con . trans = InRange
 con1 . connection = o1 o2  con2: Connectivity                route: seq Node route  routes  # route  1
con2  connections con2 . connection = o2 o1                  i:  i  1 .. # route
                                           object: Object object  objects
                                                                                 object . id = route i  object . battery  Dead
                                                                       route: seq Node route  routes
   Invariants: (i) For any communication link, there must be
two objects which can communication to each other. (ii) For             # route  1  o: Object o  objects o . id = route 1
any two objects in the graph relation making an edge, the               o . type = Source  o: Object o  objects
objects identifiers are different. (iii) It is supposed that if an              o . id = route # route  o . type = Destination
object can communicate to another then vice versa is also                i:  i  2 .. # route - 1
possible that is the graph is a symmetric relation.                             o: Object o  objects
   In mobile Ad hoc networks, if a node is connected with                           o . id = route # route  o . type = Internal
another node at one time it might be disconnected at the other         
time. It means the communication is possible only if the nodes
are connected. In our model, we have supposed that                             Invariants: (i) In this property, it is stated that a route must
communication is made if the link between the nodes is active              be a path whose all nodes are objects of the network. (ii) The
that is nodes are in range to each other. The formal                       connectivity of nodes in the route is checked by relating it with
specification of mobile Ad hoc network is described below                  edges of graph relation of the ad hoc network. (iii) A node can
based on the definition of network.                                        not be part of the route if its battery is dead. (iv) It is verified
                                                                           that for every route the first node is a source and the last one is
AdhocNetwork                                     a destination. All others are the internal nodes.
                                                              Two routes are maintained, at a time, namely primary and
o1, o2: Object o1  objects  o2  objects
                                                                           alternate if exist. When primary link fails the source node will
                                                                           use the alternate route to transmit the data. If the alternate route
 con: Connectivity con  connections
                                                                           fails it will search another route from source to destination, it
    con . connection = o1 o2                                        may be the same as the primary route which was broken. The
 con . trans = InRange                                        set of alternate routes is defined in the schema APRTable given
o1, o2: Object o1  objects  o2  objects                             below. The same type of components and properties are
 con: Connectivity con  connections                                 defined in the alternate routing table as were defined in the
    con . connection  o1 o2                                        primary routing table for well defining the routes. Further, a
  con . trans = OutRange                                      route is timed out when it is not used and updated for a
                                         particular duration of time. If an alternate route is not updated
                                                                           during the timeout interval, the node removes the route from
                                                                           the routing table.
     Invariants: (i) For any two objects in the graph relation
there must be an edge connecting it which is active or passive.                In below, both the primary and alternate routes are defined
(ii) If objects are out of range to each other the communication           in separate routing tables. Now we can define a complete
is not possible.                                                           routing table based on the primary and alternate routing tables
                                                                           defined above by using the schema DisjointRoutings. The
    The history of routes is stored in the routing table which is          relationship between both the routing tables is established. For
defined by the schema SPRTable consisting of two variables.                example, for every primary route there must be an alternate
The first one component AdhocNetwork is defined above as ad                route if exists. The both routes are disjoints. The alternate route
hoc network and the second one is set of primary routes stored             is the most appropriate route except the primary route in the ad
in the routing table. The variable routes is a collection of paths         hoc network. All such properties are defined in the predicate
whereas each path is a well-defined sequence of nodes in the               part of the schema.

                                                                     265                                http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 9, No. 5, May 2011
APRTable                                              Invariants: (i) The total number of routes in primary and
AdhocNetwork                                                                 alternating tables are same. It might be possible that there does
alternatives:  seq Node                                                  not exist any alternate route for a particular primary route. In
                                                             such cases, we have supposed that if an alternate route does not
route: seq Node route  alternatives                                      exit then it is defined as an empty sequence and hence the
                                                                              property is satisfied. (ii) The first elements of both the primary
 ran route  o: Object o  objects o . id
                                                                              and alternate routes are same. Similarly, the last elements are
route: seq Node route  alternatives  # route  1                        also same. (iii) The sets of internal elements except first and
 i:  i  1 .. # route - 1 con: Connectivity con                  last elements of primary and alternate routes are disjoint. (iv)
connections        route i route i + 1                           All consecutive elements in a primary route are connected in
           = con . connection . 1 . id con . connection . 2 . id         the ad hoc network. Further, every node when selected for to be
 con . trans = InRange route: seq Node route  alternatives             part of the primary route is the most appropriate for
# route  1 i:  i  1 .. # route object: Object object           transmission of data. (v) All consecutive elements in an
objects      object . id = route i  object . battery  Dead               alternate route are connected in the graph relation and every
route: seq Node route  alternatives # route  1                       node of the alternate route is the most appropriate for
  o: Object o  objects o . id = route 1  o . type =
                                                                              transmitting the data.
Source  o: Object o  objects                                          After description of the routing table its management is
       o . id = route # route  o . type = Destination               required if a node moves from one location to another and is a
  i:  i  2 .. # route - 1 o: Object o  objects                 part of any communication between two nodes, or a new route
       o . id = route # route  o . type = Internal                 is established. Only one operation to add a primary and
                                            alternate route is defined here and other operations can be
                                                                               defined similarly. A route is searched only if it does not exist in
    Invariants: (i) An alternate route must be a well defined
                                                                               the routing table. After route is established and data can be
path whose all nodes are objects of the network. (ii) Any two
                                                                               transmitted, the route is stored in the routing table for its future
consecutives nodes in the alternate route must be an edge of the
                                                                               use. After discovery of primary and alternate routes the routing
ad hoc network. (iii) A node can not be included in an alternate
                                                                               table is updated by the schema ARRT given below. The schema
route if its battery is dead. (iv) For every alternate route the first
                                                                               takes routing table and new established routes as input and
node is source and the last one is a destination, all others are
                                                                               updates the routing table as an output.
internal nodes.
                                                                               ARRT 
DisjointRoutings 
                                                                               route?, alter?: seq Node
# routes = # alternatives route, alter: seq Node
                                                                               route?  routes
 route  routes  # route  1  alter  alternatives  #
                                                                               alter?  alternatives
alter  1 route 1 = alter 1  route # route = alter # alter
                                                                               # route?  1  # alter?  1
route, alter: seq Node
                                                                               route? 1 = alter? 1  route? # route? = alter? # alter?
 route  routes  # route  1  alter  alternatives  #
                                                                               i:  # route?  1  i  2 .. # route? - 1
alter  1 i:  i  2 .. # route - 1
                                                                                j:  # alter?1  j 2 .. # alter? - 1 route? i  alter? j
      j:  j  2 .. # alter - 1 route i  alter j
                                                                               i:  # alter?  1  i  2 .. # alter? - 1
  i:  i  2 .. # alter - 1
                                                                                j:  # route?1  j2 .. # route?-1 alter? i  route? j
       j:  j  2 .. # route - 1 alter i  route j
                                                                               node: Node node  ran route?
route: seq Node route  routes  # route  1
                                                                                object: Object object  objects object . id = node
 i:  i  1 .. # route - 1
                                                                               object1, object2: Object object1  objects  object2 
     con: Connectivity con  connections
                                                                               objects # route?  1  route? 1 = object1 . id
         con . connection . 1 . id con . connection . 2 . id
                                                                                     route? # route? = object2 . id
 = route i route i + 1  cono: Connectivity cono connections
                                                                                     object1 . type = Source  object2 . type = Destination
               con . weight  cono . weight
                                                                               node: Node node  ran alter?
alter: seq Node alter  alternatives  # alter  1
                                                                                object: Object object  objects object . id = node
 i:  i  1 .. # alter - 1
                                                                               object1, object2: Object object1  objects  object2 
     con: Connectivity con  connections
                                                                               objects # alter?  1  alter? 1 = object1 . id
         con . connection . 1 . id con . connection . 2 . id
                                                                                     route? # route? = object2 . id
            = alter i alter i + 1
                                                                                     object1 . type = Source  object2 . type = Destination
           cono: Connectivity cono  connections
                                                                               routes' = routes  route?
               con . weight  cono . weight
                                                                               alternatives' = alternatives  alter?

                                                                         266                                http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 9, No. 5, May 2011
    Invariants: (i) The newly established route is not already in                                            REFERENCES
the routing table. (ii) The newly established alternate route does           [1]    D. B. Johnson, D. A. Maltz, and J. Broch, “Dynamic source routing for
not exist in the alternate routing table. (iii) Both primary and                    multihop wireless ad hoc networks”, Ad Hoc Networking, Addison-
alternate routes have at least two nodes. (iv) Primary and                          Wesley, pp 139–172, 2001.
alternate route are disjoint. (v) For every node in the route there          [2]    C. E. Perkins, “Ad hoc on demand distance vector (AODV) routing”,
is an object with same identity. (vi) For every route there exists                  http://www.ieft.org/internetdrafts/, IEFT Internet Draft, 1998.
two objects, one is source and the other is destination. (vii) For           [3]    V. Park and S. Corson, “Temporally-ordered routing algorithm (TORA)
every node in the alternate route there is an object with same                      Version 1 functional specification”, IETF Internet Draft, work in
                                                                                    progress, draft-ietf-manettora-spec-04.txt, 2001.
identity. (viii) For every alternate route there exists two objects,
                                                                             [4]    S. R. Das, R. Casteneda, J. Yan, “Simulation based performance
one is source and the other is destination. (ix) The new state of                   evaluation of mobile, ad hoc network routing protocols”, ACM Mobile
primary routing table is union of its previous routes and the                       Networks and Applications (MONET), 2000.
newly established route. (x) The new state of alternate routing              [5]    J. Broch, D. A. Maltz, D. B. Johnson, Y. C. Hu and J. Jetcheva, “A
table is union of its previous alternate routes and the newly                       performance comparison of multi-hop wireless ad hoc network routing
established route.                                                                  protocols”, proceedings of MobiCom, pp. 85-97, 1998.
                                                                             [6]    P. Johansson, T. Larson, N. Hedman, B. Mielczarek and M. DegerMark,
                                                                                    “Scenario-based Performance Analysis of Routing Protocols for Mobile
                        VI. CONCLUSION                                              Ad hoc Networks”, in Proceedings of MOBICOM, 1999.
    In this paper, a formal procedure of defining and managing               [7]    S. Ahmed and A. K. Ramani “Alternate route for improving quality of
routing table for mobile Ad Hoc network is presented. For                           service in mobile ad hoc networks”, International Journal of Computer
                                                                                    Science and Network Security, 11(2), pp. 41-50, 2011
every route an alternate route is supposed if it exits. Initially,
routing table is represented by a graph relation and then                    [8]    D. Cavin, Y. Sasson, and A. Schiper. “On the accuracy of MANET
                                                                                    simulators”, Proceedings of the Workshop on Principles of Mobile
transformed to Z notation. An object of the network is                              Computing, pp. 38-43, 2002.
represented by a node and communication link is assumed as                   [9]    J. M. Spivey, “The Z notation: a reference manual”, Prentice Hall, 1989.
an edge of the graph. Because objects are free to move from                  [10]   X. Niu, Z. Tao, G. Wu, C.Huang, Li Cui, “Hybrid cluster routing: an
one place to another consequently the communication links                           efficient routing protocol for mobile ad Hoc networks”, IEEE
might be active at one time and dead at another time. Hence the                     International Conference on Communications, 2006.
network is not fixed and it needs frequent management to                     [11]   L. Wang and S. Olariu, “A two-zone hybrid routing protocol for mobile
update the active nodes and live communication links. For this                      ad hoc networks”, IEEE Transactions on Parallel and Distributed
purpose efficient and optimal procedures are needed to                              Systems, 15(12), 2004.
optimize and improve the quality of service.                                 [12]   Charles E. Perkins, Elizabeth M. Belding-Royer, and Samir R. Das. “Ad
                                                                                    hoc on demand distance vector (AODV) routing”, Internet draft, 2003.
    First of all basic data types, node, communication link,                 [13]   S. R. Das “On-demand multi-path distance vector routing for ad hoc
battery status etc. are defined at a highest level of specification.                networks”, IEEE ICNP, 2001.
Then moving objects and connectivity are defined to construct                [14]   Z. Qiang Ye, S.V. Krishnamurthy and Satish K. “A framework for
the entire network as a graph relation. Based on the definition                     reliable routing in mobile ad hoc networks”, IEEE INFOCOM, 2003.
of network, formal description of ad hoc network is presented.               [15]   S. J. Lee and M. Gerla: "AODV-BR: Backup Routing in Ad Hoc
Then routing table is defined for the primary routes and                            Networks", IEEE WCNC 2000, 2000.
alternate route is assumed for each primary route if exists.                 [16]   C. Woo Ahn, S. Hwa Chung, T. Hun Kim, Su-Young Kang, “A node-
                                                                                    disjoint multi-path routing protocol based on AODV in mobile ad-hoc
Graph theory is used in this research because it has several                        networks”, International Conference on Information Technology, IEEE,
applications in modeling of communication networks and was                          2010.
proved an effective tool for this problem. On the other hand, it             [17]   W. K. Lai, S.-Y. Hsiao, and Y.-C. Lin. “Adaptive backup routing for ad-
does not have much computer tool support for verifying and                          hoc networks”, Computing Communication 2, pp. 453–464, 2007.
validating the computer models. Formal methods are                           [18]   A. Hall. “Realising the benefits of formal methods”, Journal of
approaches based on mathematical techniques and have a                              Universal Computer Science, 13(5), pp.669–678, 2007.
rigorous computer tools support used for analysis, specification             [19]   S. Chiyangwa and M. Kwiatkowska, “Modeling ad hoc on-demand
and proving of the computerized models. That is why                                 distance vector (AODV) protocol with time automata”, Proceedings of
integration of graph theory and formal methods in terms of Z                        Third Workshop on Automated Verification of Critical Systems, 2003.
notation is used in this research.                                           [20]    J.M. Spivey, “The Z notation, a reference manual”, 2nd edition,
                                                                                    Prentice Hall International, 1992.
    After formalizing the procedures for AODV protocol, it                   [21]   J. Woodcock, J. Davis; “Using Z specification, refinement and proof”,
was observed that inconsistencies and ambiguities were                              Prentice Hall, 1996.
identified and removed by application of formal methods for                  [22]   Teyseyre, A. “A 3D visualization approach to validate requirements”,
the specification of the routing table. We believe that this                        Proceedings Congreso Argentino de Ciencias dela Computacion, 2002.
integrated approach will be useful for further analysis and                  [23]   ISO: Information technology, “Z formal specification notation, syntax,
optimization of other similar routing protocols used for                            type system and semantics”, ISO/IEC International, 2002.

                                                                       267                                     http://sites.google.com/site/ijcsis/
                                                                                                               ISSN 1947-5500

Shared By: