MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE. Par. Houssem Medhioub. (Ingénieur Génie Informatique)

Dimension: px
Commencer à balayer dès la page:

Download "MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE. Par. Houssem Medhioub. (Ingénieur Génie Informatique)"

Transcription

1 République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Nouvelles Technologies des Systèmes Informatiques Dédiés Cycle de Formation Doctorale dans la Discipline Informatique Mémoire de MASTERE N d ordre : MEMOIRE Présenté à L École Nationale d Ingénieurs de Sfax en vue de l obtention du MASTERE Nouvelles Technologies des Systèmes Informatiques Dédiés Par Houssem Medhioub (Ingénieur Génie Informatique) Description et regroupement de ressources pour les réseaux virtuels Soutenu le 30 Septembre 2009, devant le jury composé de : M. Mohamed Jmaiel Président M. Slim Kanoun Membre M. Maher Ben Jemaa Encadreur M. Djamal Zeghlache Encadreur M. Wajdi Louati Encadreur

2 Dédicaces Qu il me soit permis au seuil de ce modeste mémoire d exprimer ma plus profonde reconnaissance à : Mon père Abdelfettah Qui n a jamais cessé de me soutenir et m encourager. À qui je dois ma réussite, aucun mot ne serait assez pour témoigner de l étendue de mes sentiments à son égard. Ma mère Sourour Que nulle dédicace ne puisse exprimer ce que je lui dois, pour sa bien vaillance de ma plus jeune enfance, son affection et son soutien. En témoignage de mon profond amour et ma gratitude pour les sacrifices qu elle avait consenti. Trésors de bonté, de générosité et de tendresse, en témoignage de mon profond amour et ma grande reconnaissance «Dieu vous garde». Ma chère sœur Imen En témoignage de mes sincères reconnaissances pour les efforts qu elle m a consenti pour l accomplissement de mes études. Je lui dédie ce modeste travail en témoignage de mon grand amour et ma gratitude infinie. Tous mes amis À qui j éprouve beaucoup d affectation et de respect pour leurs soutiens morals tout au long de mon parcours universitaire. Houssem Medhioub

3 Remerciements C est avec un grand plaisir que je tiens tout d abord à exprimer toute mes profondes reconnaissances et ma gratitude à tous ceux qui ont participé de près ou de loin à l élaboration de ce travail dans les meilleures conditions. Je veux d abord remercier mes encadreurs Monsieurs Djamal Zeghlache, Wajdi Louati et Maher Ben Jemaa qui n ont pas épargné le moindre effort dans l encadrement de ce projet afin de me permettre de défier les entraves rencontrées et de travailler avec volonté et qui ont été toujours disponible pour m orienter à entreprendre les bonnes décisions. J espère être à la hauteur de leur confiance. Qu ils trouvent dans ce travail l expression de mes profonds respects et mes infinies reconnaissances. Je tiens à exprimer mes profonds respects et mes vifs remerciements envers les membres du jury : Monsieur Mohamed Jmaiel pour l honneur qu il nous a fait en acceptant de le présider et Monsieur Slim Kanoun pour être le rapporteur de mon travail. Un nouveau remerciement ensoleillé à Monsieur Djamal Zeghlache pour sa bienveillance, sa gentillesse et son soutien constant qui m a donné courage pour l élaboration de ce travail. J apprécie ses grandes qualités morales et son extrême modestie. Qu il trouve dans ce travail le fruit de son effort et l expression de ma profonde gratitude. Je remercie aussi tous les membres du département RS2M au sein de TELECOM SudParis pour l ambiance chaleureuse qui règne au sein de l équipe et pour leur bonne humeur. Il est indispensable de ne pas rater cette occasion pour exprimer mes reconnaissances à tous mes enseignants de l École Nationale d Ingénieurs de Sfax pour leurs efforts qui ont guidé mes pas et enrichi mes connaissances tout au long de mes études universitaires. Houssem Medhioub

4 Table des matières Introduction Générale 6 I Etat de l art 8 1 La virtualisation des réseaux Introduction La virtualisation des réseaux Les acteurs dans un réseau virtuel Historique et Définition de la virtualisation Intérêts de la virtualisation Les technologies/systèmes de virtualisation Virtualisation au niveau du système d exploitation en utilisant les conteneurs Virtualisation au niveau du système d exploitation en utilisant les VPS Virtualisation à base du système d exploitation Virtualisation complète Paravirtualisation Conclusion Description des ressources réseaux Introduction NDL - Network Description Language cnis - Common Network Information Service NM/perfSONAR - Network Measurement/perfSONAR SDL - System Description language VXDL - Virtual execution Infrastructures Description Language NML - Network Mark-up Language Conclusion Le regroupement des ressources clustering Introduction Les différentes techniques de clustering Clustering en partition ou hiérarchique Clustering complet ou partiel Clustering flou Clustering incrémental Clustering conceptuel Conclusion

5 TABLE DES MATIÈRES II Formulation théorique des approches proposées 32 1 La virtualisation des réseaux Introduction Cycle de vie des ressources (machines) physiques et virtuelles Hyperviseur L interconnexion Les machines virtuelles utilisées Conclusion Description des ressources réseaux Introduction Le processus de création et de gestion d un réseau virtuel Les exigences envers le langage de description Le modèle de la spécification Le langage de la spécification Le filtrage des informations Conclusion Le regroupement des ressources clustering Introduction Le contexte des ressources virtuelles d un réseau La similarité entre les clusters Le choix de la technique de clustering L algorithme de clustering proposé HCC4ND Conclusion III Réalisation 53 1 La virtualisation des réseaux Introduction La plate-forme mise en place La connectivité Les routeurs virtuels Conclusion Description des ressources réseaux Introduction Générateur du fichier de description Générateur du fichier de filtrage Interfaces graphiques Conclusion Le regroupement des ressources clustering Introduction Indexation des fichiers de description Parcours des fichiers un à un Utilisation d un système de gestion de base de donnée relationnel. 63 2

6 TABLE DES MATIÈRES Utilisation d un système de gestion de base de donnée XML Native (via la technique d indexation) Générateur du fichier de clustering Les performances du clustering Environnement de test Les performances liées à la manipulation des fichiers de description Les performances liées à la création/parcours du dendrogramme Conclusion Conclusion Générale 71 IV Annexe 73 A Description des ressources 74 A.1 NDL - Network Description Language A.1.1 Exemple de code du NDL A.1.2 Diagramme UML du schéma NDL A.2 cnis - Common Network Information Service A.2.1 Diagramme entité/relation d une partie de la spécification cnis.. 76 A.2.2 Exemple de code XML du NM A.3 SDL - System Description language A.3.1 Exemple de code XML du SDL A.3.2 Diagramme UML d une partie de la spécification SDL A.4 VXDL - Virtual execution Infrastructures Description Language A.4.1 Diagramme UML de la spécification VXDL A.4.2 Exemple de code XML du VXDL A.5 NML - Network Mark-up Language A.5.1 Diagramme UML de la spécification NML A.6 Exemple complet de la spécification proposée

7 Liste des figures I.1.1 La virtualisation des réseaux I.1.2 Les relations entre les acteurs d un réseau virtuel I.1.3 Disposition des machines virtuelles sur un seul matériel physique I.1.4 Consolidation des ressources I.1.5 Analogie entre un programme Java et une machine virtuelle I.1.6 La migration d une machine virtuelle I.1.7 Les techniques de virtualisation I.1.8 Utilisation des niveaux d exécution dans une architecture x86 32bits I.1.9 Quelques systèmes de virtualisation I.2.1 Schéma de topologie selon NDL I.2.2 La relation entre les éléments d un réseau selon NM I.2.3 Les caractéristiques utilisées pour décrire un réseau selon NM I.2.4 Le diagramme UML de la structure générale de SDL I.3.1 Clustering partitionnel et hiérarchique I.3.2 Clustering ascendant vs descendant I.3.3 Clustering incrémental II.1.1 Cycle de vie d une ressource physique II.1.2 Cycle de vie d une ressource virtuelle II.1.3 Ressource virtuelle avec une adresse IP publique II.1.4 Configuration des interfaces réseaux II.2.1 Processus de création d un réseau virtuel II.2.2 virtual network description II.2.3 le filtrage des fichiers de description II.3.1 Comparaison entre COBWEB, CLUSTER/3 et HCC4ND II.3.2 Modélisation du processus de construction d un dendrogramme III.1.1 La plate-forme utilisée III.2.1 Génération du masque de filtrage III.2.2 Menu principal du programme de description des ressources III.2.3 Interface du générateur de fichier de description III.2.4 Interface du générateur de masque III.3.1 Variation du temps d insertion d une description dans la base des données 65 III.3.2 Varitation du temps de recherche des ressources dans la base de données 66 III.3.3 Temps de création d un nouveau dendrogramme

8 LISTE DES FIGURES III.3.4 Les différentes types de requête à exécuter sur le dendrogramme III.3.5 Variation du temps de réponse pour les requêtes 1,2,3 et III.3.6 Variation du temps de réponse de la requête IV.A.1Représentation UML du schéma NDL IV.A.2Diagramme entité/relation des tables principales de cnis IV.A.3Diagramme UML des noeuds et des interfaces dans SDL IV.A.4Diagramme UML de VXDL IV.A.5Diagramme UML de NML

9 Introduction Générale La virtualisation des réseaux a été proposée récemment comme un des paradigmes clés des architectures réseaux du futur. Elle offre une voie vers la diversification, l ouverture, la maîtrise de l hétérogénéité et la capacité d adaptation et d évolution qui sont des caractéristiques indispensables pour les réseaux du futur. La virtualisation est une technologie clé de l Internet du futur qui peut servir d outil pour mener différentes expérimentations de réseaux sur un même substrat ou environnement, pour développer de nouveaux protocoles et pour concevoir de nouvelles architectures de réseaux. La virtualisation d un réseau est typiquement accomplie au moyen d une segmentation logique des nœuds du réseau (nœuds virtuels) et d une segmentation logique des liens physiques entre ces nœuds (liens virtuels). La virtualisation permet d établir des réseaux virtuels constitués d un groupe de nœuds virtuels interconnectés par des liens virtuels. Suite à l apparition de ces nouveaux éléments du réseau virtuel, le besoin de décrire ces types de ressources est apparu. Avec une telle description, il sera possible de rechercher et sélectionner ces ressources qui peuvent répondre aux exigences des réseaux du futur. Au cours de ce projet de mastère, une étude a été menée concernant les différentes techniques de virtualisation, les langages et spécifications existantes de description des réseaux et les techniques et algorithmes de regroupement de description «Clustering». La technique de regroupement de descriptions améliore les performances de recherche des ressources et le résultat de cette opération peut être un outil intéressant pour le processus d approvisionnement d un réseau. Après une étude théorique et une mise en place d un environnement virtualisé sur une plate-forme de 6 serveurs, une nouvelle spécification et un langage de description des ressources des réseaux virtuels ont été proposés. Et enfin un algorithme de regroupement des ressources a été proposé et évalué. Cette mémoire est constituée dans son intégrité de 3 grandes parties. Chaque partie est composée de 3 chapitres. Elle s articule de la manière suivante : Dans la 1ère partie, nous présentons le contexte et le principe de la virtualisation, la description et le regroupement des ressources ainsi qu un état de l art sur les différentes solutions existantes dans ces 3 volets (virtualisation, description des ressources réseau et regroupement). La 2ème partie contient une formulation théorique des approches proposées. Dans un 1er chapitre, l objectif est de présenter la partie physique que nous avons préparé pour 6

10 supporter un réseau virtuel. Dans un tel réseau, il n y a pas seulement des ressources réseau classiques mais aussi virtuelles. Un bilan d étude nous a permis de conclure que la majorité des langages et spécifications de la description des réseaux s avèrent insuffisantes pour ces types de réseaux. D où notre nouvelle spécification de description des ressources présentée dans le 2ème chapitre. Une fois la description des ressources virtuelles du réseau est terminée, il faut effectuer la découverte et la recherche de ces dernières qui peuvent satisfaire une éventuelle demande de ressources. Dans un 3ème chapitre, nous allons détailler notre nouvel algorithme dédié au regroupement des ressources réseau. Une 3ème partie présente quant à elle la phase de la réalisation, implémentation et évaluation des différentes approches proposées dans la partie précédente. Pour conclure, une synthèse des aspects abordés durant mon stage est exposée et un bilan des principaux résultats est dressé enchainés par des perspectives. 7

11 Première partie Etat de l art «Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c est que, quand on y sera enfin, on n aura pas assez de RAM.» Dave Barry 8

12 Chapitre 1 La virtualisation des réseaux 1.1 Introduction La virtualisation des réseaux est un domaine de recherche en plein essor qui est en mesure de permettre la diversification de l Internet pour concevoir et réaliser le réseau du futur. Le principal objectif de notre travail est de concevoir un système pour décrire et sélectionner les ressources d un réseau virtuel. Afin d atteindre cet objectif, la première étape consiste à étudier le concept de la virtualisation et en particulier celui de la virtualisation des réseaux. Ce chapitre présente un état de l art des technologies et systèmes de virtualisation existants en générale et celle de la virtualisation des réseaux en particulier. 1.2 La virtualisation des réseaux La virtualisation ne cesse d avoir du succès technologique et commercial dans le domaine des serveurs. Mais, cette constatation n est pas encore vérifiée dans le domaine des réseaux. Plusieurs travaux de recherche sont entrain d être menés dans le contexte de la virtualisation des réseaux filiaire et sans fils. La virtualisation des réseaux n est pas un objectif en lui même, mais c est un moyen très intéressant pour la construction de l Internet du futur. La philosophie de l Internet du futur est d avoir plusieurs réseaux hétérogènes qui coexistent et partagent la même infrastructure physique [1, 2]. Plusieurs projets de recherche sont en cours afin de formaliser l Internet du futur, parmi ces projets il y a GENI [3] et 4WARD 1 [4]. La figure I.1.1 schématise, d une façon abstraite, le concept de la virtualisation des réseaux. Suite à l opération de virtualisation, plusieurs réseaux virtuels (VN 2 ) cohabitent et partagent les même ressources physiques. Généralement, un réseau virtuel est vu comme une instance logique d un réseau constitué d un groupe de noeuds virtuels 3 interconnéctés par des liens 1 nos contributions sont intégrées dans ce projet 2 Virtual Networks 3 Virtual Nodes 9

13 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX virtuels 4. Fig. I.1.1 La virtualisation des réseaux En utilisant cette approche, nous pouvons bénéficier de plusieurs avantages surtout par rapport aux architectures des réseaux actuelles. Parmi ces bénéfices, nous citons : Sécurité : offrir des réseaux confinés où des protocoles suspects peuvent fonctionner. Isolation : restreindre d une façon transparente l accès et l utilisation des ressources réseaux selon le profil de l utilisateur. Adaptabilité/flexibilité : adapter dynamiquement le réseau pour supporter une application au lieu de porter (modifier) les applications sur un environnement réseau statique. Personnalisation : utiliser des mécanismes optimisés et dédiés (protocole de routage, ordonnanceurs...) pour chaque type d application réseaux. Réduction des coûts : consolidation des ressources physiques, redimensionnement dynamique des réseaux, économie d énergie... 4 Virtual Links 10

14 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX 1.3 Les acteurs dans un réseau virtuel Les réseaux virtuels peuvent être offerts comme des services appelé IaaS 5. Comme définie dans les travaux [5, 6] et dans le projet 4WARD [4], offrir un réseau en tant que service s appuie sur la coopération de plusieurs acteurs (voir figure I.1.2). Ces principaux acteurs sont : 1. Fournisseur d infrastructure Infrastructure Provider : L entité qui possède et contrôle le matériel physique. Elle virtualise ses ressources physiques et maintient leur bon fonctionnement aprês les avoir publiés. 2. Fournisseur du réseau virtuel VN Provider : Cette entité est une sorte de courtier. C est elle qui collecte les ressources virtuelles disponibles chez plusieurs fournisseurs d infrastructures. Ensuite et ayant une connaissance des ressources disponibles, elle peut construire un réseau virtuel suite à une demande d établissement d un réseau virtuel. 3. Utilisateur du réseau virtuel VN Operator/User : c est l entité qui envoie la demande de construction d un réseau virtuel. Fig. I.1.2 Les relations entre les acteurs d un réseau virtuel. 5 IaaS - Infrastructure as a Service 11

15 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX L utilisation des nouvelles approches et techniques de virtualisation dans le monde des réseaux et l apparition de nouveaux acteurs remet en question la capacité et l efficacité des processus traditionnels d approvisionnement et de gestion dynamique des réseaux. Dans les réseaux virtuels et comme il a été définie dans le projet 4WARD [4], le processus d approvisionnement est constitué principalement de 5 étapes : la description des ressources Description, le regroupement des descriptions Clustering, la découverte Discovery, la sélection Selection et le nouage/fixation Binding des ressources virtuelles. Toutes ces étapes du processus d approvisionnement sont expliqué en détaille dans le chapitre II Pour les trois dernières étapes du processus, ils font l objet des travaux de recherche de notre équipe [7, 8, 9]. Notre contribution est au niveau des deux premières étapes : la description des ressources virtuelles d un réseau et le regroupement de ces descriptions. Dans le reste de ce chapitre, il y a un état de l art concernant la virtualisation. 1.4 Historique et Définition de la virtualisation Il est clair que l infrastructure des réseaux informatiques actuels ne satisfait pas les besoins demandés par les systèmes d information surtout en termes d évolution et de flexibilité. Face à cette limite, la virtualisation est considérée comme l une des solutions majeures sur laquelle les réseaux du futur pourraient se baser [10, 11]. Contrairement à ce qu on peut imaginer, la virtualisation n est pas une nouvelle technologie dans le monde de l informatique. Au contraire, elle est très ancienne et ses origines datent des années 60 et 70 [12]. Le terme virtualisation a été utilisé pour la première fois par Christopher Strachey [13] pour désigner la multiprogrammation. Techniquement parlant, la technologie de virtualisation a été appliquée dans les macroordinateurs 6 au début des années 70 [14]. C est seulement à la fin des années 90 que les chercheurs ont commencé à appliquer la technologie de virtualisation sur les ordinateurs personnels. Ces recherches étaient la conséquence de l augmentation des performances des PC qui pouvaient alors assurer les exigences de la virtualisation en termes de puissance de calcul et d espaces de stockage. En 1999, l entreprise VMWare[15] a proposé un système de virtualisation dédié à l architecture x86. À partir de cette date, les entreprises se sont intéressées par cette technique et plusieurs systèmes de virtualisation sont apparus et ont vu le jour. Globalement, la virtualisation est un domaine vaste et intéressant utilisée dans la conception des systèmes informatiques. Elle est utilisée dans plusieurs domaines, tel que les langages de programmation (JVM 7 [16], CLR 8 [17]), les systèmes d exploitation et même dans les architectures des processeurs (e.g. la technologie IntelVT 9 [18]). 6 mainframes 7 Java Virtual Machine 8 Common Language Runtime 9 Intel Virtualization Technology 12

