Abstract

Fog computing is a new computational paradigm proposed by Cisco that subdues the shortcomings of cloud computing in Internet of Things (IoT) by transferring some of the core functions of cloud computing towards the edge of the network to provide low latency, real-time, and location-aware services required for billions of edge devices. But in case of high load on some fog layer, its fog nodes do vertical offloading to a higher layer or to the cloud faraway again from the edge which in turn increases the latency while in this case the need for low latency is highly required to handle the load quickly. The main goal of this research is to develop a cognitive and context-aware horizontal offloading mechanism for IoT applications in fog computing to keep the computations as much as possible in the same fog layer in case of high load using the same available resources instead of offloading to a higher layer or to the cloud depending on three main technologies, Virtualization, Containerization and Microservices. By nature, while moving towards the edge the capabilities of the fog nodes decrease but at the same time their number increases, therefore, if it’s possible to well utilize the larger number of fog nodes in lower fog layers near to the edge by offloading the computations from the loaded fog nodes to less loaded ones in the same fog layer then high load can be horizontally handled in the same fog layer using the same available resources, also the number and nature of functions that can be carried out in the fog will increase. But IoT is very dynamic so that the mechanism must be cognitive and contextaware to select (in a real-time fashion) the most appropriate fog nodes for offloading without affecting their performance in serving their main functions and geographic areas, also it’s very important to efficiently decide when to consider horizontal or vertical offloading in order not to waste time trying to handle the load horizontally while vertical offloading is the appropriate decision. The mechanism depends on dividing the IoT application into a set of microservices which is the most appropriate architecture for the nature of fog computing with multiple geographically distributed fog nodes with limited capabilities such that each microservice is responsible for only one function and isolated in containers hosted in the fog nodes, the offloading is performed at the level of the microservices by watching, analyzing and considering their load patterns and their availability for offloading (Offloading Map). By simulating the mechanism on the traffic management system, each fog node can horizontally handle extra requests over its maximum capacity up to 30% for each hosted microservice by offloading to 2 microservices, and up to 100% in case there are 7 available offloading microservices.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call