IoT gateways may be the unsung heroes of the Internet of Things world. Without them, there would likely be no expectations of tens of billions of IoT devices coming online in the next few years. In many respects, gateways are the glue that holds many IoT implementations together. They enable real-time analysis of IoT data and link multitudinous connected sensors and devices to the cloud. In addition, gateways act as a bridge between various sensor types and connectivity protocols, while helping to link equipment from an organization’s information technology (IT) and operation technology (OT) departments.
But gateways can also be single points of failure in IoT networks. In a poorly designed system, when a gateway goes down, critical functions stop. Preventing that outcome is possible, however, with an IoT gateway architecture based on the idea of clustering.
Why we need gateway clustering
Many IoT projects have anywhere from hundreds to millions of connected devices. Networks supporting such a large scale of endpoints ideally use a cluster of gateways connected to one another via a mesh network. If one node goes down, the redundancy of that network topology ensures reliability and the continuity of cloud communication for commands and storage of data.
Let’s take a look at how this works: IT and OT buses establish the connection between gateways, some of which are linked to the cloud and others that are connected to other gateways. If one gateway goes down as a result of excess load or internal faults, the network transfers the running application configuration and APIs to another gateway in the cluster using the OT bus.
A gateway control center in the cloud manages the transfer of application data between gateways. The control center also can configure the cluster by defining the geographic correlation of gateways, which are units placed near one another and connected remotely to the same set of sensor devices, enabling a backup for the neighboring gateway. During a failure, IoT gateways can transfer their applications and device connections to one another and at the time of a threshold limit. For example, if a gateway is connected to a ZigBee device, it cannot transfer applications to another gateway beyond a predefined distance. In this case, a geo-correlated gateway can help build redundancy into the system by shadowing the functionalities of the neighbor gateway. Hence it is important that the IoT gateway architecture and device layout are geographically correlated to achieve uninterrupted connectivity.
Clusters for load balancing
To avoid overloading a single gateway, you can use a cluster manager to define the threshold occupancy of each gateway, and the data are distributed to different gateways in the cluster for faster response and balanced load distribution. When a gateway load goes beyond a set limit, it transfers the excess load to a nearby gateway automatically.
How edge and fog analytics works in a cluster
Clustering enables distributed edge analytics. The distributed edge nodes allow processing of data at the edge before transferring it to the cloud. This reduces latency. The edge-filtered data can be sent to the fog node or cloud directly for post-event processing. Further, the individual cluster creates a fog node, and a combination of fog nodes allow distributed fog computing. It gives the benefit of fast and real-time data analysis in any large geographical area, enabling faster fault response time.
Horizontal scaling in a gateway cluster
Horizontal scaling is the ability of an IoT framework to add more gateways to an existing mesh network. To enable that, gateways need to be connected to each other through a common communication bus. (At eInfochips, we call this a "communication interface bus," which is a combination of OT buses.) With OT bus connectivity, any new gateway can be added without modification to the existing network of devices.
Vertical scaling in a gateway cluster
Any functional capability increment with memory, device software, OS, hardware, device configuration and APIs constitutes vertical scaling. Microservice application based architecture for gateways allow vertical scaling options. This enables you to add as many devices, resources and microservices to the gateway as your requirements change.
To conclude, gateway clustering should be a consideration for large-scale IoT implementations where uptime and scalability are critical. Implementing gateway clusters, however, requires careful deliberation and planning. However, a well-structured approach to IoT gateway clustering enables enterprises to start small and address specific IoT use cases, while preparing for future large-scale IoT ecosystem deployments.