16 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX Face à cette multitude, plusieurs définitions de la virtualisation ont été proposées. L une des plus simples et claires, est celle proposée par David E Williams[19] qui donne surtout une bonne vision du concept de la virtualisation dans le domaine des systèmes d exploitation. Selon David, la virtualisation est un framework ou méthodologie de subdivision des ressources physiques d un ordinateur en plusieurs environnements d exécution isolés, en appliquant un ou plusieurs concepts/technologies : la partition matérielle et logicielle, le partage du temps, la simulation complète ou partielle de la machine, l émulation... Simplement, avec la virtualisation, il est possible de faire fonctionner plusieurs systèmes d exploitation et leurs applications sur la même machine d une façon isolée et transparente. Ces différents systèmes partagent les mêmes ressources physiques de cette machine (processeur, mémoire, stockage, accès réseaux...) tel que représenté dans la figure I.1.3. Fig. I.1.3 Disposition des machines virtuelles sur un seul matériel physique. 1.5 Intérêts de la virtualisation La virtualisation nous offre une multitude d avantages techniques et financières. Voici quelques principaux apports : Consolidation des ressources physiques Les nouveaux processeurs à multi-coeurs et à haute fréquence sont devenu très puissants. En plus, la capacité mémoire et l espace de stockage des ordinateurs ne cessent d augmenter. Dans plusieurs cas, la partie logicielle (système d exploitation + programmes) déployée n utilise qu une partie des ressources physiques. Avec la virtualisation et afin de profiter de toutes les ressources disponibles, il est possible de subdiviser la partie physique et offrir des machines virtuelles que nous pouvons utiliser comme des machines ordinaires/physiques. Par exemple, si nous avons deux parties logicielles (SE + applications), dont chacune utilise 1Ghz de puissance de calcul d un seul noyau du processeur, 300Mo de mémoire vive et 30Mbits/s de la connexion réseaux, il serait bénéfique de ne pas mettre ces deux parties dans deux machines séparées, mais dans une seule qui peut supporter les caractéristiques des 13

17 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX deux parties logicielles combinées. Deuxième exemple qui explique l intérêt de la virtualisation : dans le cas ou il y a trois parties logicielles (SE + Applications) utilisées en fonction du temps. La première fonctionnant seulement la mâtinée, la deuxième l après midi et la troisième le soir. Grâce à la virtualisation, on n utilise qu une seule machine au lieu de trois (Figure I.1.4). Fig. I.1.4 Consolidation des ressources[20]. Meilleure flexibilité Avec la virtualisation, toute la partie logicielle devient indépendante de la partie physique. Cette séparation logiciel, matériel assure plus de flexibilités à la création, le déploiement et la gestion des machines, car nous parlons de machine virtuelle. Dans une machine virtuelle, nous pouvons installer le système d exploitation et les programmes que nous désirons. Une fois que cette machine virtuelle est prête, elle peut être déployer sur plusieurs et différentes machines physiques d une façon automatique. Ultérieurement cette machine peut être mise à jour ou sauvegardée pour une éventuelle restauration. Pour mieux démontrer le gain de flexibilité avec la virtualisation, une analogie par rapport aux programmes Java est intéressante (Figure I.1.5) : Tout programme Java peut s exécuter sur n importe quel environnement grâce à la JVM. De même, une machine virtuelle (OS + programmes) peut tourner sur n importe quelle machine d architecture x86 grâce à la VMM 10 (le fonctionnement de la VMM est expliqué ultérieurement dans la partie Les technologies de la virtualisation ). Fig. I.1.5 Analogie entre un programme Java et une machine virtuelle. 10 Virtual Machine Monitor 14

18 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX La migration (à chaud) des machines virtuelles qui sont en cours d exécution est aussi un paramètre de flexibilité très intéressant (Figure I.1.6). Par exemple suite à l identification d un endroit d exécution plus optimal (plus de ressources ou coût d exploitation moins élevé), le mécanisme de migration (manuel ou planifié) optimise et facilite énormément la maintenance et la gestion des systèmes d information. Fig. I.1.6 La migration d une machine virtuelle. Plus de sécurité et meilleure fiabilité Avec la virtualisation, une machine en état de dysfonctionnement suite à une attaque ou n importe quelles autres raisons, peut être confinée et réinitialisée à partir d une ancienne sauvegarde en quelques secondes. Le redéploiement de cette machine virtuelle peut se faire sur la même ou autre machine physique. Avec ce mécanisme de déploiement, il y a un gain notable de fiabilité. Grâce au concept des machines virtuelles, la détection des anomalies de sécurité est plus rapide et l arrêt de leurs propagations est plus efficace. Quoique la virtualisation apporte de nouvelles solutions/techniques pour accroître le niveau de sécurité[21], des nouveaux types de failles peuvent apparaître[22]. Ces failles sont liées à l ajout de la fine couche de gestion des machines virtuelles(vmm). 1.6 Les technologies/systèmes de virtualisation Avec la virtualisation, nous ne parlons plus de machine physique, mais de machine virtuelle (VM 11 ) [23]. Une machine virtuelle, contenant un système d exploitation et des programmes, est une entité plus abstraite ; liée ni à l architecture ni aux spécificités du matériel. Monter à un tel niveau d abstraction, engendre la création d une nouvelle couche pour gérer les machines virtuelles et pour communiquer avec le matériel. Cette couche logicielle avec un rôle de moniteur des machines virtuelles est communément nommée Hy- 11 Virtual Machine 15

19 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX perviseur ( Hypervisor ). L abréviation la plus courante reste néanmoins VMM ( Virtual Machine Monitor ) [24]. Le VMM gère la relation entre les instructions logicielles (celles des machines virtuelles) et celles de l architecture (comme les instructions ISA 12 ). Globalement le VMM gère le processeur, la mémoire et les Entrées/Sorties (I/O). Il offre aux machines virtuelles une vue uniforme des ressources physiques indépendamment de leurs caractéristiques. Grâce à cette uniformité de vue, les machines virtuelles peuvent fonctionner sur n importe quelle machine disponible. Les problèmes de dépendance entre logiciels et matériel de chaque machine sont ainsi écartés et les ressources physiques sont considérées comme des services à la demande. La taille d un VMM est très petite par rapport aux systèmes d exploitation classiques. À titre indicatif, le VMM XEN ne dépasse pas les 350 mille lignes de code contre plus de 6 millions de lignes de code pour un noyau Linux. La petite taille du VMM présente un grand intérêt surtout pour des raisons de performances. L introduction de cette petite taille ne se fait pas au détriment des exigences de la virtualisation en fiabilité, performance, sécurité et d isolation entre les machines virtuelles ; ce dernier critère étant primordial. Satisfaire complètement l ensemble de ces critères n est pas évident pour les relations isolation/performance et performance/sécurité. Plusieurs techniques de virtualisation sont apparues pour respecter les critères et parmi les plus connues nous citons : Virtualisation au niveau du système d exploitation en utilisant les conteneurs Virtualisation au niveau du système d exploitation en utilisant les VPS Virtualisation à base du système d exploitation Virtualisation complète Paravirtualisation Virtualisation au niveau du système d exploitation en utilisant les conteneurs (Figure I.1.7-a) C est la technique la plus intuitive. Elle consiste à modifier le système d exploitation pour créer des espaces d exécution isolés. Ces espaces peuvent contenir seulement des applications. Par exemple, il est possible d exécuter simultanément plusieurs instances de la même application dans plusieurs espaces. Solution trés performantes, mais présente une faiblesses par rapport au critère d isolation. Exemple : Linux Vserver [25], OpenVZ/Virtuozzo [26] et Zones de Solaris [27] utilisent cette technique. 12 Instruction Set Architecture 16

20 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX Virtualisation au niveau du système d exploitation en utilisant les VPS (Figure I.1.7-b) Comme pour la première technique, le système d exploitation est modifié. La différence ici, c est qu au lieu d avoir des conteneurs pour les applications, nous avons des espaces privés virtuels nommés VPS 13. Ces espaces sont aussi une sorte de conteneurs d isolement, mais qui peuvent comprendre aussi des systèmes d exploitation et leurs applications. UML (User Mode Linux) [28] est un exemple de ce type de virtualisation. Fig. I.1.7 Les techniques de virtualisation. Ces deux premières techniques de virtualisation n utilisent pas (ne s appuient pas sur) le moniteur des machines virtuelles (VMM) mentionné précédemment. En absence de cette couche logicielle, nous avons de bons résultats en termes de performances, contre des résultats insuffisantes pour la sécurité et surtout pour l isolation. Les hyperviseurs peuvent être classés, selon leur type en deux catégories : Hyperviseur de Type I et de Type II. Ci dessous la description des hyperviseurs et leur classement. 13 Virtual Private Server 17

21 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX Virtualisation à base du système d exploitation (Figure I.1.7-c) La virtualisation s appuyant sur le système d exploitation 14 utilise un hyperviseur de type II. Par définition, ce type d hyperviseur s installe sur un système d exploitation (appelé système hôte ) et profite des abstractions et des fonctionnalités de ce dernier pour créer des environnements virtuels. Si on accepte un petit manque de rigueur, on peut voir l hyperviseur comme un processus qui s exécute sur le système d exploitation hôte. Il existe plusieurs hyperviseurs pour ce type de virtualisation. Parmi les plus connus, nous citons VMWare Workstation [29] et VirtualBox [30] Virtualisation complète (Figure I.1.7-d) Avec la virtualisation complète 15, les machines virtuelles ne se rendent pas compte qu elles s exécutent dans un environnement virtualisé. L hyperviseur présente un environnement d exécution virtuel qui offre exactement les mêmes instructions et fonctions que l architecture physique (réelle). Ainsi, un système d exploitation qui est développé pour être exécuté sur une architecture particulière (comme l architecture x86), s exécute sans aucune modification dans une machine virtuelle qui virtualise complètement cette architecture. Comme solution de virtualisation complète nous citons : Qemu [31] et VMWare ESX [15] Paravirtualisation (Figure I.1.7-e) Contrairement à la virtualisation complète, avec la paravirtualisation 16, les machines virtuelles peuvent reconnaître qu elles fonctionnent dans un environnement virtualisé. Une modification des systèmes d exploitation (via un patch ) est nécessaire pour une exécution en mode paravirtualisé. Dans la paravirtualisation, il y a une collaboration entre l hyperviseur et les systèmes invités pour faciliter leur gestion et obtenir de très bonnes performances d exécution. Pour illustrer l intérêt d utiliser la paravirtualisation, prenons un simple exemple dans l opération de modification des systèmes invités. Un processeur de type x86 32 bits comprend quatre niveaux d exécution (nommés rings ). Le code d exécution en ring 0 (généralement le noyau du système d exploitation) a tous les droits sur le matériel. Les autres rings ont des privilèges restreints selon le ring. Habituellement, le noyau utilise le ring 0 et les applications utilisent le ring 3 (les ring 1 et 2 ne sont pas utilisés) (Figure I a). Dans un système virtualisé tel que XEN [32] et afin d assurer une meilleure sécurité et surtout une parfaite isolation, l hyperviseur se place en ring 0, les 14 Host-based virtualization 15 Full Virtualization 16 Paravirtualization 18

22 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX systèmes d exploitation s exécutent dans le ring 1 et les applications dans le ring 3 (Figure I b). Dans la paravirtualisation, il n y a pas seulement la gestion du processeur qui est modifiée mais d autres mécanismes peuvent aussi changer ; comme la gestion de la mémoire. Plusieurs systèmes fonctionnent en paravirtualisation. Parmi les plus connus nous citons : XEN [32], Denali [33, 34], Citrix XenServer [35] et IBM z/vm [36]. Fig. I.1.8 Utilisation des niveaux d exécution dans une architecture x86 32bits. Nous ne pouvons pas classifier d une façon catégorique les hyperviseurs existants sur telle ou telle technique de virtualisation car ils peuvent satisfaire plusieurs d entre elles. Par exemple, XEN est considéré principalement comme un hyperviseur à base de paravirtualisation. Mais, il peut satisfaire aussi la technique de virtualisation complète puisqu il gère aussi les systèmes d exploitation propriétaires de type Microsoft Windows (via la HVM 17 ). 17 Hardware Virtual Machine Fig. I.1.9 Quelques systèmes de virtualisation. 19

23 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX La Figure I.1.9 résume les différentes techniques de virtualisation et présente une répartition de quelques systèmes de virtualisation en fonction de la technique utilisée. 1.7 Conclusion Dans ce chapitre, nous avons présenté la virtualisation sous sa forme la plus simple et d une façon générale sans entrer dans les détails. La réalité est beaucoup plus complexe, car la virtualisation des réseaux passe par la virtualisation de plusieurs éléments (comme les liens, les routeurs, les commutateurs, les points d accès) et le plus difficile est de pouvoir les interconnecter pour construire un réseau. Pour la gestion de tous les éléments réseau et leurs interconnexions, il fallait avoir une description plus au moins détaillée de chaque élément et du réseau en générale. Il existe plusieurs spécifications/langages de descriptions réseaux dont l état de l art est présenté dans le chapitre suivant. 20

24 Chapitre 2 Description des ressources réseaux 2.1 Introduction Actuellement, il existe plusieurs spécifications et langages pour décrire les composantes et la topologie d un réseau informatique. Mais, la majorité de ces spécifications traite principalement les réseaux traditionnels et pas les réseaux virtuels. L une des premières questions que nous avons traitée concerne la capacité des spécifications existantes à décrire les réseaux virtuels. Pour cela, nous présentons dans ce chapitre un état de l art des spécifications/langages les plus connu pour décrire un réseau. 2.2 NDL - Network Description Language NDL [37] est un modèle d information développé par des chercheurs de l université d Amsterdam. Le but principal de NDL est de pouvoir décrire des réseaux hétérogènes (en particulier les réseaux à base d ordinateurs). Il a été utilisé principalement dans la communauté des universitaires mais aussi adopté comme langage de description dans plusieurs réseaux réels comme celui du GLIF [38]. Pour illustrer les relations entre les composants d un réseau, il existe une modélisation UML détaillée de la spécification NDL (voir figure IV.A.1). Côté langage de spécification, NDL comprend une série de schémas RDF 1 (RDF décrit les relations sous forme de triplet : sujet, prédicat et objet). Ces schémas RDF décrivent les informations de la topologie du réseau, les technologies déployées, la configuration des ressources et leurs capacités. L un des objectifs de NDL est d avoir des ontologies comme description des réseaux. L autre objectif de NDL est d avoir la meilleure flexibilité possible dans la description (une sorte de modularité). Pour avoir cette flexibilité, 5 schémas ont été spécifiés : 1. schéma de la topologie ( Topology Schema ) : décrit les ressources, les interfaces et leurs inter-connections d une façon abstraite. 1 Resource Description Framework 21

25 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 2. schéma des couches ( Layer Schema ) : décrit les propriétés des technologies du réseau. 3. schéma des capacités ( Capability Schema ) : décrit les capacités des ressources. 4. schéma des domaines ( Domain Schema ) : décrit les domaines administratifs et les services liés à chaque domaine. 5. schéma physique ( Physical Schema ) : décrit l aspect physique des éléments d un réseau. Fig. I.2.1 Schéma de topologie selon NDL[37] Comme exemple de schéma, dans la figure I.2.1 nous représentons celui de la topologie. Avec les classes et les propriétés représentées, il est possible de décrire la topologie d un réseau sans fournir des informations détaillées des ressources ou des connexions. À titre d exemple, la propriété connectedto est utilisée pour définir les connexions entre les interfaces Interface ou entre interfaces et liens Link. A.1.1 illustre un simple exemple de code XML de description d une ressource réseau selon la spécification NDL. 2.3 cnis - Common Network Information Service La spécification cnis [39] est le résultat d un travail élaboré au sein du réseau GEANT2 [40]. Le but de cette spécification est d offrir une interface unique d une base de données qui contient toutes les informations du réseau. Cette interface peut être utilisée par différents clients du même réseau. Or chaque utilisateur demande des informations spécifiques, certains ont besoin de la topologie physique du réseau, d autres des interfaces réseaux ou bien tout simplement d une vue abstraite de la connectivité. cnis surmonte cette divergence et offre une spécification de description du réseau qui peut satisfaire toutes les demandes. cnis n est pas un schéma XML mais plutôt un schéma de base de données relationnelle. Il est formulé sous forme d un diagramme entité/relation. Les schémas cnis peuvent être divisés en trois parties : le schéma commun, les schémas techniques et les extensions. Comme exemple, le diagramme IV.A.2 représente le schéma commun de cnis qui inclut 22

26 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX les principales entités d un réseau (noeuds, interfaces et liens). Une description détaillée de tous les schémas est fournie dans [39]. 2.4 NM/perfSONAR - Network Measurement/perf- SONAR perfsonar [41] est une architecture orientée service destinée à échanger des informations de performances entre plusieurs réseaux. Par exemple, le service TS Topology Service accepte comme entrée une description de la topologie d un réseau et retourne comme résultat les performances de ce dernier. Tous les services communiquent entre eux par le billet de protocoles bien définis dans perfsonar. Ces protocoles se basent sur une représentation XML des mesures d un réseau et leurs éléments. Pour développer ces spécifications de description réseau, perfsonar utilise les résultats des travaux du groupe de travail NM-WG[42]. Le but principal de ce groupe de travail est de fournir une spécification qui décrit les caractéristiques et les mesures que nous pouvons extraire d un réseau. Selon la spécification NM, toute mesure est représentée par 2 éléments : 1. la ressource réseau qui est la partie du réseau à mesurer (par exemple un noeud, un lien, un chemin...). Comme schématisé dans la figure I.2.2, les ressources réseaux sont subdivisées en deux groupes : noeud Node et chemin Path. Fig. I.2.2 La relation entre les éléments d un réseau selon NM[43] 2. la caractéristique que nous allons mesurer (par exemple, le débit du trafic...). Une structure hiérarchique des caractéristiques est schématisée dans la figure I.2.3. Certaines de ces caractéristiques s appliquent sur tous types d entités réseaux et 23

