IoT networking - connectivity management
If we want to connect everything, we most likely need a variety of connectivity solutions. In a smart city, everything from trashcans to bus stops will be communicating. All these devices need to be managed. And what happens when a trashcan gets vandalized or a mailbox is moved? In five years there will be 21 billion things connected – and we’re going to need to support that.
Our aim is to make it as simple to connect an IoT device as it is to connect a mobile phone today.
In our earlier blog post, we discussed the various options for connecting IoT devices. In most cases, users of IoT systems do not want to configure and manage the connectivity of the devices, but instead concentrate on their own area of competence. The user just wants the devices to be connected, so that sensor data can be accessed by the applications. Especially when we talk about a huge number of devices, the importance of automating the configuration increases. It is also important to optimize the network to get the best use of the available resources. In one of our demos in the IoT Networking stand at the Mobile World Congress 2016 back in March, we showed how connectivity management of a capillary network can be outsourced to the network. That way, connectivity management can be part of a wider IoT platform providing support to IoT application developers and enterprises.
The demo table shows a smart city scenario with various connected devices, including streetlights, a mailbox, a bus stop and a trashcan. Some of the devices, for example the bus stop and the mailbox, contain a capillary gateway. A gateway connects the short-range radio to the 3GPP uplink, providing global connectivity and, in particular, connects the devices to the services in the cloud. The devices are presented in the management user interface on a map. The management interface also shows to which gateway a device is currently connected.
The connectivity management system gathers the properties and capabilities of the nodes and, based on those, globally optimizes the network in order to get the best connectivity and the best use of the available resources. Collected information includes for example the gateways reachable by a device, the remaining battery level, and the gateway load. The connectivity management system determines to which gateway each node should connect. This way, the load can be balanced between several gateways, taking the different properties of the gateways into consideration. For example, we should connect more devices to a gateway that currently has low load, high battery level (in the case of battery operated gateways) and a good quality uplink. When there is a change in the network, the connectivity is recalculated. In the demo, we can move the trashcan to another location and it will be directed to another gateway. The system automatically adapts to new conditions. For example, if the gateway in the mailbox goes down, its previously connected devices are connected to another gateway and the load is redistributed.
For nodes that can take multiple roles, i.e. operate either as a device or as a gateway, connectivity management determines which role they should take in order to best serve the network. This can be done based on several criteria. For example, the number of active gateways can be minimized to reduce the cost or to aggregate data.
Some types of IoT networks allow multiple hops between a device and the gateway. Thus, the traffic can be relayed by intermediate nodes. This property can be used to connect nodes that otherwise would be outside the reach of the gateway. The connectivity management system determines which devices should operate as relays, considering the remaining battery level, the signal quality, and of course the capability of the node to relay traffic.
Each user can specify their goals for connectivity management and the relative importance of the different contributing factors. For example, energy conservation may be important for one user while latency should be minimized for another. When requirements change, it is much easier to change the configuration of the connectivity manager compared to updating the software on each node.
A well-designed management interface allows the user to monitor and control the IoT devices. However, any kind of manual management becomes costly when the number of devices increases. Once a device or gateway has been deployed, the user should not need to spend effort on resolving connectivity issues or optimizing the network. Our system takes care of that automatically.
We strive daily to tackle the many challenges we face when looking into the future, but this is one big step and a proud accomplishment. This is the second part in the series about IoT Networking, thank you for reading!