Top Banner
BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010 CHAPTER 1 INTRODUCTION 1.1 About the Project A fundamental problem in mobile ad hoc networks is asymmetry. Asymmetric or unidirectional links arise in the network for several reasons: Devices transmitting with different powers explicitly cause unidirectional links. Even when the devices are transmitting at the same power, noise sources near a device that affect packet reception at that device more than others may create unidirectional links. Finally, other intractable factors such as barriers and environmental conditions that affect signal propagation also lead to asymmetry. Unidirectional Link Routing (UDLR) proposes a protocol that invokes tunneling and encapsulation to send multi-hop acknowledgments at the link layer. However, the protocol does not specify what routes are used for the multi-hop tunnels. Fig. 1.1 A unidirectional ad hoc network. A → B is a unidirectional link, and B → C → A is its reverse route. Dept of ISE, RLJIT 1
63
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 1

INTRODUCTION

1.1 About the Project

A fundamental problem in mobile ad hoc networks is asymmetry. Asymmetric or

unidirectional links arise in the network for several reasons: Devices transmitting with

different powers explicitly cause unidirectional links. Even when the devices are

transmitting at the same power, noise sources near a device that affect packet reception at

that device more than others may create unidirectional links. Finally, other intractable

factors such as barriers and environmental conditions that affect signal propagation also

lead to asymmetry.

Unidirectional Link Routing (UDLR) proposes a protocol that invokes tunneling

and encapsulation to send multi-hop acknowledgments at the link layer. However, the

protocol does not specify what routes are used for the multi-hop tunnels.

Fig. 1.1 A unidirectional ad hoc network. A → B is a unidirectional link, and B → C → A is its reverse route.

Reverse route forwarding is used for finding reverse routes for unidirectional

links in an asymmetric network is non-trivial. While it may appear that a straightforward

application of a standard distance-vector or link-state algorithm will provide the

necessary reverse route information, several problems arise while applying them in an

asymmetric network.

Dept of ISE, RLJIT 1

Page 2: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Switch is a device that channels incoming data from any of multiple input ports to

the specific output port that will take the data toward its intended destination.

Disadvantage: If we use switch between any two networks we need more than

one switch to connect between them and the cost will also increases.

R outer is a device that forwards data packets along networks. A router is

connected to at least two networks, commonly two LANs or WANs or a LAN and its

ISP's network.

Routers are located at gateways, the places where two or more networks connect,

and are the critical device that keeps data flowing between networks and keeps the

networks connected to the Internet. When data is sent between locations on one network

or from one network to a second network the data is always seen and directed to the

correct location by the router.

There are mainly two types of Scheduling namely the system level scheduling

and the application level scheduling. The scheduling system will analyze the load

situation of every node and select one node to run the job. The scheduling policy is to

optimize the total performance of the whole system. If the system is heavily loaded, the

scheduling system has to realize the load balancing and increase the throughput and

resource utilization under restricted conditions. This kind of scheduling is known as the

system level scheduling.

If multiple jobs arrive within a unit scheduling time slot, the scheduling system

shall allocate an appropriate number of jobs to every node in order to finish these jobs

under a defined objective. Obviously, the objective is usually the minimal average

execution time. This scheduling policy is application-oriented so we call it application-

level scheduling.

Data mining, the extraction of hidden predictive information from large

databases, is a powerful new technology with great potential to help companies focus on

the most important information in their data warehouses.

Dept of ISE, RLJIT 2

Page 3: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 2

LITERATURE SURVEY

This work first presents a simulation study quantifying the impact of asymmetric

links on network connectivity and routing performance. It then presents a framework

called BRA that provides a bidirectional abstraction of the asymmetric network to routing

protocols.

Extensive simulations of AODV layered on BRA show that packet delivery

increases substantially (two-fold in some instances) in asymmetric networks compared to

regular AODV, which only routes on bidirectional links.

Routing with BRA

BRA provides essential services to enable routing on asymmetric

networks. We expect BRA to operate as a sub-layer between the

current routing and the MAC layers in the network stack. If the system

implementation prohibits modifications to the network stack, then BRA

can be integrated with the routing protocol. While this integration will

require changes to the routing protocol, the changes are minimal. BRA

should not be completely transparent, that is, a routing protocol

layered on top of BRA is expected to be aware of the nature of links

they are routing over. This non-transparency allows routing protocols

to use the services of BRA intelligently and only upon necessity.

For instance, a routing protocol that cannot distinguish whether

two nodes are connected through a direct link or a multi-hop reverse

route might mistake the reverse route for a fast, direct-hop route and

route packets through the longer route; such an action may increase

the cost of routing, introduces additional congestion in the network,

and decreases the overall throughput of the system.

The services that BRA offers are: reverse route forwarding (“A

loop free extended Bellman-Ford routing protocol without bouncing effect,”[8]),

reliable packet delivery, and link status monitoring. The rest of

Dept of ISE, RLJIT 3

Page 4: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

this section describes these services in detail. “A Bidirectional Routing

Abstraction for Asymmetric Mobile Ad Hoc Network” [1].

Link-state protocols such as OLSR [2] maintain a view of the

network topology at each node; nodes broadcast their views of the

topology to their neighbors and in turn update their topology views

based on their neighbors’ state. Clearly, with a complete view of the

network, link-state protocols do not have a problem finding routes in an

asymmetric networks. Practical implementations of link-state protocols,

however, maintain partial views in order to reduce the worst-case

message complexity, where denotes the number of nodes; the partial

views may not have sufficient information to handle unidirectional

links. “A tunneling approach used in our project for routing with unidirectional links in

mobile ad hoc networks,” [2].

AODV Algorithm

On-demand protocols such as AODV [3] further decrease the