27 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX d autres s appliquent exclusivement soit sur des noeuds, soit sur des chemins. Une description détaillée de chaque caractéristique est fournie dans le document [44] et un exemple de code XML de la spécification NM est dans l annexe A.2.2. Fig. I.2.3 Les caractéristiques utilisées pour décrire un réseau selon NM[43] 2.5 SDL - System Description language SDL est un langage XML développé dans le cadre du projet POSITIF 2 [45] pour décrire un réseau d une façon orientée administration et configuration. SDL partage le même modèle abstrait (Figure I.2.4) de la structuration des composants d un réseau que celui du CIM 3. D une façon générale, avec SDL, toutes les ressources d un réseau peuvent être réparties selon 4 catégories : Élément réseau NetworkElement : une abstraction de toute entité réseau (routeur, commutateur, imprimante...). Interface : le point d accès d un élément réseau. Lien Link : le lien physique entre deux ou plusieurs noeuds. Ce lien peut être filaire ou sans-fil. Élément logique LogicalElement : Les caractéristiques et les capacités d un noeud. Par exemple, avec cette catégorie il est même possible de décrire un service 2 Policy-based Security Tools and Framework Project 3 Common Information Model 24

28 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX (FTP, HTTP...). UML est le langage de modélisation adopté par SDL. La figure IV.A.3 est un exemple de diagramme UML des noeuds et des interfaces. Côté spécifications, SDL utilise le XML Schema et pour les fichiers de description, ils sont en XML. Dans l annexe A.3.1 nous présentons un exemple de code XML du langage SDL. Fig. I.2.4 Le diagramme UML de la structure générale de SDL[45]. 2.6 VXDL - Virtual execution Infrastructures Description Language VXDL[46, 47] est un nouveau langage de description des réseaux. C est une nouvelle spécification utilisée dans Grid 5000 et dédiée principalement aux applications des grilles de calcul qui ont besoin des informations concernant le réseau. Il permet de décrire les ressources réseaux classiques mais aussi les ressources virtuelles fonctionnantes dans un environnement virtuel. En plus, il offre la possibilité de décrire la topologie d un réseau virtuel incluant des ressources virtuelles comme les routeurs virtuels[48]. L objectif de cette spécification est d offrir à l utilisateur la possibilité de décrire : 1. les ressources d une façon individuelle et regroupée. 2. les fonctions élémentaires liées aux ressources (par exemple la fonction de stockage des données). 3. la topologie d un réseau. 4. les applications et les outils nécessaires pour le bon fonctionnement de chaque composant réseau. 5. le calendrier d exécution de chaque application. Conceptuellement, VXDL se base sur une modélisation en UML (voir le diagramme de la figure IV.A.4). Côté implémentations, VXDL utilise la technologie XML. Dans l annexe A.4.2, nous proposons un simple exemple de fichier XML qui représente une description d une ressource et d un lien selon la spécification VXDL. 25

29 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 2.7 NML - Network Mark-up Language La spécification NML (en cours de développement) sera le résultat du groupe de travail NML-WG 4 [43]. L objectif de ce groupe de travail est de regrouper et fusionner l effort de plusieurs travaux (cnis, NDL, VXDL...) afin d avoir un langage unifiée de description des réseaux. Un tel langage peut faciliter l interopérabilité entre plusieurs projets et surtout entre des réseaux hétérogènes. Un modèle UML préliminaire de NML est disponible (voir figure IV.A.5) et plusieurs schémas XML ( XML Schema ) sont en cours de spécifications. Avec ces schémas, il sera possible de décrire : 1. la topologie d un réseau d une façon abstraite. 2. les propriétés qui sont communes à de multiples technologies de réseau. 3. un mécanisme pour que d autres projets puissent combiner leurs spécifications avec celle de NML. Tous ces schémas de NML ne sont pas encore disponibles et les travaux sur cette spécification sont encore dans leurs débuts. 2.8 Conclusion En parcourant ce chapitre, nous avons essayé de citer et expliquer brièvement les principaux langages et spécifications de description des ressources réseaux. Nous constatons que la plupart de ces spécifications ne supportent pas la description des ressources réseaux virtuelles. Pour ceux qui les supportent, ils sont des spécifications non mûres (en cours de développement) ou bien dédiées à des besoins fonctionnels bien spécifiques. De ce fait ils ne sont pas assez génériques pour supporter tous les types de réseaux. Face à cette situation, nous avons décidé de proposer une nouvelle spécification qui prend en considération tous les aspects d un réseau virtuel. Cette spécification sera expliqué dans le deuxième chapitre de la deuxième partie. Au paravant, nous proposons dans le chapitre suivant une étude des algorithmes/techniques de regroupement des descriptions des ressources le clustering. Ces algorithmes facilitent et accélèrent l opération de recherche dans un très grand nombre de fichiers de description. 4 Network Mark-up Language Working Group 26

30 Chapitre 3 Le regroupement des ressources clustering 3.1 Introduction Une fois la description des ressources virtuelles du réseau est terminée, l étape suivante conciste à découvrire et rechercher ces dernières qui peuvent satisfaire une demande d allocation de ressources (une ou plusieurs requêtes). Dans le contexte des réseaux virtuels, un nombre très élevé de ressources sont publiées. Dans notre domaine d application, ça ne sera pas efficace de parcourir toutes les ressources une à une pour chaque requête reçue afin de trouver les ressources qui peuvent la satisfaire. Face au problème de passage à l échelle, classifier et regrouper les ressources dans plusieurs catégories/groupes peuvent minimiser considérablement la phase de recherche des ressources. L opération de regroupement des ressources est reconnue dans le jargon informatique par le terme clustering. Généralement, le clustering est défini par l action de classification non supervisée (pas de classes prédéfinies) des objets (les ressources virtuelles dans notre cas) en plusieurs groupes selon un critère de similarité [49]. Depuis des dizaines d années, les scientifiques explorent sur le clustering et plusieurs approches, techniques et algorithmes de clustering ont été proposés. Mais, aucune proposition n a été considérée comme une bonne solution universelle [50, 51]. Cette difficulté a été même traitée d une façon formelle. Un théorème qui prouve l impossibilité d avoir un clustering parfait et efficace qui satisfait toutes les propriétés de clustering a été proposé dans [52]. Tout au long de ce chapitre nous allons comparer les différentes techniques de clustering. 27

31 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING 3.2 Les différentes techniques de clustering Le clustering est une technique qui a été utilisée dans plusieurs domaines assez variés comme la biologie, géologie, intelligence artificielle, compression des données, datamining, extraction de résumé, traitement d images, recherche d informations et bien d autres [53]. Face à cette diversité des domaines et surtout des objectifs du clustering, plusieurs approches et techniques de regroupement sont apparues. Les critères de distinction entre les techniques de clustering sont nombreux. Parmi les techniques les plus connues nous citons : Clustering en partition ou hiérarchique Clustering complet ou partiel Clustering flou Clustering incrémental Clustering conceptuel Clustering en partition ou hiérarchique C est l une des distinctions la plus connue des algorithmes de clustering. Elle considère les groupes (clusters) soit d une façon totalement séparée ou bien d une façon empilée. Reconnu plus généralement par le clustering en partition 1 (Figure I.3.1-a) et le clustering en hiérarchie 2 (Figure I.3.1-b). Dans le clustering en partition, tous les clusters sont disjoints et chaque objet appartient à un unique cluster. Si les clusters peuvent contenir d autres clusters, dans ce cas, nous avons le clustering hiérarchique dont l organisation des groupes peut être sous forme d arbre. L arbre créé est reconnu généralement sous le nom de dendrogramme. Dans cet arbre, la racine représente tous les objets et chaque feuille représente un seul objet. Comme représenté dans la figure I.3.2, le clustering hiérarchique se subdivise en 2 techniques, l ascendante 3 (du bas en haut) et la descendante 4 (du haut en bas). L algorithme de clustering hiérarchique ascendant commence avec plusieurs clusters contenant chacun un seul objet et les fusionne deux à deux d une façon récursive jusqu à avoir un seul groupe qui contient tous les objets. Pour le clustering hiérarchique descendant, c est le contraire. Au début il y a un seul cluster qui contient tous les objets. Puis d une façon récursive, il y a une subdivision des groupes en 2 sous-groupes jusqu à avoir un seul objet dans chaque groupe. 1 Partitional Clustering 2 Hierarchical Clustering 3 agglomerative method 4 divisive method 28

32 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Fig. I.3.1 Clustering partitionnel et hiérarchique Tel qu indiqué dans [54], les méthodes descendantes ont été largement ignorées par rapport aux méthodes ascendantes. La cause principale de cette nuance est due à la grande différence entre les complexités algorithmiques des deux techniques. Pour n clusters, avec la technique ascendante il y a ( n(n 1) 2 ) combinaisons possibles de fusion d objets. Mais, avec la technique descendante, il y a (2 n 1 1) combinaisons possibles de subdivision en deux clusters qui est un nombre assez grand par rapport au cas des techniques ascendantes. Fig. I.3.2 Clustering ascendant vs descendant Clustering complet ou partiel C est une autre distinction entre les algorithmes de regroupement. Dans le clustering complet, chaque objet est affecté au moins à un cluster. Par contre, dans le clustering partiel nous pouvons avoir des objets qui n appartiennent à aucun cluster. C est le cas des objets qui ne peuvent pas appartenir d une façon claire et précise à un groupe. 29

33 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Clustering flou Dans le clustering flou 5, chaque objet appartient à tous les clusters avec un coefficient d appartenance pour chaqu un d entre eux. Ce coefficient varie entre 0 (l objet n appartient absolument pas au cluster) et 1 (l objet appartient complètement au cluster) Clustering incrémental La majorité des techniques et algorithmes de clustering prennent en entrée une liste d objets et se basent sur une comparaison paire à paire entre les différents clusters. Par contre, avec le clustering incrémental nous ajoutons un à un les objets à classifier (Figure I.3.3). Avec cette technique, la construction du dendrogramme se fait d une façon dynamique en traitant un seul objet à chaque instant [49]. Le coût d ajout d un nouvel objet avec cette approche est nettement inférieur par rapport au techniques qui reconstruisent complétement le dendrogramme dés le début. Dans [55], l auteur a essayé d étudier comment les méthodes incrémentales peuvent réduire la complexité des traitements et comment elles sont plus adaptées aux applications réelles qui traitent les objets dont la description est sous forme de paires (attribut, valeur). COBWEB [56] est l un des exemples les plus connus des algorithmes de clustering incrémental qui a fait ses preuves. Fig. I.3.3 Clustering incrémental Clustering conceptuel Avec les techniques traditionnelles de clustering, il y a seulement la construction des groupes. Par contre, avec le clustering conceptuel, en plus de la formation des clusters, nous avons une explication via des propriétés et des concepts des raisons des choix des 5 Fuzzy clustering 30

34 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING groupes [57]. L intérêt d utiliser cette approche est de pouvoir décrire et définir chaque cluster avec un concept (une sorte de définition ou description du groupe). L autre raison d utiliser cette approche est quelle est plus précise dans la recherche d objets surtout dans le cas où les descriptions sont sous la forme (attribut, valeur). L un des premiers travaux du clustering conceptuel est ceux de R.S Michalski (CLUSTER/2 [58]) dans les années 80 et qui ont été suivis par d autres algorithmes comme CLUSTER/3 [59], COBWEB [56], LC-Conceptual Clustering [57], Conceptual K-means [60], ITERATE [61] et RGC [62]. Parmi ces algorithmes de clustering conceptuel, COBWEB [56] est l un des meilleures qui a pris en considération les contraintes imposées par l environnement réel d exécution. Il a pris en compte le fait d avoir un grand nombre d objets à regrouper. Mais le plus important, est qu il a traité le cas d un changement assez rapide dans la liste des observations via l ajout de nouvel objet. Techniquement, la solution adoptée est le clustering incrémental (Figure I.3.3). Donc, COBWEB est considéré comme un système incrémental pour le clustering conceptuel hiérarchique. Contrairement à COBWEB qui se base sur des aspects probabilistes pour faire le regroupement et la description des clusters, CLUSTER/2 et CLUSTER/3 définissent les clusters par une description conceptuelle conjonctive à base de calcul d attributs 6. Voici un exemple de description d un cluster généré par CLUSTER/3 : cluster(i) ={ [X 1 =1] & [X 2 =0] & [X 3 =0] } [59]. Ces types de descriptions sont intéressantes dans notre contexte de description des ressources réseau. 3.3 Conclusion Dans ce chapitre, nous avons exploré les différentes techniques de clustering d objets. Ces techniques sont distinctes et chacune d entre elles est adaptée à un domaine bien spécifique. D ailleurs cette diversité est la preuve qu on ne peut pas avoir un algorithme universel de clustering. Bien sûr, chaque technique contient des avantages et des inconvénients. Dans notre travail, nous avons essayé de choisir la bonne combinaison de techniques de clustering adaptée au contexte des ressources réseau virtuelles. Comme solution, nous avons proposé un nouvel algorithme de clustering qui fusionne principalement les approches/techniques utilisées dans COBWEB [56] et CLUSTER/3 [59] et en ajoutant de nouveaux concepts. Cet algorithme sera proposé dans le troisième chapitre de la deuxième partie. 6 Attributional calculus 31

35 Deuxième partie Formulation théorique des approches proposées «Le vrai danger, ce n est pas quand les ordinateurs penseront comme les hommes, c est quand les hommes penseront comme les ordinateurs.» Sydney Harris 32

36 Introduction générale pour la deuxième partie Dans cette partie, nous proposons la formulation théorique des approches que nous avons développé. Notre contribution touche principalement deux domaines : 1 Description des ressources dans un réseau virtuel : Dans ce domaine, nous avons proposé une nouvelle spécification qui prend en considération l aspect virtuel des réseaux et comble le manque de la plupart des langages de descriptions existant. Une formalisation de cette spécification est exposée dans le deuxième chapitre de cette partie. 2 Regroupement des descriptions de ressources Clustering : Dans ce domaine, nous avons proposé un nouvel algorithme de clustering. Cet algorithme est présenté dans le troisième chapitre de cette partie. En réalité, nous n aurions pu proposer de nouvelles approches, spécifications et algorithmes dans le domaine de la description et le regroupement des ressources virtuelles d un réseau sans la maîtrise et la compréhension (surtout de point de vue technique) de la virtualisation des réseaux qui est le contexte général de notre travail. Par conséquent, nous avons essayé dans le premier chapitre de cette partie de formuler brièvement les composants et les techniques utilisés pour construire un réseau virtuel. 33

37 Chapitre 1 La virtualisation des réseaux 1.1 Introduction Le réseau virtuel est un concept assez récent. Généralement, ce type de réseau utilise des ressources physiques à base de processeurs GPP 1 principalement pour des raisons de flexibilité. Dans notre travail, notre intérêt est de monter un réseau virtuel qui se base sur des ordinateurs à base de processeurs x86. Une fois que la partie physique est créée et bien configurée, il sera possible d instancier les ressources virtuelles et construire un nouveau réseau virtuel. Dans ce chapitre, nous présentons la partie physique que nous avons préparée pour supporter un réseau virtuel et bien sûr la partie virtuelle proprement dite du réseau. À la fin, nous citons les différents acteurs dans le cycle de création d un réseau virtuel. 1.2 Cycle de vie des ressources (machines) physiques et virtuelles Dans un environnement virtualisé, il ne faut pas voir ni gérer toutes les machines (ressources) de la même façon. Il faut faire une distinction entre les ressources physiques et virtuelles. L une des différences majeures est leurs cycles de vie. Nous proposons dans ce qui suit le cycle de vie de chacune d entre elles et leurs divergences. Le cycle de vie d une ressource physique dans un réseau virtuel est simple. C est le même que celui des machines physiques traditionnelles. Comme indiqué dans la figure II.1.1, une machine physique passe par 3 états : éteinte suspendu ou en veille (en copie sur la RAM ou bien sur le disque dur) en marche 1 General Purpose Processor 34

38 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX Fig. II.1.1 Cycle de vie d une ressource physique. Fig. II.1.2 Cycle de vie d une ressource virtuelle. Dans le cycle de vie d une ressource virtuelle (voir figure II.1.2), apparait un nouvel état qui est l état pause. C est un état intermédiaire entre l état de marche et l état en veille. Quand une machine virtuelle est en pause, la seule chose qui change par rapport à l état de marche est qu elle ne peut plus utiliser le processeur. Contrairement aux machines physiques, quand nous mettons une machine virtuelle en veille, celle ci est copiée sur le disque dur et elle n est plus dans la mémoire vive. Donc la seule différence entre l état suspendu et l état éteinte pour les machines virtuelles réside dans l état de sauvegarde. Dans les deux cas d états, la machine virtuelle est sauvegardée dans le disque dur, sauf que dans l état en veille, le contenu de la mémoire et celui du processeur sont aussi sauvegardés. L autre changement majeur réside dans l opération de migration migrate. Suite à cette opération, la machine virtuelle garde le même état de fonctionnement malgré quelle ne réside plus sur la même machine physique suite à une migration. 1.3 Hyperviseur L une des premières décisions que nous avons dû prendre, est le choix de la technique de virtualisation. Nous avons adopté la paravirtualisation comme technique principale de virtualisation surtout pour des raisons de performance. Mais la virtualisation complète est aussi prise comme une alternative (afin de pouvoir travailler avec les systèmes d exploitation propriétaires comme Windows en mode de virtualisation complète en plus des systèmes Open Source comme Linux en mode paravirtualisé). En réalité, le choix d utiliser le système XEN [32, 20] comme hyperviseur a rendu cette dualité de techniques possible. Car, même si XEN est connu comme étant un système pour la paravirtualisation, il peut aussi fonctionner en virtualisation complète. Certes, avec des performances dégradées par rapport à la paravirtualisation mais c est fonctionnel. Ces performances ne cessent d augmenter surtout en utilisant les options de virtualisation proposées par les processeurs comme l option Intel-VT dans les processeurs Intel. Quoique 80% de notre travail repose sur XEN, mais cela ne veut pas dire que nous 35

39 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX n avons pas essayé d autres systèmes de virtualisation comme VMWare Server ou Citrix XenServer. Car par conviction, comme dans les réseaux actuels, il y aura de l hétérogénéité dans les réseaux du futur et ça commence impérativement au niveau des hyperviseurs. Dans la suite, vu le fait que nous avons adopté XEN comme hyperviseur, nous parlerons des domaines virtuels (dom0, dom1...) qui sont tout simplement les machines/images virtuelles selon la nomenclature de XEN. Techniquement, quand nous utilisons XEN, il faut avoir un domaine privilégié nommé dom0 (une sorte de machine virtuelle qui gère l hyperviseur XEN, contient les drivers physiques du matériel). Pour des raisons de simplification, nous allons confondre XEN avec le dom L interconnexion Dans un réseau, l interconnexion entre les ressources est primordiale. D habitude, pour se connecter à un réseau, il y a une attribution d une adresse IP pour chaque carte réseau. Avec la virtualisation, chaque carte réseau physique peut être partagée par plusieurs machines virtuelles. Pour partager une carte réseau, nous avons du travailler avec des interfaces virtuelles (VIF Virtual Interface ). Les interfaces virtuelles sont tout simplement les interfaces réseau des machines virtuelles (une sorte de cartes virtuelles). Après avoir créé les interfaces virtuelles, nous devons les relier à l interface réseau physique (la carte réseau). Parmi les deux solutions les plus connues pour cette opération il y a (voir figure II.1.3) : NAT Network Address Translation : c est la technique la plus utilisée dans la virtualisation avec XEN. Chaque paquet provenant d une machine virtuelle est routée à l extérieur en utilisant la translation des adresses réseau (NAT). Cette opération de routage se fait au niveau de XEN (le dom0 plus précisément). bridge (pont) : dans ce cas, XEN (dom0) est une sorte de hub virtuel, qui transmet les paquets directement aux machines virtuelles. Dans la plate-forme que nous avons montée, nous avons utilisé le bridge (avec quelques modifications par rapport au configuration standard). Car comme indiqué dans la figure II.1.3 (partie bridge) nous avons besoin de donner des adresses IP publiques aux différentes machines virtuelles qui doivent être visibles de l extérieur. Chaque machine virtuelle envoie une requête DHCP. Cette requête est routée par XEN (dom0) vers l extérieur (le réseau). Le serveur DHCP renvoie une réponse qui est routée au niveau du réseau et XEN (dom0) pour atteindre la machine virtuelle. 36

