After the Cloud – the Fog

Picture attribute miikajom, https://www.flickr.com/photos/miikamehtala/15189422771 under Creative Commons Licence https://creativecommons.org/licenses/by-nc-sa/2.0/
Picture attribute miikajom, https://www.flickr.com/photos/miikamehtala/15189422771 under Creative Commons Licence https://creativecommons.org/licenses/by-nc-sa/2.0/

Just when you’re getting the hang of one buzzword, then along comes another. We’re now happy to discuss storing our data in the Cloud with Google Drive, and don’t think twice about using Cloud services such as Salesforce. We are beginning to take on board the concept of the Internet of Things, where billions of devices (“Things”) in the real world use the Internet to make information available in the Cloud, and therefore to other Things, or people, or Cloud services. We can be convinced that the billions of Things in the Internet of Things will between them generate lots of information, which will become Big Data when we put it all together. And now we have…

the Fog.

Like so much jargon it’s not clear where the Fog came from, but Cisco is a name that keeps popping up in this context (see https://www.cisco.com/web/solutions/trends/iot/docs/computing-overview.pdf). They tell us Fog computing takes the concept of Cloud computing and moves it to the edge of the network, closer to the end user. This is good for Internet of Things applications requiring rapid real-time response, or where failure of the system when a communications link fails would not be good – applications like industrial automation, or transport. There is still a connection to the Cloud, but Fog computing takes care of the low level processes in much the same way as our bodies respond instantly to an outside stimulus with a reflex action, only telling the brain some time later what has happened.

The advantages of Fog computing include:

  • Performance – potential for real-time response
  • Reliability and robustness
  • Improved quality of service
  • Superior user experience
  • Reduced data traffic over the internet

To see how this makes sense, consider a security system using multiple cameras. Using video processing techniques the system can recognise the difference between a cat and a burglar, and will automatically alert the operator for one of those and not the other.

Processing in the Cloud
Processing in the Cloud

With a simple Cloud architecture, all of the video from all of the cameras would be transmitted to an application in the Cloud – all the time. The Cloud application would process the information from all of the cameras, looking for events requiring an alarm. With multiple installations, we’re looking at a lot of data and a lot of processing. And of course, if the Internet connection were to fail at just the wrong time, bad things could happen.

Processing in the Cloud
Processing in the Fog

If we move some of the processing to the Fog, we have an autonomous sensing system which sends very little data to the Cloud, until it detects a threat, at which point it can send an alert and the associated video – all much more efficient and robust.

As with so many ideas in the Internet of Things, this is not a new concept – but it might just be handy to have a simple word to describe it.

Resources

[Update 3 November 2017] In the three years since this article was initially written, the concepts of the fog, and edge computing have come increasingly to the fore in Internet of Things (IoT) applications. Here are two recent pieces by some of the big players:

A guide to Edge IoT analytics – a blog by IBM
Enabling Management of Edge Computing – a blog by Cisco

I initially wrote this article for the Argon Design web site http://www.argondesign.com/news/2014/sep/18/after-cloud-fog/