BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un...

Post on 03-Apr-2015

103 views 0 download

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