Soutenance de thèse pour obtenir le grade de Docteur de lUniversité de Paris VI Container Virtual Machine Une plate-forme générique pour ladaptation dynamique.

Slides:



Advertisements
Présentations similaires
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Advertisements

Fabrice Lauri, François Charpillet, Daniel Szer
Karima Boudaoud, Charles McCathieNevile
Introduction aux environnements répartis
La machine virtuelle virtuelle utopie et/ou réalité ?
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Les Prepositions.
Projet n°4 : Objecteering
Smart House System Framework Vincent Chicherie
Directeur de Thèse : Pr. Witold Litwin
Architecture de réseaux
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Indicateurs de position
Atelier Portail SAP Durée : 2h.
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Sélection automatique d’index et de vues matérialisées
Améliorer les performances du chiffrage à flot SYND
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Logiciel de Mobile Device Management
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
Développement d’applications web
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
le profil UML en temps réel MARTE
Adaptation de documents multimédia
KAKI - Gestion budgétaire et comptable de la paye
Plugin B pour JEdit Matthias Meusburger Antoine Acquaviva
Validation d’applications pour les Legos Mindstorms
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Virtual Local Area Network
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
LES RESEAUX DE CAPTEURS SANS-FIL
Patterns et maintenabilité dans lindustrie : un cas concret Christophe Saint-Marcel Silicomp Ingénierie.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Notre calendrier français MARS 2014
3ème partie: les filtres
C'est pour bientôt.....
Projet de Master première année 2007 / 2008
CORBA (Common Request Broker Architecture)
Patrons de conceptions de créations
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Stage 2A CS80 pour Origin 1/28. 1) Presentation of the internship 2) The Multi-Oscillator 3) Connection-GUI’s API Conclusion Stage 2A CS80 pour Origin.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ANALYSE METHODE & OUTILS
CALENDRIER-PLAYBOY 2020.
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
1. Présentation générale du système
Outil de gestion des cartes grises
Projet de stage d’année IIR4 sous le thème:
LES ENERGIES RENOUVELABES
Supports de formation au SQ Unifié
Projet Implémentation du protocole MMT sous Linux
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le web service
Les différents modèles d’architecture technique
L’enseignement de spécialité SLAM
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Transcription de la présentation:

Soutenance de thèse pour obtenir le grade de Docteur de lUniversité de Paris VI Container Virtual Machine Une plate-forme générique pour ladaptation dynamique des services système dans les intergiciels orientés composants Assia HACHICHI Thème Regal/LIP6 Directeur : Bertil FOLLIOT Rapporteurs : Daniel HAGIMONT Lionel SEINTURIER Examinateurs : Didier DONSEZ Christine MORIN Pierre SENS

2 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

3 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

4 Contexte Intergiciels orientés composants : Masquer lhétérogénéité et la répartition Séparation des préoccupations Code métier : composant entité logicielle invocable à distance Service système : code non-fonctionnel géré par lintergiciel e.g. service de nommage, réplication Besoins dévolution des logiciels Ajout de nouvelles fonctionnalités : e.g. équilibrage de charge Mise à jour : nouvelle version, correction de bug (e.g. faille de sécurité) Besoin dadapter les services systèmes dans les intergiciels I. Introduction

5 Type dadaptation Adaptation statique Interruption logiciel coûteuse financièrement (e.g. services commerciaux) Perte de létat dexécution Adaptation dynamique Mise à jour durant lexécution Pas de perte détat due à la mise à jour Interruption de lordre de quelques secondes versus quelques heures Adaptation dynamique des services système I. Introduction

6 Problèmes de ladaptation dynamique répartie Nombreuses études sur ladaptation centralisée Adaptation dynamique de plateforme dexécution [exo-noyaux, JnJVM,…] Adaptation dynamique de services système [AOKell, JOD, JonasALaCarte,…] Peu détudes sur ladaptation répartie Nœuds construits avec des Machine/OS/Langage différents Complexité de ladaptation répartie augmente avec lhétérogénéité Gestion complexe de la synchronisation Absence dunification de ladaptation répartie I. Contexte et problématique

7 Notre solution I. Introduction 1. Adaptation dynamique répartie Masquer lhétérogénéité de ladaptation répartie Séparer la logique dadaptation de son implémentation Base pour résoudre la synchronisation 2. Adaptation ciblée Service système dinformation : liés aux traitements des requêtes Transparent par rapport au code métier 3. Porté générale Unifier ladaptation des intergiciels rigides et adaptables Augmenter la réutilisation de lexistant