40 CHAPITRE 1. LA VIRTUALISATION DES RE SEAUX Fig. II.1.3 Ressource virtuelle avec une adresse IP publique Dans notre travail, nous avons pris le cas extre me (adresse IP publique) concernant la configuration de l interconnexion. Mais nous pouvons avoir des interconnexions de re seaux dont la configuration est plus simple. Durant notre travail dans la phase de virtualisation des ressources physiques avec XEN, nous avons rencontre plusieurs proble mes. Parmi ces proble mes, nous citons le fait que chaque machine physique peut avoir plusieurs cartes re seaux (6 cartes dans les serveurs que nous avons utilise ). Avec l objectif d attribuer une carte re seau exclusivement a une machine virtuelle, le me lange des cartes re seaux dans le me me bridge est non conseille e. Comme solution, nous avons change la configuration de l hyperviseur XEN afin de pouvoir cre er plusieurs bridges (voir figure II.1.4). Chaque bridge est lie a une seule carte re seau physique et a une ou plusieurs interfaces virtuelles selon le besoin. Fig. II.1.4 Configuration des interfaces re seaux 37

41 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX 1.5 Les machines virtuelles utilisées Une fois que nous avons virtualisé les machines et leurs interfaces réseaux, nous avons pu créer, démarrer et migrer les machines virtuelles. Sachant que nous sommes entrain de travailler dans le contexte des réseaux, une machine virtuelle est considérée comme une ressource. Pour atteindre le maximum de performance, nous devons réduire autant que possible la taille de la ressource, ce qui nous ramène de procéder à la création des machines virtuelles à base de distribution Ubuntu de taille approximative de 60 Mo. La plupart de ces machines virtuelles sont à base de noyau Linux. Après avoir créé ces noyaux, nous les avons patché pour qu elles fonctionnent dans un environnement paravirtualisé. Notre but n est pas juste de fournir des machines virtuelles mais des ressources virtuelles réseaux (comme un routeur). Pour satisfaire cet objectif, nous avons créé différentes machines virtuelles contenant chacune une technologie de routage. Par exemple, nous avons créé une ressource réseau virtuelle de routage en utilisant le routeur logiciel Quagga [63]. Un autre test a été fait avec une image virtuelle VMWare qui contient le routeur virtuel Open Source Vyatta [64]. Une fois les machines virtuelles crées et en fonctionnement, il faut pouvoir les gérer à distance et d une façon sécurisée. Dans cet objectif, nous avons configuré toutes les machines pour répondre aux connexions SSH 2, VPN 3 et VNC 4. Concernant la supervision, nous avons testé plusieurs systèmes de supervision comme BixData, OpenQRM ou Nagios. Nous avons choisi et utilisé BixData [65] qui est un système à base d agents (serveur, client) pour faire la supervision complète des machines physiques et virtuelles. 1.6 Conclusion Afin de créer/gérer un réseau virtuel, plusieurs acteurs doivent intervenir (voir paragraphe I.1.3). Ces acteurs ont besoin d échanger en permanence des informations entre eux. Ces informations concernent les ressources virtuelles d une façon individuelle et d une façon abstraite (surtout en ce qui concerne la connectivité du réseau demandé). Ce besoin est la source d inspiration de notre travail dans l élaboration d une spécification et d un langage de description des ressources et du réseau virtuel en générale. Cette spécification et ce langage seront décrits dans le chapitre suivant. 2 Secure Shell 3 Virtual Private Network 4 Virtual Network Computing 38

42 Chapitre 2 Description des ressources réseaux 2.1 Introduction Dans un réseau virtuel, de nouveaux acteurs/utilisateurs se sont apparus. En ajoutant le fait que nous ne traitons plus des ressources réseau classiques mais virtuelles, la majorité des langages et spécifications de description des réseaux s avèrent insuffisantes. Même ceux qui prennent en considération l aspect virtuel ne sont pas encore mûres et ne sont pas encore reconnus par la communauté. De ce fait, nous avons proposé une nouvelle spécification, avec laquelle, nous avons essayé d assurer l interoperabilité avec les langages existants tout en ajoutant les nouveaux besoins dans le domaine des réseaux virtuels. Dans ce chapitre, nous allons montrer l intérêt de l étape de description dans le cycle de vie de création d un réseau virtuel. Évidemment nous parlerons de la nouvelle spécification et du langage que nous avons proposé. 2.2 Le processus de création et de gestion d un réseau virtuel La description des ressources est la première étape dans le processus de création d un nouveau réseau virtuel. Ce processus passe principalement par 5 étapes : (voir figure II.2.1) 1. Description des ressources Resource description : Dans cette étape, nous devons décrire les ressources disponibles ou bien la topologie du réseau à créer. 2. Regroupement des ressources Clustering : Afin de faciliter et accélérer la recherche dans un très grand nombre de ressources disponibles, nous passons par cette étape qui consiste à regrouper les ressources selon un critère de similarité bien définie. Le résultat de cette étape ne serre pas seulement à accélérer la recherche, mais aussi il est un outil intéressant pour le fonctionnement des processus qui vont suivre. 39

43 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 3. Recherche des ressources Discovery and matching : Le but de cette étape est de rechercher les ressources candidates afin de construire ou changer un réseau virtuel. La recherche peut bénéficier des résultats de l étape de regroupement afin de diminuer le temps de recherche et améliorer les performances. 4. Sélection des ressources Selection : Dans cette étape, une fois que nous avons une liste de candidats, il faut selectionner/choisir les meilleurs d entre eux. 5. Allocation des ressources Binding : Après avoir choisi les ressources qui vont construire ou changer un réseau virtuel, il faut allouer physiquement ces ressources. Cette relation entre les ressources virtuelles et physiques se fait durant cette étape. Fig. II.2.1 Processus de création d un réseau virtuel. NB : La troisième, quatrième et cinquième étapes ne sont pas incluses dans cette mémoire, faisant l objet de recherche parallèle par l équipe de notre laboratoire[7, 8, 9]. Vue que notre contribution est dans les deux premières étapes, cela nous permet d analyser et de détailler ci-dessous la description des ressources virtuelles. 2.3 Les exigences envers le langage de description La spécification et le langage de description des ressources d un réseau virtuel, que nous allons développer, doivent satisfaire les exigences suivantes : Interopérabilité : Un réseau en général est hétérogène et plusieurs langages de description peuvent être utilisés. L interopérabilité de notre spécification avec d autres langages est un facteur très important. Extensibilité : Le langage de description doit être extensible afin de pouvoir gérer les nouvelles ressources et types de réseaux. 40

44 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX Flexibilité : Le langage doit être flexible pour pouvoir décrire les ressources avec plusieurs niveaux de granularité. Avec cette flexibilité, il sera possible de décrire les ressources virtuelles et le réseau en générale d une façon abstraite ou détaillée. 2.4 Le modèle de la spécification Afin d assurer l indépendance entre le modèle de notre spécification et le langage de spécification, nous avons utilisé UML comme langage de modélisation. La figure II.2.2 est le diagramme de classe UML de notre spécification. Fig. II.2.2 virtual network description 41

45 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX Nous avons défini quatre principaux composants qui décrivent les Éléments Réseau Network Elements. Ces Composants sont : Noeud Node Lien Link Interface Interface Chemin Path Chaque élément est référencé par un identifiant unique et il est décrit par un paramètre de disponibilité. Les noeuds et les liens sont caractérisés par une liste d attributs fonctionnels et non fonctionnels. Les attributs fonctionnels définissent les caractéristiques, les propriétés et les fonctionnalités de chaque élément réseau (le type de l élément, environnement d exécution, le système de virtualisation, etc.). Les attributs non fonctionnels sont les critères liés au fonctionnement de l élément réseau (comme la capacité, l emplacement, qualité de service QoS, etc.). Les noeuds Nodes, liens Links et interfaces Interfaces sont des ressources individuelles dans un réseau. Chacune d entre elles possède deux sous-classes, la première pour la ressource de nature physique et la deuxième pour la virtuelle. La connectivité entre les éléments réseau est exprimée par deux relations hasinterface et connectedto. Ces deux relations font intervenir les trois principaux éléments. Chaque noeud peut avoir un ou plusieurs interfaces. Les interfaces physiques ou virtuelles peuvent être connectées à un ou plusieurs liens physiques ou virtuels. Les liens sont caractérisés par deux critères supplémentaires : le type de connectivité Connectivity Type (diffusion, point à point, point à multi point) et la qualité de service. Nous avons défini la qualité de service des liens par quatre attributs : : bande passante Bandwidth temps de réponse Latency gigue de la connexion Jitter perte de packet Loss L élément réseau chemin Path est un élément qui est lui-même composé par d autres composants réseau. Il est structuré sous forme d une liste de sauts successifs (dont chacun est composé d un noeud et d un lien), d un noeud de départ et un autre d arriver. Nous pouvons définir avec les chemins et les noeuds la topologie d un réseau qui est sous forme de graphe. Finalement, dans notre modèle, nous avons défini l élément domaine du réseau Network Domain qui est une classe abstraite. Avec cet élément, nous pouvons représenter un groupe d éléments réseaux sous forme de domaine spécifique. Chaque domaine réseau est géré par une entité administrative Administrative Domain. 42

46 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 2.5 Le langage de la spécification Après avoir défini le modèle global de la nouvelle spécification que nous avons modélisé sous forme de diagramme UML, nous allons proposer un langage de description lié à cette spécification. Nous avons choisi XML 1 comme langage de description des ressources réseaux et les schémas XML XML Schema pour spécifier la structure des fichiers XML de description. Par exemple, pour décrire un noeud virtuel, nous avons proposé le code XML suivant (un exemple complet de description des ressources est fourni dans l annexe A.6). <! > <! V i r t u a l Node > <! > <t s p : VirtualNode ID= VN1 > <tsp : A v a i l a b i l i t y > </tsp : A v a i l a b i l i t y > <tsp : Name>V i r t u a l Node 1</tsp : Name> <tsp : FunctionalAttributes > <tsp : OSType>Linux</tsp : OSType> <t s p : NetworkStackType>TCP/IP</t s p : NetworkStackType> <tsp : VirtualizationEnvironmentType>XEN</tsp : VirtualizationEnvironmentType> <tsp : NodeType>virtualRouter </tsp : NodeType> </tsp : FunctionalAttributes > <tsp : NonFunctionalAttributes > <t s p : Capacity >1.244Mbps</t s p : Capacity> <tsp : Location> <tsp : name>s i t e 1 </tsp : name> <tsp : adress >Paris </tsp : adress > </tsp : Location> </tsp : NonFunctionalAttributes > <tsp : h a s I n t e r f a c e s > <tsp : i n t e r f a c e >VI1</tsp : i n t e r f a c e > <tsp : i n t e r f a c e >VI2</tsp : i n t e r f a c e > </tsp : h a s I n t e r f a c e s > <tsp : belongsto>pn1</tsp : belongsto> </tsp : VirtualNode> 1 extensible Mark-up Language 43

47 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 2.6 Le filtrage des informations Les fichiers des descriptions servent à décrire les ressources réseau, mais ils sont aussi un moyen d échange d informations entre les différents acteurs du réseau virtuel. Or les relations entre ces acteurs dépendent des contrats qui les relient. Selon le profil de l utilisateur, quelques informations ne doivent pas être divulguées. Pour satisfaire ce besoin, nous avons proposé d utiliser un mécanisme de filtrage avant chaque envoie de fichier XML de description. Plus simplement c est l application d un masque sur les fichiers XML. Le choix du masque correspond au profil d utilisateur demandeur des informations de ressources. Fig. II.2.3 le filtrage des fichiers de description Afin de concrétiser cette approche, nous avons spécifié les masques avec des fichiers XSL 2. Comme illustré dans la figure II.2.3, un processus de filtrage applique le masque (le fichier XSLT) sur un fichier XML de description. Comme résultat, nous avons un fichier XML filtré près à être envoyé. Dans l opération de filtrage, nous pouvons supprimer quelques informations ou bien modifier leurs continues. 2.7 Conclusion Notre contribution concernant le langage de spécification des ressources virtuelles d un réseau a été validée par nos partenaires dans le projet 4WARD. De plus, nous avons développé un générateur avec une interface graphique pour le fichier de description et un autre pour le fichier de filtrage (expliqué en détaille dans la partie III). L autre objectif, dans notre travail, est de faciliter la recherche des ressources. Dans le chapitre suivant, nous parlerons des approches et de l algorithme que nous avons proposé pour le regroupement des ressources réseau. 2 extensible Stylesheet Language 44

48 Chapitre 3 Le regroupement des ressources clustering 3.1 Introduction Le but de notre travail est de fournir un algorithme de clustering dédié au domaine de la description des ressources virtuelles de telle sorte que le résultat de cet algorithme soit efficace et utile pour le processus d approvisionnement des réseaux virtuels. La notion d un groupe cluster n est pas et ne sera jamais définie d une façon générique[52], par conséquent il existe plusieurs algorithmes de clustering dont chacun traite une problématique bien définie. En effet, l opération de regroupement (clustering) dépend de la nature des données à regrouper et de l objectif du clustering. Aprés une étude de l existant dans ce domaine, nous proposons un nouvel algorithme dédié au domaine de description des ressources réseaux. La formulation de cet algorithme est exposée à la fin de ce chapitre. Mais avant, nous présentons une vue globale du contexte des ressources virtuelles d un réseau et le critère de similarité utilisé dans le processus de regroupement. 3.2 Le contexte des ressources virtuelles d un réseau Le clustering est la deuxième opération dans le processus de création et de la gestion d un réseau virtuel (voir Figure II.2.1). Cette opération de clustering est classé après la description des ressources virtuelles d un réseau. Donc, l entrée de l algorithme de clustering est les fichiers de descriptions des ressources réseau (ces fichiers sont le résultat de la première opération de description). Comme déjà expliqué dans le paragraphe II.2.4, les attributs utilisés dans la description d une ressource sont de 2 natures : fonctionnels et non fonctionnels. L objectif principal de notre travail est de faire un clustering en utilisant les attributs non fonctionnels. L utilisation exclusive des attributs fonctionnels est expliquée par le fait que la découverte et 45

49 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING la recherche des ressources se basent généralement sur ce type d attributs. Une deuxième explication de ce choix est le fait que le regroupement résultant ne peut pas être très dynamique. Pour cette raison, il n est pas adéquat d utiliser des paramètres temps réel dans l opération de regroupement. Plusieurs contraintes sont liées au clustering dans le contexte des ressources réseaux. Parmi les plus importantes, nous citons : * Le nombre de groupes à créer lors de l opération de regroupement est non défini à l avance. Donc la classification doit être non supervisée et l algorithme de clustering ne doit pas exiger une variable d entrée contenant le nombre de groupes clusters désiré. * Les descriptions des ressources peuvent être incomplètes. Donc l algorithme doit prendre en considération le manque d informations et soit capable de classer convenablement ces descriptions. * Dans le domaine des réseaux, il y a un grand nombre de ressources décrites. Donc, l algorithme doit résister à la montée en charge. * Le nombre d objets dans un réseau n est pas statique. Des ressources peuvent apparaître et disparaître d une façon continue. En plus, la description d un objet peut aussi changer. Donc il faut avoir un algorithme de clustering qui soit assez dynamique pour gérer toutes ces contraintes. * L ordre d apparition des attributs dans le regroupement est important car les attributs n ont pas tous la même importance. * La définition conceptuelle des clusters doit être sous forme conjonctive (Cluster1 = [ attribut1 = valeur1.b ] & [ attribut3 = valeur3.h ]) car la recherche se base aussi sur des descriptions conjonctives à base d attributs. 3.3 La similarité entre les clusters L un des choix crucial dans l opération de regroupement des descriptions est le critère de similarité entre les objets. Selon ce critère, la répartition des objets dans les différents groupes peut changer. Il existe plusieurs critères de similarité et de nombreuses approches, parmi les plus connus, nous citons : Les approches utilisant les liaisons métriques : distance simple, complète et moyenne... Pour fusionner ou diviser des sous-ensembles de points plutôt que des points individuels, la distance entre les points contenus dans chaque ensemble doit être généralisée à la distance entre les sous-ensembles. Cette mesure de proximité est appelée une liaison métrique. Le type de la liaison métrique est utilisée de manière significative pour les algorithmes hiérarchiques, car ils reflètent le concept de la proximité et la notion de fusion ou division des sous-groupes. Les principaux types de liaisons métriques entre les groupes sont : lien unique single link, lien en moyenne 46