routing overhead by maintaining routes only when required for

communication.In typical on-demand protocols, a source node S that

requires to communicate with a destination node D first initiates a

route discovery process, where a route request packet (RREQ) is

broadcast typically to the entire network. The destination, or another

intermediate node that knows a route to the destination, sends a route

reply (RREP) back to the source upon receiving the RREQ.

Typically, the RREP is sent along the discovered path in the

reverse direction. The state about the discovered path is either

retained at each intermediate node (as in AODV) or carried along with

each packet (as in DSR). If the current route to the destination breaks,

a process similar to route discovery is performed to repair the route.

“Ad-hoc on demand distance vector (AODV) routing,” [3].

The Distributed Bellman–Ford Algorithm is a well-known

distance-vector algorithm to obtain the shortest routes between pairs

of nodes in a bidirectional network. This algorithm has practical

Dept of ISE, RLJIT 4

Page 5: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

advantages because it works asynchronously and is guaranteed to

converge eventually if the network is not partitioned and remains

stable for sufficient time. “A loop free extended Bellman-Ford routing

protocol without bouncing effect,”[4].

Java have two things: a programming language and a platform. Java The

complete reference [6].

Java is also unusual in that each Java program is both compiled and interpreted.

With a compile you translate a Java program into an intermediate language called Java

byte codes the platform-independent code instruction is passed and run on the computer.

Compilation happens just once; interpretation occurs each time the program is

executed. The figure illustrates how this works.

Figure 2.1 Compilation and Interpretation of Java Program

You can think of Java byte codes as the machine code instructions for the Java

Virtual Machine (Java VM). Every Java interpreter, whether it’s a Java development

tool or a Web browser that can run Java applets, is an implementation of the Java VM.

The Java VM can also be implemented in hardware.

Java byte codes help make “write once, run anywhere” possible. You can compile

your Java program into byte codes on my platform that has a Java compiler. The byte

codes can then be run any implementation of the Java VM. For example, the same Java

program can run Windows NT, Solaris, and Macintosh.

Swing is a set of classes that provides more powerful and flexible components that

are possible with AWT. In addition to the familiar components, such as button

Dept of ISE, RLJIT 5

Java Program

Compilers

Interpreter

My Program

Page 6: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

checkboxes and labels, swing supplies several exciting additions, including tabbed panes,

scroll panes, trees and tables. Java2 The Complete Reference [6].

Applet is a dynamic and interactive program that can run inside a web page

displayed by a java capable browser such as hot java or Netscape [5].

CHAPTER 3

PROBLEM DESCRIPTION

Network asymmetry

Network asymmetry adversely affects routing in several different ways:

1) Connectivity: Asymmetric networks have fundamentally different connectivity than

bidirectional networks. Two nodes may be connected through one or more unidirectional

links requiring an alternative path in the reverse direction. Or worse, they may be

connected in only one direction with no route in the reverse direction. Ignoring the

unidirectional links, and routing solely on the bidirectional links, as many conventional

routing protocols do, mitigates the problem but may instead prevent several connected

nodes from communicating with each other.

2) Routing Protocols: Standard routing protocols often fail to function or function

inefficiently in an asymmetric network. Some routing protocols (e.g., TORA [12]) were

primarily designedfor bidirectional networks and hence break down in the presence of

unidirectional links. Several others (e.g., AODV [14]) function by avoiding the

unidirectional links and routing data only along the bidirectional links. A few other

protocols(e.g., DSR [8]) have the capability to include unidirectional links in their routes

through expensive mechanisms that provide significantly decreased throughput in

asymmetric networks.

3) Link-layer Services: In addition to the routing layer, unidirectional links also pose

several problems at the lower layers such as the data link and the MAC layers. Common

MAC-level schemes for congestion avoidance (RTS-CTS) and packet loss recovery

Dept of ISE, RLJIT 6

Page 7: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

(ACKs) fail for unidirectional links. Moreover, other useful services such as detection of

link breaks and discovery of new neighbors provided by some MAC protocols become

unavailable to the routing protocols.

This paper first presents a simulation study to quantify the impact of asymmetry

on network connectivity and routing performance.

We model three different types of asymmetric networks based on the cause of

asymmetry:

(a) regular links becoming unidirectional due to random irregularities in signal

propagation,

(b) unidirectional links created by external noise sources, and

(c) nodes transmitting at different power.

Our study on asymmetry reveals several surprising insights about connectivity in

asymmetric networks. First, we find that routing solely on bidirectional links is highly

unreliable; while bidirectional connectivity can often be quite good, it may deteriorate

suddenly and cut-off several bidirectional routes leading to a poorly-connected network.

Second, a substantial percentage of unidirectional links have short (one to three hop)

paths connecting them in the reverse direction. Finally, inclusion of such unidirectional

links with short reverse paths significantly increases the stability of the routes and leads to

better connectivity overall, without significant overhead.

The key contribution of this paper is a framework to improve connectivity on

asymmetric networks and support off-the-shelf routing protocols. This framework,

called BRA, uses the in- sights mentioned above to provide a bidirectional abstraction of

the underlying asymmetric network to routing protocols.

BRA takes the approach of discovering and maintaining reverse paths for

unidirectional links. Its core is a novel algorithm called Reverse Distributed Bellman–

Ford Algorithm (RDBFA), which efficiently searches for reverse routes in a bounded

search region around each node.

BRA keeps the overhead of maintaining reverse routes low by dynamically

adjusting the size of the search region, and thereby the length of the reverse routes,

Dept of ISE, RLJIT 7

Page 8: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

independently at each node based on the prevailing extent of asymmetry around that

node.

BRA provides three critical functionalities to facilitate routing in asymmetric

