3.9.2.3 Les procédures de l'algorithme
- Chaque racine va envoyer un message Information
à son Sous_Racine après chaque mise à jour de ses
variables locales. 
- Le Sous_Racinei doit mettre à
jour toutes ces variables après chaque réception d'un message
Information. 
- La panne d'un site simple ne provoque aucune action
sauf si ce dernier détient un jeton, dans ce cas le site racine doit
générer un nouveau jeton. 
- Lorsque le Sous_Racinei tombe en
panne, la racine doit désigner un nouveau Sous_Racinej
dont l'identité sera i + 2*K, ensuite la racine
envoie un message de type Information à ce nouveau
Sous_Racinej. 
- Lorsque la racine tombe en panne, le
Sous_Racinej détecte cette panne, et doit prendre sa
place en exécutant la procédure suivante : 
Racinej +- Nil. 
voisin_droitj +-
voisin_droiti. 
voisin_gauchej +-
voisin_gauchei. 
Envoyer Nouveau_Racine (i, j) à
voisin_droitj. 
Envoyer Nouveau_Racine (i, j) à
voisin_gauchej. 
Envoyer Nouveau_Racine (i, j) à tous les
éléments de l'arbre. 
- Lorsque les membres de l'arbre reçoivent le
message de type Nouveau_Racine (i, j), ils doivent modifier l'identité
de leur racine. 
Racinep +- j. 
- Lorsque les voisins reçoivent le message de type
Nouveau_Racine (i, j), ils doivent mettre à jour leur nouveau
voisin. 
- Au niveau du voisin gauche: voisin_droiti
+- j. 
- Au niveau du voisin droit : voisin_gauchei
+- j. 
- Lorsque la racine revient d'une panne, le
Sous_Racine va informer les voisins ainsi que tous les membres de l'arbre que
la racine va prendre sa place initiale en réalisant les taches suivantes
: 
Envoyer Nouveau_Racine (j, i) à
voisin_droitj. 
Envoyer Nouveau_Racine (j, i) à
voisin_gauchej. 
Envoyer Nouveau_Racine (j, i) à tous les
éléments de l'arbre. 
 |