3. Capítulo tercero 1936 ― 1975
3.2. Neutral Córner Un combate en 13 asaltos y una crónica
3.2.5. Break !!!
A problem can occur if a flagged location change request and an ordinary location change request
(made outside the re-configured child node domain) related to the same user are initiated at
sim ilar times. E ssentially there is a potential for contention between the two requests that might lead to database inconsistency. This should be a rare occurrence because the tim ing has to be
precise. For the problem to occur, the ordinary location change request has to arrive at a node,
that is the first node in com m on between the two paths follow ed by the flagged and the ordinary
packets, before the flagged packet. In addition to that, the flagged packet has to be issued before
the ordinary location change request is passed to the reconnected child node. Tliis is exem plified
in figure 4.5.
What effectively happens is that the ordinary location change request builds a path pointing to the
user's current location and deletes the path leading to reconnected child node, the flagged location
new p a re n t node, a nd in its parent, g r a n d p a r e n t. . all th e way to th e root. T h e m a in c o n s e q u e n c e
o f th e c o n te n t io n p ro b le m is that the local e.xchange c o n t a i n i n g in f o rm a t io n about the user's
c u r r e n t lo catio n has this in f o rm a tio n deleted fr om its data b a se . T h e p ro b le m is e.xemplified in
figure 4,6.
user A m oves to new cell
• flagged location cliange ref|uest
location cliange request
^ first node m com m on betw een the two packet paths
I'igure 4,5: Exam ple of" Est node in com m on betw een the tw o paths Ibllow ed hy the flagged and the ordinary' location change reqtiests.
T h e r e a r e th r e e m a in possibilities for a p p r o a c h i n g th e p ro b lem :
1 N o a c ti o n is taken. W e let the p ro b le m h a p p e n a n d deal w ith the con se q u e n c e s . T h is is
p erfectly possible, b e c a u s e the n e tw o rk is d e s i g n e d to detec t a n d re - c o n fig u r e m i s s in g data
u n d e r c e rt a in c ir c u m s ta n c e s . W h e n th e use r re - re g is te rs o r r e c e i \ e s a call, th e d a ta b a se
in c o n s is t e n c y will be d etec ted e ith e r by th e r e c o n n e c te d ch ild node or its p a re n t a n d th e
recovery m e c h a n i s m s de sc r ib e d in Section 4.1.2 c a n th e n be u se d to re store th e d a ta b a se
in f o r m a tio n . Hence, if no action is ta k e n th e user's d a ta b a s e reco rd s will re m a in co rr u p te d
until a call reques t is m a d e or the use r moves.
2. W e p r e v e n t th e p ro b le m from h a p p e n in g . B ecause it is a flag g ed locatio n c h a n g e re quest that
d e le te s th e correct d a ta path , th e n w h e n it gets to th e local e x c h a n g e it c a n be identif ied as an
in c o r re c t deletion. T h i s is so bec a u se flag g ed locatio n c h a n g e req u es ts sh o u ld be d eleted at
th e o ld p a re n t node a n d h e n c e s h o u ld n ev er a r r iv e at a local e x c h a n g e bec a u se local
e x c h a n g e s , b e in g child les s, n e v e r b e c o m e old p a r e n ts th e m se lv e s. T h e re s p o n se o f th e local
e x c h a n g e is to in iti ate a flood fill m e c h a n is m to c le a r th e n e tw o rk d a ta b a s e o f all sp u r io u s
in f o r m a t io n a n d th e n to issue an o r d in a r y location c h a n g e reques t to re-build the da ta path.
T h is r e q u ire s th e e x tr a o v e rh e a d o f e x a m i n i n g e r r o r fields on every lo catio n c h a n g e request
3 Introduce a tim e s ta m p on the data p ath s plus ex tr a tests ou ea c h node so that th e situ atio n
never arises. I his w o u ld require co m p le x m a n a g e m e n t, i n c u r r in g a n ex tr a o v e r h e a d m u c h
la r g e r th a n in th e previous option.
r e c o m i c c l e d c h ild
A ii.UT A m o v e s from cell 1 lo cell 5
( h)
p a c k e t
(C l
I'igurc 4.6; E.xamplc o f contention problem : net\vorl< is re-configured. node tO disconnects from node 13 and re-connects to node 14. (a) data patlis for user A im m ediately a lte r tlie re-configuration. (b) user A registers at local e.vchange 5 cau sin g a location change request to be issued, building a new patb and deleting the old one. (c) before the ordinars location change reque.st arrives at node 10, node 10 issues a flagged location change request as part o f its im m ediate restoration procedure, the flagged pack et can.ses part of the correct data path to be coiTupted (including the deletion o f the in fb n u atio n present at the local
e.xchange)
T h e last po ssibility is not c o n s id e re d h ere due to its m a n a g e m e n t ov e rh e a d . T h e first possibility
req u ires no ex tr a fu n ctio n ality a n d is a sensib le o ption if it is a rare event H o \ \ e \ e r , it h as the
d is a d v a n ta g e o f lea\ ing th e n e tw o rk 's re c o r d s p o in tin g to th e u ser's h o m e base a d d re s s for so m e
u n k n o w n tim e p eriod, till th e u s e r re-regis ters, a l t h o u g h v o ic e - m a i li n g service c a n be u se d in the
m e a n time. T h e s e c o n d op tio n is a feasib le option only if th e fre q u e n c y o f the p ro b le m is large
e n o u g h to ju s tify th e in c r e a se in th e n o d e 's functionality. But as it c a n be seen fr om the
probability c a lc u la tio n for th e c o n te n tio n p ro b le m that is g iv e n in A p p e n d i x D, this is in fact a
very ra re event. G iv e n the verv low probability o f it h a p p e n in g , th is p ro b le m a lo n e w o u ld not
justify th e in tr o d u c t io n o f th e ex tr a fu n c tio n a lity de sc r ib e d in item 2 above. T h e r e f o r e th e first
a p p r o a c h w a s c h o s e n , no a ctio n is tak en , we let the p ro b le m o c c u r a n d th e syste m is able to deal
w ith th e c o n se q u e n c e s .
4 .3 .1 .4 P r o b le m s d ue to S u b s e q u e n t R e -e o n fi g u r a tio n s
A n o th e r p ro b l e m w a s identif ie d as a c o n s e q u e n c e o f m u ltip le n etw o rk rc- c o n fig u r a tio n s. T h is
p ro b le m p re s e n ts itse lf in tw o difTerent situ atio ns;
If th e n odes b e lo n g in g to the netw ork tree below a re c o n n e e te d chil d (see figure 4.7)
re c o n n e c t th e m s e lv e s to a new p aren t before the re c o n n e c t e d ch ild d a ta b a se is fully restored,
th e m e c h a n i s m s for d a ta b a s e re sto ra tio n in itiated by t h e m are likely to c la s h w ith th e original
re s to ra tio n p ro c e d u r e , c a u s i n g d atab a se inconsistency.
parciil
• . direct link
reconnected cluld ^
I'igiire 4.7: Problem due to subsequent re-configurations: ease 1. Encircled nodes cannot reconnect to a new p arent till reconnected child node has finished restoring n etw o rk ’s database
If p a r e n t s , g r a n d p a r e n ts ... o f a n old p aren t node, th at are part o f th e su b -tree c o n ta i n in g the
old p a r e n t n o d e a n d th e re c o n n e c te d chil d n o d e (see fig u re 4.8). b e c o m e old p a r e n t s for nodes
w h o s e u n d e r n e a t h su b -tree in clude th e o r ig in a l old p a re n t node, th e n they are likely to cause
p r o b l e m s to th e re s to ra tio n process in w h ic h the o rig in a l old p a re n t is in volved, le a d in g to
d a ta b a s e incons istencv. parent old parent reconnected cluld C
1 igure 4.8: Problem due to subsequent re-configurations: case 2. Highliglited nodes cannot becom e old parents lo r nodes w hose dom ain includes the original old parent, before original old parent node returns to no n n al operation.
T h e d a ta b a s e in c o n s is te n c ie s o ccu r d ue to th e follo wing. W h e n th e old p aren t n o d e receives a
flag g ed lo c a tio n c h a n g e re quest that is d e stin e d to th e r e c o n n e c t e d c h ild node, it a s s u m e s the
p ack et h a s b e e n g e n e r a t e d as part o f th e re s to ratio n p ro c e d u r e in w h ic h it is involved, a n d it
sim p ly d e le te s it afte r u p d a ti n g its database. But if th e flag g ed locatio n c h a n g e reques t has been
is sued by a n o t h e r re c o n n e c t e d child as part o f a s im u l t a n e o u s r e - c o n fig u r a tio n a n d it h a p p e n e d to
go t h r o u g h this old p a re n t node (this s itu a tio n arises for th e tw o cases listed above), th e n
inconsistencies in the database occur that will eventually lead to the arrival o f flagged packets in
the local exchanges, causing data to be deleted incorrectly.
A p p ro a ch es to the Problem
There are two main approaches to the problem;