Monday, January 16, 2017

What is Fog Computing ?

Cloud models for IoT are not designed for the volume, variety and velocity of data that the IoT generates. Billions of connected IoT devices generate a huge amount of data every day. Moving all the data to the cloud for analysis would require bandwidth and time. By the time the data goes to the cloud for analysis, the opportunity to act on it may not remain. And, to address that concern fog computing is developed.

What is Fog Computing ?


The term fog computing refers to extending cloud computing to the edge of an enterprise’s network. As said above, IoT devices consume cloud services and generate a huge amount of data. Using fog computing, the data gathered by the IoT devices can be processed close to where the data is generated up to certain extent, instead of analyzing the whole of it in the clouds.

For computing does the following:

  • Instead of sending the vast amount of data collected by the IoT devices to the cloud, it analyzes the most time-sensitive data nearer to the devices.
  • It sends selected data to the cloud for historical analysis and longer-term storage.

The fog brings the cloud closer to the IoT devices that collect the data. The devices called fog nodes can analyze the data collected up to a certain extent. Any device with computing, storage and network connectivity like an industrial controller, switch, router, embedded server and video surveillance camera can be a fog node. And, these fog nodes can be deployed anywhere with a network connection, like on a factory floor, on top of a power pole, in a vehicle etc. These fog nodes run IoT enabled applications & can respond in milliseconds. They can also provide a transient storage for a couple of hours.

These fog nodes can analyze almost 40 percent of data being collected. As a result, it minimizes the latency of the IoT devices, offloads traffic from the core network and can keep sensitive data inside the network, instead of transferring it to the cloud for analysis.

Fog nodes get the data collected from the IoT devices and then directs different types of data to different places for analysis.

  • The most time-sensitive data is analyzed on the fog node closest to the IoT devices that collect the data.
  • If the data can wait for seconds or minutes, they are sent to aggregation nodes for analysis.
  • Less time sensitive data is sent to the cloud for historical analysis, big data analytics and long term storage.

Advantages of Fog Computing

There are a number of advantages of using fog computing.

  • As said earlier, as fog applications can monitor and analyze data collected by IoT devices in real-time, it can enable the devices to respond immediately and initiate an action, like locking a door, changing equipment settings, zooming cameras, opening a valve etc in real-time.
  • As fog computing can speed up response of IoT devices, it can improve output of the devices and increase safety. For example, if oil pipelines experience a change in pressure, pumps can automatically slow down to avoid disaster.
  • Fog applications can analyze collected sensitive data locally instead of sending it to the cloud for analysis. As a result, they can provide better privacy controls.
  • As fog applications process selected data locally, they can conserve network bandwidth and lower operating cost.

Applications of Fog Computing

There are several applications of fog computing.

Smart Grids

A smart grid is an electricity distribution network, with smart meters deployed at various locations to measure real-time status information. These information collected by the smart devices can be analyzed in real time by the fog nodes and enable real-time responses, like stabilizing a power grid in response to a change in demand or other emergency.

Smart Vehicles

Fog computing can be integrated into vehicular networks. Fog nodes can be deployed along the roadside and send or receive information to or from the running vehicles. It can also utilize vehicles on-the-fly to form a fog and cloud and support real-time events like traffic light scheduling, congestion mitigation, parking facility management etc.


Health data collected from the patients are by the IoT devices are sensitive and private in nature. With fog computing, the collected data can be analyzed in real-time locally, instead of sending it to the cloud for analysis. As a result, fog applications can maintain privacy of data in a better way.

Smart Cities

Fog computing can be used efficiently in smart cities. Data collected by the smart devices can be analyzed by the fog nodes to control traffic congestion, public safety, high energy use and municipal services in real-time. Moreover, cellular networks often have bandwidth limits which does not meet the requirements all the time. In fog computing, data can be analyzed by fog nodes locally up to a certain extent and thus can optimize network usage.

Smart Buildings

A smart building may contain thousands of sensors to measure various parameters like temperature, keycard readers, parking space occupancy etc. Using fog computing to analyze the data can enable real-time actions like controlling lighting, triggering alarms or addressing other emergency situations.


Often video cameras are used to monitor public places like parking lots, buildings etc for enforcing security. Data collected by those devices needs a large bandwidth to be able to be transported to the cloud for analysis. Using fog computing, the collected data can be analyzed in real-time to monitor and detect anomalies and respond to it accordingly.