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.
|