o c t o p u s scalable routing protocol for wireless ad hoc networks
Post on 13-Jan-2016
34 Views
Preview:
DESCRIPTION
TRANSCRIPT
04/21/23 1
O C T O P U SO C T O P U S
Scalable Routing ProtocolScalable Routing Protocol For Wireless Ad Hoc For Wireless Ad Hoc
NetworksNetworks
- Lily Itkin - Evgeny Gurevich - Inna Vaisband -- Lily Itkin - Evgeny Gurevich - Inna Vaisband -
Lab Chief Engineer: Dr. Ilana DavidLab Chief Engineer: Dr. Ilana DavidInstructor: Roie MelamedInstructor: Roie Melamed
04/21/23 2
Proactive protocolsProactive protocols continuously updates the “reachability” continuously updates the “reachability”
information at all the network nodesinformation at all the network nodes when a route is requested, it is immediately when a route is requested, it is immediately
availableavailable Problem:Problem: waste wireless resourceswaste wireless resources for handling frequent for handling frequent
updates, especially for large, highly mobile networksupdates, especially for large, highly mobile networks Reactive protocolsReactive protocols
discover routes discover routes onlyonly upon demand upon demand involve some sort of “global search” which can involve some sort of “global search” which can
causes a significant delaycauses a significant delay Problem:Problem: very slow, high overhead for each requestvery slow, high overhead for each request
Octopus - Hybrid protocol - Octopus - Hybrid protocol - combines the combines the advantages of both approachesadvantages of both approaches Cheap maintenance of the proactive part (Core Cheap maintenance of the proactive part (Core
module)module) Low-overhead location time - reactive part (FL Low-overhead location time - reactive part (FL
module)module) Simple protocolSimple protocol
Location Based Routing Location Based Routing ProtocolsProtocols
04/21/23 3
Octopus’ GridOctopus’ Grid The space is divided to horizontal and vertical The space is divided to horizontal and vertical
stripsstripsThe division is related to a (0,0) point and not The division is related to a (0,0) point and not affected by the nodes’ locationsaffected by the nodes’ locations
100 200 300 400 500 600
100
200
300
400
Each node knows its vertical and horizontal Each node knows its vertical and horizontal stripsstrips
a
i
f
ec
g h
db j
04/21/23 4
Core Module: The Neighbor Core Module: The Neighbor ListList
(proactive part)(proactive part) Each node in a range of 250m receives this Each node in a range of 250m receives this
message and updates its one-hop neighbor list message and updates its one-hop neighbor list accordingly.accordingly.
a
i
100 200 300 400 500 600
100
200
300
400
f
ec
g h
db j
updates the list
updates the list
updates the list
updates the list
updates the list
updates the list
updates the list
updates the list
updatesthe list
updatesthe list
Every timeout, each node broadcasts its ID and Every timeout, each node broadcasts its ID and location. location.
04/21/23 5
Core Module: The Strips DBCore Module: The Strips DB(proactive part)(proactive part)
a
i
f
ec
g h
db j
100 200 300 400 500 600
100
200
300
400
At the end, the east table of node a is {b, c, d, e, At the end, the east table of node a is {b, c, d, e, j}.j}.
j,e,dj,e,d,cj,e,d,c,bj,e,d,c,b,a
End Node j initiates the update of its strip.End Node j initiates the update of its strip.
04/21/23 6
FL Module: Locating the FL Module: Locating the TargetTarget
(reactive part)(reactive part) Example: Node b wants to transmit data to node Example: Node b wants to transmit data to node
h, whose location node b doesn’t knowh, whose location node b doesn’t know
a
f
ec
g h
db j
100 200 300 400 500 600
100
200
300
400
h?
h?
h!h!
start communicating
source
access target
04/21/23 7
Project WorkflowProject Workflow
Analyzing resultsAnalyzing results•building relevant building relevant tables/graphstables/graphs•extracting bottle-neck extracting bottle-neck parametersparameters
Start PointStart PointImplementatioImplementation of the basic n of the basic algorithmalgorithm
(Project I)(Project I)
SimulationsSimulations•writing scriptswriting scripts•executing scriptsexecuting scripts
Code UpdatesCode Updates•designdesign•implementationimplementation•testingtesting
Finding SolutionFinding Solution•functionality functionality updates/additionsupdates/additions•design optimizationsdesign optimizations•system/algorithm system/algorithm parametersparameters
04/21/23 8
Functionality Functionality Updates/Additions MotivationUpdates/Additions Motivation
Low success rates (on large grids):Low success rates (on large grids): entries found by Find Location module (found entries found by Find Location module (found
~ 85%)~ 85%) reply queries returned to the source node reply queries returned to the source node
(replied ~ 80%)(replied ~ 80%) targets reached from source (received ~ 65%)targets reached from source (received ~ 65%)
Functionality Functionality Updates/Additions MotivationUpdates/Additions Motivation
Low success rates (on large grids):Low success rates (on large grids): entries found by Find Location module (found entries found by Find Location module (found
~ 85%)~ 85%) reply queries returned to the source node reply queries returned to the source node
(replied ~ 80%)(replied ~ 80%) targets reached from source (received ~ 65%)targets reached from source (received ~ 65%)
04/21/23 9
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Sending directionsSending directions [1 direction] x [4 sendings] (default) [1 direction] x [4 sendings] (default)
Four directions (North, South, West, East) are being Four directions (North, South, West, East) are being scanned one after another - one direction at a timescanned one after another - one direction at a time
[2 directions] x [2 sendings] (optimization)[2 directions] x [2 sendings] (optimization)Four directions are being scanned in pairs (North + Four directions are being scanned in pairs (North + South, West + East)South, West + East)
[4 directions] x [1 sending] (optimization) [4 directions] x [1 sending] (optimization) Four directions (North, South, West, East) are being Four directions (North, South, West, East) are being scanned simultaneouslyscanned simultaneously
[2 directions] x [4 sendings] (optimization) [2 directions] x [4 sendings] (optimization) Eight directions are being scanned in pairs (North + Eight directions are being scanned in pairs (North + South, North-East + South-West, West + East, South-South, North-East + South-West, West + East, South-East + North-West)East + North-West)
[4 directions] x [2 sendings] (optimization) [4 directions] x [2 sendings] (optimization) Eight directions are being scanned by quartets (North Eight directions are being scanned by quartets (North + South + West + East, North-East + South-West + + South + West + East, North-East + South-West + South-East + North-West)South-East + North-West)
04/21/23 10
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
ConsiderationsConsiderations Scanning less directions each time (e.g. 1 x 4, 1 x Scanning less directions each time (e.g. 1 x 4, 1 x
8)8) increases the average search timeincreases the average search time decreases the found success rate, because of the decreases the found success rate, because of the
chance that the searched chance that the searched mobile mobile node will move to the node will move to the area that is not in the currently searched directionarea that is not in the currently searched direction
Scanning more directories each time (e.g. 4 x 1, Scanning more directories each time (e.g. 4 x 1, 8 x 1)8 x 1)
overhead in resources overhead in resources high success rateshigh success rates
ConclusionConclusion The total number of sending directions and The total number of sending directions and
number of directions sent simultaneously should number of directions sent simultaneously should be determined according to user’s request and be determined according to user’s request and resourcesresources
04/21/23 11
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Reply routing modesReply routing modesAs soon as the searched node is located, the source As soon as the searched node is located, the source should be informed. This can be done in 2 ways:should be informed. This can be done in 2 ways:
by GF algorithm (default)by GF algorithm (default) by FL_REPLY algorithm (optimization)by FL_REPLY algorithm (optimization)
ConsiderationsConsiderations Default: the natural way to implement the reply to Default: the natural way to implement the reply to
source is via Geographic Forwarding, because the source is via Geographic Forwarding, because the location of the source is known in the moment of location of the source is known in the moment of the replythe reply
Problem: the accessibility of the access node from Problem: the accessibility of the access node from the source via the source via FLFL ensures the accessibility of the ensures the accessibility of the source from the access node via source from the access node via FL FL (in static (in static mode), but does not necessary means the source mode), but does not necessary means the source will be reached from the access node using will be reached from the access node using GFGF
ConclusionsConclusions The empiric results determined that there is no The empiric results determined that there is no
significant difference between the methods, which significant difference between the methods, which means that the problem appears only in very means that the problem appears only in very specific configurationsspecific configurations
04/21/23 12
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
100 200 300 400 500 600
100
200
300
400
a
f e
cd
bFL
FL
FL
GF
Example: Example: Node a (source) wants to send data to node e Node a (source) wants to send data to node e
(target)(target) Node e (target) located by node d (access) via Node e (target) located by node d (access) via
FLFL The reply from node d (access) to node a The reply from node d (access) to node a
(source) via GF fails(source) via GF fails
source access
target
04/21/23 13
Establishing connections modesEstablishing connections modes100 200 300 400
100
200
300
100 200 300 400
100
200
300
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
a
g h
source
acce
ss
target
initiates communicating
a
g h
acce
ss
target
initiates communicating
source
source – access – targetsource – access – target(without reply)(without reply)request is sent directly request is sent directly from the access node to from the access node to the target node, which the target node, which initiates communication initiates communication with the sourcewith the source
source – access – source – source – access – source – target target (with reply) (with reply) the access node replies to the access node replies to the source node, which the source node, which initiates communication initiates communication with the targetwith the target
04/21/23 14
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
ConclusionConclusion The empiric results determined that the rate of the The empiric results determined that the rate of the
received packets without reply is significantly higher than received packets without reply is significantly higher than the rate of the received packets with replythe rate of the received packets with reply
F O U N D A N D R E C E I V E D S U C C E S S R A T E SW I T H / W I T H O U T R E P L Y
70
80
90
100
1.0 1.5 2.0 2.5
grid space - side length [km]
succ
ess
ra
te [%
] found
received - without reply
received - with reply
04/21/23 15
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Absolute/Estimated LocationAbsolute/Estimated LocationThere are several options of treating the location to which There are several options of treating the location to which data should be sent, considering the mobility of the system data should be sent, considering the mobility of the system nodes:nodes: The specified location is the most reliable, although was The specified location is the most reliable, although was
supplied some time ago. Data is sent to the specified supplied some time ago. Data is sent to the specified location (default)location (default)
The specified location is not reliable enough. An The specified location is not reliable enough. An estimated location is calculated based on specified estimated location is calculated based on specified location, target’s velocity (a vector) and time since the location, target’s velocity (a vector) and time since the location was supplied. Data is sent to the estimated location was supplied. Data is sent to the estimated location (optimization)location (optimization)
Basic assumptions:Basic assumptions: The velocity of each node is constant during all time of the The velocity of each node is constant during all time of the
simulation.simulation. A node changes direction only when it reaches the A node changes direction only when it reaches the
randomly predefined destination.randomly predefined destination. The grid is large enough, so nodes rarely change direction.The grid is large enough, so nodes rarely change direction.
Estimation:Estimation: The location can estimated once – at the moment the The location can estimated once – at the moment the
sending is originatedsending is originated The location can be re-estimated after each hop on the The location can be re-estimated after each hop on the
route from sender to the target.route from sender to the target.
04/21/23 16
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
ConclusionsConclusions The empiric results determined that sending data to the The empiric results determined that sending data to the
estimated location gives higher success rates than estimated location gives higher success rates than sending to the original locationsending to the original location
S O U R C E - A C C E S S - T A R G E T (WITHOUT REPLY)
92
94
96
98
100
1.0 1.2 1.4 1.6 1.8 2.0
grid space - side length [km]
succ
ess
rate
[%]
found
received (estimated location)
received (absolute location)
04/21/23 17
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
CacheCache The nodes that are located during reactive The nodes that are located during reactive
requests are stored in cache of the nodes in the requests are stored in cache of the nodes in the routeroute
During the reactive requests, FL/GF are initiated During the reactive requests, FL/GF are initiated only if the searched node is not found in cache only if the searched node is not found in cache
When cache is activated, the timeout parameter When cache is activated, the timeout parameter defines when the data stored in cache is valid and defines when the data stored in cache is valid and when it is notwhen it is not
ConclusionsConclusions Naturally the Naturally the found found success rates are higher and success rates are higher and
the the received received success rates decrease when cache success rates decrease when cache option is activatedoption is activated
Yet, the economy of the system resources Yet, the economy of the system resources (forwardings per packet) is significant(forwardings per packet) is significant
The final decision is a matter of users’ needs and The final decision is a matter of users’ needs and resourcesresources
04/21/23 18
Functionality Functionality Updates/Additions - contdUpdates/Additions - contdN U M B E R O F F O R W A R D I N G S P E R P A C K E T
A N D F O U N D S U C C E S S R A T E SB Y F L M O D U L E U S I N G C A C H E
0
25
50
75
100
grid space - side length [km]
succ
ess
rate
s [%
]
total found
found by FL
found in cache
3.517.57 8.45 9.956.13
18.0514.01
8.93
1 1.414 1.732 2
forwardings per packet -cache enabled
forwardings per packet -cache disabled
04/21/23 19
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
Core and FL Queues Core and FL Queues Each time a node sends a packet it is copied Each time a node sends a packet it is copied
to the relevant queueto the relevant queue When the node makes sure the next hop has When the node makes sure the next hop has
received the packet (by “hearing” next hop received the packet (by “hearing” next hop redirecting the packet), it is deleted from redirecting the packet), it is deleted from the queuethe queue
In case the packet was not deleted from the In case the packet was not deleted from the queue during timeout interval, it is being queue during timeout interval, it is being rescheduledrescheduled
MotivationMotivation The optimization prevents discontinuances The optimization prevents discontinuances
in packet transmissionin packet transmission
04/21/23 20
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
Example: disconnection of transmissionExample: disconnection of transmission
100 200 300 400
100
200
300
g
sender
rece
iver
packetlost
the expected receiver the expected receiver gets out of the gets out of the transmission range transmission range => the packet is lost => the packet is lost
there are no nodes in the there are no nodes in the transmission range of the transmission range of the receiverreceiver=> the packet is lost => the packet is lost
a g
100 200 300 400
100
200
300
g
sender
a packetlost
h
rece
iver
rece
iver
04/21/23 21
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
ConclusionsConclusions The empiric results determined that all success rates The empiric results determined that all success rates
were improvedwere improved No resource overheadNo resource overhead
F O U N D S U C C E S S R A T E SW I T H / W I T H O U T N E X T H O P Q U E U E S
0
25
50
75
100
100 125 150 175 200
number of nodes
succ
ess
ra
te [%
]
Next HopQueues ON
Next HopQueues OFF
04/21/23 22
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd Bypass – Core and FL Bypass – Core and FL
The optimization is used when there are no available The optimization is used when there are no available nodes (receivers) in the sending directionnodes (receivers) in the sending direction
When the mode is activated, the sender chooses an When the mode is activated, the sender chooses an alternative route that exceeds the strip limit and alternative route that exceeds the strip limit and bypasses the dead areabypasses the dead area
The route returns to the original strip as soon as The route returns to the original strip as soon as possiblepossible
100 200 300 400 500 600
100
200
300
400
a e
c
b d
FL B
PBP
FL
04/21/23 23
Functionality Functionality Updates/Additions - contdUpdates/Additions - contd
ConclusionsConclusions The empiric results determined that using bypass The empiric results determined that using bypass
optimization improves the success rates. The optimization improves the success rates. The improvement is most significant in the medium grid improvement is most significant in the medium grid spacesspaces
F O U N D A N D R E P L I E D S U C C E S S R A T E SW I T H / W I T H O U T B Y P A S S
90
92
94
96
98
100
100 200 300 400 500
number of nodes
su
cce
ss r
ate
[%
]
found - BP ON
found - BP OFF
replied - BP ON
replied - BP OFF
04/21/23 24
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Validate DBValidate DBThe entry is defined as not a valid The entry is defined as not a valid neighbor and being deleted from the neighbor and being deleted from the node’s DB lists (one-hop neighbors and node’s DB lists (one-hop neighbors and strips) strips) by Locationby Location
When estimated location exceeds the limits of the When estimated location exceeds the limits of the neighbors listsneighbors lists
Estimated location is being calculated based on the Estimated location is being calculated based on the DB current and previous locationsDB current and previous locations
by Timeby Time Timeout after the last updateTimeout after the last update
ConclusionsConclusions The empiric results determined that the The empiric results determined that the
reliability of the DB is higher when the reliability of the DB is higher when the neighbors lists are validated by Location and neighbors lists are validated by Location and by Timeby Time
04/21/23 25
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Two-hop neighbor tableTwo-hop neighbor tableAn extra table managed by Core module.An extra table managed by Core module. decreases the overhead of the reactive FL decreases the overhead of the reactive FL
modulemodule increases the overhead of the proactive Core increases the overhead of the proactive Core
modulemodule ResultsResults
Slightly higher success ratesSlightly higher success rates Significantly larger data-bases to maintainSignificantly larger data-bases to maintain Significantly higher overhead per packetSignificantly higher overhead per packet
ConclusionsConclusions The disadvantages supersede the advantagesThe disadvantages supersede the advantages
04/21/23 26
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
Unstable NodesUnstable Nodes the basic assumption that all nodes are the basic assumption that all nodes are
available at all times is not accurateavailable at all times is not accurate in fact, nodes may turn on and off from time to in fact, nodes may turn on and off from time to
time due to numerous reasons (low battery, no time due to numerous reasons (low battery, no reception etc)reception etc)
to analyze real-life connectivity, portions of to analyze real-life connectivity, portions of nodes were defined as not reachable in nodes were defined as not reachable in random intervals of timerandom intervals of time
ResultsResults as it was expected the success rates are as it was expected the success rates are
inversely proportional to the number of the inversely proportional to the number of the non-stable nodes.non-stable nodes.
04/21/23 27
Functionality Updates/Additions Functionality Updates/Additions - contd- contd
S U C C E S S R A T E S V S N O D E S ' S T A B I L I T Y
70
76
82
88
94
100
10 20 30 40 50 60 70 80 90
unstable nodes [%]
succ
ess
ra
te [%
]
found
replied
04/21/23 28
Porting to LinuxPorting to Linux
Motivation:Motivation: Failure to run simulations on large grid-spacesFailure to run simulations on large grid-spaces Enabling simulation control from remote locationEnabling simulation control from remote location Testing the results in different environmentsTesting the results in different environments
Overhead:Overhead: Reinstallation of NS2 under Linux environmentReinstallation of NS2 under Linux environment Porting of Octopus modules into NS2 under Porting of Octopus modules into NS2 under
Linux environmentLinux environment Adjustment of simulations’ scripts to Linux Adjustment of simulations’ scripts to Linux
environmentenvironment ConclusionsConclusions
The problem of simulations on large grid-spaces The problem of simulations on large grid-spaces was solvedwas solved
Simulation results found to be similar in both Simulation results found to be similar in both environmentsenvironments
04/21/23 29
Development EnvironmentDevelopment Environment
PlatformPlatform The protocol is implemented in NS2, discrete event The protocol is implemented in NS2, discrete event
simulator targeted at networking researchsimulator targeted at networking research The protocol is written in C++ and OTclThe protocol is written in C++ and OTcl The test environment written in CShell and TclThe test environment written in CShell and Tcl The protocol and tests are supported in Cygwin and The protocol and tests are supported in Cygwin and
Linux environmentsLinux environments
System ParametersSystem Parameters Numerous system parameters were expected to impact Numerous system parameters were expected to impact
simulation results and needed fine-tuning based on simulation results and needed fine-tuning based on empirical experimentsempirical experiments
These parameters were defined so that they can be These parameters were defined so that they can be easily changedeasily changed
Among others, these parameters include Strip Among others, these parameters include Strip Resolution, Queues’ Timeouts, Number of Resolution, Queues’ Timeouts, Number of Retransmissions, Proactive Updates Intervals etc.Retransmissions, Proactive Updates Intervals etc.
04/21/23 30
System ParametersSystem ParametersAs an example, the Strip Resolution was found to As an example, the Strip Resolution was found to be one of the most important parameters to be one of the most important parameters to influence on success ratesinfluence on success rates
S U C C E S S R A T E S V S S T R I P W I D T H
0.96
0.97
0.98
0.99
200 225 250 275 300
strip resuolution [m]
succ
ess
rate
[%
] static
mobile
04/21/23 31
SimulationsSimulations
The following scripts were written in The following scripts were written in order to automate the process of running order to automate the process of running experimentsexperiments single_test.csh <parameter lists> - single_test.csh <parameter lists> -
responsible for setting the desired responsible for setting the desired configuration, running the experiment several configuration, running the experiment several times (for better accuracy), collecting and times (for better accuracy), collecting and processing the relevant statistical dataprocessing the relevant statistical data
test_all.csh <output file> - contains a list of test_all.csh <output file> - contains a list of single_test executions with different single_test executions with different parametersparameters
file.tcl file.tcl the actual input parameter to the NS2 applicationthe actual input parameter to the NS2 application responsible for randomly defining each node’s route responsible for randomly defining each node’s route
on the grid during simulationon the grid during simulation dynamically updated by single_test on each dynamically updated by single_test on each
executionexecution
top related