50 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING average link, et lien complet complete link. Pour calculer ces types de distances entre les groupes, des formules mathématiques sont utilisées (exemple : Distance euclidienne). En utilisant ces formules, le traitement des objets ayant une description sous forme d attributs-valeurs devient inefficace. Car il est illogique de comparer en distance numérique deux attributs de natures différentes qui n ont aucun point commun de comparaison. Le deuxième inconvénient apparaît dans le cas du clustering conceptuel puisqu il n est pas facile d avoir une description logique et claire des groupes en se basant sur des formules mathématiques pour faire le regroupement. Les approches probabilistes : Gaussien, Bernoulli... Selon [66], dans l approche probabiliste, les données sont considérées comme un échantillon tiré de façon indépendante à partir d un modèle de mélange de plusieurs distributions de probabilité.[49]. Des mesures heuristiques sont utilisées pour guider l opération de regroupement. COBWEB [56] utilise une telle mesure heuristique appelée category utility et il est l un des algorithmes les plus connus qui utilise l approche probabiliste. COBWEB ajoute les objets d une façon incrémental dans un arbre de classification où chaque noeud de l arbre est un concept probabiliste qui représente une classe d objets. Comme pour les approches utilisant les liaisons métriques, les approches probabilistes ne peuvent pas fournir des descriptions conceptuelles, logiques et précises des groupes. Les approches spécifiques : LEF 1, fréquence d apparition des attributs... Plusieurs algorithmes utilisent leur propre mesure de similarité afin d optimiser l opération de regroupement. Parmis ces mesures de similarités, nous citons LEF [58] utilisé dans les algorithmes CLUSTER/2 [58] et CLUSTER/3 [59]. LEF traite principalement des descriptions à base d attributs et il est définie par une séquence de paires (C1,T1),(C2,T2),...,(C,T) dont chaque paire est sous forme (critère, tolérance). Les algorithmes qui utilisent LEF suivent cet enchaînement d étapes : Dans la première étape, tous les groupes sont évalués par le premier critère C1, et ceux qui ont le meilleur score ou qui sont dans la plage définie par le seuil T1, sont conservés. Après, les groupes retenus sont évalués par le critère C2 avec le seuil T2, et ainsi de suite. Ce processus se poursuit jusqu à ce que l ensemble des groupes retenus est réduite à un singleton ou la séquence des paires de (critère, tolérance) est épuisée. L avantage avec LEF est qu il est possible d avoir une description conceptuelle précise et significative des groupes. Comme deuxième approche spécifique, nous citons celle qui se base sur la fréquence d apparition d un attribut de la description d un objet. Cette approche est utilisée principalement dans le regroupement des documents et se base sur la fréquence d apparition des mots. L idée de cette similarité se base sur le constat qui dit que les mots qui se répètent le plus souvent peuvent représenter le contexte d un document. 1 Lexicographical Evaluation Functional 47

51 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Parmi les approches qui utilisent cette technique de clustering il y a le FIHC 2 [67]. 3.4 Le choix de la technique de clustering Dans le choix de la technique de clustering à utiliser, il faut satisfaire deux contraintes : Les exigences déjà définies dans le paragraphe II.3.2 qui sont liées à l opération de regroupement dans le contexte des ressources virtuelles d un réseau. Les besoins des autres étapes du processus d approvisionnement d un réseau virtuel (le processus défini dans le paragraphe II.2.2). Le regroupement que nous avons choisi est hiérarchique, descendant, conceptuel et incrémental. L adoption de la structure hiérarchique dans l opération de regroupement est liée au fait que les mécanismes de l étape de recherche des ressources Discovey/Matching du processus d approvisionnement exigent une structure arborescente [68]. Le clustering hiérarchique se subdivise en deux sous-types : ascendant Agglomerative et descendant Divisive. La plupart des algorithmes de clustering hiérarchique utilisent la technique ascendante car la complexité de construction de l arbre est de l ordre de O(n 2 ) contre O(2 n ) pour la technique descendante (n est le nombre d objets à classifier). La technique descendante a été choisie quoiqu elle admet une complexité plus importante par rapport à l ascendante. Ce choix est lié au fait que la mise à jour d un dendrogramme est plus rapide, simple et précise avec l approche descendante. Mais à fin de remédier au problème de complexité et rendre l algorithme résistant à la montée en charge (traitement d un grand nombre d objets), nous avons proposé une nouvelle mesure de similarité. Avec les algorithmes de clustering hiérarchique descendant et pour n objets, il faut traiter les (2 n 1 1) combinaisons possibles de subdivision des objets en deux sous groupes. Avec de tel algorithme, le traitement se fait sur les objets avec une équivalence dans l importance des attributs. Or dans le contexte des réseaux virtuels, les attributs des descriptions n ont pas la même importance (par exemple l attribut type d une ressource réseau et plus important que celui du système d exploitation déployer). De ce fait, il n est pas intéressant d avoir un rapprochement entre les objets d une façon abstraite et non contrôlée. Par exemple, c est inefficace d avoir deux objets bien rapprochés (les deux dans le même groupe en bas de l arbre) s ils ont deux valeurs différentes d un attribut de très haute importance (ex. le type du noeud) malgré le fait qu ils ont des valeurs identiques de plusieurs attributs. L objectif de l opération de clustering n est pas d avoir un joli regroupement mais d avoir un regroupement efficace et utile qui permet de répondre le plus rapidement et efficacement au requêtes. Ça sera plus intéressant de bien classifier les objets plutôt que structurer le graphe selon une propriété spécifique [69]. Comme solution, notre approche consiste à ajouter une distinction entre les attributs. L idée est d attribuer un coefficient d importance poids aux attributs (aussi des coeffi- 2 Frequent Itemset-based Hierarchical Clustering 48

52 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING cients pour les valeurs des attributs) et ajouter cet coefficient à la formule de similarité. Cet coefficient est lié à la nature de l attribut/valeurs et aussi au exigences des éventuelles requêtes. Quant à la formule de similarité, elle se base sur la fréquence d apparition d un attribut (similaire au FIHC [67]). Dans une telle situation, il n y pas de comparaison entre tous les objets un à un mais un traitement plus abstrait/général en se basant sur le nombre d apparitions des attributs dans les descriptions des objets. Donc le nouveau critère de similarité que nous avons nommé AW-FA Attribute Weight and Frequency of Appearance se base sur : le poids des attributs la fréquence d apparition des attributs et leurs valeurs et voici la formulation mathématique de ce critère de similarité : Supposons que : n : le nombre d objets à classifier m : le nombre d attributs à utiliser dans le processus de clustering O i : le i ème objet à classifier A i : le i ème attribut à utiliser dans le processus de clustering O = {O 1, O 2,..., O n } : l ensemble des objets à classifier A = {A 1, A 2,..., A m } : la liste des attributs à utiliser dans la classification D(A i ) = {a i,1, a i,2,..., a i,ki } : le domaine des valeurs de l attribut A i avec : a i,j : la j ème valeur de l attribut A i k i : le nombre de valeurs que l attribut A i peut avoir C = {C 1, C 2,..., C m } : l ensemble des poids des attributs à utiliser dans le processus de clustering avec C i est le poids de l attribut A i C i = {c i, c i,1, c i,2,..., c i,j } : les coefficients de l attribut A i avec : c i : le coefficient globale de l attribut A i c i,j : le coefficient de la valeur a i,j de l attribut A i H(a) : la fonction qui calcule le nombre d apparition de l entité a dans un ensemble d objets. Alors : Score de l attribut A i : score(a i ) = S i = [c i H(A i )] k i j=0 (c i,j H(a i,j )) Meilleure score : S = max i 1..m (S i ) Avec cette approche, nous avons principalement deux avantages et un inconvénient : (+) A chaque étape de subdivision, il n y a plus un traitement de (2 n 1 1) combinaisons de subdivision mais plutôt m combinaisons avec m est le nombre d attributs. Donc, nous avons un gain très important au niveau de la complexité qui est devenu 49

53 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING de l ordre de O(m). Avec cette complexité, il est possible de traiter un très grand nombre de descriptions (voir les tests de performance dans le chapitre 3). (+) Le dendrogramme crée est orienté requête. Par exemple, si la majorité des requêtes exige de connaître le type des ressources, ça sera plus efficace de commencer la recherche dès le début sur cet attribut. (-) Une perte dans l aspect conceptuel du dendrogramme car la création des groupes ne se base plus sur une comparaison un à un entre les objets. Dans le tableau II.3.1, il y a une comparaison entre le nouvel algorithme proposé (nommé HCC4ND) et deux algorithmes qui sont COBWEB [56] et CLUSTER/3 [59]. Cette comparaison, met en valeur notre approche et l algorithme de clustering proposé. Avec COBWEB, il est possible d assurer trois contraintes liées au domaine de regroupement des descriptions des ressources virtuelles (soit l ajout/suppression dynamique des objets, la montée en charge et l incrémentalité). Mais dut fait que COBWEB se base sur la probabilité au niveau du critère de similarité, il ne peut pas fournir une description conjonctive des groupes crées. Fournir une telle description est le point fort de CLUS- TER/3. L inconvénient avec CLUSTER/3 est qu il n assure pas les trois contraintes que COBWEB peut assurer et qui sont des contraintes primordiales pour le clustering des ressources virtuelles d un réseau. Notre algorithme HCC4ND Hierarchical Conceptual Clustering for Network Description, peut satisfaire toutes les contraintes. Avec HCC4ND, nous avons fusionné les avantages des deux algorithmes COBWEB et CLUSTER/3 tout en utilisant une nouvelle mesure de similarité (AW-FA). Nom de Représentation Critère de Incrémental Ajout & suppression Montée l algorithme conjonctive similarité dynamique d objets en charge COBWEB Non probabiliste Oui Oui Oui Cluster/3 Oui LEF Non Non Non HCC4ND Oui AW-FA Oui Oui Oui Fig. II.3.1 Comparaison entre COBWEB, CLUSTER/3 et HCC4ND 3.5 L algorithme de clustering proposé HCC4ND Nous avons choisi le clustering hiérarchique, descendant, conceptuel et incrémental. Dans ce qui suit, nous présentons une vue simplifiée des étapes du processus de regroupement des descriptions des ressources d un réseau virtuel. Ces étapes sont schématisées dans la figure II.3.2. La première étape consiste à publier les fichiers de descriptions (filtré 50

54 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING ou non). Cette publication se fait par insertion des fichiers XML dans une base des données XML Native. Lors de l insertion des fichiers, ils sont indexés par un système de gestion des bases de données XML Native (le choix de la technique d indexation et du SGBD exist-db seront expliqués ultérieurement dans le chapitre III. 3.2). La deuxième étape est l exécution de l algorithme de clustering. Cet algorithme a besoin de deux entrées. La première entrée est les fichiers de descriptions enregistrées dans la base de données XML Native. La deuxième entrée est le fichier XML qui contient la liste des attributs à utiliser dans l opération de regroupement. De plus, ce fichier contient les poids (coefficients) de chaque attribut. Ces poids sont nécessaires pour calculer les mesures de similarité. Le résultat de l algorithme de clustering est un ou plusieurs fichiers XML représentants le dendrogramme. Dans la figure II.3.2, il y a une schématisation des principaux balises du fichier XML résultant (ID du cluster, le parent, la description conceptuelle du groupe, la liste des objets du groupe, la liste des objets du groupe, les IDs des sous-groupes...). Fig. II.3.2 Modélisation du processus de construction d un dendrogramme Dans l étape de regroupement, l algorithme de clustering doit assurer plusieurs fonctions, parmi les principaux nous citons : construire le dendrogramme. 51

55 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING ajouter, modifier ou supprimer une description d une ressource virtuelle d un réseau. extraire des informations à partir du dendrogramme. extraire des informations à partir de la base de données XML Native. Les structures de données et les algorithmes de toutes les fonctions ont été formalisées et comme exemple, voici celui de la construction du dendrogramme : fonction:= clustering() { 1) lire toutes les descriptions des ressources virtuelles 2) s il existe des objets à classifier alors: 2.1) appeler la fonction occurence_vector() pour calculer le vecteur d occurrence 2.2) extraire l attribut ayant le meilleure score (attribut de décision) 2.3) extraire les valeurs de l attribut de décision 2.3) pour chaque valeur, lancer un thread qui exécute la fonction clustering() pour le sous groupe fonction:= occurrence_vector() { 1) pour chaque attribut 1.1) calculer le nombre d apparition de l attribut dans l ensemble des objets 1.2) pour chaque valeur de l attribut 1.2.1) calculer le nombre d apparition de la valeur dans l ensemble des objets 1.3) extraire les poids de l attribut et des valeurs de cette attribut 1.4) calculer le score de l attribut 3.6 Conclusion Pour conclure, nous avons formulé notre nouvelle approche concernant le critère de similarité et le nouvel algorithme de regroupement des descriptions d un réseau virtuel. Afin de tester et évaluer nos approches, l algorithme a été implémenté. Dans le chapitre III. 3, les résultats de performance de cet algorithme sont représentés. Avec cette partie du chapitre, la partie théorique est terminée, ce qui nous conduit à la troisième partie contenant les réalisations et les évaluations des différentes approches proposées dans la description et le regroupement des ressources d un réseau virtuel. 52

56 Troisième partie Réalisation «Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie).» Dave Small 53

57 Chapitre 1 La virtualisation des réseaux 1.1 Introduction Après avoir étudié les différentes techniques de virtualisation et choisi la paravirtualisation comme technique et XEN comme système de virtualisation, nous avons commencé à mettre en place une plate-forme virtualisée sur plusieurs serveurs. Dans ce chapitre, nous allons décrire brièvement nos travaux sur la plate-forme qui nous ont permis de se familiariser avec les concepts de virtualisation et surtout d identifier les contraintes à prendre en compte dans la spécification des descriptions. 1.2 La plate-forme mise en place La plate-forme que nous avons utilisé est composée de 8 serveurs (voir figure III.1.1) rassemblés dans une armoire. Nous avons utilisé deux types de serveurs : 6 serveurs de taille 4U ayant chacune la configuration suivante : 2 processeurs Intel Xeon (Prestonia) cadencés à 2,4 Ghz et une mémoire vive de 1024 Mo. 2 serveurs de taille 8U ayant chacune la configuration suivante : 4 processeurs Intel Xeon (Gallatin) cadencés à 1,5 Ghz et une mémoire vive de 2048 Mo. Sur chacune des machines de la plate-forme, nous avons installé et configuré l hyperviseur XEN dans sa version 3.2 à partir des codes source. Avec XEN, nous avons utilisé Ubuntu (version 8.04) comme un système d exploitation privilégié (dom0). Pour les machines virtuelles, nous avons essayé de diversifier les distributions que nous avons installé (Debian, Ubuntu, suse, openbsd). Comme indiqué dans le chapitre 1.5 de la partie II, l un des objectifs est d avoir des machines virtuelles de petite taille tout en assurant le bon fonctionnement de ces dernières. Afin d atteindre cet objectif, nous avons pu créer des images virtuelles de taille 60 Mo. Avec ces images de petite taille, nous avons pu instancier plusieurs machines virtuelles sur chaque serveur. Avec les 8 serveurs, nous sommes arrivés 54

58 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX à créer plus que 40 machines virtuelles et ce nombre peu facilement croître. Fig. III.1.1 La plate-forme utilisée Tous les serveurs et toutes les machines virtuelles ayant été configurés avec des adresses IP publiques peuvent être gérés à distance par des sessions SSH ou VNC. Pour la gestion et la supervision, en plus des outils fournis en standard par XEN, nous avons déployé des agents BixDATA[65] sur les différentes machines physiques et virtuelles. 1.3 La connectivité Sur chacune des machines que nous avons utilisées, il y a une interface réseau à 100Mbit/s et 5 interfaces à 1Gbit/s. Toutes ces interfaces réseaux doivent fonctionner. Or par défaut, XEN ne configure qu une seule interface. Afin de remédier à ce manque et comme nous l avons proposé dans la figure II.1.4 de la partie II, nous avons reconfiguré XEN. Cette reconfiguration passe par de nouveaux scripts pour la connexion de ces interfaces dans des bridges différents. Pour les bridges créés pour chaque interface physique, nous pouvons connecter une ou plusieurs interfaces virtuelles des differentes machines virtuelles. Avec cette configuration, nous assurons une meilleure isolation entre les machines virtuelles existantes sur le même substrat physique. Exemple de code d un fichier de configuration modifié de XEN : #!/ bin / sh a c t i o n=$1 s c r i p t =/e t c /xen/ s c r i p t s /network bridge case ${ a c t i o n } in s t a r t ) $ s c r i p t s t a r t vifnum=0 bridge=xenbr0 netdev=eth0 $ s c r i p t s t a r t vifnum=1 bridge=xenbr1 netdev=eth1 $ s c r i p t s t a r t vifnum=2 bridge=xenbr2 netdev=eth2 55

59 CHAPITRE 1. LA VIRTUALISATION DES RÉSEAUX ; ; stop ) $ s c r i p t stop vifnum=0 bridge=xenbr0 netdev=eth0 $ s c r i p t stop vifnum=1 bridge=xenbr1 netdev=eth1 $ s c r i p t stop vifnum=2 bridge=xenbr2 netdev=eth2 ; ; s t a t u s ) $ s c r i p t s t a t u s vifnum=0 bridge=xenbr0 netdev=eth0 $ s c r i p t s t a t u s vifnum=1 bridge=xenbr1 netdev=eth1 $ s c r i p t s t a t u s vifnum=2 bridge=xenbr2 netdev=eth2 ; ; ) echo Unknown command : ${ a c t i o n } echo Valid commands are : s t a r t, stop, status e x i t 1 ; ; esac 1.4 Les routeurs virtuels Une fois que les machines virtuelles sont fonctionnelles, elles sont prêtes à être modelées selon le besoin. L un de nos objectifs est d avoir des routeurs virtuels. Afin de réaliser cet objectif, nous avons installé sur les machines virtuelles Quagga[63] qui est un routeur logiciel. De même, nous avons testé Vyatta[64]. Comme perspective, nous planifierons de tester des routeurs virtuels à base de Click et XORP. 1.5 Conclusion La plate-forme est l endroit où nous avons eu le premier contacte avec le monde de la virtualisation. Suite à de nombreuses manipulations, nous avons acquis plusieurs connaissances techniques de la virtualisation des machines physiques. Ces connaissances, nous ont aidé à bien formaliser la spécification de description des ressources virtuelles et pour développer les générateurs des fichiers de description. Ces générateurs font l objet du chapitre suivant. 56

60 Chapitre 2 Description des ressources réseaux 2.1 Introduction Dans le deuxième chapitre de la partie II, nous avons formalisé la spécification du langage de description des ressources que nous avons proposé. Après avoir défini les fichiers XML des descriptions de ressources et les schémas de la spécification en utilisant des fichiers XML Schema, nous avons pris comme objectif de développer les générateurs des différents fichiers XML (de description des ressources et des masques de filtrage). Pour les générateurs, nous avons développé plus que 5 mille lignes de code (dont 2 mille lignes de commentaires, bien sûr sans compter les fichiers de configuration de la plateforme virtualisée). Dans ce chapitre, nous parlerons brièvement des générateurs des fichiers XML que nous avons développé. 2.2 Générateur du fichier de description C est intéressant d avoir une description des ressources réseau (voir annexe A.6) sous forme de fichier XML qui respecte une spécification. Mais, ça serait plus intéressant si l opération de génération de ce fichier se fait d une façon automatique. Afin d atteindre cet objectif, nous avons adopté JAVA comme langage de programmation et JDOM [70] comme API pour manipuler les fichiers XML. Avec l API JDOM, nous avons pu générer, lire et modifier les fichiers XML. Supposons que nous avons les informations d une ressource, ces informations vont être des entrées au générateur. En manipulant ces informations, le générateur va fournir comme sortie un fichier de description de la ressource. Évidemment ce générateur doit respecter les Schémas XML ( XML Schema ) de la spécification. 57

