A significant trend in the Internet of Things is the shifting balance between cloud computing and edge computing (also known as fog computing). While in the past machine-to-machine (M2M) communications has been characterized by the role that cloud platforms play in enabling processing applications to be run on the IoT data, today we recognize that computing resources on the network edge offer faster processing than those in the cloud. Fog computing adds architecture choices and allows those deploying IoT to improve physical assets and processes in new ways.
Earlier this month I attended the Internet of Things Global Summit in Washington D.C. One of the event speakers was Gary Butler, Chairman and CEO of Camgian Microsystems Corporation, who focused on fog computing. Camgian is a leader in combining low-power microelectronics, sensors, wireless communications, and real-time signal processing to fill intelligence gaps for both the defense and commercial markets.
Fog computing, also known as fog networking, is a decentralized computing infrastructure. Computing resources and application services are distributed in logical, efficient places at any points along the connection from the data source (endpoint) to the cloud. The concept is to process data locally and then use the network for communicating with other resources for further processing and analysis. Data could be sent to a data center or a cloud service. A worthwhile reference published by Cisco is the white paper, "Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are."
If all the data is transmitted to the cloud, the processing response can be much longer than is desired. Depending on the cloud services, processing time can be measured in minutes, hours, or even days. Instead of sending all of the data to a central location for processing, processing near the location of the data creation seems more expedient. This will introduce significantly shorter response times, which could be in the sub-second or millisecond range. Fog computing is the answer.
The fog computing concept allows for processing of raw data near the originating point. Therefore, the originating endpoint has to communicate to some intermediate device that then can process, analyze, and report. The raw data collected could be transient or could eventually be sent as a batch transmission to some storage facility in the cloud.
Fog infrastructure, shown in the diagram below, provides an intermediate processing point between the IoT endpoint and the cloud. The edge/fog device can act, at minimum, as a controller for connecting multiple IoT endpoints to a network, which can be wired or wireless.
The controller can act like a multiplexer or gateway. However, this is a rather simple use of edge processing. With today's processing capabilities, it's easy to process the data in the edge device and send the results to a central location like the cloud. There is intelligence in these edge devices; they are programmable with software that can be modified, and contain user applications, maintenance functions, and network management.
The edge device can be embedded within a vehicle, or multiple edge devices could be embedded in a dam or a building. The devices can be communicating locally via wireless communications. By adding edge processing devices, the cost of the IoT endpoints can be reduced with the intelligence residing in the edge device. This can also improve security. By sending the analyzed and processed data up to the cloud, this makes better use of the cloud services and will keep the traffic level to and from the cloud more manageable.
The edge device can perform three functions. Once the data is collected, the edge device can be programmed to do statistical analysis of the data collected. Based on the statistical analysis, the edge device can determine what events should be reported and if those events are time critical or not. The third function is the actual reporting of the event. You can think about the edge device as a small server connected to IoT endpoints, offloading functionality from the cloud.
These devices also can operate independently so that if cloud communications is not available, it can still collect, store, and analyze information, and report when the cloud connection becomes available. This means the device can support business continuity.
With the costs of processing and storage decreasing, not only does the cloud benefit, but the edge devices benefit as well. When someone decides to deploy IoT endpoints, the cost of the edge device may be high but the cost of the IoT endpoints can be much lower. The ROI is improved and the TCO lowered. The main problem with IoT endpoints is that you are going to need a lot of them. So the cost can be kept low for the endpoints to get the functionality desired. The use of edge devices and fog computing is extremely attractive.
A couple of resources you might want to look at around this topic are: "ABI Research Breaks Down the Barrier of Fog Networks and the Telecom Cloud, and "Edge Analytics in IoT," which expands the discussion of edge/fog computing.