Université Abderrahmane Mira de Bejaïa Faculté des sciences exactes LABORATOIRE D’INFORMATIQUE MÉDICALE Soutenance de Doctorat en sciences En Informatique Option : Réseaux et Systèmes Distribués Sélection et composition de services sensibles à l’énergie et à la qualité de service en environnements ubiquitaires et intelligents ambiants Directeurs de thèse : Pr. Yacine AMIRAT Pr. Moussa KERKAR Présentée par : M. Essaid KHANOUCHE 10/12/2016 1 PLAN Contexte & problématique de la thèse. Contribution 1 – Algorithme de sélection EQSA Contribution 2 – Algorithme de composition CQCA Synthèse des contributions & perspectives. 2 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contexte De l’ubiquité à l’intelligence ambiante Environnement ubiquitaire/ambiant 3 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contexte Challenges des systèmes intelligents ambiants Gestion optimale des ressources compte tenu de la limitation des dispositifs en termes de capacité énergétique. Passage à l’échelle : capacité d’un système ambiant à gérer un grand nombre d’utilisateurs ou de services. Sensibilité au contexte : aptitude d’un système ambiant à fournir des services adaptés aux besoins de l’utilisateur. Hétérogénéité ; Dynamicité et incertitude ; Sécurité et respect de la vie privée. 4 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Problématique de la thèse. Le concept de service Service : entité logicielle fournissant un ensemble fonctionnalités définies dans une description de service. de Description de service : englobe aussi les propriétés nonfonctionnelles du service, telles que : – la qualité de service (QoS) ; – les spécifications de l’utilisateur ; – d’autres aspects : énergie consommée, contexte. 5 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Problématique de la thèse. Service atomique vs Service composite Un service atomique fournit une fonctionnalité de base ; il est caractérisé par une exécution autonome. Un service composite offre une fonctionnalité complexe – son exécution requiert d’invoquer d’autres services. La composition de services vise la création de nouveaux services – combinaison de services atomiques pour fournir de nouvelles fonctionnalités. 6 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Problématique de la thèse. Le cycle de vie d’une composition de services 7 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Problématique de la thèse. Problème de la composition de services Problématique de la gestion optimale de la QoS et de l’énergie. En termes de QoS, nécessité de prendre en compte des changements de contexte, tels que : – l’apparition ou disparition de services ; – la dégradation de la qualité d’un service ; – l’évolution des besoins des utilisateurs en termes de QoS. En termes d’énergie, les services candidats sont généralement hébergés par des dispositifs dont la capacité énergétique est limitée. 8 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Problématique de la thèse. Problème de la composition de services Ces services peuvent devenir indisponibles conduisant à des – services composites peu fiables ; – sans garantie de leur terminaison. Défi : développer des algorithmes efficaces pour la sélection de services: – Minimiser la consommation d’énergie du service composite ; – Satisfaire les exigences de l’utilisateur en termes de QoS. 9 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Revue de la littérature. Classification proposée – Khanouche et al. 2016 IEEE TASE Approches de sélection de services avec QoS La programmation linéaire en nombres entiers Ngoko et al. 2013 Gabrel et al. 2015 Un modèle combinatoire/graphe Yu et al. 2007 Garcia et al. 2015 La décomposition des contraintes de QoS Alrifai et al. 2012 Sun et al. 2012 Une fonction d’utilité Kouicem et al. 2014 Yachir et al. 2016 Les techniques d’apprentissage Mabrouk et al. 2009 automatique Hwang et al. 2015 La dominance au sens de Pareto Chen et al. 2015 Trummer et al. 2014 10 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Revue de la littérature. Limitations des approches de sélection de services avec QoS Peu d’approches de sélection traitent simultanément et efficacement les problèmes d’énergie et de QoS ; Les approches existantes concernent principalement les domaines: – centres de intelligents données [Beloglazov al. 2012, et al. 2015] bâtiments [Pan et al.et 2015, PaolaXia et al. 2014] ; ; – réseaux de capteurs sans et al. 2012]. Cloud Computing [Jula et fil al.[Ehsan 2014, Tanganelli et al. 2014] ; La plupart de ces approches : – ignorent la problématique de la gestion d’énergie [Yachir et al. 2016, Hwang et al. 2015, Chen et al. 2015, …] – considèrent l’énergie comme un attribut de QoS [Kouicem et al. 2014, Ngoko et al. 2013, Yachir et al. 2012, …]. 11 PLAN Contexte & problématique de la thèse. Contribution 1 – Algorithme de sélection EQSA Contribution 2 – Algorithme de composition CQCA Synthèse des contributions & perspectives. 12 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Modèle de service Service concret Vecteur d’attributs de QoS Service abstrait Profil d’énergie 13 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Modèle du profil d’énergie L’autonomie représente le niveau d’énergie du dispositif hébergeant le service : Le coût énergétique reflète l’énergie consommée durant l’exécution du service : Le profil d’énergie est le rapport entre le coût énergétique et l’autonomie : 14 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Modèle de QoS La qualité de service peut être liée à des propriétés – Quantitatives : la disponibilité, etc. – Qualitatives : la sécurité, etc. – Chaque propriété est appelée attribut de QoS ; La QoS d’un service atomique csj est représentée par un vecteur QoS(csj) = (qos1,j , …, qosk,j), qosq,j : valeur du qième attribut. La QoS d’un service composite dépend de : – la structure du plan de composition ; – la fonction utilisée pour l’agrégation des attributs de QoS. 15 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Formalisation du problème de sélection de services La sélection de services consiste à : – choisir le meilleur service parmi plusieurs services candidats; – ce choix est basé sur plusieurs attributs de QoS. Problème d’optimisation multi-objectif. L’optimisation lexicographique est une méthode de résolution des problèmes d’optimisation multi-objectif : Sous-problème mono-objectif 1 • Objectif 1 Sous-problème mono-objectif i • Objectif i Sous-problème mono-objectif n • Objectif n 16 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Formalisation du problème de sélection de services Dans le contexte de la sélection de services sensible à la QoS – l’ordre d’importance des objectifs représente les préférences de l’utilisateur ; L’optimisation lexicographique est bien adaptée pour résoudre le problème de sélection avec QoS. 17 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Principe de l’algorithme Un nouvel algorithme de sélection de services centré sur l’énergie et sensible à la QoS est proposé. EQSA – Energy-centered and QoS-aware services Selection Algorithm L’idée sous-jacente à l’algorithme proposé est de : – réaliser des économies d’énergie en réduisant légèrement le niveau de QoS. Deux objectifs principaux sont visés : – la conservation de l’énergie ; – la satisfaction des exigences de l’utilisateur en termes de QoS. 18 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Phase 1 : présélection basée sur le niveau de QoS Qualité optimale Valeur seuil de qualité Réduction de la qualité Services offrant le niveau de QoS requis pour satisfaire l’utilisateur 19 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Phase 2 : sélection de services basée sur la dominance relative Les services candidats sont comparés en utilisant une valeur d’utilité reflétant leur dominance relative. La dominance relative d’un service dépend de : – son profil d’énergie ; – des valeurs de ses attributs de QoS ; – des préférences de l’utilisateur par rapport à chaque attribut. 20 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Phase 2 : sélection de services basée sur la dominance relative Le nombre de services candidats dominés par csj Dominance basée sur le profil d’énergie 21 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 1 – Algorithme EQSA. Analyse de la complexité La complexité temporelle de l’algorithme EQSA est en – O(n . m) pour la phase 1 ; – O(m . p log p) pour la phase 2. La phase de filtrage des algorithmes de sélection utilisant la dominance de Pareto a une complexité en O(k.m.n2) ; Cette complexité est nettement supérieure à celle de l’algorithme EQSA qui est en O(n . m); L’algorithme EQSA réduit considérablement le temps de calcul puisque sa complexité temporelle globale << O(k.m.n2). 22 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Scénarios et méthodologie de simulation Les scénarios de simulation ont été conçus dans le cadre du projet Européen A2NEts; Les données de simulation ont été synthétisées : – en fonction des valeurs rapportées dans la littérature pour les attributs de QoS ; – en utilisant un modèle d’énergie réaliste pour spécifier le profil énergétique des services [Furthmüller et al. 2012]. 23 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Scénarios et méthodologie de simulation Trois algorithmes sont évalués : – EQSA : sélection tenant compte du profil d’énergie et de QoS ; – EQSA~EP : sélection tenant compte du profil d’énergie ; – EQSA~QoS : sélection tenant compte de la QoS. Les métriques de performance sont : – Temps de sélection ; – Dominance basée sur la QoS du service composite ; – Consommation d’énergie du service composite ; – Durée de vie de la composition ; – Optimalité de la composition. 24 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Temps de sélection vs le nombre de services < 900 ms Le nombre de classes = 10 FT varie entre 0.1 et 0.4 < 100 ms Le nombre de candidats = 1000 FT varie entre 0.1 et 0.4 25 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Dominance basée sur la QoS vs le nombre de services Le nombre de classes = 10 ; le facteur de tolérance = 0,3. 0,86 0,87 26 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Consommation d’énergie vs le nombre de services 36% 67% 27 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Durée de vie de la composition vs le nombre de services EQSA est légèrement moins efficace en termes de durée de vie 28 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Optimalité de la composition vs le nombre de services 98 % Stable 700 services 29 PLAN Contexte & problématique de la thèse. Contribution 1 – Algorithme de sélection EQSA Contribution 2 – Algorithme de composition CQCA Synthèse des contributions & perspectives. 30 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Motivation Algorithme EQSA Prise en compte de l’énergie Passage à l’échelle Non-prise en compte des contraintes globales de QoS Solution tenant compte des contraintes globales de QoS ? 31 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Problématique de composition avec contraintes de QoS Les contraintes globales de QoS représentent les exigences de l’utilisateur imposées sur les valeurs de QoS du service composite ; La composition de services avec contraintes globales de QoS : – Déterminer les services concrets à sélectionner pour chaque service abstrait ; – Le service composite résultant : o satisfait les contraintes de QoS ; o possède la meilleure utilité en termes de QoS. 32 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Principe et phases de l’algorithme Un algorithme de composition basé sur le partitionnement des services et sensible à la QoS. CQCA – Clustering-based and QoS-aware services Composition Algorithm. CQCA comprend 3 phases : 33 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Phase 1 : filtrage des services basé sur le partitionnement Objectif : éliminer du processus de composition les services candidats ayant des faibles valeurs de QoS. Le partitionnement consiste à : – grouper un ensemble d’objets, en plusieurs sous-ensembles, appelés clusters ; – les membres d’un même cluster partagent des caractéristiques communes. Plusieurs méthodes de partitionnement : – la méthode des K-means. 34 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Phase 1 : filtrage des services basé sur le partitionnement Cluster : services ayant des Cluster = Niveau de QoS (QL) valeurs de QoS proches AS1 AS2 CS11 AS3 CS13 CS24 CS21 CS14 CS18 CS12 CS17 CS23 CS15 CS16 CS32 CS22 CS31 CS33 CS25 CS27 CS26 CS36 CS35 CS34 35 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Phase 2 : sélection de services basée sur le niveau de QoS Objectif : supprimer les services candidats ayant une faible valeur de QoS pour certains attributs. Le choix de ces services pour la composition peut : – engendrer la violation des contraintes globales de QoS ; – dégrader l’optimalité du service composite. Le problème de la sélection de services avec QoS est modélisé comme un problème d’optimisation lexicographique. Résultat : un ensemble de services candidats offrant le niveau de QoS requis pour satisfaire les contraintes globales de QoS. 36 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Contribution 2 – Algorithme CQCA. Phase 3 : Optimisation globale Déterminer les compositions quasi-optimales, c.à.d. : – les compositions satisfaisant les contraintes globales de QoS ; – maximisant l’utilité globale. L’utilité globale d’une composition CCx est : Construire un arbre de recherche à partir des services candidats : – Les services candidats représentent les nœuds de l’arbre ; – L’ordre d’invocation des services abstraits est traduit par la relation père/fils entre les services candidats. 37 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Méthodologie & paramètres de simulation Paramètre Valeur Dataset Synthétisé en fonction des valeurs rapportées dans la littérature. Comparaison ACSC [Ben Mabrouk et al. 2009]. Métriques de performance Temps d’exécution, optimalité de la solution, et espace des compositions. Nombre de clusters 3 (QoS-haute, QoS-moyenne et QoS-basse). Services concrets Varie entre 30 et 120. Classes de services 3 Contraintes de QoS 5 Facteur de tolérance 0.4 38 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Temps d’exécution vs le nombre de services Les services concrets sont répartis équitablement sur les 3 clusters; 4398 ms 97% 122 ms 39 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Optimalité vs le nombre de services ≈ 100% ≈ 99% ≈ 97% 40 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Espace des compositions vs le nombre de services CQCA = 3.2% ACSC CQCA = 2.1% ACSC 41 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Évaluation des performances. Impact de la cardinalité des clusters sur l’optimalité Les services concrets de chaque classe sont répartis : – 10% QoS-haute ; 30% QoS-moyenne ; 60% QoS-basse. ≈ 100% < 65 % 42 PLAN Contexte & problématique de la thèse. Contribution 1 – Algorithme de sélection EQSA Contribution 2 – Algorithme de composition CQCA Synthèse des contributions & perspectives. 43 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Synthèse des contributions & Perspectives. Synthèse des contributions EQSA – un algorithme de sélection de services centré sur l’énergie et sensible à la QoS ; L’algorithme remédie aux limitations de la sélection de services ne tenant pas compte de la dimension énergétique ; EQSA constitue une solution intéressante : – une bonne efficacité énergétique ; – une QoS de la composition proche de l’optimum. Limitations en termes de non-prise en compte des contraintes globales de QoS ; 44 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Synthèse des contributions & Perspectives. Synthèse des contributions CQCA – un algorithme de composition basé sur le partitionnement des services et sensible à la QoS ; La composition de services avec QoS est formulée comme un problème de partitionnement qui est résolu en utilisant K-means ; La méthode K-means présente l’intérêt de réduire le temps de composition ; Les performances obtenues montrent que l’algorithme CQCA : – permet d’obtenir un faible temps de composition ; – engendre des compositions quasi-optimales. 45 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Synthèse des contributions & Perspectives. Perspectives À court terme : extension de l’algorithme EQSA pour : – gérer la re-sélection dynamique ; – génération automatique d’un plan de composition efficace en termes d’énergie. À long terme : – reconsidérer certaines hypothèses pour aboutir à un modèle de profil énergétique précis ; – Évaluer les performances de l’algorithme CQCA en considérant o d’autres structures de composition ; o d’autres méthodes de partitionnement. 46 Contexte & Problématique Contribution 1 Contribution 2 Synthèse & Perspectives Publications. Revues M. E. Khanouche, Y. Amirat, A. Chibani, M. Kerkar and A. Yachir, “Energy-centered and QoS-aware services selection for Internet of Things,” IEEE Transactions on Automation Science and Engineering, vol. 13, no. 3, pp. 1256–1269, Jul. 2016. M. E. Khanouche, F. Attal, Y. Amirat, A. Chibani and M. Kerkar, “Clustering-based and QoS-aware services Composition Algorithm for Services Oriented applications,” to be submitted to IEEE Transactions Automation Science and Engineering. 47 Merci de votre attention. 48