• No results found

Restrict the flood fill replication to the sub-network encom passing both the node that detected

clash I (above) to occur The procedure follow ed in case clash 1 occurs assum es that the data path

Section 4.1.2, the location change requests issued as part o f the procedure for restoration on

2) Restrict the flood fill replication to the sub-network encom passing both the node that detected

the error and the local exchange containing the data that will be used to rebuild the data

path.

The first approach is the sim plest o f the two. It is a general method that does not require special

solutions and it maintains the protocol’s state-independence. Unfortunately it cannot be used for

all cases where the flood fill m echanism is employed, as it w ill be explained below. The difficulty

presented by this method is the choice o f n, the arbitrary number o f levels, above the level o f the

node that detected the error, the flood fill m echanism w ill spread to. If it is too sm all, the flood

fill m echanism w ill not fulfil its purpose o f clearing all inconsistent data related to the corrupted

data path from the network databases. On the other hand if it is too big, the flood fill packets w ill

add to the load o f som e parts o f the network unnecessarily. Another point to be noted is that the

flood fill m echanism is follow ed by a location change request that correctly rebuilds the data path.

If the value o f n is not b ig enough to include the local exchange containing the information that is

used to rebuild the data path, the recover procedure w ill consist only o f clearing the data paths at the chosen portion o f the network. This should not be a problem if the original request is a

location change, this method assum es the new data path was correctly built, and only the portion

o f the network that contained the old data path had inconsistencies present that needed clearing.

If the data path needs to be rebuilt w ith hom e base information (as in the case o f recovery

m echanism s initiated by call requests and stamp packets), it is then essential that the value o f n is

chosen so that it encom passes both the node that detected the error and the local exchange

containing the custom er’s home base infonnation. For this reason n cannot be an arbitrary value.

This w ill be further discussed below, w hen each case is discussed separately.

The second approach is a sophistication o f the first. It consists o f determining the value o f n so

that the sub-network to w liich the flood fill replication is restricted includes both the node that

detected the inconsistency and the local exchange containing the information that is used to

rebuild the data patli. It is more com plex than the first method and it is difficult to use this

approach to design a general method for all cases in w hich the flood fill m echanism is used.

Each one o f the cases listed above are discussed separately below. For each case the possible

solutions are discussed, according to the described approaches.

C ase 1: R ecovery M ech an ism In itiated due to L ocation C han ge R eq uests

> F irst ap p roach . The flood fill packets are allowed to replicate w ithin the sub-network w hose

root node is n levels above the node that detected the error. If the chosen sub-network is not

big enough to include the local exchange containing the piece o f data with the sam e unique

stamp as the one carried by the flood fill packets, a rebuilding location change request is

c o n ta i n e d th e old data pa th. E x a m p l e s o f th e two possib le situ a tio n s are giv en in figures 4.1 4

a n d 4.15.

m coiisistcncy

present

^

(old location) (new location)

Figure 4.14: W hen user A move.s from being attached to local exchange 1 to being attached to local exchange 2, the inconsistency at node 3 is detected due to the generated location change request. If the first approach is used and n = 2, then the

flood fill replication is restricted to the higliligiited sub-netw ork encom passing both old and new locations. H ence, old and new data paths are deleted and another location change request is issued by node 2 to re-build correct data path.

>

S e co n d a p p r o a c h . If th e in c o n s iste n c y is fo und by u s i n g th e first de te c tio n test as listed in S eetion 4.1.1 (i.e. if th e r e q u ire d in f o rm a tio n is not p re s e n t at th e node's d a ta b a s e but th e

re q u es t h as c o m e fr o m a p a re n t node) th e recovery p ro c e d u r e is as follows. T h e flood fill

p aek ets a r e rep lic a te d n o d e by node, d e le tin g the in f o r m a tio n re lated to th e c o r r u p te d piece o f

d a ta until a p a r e n t n o d e c o n ta i n i n g in f o r m a tio n about th e n ew ly-built d a ta p a th is fo und (i.e.

w h e n th e flood fill p a e k e ts m eet th e d a ta p a th th a t w a s built by th e locatio n c h a n g e re quest

th at d e te c te d th e error). T h is no d e w a s th e first p a re n t n o d e fo u n d to h a v e th e in f o r m a tio n

w h e n th e o rig in a l lo eation e h a n g e re quest w a s b u il d i n g th e d a ta p a th a n d h e n c e w a s the

p oin t at w h ic h it s ta rte d d e s e e n d i n g th e n e tw o rk tree. T h is n o d e c a n be id e n tif ie d as h a v in g

the in f o r m a tio n u p d a te d by th e lo catio n c h a n g e re quest that d etec ted th e e r r o r by e x te n d i n g

th e u n iq u e s t a m p schem e. All th e nodes in th e d a ta p a th are s t a m p e d w ith th e u n iq u e s t a m p

g e n e r a te d by th e local e x c h a n g e at th e tim e o f the user re g istratio n . N o te that it c a n only be

said th a t th e u n i q u e s t a m p on th is entry is th e sa m e for th is n o d e a n d fo r all th e n o d e s below

