3.6 Related work
3.6.3 Last hop
Mostshemesaddressingbothlinkandnodefailuresneedtodealwiththelast-hop
prob-lem. The last-hopproblem arises when the node immediate upstream of the failure
isthe last-hopnode before reahing thedestinationaddress. Inthesesituations, it may
beimpossiblefor the node initiatingthe reoveryproedure to determineif the failure
originatefromanode-failureoralink-failure. However,thetrashouldbetried
reov-eredone asthere is ahane that thenode is operational. In these situations, it may
be neessaryfor the reovery mehanism to distinguish between node and link failure.
This isbeauseif thefailure isatually anode-failureand it istreatedasalink-failure
itmayreate loopsin thenetwork. E.g. ifareoveryshemeweretosolvethelast-hop
problem bysendingtheinvolvedpaketstoanotherofthedestinationsneighbors,
with-out informing that it was tryingto solve the last-hopproblem and the failure was a
node-failure,thereipientnodewouldrepeattheproedure-possiblyleadingtolooping
ofthereoveredtra.
Method
InthishapterthemedhodandenvironmentusedtorealizeamodeloftheIPRTmethod
ispresented.
4.1 Choosing the environment to model IPRT
The use of models gives agreat freedom in the networks available for experimentation
as any real or imagined network may be freely modeled. It grants the opportunity to
freely experiment with ongurations on existing networks. In this way models may
aommodate for experimentingwith bothsenariosand ongurations that mightnot
have been possible in other irumstanes. For example by providing an environment
wherenetworktehnologiesmaybetestedwithoutinduingdisruptioninanoperational
ommerialnetwork.
Therearethreegeneralapproahestoonsiderwhenmodelinganewnetworkprotool.
Theutilization ofoneof theseapproahesshould notexludetheuse oftheotherones,
asthey mayomplementeah other. Theapproahesdierin how easily available the
models are, the results that may be obtained and the exibility they oer. The three
approahesarelistedbelow.
1. Mathematialanalysis
2. Testbedsandprototypes
3. Simulations
Theadvantageofusingamathematialmodelisthat theenvironmentthisapproah
provides, may be used to quikly produe results. This is espeially true in situations
where the problem area onsists of a ommon problem where a formula oralulation
methodisknowninadvaneofthemodel. Furthermore,itmightprovidealearoverview
of the environment, as well asparameters that governsthe results. The drawbaks of
usingamathematialanalysisisthatthemodelsmay,toalargeextent,needtosimplify
omplexsystems,thestatesneededtoproperlyrepresentthemodel,maygrowtoolarge
andrenderthisapproahunpratial.
One of the strongest assets of testbeds and prototypes is that they provide results
with a high degree of redibility. The use of testbeds or prototypes may be superior
to mathematial analysis when the problem area is omplex and simpliation of the
realsystemisimpossibleorundesirable. However,thisapproahmayrequireaomplex
development proess, where it might prove diult to verify or build the protool in
inrementalstages. Thus,thisisanapproahthatisoftenusedtoimplementandverify
theabilities ofa protool whererequirementsand behaviorhas matured. Furthermore,
beause the tests are run in a real environment, it might be diult to aess all the
neessarymeasurementsanditmightalsoinvolveexpensiveinstruments.
Simulationsanbeaveryexibleandeientmethodwhenanalyzing omplex
sys-tems. This approah an be used to model protools where the problem area is too
omplexto be testedin amathematialenvironmentand where aexible development
yle is needed. Furthermore,this approah provides theability to hoose the level of
abstration. This allows the simulated environment to better suit the desired level of
omplexity,andbyvaryinggranularity,itis possibletoaommodatebothdetailed and
high-levelsimulations. However,theresultsthatareobtainedfromasimulatorisusually
lessrediblethanthoseobtainedfrom testbedsorprototypes. Ifasimulatorwithan
ex-istingframeworkanbeused,thismightsavedevelopmenttimeand,inaddition,remove
someof the need for simplied orstati assumptions onhigher and lowerlayersin the
network.
Inthisthesis,anewmethodforprovidingIPfastreoverywillbetrieddeveloped,and
thus, itis antiipated that therewill beaneedforamodelenvironmentthatis exible
and allows easyadaptation of newideas in the developmentyle. Some graphtheory
will be used in the initial designphases to be able to onvert the original RT method
to appliabletoonventionalIP networks. Furthermore,theproblem areais onsidered
to be omplexto be ompletely understood in aneasy orproperfashion when using a
mathematial model. Thus, a simulatedenvironmentwill be used to model, verify the
ndingsandmeasuretheperformaneoftheIPRT method. Thisenablestheevaluation
oftheperformaneandabilitiesofaIPRTasitinteratswithotherprotoolsinvarying
onditions. Thelevelofontrolmakesiteasytomeasureandinspetallstateinformation
ofthemodel,at anystageoftheexeution. Inaddition,itmayallowforarapidhange
in model propertiesbeause ofthe ontrolthat is provided overthe dierentaspets of
thesystem. Forexamplemaytopologieseasilybereplaedand method easilyadded or
dedutedfromthemodel.
Beause simulation is performed on models and assumptions and abstrations are
used, lessoftheatualeventsarefoundin thesimulation. Thus, simulationmaygivea
goodindiationonthe performane andorretnessof amodel, but guaranteesmay be
hardtogive.
Generally,networksmaybedesribedthroughstohastimodelswhere oneormore
dis-tinteventsaet thestateoromponentsin thenetwork. A varietyofsimulators
spe-ializeson spei aspets ofnetworksimulation. However,simulatorsaregenerally set
apartbyhowtheymodeltimeandhowtheymodelevents.
Time advane in asimulatormaybemodeledwith either anext-event ora
time-sliing approah, both using a disrete time. The time-sliing approah advanes the
simulationtimebymovingforwardat xedintervals,e.g. everyseond,regardlessofthe
ativitiesbeingsimulated. With thenext-event approah thetime is advaned to the
timesheduledbyeahevent. Inmostasesthenext-event mehanismismoreeient
and allows models to beevaluated morequikly. I.e. the simulator may jump diretly
from oneevent to the next sheduled event without aeting the overall results of the
simulation.
Furthermore,thewayhanges in systemstateouris alsodening for asimulator.
Itmaybemodeledthroughtheuseofevents,ativitiesorproesses. Theeventapproah
desribesahangeasanimmediatehangeinoneormorerelatedsystemvariables. The
ativitiesapproahissomewhatsimilartotheeventapproahbutusedurationtodesribe
hanges instates. Theproessapproahjoins olletionsofeventsorativitiestogether
to desribe thelife yle of anentity. Beause theeventsare disrete andordered it is
diultto model twoeventsthat overlapin timeandat thesametimemayinterat or
interferewitheahother.
The mostommonlyused approahis disrete-timeevent-drivensimulators. A
om-monly known simulator that uses this approah is the network simulator also known
asns orns2[25℄. Anotherapproah,foundinJ-sim [26℄,isareal-timeproess-driven
approah to simulation. In suh systems, the evolution of asystem is dened by
pro-essestakingplaeatreal-timealongavirtualtime-axis. Eahproessisexeutedinan
independentexeutionontextandproessinterationismodeled,asitwouldhappenin
areal implementation. Furthermore,thereal-time proess-drivenapproahisan
exten-siontothedisrete-timeevent-drivenapproah. E.g.,theproess-drivenapproahisalso
event-driven. However,theinterationsbetweentheentities,i.e. proesses,areexpliitly
dened throughdependeniesandsynhronizationsbetweentheproesses.
InthisthesisJ-simwill beusedtoprovidethesimulatorenvironmentinwhihIPRT
will be implemented. The J-sim simulator is desribed in moredetail in the following
setion:
4.2.1 J-sim
J-simisaomponent-baseddisreteeventsimulatorwritteninJavathatmaybeusedfor
networksimulation. Itprovidesmanynetworkrelatedpakagesinludinganetwork
pak-age (INET Framework), wireless pakage, sensor network pakage, and a dierentiated
servie(Diserv)framework.
environment tries to mimi a blak-box approah to modeling often found in
devel-opmentof integratediruits. The dening propertiesof a blak-box is that bothits
purpose and the in/out signal pattern through pins or ports are fully speied. This
allows the omponents to mimi the behavior of real-world systems through message
passingand anindependentexeutionmodel. Thisisahievedbyallowingdataarriving
to aport of a omponentto be immediately proessed by that omponent in an
inde-pendentomputationontext. Inaddition,theACAallowsforafuntion allexeution
model whereaomponentmaysenddata to anotheromponent tobeomputedin the
sameomputationontextasthesender.
ThereareseveralreasonsforwhyJ-simwashoseninthisthesis. Itiswrittenpurely
inJava,andthus,providewithawell-knownprogrammingenvironment. Furthermore,it
provideswithallthebasiomponentsneededtosimulatenetworksandperform
measure-ments. Inaddition,SIMULAhasimplementedaversionoftheRRLreoveryproedure
in J-simthat ouldprovidewith bothagood foundationforinitial developmentandan
opportunitytotestbothRRL andIPRTundersimilaronditions.
IPRT Design
ThishapterontainsanoverviewoftheimportantdesignhoiesforimplementingIPRT
foronventionalIPnetworks. Ineahsetion,theproblemswillbeidentiedandpossible
solutionswillbepresented.
5.1 Constrution of the trees
TheoriginalRTwork[1℄presentstwodierentalgorithms;oneforlinkfailures,and one
fornodefailures. Bothofthealgorithmsfollowthebasiideaofgrowingtheredandblue
treesgradually byaddingnewredundantpaths. Furthermore,thealgorithms introdue
avoltagerule toensurethat theredundantpropertyofthetreepairisahieved. This
isdonebylettingtheruleimposeaompleteorderonthenodesasthetreesaregrownto
formapairofredandbluetrees. Thereareseveralattributesthatgoverntheperformane
andbehavioroftheIPRTtreeonstrution,wherethemainattributesarepathandyle
reation,and run-timeofthealgorithm.
5.1.1 Introduing the redundant tree algorithm
The Node-algorithm,shown in Algorithm 1, is designed to work with
two-vertex-onnetedgraphs. Itstartsbyaddingarandomlyhosenyle,ontainingthreeormore
nodes,fromthegraphwitharoot
S
. Therootisthenassignedtwovoltages;onefortheredtreeandoneforthebluetree,suhthat
V blue = v max
andV red = 0
. Subsequently,the remaining verties in the yleare given voltages in a dereasingfashion, followingtheyle in anarbitraryhosendiretion. Thevoltagesassigned are within theboundaries
of
v max
and0
. Furthermore,theseletednodes,startingfromS
, areadded tothe blueand red tree, in suh a way that the assigned voltages are dereasing and inreasing,
respetively. Subsequently,thetreesaregrownbyonnetingtwonodesalreadyassigned
to the trees, with one or more nodes not assigned; i.e. forming an arh starting and
endinginthetree. Thearhisthenorientedsothatthestartingnodeistheonewiththe
highervoltageofthetwonodesinthetrees. Followingadiretedpathfromthestarting
1:
j =
12: Choose any yle
(S, C 1 , ..., C k , S)
in the graphwith k≥
2. LetN 1
be the set ofverties
{S, C 1 , ..., C k }
andorder thesevertiesbyv max > v(C 1 ) > v(C k ) > 0
3:
A B 1 = {(S, C 1 ), (C 1 , C2), ..., (C k−1 , C k )}
A R 1 = {(S, C k ), (C k , C k−1 ), ..., (C 2 , C 1 )}
4: while
N j 6= N
do5:
j = j + 1
6: Chooseapath
P j = (X j, 0 , X j, 1 , ..., X j,L j ), L j ≥ 2
in thegraphsuhthatX j, 0 ∈ N j−1
andX j,L j ∈ N j−1
,withv(X j, 0 ) > v(X j,L j )
.If
X j,L j = S
thenv(X j,L j ) = 0
If
X j,0 = S
thenv(X j,0 ) = V
Theotherverties,
X j,i , i ≤ i ≤ L j
, arehosenoutsideofN j−1
.7:
N j = N j−1 ∪ (X j,1 , ..., X j,L j )
8: Orderthevertiesin
P j
byv(X j,0 ) > v(X j,1 ) > ... > v(X j,L j−1 ) > (v max )
,where
v max = y∈N max
j−1 (v(Y ) : v(Y ) < v(X j, 0 ))
9:
A B j = A B j−1 ∪ {(X j, 0 , X j, 1 ), (X j, 1 , X j, 2 ), ..., (X j,L j−2 , X j,L j−1 )}
A R j = A R j−1 ∪ {(X j,L j , X j,L j−1 ), (X j,L j−1 , X j,L j−2 ), ..., (X j,2 , X j,1 )}
10: endwhile
N j
Thesetofvertiesinludedintheredandbluetreesatstagej A B 1
Thesetoflinkspresentin theBluetreeatstagej
A R 1
Theset oflinkspresentintheRedtreeatstagej S
TherootnodeoftheredandbluetreesP j
Thearh(path)foundat stagej L j
Lengthofthearhfoundat stagej X j,i
NodeX
addedatstagej
at plaei
inP j
v(X)
ThevoltageassignedtonodeX
node, thearh istraversed. All nodes,exepttherstand last,areassigned voltagesin
adereasingmanner. Therstandthelastnodeonthearhisnotassignedvoltagesas
theyarealreadyinludedinthetrees,andhasthereforealreadybeenassignedvoltages.
Thenewnodesaregivenvoltageswithintheboundariesof
v(X j, 0 )
andthehighestvoltageassignedtoanynodeinthetreethatdoesnotexeed
v(X j, 0 )
-notneessarilythevoltageof
X j,L j
. Thenewnodes arethen onnetedto theblue tree, throughX j, 0
, andto theredtree,through
X j,L j
,followingthesamevoltagerulesaswhentheylewasreated.Fromthisnode,theyle
[A − B − E − F − C − A]
isfound,andthenodesareassignedtheirvoltagesaordingtolinetwo. Theredtreethusonsistsofinreasingvoltages,and
theblue dereasingvoltages,followingthethree-growthrulefoundinlinethreeandnine
in Algorithm1. Next, thearh
[E − G − F ]
is found. Sine Fhasthehighervoltageof6,thisbeomestheupperboundary. Thelowervoltage4,whihisownedbyE, beomes
thelowerboundary. Thus, Gisassignedavoltageof5. Eisthen addedto theredand
blue tree in aordaneto the voltage rule found in line 8. Thenext arh to be found
is
[C − D − B]
, and sine C has the highest voltage, it beomes the upper boundary.However,thelowerboundaryisvoltage6ownedbynodeF.ConsequentlyD isassigned
avoltageof7andaddedto theredandblue treesaordingly.
The Link-algorithm is verysimilar to theformerpresentedNode-algorithm. The
main dierene between thetwo, is that the link-failurealgorithm allows thearhes to
start and end at the same node. Thus, it beomes neessary to assign two voltages
to eah node and in this manner expand the voltage rule. The Link-algorithm may
potentiallyyieldshorterreoverypathsat theexpenseofintroduingartiulationpoints
intheredundanttrees. Thisisbeausemorelinksmaybefreelyusedwhenreatingtrees
with the Link-algorithm. However, the Link-algorithm is not required to produe
artiulationpointswhere noneareneeded. Itmaythereforebemadetoprotetagainst
nodefailurestotheextentallowedbythetopology. Thismaybedonebyrefrainingfrom
letting an arh start and end at thesame node asfar aspossible. However, this may
introdueabiggeromputationalostin thealgorithm.
The layout of topologies where the Node-algorithm and the Link-algorithm
re-spetivelymaysuessfullybeapplied,isinherentlydierent. Thisisbeausethe
Node-algorithmhasastriterrequirementontheonnetivityofthenetworksitmaybeapplied
to. TousetheNode-algorithm,thenetwork needsto beatleast two-vertex-onneted,
whereastheLink-algorithm onlyneedsthenetwork tobetwo-edge-onneted.
5.1.2 Important properties
Thereare severalattributesthatgoverntheperformaneandbehavioroftheIPRTtree
onstrution,andtheymayinueneresoureusagein bothroutingandforwarding:
•
Theseletion-algorithmusedforpathandylereation•
Run-timeofthealgorithm•
TheabilitytoprovideQoSpropertiesThemannerofhowtheyleandthearhesareseleted,isofgreatimportanetothe
attributes oftheredundanttrees. Intheoriginal RT algorithms, e.g. Algorithm1, this
wasleftas anopenquestion. However,there hasbeensomeresearhinthisareabyXue
et. al. [27℄[16℄[17℄. Theirresultsshowthatthereationof ylesandarhesisvitalfor
IPRT to meet thedesired performane riteria. Agood examplemay behow thetrees
wouldperformwithashortest-pathversuslongest-pathseletionoftheyleandarhes;
Consideranodethathastwoneighbors,wherealinkhasfailedbetweentherootnodeand
pathbetweenthetwonodesthrougheithertheredorthebluetreewouldthenbeofequal
size to the lengthof the yle- i.e. the lengthof
A B 1
orA R 1
in line three in Algorithm1. Thus,ifashortestpathwasused,therewouldbeaguaranteethatthisreoverypath
wouldbeofminimallength. Withadepth-rstsearhthatterminatesattherstnode
in-tree,theIPRTmethodwouldnotbeabletogivesuhaguarantee. Iftheinitialylewas
reatedusing alongest-path algorithm, the path-lengthmight besigniant. However,
the inuene thehosenseletion-algorithm exertson the performane and behaviorof
theIPRTmethodisdependantuponthetopology. Forexample,inapurering-topology,
thevariousseletion-algorithmswouldhavenoimpatatallontheperformaneofIPRT.
It hasbeenshownthat anapproah, whereinthelengthoftheyle andthearhesare
kept to a minimum, does show a signiant improvement with respet to the average
reoverypath length[17℄. In addition, it has been shown that this approah generates
treeswithahigherdegreeofoverageinaseofmultipleonurrentfailures.
It isimportantfortheIPRTalgorithmto supportsomelevelof QoS,asarandomly
driven approah may have a negative impat on the performane and resoure usage.
Often,ostsonlinksareusedforQoS,i.e. tomaximizeavailablebandwidthortominimize
the number ofhops. Throughlink ost, the RT method mayalso support someTra
Engineeringaspets,suhastheabilitytosetahighostonlinksknowntofailregularly.
However,advaned requirementsmayintrodueabiggeromputationalost.
Determiningthebest redundanttrees-i.e. QoSorientedIPRT-foratopology,isan
NP-ompleteproblemsomewhatsimilartotheTravellingSalesman-problem. Aninformal
denition of NP problems isalass of problems that anbe veried by adeterministi
Turingmahinein polynomialtime. Furthermore,NP-ompleteproblemsareasublass
of NP problems that has the property that any problem in NP an be polynomially
reduedtoit. Tondthebestsetofredandbluetrees,thealgorithmneedstotryevery
possibleombinationandompositionofirlesandarhesinagiventopology. Tosearh
fortheperfetsolutionwouldbeimpossiblein pratie,asthetimeneededto alulate
fortheperfetsolutionwouldbeimpossiblein pratie,asthetimeneededto alulate