La réplication dans les réseaux mobiles ad hoc Présenté par : H. BENKAOUHA
Introduction Systèmes distribués sujets à des pannes Un système tolérant aux fautes Délivrer ses services même en présence des fautes Pas de méthodes de tolérance aux fautes valables dans l‘absolu. Méthodes adaptées à des hypothèses particulières
Techniques de Tolérance aux fautes Recouvrement / Reprise Redondance Information : bits, Temps : refaire une action, Physique : matériel, processus) Détection Réplication
Réplication : Définition Ou Duplication Dupliquer une ressource en plusieurs images Sauvegarde sur différents serveurs. Représenter un seul objet : L’initial Image = réplica = copie Ressource : donnée, service, code, …
Réplication : Pourquoi? Elever le degré de Tolérance aux Pannes Disponibilité. Fiabilité de l’information Temps d’accès à l’information Eviter la surcharge du système : Réduire le coût du trafic dans le réseau Possibilité de traitement parallèle de requêtes.
Et en environnement mobile? La mobilité augmente le temps d’accès à une donnée => réduit la disponibilité => il faut répliquer Les contraintes rendent le système vulnérable => Risque de pannes augmente => Pour les tolérer il faut répliquer Mais il faut gérer les contraintes de mobilité : énergie, bande passante, … Il faut un bon mécanisme de localisation.
Réplication : Comment? Comment dupliquer les données? Choix de stratégie Où placer les copies? => Choix des serveurs Quand mettre à jour? => Problème de cohérence Comment le client retrouvera le contenu?
Réplication : La cohérence Gestion des copies lors des mises à jour. Délai pour garantir la cohérence Sinon problème de temps de réponse global Propagation immédiate : grand cohérence mais coûteuse Propagation retardée : coût faible mais faible cohérence Choix selon l’application distribuée
Réplication : Défis à relever Partitionnement Cas où aucune copie sur une partition Prévoir le partitionnement Copie sur les futures partitions La cohérence? L’énergie Un serveur trop sollicité => Bonne répartition des demandes Prendre en considération le niveau de batterie avant de répliquer
Réplication : Conception d’un protocole A quel moment un nœud devra déclencher le processus de réplication? Quels sont les critères de sélection des serveurs de réplicas? Comment un nœud trouvera un serveur? Comment assurer une disponibilité élevée? Comment assurer la cohérence?
Réplication : Critères de performance Coût de réplication : nb de serveurs. Coût de m.à.j. : nb de sauts pour exécuter requête Coût de stockage : nb d’enregistrements sur un serveur Disponibilité : pourcentage de tentatives réussies d’accès aux données Cohérence : consistency
Stratégies de Réplication Réplication pessimiste Bloque les demandes lors des mises à jour Garantir une forte cohérence Réplication optimiste Accéder à n’importe quel réplica à tout moment Garantir une disponibilité très élevée
Réplication pessimiste Une seule copie fortement disponible Mise à jour pour les autres Accès interdit à une copie pendant la mise à jour Les techniques : Copie primaire Quorums
Réplication optimiste Pas de limite à la disponibilité Utilisateur servi immédiatement Nécessite une procédure de gestion de conflits Plusieurs approches pour l’implémenter
Classification pour Ad Hoc selon l’application Protocoles sans mises à jour Une copie = donnée élémentaire Pas de mise à jour à une donnée élémentaire Toutes les données de même taille Protocoles avec mise à jour Dérivés de la première classe Mise à jour dans des intervalles constants (périodique) ou des intervalles inconstants (apériodiques)
Protocoles sans mise à jour Un nœud détient la copie originale Des réplicas placés sur d’autres nœuds Au bout d’une période les réplicas sont replacés Nouvel emplacement déterminé sur la base : Des fréquences d’accès aux données La topologie du réseau Donnée accessible si le nœud demandeur : Détient la copie originale ou un réplica nœud à un certain nb de sauts qui détient l’originale ou une réplica
Protocoles avec mise à jour M.à.j. réalisée par le nœud qui a l’originale. Après m.à.j. les réplicas inaccessibles. Protocole de m.à.j. périodique : Allouer un réplica sur la base de la fréquence d’accès, délai de m.à.j. et périodicité de m.à.j. Protocole de m.à.j. apériodique : Données modifiées à tout moment. Modifs. sur l’originale puis propagation sur les réplicas Utilisation d’un protocole de cohérence
Exemple (1) de protocole de réplication : SAF Static Access Frequency Alloue périodiquement C données. La copie est chargé selon son propre besoin => Pas de mécanisme pour la création des copies. Se base sur l’ordre décroissant des fréquences d’accès. Connexion avec le nœud détenteur de l’originale! Un nœud qui veut accéder à un réplica diffuse une requête sur le réseau.
Exemple (2) de protocole de réplication : DAFN Dynamic Access Frequency and Neighbourhood En 2 étapes. Etape 1 : SAF. Un nœud ayant une copie et l’originale est chez son voisin => suppression de la copie 2 nœuds voisins ayant la même copie => suppression de la copie ayant la fréquence min. Espace de copie supprimée réalloué
Exemple (3) Amélioration de DAFN Diminuer l’effet du partitionnement. Condition supplémentaire pour supprimer une copie : lien radio stable. Chaque nœud connaît sa localisation, vitesse, direction => GPS DAFN-S1 et DAFN-S2 Différence dans le calcul du seuil de stabilité des liens radios.
Exemple (4) Rajout de mise à jour E-DAFN Version mise à jour périodique. Les réplicas sur des nœuds non reliés au nœud détenant l’originale seront invalidées. Fonctionne de la même façon que DAFN sauf qu’il utilise une valeur d’une variable PT au lieu des fréquences PT = Pij j – Pij (Tj – tj)
Exemple (4) suite Pij j Tj tj Probabilité qu’un nœud i envoie une demande d’accès à une donnée j à une unité de temps : fréquence d’accès. j Temps restant pour m.à.j. de j Tj Période de m.à.j. de la donnée j. Valeur Stable. tj Temps passé après la dernière m.à.j.