this po in t if it is a s s u m e d th a t th e u se r d id not re- re g is te r w h ile th e recovery p r o c e d u r e w a s in

place. T h is n o d e th e n re p lic a te s th e flood fill packet to all its c h il d r e n a p a rt fro m th e o ne

w here th e flood fill p a c k e t c a m e fro m a n d th e o ne th e d a ta b a s e e n tr y is p o in t i n g to. T h e r e f o r e

th e recovery p r o e e d u r e re sults in th e e le a r in g o f all s p u r io u s in f o r m a tio n fro m th e s u b ­

n e tw o rk e o n t a i n i n g b o th th e old a n d n e w locations. If it is a s s u m e d th a t m ost o f th e lo catio n

c h a n g e re q u e s ts a re loeal, th e n on ly a sm a ll su b - n e tw o rk will be involved in th e recovery

m e c h a n is m . If th e in c o n s is te n c y is fo u n d by u s in g d e te c tio n test 2 in Section 4.1.1 (i.e. if the

re q u ire d in f o r m a t io n is p re s e n t at th e n o d e's d a ta b a se a n d th e p a c k e t is a lo catio n c h a n g e

req ues t but it is to be sent to w h e r e it c a m e from ), th e recovery m e c h a n i s m is as follows. T h e

flood fill re p lic a t io n o c c u rs only fr om th e node that dete c te d th e in c o n s iste n c y d o w n w a r d s

a n d th e d a ta p a t h re - c o n s tr u c ti o n stops at th is s a m e node. A g a in th e sp u r io u s pie ce s o f da ta

a rc deleted a n d a new path is built w ith in th e su b - n e tw o r k c o n ta i n in g bo th old a n d new

locations.

T h e m e th o d s p re s e n te d for th e s e c o n d a p p r o a c h are not g e n e ra l so lutions, th e describ ed

p r o c e d u r e s are sp ecific to ea c h d e te c tio n test a n d m a k e a s s u m p ti o n s on th e n a tu r e o f th e dete c te d

in c o n s iste n c y . T h e first a p p r o a c h p r e s e n ts a s i m p l e r a n d m o r e g e n e ra l solution.

inconsistency

present

^

(old location) (new location)

Figure 4.15: W hen user .A. tuoves from being attached to local e.xchange 1 to being attached to local e.xchange 2, the inconsistency at node 3 is detected due to the generated location change request. I f the first approach is used and n = 2, then the flood fill replication is restricted to the higliligiited sub-netw ork encom passing only the old location. Hence, the old data path is

cleared and th ere is no need to re-issue location change request.

C a s e 2: R e c o v e r y M e c h a n i s m I n itia ted due to Call R e q u e sts

lu th is case, on ly th e se c o n d a p p r o a c h c a n be used. T h is is so because, as e x p la i n e d above, if th e

o r ig in a l p a c k e t is a call request, th e in c o n s is te n c ie s are on ly dete c te d w h e n th e pack et is

t r a v e ll in g d o w n th e n e tw o rk tree f o llo w in g th e c h a in o f p o in te rs to w a rd s th e c u s t o m e r ’s c u rr e n t

location. I f a n e r r o r is d etec ted a n d a flood fill m e c h a n i s m started, th e d a ta p a th p o in t in g to th e

c u s t o m e r ’s c u r r e n t locatio n will be dele ted, it is th e n p a r a m o u n t th at o n e p o in t i n g to th e

c u s t o m e r ’s h o m e ba se locatio n is built. F o r call requests, it is th e n e ssential th a t th e v a lu e o f n be

c h o s e n so th a t it e n c o m p a s s e s th e no d e th a t d etec ted th e e r r o r a n d th e local e x c h a n g e c o n ta i n i n g

th e c u s t o m e r ’s h o m e b a s e in f o rm a tio n .

> S e c o n d a p p r o a c h . T h e flood fill p a c k e t is re p lic a te d n o d e by node, d e le tin g th e in f o r m a tio n

r e lated to th e c o r r u p te d piece o f d a ta until it finds a no d e c o n t a i n in g in f o r m a t io n ab o u t both

th e u s e r ’s c u r r e n t locatio n a n d h o m e ba se add res s. At this p o in t th e flood fill r e p lic a tio n is

c a r r i e d out only to th is n o d e ’s c h il d r e n a n d th e d a ta p a th is re-built fr o m th e local e x c h a n g e

c o n ta i n in g th e h o m e b ase a d d r e s s till this node. T h is p ro p o s al lim its th e s p r e a d o f th e flood

fill m e c h a n i s m to th e su b - n e tw o r k c o n ta i n in g both th e u s e r ’s n e w a n d h o m e base lo catio n s

As m o s t o f th e users m o v e m e n t is e x p e c te d to be local to t h e ir h o m e ba se node, th e s u b ­

n e tw o r k in c l u d i n g b o th th e u s e r ’s c u rr e n t a n d h o m e base locatio ns sh o u l d hav e only a lim ited

n u m b e r o f nodes. T h is m e t h o d is e x e m p lif ie d in figure 4.16.

C a s e 3: A s P a r t o f t h e R a n d o m D e le tio n P r o c e s s