Notions de Faute, Erreur et Panne

Les types, la frรฉquence et les solutions aux pannesย 

Nous dรฉcrirons dโ€™abord la relation existante entre les notions de faute, dโ€™erreur et de panne aprรจs avoir donnรฉ leurs dรฉfinitions [1][7]. Ensuite, nous prรฉsenterons les diffรฉrents types de panne d’un systรจme ร  large รฉchelle tel que le nรดtre. Enfin nous รฉtudierons la frรฉquence de ces pannes et prรฉsenterons les solutions existantes pour tolรฉrer (prรฉvenir ou rรฉparer) ces pannes.

Notions de Faute, Erreur et Panneย 

โ– Panne (outage) : Un systรจme est dit en panne lorsqu’il ne se comporte pas conformรฉment ร  sa spรฉcification. Une panne est aussi appelรฉe ยซ dรฉfaillance ยป . Une dรฉfinition plus dรฉtaillรฉe sโ€™appuyant sur les attributs tels que la contrรดlabilitรฉ, la consistance, les consรฉquences sur le systรจme et le domaine de panne est donnรฉe en [1].
โ– Erreur (error) : Une erreur est un รฉtat anormal d’un systรจme, susceptible de causer une panne, mais ne la provoque pas nรฉcessairement (ou pas immรฉdiatement) soit parce quโ€™il y a une redondance interne suffisante pour que le systรจme continue de fournir le service, soit la partie erronรฉe de lโ€™รฉtat nโ€™est pas utilisรฉe pour telle ou telle fonction. Le temps entre lโ€™apparition de lโ€™รฉtat dโ€™erreur et la panne est le dรฉlai de latence. Une erreur est latente tant quโ€™elle nโ€™a pas provoquรฉ de panne.
โ– Faute (fault) : Une faute peut รชtre une action, un รฉvรฉnement ou une circonstance qui peut entraรฎner une erreur.

On remarque quโ€™il ya une relation de causalitรฉ entre Faute, Erreur et Panne. Par exemple, dans le cadre des systรจmes pair-ร -pair, la panne dโ€™un nล“ud est une faute (pour le systรจme) qui a pour consรฉquence lโ€™erreur : le nล“ud nโ€™est plus accessible. Si un autre pair veut accรฉder au nล“ud, cela sera impossible. Le systรจme nโ€™est donc plus conforme ร  sa spรฉcification, on a donc une panne.

La tolรฉrance aux pannes vise ร  prรฉserver le service rendu par le systรจme malgrรฉ lโ€™occurrence de fautes. Le terme ยซ tolรฉrance aux fautes ยป, en allusion au systรจme lui mรชme, est gรฉnรฉralement utilisรฉ ร  lร  place de ยซ tolรฉrance aux pannes ยป ; les fautes du systรจme รฉtant les pannes de ses composants, tolรฉrer ses fautes revient ร  tolรฉrer les pannes de ses composants. Nous parlerons donc de fautes et de pannes selon le niveau auquel nous nous situons, mais cela correspondra toujours aux pannes des composants (nล“uds, rรฉseau de communication).

Les diffรฉrents types de panne

La classification des diffรฉrents types de panne รฉtant sous-jacente au modรจle du systรจme utilisรฉ, nous allons dโ€™abord prรฉsenter lโ€™architecture de notre systรจme avant dโ€™รฉtudier ses pannes. Rappelons que notre objectif est dโ€™acheminer des transactions dans un rรฉseau en pair-ร -pair qui, de par sa dรฉfinition mรชme, est un environnement trรจs volatile oรน les dรฉconnexions frรฉquentes de nล“uds doivent รชtre prises en charge afin de gรฉrer la cohรฉrence de la base de donnรฉes rรฉpartie.

Lโ€™architecture de notre systรจme

Elle correspond ร  celle dโ€™une base de donnรฉes rรฉpartie au-dessus dโ€™un rรฉseau ร  large รฉchelle. Elle dรฉfinit quatre catรฉgories de nล“uds. La figure suivante prรฉsente lโ€™architecture de notre systรจme et montre ses diffรฉrents types de nล“uds :

โ€ข Description de lโ€™architecture :ย 

