180 likes | 284 Views
SDI (Smart Deployment Infrastructure) : Déploiement adaptatif d'applications réparties multi-composants pour usagers mobiles Chantal Taconet, Erik Putrycz, Guy Bernard {chantal.taconet, erik.putrycz, guy.bernard}@int-evry.fr Equipe MARGE http://picolibre.int-evry.fr/projects/sdi/.
E N D
SDI (Smart Deployment Infrastructure) : Déploiement adaptatif d'applications réparties multi-composants pour usagers mobiles Chantal Taconet, Erik Putrycz, Guy Bernard {chantal.taconet, erik.putrycz, guy.bernard}@int-evry.fr Equipe MARGE http://picolibre.int-evry.fr/projects/sdi/
Déploiement dynamique • Contexte : • services : applications multi-composants réparties • utilisateurs mobiles : étendre accès à leurs services • depuis des terminaux d'accès multiples (téléphone mobile, PDA, PC personnel ou même PC banalisé) • depuis des localisations géographiques variées • Objectifs : • solutions de déploiement actuelles interactives et par terminal • automatiser les installations : l’utilisateur -ne souhaite pas-/-ne peut pas- faire une installation par service et par terminal d'accès • adaptation dynamique au contexte d'utilisation (utilisateur, localisation géographique, état du système, capacités du terminal) • Proposition : • fournir une infrastructure de déploiement
Composants d'une application Interface utilisateur Traitements Accès données
Description d'un service Descripteur de l’assemblage de composants pour un service Agent de virement Compte bancaire Interface Utilisateur interface utilisée interface fournie
Descripteur de déploiement Interface utilisateur: nom du type de composant: sdidemo.bank.BankGUI localisation du composant: userTerminal cycle de vie:composant sessiontéléchargeable Agent de virement: nom du type de composant: sdidemo.bank.BankAgent localisation du composant: proche du terminal, le moins chargé cycle de vie:composant processus téléchargeable Compte bancaire: nom du type de composant: sdidemo.bank.BankAccount localisation du composant: fixé cycle de vie: composant entitéfixe
Les choix du déploiement Poste utilisateur Interface adaptée au terminal Interface Utilisateur Machine banalisée (la plus rapide) Machine fixe Agent de virement Comptes bancaires Recherche d'un serveur de proximité
Les ressources du déploiement • Les composants instances fixes • ex : comptes bancaires • Les serveurs de paquetages : pour les composants téléchargeables • interfaces graphique de virement • texte • graphique minimum pour PDA • graphique complet pour PC banalisé • agent de virement cascade • Les machines banalisées (gestionnaire d ’instances) : serveurs SDI compte paquetages
Adaptation avec un service de recherche : le courtier • toutes les ressources sont inscrites dans le courtier : • composant fixe • paquetage • serveur SDI • lors du déploiement, des recherches adaptées au contexte d’utilisation sont effectuées : • possibilités du terminal de l’utilisateur • localisation géographique de l'utilisateur • charge des différents serveurs SDI • interrogation du courtier avec expression des contraintes et des préférences • trader CORBA avec OCL (OMG Constraint Language) courtier
Définition des types de ressources identification composant environnement d'exécution localisation logique localisation géographique charge instantanée • définition des types de ressources • avec une liste de propriétés typées • la définition de type peut se faire par héritage fournit a a a a a a besoin de sert paquetage composant fixe gestionnaire d’instances est hébergé par
Informations liées service : description de l'application descripteur de déploiement Informations liées au contexte de déploiement : les préférences de l'utilisateur : contexte.préférencesUtilisateur le terminal de déploiement : contexte.terminal.environnementExécution contexte.terminal.localisationGéographique Informations du service de recherche Informations du déploiement
Contraintes de recherche • Recherche d'un serveur de proximité (composant fixe) (contexte.terminal.localisationGéographique& contexte.préférencesUtilisateur & application.typeComposant ) liste de composants fixes (ordonnés par la charge des serveurs SDI qui les hébergent) • Recherche d'un paquetage pour un terminal donné contexte.terminal.environnementExecution & contexte.préférencesUtilisateur &application.typeComposant liste de paquetages • Recherche d'une machine pour un paquetage donné application.typeComposant liste de paquetages paquetage.environnementExecution liste de serveurs SDI (ordonnés par leur charge)
Interactions lors du déploiement courtier recherche télécharge Serveur SDI Serveur SDI m.a.j. serveur de monitoring serveur de monitoring gestionnaire d’instances gestionnaire d’instances installe instance serveur de déploiement paquetages gestionnaire d’instances initiation (description appli, contexte de déploiement) Client de déploiement terminal
Temps de déploiement • Temps de déploiement sur PC et iPAQ • Evaluation du surcoût de l’adaptation : • adaptation = choix transparent des hôtes et des implémentations par le courtier SDI • sans adaptation = hôtes et implémentation fixés
Adaptation et gain à l’exécution Terminal mobile : iPAQ (ressources limitées) • Comparaison sur deux scénarios 1er: Agent installé sur terminal (iPAQ) 2ième : Choix de l’hôte de l’agent par SDI (choix = serveur SDI) • Mesures • Capacité batterie pendant l’exécution • Mémoire utilisée sur l’iPAQ
Bilan • Infrastructure de déploiement réalisée et validée dans le cadre du projet CESURE pour le déploiement automatique et adaptatif d'application multi-composants • Intégration du partage de charge DLBS avec SDI participation à l’OMG sur le RFP Load Balancing • Implémentation et documentation disponibles en open source sur http://picolibre.int-evry.fr/projects/sdi