networks. First, it improves connectivity between nodes by finding new or better routes

through unidirectional links. Second, it provides reverse-route forwarding for

unidirectional links, which makes them appear as bidirectional links. This abstraction

enables routing protocols to send control packets (such as notifications about discovered

routes and detected errors) in the reverse direction as it would on symmetric networks.

Finally, it implements critical functionalities that MAC and link layers are often

unable to provide in asymmetric networks; namely, recovery of lost packets sent across

unidirectional links, proactive detection of new neighbors, and notifications about failed

links.

BRA supports conventional off-the-shelf routing protocols with little or no

modifications. In this paper, we do not consider the details of integrating BRA within the

current protocol stack. Rather, we focus on the principles that are needed to provide such

an abstraction but we also provide a proof of concept: the implementation of the well-

known AODV routing protocol using BRA; other implementations can be carried out in a

similar manner.

Extensive evaluation of AODV layered on BRA shows that it obtains a significant

increase in the number of reachable destinations (double in some instances) in typical

asymmetric networks compared to regular AODV, which only routes using bidirectional

links. Moreover, the improved connectivity is obtained at a modest cost and little

difference in los rate and network delay.

Dept of ISE, RLJIT 8

Page 9: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 4

SYSTEM ANALYSIS

System analysis can be defined, as a method that is determined to use the

resources, machine in the best manner and perform tasks to meet the information needs of

an organization.

4.1 System Requirement

Hardware specifications:

Processor : Intel Processor IV

RAM : 128 MB

Hard disk : 20 GB

Monitor : 15’ Samtron color

Keyboard : 108 mercury keyboard

Mouse : Logitech mouse

Software Specification:

Operating System – Windows XP/2000

Language used – J2sdk1.5.0

4.2 System Description

It is also a management technique that helps us in designing a new systems

or improving an existing system. The four basic elements in the system

development life cycle are

Analysis of the System

System Requirement

Dept of ISE, RLJIT 9

Page 10: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Design

Coding

Testing

Implementation

4.3 Existing Method

AODV Algorithm

The Ad hoc On Demand Distance Vector (AODV) routing algorithm is a routing

protocol designed for ad hoc mobile networks. AODV is capable of both unicast and

multicast routing. It is an on demand algorithm, meaning that it builds routes between

nodes only as desired by source nodes. It maintains these routes as long as they are

needed by the sources. Additionally, AODV forms trees which connect multicast group

members. The trees are composed of the group members and the nodes needed to connect

the members. AODV uses sequence numbers to ensure the freshness of routes. It is loop-

free, self-starting, and scales to large numbers of mobile nodes.

AODV builds routes using a route request / route reply query cycle. When a

source node desires a route to a destination for which it does not already have a route, it

broadcasts a route request (RREQ) packet across the network. Nodes receiving this

packet update their information for the source node and set up backwards pointers to the

source node in the route tables.

In addition to the source node's IP address, current sequence number, and

broadcast ID, the RREQ also contains the most recent sequence number for the

destination of which the source node is aware. A node receiving the RREQ may send a

route reply (RREP) if it is either the destination or if it has a route to the destination with

corresponding sequence number greater than or equal to that contained in the RREQ. If

this is the case, it unicast a RREP back to the source. Otherwise, it rebroadcasts the

RREQ. Nodes keep track of the RREQ's source IP address and broadcast ID. If they

receive a RREQ which they have already processed, they discard the RREQ and do not

forward it.

Dept of ISE, RLJIT 10

Page 11: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

As the RREP propagates back to the source, nodes set up forward pointers to the

destination. Once the source node receives the RREP, it may begin to forward data

packets to the destination. If the source later receives a RREP containing a greater

sequence number or contains the same sequence number with a smaller hop count, it may

update its routing information for that destination and begin using the better route.

As long as the route remains active, it will continue to be maintained. A route is

considered active as long as there are data packets periodically travelling from the source

to the destination along that path. Once the source stops sending data packets, the links

will time out and eventually be deleted from the intermediate node routing tables. If a link

break occurs while the route is active, the node upstream of the break propagates a route

error (RERR) message to the source node to inform it of the now unreachable

destination(s). After receiving the RERR, if the source node still desires the route, it can

reinitiate route discovery.

4.4 Proposed System

This proposed system takes care of data transfer between computers of two

networks. Generally, during data transfer between pc of two different networks, a router

will be present in between the networks and it will take care of the scheduling of data

packets between the source and destination computers.

In the router there will be a number of ports and each port will take care of one

data transfer. In each port, there will be a queue for data packets and this is where

scheduling is applied. There are various scheduling algorithms possible to schedule the

packets in each port of the router. The objective of each router is to reduce the congestion

of data transfer.

Here we compare the proposed method with AODV (first-come-first-serve)

scheduling. We show the difference in terms of bandwidth at the router. The Bandwidth

will be kept in a stable condition and hence possibility of congestion and deadlock are

greatly reduced. The queue length is optimally adjusted using Bi-Directional Routing

Algorithm so that queue length is minimized during data transfer in order to keep the

bandwidth at a stable condition.

Dept of ISE, RLJIT 11

Page 12: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

We will first select a certain number of inputs, say, x1, and x2 ... xn belonging to

the input space X. In the GA terminology, each input is called an organism or

chromosome. The set of chromosomes is designated as a colony or population.

Computation is done over epochs. In each epoch the colony will grow and evolve

according to specific rules reminiscent of biological evolution.

To each chromosome xi, we assign a fitness value which is nothing but f (xi).

Stronger individual that is those chromosomes with fitness values closer to the colony

optimal will have greater chance to survive across epochs and to reproduce than weaker

individuals which will tend to perish. In other words, the algorithm will tend to keep