8 É tat de lart I. Contexte et problématique Adaptation dynamique des services système Nouveaux intergiciels : Différents concepts Simplifie ladaptation Hétérogénéité des applications réparties Assemblages de composants hétérogènes Unification de la construction (e.g. PolyOrb) Absence dunification de ladaptation répartie Diminue la réutilisation de lexistant Intergiciels adaptables Concepts Réflexion Aspect Composant DynamicTAOX OpenORBX OpenCORBAX FlexiNetX UICX ZENX JonasALaCarteX FROGiX JOnAS On DemandX AOKellXX

9 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

10 Concept de la CVM Composant Console administration Intergiciel Y Intergiciel X Composant Adaptation unifiée & synchronisation Adaptation Spécifique II. Notre proposition : la CVM Adapter Intergiciel Y Adapter Intergiciel X Adaptation dynamique répartie Spécifique à un intergiciel Hétérogénéité Cohérence et synchronisation Objectif : Séparer la logique dadaptation de son implémentation

11 Architecture de la CVM La CVM est une plate-forme générique Noffre pas un nouvel intergiciel Sinsère comme un service dadaptation Ré-exploite les mécanismes existants Les entités de la CVM SA : Instanciation dun service dadaptation PIP : Partie Indépendante de la Plate-forme PDP : Partie Dépendante de la Plate-forme Console distante dadministration Console adapter Intergiciel X Composant Intergiciel Y Composant PIPPDPPIPPDP adapter II. Notre proposition : la CVM

12 Partie Indépendante de la Plate-forme DSL : Langage dédié à ladaptation Sépare la logique dadaptation de son implémentation Fournit un haut-niveau dabstraction Simple pour ladministrateur Adaptation élémentaire Ajouter un service : addService Supprimer un service : rmService Adapter un service : adaptService II. Notre proposition : la CVM

13 Partie Dépendante de la Plate-forme Objet dinterposition Service 1 Service 3 Service 2 PDP : Partie spécifique à lintergiciel Interception des messages Absence dune architecture commune aux intergiciels Ajouter un objet dinterposition méthode addservice(OI, service) méthode rmService(OI, service) méthode adaptService(OI, service) Associer ces méthodes aux instructions du DSL II. Notre proposition : la CVM

14 Synthèse PIPPDP Composant S1S2 msg adapter Intergiciel X PIPPDP Composant Intergiciel Y Console dadministration adapter OI S1S2 msg adapter II. Notre proposition : la CVM

15 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

16 Implémentation de la CVM PIP de la CVM réalisée au dessus de la VM VM implémentation de la MVV VM permet de définir de nouveaux langages (DSL). VM VM sépare la construction du langage de sa compilation PDP : VM peut être spécialisable pour un intergiciel III. Réalisation pour OpenCCM et JOnAS VM PIP Délégation de la compilation Intergiciel Y Composant PDP adapter AST sérialisé Console dadministration

17 Implémentation dune PDP PDP – CVM réalisée pour OpenCCM et JOnAS Pas de possibilité dadaptation dynamique Valider le DSL Processus dimplémentation dune PDP 1.Etude de larchitecture de lintergiciel et de leur MV 2.Déterminer les objets dinterposition 3.Établir les méthodes qui permettent de les manipuler 4.Associer ces méthodes aux instructions du DSL Réalisation de la PDP complexe, mais effectuée une seule fois pour un intergiciel donné III. Réalisation pour OpenCCM et JOnAS

18 PDP - OpenCCM OpenCCM : implémentation de CCM en Java Étude de larchitecture dOpenCCM et de JVM Les objets dinterposition les intercepteurs portables (IP) proposés par la spécification de CORBA les Composants Orientés Système (COS) défini dans la thèse Méthodes dadaptation en OpenCCM Association des méthodes dadaptation au DSL Intercepteur portable COS III. Réalisation pour OpenCCM et JOnAS

19 PDP - JOnAS JOnAS : implémentation des EJB en Java Étude de larchitecture de JOnAS et de la JVM Ne propose pas nativement des objets dinterposition. Les objets dinterposition Les objets proxy Java Agent JVMTI (Java Virtual Machine Tool Interface). Méthodes dadaptation en JOnAS Association des méthodes dadaptation au DSL JVMTI Proxy III. Réalisation pour OpenCCM et JOnAS

20 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

