Hybrid fog-cloud based data distribution for internet of things applications
Technological advancements keep making machines, devices, and appliances faster, more capable, and more connected to each other. The network of all interconnected smart devices is called Internet of Things (IoT). It is envisioned that there will be billions of interconnected IoT devices producing and consuming petabytes of data that may be needed by multiple IoT applications. This brings challenges to store and process such a large amount of data in an efficient and effective way. Cloud computing and its extension to the network edge, fog computing, emerge as new technology alternatives to tackle some of these challenges in transporting, storing, and processing petabytes of IoT data in an efficient and effective manner. In this thesis, we propose a geographically distributed hierarchical cloud and fog computing based IoT storage and processing architecture, and propose techniques for placing IoT data into its components, i.e., cloud and fog data centers. Data is considered in different types and each type of data may be needed by multiple applications. Considering this fact, we generate feasible and realistic network models for a large-scale distributed storage architecture, and propose algorithms for efficient and effective placement of data generated and consumed by large number of geographically distributed IoT nodes. Data used by multiple applications is stored only once in a location that is easily accessed by applications needing that type of data. We performed extensive simulation experiments to evaluate our proposal. The results show that our network architecture and placement techniques can be used to store IoT data efficiently while providing reduced latency for IoT applications without increasing network bandwidth consumed.