Moulinette :
La Moulinette est un algorithme d'équilibrage de charge, de maintien de la redondance et d'élimination des doublons.
Cet algorithme est régulièrement utilisé dans le réseau.
A intervalle fixe, les CLs envoient un message d'élection de Leader Moulinette à leurs voisins. Ces voisins répondent avec un délai aléatoire.
Dès que l'initiateur de l'élection a reçu une réponse, il informe le CL de sa position de leader.
Un CL qui a reçu un message de demande d'élection remet à 0 son intervalle d'attente de déclenchement de l'intervalle d'élection.
Algorithme d'élimination des duplications:
- le leader envoie aux autres CL un message de demande du nombre d'entrées redondantes.
- une fois toutes les réponses reçues, ou le délai d'attente dépassé, le leader sélectionne au hasard pour chaque CL ayant des redondance un autre CL avec
lequel il devra il devra tenter de faire disparaître ses entrées redondantes.
- il informe chaque CL ayant des entrées redondantes du CL auquel il doit tenter de confier ses doublons
Les CLs se mettent alors à envoyer à leur CL "partenaire" les entrées dupliquées.
Pour chaque entrée, le partenaire valide la réception s'il n'a pas déjà cette entrée, auquel cas le CL émetteur décrémente le compteur d'exemplaires de
l'entrée.
Algorithme de répartition de la charge :
- le leader envoie aux autres CL un message de demande du nombre d'ACE.
- une fois toutes les réponses reçues, ou le délai d'attente dépassé, le leader forme des couples "CL à beaucoup d'ACE"-"CL à peu d'ACE". Il informe chaque
"CL à beaucoup d'entrée" de son partenaire et du nombre d'ACE dont il pourra se décharger.
Les CLs se mettent alors à envoyer une par une des ACE, jusqu'à avoir atteint leur objectif.
Le CL partenaire n'accepte une entrée que si elle ne figure pas déjà dans son ACL. Une fois acceptée, l'entrée est supprimée de l'ACL du CL émetteur.
Algorithme de maintien de la redondance :
Cet algorithme est relativement coûteux.
- le leader demande à n CL la liste des IDs d'utilisateur pour lesquels ils ont une ACE, ainsi que leur nombre d'exemplaires. Plus n est grand, plus
l'algorithme est efficace mais plus il génère de trafic.
- le leader établit un compte de redondance pour chaque ACE.
- pour les entrées en trop grand nombre, le leader envoie à un possesseur de l'entrée (tiré au hasard) un ordre de suppression d'un exemplaire, jusqu'à que
le nombre normal de duplication soit atteint.
- pour les entrées en trop petit nombre, le leader envoie à un possesseur de l'entrée (tiré au hasard) un ordre de duplication de l'entrée (augmentation du
nombre d'exemplaire), jusqu'à que le nombre normal de duplication soit atteint. La répartition sera automatiquement effectuée par l'algorithme d'élimnation
des entrées dupliquées.