BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un...
-
Upload
blanchefleur-ramos -
Category
Documents
-
view
103 -
download
0
Transcript of BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un...
BDA'02 1
Tolérance aux fautes Tolérance aux fautes (TaF) adaptable pour (TaF) adaptable pour
les systèmes à les systèmes à composants : application composants : application
à un gestionnaire à un gestionnaire de donnéesde données
Phuong-Quynh Duong, Elizabeth Phuong-Quynh Duong, Elizabeth Pérez-Cortés, Christine ColletPérez-Cortés, Christine Collet
NODS-LSR/IMAGNODS-LSR/IMAG
2BDA'02
PlanPlan
MotivationMotivation ObjectifObjectif DémarcheDémarche
Niveau de TaFNiveau de TaF Choix des élémentsChoix des éléments Intégration des éléments (redondance, Intégration des éléments (redondance,
détection, récupération)détection, récupération) Application de la démarche aux Application de la démarche aux
gestionnaires de donnéesgestionnaires de données
3BDA'02
MotivationMotivation
Une applicati
on
Une applicati
on
Besoins de fiabilité
Application fiableApplication fiable
1. Éviter que les fautes se produisent2. Tolérer les conséquences
4BDA'02
MotivationMotivation
Une applicati
on
Une applicati
on
Niveau de TaF
Application
tolérante aux fautes
Application
tolérante aux fautes
5BDA'02
MotivationMotivation
Travaux existants sur la TaF Travaux existants sur la TaF adaptable adaptable Peu de choix en termes d’adaptationPeu de choix en termes d’adaptation Approche « boîte-noire »Approche « boîte-noire »
Constation : pour une TaF adaptable Constation : pour une TaF adaptable et efficace, les activités de TaF ne et efficace, les activités de TaF ne peuvent pas être orthogonales aux peuvent pas être orthogonales aux activités métier de l’application. activités métier de l’application.
6BDA'02
ObjectifObjectif
Fournir la tolérance aux fautes à la Fournir la tolérance aux fautes à la demande avec plus de flexibilitédemande avec plus de flexibilité
Hypothèse : applications cibles à base de Hypothèse : applications cibles à base de composants griscomposants gris Composants gris exposent leur architecture Composants gris exposent leur architecture
internesinternes Solution : canevas de tolérance aux fautes Solution : canevas de tolérance aux fautes
Ensemble d’interfaces avec une implantation Ensemble d’interfaces avec une implantation partielle partielle
7BDA'02
PlanPlan
MotivationMotivation ObjectifObjectif DémarcheDémarche
Niveau de TaFNiveau de TaF Choix des élémentsChoix des éléments Intégration des éléments (redondance, Intégration des éléments (redondance,
détection, récupération)détection, récupération) Application de la démarche aux Application de la démarche aux
gestionnaires de donnéesgestionnaires de données
8BDA'02
DémarcheDémarche
1.1. Exprimer le niveau de TaF d’une Exprimer le niveau de TaF d’une manière précisemanière précise
2.2. A partir du niveau de TaFA partir du niveau de TaF Déduire les éléments redondants Déduire les éléments redondants Déduire les éléments de surveillance Déduire les éléments de surveillance
et d’analyse associéset d’analyse associés3.3. Faire évoluer l’architecture de Faire évoluer l’architecture de
l’application cible en intégrant les l’application cible en intégrant les éléments choisis en 2éléments choisis en 2
=> Canevas de TaF : ensemble d’interfaces=> Canevas de TaF : ensemble d’interfaces
9BDA'02
Démarche (suite)Démarche (suite)
Personnalisation (Personnalisation (customizationcustomization)) Application de la démarche avant Application de la démarche avant
l’exécutionl’exécution
=> Canevas de personnalisation=> Canevas de personnalisation Adaptabilité dynamique (Adaptabilité dynamique (adaptivityadaptivity))
Application de la démarche durant Application de la démarche durant l’exécutionl’exécution
=> Canevas d’adaptabilité=> Canevas d’adaptabilité
10BDA'02
PlanPlan
MotivationsMotivations ObjectifObjectif DémarcheDémarche
Niveau de TaFNiveau de TaF Choix des éléments (redondance, Choix des éléments (redondance,
détection, récupération)détection, récupération) Intégration des élémentsIntégration des éléments
Application de la démarche aux Application de la démarche aux gestionnaires de donnéesgestionnaires de données
11BDA'02
Niveau de TaFNiveau de TaFClasses de fautes prises en Classes de fautes prises en
comptecompteByzantine
ValeurRéponse tardive
Omission
Panne franche
A Bune faute B est aussi une faute A
amnésiqueamnésiquepartiellement partiellement amnésiqueamnésiquepausepausedéfinitivedéfinitive
12BDA'02
Niveau de TaFNiveau de TaFDéfinitionDéfinition
FT(S) = {<classe de fautes f, niveau l>}
f {panne franche, omission, réponse tardive, valeur, byzantine}
l {nothing, signaling, unmasking, masking}
l(f1) ≥ l(f2) if f1 f2
nothing < signaling < unmasking < masking
13BDA'02
PlanPlan
MotivationMotivation ObjectifObjectif DémarcheDémarche
Niveau de TaFNiveau de TaF Choix des éléments (redondance, Choix des éléments (redondance,
détection, récupération)détection, récupération) Intégration des éléments Intégration des éléments
Application de la démarche aux Application de la démarche aux gestionnaires de donnéesgestionnaires de données
14BDA'02
Choix des élémentsChoix des éléments
A partir du niveau de TaFA partir du niveau de TaF Eléments redondants (récupération Eléments redondants (récupération
incluse)incluse) Eléments de surveillanceEléments de surveillance Eléments d’analyse des informations de Eléments d’analyse des informations de
surveillancesurveillance 3 tableaux3 tableaux Le contenu des 3 tableaux est établi Le contenu des 3 tableaux est établi
selon l’état de l’artselon l’état de l’art
15BDA'02
Eléments redondantsEléments redondantsUnmaskinUnmaskin
ggMaskingMasking
Panne franche Panne franche amnésique, amnésique, partiellement partiellement amnésiqueamnésique
CheckpointCheckpointing, ing, JournalisatiJournalisationon
Duplication Duplication
(≠ duplication (≠ duplication passive)passive)
Panne franche Panne franche définitivedéfinitive
Duplication Duplication passivepassive
-idem--idem-
OmissionOmission JournalisatiJournalisationon
(req,res)(req,res)
-idem--idem-
Réponse tardiveRéponse tardive XX -idem--idem-
ValeurValeur N/AN/ADuplication active Duplication active avec au moins 3 avec au moins 3
copiescopies
ByzantineByzantine N/AN/A -idem--idem-
16BDA'02
Eléments de surveillanceEléments de surveillance
Classe de Classe de fautesfautes
Informations diagnostiquesInformations diagnostiques
Panne Panne franchefranche
Messages de battements de Messages de battements de coeurcoeur
OmissionOmission Moment où la requête est Moment où la requête est livrée et ACK quand la livrée et ACK quand la réponse est envoyéeréponse est envoyée
Réponse Réponse tardivetardive
Moment où la requête est Moment où la requête est livrée et la réponse livrée et la réponse correspondantcorrespondant
ValeurValeur Messages envoyés vers Messages envoyés vers d’autres systèmesd’autres systèmes
ByzantineByzantine Toutes les informations Toutes les informations décrites au dessusdécrites au dessus
17BDA'02
Processus d’analyse Processus d’analyse Classe de Classe de
fautesfautesOn suppose que la faute ait On suppose que la faute ait
lieu silieu si
Panne Panne franchefranche
Le message de battement de Le message de battement de cœur n’arrive pas au moment cœur n’arrive pas au moment prévuprévu
OmissionOmission Pas d’ACK reçu à T+Pas d’ACK reçu à T+tt
Réponse Réponse tardivetardive
Comme le cas d’omissionComme le cas d’omission
ValeurValeur La valeur est différente de la La valeur est différente de la valeur majoritairement trouvée valeur majoritairement trouvée du même messagedu même message
ByzantineByzantine Combinaison de l’analyse pour Combinaison de l’analyse pour le cas d’omission et de valeurle cas d’omission et de valeur
18BDA'02
Choix des élémentsChoix des éléments
FT(S) = {<classe de fautes , niveau>}
Éléments d’analyse
Eléments de surveillance
Eléments redondants
19BDA'02
PlanPlan
MotivationMotivation ObjectifObjectif DémarcheDémarche
Niveau de TaFNiveau de TaF Choix des éléments (redondance, Choix des éléments (redondance,
détection, récupération)détection, récupération) Intégration des éléments Intégration des éléments
Application de la démarche aux Application de la démarche aux gestionnaires de donnéesgestionnaires de données
20BDA'02
Application de l’approche à Application de l’approche à un gestionnaire de donnéesun gestionnaire de données
Modèle de composantsModèle de composants Architecture du gestionnaire de Architecture du gestionnaire de
donnéesdonnées Service de persistance Service de persistance PerseusPerseus
Un premier niveau de TaF (crash, Un premier niveau de TaF (crash, unmasking)unmasking)
Un deuxième niveau de TaF (crash, Un deuxième niveau de TaF (crash, masking)masking)
21BDA'02
Modèle de composantModèle de composant
contenu
racine de composition
conteneur
Interface serveurInterface client
liaison
contrôleur
un composant
contrôleur
22BDA'02
Un gestionnaire de Un gestionnaire de donnéesdonnées
Stockage
Remplacement
Cache
Persistance
CacheCache
23BDA'02
Un niveau de TaF : (crash, Un niveau de TaF : (crash, unmasking)unmasking)Byzantine (n)
Valeur (n)Réponse tardive (n)
Omission (n)
Panne franche (u)
Surveillance : battements de coeur
Eléments redondants : journalisation, checkpointing
Récupération : trouver & installer un état cohérent en se basant sur le journal & checkpoint
24BDA'02
Un niveau de TaF : (crash, Un niveau de TaF : (crash, unmasking)unmasking)
Stockage
Persistance
Cache
recover
heartbeatcheckpoint
FACADE
log
surveillasurveilla
ncence
récupérationrécupération
éléments redondantséléments redondants
25BDA'02
Un autre niveau de TaF : (crash, Un autre niveau de TaF : (crash, masking)masking)
Byzantine (n)
Valeur (n)Réponse tardive (n)
Omission (n)
Panne franche (m)Surveillance : battements de coeur
Eléments redondants : Duplication avec au moins 2 copies activesRécupération : implicite dans la duplication
26BDA'02
Un autre niveau de TaF : (crash, Un autre niveau de TaF : (crash, masking)masking)
Stockage
Persistance
Cache
heartbeat
Objet de liaison
(duplication)
create new replica
Gestionnaire du
niveau de TaF
Canevas de duplication
surveillancesurveillance
éléments redondants
éléments redondants
récupérationrécupération
27BDA'02
RésuméRésumé Premiers résultats vers la TaF adaptablePremiers résultats vers la TaF adaptable
Définition de la démarcheDéfinition de la démarche Définition du niveau de TaFDéfinition du niveau de TaF Application de la démarche à un gestionnaire de Application de la démarche à un gestionnaire de
donnéesdonnées A faire :A faire :
Définir l’architecture fonctionnelle du canevasDéfinir l’architecture fonctionnelle du canevas Définir les interfaces du canevas, les patrons Définir les interfaces du canevas, les patrons
modélisant les interactions entre les éléments du modélisant les interactions entre les éléments du canevascanevas
Etudier l’aspect de l’adaptabilité dynamique du Etudier l’aspect de l’adaptabilité dynamique du canevascanevas