inputs that are close to the optimal in the set of inputs being considered (the colony) and

discard those that under-perform the rest.

The crucial step in the algorithm is reproduction or breeding that occurs once per

epoch. The content of the two chromosomes participating in reproduction are literally

merged together to form a new chromosome that we call a child. This heuristic allows us

to possibly combine the best of both individuals to yield a better one (evolution).

During each epoch, a given fraction of the organisms is allowed to mutate. This

provides a degree of randomness which allows us to span the whole input space by

generating individuals with partly random genes.

Each epoch ends with the deaths of inapt organisms. We eliminate inputs

exhibiting bad performance compared to the overall group. This is based on the

assumption that they're less inclined to give birth to strong individuals since they have

poor quality genes and that therefore we can safely disregard them (selection).

Now that we've outlined the basic principles, let's examine in further detail how

this whole process is accomplished and how the algorithm works in practice. Let's take

the example of optimizing a function f over a space X.

Every input x in X is an integer vector x=(x1, x2... xn). For the sake of simplicity,

assume 0<=xi<=k for i=1...n. In order to implement our Bi-Directional Routing

Algorithm for optimizing f, we first need to encode each input into a chromosome. We

can do it by having log (k) bits per component and directly encoding the value xi (figure

Dept of ISE, RLJIT 12

Page 13: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

4.1). Each bit will be termed gene. Of course, we may choose any other encoding based

on our requirements and the problem at hand.

Figure 4.1 Encoding of input in to genes

At epoch 0, we generate (possibly randomly) an initial set of inputs in X. Then at

each epoch i, we perform fitness evaluation, reproduction, mutation and selection. The

algorithm stops when a specified criterion providing an estimate of convergence is

reached.

Reproduction: At each epoch, we choose a set of chromosomes belonging to the

population that will mate. We choose to call such individuals females. Each female

chooses a random set of potential partners and mates with the fittest of the group (this is

another way of achieving selection). Once two organisms have been chosen for crossover,

we merge their Bi-Directional information in order to create a new organism. The split

position is determined randomly.

Figure 4.2 Reproduction

Mutation: A new organism is created by randomly modifying some of its genes.

This can be done right after reproduction on the newly created child or as a separate

process.

Dept of ISE, RLJIT 13

Page 14: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 4.3 Mutation

Death: Worst performers among the colony are given a high probability of dying

at the end of each epoch. We may also consider eliminating old chromosomes. The

highest performer is immune from death from old age.

Why do BRA Routing algorithm Work

Similarities among the strings with high fitness value suggest a relationship

between those similarities and good solutions.

A schema is a similarity template describing a subset of strings with similarities at

certain string positions.

Crossover leaves a schema unaffected if it doesn't cut the schema.

Mutation leaves a schema unaffected with high probability (since mutation has a

low probability).

Highly-fit, short schemas (called building blocks) are propagated from generation

to generation with high probability.

Competing schemata are replicated exponentially according to their fitness value.

Good schemata rapidly dominate bad ones.

The effectiveness of the search depends on the population size and the number of

generations.

The larger the population, the more likely that our initial population is

representative of the search space, and the more likely that a probabilistic survival of the

fittest mechanism produces the expected outcomes.

Dept of ISE, RLJIT 14

Page 15: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Each successive generation should improve the fitness of the result, so longer runs

usually produce better solutions.

Bi-Directional Routing Algorithm application level scheduling algorithm

generates the initial population, evaluates each individual’s fitness, and performs Bi-

Directional operations on the individuals with high fitness such copying, crossover and

mutation, to generate a new population. The Bi-Directional process continues with the

new population until a nearly optimal jobs assignment strategy is obtained. Finally, the

jobs are assigned to each node based on the strategy.

The connection to a resource is limited and a limited service is provided to the

jobs. The scheduling policies used are the greedy algorithm which assigns the resources

as and when it is found.

Suppose that there are three data servers {S1, S2, S3}, each having two available

connections. Let S1 have resources {r1, r2, r3, r4} and both S2 and S3 have resources

{r1, r2, r5, r6}. Suppose the scheduler has four tasks each processing one of the

resources. Each task with no contention, run for one hour. A greedy scheduler could

allocate the two connections of S1 for running the resources r1 and r2. The running time

is two hours as the other tasks cannot be run.

The parameters to be considered in job scheduling are the following

Total execution time is the time between the beginning of execution of the first job of

a series and completion of the last job.

Average turnaround time is the average, for each job from when the job arrives to

when the job finished.

Parallel BRA Routing algorithm PGA has the same advantage as a serial BRA

Routing algorithm, consisting in using representation of the problem parameters,

robustness, easy customization for a new problem and multiple solution capabilities. PGA

Dept of ISE, RLJIT 15

Page 16: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

is usually faster, less prone to finding only sub-optimal solutions, and able of cooperating

with other search techniques in parallel. PGA can be divided into global, fine grained,

coarse grained and hybrid models.

The advantages of using PGA as stated in are

Parallel search from multiple points in a space

Works on a coding of the problem.

Can yield alternate solutions to the problem.

Better search even if no parallel hardware is used.

Higher efficiency and efficacy than sequential BRA Routing algorithms.

The global single population master slave Bi-Directional Routing Algorithm tells

the master stores the population, executes the Bi-Directional operators, and distributes

individuals to the slaves. The slave evaluates the fitness of the individual and reports the

fitness value to the master.

4.5 Algorithm design

We propose a model of the scheduling algorithm where the scheduler can learn

from the previous experiences.

We assume that the resource a job needs are in a location and not split over nodes.

Each node that has a resource runs a fixed number of jobs. This paper is limited to the

application level scheduling and does not discuss system level scheduling.

