th) es Bretagne NST Institut de la Francophonie Ecole Nationale Supérieure des pour |’Inforamtique (IFT) Télécommunications de Bretagne (ENSTB) MEMOIRE DE FIN D’ETUDES MASTER D’INFORMATIQUE ETUDE ET MISE EN GUVRE D’UN SYSTEME ADAPTATIF DE PLACEMENT DE DONNEES Réalisé par TRUONG HUU Tram Encadré par Maria-Teresa SEGARRA & Jean-Marie GILLIOT ENST - Bretagne, Département Informatique Hanoi, 21 octobre 2007 Remerciements Je voudrais tout d’abord remercier Maria-Teresa SEGARRA pour m/’avoir accueilli dans son équipe de recherche de l’Ecole Nationale Supérieure des Télécommunications de Bre- tagne (ENST Bretagne). Je tiens 4 remercier tout particuliérement Maria-Teresa SEGARRA et Jean-Marie GIL- LIOT pour m’avoir encadré pendant ces six mois. Je les remercie de leur contact chaleureux, leurs conseils et encouragements, leur soutien permanent et la liberté de recherche qu’ils ont bien voulu me laisser. Mes plus sincéres remerciements vont également 4 tous les professeurs et les personnels de l’Institut de la Francophonie pour |’Informatique (IFI) pour m’avoir donné des cours de trés bonne qualité et pour leur soutien tout au long de mes études 4 VIF.
Un grand merci aux thésards et aux autres stagiaires 4 VENST Bretagne pour une ambiance de travail particuliérement favorable. Je remercie chaleureusement mes camarades de la promotion XI pour leur amitié sans faille et je leur souhaite bonne chance pour la soutenance. Merci enfin 4 mes parents, ma famille et mes amis pour leur soutien et leur encouragement a tout l’instant. Résumé Les systémes de réplication de données tirent parti des ressources disponibles sur des terminauz pour améliorer la disponibilité des données et/ou la performance globale du sys- téme.
Ces données peuvent appartenir a un utilisateur (qui peut avoir plusieurs terminaua personnels ou non) et/ou & une communauté. Elles peuvent étre mises en ceuvre sur des serveurs fixes et/ou sur des terminaux qui peuvent étre mobiles et travailler en mode dé- connecté et se synchroniser avec les bases de données sur le réseau. Dans ce cadre, le projet ReCoDEM, mené en partenariat avec Orange ( France Télécom - R & D ) se propose de construire un systéme de réplication tenant compte du contexte d’exécution des applications afin de décider de la création/suppression de répliques des données et de leur cohérence. Ce systéme compose de trois parties : placement de données, localisation de répliques et gestion de cohérence.
Ce stage de fin d’études consiste & concevoir et mettre en ceuvre le service de placement de données identifié dans le cadre de ReCoDEM. II s’agit de proposer une architecture logicielle d’un systéme de placement de données qui décide de la création et suppression de répliques pour assurer la disponibilité et tenant compte de la performance d’accés aus données. Ce service doit étre indépendant des algorithmes de placement de données afin de faciliter sa future évolution ver Vadaptation dynamique. Dans un premier temps, ce service est mis en ceuvre au sein d’une maison qui est constt- tuée d’un ensemble de dispositifs ( frigidaire, appareil photo, téléviseur, ordinateur,.
) munis de ressources mémoire ( volatile, disque, processeur ) et étant interconnectés par un réseau de bonne qualité. MOTS-CLES : Systémes distribués, réplication de données, liste a saut. Abstract The data replication systems benefit from the available resources on terminals to improve the availability of the data and/or the total performance of the system. These data can belong to a user (who can have several personal terminals or not) and/or at a community.
They can be carried out on servers fited and/or on terminals which can be mobile and work in disconnected mode and to synchronize itself with the data bases on the network. Within this framework, the project ReCoDEM, carried out in partnership with Orange (France Telecom R & D ) proposes to build a replication system taking into account of the execution context of the applications to decide replicas creation/suppression and their coherence. This system composes of three parts : data placement, replicas localization and coherence management. This intership consists to conceive and carry out the data placement service identified in the framework of ReCoDEM.
It is about proposing a software architecture of a data placement system which decides replicas creation and suppression to ensure the availabi- lity and taking into account of the access performance to the data. This service must be independent of the data placement algorithms to facilitate its evolution future worm the dynamic adaptation. Initially, this service is carried out within a house which is incorporated of a set of devices ( refrigerator, camera, television, computer,. ) provided with the resources memory ( volatile, disc, processor ) and being inter-connected by a network of good quality.
KEYWORDS : Distributed system, data replication, skip list. Table des matiéres Remerciements Résumé Abstract 1 Introduction 1.1 Objectifs de stage.2 Hypothése de travail .3 Scénarios de base.1 Appareil photo arrive avec de nouvelles photos .2 Utilisateur efface une photo .3 Ordinateur portable « sort » delamaison.4 Accés aux nouvelles photos de l’appareil photo 4 partir de la TV 1.5 Appareil photo manque d’espace mémoire. Etat de Part 13 2.1 Algorithme de placement .2 Les réseaux DpAIT-À-DAIT.1 Classification de type du réseau virtuel.2 Placement de données dans le domaine du pair-a-pair. ee 21 Service adaptatif de placement de données 22 3.Ặ eee ee ee 22 3.2 Classes de dispositifs.
Q Q Q Q HQ nà Tà xa 23 3.3 Décision de nombre minimal de rếplques.4 Localisation de répliques et de ressources. Ặ HQ HQ HQ SH 24 3.2 Structure de données et algorithmique .2 Diagrammes de séquence. HH HH HH HQ kg 4.3 Diagramme de classes. HQ HQ HH HH TK kia “N °:.
HQ HQ HH ng kg kg kia 4. Q Q Q Q Q HQ HQ HQ ng v2 32 4. Q Q Q Q HQ HQ HQ nu cà cv cv ng k k v k va 32 4.5 Interface SuperPeerlnterface et Nodelnterfacc .7 Classe NodeSkipElement et DataSkipElement .41 Connexion au réseau dunnœud .2 Communication entre lesnœuds. Q Q Q Q Q Q HQ uc cà cà cv cà cv vn v vn v v v.v v v k v xa 39 5_ Conclusion et perspectives 40 hìn 9o) 9a sẽ [I ee 40 DA x.
“ốẽ6ố ee 40 Bibliographie 42 Table des figures 1.2 Effacement de photos dans la mémoire de l’appareil photo .3 Ordinateur portable « sort » delamaison .4 Accés aux photos de l’appareil photo a partirdela TV .5 Appareil photo manque d'espace mếmoire .1 Un exemple de la topologle du réseau. Le poids du nœud et de l’aréte est sous la forme (W(¡),D(,j)). HQ HQ HH HH va 14 2.2 Exemple de recherche sur Gnultela.3 Chord : Cercle d’identificateur et opération de recherche .4 Tapestry : Publication et réplication d’objet .9 Ráseau de SUD@T-DpAIT. CO Q LH HQ Hà 2 19 2.6 SẠN: Système de stockage.
HQ HQ kia 20 3.2 Classes de disposSlliÍSs. LH HH nu v vn va 23 3.3 Liste à saut et recherche dans une liste à saut.4 Liste à saut den@œuds. LH Q HQ HQ HQ 22 26 3.9 Pseudo-code de la recherche de ressources .6 Liste 4 saut de données.1 Cas d’utilisation du service de placement de données .2 Diagramme de séquence de la création de répliques d’une nouvelle donnée .3 Diagramme de séquence de la création de répliques lorsqu’un dispositif «sort » 29 4.4 Diagramme de séquence de la récupération d’espace mémoire .5 Diagramme de séquence de la suppression de données.6 Diagramme de classes .7 5tructure de paquets et des fichiers du code .8 Communication entre les nods.L Disponibilité de la bande passante .00 00000 2 ee ee 41 Liste des tableaux 2.1 Comparaison des réseaux palr-à-DAIT.4 Classe Super Peerlnier [GC€. Q Q Q HQ Q HQ HQ n và cà kg k và xa 32 4.5 Classe NodeInter face 2.
aaaT aaă ra 33 4.7 Classe NodeSkipElement et DataSkipElement .1 Objectifs de stage Ce stage se situe dans le cadre du projet ReCoDEM [BGAS06], un canevas de réplica- tion adaptative de données. Dans ce canevas, un service de placement des répliques a été identifié qui doit décider de la création ou suppression de répliques. Mon travail de stage consiste & concevoir et mettre en ceuvre le service de placement identifié dans le cadre de ReCoDEM. II s’agit d’un service qui décide de la création et suppression de répliques pour assurer la disponibilité et tenant compte de la performance d’accés aux données.
Ce service doit étre indépendant des algorithmes de placement de données afin de faciliter sa future évolution vers l’adaptation dynamique.2 Hypothése de travail Nous supposons un environnement constitué d’un ensemble de dispositifs munis de res- sources mémoire ( volatile, disque ), processeur et interconnectés par un réseau ( filaire ou radio ) de bonne qualité. Un exemple d’un tel environnement peut étre une maison, les dispositifs étant frigidaire, appareil photo, téléviscur, ordinateur, etc. Sur cet environ- nement, certains dispositifs sont amenées a4 entrer et sortir de la maison, leurs ressources étant donc temporairement indisponibles, tandis que d’autres ne disparaitront que lors- qu’ils sont en panne ou remplacés par des nouveaux. De plus, la « qualité » des dispositifs ( vitesse de traitement, capacité de mémoire ) est différente ce qui produit une différence de performance d’accés aux données.
En ce qui concerne les données, il s’agit de données multimédia non modifiables afin de nous abstraire des problémes liés 4 la gestion de la cohérence des répliques. La prise en compte de données multimédia implique le besoin de gérer de données de taille importante. Enfin, nous supposons l’existence d’un service de surveillance de l’environnement qui informe notre service sur l’état des noeuds ( espace mémoire, bande passante des liens, vitesse de traitement,. Scénarios de base Afin d’illustrer le fonctionnement de notre service et identifier clairement nos besoins, nous avons travaillé sur cing scénarios de base qui sont présentés par la suite.1 Appareil photo arrive avec de nouvelles photos Un appareil photo ayant de nouvelles photos « entre » dans la maison.
Le service de placement de données doit s’assurer qu’au moins une réplique de chaque nouvelle photo est présente dans la maison ( disponibilité ). Il doit donc décider combien et sur quels noeuds les nouvelles photos seront stockées.réptiques s o* ° o*®” g5 Nouvelle | anal. 5 a gee” Pp hoto Fic.1 — Nouvelle photo Donc, le service de placement de données doit connaitre l’état global de la ressource mémoire pour décider de ces créations.2 Utilisateur efface une photo La suppression d’une photo par l|’utilisateur entraine la suppression de toutes les ré- pliques existantes de celle-ci. | - Fi (@ fell xỀ Suppression de replique Ss Fic.2 — Effacement de photos dans la mémoire de I|’appareil photo Donc, le service de placement de données doit connaitre la localisation des différentes répliques d’une donnée afin d’effectuer les suppression.3 Ordinateur portable « sort » de la maison Lorsqu’un dispositif contenant des répliques de photos qui n’existent pas sur les autres dispositifs sort de la maison, le service de placement de données doit répliquer celles-ci sur d’autres noeuds afin de s’assurer de la disponibilité de données.
aos , ` Repliques : Sortir Fig.3 — Ordinateur portable « sort » de la maison Donc, le service de placement de données doit étre capable de prédire la mobilité des dispositifs afin de prendre des décisions de création de données pour assurer leur disponi- bilités.4 Accés aux nouvelles photos de l’appareil photo a partir de la TV L’appareil photo étant un dispositif « lent » ( faible capacité processeur ), le service de placement de données peut décider de créer une réplique des photos qu'il contient sur d’autre dispositif performant pour ne pas pénaliser |’utiliser lors de l’accés a celles-ci. Donc, le service de placement de données doit étre capable de prédire les accés aux données afin de prendre des décisions de création de répliques.4 — Accés aux photos de l’appareil photo a partir de la TV 11 1.5 Appareil photo manque d’espace mémoire Fic.5 — Appareil photo manque d’espace mémoire Ce scénario de base représente le cas ot!