Internet of Things (IoT) has accelerated the deployment of millions of sensors at the edge of the network, through Smart City infrastructure and lifestyle devices. Cloud computing platforms are often tasked with handling these large volumes and fast streams of data from the edge. Recently, Fog computing has emerged as a concept for low-latency and resource-rich processing of these observation streams, to complement Edge and Cloud computing. In this paper, we review various dimensions of system architecture, application characteristics and platform abstractions that are manifest in this Edge, Fog and Cloud eco-system. We highlight novel capabilities of the Edge and Fog layers, such as physical and application mobility, privacy sensitivity, and a nascent runtime environment. IoT application case studies based on first-hand experiences across diverse domains drive this categorization. We also highlight the gap between the potential and the reality of Fog computing, and identify challenges that need to be overcome for the solution to be sustainable. Taken together, our article can help platform and application developers bridge the gap that remains in making Fog computing viable.
Some early research investigates platform and application models for Fog computing. @cite_10 propose a programming model for composing applications that run across mobile (Edge), Fog and Cloud layers as a Platform as a Service (PaaS). They offer a multi-way 3-level tree model where the computation is rooted in the Cloud, resources are elastically acquired in the Cloud and Fog layers, and communication is possible between Cloud and Fog, or Fog and Edge. A strictly hierarchical model while simple, limits the flexibility in application composition. Their example applications do not consider a role for the Cloud either, though their APIs support it. This degenerates to a client-server model between the edges and their Fog parent. Further, the interactions between edge devices and Fog layer should be actively used as well, rather than only vertical interactions. Lastly, while mobility of the edge is discussed, this does not consider when the Fog can be mobile as well.
@cite_10
2056959789
The ubiquitous deployment of mobile and sensor devices is creating a new environment, namely the Internet of Things(IoT), that enables a wide range of future Internet applications. In this work, we present Mobile Fog, a high level programming model for the future Internet applications that are geospatially distributed, large-scale, and latency-sensitive. We analyze use cases for the programming model with camera network and connected vehicle applications to show the efficacy of Mobile Fog. We also evaluate application performance through simulation.