As the Internet of Things grows daily, it may very well become the Internet of Everything with almost every other device connected to the internet – and that will require a redesign of its architecture to meet high performance demands. Fog computing is a newer approach that seems promising in tackling performance issues of IoT.
The problem with IoT architecture
Current IoT architecture relies on cloud to meet storage and processing demands. Since thousands of sensors and devices produce terabytes of data over a short period of time, this data needs to be stored in cloud. Furthermore, IoT devices do not have processing power required to perform analytics and machine learning tasks. On the other hand, cloud has the required infrastructure to store huge amount of data and perform complex operations. Hence, the cloud provides data storage and processing services which extract useful information from the data. For example, medical equipment monitoring a patient’s vital signs might be sending this information to the cloud. Whenever the patient’s state becomes critical, the cloud will notify the other equipment to act accordingly.
This architecture suffers from performance issues. The data from the sensors first needs to be sent to the cloud. Then, the data for other devices after processing is sent back by the cloud. This round trip can be slowed down due to congestion in the internet and many other factors. Hence, a delayed notification by the cloud can be fatal for time-critical tasks.
The answer? Fog computing
This is where fog computing can help. Fog computing refers to the idea that the services of cloud should be provided from a point which is closer to the source of data (sensors) and the point where it is being acted upon (actuators). The term coined by Cisco is described as a feature where “computing resources and application services are distributed in the most logical, efficient place at any point along the continuum from the data source to the cloud.”
The idea of fog computing is similar to cache. Just as cache provides a pocket of storage nearer to CPU so that it can fetch and process data quickly, fog computing also provides a pocket nearer to sensors and actuators. With fog computing, we can store the time-critical data in the pocket which is near and store the rest of the data in the cloud. But this pocket is also able to perform desired operations on the data as it has limited processing power, which is still less than the cloud but more than the sensors. Note that fog computing does not replace the cloud in IoT architecture. Instead, it complements the cloud by taking responsibility of some of the tasks performed by the cloud.
However, the idea of fog computing is relatively new and requires much research to tackle issues that may arise. The Open Fog Consortium was founded in November 2015 to bring together people from industry and academia to solve issues in fog computing. Major hardware manufacturers like Cisco, Intel, and Dell are also collaborating with IoT vendors and machine learning experts to produce routers and gateways that can support fog computing.
Will fog computing become the answer to IoT problems? Or will the sensors gain processing and storage capabilities eliminating its need? Only time will tell.