Přispěvatelé: |
Laboratoire d'Informatique de Grenoble (LIG ), Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP )-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes [2016-2019] (UGA [2016-2019]), Performance analysis and optimization of LARge Infrastructures and Systems (POLARIS), Inria Grenoble - Rhône-Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire d'Informatique de Grenoble (LIG), Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), Université Grenoble Alpes (UGA)-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), Université Grenoble Alpes (UGA), Construction of verified concurrent systems (CONVECS ), Université Grenoble Alpes, Gwen Salaün, Loic Letondeur, François-Gaël Ottogalli, Jean-Marc Vincent |
Popis: |
Recent computing trends have been advocating for more distributed paradigms, namelyFog computing, which extends the capacities of the Cloud at the edge of the network, thatis close to end devices and end users in the physical world. The Fog is a key enabler of theInternet of Things (IoT) applications as it resolves some of the needs that the Cloud failsto provide such as low network latencies, privacy, QoS, and geographical requirements. Forthis reason, the Fog has become increasingly popular and finds application in many fieldssuch as smart homes and cities, agriculture, healthcare, transportation, etc.The Fog, however, is unstable because it is constituted of billions of heterogeneous devicesin a dynamic ecosystem. IoT devices may regularly fail because of bulk production andcheap design. Moreover, the Fog-IoT ecosystem is cyber-physical and thus devices aresubjected to external physical world conditions which increase the occurrence of failures.When failures occur in such an ecosystem, the resulting inconsistencies in the applicationaffect the physical world by inducing hazardous and costly situations.In this Thesis, we propose an end-to-end autonomic failure management approach for IoTapplications deployed in the Fog. The approach manages IoT applications and is composedof four functional steps: (i) state saving, (ii) monitoring, (iii) failure notification,and (iv) recovery. Each step is a collection of similar roles and is implemented, taking intoaccount the specificities of the ecosystem (e.g., heterogeneity, resource limitations). Statesaving aims at saving data concerning the state of the managed application. These includeruntime parameters and the data in the volatile memory, as well as messages exchangedand functions executed by the application. Monitoring aims at observing and reportinginformation on the lifecycle of the application. When a failure is detected, failure notificationsare propagated to the part of the application which is affected by that failure.The propagation of failure notifications aims at limiting the impact of the failure and providinga partial service. In order to recover from a failure, the application is reconfigured and thedata saved during the state saving step are used to restore a cyber-physical consistent stateof the application. Cyber-physical consistency aims at maintaining a consistent behaviourof the application with respect to the physical world, as well as avoiding dangerous andcostly circumstances.The approach was validated using model checking techniques to verify important correctnessproperties. It was then implemented as a framework called F3ARIoT. This frameworkwas evaluated on a smart home application. The results showed the feasibility of deployingF3ARIoT on real Fog-IoT applications as well as its good performances in regards to enduser experience.; Les dernières tendances de l'informatique distribuées préconisent le Fog computing quiétend les capacités du Cloud en bordure du réseau, à proximité des objets terminaux etdes utilisateurs finaux localisé dans le monde physique. Le Fog est un catalyseur clé desapplications de l'Internet des Objets (IoT), car il résout certains des besoins que le Cloud neparvient à satisfaire, tels que les faibles latences, la confidentialité des données sensibles, laqualité de service ainsi que les contraintes géographiques. Pour cette raison, le Fog devientde plus en plus populaire et trouve des cas d'utilisations dans de nombreux domaines telsque la domotique, l'agriculture, la e-santé, les voitures autonomes, etc.Le Fog, cependant, est instable car il est constitué de milliards d'objets hétérogènes ausein d'un écosystème dynamique. Les objets de l'IoT tombent en pannes régulièrementparce qu'ils sont produits en masse à des couts très bas. De plus, l'écosystème Fog-IoTest cyber-physique et les objets IoT sont donc affectés par les conditions météorologiquesdu monde physique. Ceci accroît la probabilité et la fréquence des défaillances. Dansun tel écosystème, les défaillances produisent des comportements incohérents qui peuventprovoquer des situations dangereuses et coûteuses dans le monde physique. La gestion dela résilience dans un tel écosystème est donc primordiale.Cette Thèse propose une approche autonome de gestion de la résilience des applicationsIoT déployées en environnement Fog. L'approche proposée comprend quatre tâches fonctionnelles:(i) sauvegarde d'état, (ii) surveillance, (iii) notification des défaillances, et(iv) reprise sur panne. Chaque tâche est un regroupement de rôles similaires et est miseen oeuvre en tenant compte les spécificités de l'écosystème (e.g., hétérogénéité, ressourceslimitées). La sauvegarde d'état vise à sauvegarder les informations sur l'état de l'application.Ces informations sont constituées des données d'exécution et de la mémoire volatile, ainsique des messages échangés et fonctions exécutées par l'application. La surveillance vise àobserver et à communiquer des informations sur le cycle de vie de l'application.Il est particulièrement utile pour la détection des défaillances. Lors d'une défaillance, des notificationssont propagées à la partie de l'application affectée par cette défaillance. La propagationdes notifications vise à limiter la portée de l'impact de la défaillance et à fournir un servicepartiel ou dégradé. Pour établir une reprise sur panne, l'application est reconfigurée et lesdonnées enregistrées lors de la tâche de sauvegarde d'état sont utilisées afin de restaurer unétat cohérent de l'application par rapport au monde physique. Cette réconciliation entrel'état de l'application et celui du monde physique est appelé cohérence cyber-physique. Laprocédure de reprise sur panne en assurant la cohérence cyber-physique évite les impactsdangereux et coûteux de la défaillance sur le monde physique.L'approche proposée a été validée à l'aide de techniques de vérification par modèle afin devérifier que certaines propriétés importantes sont satisfaites. Cette approche de résilience aété mise en oeuvre sous la forme d'une boîte à outils, F3ARIoT, destiné aux développeurs.F3ARIoT a été évalué sur une application domotique. Les résultats montrent la faisabilité de son utilisation sur des déploiements réels d'applications Fog-IoT, ainsi que desperformances satisfaisantes par rapport aux utilisateurs. |