Thèse en cours

Architecture distribuée pour les services à la personne

FR  |  
EN
Auteur / Autrice : Sannara Ek
Direction : Philippe LalandaFrançois Portet
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 27/09/2021
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Informatique de Grenoble
Equipe de recherche : GETALP - Groupe d'Etude en Traduction/Traitement des Langues et de la Parole (ancien labo Clips)

Résumé

FR  |  
EN

Le but de cette thèse est de définir architectures et algorithmes permettant de développer et d'exécuter des services liés au bien être au plus près des personnes, à savoir sur le edge et non plus sur le cloud comme cela est fait aujourd'hui. Les services informatiques d'aide à la personne deviennent de plus en plus importants dans un contexte de vieillissement de la population et d'augmentation des couts de santé. De tels services permettent de mieux traiter le maintien à domicile de populations âgées et soulèvent un grand espoir dans les pays comme la France ou le Japon par exemple(fortement impactés par cette problématique). Dans un premier temps, des services relativement simples et fondées sur des algorithmes assez classiques ont été développés et ont démontré un intérêt certain. Aujourd'hui, grâce à des ressources informatiques plus puissantes, à des connexions Internet généralisées et de haut débit, et à une meilleure formalisation des besoins, de nouvelles applications plus complexes et plus variées peuvent être développées. Actuellement, la plupart de ces services reposent sur des infrastructures cloud qui offrent des capacités de calcul et de stockage importantes. Le cloud apporte également beaucoup de flexibilité dans la gestion des ressources et simplifie grandement la tâche des fournisseurs de services qui peuvent se concentrer sur leur métier. Le cloud est ainsi devenu un standard de facto pour le déploiement, l'exécution et la gestion dynamique de telles applications. Mais de nouvelles demandes et contraintes remettent en cause cette approche technologique. Des applications récentes se caractérisent par de très fortes exigences au niveau de la réactivité (temps de calcul), du coût, ou encore du respect de normes environnementales. Ces propriétés ne peuvent pas être atteintes avec des architectures classiques à base de cloud. Comme indiqué par Mahadev Satyanarayanan, Professeur en informatique à l'Université de Carnegie, la pleine valeur des services ne peut être atteinte avec des système reposant uniquement sur des clouds distants et des data centers pour traiter les données. Le problème écologique posé par ces architectures est par ailleurs particulièrement grave. Les data centers sont des grands consommateurs d'énergie (l'équivalent d'une petite ville en moyenne) et la multiplication de services exécutés sur le cloud aurait des couts exorbitants. Cette architecture ne passe tout simplement pas à l'échelle. Le edge computing (ou fog computing) propose une approche alternative, et possiblement complémentaire, au cloud. Le principe est d'exécuter des applications au plus près des utilisateurs via des machines proches (passerelles, smartphones, etc.). Une infrastructure de type edge comprend donc un ensemble de machines locales connectées en réseaux et vers l'extérieur, ainsi que des frameworks de développement, de déploiement, d'exécution et d'administration adaptés. Les applications installées sur de telles infrastructures peuvent opérer sans être connectées de façon permanente à Internet et accéder à des ressources distantes (pour des calculs ou des stockages de données) uniquement en cas de besoin. Cette approche réduit les couts et permet d'aborder des cas d'utilisation plus ambitieux. Le edge computing améliore aussi grandement la réactivité. En effet, l'utilisation d'un cloud distant induit un temps de réponse applicatif de l'ordre de 70 ms en moyenne, ce qui est considérable, sans compter les possibilités de coupure connexion. Il faut néanmoins noter que les infrastructures actuelles de niveau edge ne sont pas prêtes pour accueillir de façon optimale des applications complexes. Des travaux d'ordre théorique et technique sont nécessaires aujourd'hui au niveau logiciel, réseau et même hardware. Pour ce qui est du logiciel, citons notamment les besoins suivants : - Définition d'architectures logicielles distribuées intégrant de façon dynamique et autonomique les infrastructures edge et cloud, - Définition de frameworks de développement et de déploiement permettant d'intégrer des modules applicatifs sur des infrastructures de niveau edge. Notamment, les notions de micro-services et de conteneurs autonomes de type Kubernetes doivent être étudiés pour simplifier les processus de développement et de déploiement des architectures - Définition d'algorithmes de distribution de composants et de calcul sur des ressources de type edge dynamiques, - Définition et mise en œuvre de cas d'utilisation cohérents, représentatifs et à réelle valeur ajoutée pour évaluer les intérêts de l'approche, tester les avancées scientifiques et découvrir les besoins cachés. L'objectif de cette thèse est de traiter ces différents défis. Dans un premier temps, il s'agira de proposer une nouvelle architecture intégrant « sans couture » les niveaux edge et cloud. Ainsi les composants applicatifs d'un service pourraient s'exécuter sur les deux infrastructures : certains sur le cloud et d'autres sur le edge. Cette répartition pourrait même évoluer dynamiquement en fonction du contexte d'exécution (temps de réactivité nécessaire, taux d'utilisation des hardware, etc.). Il s'agira également d'étudier la collaboration de services de même nature s'exécutant sur des machine edge différentes.Cette collaboration pourra se faire de façon directe (en point-à-point) ou via un cloud commun. Enfin, cette thèse s'appuiera sur les travaux de l'équipe ADELE (Génie Logiciel) autour des modèles à composant orientés services (ipojo) et de la plateforme iCasa de déploiement, d'exécution et de gestion de services à la personne, et des travaux de modélisation du contexte d'exécution.