A type of parallel Bi-Directional Routing Algorithm is used called the Global

single population master slave BRA Routing algorithm. Selection and crossover are

considered in the entire population; each individual may compete and mate.

A binary encoding is used to convert the scheduling problem to chromosomes

and each chromosome has genes. Here the efficiency may be high if the same jobs have

to be scheduled.

Dept of ISE, RLJIT 16

Page 17: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

The scheduler starts with no prior information about the jobs at first, after each

allocation the information is stored to the history base.

The next time the job of specific requirement comes a different combination is

tried according to the resource availability and if the execution time is lower then it is

recorded. This is called the learning phase.

If a new job which has not yet scheduled by the scheduler, then the system is put

to a brief learning phase again.

The encoding process is done by assuming that a chromosome has the following

gene structure.

Chromosome {gene1, gene2, gene3}

Gene1 is the job identifier.

Gene2 is the resource identifier.

Gene3 is the node identifier.

The fitness function f is the execution time of that job at the node. The population

generation is done by assigning binary set values for each of the genes.

Job A may be encoded as 00 and job B may be encoded as 01 and so on. The same

method can be used to represent all genes.

The sample population may have individuals like 00 01 10. After the population is

built in the learning phase, the fitness of the individual is recorded as the execution time

of the job at the node. The next time the same job is to be scheduled the history

information is checked and a new gene combination is found and job scheduled and the

fitness recorded. After time T the Bi-Directional operator of crossover is applied and the

individuals of the same job type are selected for crossover.

For example genes

00 01 | 10 20 ms

00 01 | 11 15 ms

The above representation says that job A which needed resource X has an

execution time of 20 ms in node n2 and 15 ms in node n3. The dotted lines indicate the

crossover point.

Dept of ISE, RLJIT 17

Page 18: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

After cross over 00 01 11 15 ms. the parallel Bi-Directional Routing Algorithm is

used to evaluate in a way that the scheduler stores the population, executes Bi-Directional

operations and distributes individuals to the nodes. The nodes evaluate the fitness of the

individual.

The proposed algorithm is given below

Procedure for the learning phase

{

Create the population by encoding the problem.

Add chromosome to the history if it does not exist in the history

Else

Try a different combination of genes.

}

If job details available in history

Then

If the resource availability

Then send the job to the node

Else

Try a different resource if it is available.

Else

Initiate the learning procedure

After time T apply the Bi-Directional Operators on the history information.

Dept of ISE, RLJIT 18

Page 19: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 5

SYSTEM DESIGN

Design is concerned with identifying software components specifying

relationships among components. Specifying software structure and providing blue print

for the document phase.

Modularity is one of the desirable properties of large systems. It implies that the

system is divided into several parts. In such a manner, the interaction between parts is

minimal clearly specified.

Design will explain software components in detail. This will help the

implementation of the system. Moreover, this will guide the further changes in the system

to satisfy the future requirements.

5.1 Form design

Form is a tool with a message; it is the physical carrier of data or information.

The form is design in such a way that the simulated networks of computers connected

through router. The button is provided to invoke the network model. When this button is

clicked the two different networks are formed as Network 0 and network 1. In between

we have router.

Dept of ISE, RLJIT 19

Page 20: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 5.1 form design

SWINGS:

Swing is a set of classes that provides more powerful and flexible components

than are possible with the AWT. In addition to that the familiar components such as

buttons, check box and labels swings supplies several exciting additions including tabbed

panes, scroll panes, trees and tables.

Even familiar components such as buttons have more capabilities in swing. For

example a button may have both an image and text string associated with it. Also the

image can be changed as the state of button changes.

Unlike AWT components swing components are not implemented by platform

specific code instead they are return entirely in JAVA and, therefore, are platform-

independent. The term lightweight is used to describe such elements. The number of

classes and interfaces in the swing packages is substantial.

Dept of ISE, RLJIT 20

Page 21: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

SWINGS COMPONENT CLASSES:

JApplet - swing version of Applet, supports various “panes”. The add()

method of the container can be used to add a component to the content pane.

Void add(comp)

Here, comp is the component to be added to the content pane.

Object Hierarchy:

Component

+------Container

+------Panel

+------Applet

+------JApplet

JFrame- It is a Standard top level window with title bar, close, minimize,

maximize and restore buttons and a System menu.

Void add(comp)

Here,comp is the component to be added to the content pane.

Creating a Frame:

JFrame frmMain=new JFrame(strTitle);

Setting Parameters for Frame:

frmMain.setResizable(false);

frmMain.setBounds(frmLeft,frmTop,frmWidth,frmHeight);

frmMain.getContentPane().setLayout(null);

frmMain.setDefaultCloseOperation(EXIT_ON_CLOSE);

Object Hierarchy:

Dept of ISE, RLJIT 21

Page 22: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Component

+------Container

+------Panel

+------Applet

+------JApplet

+------JFrame

JLabel – It displays text and/or icon.

Details:

Jlabel(Icon i)

Is a constructor which labels the specified icon.

Void setText(String s)

Is a method that will give a name to the label as specified by user.

Creating a JLabel:

JLabel lblNodeCount=new JLabel("");

Void add(comp)

Here, comp is the component i.e. JLabel to be added to the content pane.

JLabel is added to the JFrame by the following Code:

frmMain.getContentPane().add(lblNodeCount);

Object Hierarchy:

Component

+------Container

+------Panel

+------Applet

+------JApplet

+------JFrame

+------JLabel

JButton- It provides a functionality of a push button.

Dept of ISE, RLJIT 22

Page 23: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 5.2 Jbutton for adding nodes

Details:

JButton(Icon icon)

JButton(String str)

JButton(String str,Icon icon)

