Efficient Route Discovery In Mobile Ad Hoc Network
1. Project Report
on
Efficient Route Discovery in
Mobile Ad Hoc Network
DEVELOPED BY
Ankur Ghosh
Ankur Paul
Pradip Kumar Mahato
Somarka Chakravarti
Soumyojit Chakraborty
PROJECT GUIDE
Mr. Biplab Mondal
Lecturer, Dept. of Computer Science & Engineering
December, 2009
Asansol Engineering College
Kanyapur, Asansol, Burdwan -713304
2. ACKNOWLEDGEMENT
It is a matter of great pleasure for us to acknowledge our feelings of
extreme gratitude and sincere regards to Mr. Biplab Mondal Lecturer, Department
Mondal,
of Computer Science & Engineering, Asansol Engineering College, for the regular
& dedicated guidance provided by him. It was because of his steady guidance that
we could bring this project to its present form.
We also take this opportunity to thank Mr. Swapan Bhattacharya, Head
. Swapan Bhattacharya,
of the Department, Department of Computer Science & Engineering, Asansol
Engineering College, who was always there to provide us with all sort of support,
be it technical or moral.
We would also like to acknowledge the help and support of Mr. Amar Kr.
Ganguly,
Ganguly, Principal, Asansol Engineering College.
The acknowledgment will remain incomplete if we do not specially give
thanks to our Project Laboratory in-charge, Mr. Suman Mallick for providing us
the optimum facilities in the laboratory which was of immense help in developing
the project.
Project Team
Ankur Ghosh
Ankur Paul
Pradip Kumar Mahato
Somarka Chakravarti
Soumyojit Chakraborty
3. CERTIFICATE
This is to certify that the following project entitled
“ Efficient Route Discovery in Mobile Ad Hoc Network ”
submitted by
Ankur Ghosh
Ankur Paul
Pradip Kumar Mahato
Somarka Chakravarti
Soumyojit Chakraborty
has been carried out in the Department of Computer Science & Engineering at Asansol
Engineering College under West Bengal University Of Technology for the degree of B-TECH.
It is a complete fulfilment of their 7th semester project.
So, the performance of the group deserves my approval and acknowledgement.
Approved by
........................................
Project Guide
Biplab Mondal
Lecturer, Dept. of CSE,
Asansol Engineering College
Recommendation :
Recommended/Not Recommended
.................................................. ................................................
Internal Examiner External Examiner
4. CREDITS
Project Guide
Mr. Biplab Mondal
Lecturer, Department of Computer Science & Engineering, Asansol Engineering College
Project Team
1. Ankur Ghosh
Roll No. : 10801061076
Registration No : 108010111062
Stream : Computer Science & Engineering
Batch : 2006 - 2010 ( 4th year )
2. Ankur Paul
Roll No. : 10801061035
Registration No : 108010141002
Stream : Computer Science & Engineering
Batch : 2006 - 2010 ( 4th year )
3. Pradip Kumar Mahato
Roll No. : 10801061071
Registration No : 108010141006
Stream : Computer Science & Engineering
Batch : 2006 - 2010 ( 4th year )
4. Somarka Chakravarti
Roll No. : 10801061065
Registration No : 108010111055
Stream : Computer Science & Engineering
Batch : 2006 - 2010 ( 4th year )
5. Soumyojit Chakraborty
Roll No. : 10801061044
Registration No : 108010111038
Stream : Computer Science & Engineering
Batch : 2006 - 2010 ( 4th year )
5. INDEX
PARTICULARS PAGE NO.
1. Introduction 1
1.1 Introduction to Mobile Ad Hoc Network 1
1.2 Background & Motivation 2
2. FResher Encounter SearcH 3
2.1 FRESH Idea 3
2.2 FRESH Algorithm 5
3. Implementation 7
3.1 Data Flow Diagram 7
3.2 Output 10
3.3 System Requirements 13
4. Performance Analysis 14
4.1 Performance Criterion 14
4.2 Simulation Environment 15
4.3 Age Gradients 17
5. Conclusion & Future Scope 18
6. References 19
6. TABLE OF ILLUSTRATIONS
PARTICULARS PAGE NO.
Figure 2.1 : An example FRESH route for N = 32000
nodes, with a random walk mobility process. 4
Figure 3.1 : Level 0 DFD 7
Figure 3.2 : Level 1 DFD 7
Figure 3.3 : Level 2 DFD (I) 8
Figure 3.4 : Level 2 DFD (II) 9
Screenshot 3.1 : Initial Look 10
Screenshot 3.2 : Initial Random Network with source & destination selected 10
Screenshot 3.3 : Network after random motion for 1 minute 11
Screenshot 3.4 : Route given by FRESH 11
Screenshot 3.5 : Selecting destination without selecting source 12
Screenshot 3.6 : Selecting a source as a destination 12
Screenshot 4.1 : Route after warm-up for 10 seconds 16
Screenshot 4.2 : Route after warm-up for 15 minutes 16
Figure 4.1 : Age gradient, random walk. (Empirical conditional
mean of distance, conditional on the encounter age). 17
7. 1. INTRODUCTION
1.1 INTRODUCTION TO MOBILE AD HOC NETWORK
A "Mobile Ad Hoc Network" (MANET) is an autonomous system of mobile
routers (and associated nodes) connected by wireless links, the union of which
forms an arbitrary graph.
Wireless mobile hosts of Mobile Ad Hoc Network communicate with each
other, in the absence of a fixed infrastructure. The routers are free to move
randomly and organize themselves arbitrarily. Thus, the network’s wireless
topology may change rapidly and unpredictably. Routes between two hosts in a
Mobile Ad Hoc Network (MANET) may consist of hops through other hosts in the
network. Therefore, the task of finding and maintaining routes in MANET is
nontrivial. Such a network may operate in a standalone fashion, or may be
connected to the larger Internet.
Routing protocols for Mobile Ad Hoc Networks generate a large amount of
control traffic when node mobility causes link states and the network topology to
change frequently. On the other hand, resources such as bandwidth and battery
power are usually severely constrained in such networks. Therefore, minimizing
the control traffic to set up and maintain routing state is one of the main challenges
in the design of scalable routing protocols for Mobile Ad Hoc Networks.
Mobility can be of two types. In the waypoint mobility model, each node
chooses a random target which is uniformly distributed in the surface and advances
towards it at a constant velocity. When it reaches the target, a new target is
generated and the node moves again. In the random walk model, nodes move at
each step in one of the four cardinal directions, and reflect at the boundary.
[1]
8. 1.2 BACKGROUND & MOTIVATION
Large amount of control traffic is generated by the routing protocols
implemented for Mobile Ad Hoc Networks in which link states and the network
topology change frequently. Resources such as bandwidth and battery power are
usually severely constrained in such networks. Therefore, minimizing the control
traffic to set up and maintain routing state is one of the main challenges in the
design of scalable routing protocols for Mobile Ad Hoc Networks. One approach to
limit control traffic is to establish routes on demand rather than proactively. On-
demand routing protocols only establish a route to a destination when it is
necessary to send packets to that destination, and therefore incur less overhead at
the expense of higher route setup latency. Hybrid routing protocols combine both
on-demand and proactive elements for more flexibility in the latency-overhead
tradeoff.
On-demand routing overhead can be broken down into two components :
route discovery and route maintenance. Their relative costs vary depending on the
protocol and scenario, but in general route discovery tends to be costly. In this
project, we propose a new approach to reduce the cost of route discovery, which
can benefit both pure on-demand and hybrid routing protocols.
When a source node first wishes to establish a route to a destination, it must
search the network until it finds either the destination or another node which has a
route to the destination. Many of the proposed protocols for Ad Hoc Networks
perform a flood based route discovery, whereby a Route REQuest (RREQ) packet
is flooded across the network, possibly using an expanding ring search to "grow"
the flood until the destination is found. This search is omnidirectional as the source
node does not know where the destination lies – the flood cannot favour any one
particular direction.
In this project, we propose an algorithm called FRESH that improves the
performance of route discovery over omnidirectional approaches. FRESH achieves
this performance improvement by exploiting the history of last encounters between
nodes (two nodes encounter each other when they are directly connected
neighbours). Our work is motivated by a simple observation – ‘the history of last
encounters between nodes contains valuable, but noisy information about the
current network topology’.
[2]
9. 2. FRESHER ENCOUNTER SEARCH
2.1 FRESH IDEA
The FResher Encounter SearcH (FRESH) requires that nodes keep a table of
their most recent encounter times with all other nodes. An encounter between two
nodes happens when those nodes are one-hop neighbours. The “one-hop” may vary
according to the protocol we are using.
We now informally introduce the FRESH algorithm, before giving some
insight on how and why it works. Consider a node ‘s’ that establishes a route to a
destination ‘d’. We note TLE(i,d), the age of the most recent encounter between
nodes i and d, with the convention that TLE(i,d) = ∞ if nodes i and d have never
encountered and TLE(i, d) = 0 if i = d.
Source node s searches for the nearest anchor node ‘a1’ such that TLE(a1, d)
< TLE(s,d) (this is the nearest node which has encountered the destination more
recently than s). Node a1 then searches around itself for the nearest anchor node
‘a2’ such that TLE(a2,d) < TLE(a1,d). Anchor node a2 in turn repeats this FResher
Encounter SearcH and the procedure iterates until we reach the destination d (for
which TLE(d, d) = 0).
This algorithm is advantageous in the sense that it requires no global
knowledge, and lends itself to a distributed implementation, because each search is
defined only in terms of the nodes' local encounter tables. Also, the algorithm only
makes use of relative times (encounter ages), and so clocks need not be
synchronized.
The figure ahead shows a route computed with FRESH, where the nodes
have been moving according to a random walk. The anchor nodes are represented
as crosses. For clarity the path between anchor nodes is approximated by a straight
line, though it will in reality follow a multi-hop route through intermediate nodes.
[3]
10. Figure 2.1 : An example FRESH route for N = 32000 nodes, with a random walk mobility process.
What enables FResher Encounter SearcH to compute good routes at a lower
cost is a single-step route discovery. The basic principle is simple: For most
mobility processes, the distance travelled during a time interval of duration ‘t’ is
positively correlated with t. We refer to this as time-distance correlation.
Now consider three nodes i, j, and d. At the present time t = 0, node ‘i’ is
separated from node d by a distance ‘Di’, similarly node ‘j’ is separated from node
‘d’ by a distance ‘Dj’. The intuition behind FRESH is that if TLE (i,d) < TLE(j,d),
then with high probability Di < Dj. Simply put, “a node that was my neighbour 5
minutes ago is probably closer to me than a node that was my neighbour 5 hours
ago”. If time-distance correlation holds then successive FResh Encounter SearcHes
will advance towards the destination. This will result in a directional route
discovery. In common mobility processes time-distance correlation holds well
enough for the algorithm to work very effectively.
Though successive iterations of the FResher Encounter SearcH on average
bring us closer to the destination, they may not always advance along a straight
line, and so we may not obtain the shortest-path route. Since FRESH establishes
routes at lower cost than single-step methods, one may consider that we trade off
some route quality for a reduction in search cost and so we must be sure that routes
remain good enough so that this is worthwhile.
[4]
11. 2.2 FRESH ALGORITHM
Before we actually go into the FRESH algorithm, we would like to put
forward to important properties based on which the protagonized algorithm is
supposed to work.
PROPERTY 1: The search primitive is omnidirectional, that is to say it does not
favour any specific direction for finding the required node.
PROPERTY 2: The search proceeds in concentric rings of expanding radius until a
node is found which satisfies a given condition.
FRESH Algorithm :
In this algorithm the nodes keep a table of their most recent encounters times
with all the other nodes they have encountered. This table is called the TLE
table.
The pseudo-code given ahead invokes the search primitive through an
abstract interface which allows a querying node N to find the nearest anchor node
A having seen the destination node D more recently than a time T. This search is
invoked by calling nextAnchor(D,T), which triggers a network search and returns
A. The search process creates routing state in the network which will allow N to
subsequently send packets to A. This state will be used by the notifyNextAnchor
call to instruct A to pursue the route discovery. More precisely,
notifyNextAnchor(A,D) will send a packet to A, which triggers invocation of the
call FRESH(D) on node A. We note that the packet sent by the
notifyNextAnchor(A, D) call does not need to carry the time T representing the
current node's encounter age with D since node A only needs its own encounter
age with D in order to iterate the search.
[5]
12. The algorithm, which is run at every node in the network, is as follows:
procedure FRESH (D)
begin
if (thisnode.ID = D) then
replyToSource()
else
begin
T := prevEncounterAge(D);
A := findNextAnchor (D, T);
if (A != D) then
notifyNextAnchor(A, D);
end
end
replyToSource() is a invoked when the route is found, i.e., the last node encountered in the search
is the destination itself, and notifies the source.
prevEncounterAge(D) returns the time since the last encounter of the particular node with the
destination.
procedure findNextAnchor(D, T)
begin
repeat
currentDist:=0;
repeat
currentDist:=currentDist + unitDist;
presentNode:=ID of the node at currentDist;
if(T>prevEncounterAge(D) of presentNode;
return presentNode;
for all nodes at currentDist
forever
end
currentDist : Distance at which Anchor nodes are checked
unitDist : Lowest distance for incrementing search area for anchor nodes
presentNode : Node under concern to be checked for next Anchor Node
notifyNextAnchor(A, D) transfers control to the Anchor Node ‘A’ & executes the procedure
FRESH(D) at ‘A’.
[6]
13. 3. IMPLEMENTATION
3.1 DATA FLOW DIAGRAM
No. of Nodes,
Source id,
Destination id
Simulation
Environment
& Route
Discovery
0
Efficient Route
Figure 3.1 : Level 0 DFD
No. of Nodes,
Source id,
Source id,
Destination id
Destination id
Simulation Route
Environment Discovery
0.1 0.2
Efficient Route
Figure 3.2 : Level 1 DFD
[7]
14. No. of Nodes,
Source id,
Destination id
Drawing the
Background
0.1.1
Generate
Random
Locations
0.1.2 Node Locations
Start/Stop Motion Node Records
Node Location
Draw the
Nodes
0.1.3
Node’s new Location
Generating
New
Locations
0.1.4
Source id,
Destination id
Figure 3.3 : Level 2 DFD (I)
[8]
15. Source id,
Destination id Current Anchor id,
Destination id
FRESH nextAnchor
0.2.1 Next Anchor id 0.2.2
Efficient Route
Figure 3.4 : Level 2 DFD (II)
DATA DICTIONARY
No. of Nodes : integer
Source id : Node id
Destination id : Node id
Start/Stop Motion : User Command
Node Location : {integer} 2
Node’s New Location : {integer} 2
Next Anchor : Node id
Efficient Route : Source id + { Node id }* + Destination id
[9]
16. 3.2 OUTPUT
1. An Initial Screenshot of the system asking the user for the no. of nodes in the network.
Screenshot 3.1 : Initial Look
2. The initial random network. The user can select a source by clicking on ‘Select Source’ & then clicking on the
desired node. Destination can be selected or deselected in a similar manner. The following screenshot shows
the initial network with source & destination selected.
Screenshot 3.2 : Initial Random Network with source & destination selected
[10]
17. 3. The user can start/stop random motion of the nodes by using the ‘Start/Stop Random Motion’ button. The
following screenshot shows the same network after random motion for 1 minute.
Screenshot 3.3 : Network after random motion for 1 minute
4. The FRESH algorithm is invoked on pressing the ‘Show/Hide route’ button. The route discovered is shown in
the following screenshot.
Screenshot 3.4 : Route given by FRESH
[11]
18. HANDLING ERRORS
1.The following message box is displayed if the user tries to select a destination before selecting the source.
Screenshot 3.5 : Selecting destination without selecting source
2.The following message box is displayed if the user tries to select the source node as a destination.
Screenshot 3.6 : Selecting a source as a destination
[12]
19. 3.3 SYSTEM REQUIREMENTS
EQUIREMENTS
Hardware Requirements
A PC (or Laptop) with mouse
65MB RAM
256 MB of Hard Disk Space
Software Requirements
Operating System : Windows (XP, NT, Vista) or Linux (Red Hat, ubuntu, etc)
Development tool : jdk1.2.4 (or later)
N.B : The system can support a maximum input of 3500 nodes. An input of more than 3500
nodes can result in unexpected results.
[13]
20. 4. PERFORMANCE ANALYSIS
4.1 PERFORMANCE CRITERION
The first performance criterion will be the cost of the n searches (n is the no.
of anchors) in a route discovery. The baseline to which we will compare FRESH
search cost is the search cost of a single-step route discovery as employed by
existing protocols. Our simulation shows that FRESH allows for a substantial
reduction in this cost.
The second performance criterion is the quality of routes. Though successive
iterations of the FResher Encounter SearcH on average bring us closer to the
destination, they may not always advance along a straight line, and so we may not
obtain the shortest-path route. Since FRESH establishes routes at lower cost than
single-step methods, one may consider that we trade off some route quality for a
reduction in search cost and so we must be sure that routes remain good enough so
that this is worthwhile. We have performed simulations to verify the scaling
performance of FRESH at large network sizes with a random walk.
The simulations used two metrics to evaluate the performance of the
protocol: search cost and route quality. In this section we report the results and
further discuss two other important aspects of routing performance: proactive
overhead and latency.
The search cost of a route discovery is the overhead necessary to build the route
from a source to a destination. In the case of the on-demand protocols we are
considering here, this will be the cost of the search(es) associated with the route
discovery.
Route quality measures the difference between the route obtained by the
algorithm and the shortest-hop path.
Our purpose is to evaluate the performance of FRESH in relation only to the
mobility process and the size of the network. Nodes are one-hop neighbours when
they come within unit distance of each other, and interferences and collisions are
not modelled. We note that this simplification is neutral to the evaluation since we
have no cross-traffic.
[14]
21. 4.2 SIMULATION ENVIRONMENT
The topology is a continuous square surface. The mobility model employed
here is random walk in which nodes move at each step in one of the four cardinal
directions, and reflect at the boundary.
The simulations run in two phases: warm-up and route computation. In the
warm-up phase, nodes move according to the chosen mobility process, populating
their tables with the most recent encounter times of each peer node that they
encounter. Ideally the warm-up phase runs until an encounter ratio of 40% is
attained, where the encounter ratio is the proportion of node pairs that have
encountered at least once since the beginning of the warm-up.
Once the warm-up is complete, we apply FRESH to sequentially compute a
number of routes between randomly chosen source-destination pairs and record the
statistics of interest to us. We note that a single route discovery happens on a
timescale of tens or hundreds of milliseconds whereas node mobility occurs on a
timescale of several seconds or minutes. This allows us to use the approximation
that nodes' positions are static for the duration of a route discovery.
Proactive Overheads: During and after the route computation FRESH
requires that nodes keep track of their one-hop neighbourhood in order to
maintain their encounter tables with up-to-date information. One solution is for
nodes to broadcast periodic hello messages in order to inform one-hop
neighbours of their presence.
Latency: It is an important aspect of routing protocol performance. In this
paragraph we explain why latency of FRESH is similar to the latency of single-
step methods. We consider two types of latency: route establishment latency and
round-trip time (RTT) latency. Route establishment latency is the time elapsed
between the moment when a source requests a route to the destination and the
moment when it has a route and may start sending packets. However the main
source of latency in route establishment will be the time spent doing expanding
ring searches.
[15]
22. Screenshot 4.1 : Route after warm-up for 10 seconds
Screenshot 4.2 : Route after warm-up for 15 minutes
[16]
23. 4.3
4.3 AGE GRADIENTS
In order to see how distance is related to encounter age, we have plotted the
empirical conditional mean of the distance between node pairs, conditional upon
their encounter age. The figure shows this empirical mean for the random walk,
over a convenient node density. Each point in this graph was computed by
considering all the node pairs whose last encounter time is within a certain age
interval, and averaging over the distance between these node pairs.
Figure 4.1 : Age gradient, random walk. (Empirical conditional mean of distance, conditional on the encounter age).
We observe that as the encounter age increases, the expected distance
converges to a constant which is on the order of a half side of the square surface.
Therefore, once a node moves toward its second target, its position is already
independent of its starting point. We see that once the stationary regime is reached,
the empirical mean of the distance between two nodes is constant, and therefore
does not vary with the encounter age. After the first two hops we reach a node
whose encounter age lies within the descending area of the age gradient, and we
see that the route makes good progress from there onward.
[17]
24. 5. CONCLUSION & FUTURE SCOPE
We have introduced an algorithm for efficient route discovery in Mobile Ad
Hoc Networks that uses iterated Fresher Encounter SearcHes. A novel aspect of
this algorithm is that it takes advantage of the fact that nodes are moving.
Compared to geographic algorithms, an advantage of our proposal is that it does
not assume any hardware add-ons such as GPS receivers. In developing this project
we have implemented the FRESH algorithm which counts over a variety of
flooding and routing techniques.
Though this project has focused on the application of routing between peer
nodes, we believe that FRESH will have other applications in Ad Hoc networks.
For example, assuming an Ad Hoc network which has one or more gateways to the
wired internet, FRESH could be used by a mobile node to establish a route to the
nearest gateway.
Under a conservative search cost metric, where we assume a naive search
strategy, our simulations indicate that the algorithm reduces the flood overhead by
an order of magnitude in large networks. This is significant since route discovery is
a major source of overhead in Ad Hoc routing protocols. We believe that this route
discovery algorithm may therefore be a useful component in designing routing
protocols that scale to larger number of nodes. The search cost will be further
reduced with an enhanced search strategy which could for example exploit the
directionality of sequential searches.
Future Scope : As part of future work, a full routing protocol incorporating the
ideas described in this project can be developed. One topic that will deserve further
attention is the possibility to trade off better routes in exchange for a higher search
cost, (alternatively to trade off a sub-optimal route for a lower search cost) by
recursively applying FRESH to interior portions of the route. This trade-off
deserves to be adjustable dynamically, since the optimal point will vary widely
depending on the duration of a connection.
[18]
25. 6. REFERENCES
1. Age Matters : Efficient Route Discovery in Mobile Ad Hoc Networks
By Henri Dubois Ferriere, Matthias Grossglauser, Martin Vetterli
School of Computer & Communication Sciences
EPFL
1015 Lausanne, Switzerland
2. Data Communications & Networking
By Behrouz A. Forouzan
3. Computer Networks
By William Stallings
4. Java : The Complete Reference
By Herbert Schildt
[19]