Cloud Computing At The Edge With Fog Computing
Internet of Things generally involves a large number of smart sensors sensing information from the environment and sharing it to a cloud services for processing. Various abstractions related to architecture, such as Edge and Fog computing, have been proposed to localize some of the processing near the sensors and away from the cloud servers. An Edge-Fog Cloud is proposed which distributes task processing on the participating cloud resources within the network.
Most enterprises are familiar with cloud computing since it’s now standard in many industries. Fog and edge computing are both extensions of cloud networks, which are a collection of servers comprising a distributed network. To tackle issues related to network involved in IoT and some application’s computation, researchers have proposed bringing the compute cloud closer to data producers and consumers. One proposal is Fog computing cloud which lets network devices run cloud application logic on their native architecture. The objective of Fog cloud is to perform low-latency aggregation on the data while redirecting it to the central cloud for heavy computations. On the other hand, Edge computing cloud takes inspiration from projects such as [email protected] and proposes a consolidation of human-operated, voluntary resources such as desktop PCs, smart phones, nano data centers as a cloud. As the devices in cloud Edge usually lie in 1-hop range.
2. Edge-Fog Cloud
Figure 1 shows the Edge-Fog cloud architecture. Unlike the network-oriented view of the traditional cloud model, the Edge-Fog cloud takes a node-oriented approach wherein the model is divided into three layers comprising of different resource types.
Edge Layer – It is the outermost layer of the cloud. The Edge is a collection of loosely coupled, voluntary1 and human-operated resources such as desktops, laptops, nano data centers, tablets, etc. As the name suggests, here the resources reside at the edge of the network and are within one/two-hop distance from the IoT sensors and clients. Edge resources have varying ranges of computational capabilities from highly capable devices such as workstations, nano data centers etc. to less capable such as tablets or smart phones. Edge layer resources are assumed to have device-to-device connectivity within the layer and reliable connectivity to Fog layer.
Fog Layer – This layer resides on top of the edge and is a consolidation of networking devices such as routers and switches with high computing capabilities and ability to run cloud application logic on their native architecture. We envision Fog resources to be manufactured, managed and deployed by cloud vendors (such as CISCO). As Fog layer forms the network backbone of Edge-Fog cloud, the resources in this layer are interconnected with high speed, reliable links. Moreover, Fog resources reside farther from the edge of the network when compared to Edge layer, but closer than a central cloud. Fog is used to effectively handle computationally intensive tasks offloaded by Edge resources.
(B). Benefits of the Edge-Fog cloud
1) Reduced network load: The Edge-Fog cloud provides computation at the edge of the network near the IoT generators thus reducing the amount of data that flows in the network.
2) Native support for mobility: Mobility along with reliability is a quintessential requirement for many IoT applications. Edge resources such as smartphones or laptops can offer native physical and virtual mobility for supporting such mobile IoT applications.
3) Providing context: Resources in Edge-Fog cloud also provide contextual awareness to data generated by sensors. Edge resources play a role in combining data from sensors using location or application contexts.
4) No single point of failure: As computation in EdgeFog cloud is completely decentralized, the model has no single point of failure. Several snapshots of an application can be deployed on the cloud for increased reliability.
3. Task Deployment on Edge-Fog Cloud
The Edge-Fog cloud is a scalable platform for a large number of interconnected Edge and Fog devices and efficiently utilize the processing power they offer. However, as the devices in the Edge-Fog cloud are governed by certain processing and network capabilities, deploying tasks on these devices has an associated cost. A typical task deployment algorithm must map a job node from the job graph to an Edge/Fog resource. The cost of deployment is dependent on both the properties of resources and that of the deployed task itself. For example, the more coordination needed by task with its peers for completion, the higher will be the associated network cost. In order to provide a scalable and efficient solution, the task deployment algorithm for Edge-Fog cloud should find the deployment snapshot with least possible cost without unduly impacting the overall completion time of that process.
Figure 2 shows a snapshot of Edge-Fog cloud of three Edge and two Fog resources. Edge and Fog is representedby circular and rectangular nodes respectively. The link weight denotes the distance/communication cost between two devices. The processing power of each device is listed along with its label. Figure 2(b) shows the job graph to be deployed on the Edge-Fog cloud. We assume only two way dependency between the jobs wherein Job J1 and J2 are dependent on each other if there exists a connection between them. The size of each job, listed along with its label, denotes the processing power required to complete the job. We assume that the number of tasks and devices to be equal while task deployment. If there are more tasks than devices, we split existing devices into virtual devices such that their number is equal to the number of tasks. In the opposite case, we simply ignore the superfluous devices.
Fog computing paradigm extends the storage, networking, and computing facilities of the cloud computing toward the edge of the networks while offloading the cloud data centers and reducing service latency to the end users. However, the characteristics of fog computing arise new security and privacy challenges. The existing security and privacy measurements for cloud computing cannot be directly applied to the fog computing due to its features, such as mobility, heterogeneity, and large-scale geo-distribution.
Organizations that rely heavily on data are increasingly likely to use cloud, fog, and edge computing infrastructures. These architectures allow organizations to take advantage of a variety of computing and data storage resources, including the Industrial Internet of Things (IIoT). The growth of the IIoT has increased the need for edge, fog, and cloud platforms. Cloud, fog and edge computing may appear similar, but they are different layers of the IIoT. Edge computing for the IIoT allows processing to be performed locally at multiple decision points for the purpose of reducing network traffic.