1 / 43

Réplication optimiste pour la Tolérance aux pannes des agents mobiles transactionnels

Réplication optimiste pour la Tolérance aux pannes des agents mobiles transactionnels. Présenté par : ZEGHACHE Linda Centre de Recherche sur l’Information Scientifique et Technique (CERIST), Alger, Algérie. PALN. Introduction

chaney
Télécharger la présentation

Réplication optimiste pour la Tolérance aux pannes des agents mobiles transactionnels

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Réplication optimiste pour la Tolérance aux pannes des agents mobiles transactionnels Présenté par : ZEGHACHE Linda Centre de Recherche sur l’Information Scientifique et Technique (CERIST), Alger, Algérie

  2. PALN • Introduction • Approche agents mobiles • La tolérance aux pannes des agents mobiles • Agents mobiles transactionnels • Protocole proposé • Conclusion

  3. Introduction • Les applications de traitement de l’information ont souvent exigé d'être de plus en plus distribuées. Les systèmes distribués qui les supportent sont souvent basés sur le modèle Client/Serveur. • Le volume d'informations manipulées par les différentes applications n'a pas cessé de croître. • La capacité de transport de ces derniers est devenue, considérablement faible. • Pour cela, il était nécessaire de moderniser le modèle Client/Serveur afin de supporter plus efficacement les interactions entre les clients et les serveurs.

  4. Approche agent mobile

  5. L'approche d'agents mobiles • Le schéma de mobilité des agents mobiles dérive de deux domaines différents, i.e les agents venant de l’intelligence artificielle avec les systèmes multi-agents et des systèmes distribués avec la migration de processus. • Le schéma à agents mobiles est une généralisation de la migration de processus où le déplacement est à l’initiative même du code.

  6. Définition de l’agent mobile • Un agent est programme autonome qui agit par délégation pour le compte d’une autorité donnée (personne ou organisation). • Il migre d'un site vers un autre et interagit avec d'autres agents et ressources, puis éventuellement revient à son site natal une fois sa tâche accomplie.

  7. Modèles d’exécution des agents mobiles Système d’agents Système d’agents Place Place Place Place Système d’agents

  8. Système d’agent mobile • Support d’exécution • Support de communication • Support de migration • Support de sécurité

  9. La tolérance aux pannes des agents mobiles

  10. Le modèle de fautes des agents mobiles Machine Machine Machine a a a Place Place Place Panne de l’Agent Panne de la place Machine Panne du nœud a Machine Place a Place Panne du réseau

  11. Propriétés des agents mobiles tolérants aux fautes • L’apparition d’une faute dans l’environnement d’exécution d’un agent mobile → la perte totale ou partielle de cet agent; • Détecter la défaillance de l’agent, • Besoin d’un mécanisme de détection de défaillance très fiable → faire la distinction entre un agent défaillant et un agent retardé par liens de communication lents. • Malheureusement, ceci n’est pas dans un environnement ouvert tel que l’Internet.

  12. Propriétés des agents mobiles tolérants aux fautes • Cette incertitude peut mener à deux situations : • La non détection de la panne → attendre le retour d’un agent défaillant → Blocage. • La fausse détection de panne → Lancer un nouvel agent → exécution multiples du même agent. • Les agents mobiles tolérants aux pannes doivent avoir les deux propriétés suivantes : • Non blocage (Non Blocking) : Liveness • Exécution exactement une fois (Exactly once) : Safety

  13. Les Techniques de tolérance aux pannes Tolérance aux pannes Réplication Checkpointing Temporelle Spatiale

  14. Checkpointing (Approches par points de reprise) Mémoire stable Mémoire stable Mémoire stable Sauvegarde de l’agent (code +état) Reprise de l’agent a1 a2 a0 a1 a1 a2 P0 P1 P2

  15. Checkpointing (Approches par points de reprise) Problème : Mémoire stable Mémoire stable Mémoire stable a0 a1 a2 a1 a2 P0 P1 P2 Blocage le de l’agent jusqu’à recouvrement de la place

  16. La réplication • La réplication a été introduite pour éviter le blocage et masquer les erreurs. • 2 types de réplications: • Réplication temporelle • Réplication spatiale

  17. Réplication temporelle I_Am_Alive Détection de panne Stage Stage Stage a1 a0 a1 a2 a2 P0 P1 P0 Stage a2 a2 P2’

  18. La réplication Spatiale Stage 2 Stage 1 a1 a2 P12 Agreement Protocol P22 Stage 0 a2 a1 a0 a1 a1 P11 P21 P0 a2 a1 P20 P10

  19. Agents mobiles transactionnels

  20. Agents mobiles transactionnels • La mobilité et l’autonomie des agents mobiles les rendent très adaptés aux transactions distribuées. Un agent mobile peut visiter différents nœuds pour exécuter les différentes tâches de la transaction répartie sur le réseau. • Les opérations de l'agent mobile doivent s'exécuter de façon atomique pour assurer la validité de la transaction. Ce type d’exécution qualifie les agents mobiles transactionnels. • Imaginons le scénario suivant :

  21. Scénario d’exécution Réservation billet d’avion Client Agent system Client Agent Client GUI Mobile agent Réservation d’Hôtel Requête Liste des sites à visiter Location voiture

  22. Modèle de fautes d’infrastructure • Faute de l’agent : • Echec de migration (lien réseau, le nœud destinataire n’est pas disponible), Problème d’exécution. • Faute du nœud : • Le nœud est temporairement indisponible , Le nœud est en panne, le nœud est isolé dans une autre partition • Faute du réseau : • La déconnexion des liens de communication peut causer la perte des messages, la perte de l’agent, l’isolation des nœuds dans d’autres partitions

  23. Modèle de fautes sémantiques • L’agent exécute l’ensemble des tâches sur les différents nœuds en une seule transaction : • Si la réservation de billet n’a pas eu lieu , l’exécution de l’agent est arrêtée ( abandonner la transaction) • Si l’hôtel ne peut être réservé, la réservation du billet est annulée

  24. Assurer la tolérance aux pannes • Assurer la tolérance aux pannes : • De l’agent • Du nœud • Des liens réseaux • Assurer l’exécution de la transaction sans blocage (validation ou annulation) sans duplication (une fois) • Propriété exactly_once doit être préservée • Atomicité de l’exécution doit être garantie même en cas de panne de composant logiciel ou materiel.

  25. Protocole proposé

  26. Architecture du système d’agents TM P2 P1 Av0 Av1 LDT LD LD SU SU SU I_am_alive I_am_alive I_am_alive P3 Am LD SU

  27. Structure du LD • IDAgent : Identificateur de l’agent, • IDTransaction : Identificateur de la transaction, • Stage: L’étape d’exécution • State : L’état d’exécution de l’agent : • Running, l’agent est en cours d’exécution, • Terminated, l’agent a terminé son exécution avec succès, • Failed, faute sémantique (service non disponible), • Crashed, l’agent est tombé en panne durant son exécution, • Pred : L’adresse du nœud précédent. • Succ : L’adresse du nœud suivant.

  28. Structure du LDT • IDTransaction : Identificateur de la transaction, • TState : L’état d’exécution de la transaction: • Commited, • Aborted, • Uncommited. • Path : La liste des noeudsalternatifsoul’agents’estexécuté (paths[i] = {pijoù Si s’estexécuté, j=1,n}

  29. Comportement de l’agent mobile TM End_Exec Am Am Av0 Av1 LDT SU I_am_alive I_am_alive I_am_alive P1 P2 P3 Am Am Am LD LD LD SU SU SU

  30. Comportement de l’agent mobile • Envoie le message ‘IamArrived‘ au Wa sur le site précédent • S’enregistre au niveau du LD • Met son état à running dans le LD • S’exécute • Envoie périodiquement des messages ‘IamAlive’ à wa sur le site précédent • Met son état à terminated dans le LD • Envoie un message ‘IamLeaving’ à wa sur le site précédent • Crée un wa sur le site courant et migre vers le site suivant

  31. Comportement de l’agent de veille I_am_alived TM I_am_alived P1 P2 Av0 Avk+2 Avk+1 Avk Av2 Av1 LD LD LD SU SU SU If (i ≤ k) wa0 → wa1→ … → wai-1 → ma • Else wa0 → wai-k+1 … → wai-1 → ma I_am_alived I_am_alived Pk+2 pk+1 PK LD LD LD SU SU SU

  32. Panne de l’agent mobile Pi-2 Pi-1 Avi-1 Avi-2 LD LD I_am_alive Time_out SU SU Pi Am Am` Am` LD SU

  33. Panne de la place Pi-2 I_am_alive Time_out Avi-1 Avi-2 Pi-1 LD Pi SU Am Am` LD LD SU SU Pi` Am` LD SU Nœud alternatif

  34. Panne de la place Pi-2 I_am_alive Time_out Avi-1 Avi-2 Pi-1 LD Pi SU Am Pas de nœuds alternatif Am` LD LD SU SU Stop_Exec TM Am` LD SU Transaction Manager

  35. Panne sémantique Pi-2 I_am_alive I_am_failed Avi-1 Avi-2 Pi-1 LD Pi SU Am Pas de nœuds alternatif Am` LD LD SU SU Stop_Exec TM Am` LD SU Transaction Manager

  36. Panne de l’agent veille Pi-2 Pi-1 Pi I_am_alive Avi Avi-1 Avi-2 LD LD LD SU SU SU Time_out I_am_alive

  37. Comportement du Transaction Manager • Phase de lancement: Contrôler Wa0 sur le premier nœud de l’itinéraire (tête de la chaine de dépendance). • Phase de validation : Valider la transaction exécutée par l’agent mobile sur tous les nœuds visités.

  38. Détection des exécutions multiples S0 S1 S2 S3 S4 S5 P21 → P41 Ma Ma Ma ma1 ma1 Ma Ma Ma Ma Ma Ma → → P01 → P11 P51 P61 → → → P22 P42 → END Client DOUBLE S0 S1 P12 P23 P01 → → Stop S2 S2 P3 S3 S3 Double S4 STOP

  39. Comportement du Transaction Manager • Quatre types de messages : • Start : TM enregistre l a transaction dans le LDT • Double : TM met l’agent mobile en attente si la transaction n’est pas encore décidée et ajoute le préfixe d’itinéraire dans le PATH. • Stop : TM met l’agent mobile en attente pour un temps T (T assez suffisant pour exécuter la transaction) • End : TM lance la validation de la transaction.

  40. Comportement de Transaction Manager • Le TM lance le protocole de validation en envoyant une demande de vote à tous les nœuds visités. • Si tous les nœuds répondent par un YES le TM envoie le COMMIT • S’il existe des nœuds qui répondent par un non le TM construit une nouvelle liste de nœuds à valider en utilisant les doubles exécutions. • PATH : S0 S5 S2 S4 S1 S3 P01 P11 P21 P31 P41 P51 Y Y Y N Y Y P02 P12 P22 P32 P23

  41. Validation Atomique • Au niveau du Transaction Manager, un protocole de validation atomique est mis en place afin valider la transaction globale • Le TM, doitêtretolérant aux pannes.

  42. Conclusion • Approchebaséesur la réplicationtemporelle, la chaine de dépendance et le checkpointing. • La détection de fautesn’est pas parfaite • Les proprietés du non blocage et exactly_oncesontassurées • Réplication du TM pour la tolérance aux pannes • Implémentationd’un Protocoled’accord

More Related