2.2 Dupli ation à l'aide de systèmes de ommuni ation de groupe
2.2.2 Présentation de diérents systèmes
Cette se tion présente les parti ularités de quelques travaux : Isis (se tion 2.2.2.1) pour
Grapevine(se tion 2.2.2.3), Lazy repli ation (se tion 2.2.2.4), pour le relâ hement de la
o-héren e entre les opies et CODA pour (se tion 2.2.2.5) l'appro he utilisé dans les systèmes
de hiers.
2.2.2.1 Isis
Le systèmeIsis [BJRA85, Bir93, BR994, RB94℄ fournit une infrastru ture et une boîte à
outilspour onstruiredessystèmesrépartistolérantauxfautes.Ilfournit uneabstra tion,les
groupesdepro essus,permettantd'implanterdesproto olesdedupli ation.Ilestpossiblede
mettre en ÷uvre, ave plus ou moins de di ulté la dupli ation a tive, passive, semi-a tive
et oordinateur ohortes. Ungroupe ontient les opiesd'un objet. Ces groupespeuvent être
réés et détruits dynamiquement et les membres peuvent entrer et sortir à n'importe quel
moment.Lesmessagessontenvoyésà esgroupes,pardesmulti ast ausalesouatomiques, et
Isis garantit que tousles membres vont les re evoir. Il proposeégalement diérente olle tes
de résultat: zéro, un, un quorumou toutesles réponses sont olle tées.
Isis proposeune variante duproto olede dupli ation oordinateur- ohortessupportantle
partagede harge.A haquerequête,unnouveau oordinateurest hoisipermettantainsiaux
requêtes des'exé uter demanière on urrente (diérentes opies les exé utent).Les requêtes
on urrentes ne doivent pasmodier lamême partie de la opie ou alors des mé anismes de
gestionde la on urren esont né essaires.Pour haquerequêtel'ensemble des opiesest trié
àl'aided'un algorithmedéterministe,pouvant prendreen ompte laprovenan edesrequêtes
etdesinformationssurla harge.Grâ eà etalgorithme, lemême ensembletrié de opiesest
obtenu, et ela sans utiliser de proto oles d'a ord. La opie de plus haut rang est désignée
omme oordinateur pour etterequête.Deplus, toutesles opies ont onnaissan ede toutes
lesautres opies non fautives.Un suspe teurde fautessurveille tousles membres dugroupe,
notiant deladéfaillan e probable d'une opiepar l'envoid'un message GBCAST(diusion
respe tant un ordre total sur tous les groupes) au groupe. Grâ e à ela, toutes les opies
observent de la même façon toutes les défaillan es et réintégrations des autres opies. Ave
ettepropriétéet ledéterminismedel'algorithmedetri,toutesles opies sontd'a ord surle
pro essus oordinateur pour une même requête. Si le oordinateur défaille, la opie suivante
dans la liste est désignée omme nouveau oordinateur (au un message n'est envoyé). Une
foisquele oordinateuranid'exé uterlarequête,ildiuseàl'aided'unCBCAST(diusion
respe tantl'ordre ausal)unpoint derepriseetlerésultatdelarequêteàtoutes les ohortes.
2.2.2.2 Psyn
Psyn [Pet87 ℄estunsystèmede ommuni ationfournissantunediusionable.Deplus,il
permetdetirerpartidesmessages on urrents(envoyésenmêmetempsrelativementautemps
logique). Dans [MPS89 ℄, Psyn est utilisé pour onstruire un système à objets tolérant aux
fautesen s'appuyant surunproto ole de dupli ationa tive.Pour améliorer lesperforman es
de es groupes peuvent s'exé uter dans un ordre quel onque sur les diérentes opies. Un
algorithme de tri déterministe ordonne totalement toutes les opérations non ommutatives
entre elles, mais permet aux opérations ommutatives de s'exé uter dans un ordre diérent
sur les diérentes opies dusystème. Par exemple, pour les quatreopérations arithmétiques
de base, il n'est pas né essaire de respe ter l'ordre entre l'addition et la soustra tion ainsi
qu'entrelamultipli ation et ladivision.A haque opie, estasso iéungestionnairequireçoit lesrequêtesdes lients.Legestionnairedela opieprimaire, eluiquireçoitlarequête,diuse
la requête à toutes les opies, y ompris lui-même, en utilisant Psyn . Deplus, il est hargé
de répondreau lient.
2.2.2.3 Grapevine
Le système Grapevine[BLMS82 ℄met en ÷uvreune dupli ation de serveurs. Chaque
ser-veur fournitdesservi esde ourrier, denommage (de personnes,dema hineset deservi es),
d'authenti ation (de personneset ma hines) et de lo alisation(de servi es).
Il fut un des premiers systèmes à mettre en ÷uvre la dupli ation où le lient s'adresse
aux serveurs suivant un proto ole lire n'importe quelle opie/é rire n'importe quelle opie
(read-any/write-any). Un lient peut s'adresser à n'importe quelle opie d'un serveur pour
une requêtede le tureou d'é riture et en hangerpour uneraison ouune autre (défaillan e,
performan e,et ).La ohéren eentreles opiesestextrêmementfaible,o asionnant ertains
troubles pour les utilisateurs. Par exemple, un mot de passe peut être hangé sur une opie
d'un serveur, maissurune autre opie l'an ienmot de passeest toujours utilisé.
2.2.2.4 Lazy repli ation
Le proto ole Lazy Repli ation [LLS90, LLSG92 ℄ propose une dupli ation a tive où la
ohéren e peut être aaiblie an de fournir, en plus d'une disponibilité a rue, un temps de
réponse meilleur. Le systèmese ompose d'un ensemble de serveurs dupliqués, de lients et
de anauxde ommuni ationFIFO. Le nombre de opies etleur lo alisation sontxes.
Un lientadresseses requêtespar unproto ole dutypeliren'importe quelle opie/é rite
n'importequelle opie.S'il onsidèrequelaréponsetardeàvenir,ilpeut hangerde opie,ou
même adressersarequêteà plusieurs opies enparallèle.Le systèmegarantitunesémantique
au plus une fois sur les requêtes.A haque requête soumise à un serveur, un identi ateur
unique est retourné au lient. Lorsque e dernier soumet une requête, il envoie au serveur,
en plusdesarequête, une listed'identi ateurs.Cetteliste luipermet depré iser auserveur
quelles opérations doivent avoir eu lieu sur elui- i avant qu'il exé ute la nouvelle requête
soumise.Ainsi, le lient peut ontrler l'ordredesmessages( lient-order).
Des é hanges paresseux de messages (gossip message
6
) transportent les requêtes pour
mettreàjour l'étatdes opies surlesdiérentsserveurs. Cesmisesàjour entreles diérentes 6
opiessontfaitesparunproto olededupli ationa tiveetgrâ eàunordretotaldesmessages
(server-order). Ces é hanges sont dits paresseux ar il n'y a pas d'atomi ité entre la mise à
jour demandée par le lient sur un serveur et la miseà jour de tous les serveurs. Ce type de
proto ole faitpartiedugroupe desproto olesd'anti-entropie
7
ou épidémique(anti-entropy).
O asionnellementune opieé hangedesmessagesgossipave uneautre opiepours'informer
mutuellement des messages de mise à jour reçus par ha une d'elles. Si une opie se rend
ompte que l'autre a de nouveaux messages, elle les lui demande. Une fois que toutes les
opies se sont é hangées leurs mises à jour toutes les opies sont ohérentes. Cette appro he
a été premièrement proposée par [OD83 ℄. On trouve également des appro hes utilisant des
estampillestemporelles [Gol92 ,GL93 ℄.Tous esproto oles maintiennent desjournauxsurles
messagesé hangés sur ha une des opies permettant aux opies de retarderla livraisondes
messagespourmettre en ÷uvre ertains ordres( ausal, total).
Dans le proto ole Lazy Repli ation,il est également possible d'ordonnan er les messages
des lientsetdesserveurs(global-order). Pour ela,unmé anismedevalidationàtroisphases
estutilisé (three phase ommit).
Ceproto oleprésenteunin onvénient.Eneet,ilestpossiblequ'une opieduserveur
dé-failleaprèsavoirréponduau lient,maisavantd'avoirenvoyéunmessagedesyn hronisation.
Si e lient émet de nouvelles opérations sur un autre serveur, il sepeut que elles- i soient
bloquées, arattendant desopérationsqui sont perdues(dû à l'absen e de syn hronisation).
Ceproblèmenepeutserésoudrequ'enenvoyant lesmessagesdesyn hronisationplussouvent.
Ilestaussipossibled'introduiredesa usésderé eptionquela opieduserveurdoitattendre
avant de répondreau lient, mais elaaugmente letemps de réponse.
2.2.2.5 CODA
CODA[SKK
+
90℄estunsystèmede hierstolérantauxfautesetsupportantlesopérations
dé onne téesdelapartd'htesmobiles.Latoléran eauxfautesestassuréeparladupli ation
des serveurs. Un lient désirant un hier s'adresse à un serveur disponible disposant d'une
opie. Ce serveur est appelé serveur préféré. De plus, haque serveur possédant une opie
est onta té pour vérier que le serveur préféré possède une opie à jour. Si e n'est pas le
as, un autre serveur est désigné serveur préféré. Une opie est mise en a he sur le lient,
puisleserveur préféré estmis àjour quandle hier estfermé.A haque opie surles lients
sont asso iéesun ve teurde versions permettant de déte terles onitsené riture. Certains
onitspeuventêtre automatiquement ré on iliés,d'autres demandent l'aidede l'utilisateur.
Pourfa iliterlesopérationsenmodedé onne té,l'utilisateurpeutindiquerunelistede hiers
ou répertoires prioritaires devant être mis dans son a he. A la re onnexion, les serveurs
détenant une opie sont mis à jour s'il n'y a pas de onit. En as de onit, les opies
des lients sont temporairement sto kées sur un serveur et l'utilisateur peut manuellement
résoudreles onits.
7
Entropie n. f. : En thermodynamique, fon tion dénissant l'état de désordre d'un système, roissante lorsque elui- iévolueversunautreétatdedésordrea ru.