Electronic Thesis and Dissertation Repository

Thesis Format



Master of Science


Computer Science


Lutffiya, Hanan


The goal of the Internet of Things (IoT) is to convert the physical world into a smart space in which physical objects, called things, are equipped with computing and communication capabilities. Those things can connect with anything, anyone at any time, any space via any network or service. The predominant Internet of Things (IoT) system model today is cloud centric. This model introduces latencies into the application execution, as data travels first upstream for processing and secondly the results, i.e., control commands, travel downstream to the devices. In contrast with the cloud-model, the cloud-fog-based model pushes computing capability to the edge of the network, which is closer to the data sources. This enables lower latency and a faster response time. The end-device can directly receive the service from the fog node instead of sending all the data to the central cloud server. In addition, with the application of microservice containerization technology, fog nodes can quickly set up various environments for heterogeneous services.

Compared with cloud computing, fog computing needs to consider users’ mobility and geographic location. The application scenarios that fog computing is more dynamic and flexible. Therefore, fog computing requires real-time data monitoring and service management. In this thesis, we will explore how to deploy fog computing resources, what data is needed in the deployment process, and how to implement data monitoring.

Summary for Lay Audience

As more devices are connected to the Internet, there is a need to support real-time analysis and mobility. Cloud computing usually provides computing power support for these interconnected devices. In order to adapt to the new requirements in IoT devices latency and mobility, fog computing is an extension of the cloud to deploy computing resources to the edge of the network.

In the environment of fog computing, containerized microservice is a common service deployment approach. A container is considered to be a more lightweight implementation of computing resource virtualization compared to virtual machines. Container technology uses fewer computing resources than virtual machines, and can be deployed, expanded and migrated faster, which is more suitable for the dynamic computing environment of fog computing. The microservice architecture divides a software application into several microservices representing independent functions that communicate with each other though am API to act as a complete service. This flexible deployment method can deploy different microservices on several different fog service servers, making more efficient use of computing resources.

The cost of this distributed software architecture is the cost of deployment and maintenance. System administrators often have to face complex service dependencies. System administrators need to perform real-time analysis, deployment, expansion, and migration for diverse microservices in heterogeneous servers. Therefore, the container orchestration algorithm of fog computing provides a solution to this problem. The container orchestration algorithm will manage containerized microservices in real time through different algorithms and deployment strategies based on the data of monitoring containerized microservices.

Therefore, we analyzed the existing fog computing monitoring tools and the container orchestration algorithm for fog computing and developed a fog computing monitoring framework for the purpose of providing data for the fog computing container orchestration algorithm.

The framework we proposed can not only provide container-granular virtual hardware resource information, but also black-box monitoring of service layer information related to microservices. We tested the feasibility of the framework on Raspberry Pis and CPU overhead of this framework through experiments and showed what type of data and dashboards this framework can provide. The results show that this framework can be deployed on single-chip microcomputers with relatively insufficient computing performance.