Fog computing originally is an extension of Cloud computing. As we know, cloud computing facilitates the storage of data and applications on a distant server and helps to overcome the boundary of on-premises services. Not only that, it enables clients to purchase service along with maintenance and upgradation responsibility, leveraging anywhere, anytime access capability. Being a recent development in the cloud paradigm, Fog computing has achieved significant momentum with the growing technologies like the Internet of Things, Mobile edge computing, and many more. Fog computing plays a key role in different IoT application use cases, such as in next-generation smart transportation networks, commonly known as V2V. Furthermore, Fog computing is also used in the manufacturing use case of IoT, known as IIoT (Industrial Internet of Things). Since Fog computing processes this data locally, rather than sending it to the cloud, it enhances processing speed while maintaining 97% data accuracy. Also, Fog computing is a great energy saver.
Now come to more technical details.
History of Fog computing
The term Fog computing originated from Cisco in 2011 where it was commonly known as ‘Cisco Fog Computing,’ As the name suggests the term ‘Fog’ can be compared with the fog that refers to the clouds close to the ground whereas clouds are up in the sky. So, in this context Fog computing refers closer processing of data to the source of data or it brings processing at the edge of the datacentre.
What is Fog computing?
As mentioned above, Fog computing is an extension of Cloud computing to the edge of networks. This is particularly applicable to wireless networks for the Internet of Things (IoT). Fog computing nodes (FCN) are typically located away from the main cloud datacentre or at the network edge. As per OpenFog Consortium 2015 definition, “Fog computing is a system-level horizontal architecture that distributes resources and services of computing, storage, control and networking anywhere along the continuum from Cloud to Things.”
Some of the features of Fog computing we can highlight here are as follows:
- Fog computing is a virtualized platform which locates between cloud data centers and end user devices
- Fog computing offers strong support for Internet of Things
- Fog computing and Cloud computing are complementary, and they are essentially not intended to replace Cloud computing.
- It is a decentralized computing infrastructure where computing resources and applications are distributed in the most logical way
- Higher efficiency as lower amount of data need to travel to the cloud for data processing, analysis and storage
- Maintains efficiency, security and compliance
- It performs significant amount of storage and communication at or near the end-user
- At Fog computing, all the network management-related work like measurement, configuration, and control happens at or near the data source or end-user.
- Deployment of IoT applications happen in a 2-tiered way
- Fog computing is a multi-tired architecture and it maintains at least 3 tiers.
- This is a horizontal architecture. Consequently, it can support multiple industry verticals, domains, and apps while efficiently delivering intelligence and services to end-users.
- Fog computing concept spans between the Things and the Cloud at the network edges at the system-level
- Maintains multiple protocol layers and does not depend on specific radio systems.
- Data is gathered, stored, and processed at the FC node or an IoT GW. At the same time, it transmits information to this GW from various sources in the network
- Once data is processed in FC Node, the pertinent data along with additional commands, are transmitted back, sent back to the necessary devices
- Fog computing nodes (FCN) are typically located at the network edge and away from the main cloud data centres
- FC enables predictable and low latency
- Provides customized and engaged location-aware services
What are cloudlets?
A cloudlet is the middle tier of the 3-tier hierarchy of Fog computing. It stands like ‘mobile device – cloudlet – cloud.’ It brings the cloud closer to the users. There are distinguishable views of cloudlet. For cloud engineers, it is a direct extension from the cloud. On the contrary, the cloudlet simply sees it as linked to the cloud for the network folks.
So the features of cloudlet can be seen like as follows:
- Cloudlet is an architectural element that realizes the convergence between Cloud computing and mobile computing. It acts as the middle tier of the hierarchy as mentioned above Cloud-cloudlet-device
- Cloudlet works as the data centre in a box
- It technicalities are based on standard cloud technology
- It encapsulates offload code to virtual machines from mobile devices
- Similar infrastructure to clouds
- It maintains no hard state. However, may contain cached states from the cloud
- “Logical proximity" of the mobile devices
- Must have sufficient resources to offload resource-intensive computations from several mobile devices
- good bandwidth to the cloud
- not limited by electric power supply
How can we define Fog computing application areas for IoT?
Fog computing is considered to be an appropriate platform for the Internet of Things (IoT) use cases such as Connected Vehicle, Smart Grid, Smart Cities, Wireless Sensors, and Actuators Networks (WSANs). Here, you can innovate network structure easily and faster. Using Fog computing, one can directly leverage the “ things,” and here no need to introduce new boxes in the network. However, the backend activities are performed using SDK, which allows URL wrapping, location tracking, content tagging, and behavior monitoring.
Fog computing architecture and IoT
For IoT, Fog computing architecture works at various layers. First of all FC provides below features:
- Edge location
- location awareness
-Geographical distribution
- low latency
- Large-scale sensor networks for monitoring the environment, and the Smart Grid
- Real-time interactions
- Very large number of nodes
- Predominance of wireless access
- Support for mobility
- Interoperability and federation
- Heterogeneity
- Support for on-line analytic and interplay with the Cloud
FC Layers that act for IoT
Image source
Fog Abstraction Layer
- This layer hides the platform heterogeneity. Besides, it exposes a uniform and programmable interface for seamless resource Management and Control ( M&C)
- It provides generic APIs for monitoring, provisioning and controlling physical resources
- The layer includes support for virtualization
- It supports multi-tenancy
- Provides specific multi-tenancy features like data and resource isolation. It exposes a single, consistent model across the physical machine to provide these isolation services
- It exposes both the physical and the logical network to administrators.
Fog Service Orchestration Layer
- For IoT application this layer provides dynamic and policy-based life-cycle management of Fog services
- The orchestration functionality is distributed in nature.
- As a software agent it manages services
- Leverages a distributed, persistent storage for storing of policies and resource meta-data like capability and performance.
- Provides a scalable messaging bus that carries control messages for resource management and service orchestration.
- Contains a distributed policy engine with local enforcement and a single global view
Foglet Software Agent (FSA)
- In the distributed Fog orchestration framework several Foglet Software Agents run on every node.
- A Foglet Software Agent uses abstraction layer APIs for monitoring the health and state associated of the physical machines and services deployed on it.This information is locally analyzed and pushed to the distributed storage for global processing
- Foglet also performs life-cycle management. activities.
- Foglet invokes the life cycle management functions via the abstraction layer APIs
Distributed Database (DDB)
- It increases scalability and fault-tolerance
- Also, it provides fast storage and retrieval of data
- It Stores both meta-data and application data o aid in Fog service orchestration.
Policy-Based Service Orchestration
The orchestration framework provides-Policy-based service routing. The policy manager routes an incoming service request to the appropriate service instance. This ultimately confirms the relevant business policies.
-The policy framework is extensible
Final verdict:
Fog computing and cloudlet push the intelligence towards the outer edge of the network. This ultimately reduces the latency as sensor data are now needed to travel a minimum path for processing. As a result, decisions can be made in not even in milliseconds and in probably in nanoseconds. At the same time, it will generate minimum traffic to the network.