Nominet’s IoT Tools: breaking down the silos

Today sees the Oxford Flood Network map going public. We’ve been working on this community-based project for over a year now and thought it was a good time to explain the technology that is behind it.

Nominet’s IoT Tools

When we set about designing the systems for the flood network we wanted to avoid getting “locked-in” to any one technology vendor, preferring instead to select interoperable tools on a case-by-case basis. We soon found that unfortunately, unlike the good old Internet, there was a lack of such tools available. So we made the decision to build our own tools for the Flood Network, while designing them to be flexible enough to be used on any IoT project.

As a result we have developed a useful set of IoT tools that can be applied to far more than the Flood Network. These tools are designed to work independently of each other, moving towards the componentised, IoT architecture that has been much discussed but rarely seen in real applications. They are outlined below.

IoT Registry

The IoT Registry is a universal directory for connecting IoT devices to services. It utilises the established, scalable and proven capabilities of the Internet Domain Name System (DNS) to identify and connect devices and data streams. Each device and datastream has customisable meta-data fields associated with it to help with deployment management. For instance, you can record the time when a device was last calibrated.

IoT Bridge

The Bridge is for processing, transforming, and distributing data from IoT devices. It can receive and request data via established protocols, such as MQTT(S) and HTTP(S) and can process any type of data that a device might generate. Once a data payload is in the Bridge it can be pushed or pulled to other services in a very generic manner, as well as transformed using Javascript as required.

Datastore

The Datastore is for long-term storage of data from IoT devices. It is comprised of a collection of databases most suited and optimised for different data types. There is an InfluxDB solution for time-series data, a dedicated image store and generalised MongoDB component, allowing data payloads to be stored in a variety of formats.

Data Analytics

The data analytics tool can take disparate datasets and perform deep analysis on them. For instance, if an IoT device needs debugging because the raw data looks very discontinuous over time, the analytics tool can compare the data against other datasets collected over the same period. It can perform cross-correlations between data streams and also includes statistical analysis tools.

Geo-visualisation tool

The geo-visualisation tool allows sensor data to be easily published on a user-friendly map interface. The look of the map can be tailored depending on the application and geographic features can easily be associated with the data.

Turing for IoT

Turing uses patent-pending technology to provide a unique real-time picture of the traffic on IoT networks. The tool was originally developed to help Nominet monitor the .uk domain and has been proven at scale, capturing and analysing over 4 billion DNS packets per day. Because the IoT Registry is based on DNS it has the instant benefit of being able to use Turing in this environment. It provides a massive amount of information about the IoT traffic on the network and can quickly identify anomalies such as security breaches and system misconfigurations.

Next steps

Our aim now is to two-fold. We will continue to develop the systems for the Oxford Flood Network, adding new features, such as an open data interface. But as an applied R&D group we are also working on other real-world projects to test our IoT tools in different situations. The first of these is our very own smart car park solution for our Oxford Headquarters, which you will be able to read about soon!