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