Str and icon are string and icon used for button.

Creating JButton:

JButton btAddNodes=new JButton("Add Nodes");

Void add(comp)

Here, comp is the component i.e. JButton to be added to the content pane.

JButton is added to the JFrame by the following Code:

btAddNodes.setBounds(frmWidth-160-30,30,160,22);

btAddNodes.addActionListener(this);

frmMain.getContentPane().add(btAddNodes);

Object Hierarchy:

Component

+------Container

+------Panel

+------Applet

+------JApplet

+------JFrame

+------JButton

JScrollPane- JScrollpane is a lightweight container that automatically handles the

scrolling of another component. The component being scrolled can be an individual

component, such as a table or Jpanel.

Dept of ISE, RLJIT 23

Page 24: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Details:

JScrollPane(Component comp)

The component to be scrolled is specified by comp.

Creating ScrollPane:

JScrollPane spInput=new JScrollPane(txtInput);

Void add(comp)

Here, comp is the component i.e. JScrollPane to be added to the content

pane.

JScrollpane is added to the JFrame by the following Code:

spInput.setBounds(frmWidth-160-30,60,160,60);

spInput.setColumnHeaderView(new JLabel("Input:"));

frmMain.getContentPane().add(spInput);

Object Hierarchy:

Component

+------Container

+------Panel

+------Applet

+------JApplet

+------JFrame

+------JScrollPane

JTextField- JTextField is the simplest Swing text component. JTextField allows

to edit one line of text. It is derived from JTextComponent, which provides basic

functionality common to Swing text components.

Details:

Dept of ISE, RLJIT 24

Page 25: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

JTextField(int cols)

JTextField(String str, int cols)

JTextField(String str)

Here str is the String to be initially presented and cols is the number of

columns in the text field.

Creating Text Field:

JTextField txtSourceDataSize=new JTextField("2048");

Void add(comp)

Here, comp is the component i.e. JTextField to be added to the content

pane.

JTextField is added to the JFrame by the following Code:

frmParameters.getContentPane().add(txtSourceDataSize);

Object Hierarchy:

Component

+------Container

+------Panel

+------Applet

+------JApplet

+------JFrame

+------JTextField

Now when you click the source and destination computer, the path between them

is drawn by invoking the algorithms called first Come First serve and Bi-Directional

Routing Algorithm for scheduling packet data transfer across the network.

The comparative study is also projected to the user, to check the efficiency of BRA

Routing algorithm.

Dept of ISE, RLJIT 25

Page 26: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

EVENT LISTENER Interfaces:

ACTION Listener-This interface defines actionperformed() method that is

invoked when an action event occurs.

void actionPerformed(ActionEvent ae)

This Listener is added to the frame by the following definition:

frmMain.addActionListener(this);

This Listener is invoked when Buttons ADD NODES, AODV or BRA is

Clicked.

Then actionPerformed method is invoked automatically.

MOUSELISTENER Interface-This interface defines five methods. If mouse

is pressed and released at the same point, mouseClicked() is invoked . When

mouse Enters a component, mouseEntered() method is invoked. When it

leaves mouseExited() is invoked. ThemosePressed() and mouseReleased()

is invoked when mouse is pressed and released respectively.

void mouseClicked(MouseEvent me)

void mouseEntered(MouseEvent me)

void mouseExited(MouseEvent me)

void mousePressed(MouseEvent me)

void mouseReleased(MouseEvent me)

mouseClicked() is invoked when mouse is clicked on one of the nodes in the

network.

MOUSEMOTIONLISTENER Interface-This interface defines two

methods.

The mouseDragged() method is invoked when mouse is dragged.

The mouseMoved() method is invoked when mouse is moved.

void mouseDragged(MouseEvent me)

void mouseMoved(MouseEvent me)Dept of ISE, RLJIT 26

Page 27: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

mouseMoved() is invoked when mouse is moved on the main frame.

5.2 Input design

Inaccurate input data is the most common case of errors in data processing.

Errors entered by data entry operators can control by input design.

Input design is the process of converting user-originated inputs to a computer-

based format. Input data are collected and organized into group of similar data.

Figure 5.3 input design

5.3 Module Design

Simulated Model:

The simulated model of network is constructed by keeping group of computer as

Network 0 and Network 1. In between the two network the router is placed from where

the data from one network flows to other network.

First Come First Serve Algorithm:

Dept of ISE, RLJIT 27

Page 28: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

The packet transfer between the networks in implemented using AODV

algorithm.

private void AODV(PathCollection tpaths)

{

int totalsize=Integer.parseInt(txtSourceDataSize.getText())*1024;

int speed=Integer.parseInt(txtLinkSpeed.getText())*1024;

int qlength=600; //cells (packets)

int packetlength=32; //one packet=32 bytes

int unitsize=packetlength*qlength,tbandwidth=0;

//determine data transfer speed

unitsize=(int)((double)speed*(1.0-(double)0.7));

long tstart=System.currentTimeMillis();

initializeGraph();

xmaxmain=(int)((double)totalsize/(double)unitsize);

for(int i=0,tindex=0;i<tpaths.size();i++)

{

Path tpath=tpaths.getPath(i);

int delivered=0;

while(delivered<totalsize)

{

for(int t=0;t<tpath.size();t++)

{

if(t>0)

{

int node1=tpath.getNode(t-1);

int node2=tpath.getNode(t);

g.setColor(new Color(255,0,0));

drawPath(node1,node2);

delivered+=unitsize;

if(delivered>=totalsize) break;

long tend=System.currentTimeMillis();

doubleseconds=((double)(tendtstart))/(double)1000;

Dept of ISE, RLJIT 28

Page 29: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

double trate=((double)delivered/(double)tseconds);

tbandwidth=(int)(trate/1024.0);

showDelivered(delivered,tbandwidth);

drawGraph(tindex,tbandwidth,0);

tindex+=1;

}

Globals.wait(Globals.DataTransferDelay);

}

showPaths(tpaths);

}

delivered=totalsize;

showDelivered(delivered,tbandwidth);

}

frmMain.setTitle(strTitle);

displayStatus();

}