โžค DBMS Node : un DBMS Node est un nล“ud stockant localement une rรฉplique, partielle ou entiรจre, de la base de donnรฉes avec un SGBD. On distingue gรฉnรฉralement deux groupes de DBMS Nodes, ceux qui ont des rรฉpliques en lecture seule (read-only) et ceux ayant des rรฉpliques en lecture et รฉcriture (read-write).
โžค Catalogue Node : cโ€™est un nล“ud faisant partie du catalogue gรฉrant les mรฉtadonnรฉes. Nous ne nous intรฉresserons pas ร  ce type de nล“ud. En effet nous considรฉrons le catalogue comme une application ร  part avec laquelle nous interagissons pour lire et/ou รฉcrire dans les mรฉtadonnรฉes. Un exemple dโ€™une telle application est lโ€™exemple de Juxmem [2][14] qui est aujourdโ€™hui toujours en phase de dรฉveloppement.
โžค TM Node : un Transaction Manager Node est un nล“ud chargรฉ dโ€™acheminer les transactions des applications vers les DBMS Node. Lorsquโ€™il reรงoit une transaction dโ€™un utilisateur, il choisit, en fonction des charges et fraรฎcheurs (et รฉventuellement dโ€™autres paramรจtres), le DBMS Node le plus adรฉquat pour traiter la requรชte du client. Une รฉtude sur le routage est faite en [3]. Elle se fonde sur la notion de fraรฎcheur.
โžค Client Node : cโ€™est un nล“ud demandant un service, un client.

Remarque : un nล“ud peut-รชtre ร  la fois un Catalogue Node, un DBMS Node et/ou un TM Node, et comme on est en P2P, il peut jouer le comportement dโ€™un client ou dโ€™un serveur selon les circonstances.

โ€ข Fonctionnement du systรจme de routage :ย 

Le systรจme fonctionne comme suit : un nล“ud client se connecte ร  un TM Node et lui envoie sa transaction. Le TM Node analyse la transaction afin de savoir ร  quelle partie de la base elle veut accรฉder. Il identifie par la suite lโ€™ensemble des DBMS Nodes stockant une rรฉplique des donnรฉes sollicitรฉes. Il en choisit le plus optimal (i.e. le nล“ud avec le coรปt d’exรฉcution le plus faible) en se basant sur les informations stockรฉes dans le catalogue. Et enfin il route la transaction vers le nล“ud DBMS choisi pour que celui-ci fasse lโ€™exรฉcution. Aprรจs lโ€™exรฉcution de la transaction, le DBMS Node envoie directement les rรฉsultats au nล“ud client qui avait envoyรฉ la requรชte et un message au TM Node pour lui faire part de la bonne terminaison de la transaction. Durant ce processus faisant intervenir au moins trois nล“uds, des pannes peuvent survenir ร  tout moment. Et suivant le niveau oรน intervient la panne on peut avoir plusieurs cas que nous allons dรฉcrire et classer dans la section ci-aprรจs.

Mais avant dโ€™effectuer ce classement, notons dโ€™abord quโ€™un SGBD est composรฉ de plusieurs composants ou modules chargรฉs dโ€™opรฉrer chacun une tรขche spรฉcifique nรฉcessaire au bon fonctionnement du SGBD. Lโ€™un de ces composants est le module ou gestionnaire de transactions [4] garant du traitement des transactions (une transaction รฉtant un ensemble dโ€™opรฉrations dโ€™accรจs et de mise ร  jour de donnรฉes รฉmises par un utilisateur). On peut le prรฉsenter comme suit :

โžค Module de transactions : il est responsable du traitement des transactions dans lโ€™architecture dโ€™un SGBD. Une transaction รฉtant un ensemble dโ€™opรฉrations dโ€™accรจs et de mise ร  jour de donnรฉes, ces opรฉrations doivent รชtre traitรฉes comme un tout. Le module de transactions doit assurer dโ€™une part lโ€™indivisibilitรฉ des opรฉrations soumises, la cohรฉrence du systรจme aprรจs lโ€™exรฉcution de lโ€™ensemble des opรฉrations, lโ€™isolation des traitements par rapports aux autres traitements en cours dโ€™exรฉcution et enfin la persistance des rรฉsultats. Ce sont les propriรฉtรฉs ACID.

Les diffรฉrents types de panneย 

โžค Panne de SGBD : elle fait rรฉfรฉrence ร  la panne du serveur SGBD qui tourne sur un DBMS Node.
โžค Panne du module de transactions : cโ€™est la panne du module de transactions du serveur SGBD dโ€™un DBMS Node.
โžค Panne de nล“ud : panne dโ€™un nล“ud du systรจme. Le nล“ud peut รชtre un nล“ud TM Node, DBMS Node ou Client Node. La panne peut-รชtre due ร  une coupure dโ€™alimentation, des problรจmes logiciels, matรฉriels (disques, Ram, …).
โžค Panne de communication : messages perdus ou non dรฉlivrables, partitionnement du rรฉseau (network partitioning).

