The growing Internet of Things involves many different kinds of data, sources and communication modes that its myriad information streams can be onerous to acquire and process.

Researchers at the Georgia Tech Research Institute (GTRI) have developed a flexible, generic data-fusion software that simplifies interacting with sensor networks. Known as FUSE, it provides a framework to standardise the diverse IoT world. Its application programming interface (API) lets users capture, store, annotate and transform any data coming from Internet-connected sources.

“The Internet of Things has always been something of a Tower of Babel, because it gathers data from everywhere–from the latest smart-building microcontrollers and driver-assist vehicles to legacy sensors installed for years,” said Heyward Adams, a GTRI research scientist who is leading the FUSE project. “Traditionally, people wanting to utilise IoT information have had to examine the attributes of each individual sensor and then write custom software on an ad-hoc basis to handle it.”

Before FUSE, Adams said, a typical IoT task could require several manual steps. For example, users would acquire data from the Internet by manually finding and setting up the proper communication protocols. Then each data value would have to be assigned to a supporting database. Finally, the user would need to process the data, via approaches such as arithmetic manipulation or statistical evaluation, before it could be fed into a decision algorithm.

“FUSE lets us take a task that used to involve a week or two, and complete it in 10 or 15 minutes,” he said. “It provides a standard way of communicating in the unstandardized world of IoT.”

Adams explained that the technical challenges in creating an IoT framework include not just receiving and transmitting sensor data that use different communication protocols and modalities, but also digesting and processing a variety of data encodings and formats. One particular challenge involves dealing with timing differences between incoming data sources.

To build their framework, the GTRI team developed advanced algorithms for handling the many different source types, communication modes and data types coming in over the internet. They also devised methods for managing interactions among data sources that use varying and unpredictable data rates.

The result was FUSE, with capabilities that include:

  • Providing users with online forms that let them define the sources they need in the form of “domains”–abstract descriptions of how the targeted data interrelate;
  • Gathering incoming raw data according to user specifications and mapping them into the specified domains. The data can then be transformed and manipulated using “tasks,” which are user-defined JavaScript functions or legacy software that run inside the FUSE service;
  • Displaying the processed data to users on-screen via an interactive data visualisation, exploration and analysis dashboard that supports most data types including numeric, logical, and text data. Users can also devise their own custom dashboards or other interfaces.

FUSE makes extensive use of the generic representational state transfer (REST) data capability. Referred to as RESTful, this widely used Internet standard supports the framework’s ability to receive and transmit divergent data streams.

The FUSE framework is designed to be massively distributable. Using load-balancing techniques, the service can spread IOT workloads across entire computer clusters. Moreover, FUSE can also operate on small and inexpensive microcontrollers of the type increasingly found in buildings and vehicles performing a variety of smart sensing tasks.

Integrating legacy

The development team has built a transform layer into FUSE that allows the framework to connect to legacy sensors, allowing integration of older devices that utilise diverse hardware and software designs. FUSE currently employs the open-source MongoDB program as its storage database, but GTRI researchers are developing adapters that let the service plug into common databases such as Oracle, MySQL and Microsoft SQL.

“One of the advantages of FUSE is that it can be broken up and distributed to accommodate any sensor and server architecture,” Adams said. “So it can grow and change as a business, facility or campus changes over time.”