Reference number : GC-2017-Q1-02514, amendment number : , agreement type : G, recipient legal name : Maheswaran, Muthucumaru (McGill University)|Maheswaran, Muthucumaru (Université McGill), recipient country : CA, recipient province : nan, recipient city : Quebec|Québec, recipient postal code : nan, program name english : Discovery Grants Program - Individual, program name french : Programme de subventions à la découverte - individuelles, program purpose english : Cloud computing and mobile computing have been two dominant drivers of computing trends in the last few years. One of the challenges of using cloud computing to power mobile applications is the significant network distance between the server resources and the clients and the consequent problems in delivering guaranteed qualities of services. To address these problems &ldquo;edge&rdquo; computing paradigms such as fogs that bring clouds closer to the clients have been proposed. With the impending boom of Internet of Things such as connected cars and smart homes, edge computing is poised to play a larger role in any computing infrastructure of the future. The three-layered distributed computing architecture formed by such a cloud-fog-device system introduces many new challenges. Chief among them is the programmability of the system. 
The first objective of this research is to develop a model for Cloud of Moving Things (CoMT) system for the three-layered cloud-fog-device that provides (a) adaptive device-to-fog associations based on the locality of the devices, (b) efficient handover of mobile devices across the fogs, (c) system reconfiguration to meet the reliability goals. The second objective is to develop a simple yet flexible programming model that allows the programmer to control various aspects of failure management, consistency, and performance in a CoMT system. 
Fogs are used to provide low latency and localized access to processing capacities. For fault tolerance purposes, we need to associate multiple fogs with a device so that quick failovers are possible with fog or network failures. The fogs that are associated with a device needs to be selected carefully to minimize latencies and should be from the appropriate locality. With mobility, the situation can get quite complicated; the devices need to change associations to maintain the locality and low latency access. In a rapidly moving scenario like vehicular networks the handover times from one fog to another need to be very small. In CoMT, the devices can call upon the fog or cloud to perform various types of processing on data they have captured. Therefore, the computing system formed by the combination of devices, fogs, and clouds needs to be reliable and maintain state in a consistent manner. 
A simple way to add fault tolerance is to insert redundancy into the system. In the case of the three-layered CoMT, we can make redundant associations between the devices and fogs and between fogs and clouds. However, making too many such associations come with a cost. In particular, the time to complete the basic operations (e.g., reads and writes) on fogs increase with increasing number of fogs. Therefore, a careful trade-off analysis need to be performed between the benefits of increasing redundancy and increasing costs of maintaining a consistent machine., program purpose french : Cloud computing and mobile computing have been two dominant drivers of computing trends in the last few years. One of the challenges of using cloud computing to power mobile applications is the significant network distance between the server resources and the clients and the consequent problems in delivering guaranteed qualities of services. To address these problems &ldquo;edge&rdquo; computing paradigms such as fogs that bring clouds closer to the clients have been proposed. With the impending boom of Internet of Things such as connected cars and smart homes, edge computing is poised to play a larger role in any computing infrastructure of the future. The three-layered distributed computing architecture formed by such a cloud-fog-device system introduces many new challenges. Chief among them is the programmability of the system. 
The first objective of this research is to develop a model for Cloud of Moving Things (CoMT) system for the three-layered cloud-fog-device that provides (a) adaptive device-to-fog associations based on the locality of the devices, (b) efficient handover of mobile devices across the fogs, (c) system reconfiguration to meet the reliability goals. The second objective is to develop a simple yet flexible programming model that allows the programmer to control various aspects of failure management, consistency, and performance in a CoMT system. 
Fogs are used to provide low latency and localized access to processing capacities. For fault tolerance purposes, we need to associate multiple fogs with a device so that quick failovers are possible with fog or network failures. The fogs that are associated with a device needs to be selected carefully to minimize latencies and should be from the appropriate locality. With mobility, the situation can get quite complicated; the devices need to change associations to maintain the locality and low latency access. In a rapidly moving scenario like vehicular networks the handover times from one fog to another need to be very small. In CoMT, the devices can call upon the fog or cloud to perform various types of processing on data they have captured. Therefore, the computing system formed by the combination of devices, fogs, and clouds needs to be reliable and maintain state in a consistent manner. 
A simple way to add fault tolerance is to insert redundancy into the system. In the case of the three-layered CoMT, we can make redundant associations between the devices and fogs and between fogs and clouds. However, making too many such associations come with a cost. In particular, the time to complete the basic operations (e.g., reads and writes) on fogs increase with increasing number of fogs. Therefore, a careful trade-off analysis need to be performed between the benefits of increasing redundancy and increasing costs of maintaining a consistent machine., agreement title english : Fog Machine: A Fault-Tolerant System and Programming Framework for Cloud of Moving Things, agreement title french : Fog Machine: A Fault-Tolerant System and Programming Framework for Cloud of Moving Things, agreement number : RGPIN, agreement value : 100000.0, agreement start date : 2017-05-10, agreement end date : nan, description english : nan, description french : nan, expected results english : nan, expected results french : nan, additional information english : Grant or Award spanning more than one fiscal year. (2017-2018 to 2022-2023), additional information french : Subvention ou bourse octroyée s'appliquant à plus d'un exercice financier. (2017-2018 à 2022-2023), owner organization : nserc-crsng, owner organization title : Natural Sciences and Engineering Research Council of Canada | Conseil de recherches en sciences naturelles et en génie du Canada