The IIoT: not only cloud computing
The Industrial Internet of Things (IIoT) is typically associated with big data and the Cloud, collecting vast quantities of data from widely distributed sensors, turning “information into insights”. In some industrial processes the time-to-insight is critical, and the latency involved in sending data to the Cloud and receiving the response can be excessive. In other situations, data security could be compromised, or a fast, reliable connection to the internet may not be available. To overcome challenges like these, edge computing can complement the big data crunching capability of the Cloud. It can perform compute-intensive tasks that demand instantaneous response, and store and filter data to be transferred to the Cloud when appropriate. Edge computing can encompass such elements as simple data filtering, event processing, or even machine learning, and can be hosted on any connected device, ranging from a small, embedded computer or PLC to an industrial PC or local micro data center. Isolation from other processes running on the same platform and a small footprint are key requirements.
Maximizing the value of data
Much of the value of the IIoT lies in the way it can aggregate the information from multiple sources to help enterprises see the bigger picture: how to improve processes, optimize maintenance activities, reduce waste and energy consumption, and eliminate avoidable costs. A Cloud-centric view of the IIoT sees the various data streams assembled and analyzed in remote data centers using heavyweight software applications.
This model presupposes that a reliable internet connection is always available, that sufficient bandwidth is available to handle the data being pushed to the Cloud, and that latency – the time from when the data is generated to when the result of the Cloud’s ruminations is received – is acceptable. However, any one of these vital ingredients could be missing. A remote site may be dependent on a cellular network for internet connectivity, although coverage may be incomplete or unreliable. A multitude of sensors could generate a large volume of data that is expensive to communicate to the Cloud, particularly if it includes high-definition images or video. A complex decision may be needed in real-time for safety reasons or to maintain operating efficiency. On the other hand, data security could be an issue for some companies, who may not wish to expose sensitive information by passing it through the internet to the Cloud.
In any of these situations, sending raw data captured from processes or equipment back to the Cloud could be impractical. Nonetheless, some intelligence and decision making capability is needed above the level of individual machine or process control logic, allowing the enterprise to determine the optimum course of action. This is the role of edge computing.
Edge computing delivers a boost
Edge computing is growing in importance, as part of the IIoT. Implementing a first line of compute power close to assets or processes enables intelligent or coordinated responses to events, and can help reduce the data handling burden placed on the Cloud. In a system that may have tens, hundreds or even thousands of sensors, much of the data from these sensors may have minimal value, simply reporting “normal” operating conditions. An intelligent gateway can filter this data, and discard or repackage it more efficiently to be transmitted to the Cloud for storage and analysis. When an event of interest occurs, the intelligent node can quickly determine the correct response, issue appropriate instructions to the connected equipment, and summarize the event in a report suitable for consumption by the Cloud. As distinct from highly localized responses to signals from a small number of sensors, edge computing is associated with a more coordinated action, evaluating the data from a larger number of sensors to make decisions at a higher level. An example could be a mining application if, say, excessive vibration is detected in a drilling platform. The standard response to an error signal received from a vibration sensor could be to stop drilling, resulting in a loss of production and unwanted downtime to inspect and repair the equipment. With greater compute capability and a larger number of sensor inputs and stored historical data, a more powerful edge computing device can assess the effects on the entire system and identify several possible responses and calculate the consequences, and take the optimum course of action or notify an operator of the best options.
Whereas a straightforward sensor/alarm combination does not have the bigger picture perspective of an edge computing device with on-board data aggregation and processing, the edge processing engine can evaluate the data received from all connected sensors, and make the best decision based on pre-determined priorities. In a manufacturing situation, a sudden increase in failure rate after product test or inspection at the end of an assembly line may warrant halting production to investigate the cause. A smart edge device connected to all machines can coordinate such a response across all equipment in the line. Alternatively, it may be able to identify the cause of the change by analyzing sensed data from multiple machines and apply a fix automatically, or guide an operator to remedy the problem and allow production to be restarted quickly and efficiently.
In addition, edge computing can aid digital transformation by supporting predictive maintenance by comparing sensed measurements with historical data or preset thresholds to calculate the optimum time for replacement. It can also enable intelligent management of assets deployed in geographical areas where internet access is unreliable or where coverage is poor. If a gateway device is temporarily unable to connect to the Cloud, data can be stored in local memory until the connection can be re-established. The device can then re-synchronize with the Cloud automatically, ensuring the remote applications can always gain access to complete and up-to-date information.
Efficiency management is another aspect that can be enhanced through extra intelligence in edge devices by utilizing sensed data to adjust and optimize settings in accordance with a high-level energy management policy.
Implementation: hardware and software
The principle behind edge processing is to position analytical intelligence as closely as possible to connected assets. Because edge computing and its relation to the Cloud remains a work in progress, definitions and architectures are still quite fluid. As physical space or resources may not be available to implement a dedicated edge server, the intelligence may need to be embedded in existing infrastructure such as a gateway, PLC, industrial PC, or various other devices that exist on the factory side of the connection to the Cloud (Figure 1).
Figure 1: In the IIoT, edge computing inserts data capture and storage, and real-time decision making, between a factory’s assets and the Cloud.
Essentially, edge computing exists above the level of an individual machine control system, operating locally and complementing the work of the heavyweight applications hosted in the Cloud. An edge application could perform a task as simple as ingesting and storing data from multiple channels, and filtering the data before forwarding to the Cloud. More complex visualizations bring analytics and even machine learning into the realm of edge computing to generate intelligent responses in real-time. The fundamental components needed to realize this sophisticated vision include data ingestion, an event processing engine, connected device management, user applications, and secure data transfer to the Cloud (Figure 2).
Figure 2: The FogHorn Lighting platform provides an illustration of features contained in an edge software stack.
Bringing up a complete intelligent edge processing platform from first principle is a large challenge. An alternative approach is to employ a hardware-agnostic software framework that provides the basic building blocks such as an event processing engine, device management, and secure streaming using protocols such as the MQTT lightweight messaging protocol, or secure HTTPS. A number of such frameworks are arriving on the IIoT scene, such as GE’s Predix, Cisco’s IOx, and the Lightning platform by FogHorn Systems. In addition to the functional components, these packages also provide various software development kits (SDKs) to allow users to run their own custom applications, and a development environment that helps configure the system and define analytics functions. These frameworks also provide tools for managing edge devices including monitoring, control, and diagnostics.
A lightweight, resource-friendly single-board computer like a Raspberry Pi 3 from the Raspberry Pi Foundation could provide the basis for such a device. Indeed, GE has demonstrated its Predix Machine software for edge devices running on such a platform. On the other hand, engineers with access to a more powerful industrial PC in a gateway device or automation system can leverage extra resources and compute performance to execute more complex applications. Desktop levels of performance are now available in proven form factors such as PC/104, in boards such as the VersaLogic Liger boards that feature optional Intel i3, i5 or i7 (Kaby Lake) dual-core processors running at up to 2.8 GHz. These boards are extremely rugged and have MIL-STD shock and vibration resistance, allowing use on equipment deployed in harsh environments. With up to eight native digital I/O channels, a Mini PCIe port for further expansion, and a high-speed SATA storage interface, these boards can take on complex automation tasks and handle edge processing workloads as well. Gigabit Ethernet interfaces facilitate connection to the internet and Cloud via an enterprise gateway. In addition, the board contains a trusted platform module (TPM) which allows hardware cryptographic acceleration and provides secure key storage, making it ideal for use in autonomous devices that require high resistance to hacking.
To run edge computing engines and applications on the same hardware as an automation controller or a PLC, they need to run separately from the other software. Using containers has become a popular approach which provides isolation similar to that of a virtual machine, but is more suitable for resource-constrained devices. A container image comprises everything needed for the software to run. However, unlike a virtual machine, containers virtualize the operating system instead of the hardware, resulting in a more lightweight and portable solution. It is also possible to use containers with virtual machines to gain extra flexibility for deploying and managing applications.
Figure 3: Containers provide a resource friendly means of isolating edge computing processes hosted on a device like a gateway, PLC or industrial PC.
The Docker framework is widely used by IoT solution developers for implementing containers (Figure 3), and has donated code to the Open Container Initiative (OCI) that supports development of the container ecosystem. To create an edge computing solution, a Docker-based Linux application can be developed in C/C++ or Java to capture the desired data and integrate with edge processing resources like the analytics engine via the SDKs provided in the chosen software platform.
By also providing a convenient dashboard for managing the connected edge devices, a suitable software platform allows developers to focus on customizing their applications to capture the data they need, and respond appropriately to detected events. Edge computing is the subject of significant new product development as software development platforms as well as turnkey edge computing devices enter the market.
Edge computing is an extra facet of the IIoT, ready to work with the Cloud to provide operators and business managers with the flexibility to gain the insight they need at the appropriate time. GE has estimated that conventional automation uses only about 3% of machine data to generate meaningful outcomes. Edge and Cloud computing could unlock more of the value in the remaining 97% if used together to enhance real-time automation and guide long-term decision making.
It is common to visualize the IIoT as a combination of smart but small devices with limited resources connected to the massive computing power of the Cloud. As more enterprises come to rely on the IIoT in a wider range of situations, a more sophisticated architecture is evolving that features intelligence at the edge to complement the power of the Cloud. Software solutions now entering the market enable enterprises to leverage gateways and traditional industrial computing platforms to respond to critical events in real-time, preserve security, and utilize connections and bandwidth efficiently.