61 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX 2.3 Générateur du fichier de filtrage Comme pour les fichiers de description des ressources réseaux, les fichiers de filtrage doivent être générés automatiquement. Par analogie avec le générateur expliqué auparavant, le générateur de filtrage utilise aussi JDOM. La différence est qu ici, la sortie du générateur des masques est un fichier XSLT et pas un fichier XML. Fig. III.2.1 Génération du masque de filtrage Dans la figure III.2.1, nous avons récapitulé tous les processus utilisés dans la phase de description des ressources. Initialement, pour générer un fichier de description, il faut avoir les informations réelles des ressources à décrire. Ces informations sont généralement fournies par des processus et des protocoles de surveillance comme SNMP et IPerf. Étant donné que la collection des informations ne fait pas partie des objectifs de notre travail, nous avons développé une interface graphique pour saisir les informations des descriptions des ressources réseaux. Une fois que nous avons les informations des ressources, ces dernières sont injectées vers un processus de génération de fichier de description. Ce processus (générateur) est celui que nous avons expliqué dans le chapitre précèdent. Bien sûr ce processus utilise le fichier XML Schema de la spécification que nous avons proposé pour valider les fichiers de description générés à partir des informa- 58

62 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX tions de la ressource. Cette phase de validation est nécessaire pour vérifier la conformité de la structure du fichier générer, mais surtout peut vérifier la validité des informations reçues. Comme pour la génération des fichiers de description, les fichiers de filtrage sont générés par un processus qui prend comme entrée une liste d attribut a filtrer. Cette liste peut être fournie par un contrat défini pour chaque utilisateur qui veut recevoir des informations des ressources réseaux. Vu que la formulation de ces types de contrat ne fait pas partie de notre travail, nous avons développé une interface graphique dont le rôle est de fournir une liste d attributs de la description qu il faut filtrer. Une fois que nous avons les fichiers de descriptions et les fichiers de filtrage associés à chaque profil d utilisateur et suite à une demande d information concernant une ressource, un autre processus est appelé. Ce processus, prend comme entrée un fichier de description et un fichier masque liée au profil de l utilisateur qui a demandé les informations des ressources. Le processus applique le masque sur le fichier de description générale et fournie comme résulta un fichier XML de description des ressources qui est identique au fichier de description initial mais en supprimant quelques informations. Le fichier résultant peut alors être envoyé au demandeur d information. 2.4 Interfaces graphiques Toutes les opérations qui concernent la gestion des fichiers de description des ressources réseaux se font via des interfaces graphiques que nous avons développé. Fig. III.2.2 Menu principal du programme de description des ressources La figure III.2.2 représente l interface principale de notre programme. Avec cette interface, nous pouvons soit : Générer un fichier de description. 59

63 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX Éditer un fichier de description. Générer un fichier de filtrage (un masque). Appliquer un masque sur un fichier de description. Si nous choisissons de générer un nouveau fichier de description, on utilise une interface de saisie de données (voir figure III.2.3). Cette interface est subdivisée en 6 onglets, chaque onglet correspond à un objet de notre spécification (Noeud virtuel, lien physique, interface virtuelle...). Selon l onglet choisi, la liste d attributs correspondante à cet objet s affiche. Pour chaque attribut, nous pouvons soit saisir l information demandée soit choisir une valeur à partir d une liste de valeurs définie dans la spécification. Après avoir saisi toutes les informations nécessaires pour décrire la ressource et inserer le chemin/nom du nouveau fichier, le générateur est exécuté afin d avoir comme résultat le fichier XML de la description des ressources. Fig. III.2.3 Interface du générateur de fichier de description Dans le cas où nous choisissons d éditer un fichier de description, une succession d actions se déclenche : lecture du chemin du fichier de description à éditer. parcourt du fichier choisi pour lire toutes les informations existantes. affichage d une interface (comme celle qui est dans la phase de génération) mais tout en remplissant les champs avec les informations existantes. suite au changement, suppression ou ajout de nouvelles informations à la ressource, la génération du nouveau fichier se déclenche. Pour générer un nouveau fichier de filtrage, nous utilisons l interface de la figure III.2.4. Avec cette interface, il est possible de sélectionner la liste des attributs qu il faut filtrer. Comme pour le processus de génération des fichiers de description, il est possible de 60

64 CHAPITRE 2. DESCRIPTION DES RESSOURCES RÉSEAUX générer un fichier XSL en utilisant le générateur des masques de filtrage. Fig. III.2.4 Interface du générateur de masque Une autre fonction assez intéressante, réalisable avec les interfaces graphiques, est celle de l application d un masque (fichier XSL) sur un fichier de description des ressources réseau. Lors de cette opération, il faut choisir le fichier de description et le fichier de masque à appliquer. Suite à l exécution du processus de filtrage, il faut saisir le nom du fichier résultant. Comme résultat, un fichier XML est généré contenant toutes les informations des attributs du fichier de description initiale sauf celles qui figurent dans le masque de filtrage. 2.5 Conclusion Dans ce chapitre, nous avons expliqué brièvement les réalisations et les implémentations que nous avons développé pour concrétiser les approches proposées dans le domaine de description des ressources virtuelles d un réseau. Notre prototype de génération des fichiers de description et de filtrage se base sur des interfaces graphiques Java Swing. Ces interfaces et les générateurs ont été testés longuement. Mais afin de valoriser les générateurs, nous proposons comme perspective de développer des interfaces graphiques web afin de fournir ces générateurs comme des services web. Dans le chapitre suivant, il y a une description technique de l algorithme de clustering que nous avons realisé et ses mesures de performances. 61

65 Chapitre 3 Le regroupement des ressources clustering 3.1 Introduction Dans le troisième chapitre de la partie II, il y a une formulation de l algorithme de clustering qui traite/regroupe les descriptions des ressources virtuelles d un réseau. Afin de tester et évaluer notre approche de clustering dans le contexte des réseaux virtuels, l algorithme de clustering a été implémenté. Les mesures de performance de cet algorithme seront exposées à la fin de ce chapitre. Mais avant de passer à l étude des performances, nous commençons par expliquer l intérêt d utiliser une base de données XML Native qui se base sur les techniques d indexation. 3.2 Indexation des fichiers de description L algorithme de clustering exécute un traitement intensif sur les fichiers XML des descriptions des ressources réseaux. Afin de lire et manipuler le trés grand nombre de fichiers de description XML, plusieurs approches peuvent être adoptées. Parmi les plus connues, nous citons : Parcours des fichiers un à un. Utilisation d un système de gestion de base de donnée relationnel. Utilisation d un système de gestion de base de donnée XML Native (via la technique d indexation) Parcours des fichiers un à un C est l approche la plus intuitive et la plus simple. Elle consiste à parcourir ( parsing ) tous les fichiers un à un en lisant leurs contenus et en les enregistrant dans la mémoire volatile afin de pouvoir lire/parcourir toutes les informations structurées d une façon 62

66 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING hiérarchique du fichier XML. L inconvénient de cette approche est qu elle n est pas scalable : L espace mémoire nécessaire augmente avec l augmentation du nombre ou taille des fichiers Utilisation d un système de gestion de base de donnée relationnel En utilisant cette approche, il y a une translation (manuelle/automatique) du contenu des fichiers XML vers une base de données relationnel ou relationnel objet[71]. Avec cette solution, le problème de scalabilité ne se pose plus car la majorité des systèmes de gestion de base de donnée (SGBD) ont résolu ce genre de problème. L inconvénient de cette approche est que la translation entre fichiers XML et base de données est difficile à réaliser. De plus, cette translation perdre plusieurs informations sémantiques qui sont liées à la structuration des fichiers XML Utilisation d un système de gestion de base de donnée XML Native (via la technique d indexation) La troisième approche, consiste à enregistrer les fichiers XML d une façon native sur le disque et les traiter via des techniques/algorithmes spécifiques (exemple de technique : indexation des fichiers XML). Avec cette technique, il n y a pas de perte d informations sémantiques du fait que nous traitons directement les fichiers XML. Généralement, l opération de traitement des fichiers XML d une façon native se fait par le biais d un système de gestion de base de données XML native 1. Des études ont été faites dans [72] et [73] qui listent quelques systèmes de gestion des bases de données XML native et les comparent par rapport au base de donnés relationnel. Parmi les systèmes les plus connus, nous citons Apache Xindice [74], existdb[75, 76] et Berkeley DB XML[77]. Une comparaison de performance entre ces systèmes a été faite dans [78]. Dans notre travail, nous avons choisi exist-db (quoiqu il n est pas le plus performant d après [78]) du fait qu il est Open Source mais surtout car il respecte à 99.4% la spécification XQuery1.0 2 [79] selon les tests de XQTS 3 [80]. 3.3 Générateur du fichier de clustering Contrairement à la génération du fichier de description qui se fait par des librairies Java JDOM, la génération/manipulation des fichiers des clusters est gérée entièrement par 1 Native XML Database 2 langage de requête XML 3 XML Query Test Suite 63

67 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING des requêtes Xquery-Update via le SGBD exist-db. En plus, tous les fichiers de clustering résultant sont enregistrés dans la base de données exist-db. Cette enregistrement les rend accessible localement et depuis l extérieur via des simples requêtes XML-RPC 4. L algorithme de clustering est implémenté en Java et utilise principalement : les API XML :DB[81] : des API Java Standard utilisés pour accéder et gérer les données enregistrées dans des bases de données XML. les API XML-RPC[82, 83] : des API simples pour appeler des procédures d une façon distante. C est le moyen/interface principal de communication entre notre algorithme Java et la base de données. 3.4 Les performances du clustering L algorithme de clustering HCC4ND que nous avons proposé a été implémenté et testé afin de valider les approches théoriques proposées. Avec ces expérimentations, il est possible d évaluer : les performances liées à la gestion des fichiers de description réseau en utilisant la base de données XML Native exist-db. les performances de l algorithme de clustering (construction du dendrogramme et surtout le temps de réponse aux requêtes) Environnement de test Tous les tests ont été fait dans le même environnement matériel/logiciel, soit : un ordinateur portable avec un processeur Intel Core2 Duo T7400 (4M Cache, 2.16 GHz, 667 MHz FSB) et 2 Go RAM un système d exploitation Linux Ubuntu version 9.04 une machine virtuelle Java version une base de données XML native exist-db version un parseur XML JDOM version Les performances liées à la manipulation des fichiers de description Généralement, les performances des opérations de manipulation (insertion et extraction) des fichiers de description dépendent étroitement des performances du SGBD. Mais, avec les SGBD XML Nativeces ces performances dépendent aussi de la structure/taille des fichiers XML à manipuler. Dans ce qui suit, deux expériences (insertion et extraction 4 XML Remote Procedural Call 64

68 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING d informations) valorisent l utilisation de exist-db dans le contexte de description des réseaux virtuels. Dans la figure III.3.1, la courbe représente le temps nécessaire (en secondes) pour insérer des descriptions de ressources réseaux dans la base de données. Comme illustré dans cette figure, le temps d insertion est proportionnel au nombre de fichiers XML à insérer (nous avons presque une ligne droite). Cette proportionnalité est logique du fait que pour chaque fichier, le système de gestion de la base de données a besoin d un certain délai pour effectuer l indexation. En réalité le temps nécessaire pour faire l indexation dépend aussi de la taille des fichiers de description à insérer. L objectif de ces expériences est, d une part, de mesurer les performances du SGBD exist-db, d autre part, pour connaître les performances de ce dernier dans la manipulation des fichiers de descriptions des ressources virtuelles réseaux dont la taille moyenne est de 4,7 kb. Comme ordre de grandeur : en moyenne 1,5 secondes est nécessaire pour 10 fichiers et 13 secondes pour 500 fichiers. Les résultats de l expérimentation nous permet aussi de conclure que le temps nécessaire d insertion des fichiers est assez stable (les intervalles de confiance de toutes les mesures sont assez petits). Fig. III.3.1 Variation du temps d insertion d une description dans la base des données La deuxième opération sur les descriptions des ressources est celle de l extraction des informations stockées dans la base de données. Selon nos tests (figure III.3.2) et dans le contexte de description des ressources réseau virtuelle, ces performances sont très satisfaisantes pour deux raisons. Le temps de réponse est réduit même pour un nombre élevé de descriptions enregistrées. Par exemple, pour 1000 noeuds (1000 descriptions de noeuds), en moyenne 60 ms sont nécessaire pour chercher une description comléte d un noeud (une ressource virtuelle) et moins de 100 ms pour chercher la description de 10 noeuds. L augmentation du nombre de descriptions de noeuds n a pas une grande influence. D ailleurs, la ligne de courbe entre 1000 et 1500 noeuds est presque horizontale (une augmentation 65

69 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING seulement de 6 ms pour la recherche d un noeud et de 3 ms pour la recherche de 10 noeuds). Fig. III.3.2 Varitation du temps de recherche des ressources dans la base de données Les performances liées à la création/parcours du dendrogramme Quoique notre algorithme est principalement incrémental, il est intéressant d avoir une fonction qui prend en entrée une liste de description de noeuds et lui créé le dendrogramme adéquat. Pour construire le dendrogramme, il faut définir préalablement une liste d attributs sur laquelle se base l algorithme de clustering. Pour tous les tests que nous avons menés, une liste de 7 attributs (fonctionnels) extraites à partir de la spécification de description des ressources a été utilisée. Ces attributs sont : NodeType, OSType, VirtualizationEnvironementType, NetworkStackType, InterfaceType, LinkType et ConnectivityType. La figure III.3.3 illustre le temps nécessaire pour construire un nouveau dendrogramme en fonction du nombre de noeuds. Quoique ce temps de construction du dendrogramme apparaît proportionnel au nombre de noeuds, mais en réalité, cette proportionnalité n est pas liée directement au nombre de noeuds mais au nombre de combinaisons possibles d attributs et leurs valeurs (nombre de branches dans le dendrogramme). Avec notre algorithme, la durée de construction du dendrogramme nécessite plusieurs minutes car elle se base sur un traitement assez complexe (pareille à la majorité des algorithmes de clustering existants). Par exemple, pour construire le dendrogramme de 500 noeuds, 25 minutes sont nécessaire. Mais, en réalité, nous n aurons pas besoin de construire dès le début un dendrogramme avec un nombre assez élevé de descriptions de noeuds car, il n y aura pas une apparition instantané de 1000 ressources mais ça sera progressive. 66

70 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Donc, construire un nouveau dendrogramme en 30 secondes pour 10 descriptions est suffisants pour le bon fonctionnement de l algorithme de clustering qui est principalement un algorithme incrémental. En plus, l opération d ajout d une nouvelle description dans un dendrogramme existant prend en moyenne 15 secondes. Une information intéressante concernant la fonction de construction d un nouveau dendrogramme est que celle ci se base sur la programmation parallèle (Threads Java). C est un notable avantage dans le cas où l exécution des threads se ferait dans plusieurs machines (ce n est pas le cas de notre test). Dans un tel cas, les performances vont s améliorer considérablement, d ailleurs, cette approche fait partie des perspectives de notre travail. Fig. III.3.3 Temps de création d un nouveau dendrogramme Dans ce qui suit, nous présentons les tests liés au temps de réponse de la fonction d extraction d informations à partir du dendrogramme. Cette fonction prend comme entrée des contraintes liées aux valeurs d attributs recherchés et retourne les identifiants des clusters (ou les IDs des ressources réseaux virtuelles) qui peuvent satisfaire cette requête. Comme montre dans la figure III.3.4, il y a plusieurs types de requêtes (nous avons identifié 5 types correspondant aux requêtes typiques). Ces 5 requêtes typiques sont de complexités différentes selon l emplacement dans le dendrogramme des informations à extraire. Afin de simplifier l explication, nous allons procéder avec des exemples. Supposons que l ordre d importance des attributs dans le dendrogramme est le suivant (du plus important qui est l attribut de decision en haut du dendrogramme au moins important qui est en bas du dendrogramme) : Virtual Network Type (VNType), Network Stack, Virtualization environment (Virtualization env), Interface Type, Link Type, Connectivity Type et OS Type. Voici 5 exemples de requêtes qui correspondent aux requêtes typiques choisies dans la figure III.3.4 : Requête 1 : [chercher les identifiants des clusters sachant que VNType =Switch]. 67

71 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Cette requête contient un seul attribut qui correspond au premier attribut de décision. L exécution de cette requête est la plus rapide car la recherche se fait juste dans la première ramification du dendrogramme. Requête 2 : [chercher les identifiants des clusters sachant que VNType =Switch, NetworkStack =TCP/IP, Virtualization env =XEN, InterfaceType =ethernet, LinkType =VLAN, ConnectivityType =broadcast et OSType =linux]. Cette requête contient tous les attributs donc elle parcoure le dendrogrammme en profondeur jusqu à atteindre une feuille de ce dernier. Requête 3 : [chercher les identifiants des clusters sachant que VNType =router, NetworkStack =TCP/IP et Virtualization env =XEN]. Cette requête contient trois attributs qui sont les trois premiers attributs de décision. En plus, le parcours dans le dendrogramme se fait seulement en profondeur et le cluster recherché se trouve à peu prés au milieu de l arbre. Requête 4 : [chercher les identifiants des clusters sachant que Virtualization env =XEN]. Cette requête contient un seul attribut (qui est situé à peu près au milieu du dendrogramme) donc il y a un parcoure en profondeur et en largeur de toute la moitié supérieure du dendrogramme et une extraction des identifiants de tous les clusters qui ont la valeur xen pour l attribut Virtualization env dans leur description conceptuelle. Requête 5 : [chercher les identifiants des clusters sachant que OSType =linux]. Cette requête contient un seul attribut qui est situé en bas du dendrogramme. Dans de telle situation et en absence de valeurs d attributs de haute importance, tout le dendrogramme est parcouru, car toutes les ramifications doivent être traiter. Fig. III.3.4 Les différentes types de requête à exécuter sur le dendrogramme 68

72 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Il est possible d avoir des requêtes de formulation/structure différentes par rapport au cinq requêtes que nous avons utilisées. Mais, une certitude, les performances d exécution de ces requêtes varient entre celle des 5 requêtes typiques. NB : Touts les tests ont été faits pour un nombre de descriptions de ressources réseaux virtuelles (noeuds) qui varient entre 1 et Pour les mesures, chacune d entre elles a été exécutée 10 fois et toutes les barres verticales schématisées dans les figures sont des intervalles de confiance à 95% (pour calculer l intervalle de confiance, nous avons utilisé la loi de Student). Passant maintenant à l étude des performances des 5 requêtes (voir Figures III.3.4 et III.3.6) : * Requête 1 : le résultat retourné est un ID d un seul cluster. Le temps de réponse est en moyenne égale à 110 ms et cela indépendamment du nombre de noeuds dans le dendrogramme (nombre de description de ressources réseaux virtuelles). La constance du temps de réponse est liée au fait que le résultat se trouve dans la première ramification du dendrogramme. Fig. III.3.5 Variation du temps de réponse pour les requêtes 1,2,3 et 4 * Requête 2 : le résultat est aussi un seul ID, mais, la différence par rapport à la première requête est qu elle est un peu plus coûteuse car, il y a un passage par 7 ramifications verticales du dendrogramme (le dendrogramme est créé à base de 7 attributs - donc 7 niveaux levels ). Malgré le parcours en profondeur de tout le 69

