June 23, 2016
Standardizing communications for the Internet of Things
The fast-growing Internet of Things (IoT) consists of millions of sensing devices in buildings, vehicles and elsewhere that deliver reams of data online. Yet this far-flung phenomenon involves so 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 standardize 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 utilize 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 Internet of Things 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;
- Displaying the processed data to users on-screen via an interactive data visualization, 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.
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 utilize 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."