IoT Ecosystem and role of IoT Gateway
IoT ecosystem typically consists of end devices, IoT gateways and a cloud platform. Communication between these different components is enabled by means of different communication protocols. The main interest of this article is on IoT gateway which is responsible for translation of these different communication protocols. This is very much the same concept employed in telecommunications emulating the same working principle as your internet router.
However, the internet router would connect your home network connected devices with the Local Area Network (LAN) of your Internet Service Provider (ISP), but in the case of an IoT gateway the gateway would connect multiple sensors of different types and configurations to a cloud platform.
IoT Deployment Challenges
Now before looking into more details into the working principle of IoT, it is worthwhile looking into some of the deployment challenges that are imposed on IoT systems that leads to use of an IoT gateway.
1. Connectivity problem
Connectivity between devices and the cloud platform is a critical issue in IoT domain. Since most of the end-devices are optimized for energy efficiency and are not therefore capable of connecting to internet or Wide Area Network (WAN) directly. Instead, these devices are usually operated on heterogeneous radio networks such as ZigBee, BLE, Z-Wave, LORAWAN, etc. – to transfer data. To address this problem IoT devices can take two forms:
- Devices and edge-level sensors will provide a direct path to the cloud.
- Devices and edge-level sensors will form aggregations and clusters around gateways and routers between the sensors and the WAN.
The first form is costly and would require devices that have built-in network connectivity modules such as 2G/3G, Wi-Fi, Ethernet, etc. Some of the popular protocols used to communicate between devices and the cloud platform are Constrained Application Protocol (CoAP), Message Queuing Telemetry Transport (MQTT), HTTP, Advanced Message Queuing Protocol (AMQP), etc. Here the devices should have sufficient computing power and I/O support. Moreover, these devices don’t support over-the-air (OTA) firmware updates, so the end user is responsible for upgrading the device firmware.
Hence, a more ideal and cost-effective solution would be the second form, where devices with low power radio networks are aggregated to a central IoT gateway to connect to the cloud platform.
2. Interoperability challenge
Due to use of devices from different vendors and different configurations, interoperability is one of the biggest challenges in wide-scale IoT. There are two types of protocols used in IoT applications. Southbound protocols are the protocols enabling communication towards the device which are aimed at conserving power of the battery-powered end devices. Examples are ZigBee, Modbus, LoRaWAN. Northbound protocols are responsible for enabling communication towards cloud platform, which are highly secure and are based on publish/subscribe mechanism. CoAP, HTTPS, MQTT and AMQP are some popular northbound protocols.
An IoT application would utilize both these types of protocols. Therefore, a solution enabling proper harmony between these protocols should be employed.
3. Security challenge
Security is a major concern when it comes to data that is sent from sensors to the cloud. This data should be secured in order to protect user privacy and defend consumers against fraudulent actions. Southbound protocols provide security mechanisms such as whitelisting, OTA activation and encryption. While, devices communication to a cloud platform should authorize themselves with the server and encrypt the data before transmitting into cloud platform. There should be a harmonical mechanism to check these security requirements in an IoT application.
4. Data filtering and processing challenge
In the direct cloud connected architecture, all data are sent to the cloud, which is not ideal as there can be some unnecessary data, which on other hand would waste bandwidth. Also, the data may be lost if there is a connectivity outage. Therefore, it is essential for a solution to mitigate this challenge.
How does an IoT gateway work?
After identifying some of the challenges existing in IoT applications, now it is time to evaluate how an IoT gateway would address those challenges.
As we have seen in the case of connectivity problem connecting a large number of devices into an IoT gateway would ideally decrease the cost and complexity of IoT applications. This can be realized by routing function enabled in IoT gateways. An IoT gateway would support routing protocols such as Border Gateway Protocol (BGP), Open Shortest Path First (OSPF), Routing Information Protocol (RIP) and RIPng. The destination corresponding to a given packet of data is realized by using a routing table.
In order to address the interoperability challenge, IoT gateways acts as a bridge between the IoT devices and the cloud platform. An IoT gateway would connect with the end devices via specific southbound protocols, and then store ad parse all the necessary data from the devices and send the data to the cloud servers over northbound protocols for processing and analytics. This process is called protocol translation. Also, this process is bidirectional enabling communication in either side.
In the case of realizing a secure connection an IoT gateway plays a major role. The basic form of security in communications is to utilize a firewall. In the case of IoT gateways they would use a network firewall which filters and controls information flow from one network to another. This provide proper authorization over which network traffic would enter the network and would ensure that only required ports are opened by mechanisms such as port forwarding. Secure device onboarding is another security feature enabled by IoT gateways in configuring a device for the first time. This enables proper encryption.
Data filtering and processing is realized by edge computing where raw data is aggregated, correlated and synchronized to reduce data volume and network latency. After carrying out these edge computing functions, the pre-processed data is transferred to the cloud platform. This will largely reduce the cost of utilizing highly capable end devices and sensors. Apart from above mentioned functions edge computing is capable of using following techniques to mitigate data filtering and processing problem:
- Denaturing data
- Security and intrusion detection analysis
- Key management
- Rules engines/event processors
- Caching and storage
Features of IoT gateways
Features of IoT gateways are highly dependent on their specific application and performance requirements. However, we can identify some of the basic features commonly employed by basic IoT application and advanced features which are required by more complex IoT gateways such as Industrial IoT gateways. Most important features are:
- Device connectivity despite the device features, size and configuration and communication protocol.
- IoT gateways provide security enhancements to the IoT application and reinforces security.
- They are capable of providing metrics and analytics about the IoT application including: data usage, signal integrity, number of fail events, bandwidth usage, network health and details about connected devices and clients.
- Enabling traffic shaping and Quality of Service (QoS) which are useful in deployments that need a guaranteed level of service when dealing with congestion or variable network load.
- Some IoT gateways are capable of VLAN functions where network segmentation of devices or users are carried out depending on application requirements.
- Failover and out-of-band management are some of the advanced features in application involving highly mobile end devices.
- Some IoT gateways provide customizable firmware enabling OTA updates which is very much useful in massive IoT nodes.
- IoT gateways are capable of performing edge computing depending on their specifications and application requirements.
- They provide extensibility in integrating devices of different protocols and configurations and also different cloud platforms.
What are the advantages of using an IoT gateway?
- Using an IoT gateway will reduce time-to-market by pre-integrating multiple protocol interfaces and use-case scenarios.
- Plug-and-play architecture would enable easy integration of end devices and significantly reduce time required to add new southbound and northbound protocol interfaces.
- Edge computing capability will improve response time and reduce network latencies. This on other hand will reduce the transmission costs and improve data analytics in cloud platform.
- IoT gateways will reinforce network security and manage network traffic smoothly, thus ensuring data protection and privacy.
- They can support both wired and wireless communication protocols enabling a wide range of applications.
How to choose the right IoT gateway?
Consider these factors when you are selecting the right candidate for your IoT or Industrial IoT application.
- Properly define your objective of using an IoT gateway. Should your gateway provide you with data analytics or performance metrics?
- Assess the data volume and the data transfer rates required to be handled by your gateway. Do you have thousands or hundreds of sensors? How fast would the sensors record and transfer the data?
- Identify whether you need data filtering, aggregation, caching or storing. Choose the gateways with required edge computing functionality.
- Where will the gateway be installed? Identify different standards that are to be fulfilled by your gateway.
- Check for correct certifications. Gateway models should be certified FCC/CE/IC electronic products.
- What security features are required?
- What are the required communication protocols used by your end devices and cloud platform? Are they supported by your gateway?
- Finally, check whether your application required custom features in future and check the customization options of the gateway.