IoT and fog computing: Connecting any device to any cloud over any network
August 18, 2016
It is understood that IoT devices may not connect to the cloud like PCs and mobile clients (smartphone and tablets) do. IoT devices are likely to conn...
It is understood that IoT devices may not connect to the cloud like PCs and mobile clients (smartphone and tablets) do. IoT devices are likely to connect to narrowband, potentially short range, high latency, and intermittent networks – and data delivered from IoT devices is likely to be transmitted to servers in the cloud through gateways that have broadband, high range Internet access.
As explained in Cisco’s white paper, not all data from IoT devices can or have to be sent over to servers in the cloud to be processed, especially when device operations rely on short response times or require high data security. This means that IoT data should be processed locally, closest to where it’s collected, in devices themselves or in gateways. This local data collection, transmission, storage, and processing from sensors to gateways constitutes the fog networking and computing.
It is important to realize that IoT network architectures cannot be summarized to dumb sensors collecting data and sending it over to smart gateways for local storage, processing, aggregation, and further transmission to cloud server for a larger-scale analysis. This M2M-driven vision may work for big things like a bus, an industrial machine, or a street in a city where you can install a bunch of smart sensors connected with a wireless network to a gateway the size of a small box. For wearable devices, sensors are integrated into a smart device like a smartwatch that uses a companion smartphone as a gateway to connect to the Internet. In the home, some smart devices like smart thermostats integrate sensors and can also play the role of a gateway.
In fact, it’s likely that elements in the fog may play one or several roles at a time (roles are data sensing, collection, storage, processing, transmission), but may also need to play other roles later or in a different configuration. It’s also likely that elements in the fog may need to adapt to changing environments, as the other elements they need to interact with may evolve over time. A device that can support only a certain type of network and connect to a particular cloud platform may become quickly obsolete in the fast-evolving IoT landscape.
The global challenge for the industry is to build fog architectures where any device can connect to any cloud over any network. The only way to deliver this flexibility and adaptability is to dynamically deploy a set of software capabilities over a given hardware infrastructure that itself can evolve over time (old hardware elements are removed, new ones are added). If we draw an analogy with the IT world, this is similar to deploying apps in the cloud on virtual servers instead of deploying specific apps on dedicated physical servers: hardware virtualization provides much more flexibility and adaptability for SW deployment, maintenance and update.
A virtualized fog computing and networking involves the ability to:
- Support any type of I/O interface for retrieving the data from sensors, in any data format
- Support any type of processor architecture and associated software development environment (runtime & tool chain) for processing the data
- Support any type of protocol stack for transmitting the data
- Connect to any cloud platform, protocol stack and data format, for transmitting the aggregated data, but also managing a fleet of devices and their software content
In order to deploy scalable and profitable fog computing and networking infrastructures, it is important that these infrastructures can adapt to changing operating considerations and evolve over time along with market and technical environments.
There are two main factors for enabling this capability:
- Deploying as many functions as possible in software so they can be re-programmed
- Enabling software re-programming and customization
This has been done easily with “traditional” client of cloud servers, like PCs and smartphones/tablets through software apps download and update thanks to the availability of comfortable storage, networking and processing resources. What could be called “software-defined fog computing” is extremely challenging to do as computing, power, storage, and networking resources are scarce in edge node devices. PC and mobile solutions do not work, so innovative solutions have to be provided that are specially crafted for the fog networking and computing with IoT device constraints in mind.