IoT Data Management and Compute Stack
• The data generated by IoT sensors is one of the single biggest challenges in building
an IoT system
• In most cases, the processing location is outside the smart object.
• A natural location for this processing activity is the cloud.
• Smart objects need to connect to the cloud, and data processing is centralized.
• One advantage of this model is simplicity.
• Objects just need to connect to a central cloud application.
• As data volume, the variety of objects connecting to the network, and the need for
more efficiency increase, new requirements appear like Minimizing latency,
Conserving network bandwidth, Increasing local efficiency.
• An important design consideration, therefore, is how to design an IoT network to
manage this volume of data in an efficient way such that the data can be quickly
analyzed and lead to business benefits.
Traditional IT Cloud Computing Model
• Data management in traditional IT systems is very simple.
• The endpoints communicate over an IP core network to servers in the data center
or cloud.
• Data is generally stored in the data center, and the physical links from access to
core are typically high bandwidth, meaning access to data is quick.
Data-Related Problems in IoT Systems
• Bandwidth in last-mile IoT networks is very limited. When dealing with thousands/
millions of devices, available bandwidth may be on order of tens of Kbps per device
• Latency can be very high. Instead of dealing with latency in the milisec range, large
IoT networks often introduce latency of hundreds to thousands of milisec
• Network backhaul from the gateway can be unreliable and often depends on
3G/LTE or even satellite links which may be expensive
• The volume of data transmitted over the backhaul can be high, and much of the
data may not really be that interesting
• The concept of storing and analyzing all sensor data in the cloud is impractical
• The sheer volume of data generated makes real-time analysis and response to
the data almost impossible
IoT Data Management and Compute Stack with Fog Computing
• The solution to these challenges is to distribute data management throughout
the IoT system, as close to the edge of the IP network as possible.
• The best-known embodiment of edge services in IoT is fog computing.
• Any device with computing, storage, and network connectivity can be a fog node.
• Examples include industrial controllers, switches, routers, embedded servers,
and IoT gateways.
• Analyzing IoT data close to where it is collected minimizes latency, offloads
gigabytes of network traffic from the core network, and keeps sensitive data inside
the local network.
• An advantage of this structure is that the fog node allows intelligence gathering
(such as analytics) and control from the closest possible point, and in doing so, it
allows better performance over constrained networks.
• In one sense, this introduces a new layer to the traditional IT computing model, one
that is often referred to as the fog layer.
The IoT Data Management and Compute Stack with Fog
Computing
Characteristic of fog computing
• Contextual location awareness and low latency: The fog node sits as close to the IoT
endpoint as possible to deliver distributed computing.
• Geographic distribution: In sharp contrast to the more centralized cloud, the services and
applications targeted by the fog nodes demand widely distributed deployments.
• Deployment near IoT endpoints: Fog nodes are typically deployed in the presence of a
large number of IoT endpoints. For example, typical metering deployments often see 3000
to 4000 nodes per gateway router, which also functions as the fog computing node.
• Wireless communication between the fog and the IoT endpoint: Although it is possible to
connect wired nodes, the advantages of fog are greatest when dealing with a large number
of endpoints, and wireless access is the easiest way to achieve such scale.
• Use for real-time interactions: Important fog applications involve real-time interactions
rather than batch processing. Preprocessing of data in the fog nodes allows upper-layer
applications to perform batch processing on a subset of the data.
Applicability of Edge Computing
• The natural place for a fog node is in the network device that sits closest to the IoT
endpoints, and these nodes are typically spread throughout an IoT network.
• However in recent years, the concept of IoT computing has been pushed even further to
the edge, and in some cases it now resides directly in the sensors and IoT devices
• Edge computing is also sometimes called mist computing. If clouds exist in the sky, and fog
sits near the ground, then mist is what actually sits on the ground
• Thus, the concept of mist is to extend fog to the furthest point possible, right into the IoT
endpoint device itself
• Some new classes of IoT endpoints have enough compute capabilities to perform at least
low-level analytics and filtering to make basic decisions (eg. Raspberry Pi, Arduino)
• Example: Edge compute–capable meters are able to communicate with each other to share
information on small subsets of the electrical distribution grid to monitor localized power
quality and consumption, and they can inform a fog node of events that may pertain to
only tiny sections of the grid
• These models can help to ensure the highest quality of power delivery to customers
Hierarchy of Edge, Fog, and Cloud
• Edge or fog computing in no way replaces the cloud. Rather, they complement each
other, and many use cases actually require strong cooperation between layers
• Edge and fog computing layers simply act as a first line of defense for filtering,
analyzing, and otherwise managing data endpoints. This saves the cloud from being
queried by each and every node for each event
• This model suggests a hierarchical organization of network, compute, and data
storage resources
• At each stage, data is collected, analyzed, and responded to when necessary
according to the capabilities of the resources at each layer
• As data needs to be sent to the cloud, the latency becomes higher
• The advantage of this hierarchy is that a response to events from resources close to
the end device is fast and can result in immediate benefits, while still having deeper
compute resources available in the cloud when necessary
Hierarchy of Edge, Fog, and Cloud
Edge, Fog, and Cloud
Fog Computing Architecture
Fog computing architecture consists of three layers: the edge layer, the fog layer, and the cloud layer. The edge
layer is where the data is generated and collected, while the fog layer is where the data is processed and
analyzed. The cloud layer provides additional computing resources and storage capacity for the fog layer.
Types of Fog Computing
There are several types of fog computing, including client-based, server-based, and hybrid fog computing.
Client-Based Fog. This type of fog computing relies on the computing power of edge devices to process and
analyze data. Client-based fog computing is ideal for applications that require real-time processing, such as
autonomous vehicles and industrial IoT.
Server-Based Fog. This type of fog computing relies on the computing power of servers located in the fog layer
to process and analyze data. Server-based fog computing is ideal for applications that require more computing
power than edge devices can provide.
Hybrid Fog. This type of fog computing combines both client-based and server-based fog computing. Hybrid fog
computing is ideal for applications that require a mix of real-time processing and high computing power.
Edge Computing vs Fog Computing