73 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING dendrogramme, les performances restent très intéressantes : 630 ms pour 100 noeuds et 860 ms pour 1500 noeuds (une légère augmentation malgré le grand nombre de descriptions traitées). * Requête 3 : le résultat retourné est un seul ID. Le temps de cette requête peut être vu comme la moitié de la deuxième requête car il y a un parcours en profondeur jusqu au milieu du dendrogramme et non pas en bas du dendrogramme. Le temps de réponse de cette requête est en moyenne de l ordre de 250 ms pour 100 descriptions et de 310 ms pour 1500 descriptions. * Requête 4 : Contrairement au 3 premières requêtes, le résultat retourné est une liste d IDs. Ces identifiants sont situés au milieu du dendrogramme. Quoiqu il faut parcourir toute la moitié supérieure du dendrogramme pour faire la recherche, les performances sont assez satisfaisantes (surtout grâce à l utilisation des Threads). Comme exemple des valeurs de performance, l exécution de cette requête nécessite en moyenne 950 ms pour 100 noeuds et 1,2 s pour 1500 noeuds. Cette légère augmentation dans le temps entre 100 et 1500 noeuds est dû à l augmentation en largeur de la taille du dendrogramme (plus de combinaisons possibles suite à l augmentation du nombre de descriptions). * Requête 5 : le résultat retourné est une très longue liste d IDs. Avec cette requête (Figure III.3.6), nous avons un temps de réponse qui n est pas stable comme avec les 4 première requêtes. Par exemple pour 100 objets, le temps de réponse est de 22 s et il est de 3,5 min pour 1500 noeuds. Avec cette requête il y a un parcours de la totalité du dendrogramme ce qui explique la complexité de cette requête. En réalité il n est pas intéressant d utiliser de telle requête qui parcoure tout le dendrogramme. L algorithme de clustering attribue une importance pour chaque attribut donc le dendrogramme est orienté requête et c est absurde d envoyer une requête avec seulement un seul attribut dont l importance est faible. Il est possible de rendre les performances de ce type de requête et le parcours de tout le dendrogramme en générale très intéressant si nous arrivons à distribuer l exécution des threads sur plusieurs machines (sur une petite/grande grappe). D ailleurs, ce travail est parmi nos perspectives. NB : La fonction de génération du dendrogramme et d extraction des informations se base sur des threads. Donc il y aura une importante amélioration des performances dans le cas de répartition des threads sur plusieurs machines. 70

74 CHAPITRE 3. LE REGROUPEMENT DES RESSOURCES CLUSTERING Fig. III.3.6 Variation du temps de réponse de la requête Conclusion Dans ce chapitre, une étude des performances du nouvel algorithme de clustering a été fait. Les résultats montrent l utilité et l efficacité de notre algorithme dans le contexte des descriptions des ressources virtuelles d un réseau. L un des avantages est que l algorithme résiste à la monté en charge : les temps de réponse de la majorité des requêtes sont petits (ne dépassent pas 1200 ms) même avec un grand nombre de ressources. Le seul inconvénient est que pour quelques requêtes (comme celle qui parcourt tout le dendrogramme), l algorithme de clustering n est pas très efficace. Quoique ces genres de requêtes sont rarement utilisés mais dans une future version de notre algorithme cette inefficacité sera palier. La solution est de profiter à fond du parallélisme de notre programme, c està-dire distribué l exécution des Threads Java sur plusieurs machines. Il ne faut pas aussi oublié que le système de gestion de la base de données exist-db n ai pas encore au maximum de ces capacités. Des futur versions vont améliorer le fonctionnement de notre algorithme. 71

75 Conclusion et perspectives La virtualisation des réseaux et la virtualisation en général sont des domaines de recherche en plein essor. La technique de virtualisation est un outil très intéressant pour la construction de l Internet du futur. La virtualisation nous permet la création de plusieurs réseaux virtuels et hétérogènes qui coexistent et fonctionnent sur le même substrat physique. Suite à l apparition de ces nouveaux types de réseaux, les processus traditionnels d approvisionnement et de gestion des réseaux s avèrent insuffisants. Dans ce mémoire, notre contribution a été au niveau du processus d approvisionnement de nouveau réseau virtuel. Une nouvelle spécification et un langage de description des ressources virtuelles ont été proposés (une modélisation avec UML implémenté en fichiers XML Schema). En plus, un prototype de ce framework de description a été développé afin d évaluer l efficacité des approches formalisées. Par ailleurs, des mécanismes et un algorithme de regroupement (Clustering) des descriptions ont été conçus afin de faciliter la recherche et l allocation des ressources virtuelles. Avec le nouvel algorithme proposé, l opération de regroupement des descriptions est devenu plus efficace comparant aux algorithmes existants. Ce nouvel algorithme proposé prend en compte les contraintes liées au domaine des ressources virtuelles d un réseau. Cet algorithme et tous les mécanismes ont été implémentés et leurs performances ont été évaluées. Grâce à ces évaluations, nous avons démontré l utilité et l efficacité des nouvelles approches dans le processus d approvisionnement d un réseau virtuel. Toutes les contributions que ce soit celles de la description des ressources virtuelles ou celles du regroupement des informations des descriptions ont été accompagnés par des travaux au niveau de la virtualisation. Grâce à ces travaux, les approches et les solutions proposées sont devenues efficaces et utiles et pas seulement des propositions théoriques. Les approches et les algorithmes proposés dans ce mémoire ont été validés et adoptés par les partenaires du projet européen 4WARD. Comme perspective, une nouvelle implémentation de la spécification de description des ressources virtuelles sera proposée. La nouveauté de cette implémentation se rapportera à la sémantique (en utilisant les nouveaux langages sémantiques, exemple OWL). Grâce à cet aspect sémantique il sera plus facile d interagir avec d autres langages de descriptions. Une deuxième perspective concerne l opération de regroupement des informations, elle consiste à rendre l algorithme de clustering distribué en exécutant les Threads sur plusieurs machines d une façon parallèle. 72

76 Quatrième partie Annexe «A l origine de toute erreur attribuée à l ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l erreur à l ordinateur.» 73

77 Annexe A Description des ressources A.1 NDL - Network Description Language A.1.1 Exemple de code du NDL Exemple de code NDL selon la spécification RDF dans la version 2.4 : <ndl : Location r d f : about= #Amsterdam1. n e t h e r l i g h t. net > <ndl : name>n e t h e r l i g h t Optical Exchange</ndl : name> <geo : lat > </ geo : lat > <geo : long >4.9527</ geo : long> </ndl : Location> <ndl : Device r d f : about= #tdm1. amsterdam1. n e t h e r l i g h t. net > <ndl : name>tdm1. amsterdam1. n e t h e r l i g h t. net </ndl : name> <ndl : locatedat r d f : r e s o u r c e= #amsterdam1. n e t h e r l i g h t. net /> <ndl : h a s I n t e r f a c e r d f : r e s o u r c e= #tdm1. amsterdam1. n e t h e r l i g h t. net :12/1 / > <ndl : h a s I n t e r f a c e r d f : r e s o u r c e= #tdm1. amsterdam1. n e t h e r l i g h t. net :6/1 / > </ndl : Device> <ndl : I n t e r f a c e r d f : about= #tdm1. amsterdam1. n e t h e r l i g h t. net :12/1 > <ndl : name>12/1</ndl : name> <ndl : connectedto r d f : r e s o u r c e= #tdm3. amsterdam1. n e t h e r l i g h t. net :501/2 / > <ndl : c a p a c i t y r d f : datatype= &xsd ; f l o a t >1.244E+9</ndl : capacity > </ndl : I n t e r f a c e > 74

78 ANNEXE A. DESCRIPTION DES RESSOURCES A.1.2 Diagramme UML du schéma NDL Le diagramme UML du langage de description NDL dans sa version 2.4 : Location address geo84 coords room facility rack panel Physical Element blade chassis slotnumber manufacturer serialnumber TransportNetwork Element Broadcast Segment Link connectedto linkto 0..1 switchedto UML representation of NDL schemas Topology Layer Capability Domain Physical 0..1 * locatedat hasinterface connectedto * * Network Element Device hasswitchmatrix * SwitchMatrix switchingcapability swappingcapability hascasttype: {UniCast, Multi- Cast, BroadCast} memorybuffer 0..1 hasinterface * * * * Connection Point capacity * Interface internallabel: Label ingresslabel: Label egresslabel: Label * * inadmindomain 0..1 * 0..1 Network Domain * hasswitchmatrix * 0..1 hasinterface hasdevice 0..1 serverinterface clientinterface 0..1 Service accessmethod informationview servicestage realm scope timeout Administrative Domain address 0..1 inadmindomain Layer 1 1 serverlayer clientlayer * * Adaptation Function clientcount servercount * hasservice 1 adaptation * Adaptation Property Configurable Interface internallabelset: LabelSet ingresslabelset: LabelSet egresslabelset: LabelSet Static Interface Label Instantiated MuxInterface LabelSet PotentialMux Interface internallabelset: LabelSet ingresslabelset: LabelSet egresslabelset: LabelSet Fig. IV.A.1 Représentation UML du schéma NDL[37] 75

79 ANNEXE A. DESCRIPTION DES RESSOURCES A.2 cnis - Common Network Information Service A.2.1 Diagramme entité/relation d une partie de la spécification cnis Le diagramme entité/relation des principaux tables de la base des données de la spécification cnis : Fig. IV.A.2 Diagramme entité/relation des tables principales de cnis 76

80 ANNEXE A. DESCRIPTION DES RESSOURCES A.2.2 Exemple de code XML du NM Exemple de code XML de la specification NM qui spacifie la bande passante d un lien entre deux noeuds : <nmwg: metadata i d= bandmeta1 > <band : s u b j e c t id= bandsub1 > <nmwgt : endpointpair > <nmwgt : s r c type= hostname value= b l a c k s e a l. pc. c i s. udel. edu port = /> <nmwgt : dst type= hostname value= e l l i s. i n t e r n e t 2. edu port = /> </nmwgt : endpointpair > </band : subject > <band : parameters id= bandparam1 > <nmwg: parameter name= valueunits >ms</nmwg: parameter> <nmwg: parameter name= numbytes >64</nmwg: parameter> <nmwg: parameter name= numbytesunits >bytes </nmwg: parameter> </band : parameters > </nmwg: metadata> A.3 SDL - System Description language A.3.1 Exemple de code XML du SDL Exemple de description d une ressource en SDL : <computer i d= SFR1 > <i n t e r f a c e id= eth0 technology= Ethernet p r o t o c o l = 1000BaseT connector= RJ45 > <addr type= hw >00:09:3D:00:28:33 </ addr> <addr type= ipv4 netmask = > </ addr> </ i n t e r f a c e > <os idref= Debian /> <s e r v i c e id= web s e r v e r > <p r o t o c o l idref= pwrhttp /> <sap addr= t r a n s p o r t= tcp port = 80 /> <s oftware idref= DebianApache /> </s e r v i c e > </computer> 77

81 ANNEXE A. DESCRIPTION DES RESSOURCES A.3.2 Diagramme UML d une partie de la spécification SDL Le diagramme UML qui spécifie la partie Noeuds/Interfaces dans SDL : Fig. IV.A.3 Diagramme UML des noeuds et des interfaces dans SDL 78

82 ANNEXE A. DESCRIPTION DES RESSOURCES A.4 VXDL - Virtual execution Infrastructures Description Language A.4.1 Diagramme UML de la spécification VXDL Le diagramme UML de la spécification VXDL : Fig. IV.A.4 Diagramme UML de VXDL A.4.2 Exemple de code XML du VXDL Exemple de description d une ressource en VXDL : <vxdl : resource > <vxdl : name>node Cluster Borderline </vxdl : name> <vxdl : rammemory> <v x d l : max>32</v x d l : max> <v x d l : maxunit>gb</v x d l : maxunit> </vxdl : rammemory> <vxdl : cpufrequency> <vxdl : max>2.6</ vxdl : max> <v x d l : maxunit>ghz</v x d l : maxunit> </vxdl : cpufrequency> <vxdl : cpuprocessors > <v x d l : max>4</v x d l : max> </vxdl : cpuprocessors > 79

83 ANNEXE A. DESCRIPTION DES RESSOURCES <vxdl : hdsize> <vxdl : max>600</vxdl : max> <v x d l : maxunit>gb</v x d l : maxunit> </vxdl : hdsize> </vxdl : resource > Exemple de description d un lien en VXDL : <vxdl : link > <vxdl : name>raw Data</vxdl : name> <vxdl : bandwidth> <v x d l : min>38</v x d l : min> <v x d l : minunit>gbps</v x d l : minunit> </vxdl : bandwidth> <vxdl : d i r e c t i o n >uni </vxdl : d i r e c t i o n > <vxdl : pair > <vxdl : source >C l u s t e r Data Source </vxdl : source > <vxdl : d e s t i n a t i o n >C l u s t e r F i l t e r i n g </vxdl : d e s t i n a t i o n > </vxdl : pair > </vxdl : link > A.5 NML - Network Mark-up Language A.5.1 Diagramme UML de la spécification NML Le diagramme UML de la spécification NML : Fig. IV.A.5 Diagramme UML de NML 80

Description et regroupement de ressources pour les réseaux virtuels

Description et regroupement de ressources pour les réseaux virtuels École nationale d ingénieurs de Sfax Description et regroupement de ressources pour les réseaux virtuels Houssem Medhioub M. Mohamed Jmaiel Président M. Slim Kanoun Membre M. Maher Ben Jemaa Encadreur

Plus en détail

VIRTUALISATION ET CLOUD COMPUTING. Année Universitaire : 2015-2016

VIRTUALISATION ET CLOUD COMPUTING. Année Universitaire : 2015-2016 VIRTUALISATION ET CLOUD COMPUTING Enseignant : Mohamed MANAA Année Universitaire : 2015-2016 Plan La virtualisation Qu'est-ce que la virtualisation? Pourquoi virtualiser? Terminologies Techniques de virtualisation

Plus en détail

Virtualisation? http://fr.wikipedia.org/wiki/virtualisation. Colloque IPhT 2010 - Informatique

Virtualisation? http://fr.wikipedia.org/wiki/virtualisation. Colloque IPhT 2010 - Informatique Virtualisation? «La virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs distincts.» http://fr.wikipedia.org/wiki/virtualisation

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES 1 DECOUVERTE DE LA VIRTUALISATION... 2 1.1 1.2 CONCEPTS, PRINCIPES...2 UTILISATION...2 1.2.1 Formation...2

Plus en détail

A propos de la sécurité des environnements virtuels

A propos de la sécurité des environnements virtuels A propos de la sécurité des environnements virtuels Serge RICHARD - CISSP (IBM Security Systems) serge.richard@fr.ibm.com La virtualisation, de quoi parlons nous «Virtualiser» un objet informatique, ou

Plus en détail

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010. Guillaume ANSEL M2 ISIDIS 2009-2010 / ULCO Dossier d étude sur la virtualisation LA VIRTUALISATION 18/01/2010 Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques.

Plus en détail

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Les Clusters Les Mainframes Les Terminal Services Server La virtualisation De point de vue naturelle, c est le fait de regrouper

Plus en détail

Présentation de Citrix XenServer

Présentation de Citrix XenServer Présentation de Citrix XenServer Indexes Introduction... 2 Les prérequis et support de Xenserver 6 :... 2 Les exigences du système XenCenter... 3 Avantages de l'utilisation XenServer... 4 Administration

Plus en détail

Virtualisation sous Linux L'age de raison. Daniel Veillard veillard@redhat.com

Virtualisation sous Linux L'age de raison. Daniel Veillard veillard@redhat.com Virtualisation sous Linux L'age de raison Daniel Veillard veillard@redhat.com Solution Linux 2009 Une jungle d'acronymes Xen UML VServer VMWare VirtualBox lguest QEmu KVM VirtualIron OpenVZ LXC Définition

Plus en détail

Virtualisation sous Linux une évolution maitrisée? Daniel Veillard veillard@redhat.com

Virtualisation sous Linux une évolution maitrisée? Daniel Veillard veillard@redhat.com Virtualisation sous Linux une évolution maitrisée? Daniel Veillard veillard@redhat.com Une jungle d'acronymes Xen UML VServer VMWare VirtualBox lguest QEmu KVM VirtualIron OpenVZ Définition et but Définition:

Plus en détail

Point sur la virtualisation

Point sur la virtualisation Le 04/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Point sur la Objectif 04/03/2013 26/03/2013 virtualisation

Plus en détail

Nicolas Dewaele nico@adminrezo.fr http://adminrezo.fr. Virtualisation. Virtualisation

Nicolas Dewaele nico@adminrezo.fr http://adminrezo.fr. Virtualisation. Virtualisation Virtualisation Table des matières Virtualisation1 I- Principes de la virtualisation.2 1- Introduction..2 2- Virtualisation totale (hyperviseur type 1)..3 3- Virtualisation assistée par matériel (Hyperviseur

Plus en détail

Mise en place d une machine virtuelle avec vsphere

Mise en place d une machine virtuelle avec vsphere Mise en place d une machine virtuelle avec vsphere 15/11/2013 Par Aymeric BLERREAU Dans le cadre de l obtention du BTS SIO SISR Services Informatiques aux Organisation option Solution d Infrastructure,

Plus en détail

M2-ESECURE. Virtualisation : XEN. Pierre BLONDEAU

M2-ESECURE. Virtualisation : XEN. Pierre BLONDEAU M2-ESECURE Virtualisation : XEN Pierre BLONDEAU La virtualisation Wikipedia : La virtualisation consiste à faire fonctionner un ou plusieurs systèmes d'exploitation1 / applications (comme un navigateur),

Plus en détail

AC - Virtualisation. Romain Hinfray

AC - Virtualisation. Romain Hinfray AC - Virtualisation Semestre Automne 2008 Antoine Benkemoun Romain Hinfray Introduction Cadre du projet Choix de Xen Quatre parties Tour d horizon de la virtualisation Pré-requis à la compréhension de

Plus en détail

Module : Virtualisation à l aide du rôle Hyper-V

Module : Virtualisation à l aide du rôle Hyper-V Windows Server 2008 pour l'enseignement Module : Virtualisation à l aide du rôle Hyper-V Agenda du module Présentation d Hyper-V Installation d Hyper-V Configuration d Hyper-V Administration des machines

