Modèle de management décentralisé d'applications dans un environnement Fog

par Bruno De Moura Donassolo

Projet de thèse en Informatique

Sous la direction de Arnaud Legrand.

Thèses en préparation à Grenoble Alpes , dans le cadre de École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble) , en partenariat avec Institut National de Recherche en Informatique et en Automatique (laboratoire) depuis le 10-04-2017 .


  • Résumé

    Nous vivons aujourd'hui dans un monde où la connectivité ubiquitaire devient une nécessité. De ce fait, le nombre d'objets connectés (IoT) continue de s'accroître de manière vertigineuse et Cisco estime que 50 milliard d'objets seront connectés d'ici 2020. Cette évolution est  principalement imputable à l'explosion du nombre des appareils  utilisateurs (i.e. Smartphones, tablettes, montres intelligentes etc.) et celui des capteurs/ actionneurs (détecteur de mouvement, etc.).  Par conséquent, l'architecture réseau cellulaire ainsi que les solutions logicielles déployées doivent être capables d'acheminer et traiter ce  trafic qui cohabitera avec le trafic traditionnel (téléphonie, data, etc.) tout en garantissant une qualité de service et en maximisant le revenu de l'opérateur. Dans ce contexte, le Fog Computing [1] est un moteur d'innovation qui offre de nouvelles possibilités en étendant le Cloud vers le « edge » (c-a-d bordure) du réseau. Cette nouvelle architecture met à   disposition une infrastructure virtualisée fournissant des services de calcul, de stockage et de réseau géographiquement distribués.  Les  services offerts à travers cette infrastructure sont hébergés au plus près des utilisateurs et ce dans des équipements tels que les « user devices », les points d'accès ou les set-top-boxes. Grâce à une telle souplesse, le Fog Computing permet de répondre à de nouveaux besoins applicatifs et de satisfaire les SLA (Service Level Agreement) en termes de bande passante, latence, passage à l'échelle, fiabilité et  de volume de données de la réalité augmentée, des jeux en ligne, de streaming vidéo, d'applications M2M telles que les véhicules et la vidéo surveillance, l'e-santé, etc.  Afin de garantir l'agilité escomptée, l'architecture Fog computing s'appuie sur deux principales couches: une couche d'abstraction qui expose une interface uniforme et programmable permettant de masquer l'hétérogénéité des ressources Fog sous-jacentes (ex. équipements mobiles, capteurs, points d'accès, routeurs d'accès, etc.) et une couche d'orchestration qui assure l'agrégation des données, la prise de décision ainsi que l'allocation et la gestion des ressources. Au niveau de la couche d'abstraction, il est évident qu'un modèle de programmation unifié permettant de définir les primitives et les abstractions nécessaires pour le développement des applications  compatibles à cette architecture Fog est primordial. Néanmoins, malgré quelques propositions à l'instar du framework Calvin [2], du système  MCEP [3] et du Cloudlets [4], nous manquons toujours d'une « lingua  franca » capable d'exposer d'une manière simplifiée et intuitive des  ressources IT et réseaux largement distribuées. Au niveau de la couche d'orchestration, le provisionnement des ressources [5][6] reste une problématique importante. En effet, le traitement au niveau d'un nœud fog nécessite la collecte d'un ensemble de données géographiquement distribuées sur d'autres nœuds.  De ce  fait, le calcul ne peut s'effectuer qu'une fois les différentes  données sont agrégées ce qui peut induire à des délais supplémentaires  au niveau de réponse et par conséquence une dégradation de la Qualité de Service (QoS). D'où l'importance de la prise en considération à la fois du modèle de mobilité des utilisateurs et de la nature des requêtes afin d'être en mesure de i) minimiser les coûts opérationnels ainsi que la latence ii) et maximiser le débit. Description de la mission et des principales activités associées à la thèse: L'objectif de cette thèse est de concevoir et de mettre en place un framework de management d'applications du futur dans un environnement Fog. Dans le cadre de cette thèse, le/la doctorant(e) travaillera sur deux principales contributions :    1) La mise en place d'un modèle d'orchestration pour le Fog Computing;    2) Optimisation du provisionnement des applications dans un environnement Fog Dans un premier temps, le/la doctorant(e) mènera une étude approfondie  sur les différents modèles de programmation proposés dans l'état de l'art. Dans ce contexte, nous citons le framework Calvin [2], le système MCEP [3] et Cloudlets [4]. L'objectif de cette étude est de fournir des réponses argumentées aux questions suivantes : Quelles sont les informations relatives aux ressources et à la localisation qui doivent être exposées (e.g. région, bande passante, latence, etc.) ? Quelles sont les abstractions logiques qui sont utiles et tolérables et qui permettent de masquer l'hétérogénéité de l'infrastructure sous-jacente? Comment sont définies les contraintes sur les ressources IT et réseaux ? L'idée est de concevoir et réfléchir à la mise en œuvre de briques logicielles réutilisables qui permettent d'abstraire l'hétérogénéité des équipements physiques. Ces derniers seront décrits sous forme de ressources et/ou certains aspects qui lui y sont relatifs (ex. la capacité de calcul, environnement d'exécution, fonction réseau offerte, bande passante,  latence, etc.). Les API génériques de monitoring ainsi définies et fournies par cette couche d'abstraction permettront de proposer une approche intelligente de déploiement d'applications virtualisées et réparties. L'objectif principal est de tirer profit de la flexibilité qu'offre l'architecture Fog afin de mettre en place une solution de gestion d'applications qui soit optimisée et réactive. La solution proposée prendra en compte les paramètres de l'infrastructure logicielle (types d'hyperviseur, OS, le service container), de l'infrastructure matérielle (performance des différentes ressources, topologie du réseau, etc.) ainsi que les exigences de performances applicatives (latence, localisation, qualité de service) afin de prendre la meilleure décision de déploiement et ce le plus rapidement possible. Aujourd'hui, quelques solutions préliminaires sont proposés dans l'état de l'art [3][6] mais elles sont très centralisées et peinent à prendre en compte l'hétérogénéité et la dynamicité de ces environnements. Certaines solutions innovantes tentent de proposer des solutions distribuées plus réactives en utilisant des méta-heuristiques [7] ou encore des algorithmes collaboratifs inspirés  de la théorie de jeux [8]. Pour prendre en compte l'aspect dynamique de ces environnements, il semble également opportun de s'inspirer de techniques d'apprentissage d'équilibres sans regret. L'objectif de la thèse sera donc de concevoir et d'évaluer des algorithmes d'orchestration de service adaptés à ces environnements hétérogènes et largement distribués. Références: [1] Amir Vahid Dastjerdi, Harshit Gupta, Rodrigo N. Calheiros, Soumya K. Ghosh, Rajkumar Buyya, “Fog Computing: Principles, Architectures, and Applications”. Distributed, Parallel, and Cluster Computing Journal, 2016. [2] Ericsson, “ Open Source release of IoT app environment Calvin”, 2015. [3] B. Ottenwalder, B. Koldehofe, K. Rothermel, and U. Ramachandran, “Migcep: Operator migration for mobility driven distributed complex event processing,” in Proceedings of the 7th ACM International Conference on Distributed Event- based Systems, ser. DEBS'13. ACM, 2013 [4] Y. Wen, X. Zhu, J. Rodrigues, and C. W. Chen, “Cloud mobile media: Reflections and outlook,” IEEE Trans. Multimedia , vol. 16, no. 4, 2014. [5] S. Yi, C. Li, and Q. Li, “A survey of fog computing: concepts, applications and issues”, in Proceedings of the Workshop on Mobile Big Data (Mobidata '15), pp. 37–42, ACM, 2015 [6] Souza, C., Ahn, G.-J., and Taguinod, M., “Policy-driven security management for fog computing: preliminary framework and a case study”,  15th IEEE International Conference on Information Reuse and Integration (IRI), 2014 [7] Ilhem Fajjari, Nadjib Aitsaadi, Michal Pioro and Guy Pujolle, ''New Virtual Network Static Embedding Strategy within the Cloud's Private Backbone Network", in Elsevier Computer Networks, 2014. [8] Oussama Soualah, Ilhem Fajjari, Nadjib Aitsaadi and Abdelhamid Mellouk, ''A Reliable Virtual Network Embedding Algorithm based on Game Theory within Cloud's backbone``, in IEEE International Conference on Communications - ICC 2014, 2014.

  • Titre traduit

    Decentralized application management model for Fog computing


  • Résumé

    We live today in a world where ubiquitous connectivity becomes a necessity. As a result, the number of connected objects (IoTs) continues to increase dramatically and Cisco estimates that 50 billion objects will be connected by 2020. This evolution is mainly due to the explosion in the number of devices (smartphones, tablets, smart watches) and sensors (motion detectors, etc.). Therefore, the cellular network architecture as well as the deployed software solutions must be capable of routing and processing this traffic which will cohabit with traditional traffic (telephony, data, etc.) while guaranteeing quality of service and maximizing companies revenue. In this context, Fog Computing [1] is the innovation that offers new possibilities by extending the Cloud to the edge of the network. This new architecture provides a virtualized infrastructure providing geographically distributed computing, storage and networking services. The services offered through this infrastructure are hosted as close to users as possible. Thanks to this flexibility, Fog Computing is able to meet new application requirements and satisfy Service Level Agreements (SLAs) in terms of bandwidth, latency, scalability, reliability and data volume of: virtual reality, online games, streaming and M2M applications such as vehicles and video surveillance. In order to guarantee the expected agility, the Fog computing architecture is based on two main layers: an abstraction layer that exposes a uniform and programmable interface to mask the heterogeneity of the underlying resources (mobile devices, sensors, access points, access routers, etc.) and an orchestration layer that provides data aggregation, decision making, management and allocation of resources. At the abstraction layer, it is obvious the needed of a unified programming model allowing to define the primitives and the abstractions for the development of Fog applications. Nevertheless, despite a few proposals like the Calvin framework [2], the MCEP [3] system and the Cloudlets [4], we still lack a "standard" able to expose in a simplified and intuitive way IT resources and widely distributed networks. At the orchestration layer, resources provisioning [5] [6] remains an important problem. Indeed, processing data at a fog node requires the aggregation of a set of geographically distributed information on other nodes. As a result, the calculation can only be carried out once the different data are aggregated, which can lead to additional delays in the response time and consequently a degradation of Quality of Service (QoS). Hence it is important to take into account both the user's mobility and requests in order to be able to i) minimize operational costs and latency ii) and maximize throughput. Thesis description: The objective of this phd thesis is conceive and implement a management framework for applications in a Fog environment. In the context of this thesis, the phd student will work in 2 main contributions: 1) Implementation of an orchestration model for Fog computing; 2) Optimization of application provisioning in a Fog environment. Firstly, the PhD student will carry out a deep study on the various programming models proposed in the bibliography. In this context, we cite the Calvin framework [2], the MCEP system [3] and Cloudlets [4]. The objective of this study is to provide answers to the following questions: What information about resources should be presented (e.g. localisation, bandwidth, latency, etc.)? What are the abstractions that are useful and mask the heterogeneity of the underlying infrastructure? Which are constraints defined on resources and network? The idea is think about the implementation of reusable software that allow us to abstract the heterogeneity of physical objects. These objects will be described in terms of their characteristics (computing power, execution environment, network functionality, bandwidth, latency, etc.). The APIs defined in this abstraction layer will allow us to propose an intelligent approach to deploy virtualized and distributed applications. The main objective is to take advantage of Fog architecture flexibility in order to implement an application management solution that is optimized and reactive. The proposed solution will take into account the characteristics of the software infrastructure (virtualization, OS), hardware infrastructure (performance of different resources, network topology, etc.) and performance requirements (latency, location, quality of service) in order to make the best decision to deploy the system as quickly as possible. Today, some preliminary solutions are proposed [3] [6] but they are very centralized and do not manage the heterogeneity and the dynamicity of these environments. Some proposals try to offer distributed solutions more reactive using meta-heuristics [7] or collaborative algorithms inspired by game theory [8]. Our objective is design and evaluate orchestration algorithms adapted to these heterogeneous and widely distributed environments. Bibliography: [1] Amir Vahid Dastjerdi, Harshit Gupta, Rodrigo N. Calheiros, Soumya K. Ghosh, Rajkumar Buyya, “Fog Computing: Principles, Architectures, and Applications”. Distributed, Parallel, and Cluster Computing Journal, 2016. [2] Ericsson, “ Open Source release of IoT app environment Calvin”, 2015. [3] B. Ottenwalder, B. Koldehofe, K. Rothermel, and U. Ramachandran, “Migcep: Operator migration for mobility driven distributed complex event processing,” in Proceedings of the 7th ACM International Conference on Distributed Event- based Systems, ser. DEBS'13. ACM, 2013 [4] Y. Wen, X. Zhu, J. Rodrigues, and C. W. Chen, “Cloud mobile media: Reflections and outlook,” IEEE Trans. Multimedia , vol. 16, no. 4, 2014. [5] S. Yi, C. Li, and Q. Li, “A survey of fog computing: concepts, applications and issues”, in Proceedings of the Workshop on Mobile Big Data (Mobidata '15), pp. 37–42, ACM, 2015 [6] Souza, C., Ahn, G.-J., and Taguinod, M., “Policy-driven security management for fog computing: preliminary framework and a case study”,  15th IEEE International Conference on Information Reuse and Integration (IRI), 2014 [7] Ilhem Fajjari, Nadjib Aitsaadi, Michal Pioro and Guy Pujolle, ''New Virtual Network Static Embedding Strategy within the Cloud's Private Backbone Network", in Elsevier Computer Networks, 2014. [8] Oussama Soualah, Ilhem Fajjari, Nadjib Aitsaadi and Abdelhamid Mellouk, ''A Reliable Virtual Network Embedding Algorithm based on Game Theory within Cloud's backbone``, in IEEE International Conference on Communications - ICC 2014, 2014.