AntiEntropy
Description générale
Ce composant permet de gérer l'ensemble des opérations nécessaires à l'application d'une anti-entropie entre deux sites.La déconnexion
En complément du LPBCast, ce module permet la gestion du mode déconnecté. En effet, lorsqu’un nœud se déconnecte du réseau, il n’est plus mis à jour par les modifications arrivant après sa déconnexion. Lorsqu’il se reconnecte, afin d’éviter de faire diverger les données répliquées, le nœud doit récupérer et appliquer l’ensemble des patchs qu’il n’a pas reçu durant sa déconnexion.Le log
Lorsque le module LPBCast reçoit un message et que celui-ci est appliqué, il le log dans le module d’anti-entropie ; le module possède donc l’ensemble des messages que le nœud a reçus et appliqués. Le log est sérialisé dans un fichier.L’anti-entropie
Pour qu’un nœud récupère l’ensemble des patchs qu’il n’a pas reçu durant sa déconnexion, il doit lancer une anti-entropie avec un de ses voisins. Pour ce faire, il doit envoyer un message de demande d’anti-entropie contenant l’ensemble des patchs de son log. Le voisin recevant la demande, doit alors renvoyé la différence des patchs qu’il contient dans son log. Le demandeur n’a plus qu’à appliquer un par un les patchs qu’il reçoit en retour de sa demande.Diagramme de composant

Entrées :
AntiEntropy :
- logMessage : permet d’ajouter un message dans le log
Log :
- addMessage : permet d'ajouter un message dans le log
Sorties :
AntiEntropy :
- answerAntiEntropy : permet de récupérer la différence entre un tableau de patch donné et le log
- getContentForAskAntiEntropy : permet de récupérer un tableau contenant les identifiants des messages contenus dans le log
- getLog : retourne le log
Log :
- logSize : permet de récupérer le nombre d’éléments sotckés dans le log
- getMessage : permet de récupérer un message dans le log en fonction de son identifiant
- getMessagesId : permet de récupérer la liste des identifiants des patchs stockés dans le log.
- existInLog : permet de savoir si un message d’identifiant donné est dans le log
- getDiffKey : permet de récupérer le tableau de la différence entre les entrées du log et un tableau d’identifiant donné.
- getAllEntries : retourne le tableau des entrées contenues dans le log
Diagramme de classe

Version 1.9 last modified by Julien MAIRE on 21/02/2008 at 18:45
![[img] [img]](/xwiki/skins/albatross/mimetypes/jpg.png)

Comments: 0