Plus en détail

Présentation d HyperV

Présentation d HyperV Virtualisation sous Windows 2008 Présentation d HyperV Agenda du module Présentation d Hyper-V Installation d Hyper-V Configuration d Hyper-V Administration des machines virtuelles Offre de virtualisation

Plus en détail

MACHINE VIRTUELLE VSPHERE. Projet Personnalisé Encadré 1

MACHINE VIRTUELLE VSPHERE. Projet Personnalisé Encadré 1 MACHINE VIRTUELLE VSPHERE Projet Personnalisé Encadré 1 Aymeric Blerreau 15/11/2013 1 TABLE DES MATIÈRES 2 Description... 2 3 Contexte... 3 3.1 Contexte... 3 3.2 Objectifs... 3 3.3 Solution envisageable...

Plus en détail

Etude d architecture de consolidation et virtualisation

Etude d architecture de consolidation et virtualisation BOUILLAUD Martin Stagiaire BTS Services Informatiques aux Organisations Janvier 2015 Etude d architecture de consolidation et virtualisation Projet : DDPP Table des matières 1. Objet du projet... 3 2.

Plus en détail

Etude d architecture de consolidation et virtualisation

Etude d architecture de consolidation et virtualisation BOUILLAUD Martin Stagiaire BTS Services Informatiques aux Organisations Janvier 2015 Etude d architecture de consolidation et virtualisation Projet : DDTM Table des matières 1. Objet du projet... 3 2.

Plus en détail

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

Plus en détail

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales

Plus en détail

Supervision des réseaux et services pair à pair

Supervision des réseaux et services pair à pair Supervision des réseaux et services pair à pair Présentation des travaux de Thèse Guillaume Doyen LORIA - Université Henri Poincaré pour l obtention du Doctorat en Informatique de l université Henri Poincaré

Plus en détail

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24.2 1 Semestre 4 : Fev. 2015 Grid : exemple SETI@home 2 Semestre 4 : Fev. 2015 Grid : exemple SETI@home

Plus en détail

Virtualisation open source État de l'art

Virtualisation open source État de l'art Virtualisation open source État de l'art Jean Charles Delépine Université de Picardie Direction des Infrastructures et des systèmes d'information Une jungle d'acronymes Xen QEMU

Plus en détail

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE Antoine CAMBIEN BTS SIO Option SISR Session 2015 BTS SIO Services Informatiques aux Organisations Session 2014 2015 Nom

Plus en détail

Windows serveur 2008 installer hyperv

Windows serveur 2008 installer hyperv Windows serveur 2008 installer hyperv 1 Description Voici la description fournit par le site Microsoft. «Windows Server 2008 Hyper-V est le moteur de virtualisation (hyperviseur) fourni dans Windows Server

Plus en détail

Administration et sécurité des réseaux M&K ELHDHILI

Administration et sécurité des réseaux M&K ELHDHILI Administration et sécurité des réseaux 1 Plan du cours Chapitre 1: Introduction à l administration des réseaux Domaines d activités Organisation logique (criètères, types de décisions ) Architectures et

Plus en détail

Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows

Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows IBM SPSS Modeler Server peut être installé et configuré de manière à s exécuter en mode d analyse réparti, avec une ou plusieurs

Plus en détail

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

Vulnérabilités engendrées par la virtualisation. Jean-Marie Petry / jean-marie.petry@rbs.fr Chef de Projet / Ingénieur ISIAL

Vulnérabilités engendrées par la virtualisation. Jean-Marie Petry / jean-marie.petry@rbs.fr Chef de Projet / Ingénieur ISIAL Vulnérabilités engendrées par la virtualisation Jean-Marie Petry / jean-marie.petry@rbs.fr Chef de Projet / Ingénieur ISIAL V2-26/9/2007 Vulnérabilités engendrées par la virtualisation Rappel des architectures

Plus en détail

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités plan Virtualisation s d exploitation centralisés 1 IMA Sources : 13 mars 2015 Chapitre 16 de Operating System Concepts (9ème édition), de Silberschatz, Galvin et Gagne Cours de Gérard Padiou, 1IMA 2012-2013

Plus en détail

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contributions à l expérimentation sur les systèmes distribués de grande taille Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte

Plus en détail

CONDUITE & GESTION DE PROJET

CONDUITE & GESTION DE PROJET LES THEMES DU PROGRAMME PEDAGOGIQUE CONDUITE & GESTION DE PROJET Techniques de gestion de projets Connaître le rôle d un chef de projet dans la conduite de projet. Les méthodes, les techniques et les outils

Plus en détail

Hyper-V R2 (Module 1) : Introduction

Hyper-V R2 (Module 1) : Introduction Hyper-V R2 (Module 1) : Introduction Hamid HARABAZAN Formateur et Consultant indépendant en Systèmes et Virtualisation Certifications : MCT, MCITP, A+, Server+, Linux+, LPIC-1, CCENT/CCNA,VSP, Contact

Plus en détail

en version SAN ou NAS

en version SAN ou NAS tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de l'entreprise. Parmi

Plus en détail

Virtualisation et. performances de disque. Virtualisation et performances de disque 1

Virtualisation et. performances de disque. Virtualisation et performances de disque 1 Virtualisation et performances de disque 1 Introduction : Comme les technologies de virtualisation peuvent avoir des applications spécifiques mais différentes, ce livre blanc débute par une série de définitions.

Plus en détail

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows Instructions d installation de IBM SPSS Modeler Server 15 pour Windows IBM SPSS Modeler Server peut être installé et configuré de manière à s exécuter en mode d analyse réparti, avec une ou plusieurs installations

Plus en détail

LES HYPERVISEURS. Introduction. CHARLES ARNAUD Les hyperviseurs

LES HYPERVISEURS. Introduction. CHARLES ARNAUD Les hyperviseurs 1 LES HYPERVISEURS Introduction Le but d un logiciel de virtualisation, ou appelé également hyperviseur est d émuler une machine dite virtuelle avec une configuration matérielle et logicielle. Les intérêts

Plus en détail

PROXMOX VE 3.1. Solution de virtualisation «bare metal» open source

PROXMOX VE 3.1. Solution de virtualisation «bare metal» open source PROXMOX VE 3.1 1 Solution de virtualisation «bare metal» open source La virtualisation - Rappels 2 Les différentes solutions de virtualisation: Les machines virtuelles (Vmware, VirtualBox, ) Les hyperviseurs

Plus en détail

Cloud Computing. Alain Tchana, Maître de Conférence Institut National Polytechnique de Toulouse IRIT / Équipe SEPIA alain.tchana@enseeiht.

Cloud Computing. Alain Tchana, Maître de Conférence Institut National Polytechnique de Toulouse IRIT / Équipe SEPIA alain.tchana@enseeiht. Cloud Computing Alain Tchana, Maître de Conférence Institut National Polytechnique de Toulouse IRIT / Équipe SEPIA alain.tchana@enseeiht.fr Alain Tchana, alain.tchana@enseeiht.fr Objectifs du cours Répondre

Plus en détail

Virtualisation et sécurité Retours d expérience

Virtualisation et sécurité Retours d expérience Virtualisation et sécurité Retours d expérience Hervé Hosy Sylvain Pouquet 8 juin 2009 Forum Cert-IST - Virtualisation et sécurité Page 1 Agenda 2 retours d expérience abordés Client bancaire : étude de

Plus en détail

Sommaire Introduction : Les problèmes rencontrés dans une architecture d un réseau «classique»... 1 I Qu est ce que la virtualisation?...

Sommaire Introduction : Les problèmes rencontrés dans une architecture d un réseau «classique»... 1 I Qu est ce que la virtualisation?... Sommaire Introduction : Les problèmes rencontrés dans une architecture d un réseau «classique»... 1 I Qu est ce que la virtualisation?... 3 a) Définition... 3 b) Les deux méthodes de virtualisation couramment

Plus en détail

Xen. Quelques notes autour de Xen

Xen. Quelques notes autour de Xen notes autour de œuvre de Le noyau Jérôme Castang, Etudiant Master Informatique, Université Bordeaux1 Philippe Depouilly, IMB UMR5251, CNRS-Université Bordeaux1 Le œuvre de Nous allons tenter de découvrir

Plus en détail

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca Domaine de la modélisation des processus pour le génie logiciel. Noureddine Kerzazi noureddine.kerzazi@polymtl.ca DSL4SPM Domain-Specific-Language for Software Process Modeling Il s agit d un nouveau cadre

Plus en détail

Hyper V. Installation et configuration d une machine virtuelle. Joryck LEYES

Hyper V. Installation et configuration d une machine virtuelle. Joryck LEYES Le rôle Hyper-V fournit une infrastructure logicielle et des outils de gestion de base qui vous permettent de créer et de gérer un environnement informatique de serveur virtualisé. Hyper V Installation

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. 2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...

Plus en détail

SRS DAY: Problématique liée à la virtualisation

SRS DAY: Problématique liée à la virtualisation SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques

Plus en détail

Cahier de charges Projet 24

Cahier de charges Projet 24 Cahier de charges Projet 24 Répartition automatique de surcharge sur serveur web virtualisé Etudiants : KAOUACHI Youssef ELFELLAH Amine Encadré par : M. HAYEL Yezekael Année universitaire : 2008/2009 I-

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet 06/11/2014 Hyperviseurs et Infrastructure Formation Pierre Derouet Table des matières I. Qu est-ce qu un Hyperviseur?... 2 a. Définition... 2 b. Les avantages des hyperviseurs... 2 c. Les inconvénients

Plus en détail

SDN / Open Flow dans le projet de recherche de GEANT (GN3+)

SDN / Open Flow dans le projet de recherche de GEANT (GN3+) SDN / Open Flow dans le projet de recherche de GEANT (GN3+) Xavier Jeannin GIP RENATER 23-25, rue Daviel 75013 PARIS Résumé Dans le cadre du projet GN3+ (avril 2013 Mars 2015), parmi la tâche orientée

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

gcaddy Suite Description du produit

gcaddy Suite Description du produit gcaddy Suite Description du produit Version 1.0 www.gweb.be @ info@gweb.be TVA : BE-863.684.238 SNCI : 143-0617856-67 1 / 8 1 Description de gcaddy gcaddy est le module E-commerce de Gweb. Il se présente

Plus en détail

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent

Virtualisation et le hosting. Christophe Lucas <clucas@rotomalug.org> Sébastien Bonnegent <sebastien.bonnegent@insa rouen.fr> Christophe Lucas Sébastien Bonnegent ROTOMALUG INSA de Rouen Samedi 17 mars 2007 PLAN 1. Virtualisation 2. Xen 3. VServer 4. Utilisations 5. Cas

Plus en détail

Architecture Constellio

Architecture Constellio Architecture Constellio Date : 12 novembre 2013 Version 3.0 Contact : Nicolas Bélisle nicolas.belisle@doculibre.com 5146555185 1 Table des matières Table des matières... 2 Présentation générale... 4 Couche

Plus en détail

INFO-F-309 Administration des Systèmes. Sébastien Collette. Université Libre de Bruxelles. CH1: Virtualisation

INFO-F-309 Administration des Systèmes. Sébastien Collette. Université Libre de Bruxelles. CH1: Virtualisation INFO-F-309 Administration des Systèmes Sébastien Collette Université Libre de Bruxelles CH1: Virtualisation Virtualisation Faire fonctionner sur une même machine plusieurs instances de systèmes d exploitation,

Plus en détail

Administrateur Système et Réseau

Administrateur Système et Réseau Titre professionnel : Reconnu par l Etat de niveau II (Bac), inscrit au RNCP (arrêté du 28/01/09, J.O. n 32 du 07/02/09) (53 semaines) page 1/7 Unité 1 : Gestion du poste de travail 4 semaines Module 1

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Fiche technique RDS 2012

Fiche technique RDS 2012 Le 20/11/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique RDS Objectif 02/04/2013 20/11/2013

Plus en détail

Introduction a la Virtualisation

Introduction a la Virtualisation Introduction a la Virtualisation Techniques de virtualisation, dangers, Cloud Computing Julien Garet, SMI - Lille INRIA 7 septembre 2011 Qu'est-ce que la virtualisation? Dénition Historique Diérents types

Plus en détail

Chapitre 01 Généralités

Chapitre 01 Généralités Chapitre 01 Généralités I- Introduction II- Windows Server 2008 R2 1. Historique 2. Caractéristiques 3. Les différentes éditions 4. Outils d administration 4.1. Gestionnaire de serveur 4.2. Utilisateurs

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

vbladecenter S! tout-en-un en version SAN ou NAS

vbladecenter S! tout-en-un en version SAN ou NAS vbladecenter S! tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Table des matières STE PUZZLE ... 15

Table des matières STE PUZZLE ... 15 Table des matières... 1 I - Présentation de la STE Puzzle... 3 A - Présentation de l entreprise... 3 1- Activité... 3 2- Données économiques et juridiques... 3 3- Situation et répartition géographique...

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

NFS Maestro 8.0. Nouvelles fonctionnalités NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

La gestion du poste de travail en 2011 : Panorama des technologies

La gestion du poste de travail en 2011 : Panorama des technologies La gestion du poste de travail en 2011 : Panorama des technologies François Clémence C.R.I Université Paul Verlaine Metz UFR Sciences Humaines et Arts clemence@univ-metz.fr Olivier Mathieu C.R.I Université

Plus en détail

VMware. Pourquoi Virtualiser? Une partie de l offre VMware Fonctionnalités. Virtual Infrastructure 3.0 (déclinaisons) VMware : Prix

VMware. Pourquoi Virtualiser? Une partie de l offre VMware Fonctionnalités. Virtual Infrastructure 3.0 (déclinaisons) VMware : Prix VMware Pourquoi Virtualiser? Une partie de l offre VMware Fonctionnalités Clusters, pools de ressources, Vmotion ; DRS ; HA Virtual Infrastructure 3.0 (déclinaisons) VMware : Prix Pourquoi Virtualiser?

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Virtualisation et sécurité

Virtualisation et sécurité HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Espace RSSI du CLUSIF 4 février 2009 Virtualisation et sécurité Julien

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

DIVAS - Description détaillée de l'architecture logicielle du système complet. Livrable N 3.A.1. Responsable : Samer Ammoun

DIVAS - Description détaillée de l'architecture logicielle du système complet. Livrable N 3.A.1. Responsable : Samer Ammoun DIVAS - Description détaillée de l'architecture logicielle du système complet Livrable N 3.A.1 Date: Mai 2008 Version: 1.0 Partenaires: Auteur: Sujet: Volet: Diffusion: Nombre de pages:14 ARMINES LCPC

Plus en détail

Virtualiser ou ne pas virtualiser?

Virtualiser ou ne pas virtualiser? 1 Virtualiser ou ne pas virtualiser? C est la première question à laquelle vous devrez répondre par vous-même avant d investir une quantité significative de temps ou d argent dans un projet de virtualisation.

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

«Scale-to-fit» Storage

«Scale-to-fit» Storage LIVRE BLANC «Scale-to-fit» Storage Faites évoluer votre stockage de façon totalement transparente grâce au «Scale-to-Fit» de Nimble Storage. Ce livre blanc explique comment les solutions Nimble Storage

Plus en détail

Introduction a la Virtualisation

Introduction a la Virtualisation Qu'est-ce que la virtualisation? Introduction a la Virtualisation Techniques de virtualisation, dangers, Cloud Computing Julien Garet, SMI - Lille INRIA 7 septembre 2011 Infrastructure cible Qu'est-ce

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

La guerre des hyperviseurs Atelier 235. Par : Marc Balardelle

La guerre des hyperviseurs Atelier 235. Par : Marc Balardelle La guerre des hyperviseurs Atelier 235 Par : Marc Balardelle Quelque part dans l'espace Société GRICS 2 Le plan d'attaque Les armes de l'espace Le théâtre des opérations Les forces en présence Les alliances

Plus en détail

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé Les technologies de virtualisation de serveurs séduisent les organisations car elles permettent de réduire le Coût Total de Possession

Plus en détail

Fiche Technique SCVMM

Fiche Technique SCVMM Le 27/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 27/03/2013 27/03/2013 SCVMM

Plus en détail

Gestion de la mémoire sous VMware ESX

Gestion de la mémoire sous VMware ESX Gestion de la mémoire sous VMware ESX 1. Introduction Le partage de ressources offert par la virtualisation apporte des avantages par rapport à des architectures traditionnelles. Cela permet d avoir plus

Plus en détail

Fiche Technique Windows Azure

Fiche Technique Windows Azure Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

Unitt www.unitt.com. Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Unitt www.unitt.com. Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données La meilleure protection pour les données vitales de votre entreprise Autrefois, protéger ses données de manière optimale coûtait

Plus en détail

Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco

Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco Présentation et portée du cours : CNA Exploration v4.0 Networking Academy Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco diplômés en ingénierie, mathématiques

Plus en détail

Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10

Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10 Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10 Sommaire 1. Contexte... 2 2. Prérequis... 2 3. Configuration du réseau dans VMWare Workstation 10... 2 4. Windows Server 2008

Plus en détail

Exploitation de la ferme de serveurs Esxi

Exploitation de la ferme de serveurs Esxi BTS SIO SISR4 Page 1 Exploitation de la ferme de serveurs Esxi Table des matières 1. Objectif... 2 2. Paramètres préalables... 2 3. Création d un cluster... 2 4. Augmenter la taille des LUN... 2 4.1. Sur

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

N 39 Administration des Systèmes et des Réseaux Informatiques SUJET

N 39 Administration des Systèmes et des Réseaux Informatiques SUJET Administration des Systèmes et des Réseaux Informatiques SUJET Sélections régionales 2012 SOMMAIRE A. Explication du sujet... 3 B. Matériaux et consommables... 9 D. Barème de correction... 10 E. Annexes...

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Système d administration autonome adaptable: application au Cloud

Système d administration autonome adaptable: application au Cloud Système d administration autonome adaptable: application au Cloud Alain TCHANA - atchana@enseeiht.fr IRIT/ENSEEIHT, Equipe SEPIA Directeur de thèse : Daniel HAGIMONT et Laurent BROTO Rapporteurs : Jean-Marc

Plus en détail

NFE107 Urbanisation et architecture des systèmes d information. Juin 2009. «La virtualisation» CNAM Lille. Auditeur BAULE.L 1

NFE107 Urbanisation et architecture des systèmes d information. Juin 2009. «La virtualisation» CNAM Lille. Auditeur BAULE.L 1 Juin 2009 NFE107 Urbanisation et architecture des systèmes d information CNAM Lille «La virtualisation» Auditeur BAULE.L 1 Plan INTRODUCTION I. PRINCIPES DE LA VIRTUALISATION II. DIFFÉRENTES TECHNIQUES

Plus en détail