21 Validation Prototype PIP réutilisable 2 PDP OpenCCM et JOnAS Adaptation dynamique des services dans OpenCCM et JOnAS Objets dinterpositionOpenCCMJOnAS Service de Monitoring (service non-intrusif) Intercepteur Portable Service de debug (service non-intrusif) JVMTI Service de cryptage (service intrusif) COSProxy IV. Validation

22 Service de monitoring flexible Gestion dapplications complexes. Le service de monitoring Intégration dynamique du service de monitoring flexible Application « Dîner des philosophes » dOpenCCM Insérer le service dans les crochets du PI La CVM unifie et adapte dynamiquement OpenCCM (.push (addService 21 "MonitorCI" C1) SocketA) (.push (addService 21 "MonitorCI" C2) SocketB) IV. Validation

23 Service de debug Service de debug dans JOnAS Collecte et journalise les appels aux méthodes et leurs arguments dappel Basé sur lagent JVMTI (tissage mixte) La CVM unifie et adapte dynamiquement JOnAS (.push (addService 31 serviceDebug poincut) SocketA) (.push (addService 32 serviceDebug pointcut) SocketA) (.push (rmService 31 serviceDebug poincut) SocketA) (.push (rmService 32 serviceDebug pointcut) SocketA) IV. Validation

24 Service de cryptage Crypter les messages entre émetteur et récepteur Intégrer le service de cryptage Adapter lalgorithme de cryptage Application répartie Composant A qui envoie des messages au composant B Synchronisation de ladaptation répartie Implémentation OpenCCM JOnAS IV. Validation

25 Service de cryptage (.push (deactivate) socketA) (.push (deactivate) socketB) (.push (addService 22 crypt CA) SocketA) (.push (addService 22 crypt CB) SocketB) OpenCCM JOnAS (.push (sb1 ejbPassivate) socketA) (.push (sb2 ejbPassivate) socketB) (.push (addService 33 crypt JOnASOpRemote) SocketA) (.push (addService 33 crypt JOnASOpRemote_Stub) SocketB) IV. Validation

26 Mise en œuvre des applications Unification de ladaptation Facilite la description de ladaptation répartie Offre une base pour résoudre les problèmes de la répartition Construction de langage dadaptation difficile Etendre le DSL pour uniformiser Synchronisation Mécanismes de répartition IV. Validation

27 Performances Intergiciel Temps (ms) IntégrationModificationSuppression PIII 664 Mhz PIV 3,2Ghz PIII 664 Mhz PIV 3,2Ghz PIII 664 Mhz PIV 3,2Ghz Service de cryptageOpenCCM ,29469,2 JOnAS15379 Service de monitoringOpenCCM ,7 Service de debugJOnAS ,2 Durée moyenne dadaptation en milliseconde Comparaison avec ladaptation statique Interruption du service Coût très limité par rapport à ladaptation statique IV. Validation

28 Container Virtual Machine I.Contexte et Problématique II. Notre proposition : la CVM III. Réalisation pour OpenCCM et JOnAS IV. Validation V. Conclusion et Perspectives

29 Conclusion Masque lhétérogénéité de ladaptation répartie DSL : sépare la logique dadaptation de son implémentation Facilite ladministration de ladaptation répartie Adaptation dynamique des services système Adapte les intergiciels Adapte de manière transparente pour lapplication V. Conclusion et Perspectives

30 Conclusion Validation de la CVM Implémentation de la PIP sur la VM Implémentation de la PDP pour OpenCCM et JOnAS Adaptation de services : monitoring, debug, cryptage CVM générique Unification de ladaptation des intergiciels à composants Réalisation pour dautres intergiciels à composants. V. Conclusion et Perspectives

31 Perspectives - Court terme É tendre le DSL Séparer la logique de la synchronisation de son implémentation Cohérence Autres mécanismes de synchronisation Gestion de reprise sur erreur Sécurité Module de sécurité dans la CVM Retour à un ancien état Implémentation dun mécanisme « Undo » Retour vers un ancien état de façon atomique V. Conclusion et Perspectives

32 Perspectives - Long terme Validation Validation des propriétés en se basant sur le DSL de la CVM Séparation entre la logique dadaptation et son implémentation Auto-adaptation Faciliter ladministration de systèmes de grande taille Coupler la CVM avec les notions dintelligence artificielle Outils permettant laide à la décision et lauto-adaptation V. Conclusion et Perspectives

33 MERCI QUESTIONS ?