Dept of ISE, RLJIT 29

Page 30: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 5.4 Output of AODV algorithm

BRA routing algorithm:

The packet transfer between the networks in implemented using BRA Routing

algorithm. The algorithm details were discussed in proposed system design.

private void BRA(PathCollection tpaths)

{

int totalsize=Integer.parseInt(txtSourceDataSize.getText())*1024;

int speed=Integer.parseInt(txtLinkSpeed.getText())*1024;

int qlength=600; //cells (packets)

int packetlength=32; //one packet=32 bytes

int unitsize=packetlength*qlength,tbandwidth=0;

//determine data transfer speed

unitsize=(int)((double)speed*(1.0-(double)0.85));

long tstart=System.currentTimeMillis();

initializeGraph();

xmaxmain=(int)((double)totalsize/(double)unitsize);

Dept of ISE, RLJIT 30

Page 31: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

for(int i=0,tindex=0;i<tpaths.size();i++)

{

Path tpath=tpaths.getPath(i);

int delivered=0;

while(delivered<totalsize)

{

for(int t=0;t<tpath.size();t++)

{

if(t>0)

{

int node1=tpath.getNode(t-1);

int node2=tpath.getNode(t);

g.setColor(new Color(255,0,0));

drawPath(node1,node2);

delivered+=unitsize;

if(delivered>=totalsize) break;

long tend=System.currentTimeMillis();

double tseconds=(double)(tendtstart)(double)100;

double trate= ((double)delivered/(double)tseconds);

tbandwidth=(int)(trate/1024.0);

showDelivered(delivered,tbandwidth);

drawGraph(tindex,tbandwidth,0);

tindex+=1;

}

Globals.wait(Globals.DataTransferDelay);

}

showPaths(tpaths);

}

delivered=totalsize;

showDelivered(delivered,tbandwidth);

}

frmMain.setTitle(strTitle);

displayStatus();

}

Dept of ISE, RLJIT 31

Page 32: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 5.5 Output of BRA algorithm

5.4 Project Result and Comparison:

Drawing the path between source and destination shows the data transfer between

the network of source and destination. For drawing the path, the points across the network

are also collected. The comparison of two algorithm result are displayed to the user in

separate frame to see the efficiency of BRA routing algorithm.

Figure 5.6 Comparison graph for AODV and BRA

Dept of ISE, RLJIT 32

Page 33: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

Figure 5.7 Status and Result for AODV and BRA algorithm

Dept of ISE, RLJIT 33

Page 34: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

5.5 Data Flow Diagram:

In this data flow diagram we are adding the nodes to the networks by clicking on

add nodes button and taking input parameters from parameter frame such as source data

size and link speed. After that nodes are added to the networks. Now we select the source

and destination nodes from each networks. Then we select any one of the algorithm such

as AODV or BRA for routing of packets from source to destination. Finally we will get

the status, result and comparison graph for the above algorithms.

Figure 5.8 Data flow diagram

Dept of ISE, RLJIT 34

ADD NODESINPUT PARAMETERS:SOURCE DATA SIZELINK SPEED

NETWORK1SELECT SOURCE / DESTINATION NODES

NETWORK 2SELECT SOURCE / DESTINATION NODES

AODVMODULE

BRA MODULE

STATUS:DELIVERED BYTESBANDWIDTH AT ROUTERRESULT:TIME TAKEN IN SECONDS

COMPARISION GRAPH FOR AODV AND BRA

Page 35: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

5.6 USE CASE DIAGRAM:

User selects source and destination nodes from both the networks. Here we use the

router to communicate between two networks for transmission of packets from source to

destination.

Figure 5.9 Use case diagram

Dept of ISE, RLJIT 35

NETWORK 1SOURCE/DESTINATION

ROUTER

NETWORK 2SOURCE/DESTINATION

Page 36: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 6

IMPLEMENTATION AND TESTING

6.1 Implementation

Implementation includes all those activities that take place to convert from the old

system to the new. The new system may be totally new, replacing an existing system or it

may be major modification to the system currently put into use. This application

implemented with simulation model of computer network, constructed along with the

router.

The options are given to invoke the AODV and BRA Routing algorithm. The path

between source and destination were drawn and the result of both algorithms is discussed.

6.2 Software Testing

Software Testing is the process of confirming the functionality and correctness of

software by running it. Software testing is usually performed for one of two reasons:

1. Defect detection

2. Reliability estimation.

White box testing is concerned only with testing the software product; it cannot

guarantee that the complete specification has been implemented. White box testing is

testing against the implementation and will discover faults of commission, indicating that

part of the implementation is faulty.

Black box testing is concerned only with testing the specification; it cannot

guarantee that all parts of the implementation have been tested. Thus black box testing is

testing against the specification and will discover faults of omission, indicating that part

of the specification has not been fulfilled.

In order to fully test a software product both black and white box testing are required.

Dept of ISE, RLJIT 36

Page 37: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

The problem of applying software testing to defect detection is that software can

only suggest the presence of flaws, not their absence (unless the testing is exhaustive).

The problem of applying software testing to reliability estimation is that the input

distribution used for selecting test cases may be flawed. In both of these cases, the

mechanism used to determine whether program output is correct is often impossible to

develop. Obviously the benefit of the entire software testing process is highly dependent

on many different pieces. If any of these parts is faulty, the entire process is

