Profil UPnP™ pour l`administration de plates
Transcription
Profil UPnP™ pour l`administration de plates
Nov. 2007-Oct. 2008 Laboratoire d'Informatique de Grenoble Soutenance de Diplôme de Recherche Technologique: Profil UPnP™ pour l’administration de plates-formes d’exécution hétérogènes VINCENT Maxime 21 Octobre 2008 Recherche & Développement Sommaire Introduction Etat de l’art Enjeux et problématique Limites des travaux actuels Défis Contribution Administration UPnP™ Plates-formes d’exécution Modèle proposé pour la gestion du cycle de vie logiciel Proposition d’une interface protocolaire UPnP™ Expérimentation Conclusion 2 Soutenance de DRT GI Cadre Institutionnel France Telecom Tuteur industriel: André BOTTARO, Ingénieur R&D, Orange Labs. Laboratoire SUME (Systèmes Ubiquitaires et Middleware Embarqué): • • • Home SOA: Techniques de composition sur plates-formes modulaires Think: Approche à composants sur plates-formes très contraintes ODIS: Fiabilité des architectures de remontée d’informations Laboratoires d’Informatiques de Grenoble (LIG) Tuteur universitaire: Philippe LALANDA, Professeur de l’UJF, LIG Equipe ADELE • • • • • Plates-formes à services Applications dynamiques à services Applications pilotées par les procédés Composition d’applications hétérogènes Ingénierie dirigée par les modèles 3 Soutenance de DRT GI Contexte du réseau domestique Augmentation des équipements domestiques Interconnexion pour la convergence des services Accessibilité à internet pour leur évolution Administration des équipements Administrateur 4 Soutenance de DRT GI Normalisation des équipements domestiques Environnement domestique Plusieurs acteurs agissent dans le réseau local ⇒ Equipements aux environnements d’exécution hétérogènes Ajout ou retrait de services par des tiers Évolution des offres et de la qualité des services Automatisation de la maintenance Normalisation de protocoles communs Développement des efforts de standardisation Broadband Forum Open Mobile Alliance Home Gateway Initiative UPnP™ Forum 5 Soutenance de DRT GI Intérêts d’UPnP™ pour l’administration Intérêts de l’opérateur dans l’administration des équipements locaux Protocole d’administration local Les avantages d’UPnP™ ⇒ Eviter l’installation et la maintenance manuelle • Simplification pour l’utilisateur • Eviter les couts de la hotline • Eviter les déplacements d’un technicien Passage à l’échelle • Pont entre Internet et réseau local « Universal Plug-and-Play » : découverte automatique Simplifie les outils et services à l’utilisateur En forte progression dans le réseau local Création d’un Groupe de Travail UPnP™ Device Management en 2007 Définir un profil pour l’administration 2 types d’application : outils pour l’utilisateur et administration 6 Soutenance de DRT GI Forum et Acteurs du Projet Forum UPnP™ Près de 900 membres Plusieurs comités actifs depuis 1999 ≈ 300 d’équipements certifiés Nombreux partenaires participent à l’élaboration du profil 7 Soutenance de DRT GI Fonctionnalités d’administration adressées par le comité UPnP™ DM Gestion logicielle agnostique Configuration Supervision des performances Maintenance de l’équipement Diagnostic (réseau / équipement) Sécurité et fiabilité 8 Soutenance de DRT GI Objectif du DRT: Accompagner l’effort de normalisation de France Télécom Analyse des technologies existantes Contribution au Comité de Travail Etudier les protocoles d’administration Dégager les points communs des plates-formes d’exécution Proposer un modèle général d’administration d’équipements Projeter le modèle sur le protocole UPnP™ Développements pour plusieurs plates-formes d’exécution Identifier les incompatibilités en avance de phase Réagir aux avancées de la spécification 9 Soutenance de DRT GI Sommaire Introduction Etat de l’art Enjeux et problématique Limites des travaux actuels Défis Contribution Administration UPnP™ Plates-formes d’exécution Modèle proposé pour la gestion du cycle de vie logiciel Proposition d’une interface protocolaire UPnP™ Expérimentation Conclusion 10 Soutenance de DRT GI Administration : Concepts et Technologies Protocoles étudiés Broadband Forum (BBF) TR-XXX Open Mobile Alliance (OMA) DM et SCOMO Simple Network Management Protocol (SNMP) Distributed Management Task Force (DMTF) CIM Concepts Clés Gestion logicielle • • • Description hiérarchique et modification de l’état des équipements BBF, OMA DM, SNMP, DMTF • • Vérification de la charge et disponibilité BBF, SNMP, DMTF Connectivité et équipement BBF TR-106, DMTF Sécurité et fiabilité • • 11 Opération sur l’équipement (redémarrage, remise aux réglages d’usine…) BBF TR-69, DMTF, SNMP Diagnostic • • Supervision des performances • Maintenance de l’équipement • Déploiement et/ou exécution OMA SCOMO, DMTF CIM Configuration • Authentification et/ou transactions Tous Soutenance de DRT GI Le protocole UPnP™ équipement Invocation de Services Réseau Local Composé de 3 éléments Équipement Point de Contrôle Service équipement Point de Contrôle Destiné au réseau domestique Utilisable indépendamment de l’environnement d’exécution Simplifier la mise en réseau des équipements Découverte automatique Normalisation des types d’équipement 12 Soutenance de DRT GI Etude de plates-formes d’exécution Un environnement d’exécution d’applications constituées D’unités pour déploiement d’application (Paquetages et unités de déploiement) De composants fonctionnels (Unités d’exécution) Des entités logicielles avec un cycle de vie administrable par Définition d’opérations Notification de changements d’états Gestion des dépendances 13 Soutenance de DRT GI Définition des différentes entités Paquetage de déploiement Unité de déploiement Unité binaire Permettant l’installation cohérente et atomique d’une ou plusieurs unités de déploiement Par exemple: fichier zip ou installeur Windows® Unité binaire Déployée individuellement Peut contenir plusieurs unités d’exécution Unité d’exécution Unité fonctionnelle Peut être exécutée Effectue une tâche ou fournit un service 14 Soutenance de DRT GI Technologies de plates-formes d’exécution Plate-forme .NET™ Distributions Linux (Ubuntu) Utilisée dans le milieu embarqué Communauté extrêmement développée Plate-forme OSGi™ Répandue grâce à Windows® Beaucoup de langage supportés (~20) Solution embarquée : Micro Framework™(2007) Utilisée sur des serveurs d’application et sur équipements contraints Environnement standard dynamique Beaucoup d’autres : MIDP, J2EE, BREW, SYMBIAN… 15 Soutenance de DRT GI .NET™ Environnement d’exécution : plate-forme .NET™ sur Windows® et Mono logiciel libre Unité de déploiement : Assembly Unité d’exécution : Assembly Dépendance : dépendances de code entre les Assemblies Actions : charger, exécuter Dépôt de ressources : dépôt local pour les Assemblies (GAC) 16 Soutenance de DRT GI OSGi™ Environnement d’exécution : JAVA™ Unité de déploiement : Bundle Unité d’exécution : Bundle Dépendance dépendance entre services dépendance entre paquetage Actions : installer, mettre-à-jour, désinstaller, démarrer, arrêter Dépôt de ressources : Dépôt de Bundles (OBR) 17 Soutenance de DRT GI Linux Environnement d’exécution : natif Unité de déploiement : paquetage Linux Unité d’exécution : démon ou processus Dépendance : paquetages (gestionnaire) Actions installer, désinstaller sur les paquetages démarrer et arrêter sur les processus Dépôt de ressources : gestionnaire de paquetages (APT sur Ubuntu) Gestionnaire de Paquetages Dépôt Linux Internet 18 Soutenance de DRT GI Sommaire Introduction Etat de l’art Enjeux et problématique Limites des travaux actuels Défis Contribution Administration UPnP™ Plates-formes d’exécution Modèle proposé pour la gestion du cycle de vie logiciel Proposition d’une interface protocolaire UPnP™ Expérimentation Conclusion 19 Soutenance de DRT GI Travaux Actuels autour de l’administration SCOMO (OMA) HGL (Y.ROYON) Modèle de données hiérarchique Environnement mobile Absence d’unité d’exécution Linux et OSGi™ Utilisation d’un format spécifique Manque de généricité Autres modèles : CIM (DMTF) Entités : Software Product, Software Feature, Application System, Service, Software Element Modèle complexe mêlant des concepts utilisateurs et techniques 4 états simples du software element sans résolution des dépendances 20 Soutenance de DRT GI Limites des protocoles d’administration Administration d’équipements actuel Restriction des opérations à la mise-à-jour du micro-logiciel Incomplétude des modèles génériques concurrents Simplicité du diagnostic : surveillance de la connectivité et de la charge Enjeux futurs pour l’administration d’équipements Découverte active des équipements administrables Diagnostic instantané et supervision continue Déploiement et gestion dudes cycle de vie générique de modules logiciels UPnP™ apporte réponses Déploiement et gestion du cycle de vie générique de modules logiciels 21 Soutenance de DRT GI Défi n°1 adressé par le travail de DRT Déploiement et gestion du cycle de vie générique Des cycles de vie distincts • • • OSGi™ : .NET™ : Linux : complets sur les Bundles (déploiement, exécution, arrêt…) restreints (chargement, exécution) distincts entre unités de déploiement et d’exécution Des paramètres de déploiement et d’activation distincts • • OSGi™ : .NET™ : • Linux : démarrage fainéant des bundles chargement dans domaine d’application donné paramètres libres pour exécution d’Assembly nombreux paramètres caractérisant le déploiement de paquetage APT (forçage de l’installation, évitement du téléchargement, etc.) Des modèles d’entités distincts • • • OSGi™ : .NET™ : Linux : unité unique de déploiement et d’exécution : Bundle unité unique de déploiement et d’exécution : Assembly unité déploiement : paquetage APT et unité d’exécution : processus Des événements distincts • • • OSGi™ : .NET™ : Linux : sur les modification d’état des unités aucun (à implémenter) sur l’arrêt des processus 22 Soutenance de DRT GI Défi n°2 adressé par le travail de DRT Gestion générique de dépendances Des modèles de dépendances distincts • OSGi™ : • • .NET™ : Linux : dépendances entre : - paquetages au déploiement - services à l’exécution dépendances entre Assemblies à l’exécution dépendances entre paquetages par APT, pour le code dynamique par linux à l’exécution Des mécanismes de partage et d’isolation de code distincts • • OSGi™ : .NET™ : • Linux : partage de classes (import et export) partage au sein du domaine d’application, par communications réseaux entre domaines bibliothèques dynamiques partagées par tout le monde Des modèles de collaboration distincts • • • OSGi™ : .NET™ : Linux : modèles à composants à services inexistant inexistant Simplifier et harmoniser les concepts 23 Soutenance de DRT GI Sommaire Introduction Etat de l’art Enjeux et problématique Limites des travaux actuels Défis Contribution Administration UPnP™ Plates-formes d’exécution Modèle proposé pour la gestion du cycle de vie logiciel Proposition d’une interface protocolaire UPnP™ Expérimentation Conclusion 24 Soutenance de DRT GI Définition de Genex Genex : GENeric EXecution Platform Objectif : Définir un modèle de déploiement et d’activation générique Uniformiser des concepts d’environnements d’exécution • • Déduire une interface de service UPnP™ • • Définir des unités de base Définir un cycle de vie pour ces unités Un ensemble cohérent d’actions et d’événements La sémantique et le comportement de la plate-forme sous-jacente Assurer la compatibilité avec les environnements d’exécution • • Développement de prototypes sur différents environnements Tester le déploiement d’applications existantes 25 Soutenance de DRT GI Genex pour UPnP™ DM Contribution sur un des thèmes du Comité UPnP™ DM Gestion logicielle agnostique • • Administration logicielle Compatible avec les différentes technologies du marché Configuration Supervision des performances Maintenance de l’équipement Diagnostic (réseau / équipement) Sécurité 26 Soutenance de DRT GI Modèle de gestion du cycle de vie logiciel Première version : notion de module Installé/désinstallé/mis-à-jour Exécuté/arrêté Agglomération de plusieurs unités Exemples montrant la séparation d’activités • Linux, MIDP, … Seconde version : définition de 3 unités distinctes Paquetage de déploiement • Unité de déploiement • Unité binaire permettant l’installation atomique d’un ensemble cohérent d’unités de déploiement Unité binaire élémentaire pouvant être déployée individuellement Unité d’exécution • Unité fonctionnelle fournissant des services ou exécutant des taches 27 Soutenance de DRT GI Modèle du cycle de vie logiciel Télécharger Paquetage Retirer Téléchargement Téléchargé Effacement Mettre-à-Jour Effacé Paquetage Déployer Installer Unité de Déploiement Installation Ajout Arrêter Unité d’Exécution Installé Résolu Désinstaller Désinstallation Désinstaller Arrêt Actif Inactif Démarrage Etat Stable Désinstallé Démarrer Suppression Unité de Déploiement Etat Transitoire 28 Soutenance de DRT GI Proposition de l’interface protocolaire Genex Gestion logicielle Paquetage • Unité de déploiement • Démarrer, arrêter Operations asynchrones: Installer, désinstaller, mettre-à-jour Unité d’exécution • Télécharger, supprimer Attribution d’un identifiant pour connaitre le résultat Notifications Liste des paquetages Liste des unités de déploiement Liste des unités d’exécution Liste des opérations 29 Soutenance de DRT GI Expérimentation Développement Genex sur 3 technologies Evolution au fur et à mesure des changements .NET™ : langage C# Linux : Langage C/C++ OSGi™ : Langage Java Changement de version du modèle Variations du modèle prise en compte par incrément Pile UPnP™ et génération de code .NET™ & Linux: Outils d’Intel® fournissant pile et génération OSGi™ • • Pile : Pilote UPnP™ d’Apache felix Génération de code : Outil UPnPGen de France Télécom 30 Soutenance de DRT GI Domaine d’application 1 .NET™ Assembly 1a Unité d’exécution : Assembly Unité de déploiement : Assembly Module UPnP™ : Intel® Lignes de code : ≈6000 Enjeux techniques Domaine d’application 2 Assembly 1b Assembly 2 Loader UPnP™ Loader Noyau Loader Déchargement des Assemblies Gestion des dépendances Assembly IHM Genex Plate-forme .NET™ Système d’Exploitation Réseau 31 Soutenance de DRT GI Linux Unité d’exécution : Fichier exécutable, démon Unité de déploiement: Paquetage (construit sur APT) Module UPnP™ : Intel® Lignes de Code : ≈19 000 Enjeux techniques : construit sur APT, gestion des processus Genex UPnP™ IHM Noyau APT Gestion de Paquetages Gestion Unités Exécution Linux Processus Processus Processus Démon API Gestion de Processus Réseau 32 Soutenance de DRT GI OSGi™ Unité d’exécution : Bundle Unité de déploiement: Bundle Pilote UPnP™ d’Apache UPnPGen de France Télécom Lignes de code : ≈4000 Enjeu technique Pilote Genex Pilote UPnP™ Apache Genex IHM OSGi™ Asynchronisation Machine Virtuelle Java™ Système d’Exploitation Réseau Bundle Bundle 33 Soutenance de DRT GI Bilan comparatif des technologies Plateforme Paquetage .NET™ Installateur Assembly Windows® Linux (Ubuntu) Paquetage OSGi™ Deploymen t Package (spécificati on mobile) Unité de Unité Dépendances Déploiement d’Exécution Assembly Paquetage Processus (RC scripts) Bundle Bundle 34 Assembly Actions Evénements Download, Load, Unload Invoke NA Paquetage PackageInst Triggering all, Updates PackageUni nstall, ServiceStart ServiceStop Bundle, Install, Installed, Paquetage, Start, Stop, Starting, Service Update, Resolved, Uninstall Active, Uninstalling Soutenance de DRT GI Aspects de Génie Logiciel Nombre total de lignes de code: 29 000 (16 000 générées) Règles de contrôle de code (outil Checkstyle) Gestion des versions (SVN) Cycle de vie en spirale Conception de diagrammes de classes Analyse des Besoins Réalisation de prototypes Spécifications Capitalisation des enseignements Rédaction d’une documentation Conception Codage Test Livraison 35 Soutenance de DRT GI Sommaire Introduction Etat de l’art Enjeux et problématique Limites des travaux actuels Défis Contribution Administration UPnP™ Plates-formes d’exécution Modèle proposé pour la gestion du cycle de vie logiciel Proposition d’une interface protocolaire UPnP™ Expérimentation Conclusion 36 Soutenance de DRT GI Conclusion Analyse des plates-formes d’exécution existantes Elaboration d’un modèle générique de gestion logicielle Réalisation des prototypes sur .NET™, Linux, OSGi™ Démonstration de faisabilité du profil Résolution des contraintes techniques • • Incohérences sur le profil Inconnues techniques 37 Soutenance de DRT GI Impact Démonstration au Salon de la Recherche interne Réalisation d’un article par l’équipe Reprise du travail par un prestataire Software Management of Heterogeneous Execution Platforms Auteurs: A. Bottaro, L. Gürgen, M. Vincent, F.-G. Ottogalli Stabilisation des prototypes Application des changements à venir Industrialisation des produits Participation à la contribution de France Telecom au Forum Proposition du modèle en juillet 2008 Livraison d’une implémentation de référence prévue en 2009 38 Soutenance de DRT GI Perspectives Extension de Genex par un modèle général de dépendances Distincts types de dépendance Différents degré de granularité de partage et d’isolation Intégration avec TR-69 pour une administration de bout en bout A. E. Nikolaidis, S. Papastefanos, G. A. Doumenis, G. I. Stassinopoulos, M. Polichronis, K. Drakos, Local and Remote Management Integration for Flexible Service Provisioning to the Home, IEEE Communications Magazine, Oct. 2007. 39 Soutenance de DRT GI Merci de votre attention! 40 Soutenance de DRT GI