Cloud system puts idle processing power of the IoT to use
Called Aura, the system is designed to connect up to hundreds of connected devices into a localized cloud service for customers needing additional processing power. In addition, the system would allow customers to keep their data nearby rather than have it stored just anywhere in the cloud.
For example, Aura could allow desktop-level apps to run on mobile phones while relying on nearby IoT devices to do most of the computation. According to Ragib Hasan, Ph.D., assistant professor in the UAB College of Arts and Sciences Department of Computer and Information Sciences, "It doesn’t matter that the phone has limited memory, because it now has access to a vast amount of memory belonging to the IoT devices."
Aura is not limited to buildings and is able to be used for creating local ad hoc clouds anywhere — even in a moving vehicle. ”As you are driving down the Interstate, your phone can tap into the computing capabilities of your own car, plus all the surrounding cars," says Hasan.
Owners of connected devices would be incentivized to participate by being compensated based on how much processing power they contributed, while users of the service would pay a fee. See an infographic showing "How Aura Works."
The idea behind Aura was inspired in part by Amazon Web Services, which rents out Amazon’s unused server space earning the company billions of dollars every year. In applying the idea to IoT devices, Hasan and his colleagues determined that in any urban environment there will be anywhere from 1,000 to 5,000 trackable devices around a given user with strong processors and memory to spare.
The researchers created a proof-of-concept implementation of the system using an Android application and several virtual IoT devices running Contiki OS – a popular operating system for such devices. Also used in the implementation was MapReduce, a programming framework that lets developers write programs that process massive amounts of unstructured data in parallel across a distributed cluster of processors or stand-alone computers.
As far as security, it is addressed in Aura in various ways. "Communicational security is ensured via various security protocols," says Hasan. "Additionally, Aura incorporates a container-based segregation of the tasks running on the IoT devices to protect the core functionality of the devices. The distributed task assignment model also allows the system to ensure that any ill-motived device owner cannot obtain any holistic view of the original data and results."
For more, see the paper "Aura: An IoT based Cloud Infrastructure for Localized Mobile Computation Outsourcing."