compromised.

Software is now unique unlike other physical processes where inputs are received

and outputs are produced. Where software differs is in the manner in which it fails. Most

physical systems fail in a fixed (and reasonably small) set of ways. By contrast, software

can fail in many bizarre ways. Detecting all of the different failure modes for software is

generally infeasible.

The key to software testing is trying to find the myriad of failure modes –

something that requires exhaustively testing the code on all possible inputs. For most

programs, this is computationally infeasible. It is commonplace to attempt to test as many

of the syntactic features of the code as possible (within some set of resource constraints)

are called white box software testing technique. Techniques that do not consider the

code’s structure when test cases are selected are called black box technique.

Functional testing is a testing process that is black box in nature. It is aimed at

examine the overall functionality of the product. It usually includes testing of all the

interfaces and should therefore involve the clients in the process.

Final stage of the testing process should be System Testing. This type of test

involves examination of the whole computer system, all the software components, all the

hard ware components and any interfaces.The whole computer based system is checked

not only for validity but also to meet the objectives.

Dept of ISE, RLJIT 37

Page 38: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

CHAPTER 7

CONCLUSION

The proposed system is designed to implement the data transfer between the

computer networks by predictive job scheduling algorithm. The objective of keeping

router is to reduce the congestion of data transfer. The system compares the proposed

method with AODV scheduling. We show the difference in terms of bandwidth at the

router. Bandwidth will be kept in a stable condition and hence possibility of congestion

and deadlock are greatly reduced. The queue length is optimally adjusted using BRA so

that queue length is minimized during data transfer in order to keep the bandwidth at a

stable condition. Graph is also drawn to show the difference of bandwidth.

This project presents a bidirectional routing abstraction (BRA) to handle

unidirectional links that arise frequently in mobile ad hoc networks. BRA provides

routing protocols with the familiar bidirectional abstraction that they are typically

designed for and thus enables them to operate efficiently on asymmetric networks.

Internally, however, it actively uses both unidirectional and bidirectional links to 1) find

symmetric routes more effectively than conventional techniques; 2) find new, asymmetric

routes substantially increasing the reach ability of the network; and 3) find alternate

routes with shorter path length.

Finally, it showed through extensive evaluation how a typical routing protocol,

such as the well-known AODV, layered on BRA achieves superior connectivity in

asymmetric networks.

Dept of ISE, RLJIT 38

Page 39: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

APPENDIX A

ACRONYMS

AODV - Ad hoc On Demand Distance Vector

AWT - Abstract Window Toolkit

BRA - Bi-Directional Routing Abstraction

MAC - Media Access Control

PGA - Parallel Genetic Algorithm

RDBFA - Reverse Distributed Bellman-Ford Algorithm

RREP - Route Reply

RREQ - Route Request

RRER - Route Error

UDLR - Uni - Directional Link Routing

Dept of ISE, RLJIT 39

Page 40: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

APPENDIX- B

SCREEN SHOTS

This is the first screen we view after executing the project, next we are going to

show how to add the nodes to the networks.

MAIN FRAME

PARAMETERS FRAME

COMPARISON FRAME

Dept of ISE, RLJIT 40

Page 41: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

DISPLAYING THE NETWORK NODES

Here we are showing the nodes added to the networks.

Dept of ISE, RLJIT 41

Page 42: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

SELECTION OF SOURCE AND DESTINATION NODES

Here we will select source and destination nodes from both networks by left

clicking the node for source and right clicking the node for destination.

Dept of ISE, RLJIT 42

Page 43: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

PACKETS TRANSMISSION USING AODV ALGORITHM

After selecting the nodes we go for AODV algorithm to transmit the packets from

source to destination. The corresponding Status and Results are displayed for AODV

algorithm.

COMPARISION GRAPH FOR AODV ALGORITHM

The comparison graph shows the variation of Bandwidth at router for AODV algorithm.

Dept of ISE, RLJIT 43

Page 44: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

PACKETS TRANSMISSION USING BRA ALGORITHM

After selecting the nodes we go for BRA algorithm to transmit the packets from

source to destination. The corresponding Status and Results are displayed for BRA

algorithm.

COMPARISION GRAPH FOR BRA ALGORITHM

The comparison graph shows the variation of Bandwidth at router for BRA algorithm.

Dept of ISE, RLJIT 44

Page 45: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

MULTIPLE JOB SCHEDULING USING AODV ALGORITHM

Here we show the transmission of packets from multiple sources to multiple destinations.

Dept of ISE, RLJIT 45

Page 46: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

MULTIPLE JOB SCHEDULING USING BRA ALGORITHM

Here we show the transmission of packets from multiple sources to multiple destinations.

BIBILOGRAPHYDept of ISE, RLJIT 46

Page 47: FINAL1

BIDIRECTIONAL ROUTING ABSTRACTION FOR ASYMMETRIC MOBILE ADHOC NETWORKS 2009-2010

[1] BRA: A Bidirectional Routing Abstraction for Asymmetric Mobile Ad Hoc

Network by Venugopalan Ramasubramanian and Daniel Mossé.

[2] S.Nesargi and R. Prakash, “A tunneling approach to routing with unidirectional

links in mobile ad hoc networks”.

[3] C. E. Perkins, E. M. Royer, and S. R. Das, “Ad-hoc on demand distance vector

(AODV) routing”.

[4] C. Cheng, R. Riley, S. Kumar, and J. Garcia-Lunes-Aceves, “A loopfree extended

Bellman-Ford routing protocol without bouncing effect”.

[5] The complete reference by Tim O'Brien, John Casey.

[6] JAVA 2 : The Complete Reference by Herbert Schildt.

Dept of ISE, RLJIT 47