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

27
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ées de données Phuong-Quynh Duong, Elizabeth Phuong-Quynh Duong, Elizabeth Pérez-Cortés, Christine Collet Pérez-Cortés, Christine Collet NODS-LSR/IMAG NODS-LSR/IMAG

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

Page 1: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 2: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 3: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 4: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

4BDA'02

MotivationMotivation

Une applicati

on

Une applicati

on

Niveau de TaF

Application

tolérante aux fautes

Application

tolérante aux fautes

Page 5: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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.

Page 6: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 7: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 8: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 9: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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é

Page 10: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 11: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 12: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 13: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 14: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 15: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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-

Page 16: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 17: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 18: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 19: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 20: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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)

Page 21: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

21BDA'02

Modèle de composantModèle de composant

contenu

racine de composition

conteneur

Interface serveurInterface client

liaison

contrôleur

un composant

contrôleur

Page 22: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

22BDA'02

Un gestionnaire de Un gestionnaire de donnéesdonnées

Stockage

Remplacement

Cache

Persistance

CacheCache

Page 23: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 24: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 25: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 26: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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

Page 27: BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,

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