Remarque : Les pannes de nล“ud du type DBMS Node, de SGBD et de module de traitement de transactions induisent les mรชmes consรฉquences: le nล“ud ne peut pas exรฉcuter de transactions. De ce fait, elles peuvent avoir le mรชme traitement. Nous ne considรฉrerons donc pas les pannes de SGBD et celles du module de traitement de transactions, nous les assimilons ร  des pannes de nล“ud puisquโ€™elles ont les mรชmes consรฉquences. Un autre type de panne que nous assimilons ร  des pannes de nล“ud est la panne de transaction (abort). Ces pannes peuvent รชtre dues ร  des erreurs de donnรฉes ou des deadlocks.

Notons que dans les systรจmes trรจs volatiles que sont les P2P en particulier, la dynamicitรฉ a en gรฉnรฉral les mรชmes effets que les pannes. Cependant, il est gรฉnรฉralement possible de traiter ces cas de maniรจre plus efficace. En effet, ces interventions peuvent รชtre prรฉvues et les dรฉconnexions peuvent donc รชtre faites ยซ proprement ยป (en prรฉvenant les autres sites ou nล“uds). Notons toutefois qu’un systรจme qui tolรจre les pannes tolรฉrera รฉgalement les dรฉconnexions volontaires ou involontaires. Enfin, les รฉquipements rรฉseaux comme les routeurs ou les serveurs de noms peuvent รฉgalement tomber en panne, rendant ainsi des nล“uds temporairement inaccessibles.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

Introduction
Chapitre 1 : Les types, la frรฉquence et les solutions aux pannes
1. Introduction
2. Notions de Faute, Erreur et Panne
3. Les diffรฉrents types de panne
3.1. Lโ€™architecture de notre systรจme
โ€ข Description de lโ€™architecture
โ€ข Fonctionnement du systรจme de routage
3.2. Les diffรฉrents types de panne
4. Dรฉtermination de la frรฉquence probable des pannes
5. ร‰tude des solutions existantes pour prรฉvenir ou rรฉparer ces pannes
5.1. Les solutions prรฉventives : la redondance
5.2. Les solutions optimistes ou ร  posteriori
5.2.1. Principes de dรฉtection des pannes
5.2.2. Mise en ล“uvre de dรฉtecteurs de pannes
5.3. Le traitement des erreurs du systรจme
6. Conclusion
Chapitre 2 : La rรฉplication
1. Introduction
2. Avantages et inconvรฉnients
3. Mise ร  jour synchrone et asynchrone
4. Rรฉplication asymรฉtrique et symรฉtrique
5. Processus de synchronisation
5.1. Initiative du rafraรฎchissement
5.2. Dรฉtection des mises ร  jour
5.3. Nature des rafraรฎchissements
6. Notions de cohรฉrence
7. Borner la frรฉquence des pannes
8. Conclusion
Chapitre 3 : Les mรฉcanismes de gestion de pannes dans un rรฉseau ร  large รฉchelle
1. Introduction
2. Mรฉcanismes de dรฉtection de pannes
2.1. La dรฉtection des pannes dans un rรฉseau ร  large รฉchelle
2.2. Algorithme de dรฉtection des pannes de nล“ud et de communication
3. Mรฉcanismes de tolรฉrance aux pannes
3.1. Algorithme des Client Nodes
A. Les pannes vues ร  partir dโ€™un nล“ud client
B. Description de lโ€™algorithme
3.2. Algorithme des DBMS Nodes
A. Les pannes vues ร  partir dโ€™un DBMS Node
B. Description de lโ€™algorithme
C. Algorithme
3.3. Algorithme des TM Nodes
A. Les pannes vues ร  partir dโ€™un TM Node
B. Description de lโ€™algorithme
B.1. Tolรฉrance des pannes vues par les TM Nodes
B.2. Validation diffรฉrรฉe des transactions
C. Algorithme
4. Diagramme de processus UML de notre traitement
5. Conclusion
Chapitre 4 : Validation
1. Introduction
2. Peersim
3. Notre implรฉmentation
3.1. La classe MyCatalogue
3.2. La classe MyProtocol
3.3. La classe MyTransaction
3.4. La classe NetworkInitializer
3.5. La classe NetworkObserver
3.6. La classe NetworkManager
4. Expรฉriences
4.1. Impact du nombre de rรฉpliques sur le traitement
4.2. Comparaison avec un traitement ne tolรฉrant pas les pannes
4.3. Impact du nombre de pannes sur le traitement
4.4. Comparaison des approches probabiliste et hiรฉrarchique
5. Conclusion
Conclusion et Perspectives
BIBLIOGRAPHIE

Lire le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *