In the future, smart home appliances could work in harmony to make money, or to provide more computing capacity, for their owners.
A computer science researcher at the University of Alabama at Birmingham has devised an architecture, called Aura, that would let people harness all the unused computer cycles generated by their smart home devices.
With Aura, "everybody will become a cloud services provider," said Ragib Hasan, an assistant professor and director of the university's Secure and Trustworthy Computing Lab (SECRETLab).
Aura, created by a team led by Hasan, can connect dozens or even hundreds of devices to make them work as a single computational resource.
An Aura-based system could provide extra computational power to execute jobs that otherwise might take a full desktop computer to complete. A person at a meeting with only a smartphone could offload to Aura the process of recalculating a spreadsheet for a presentation, eliminating the need for a laptop, Hasan speculated. People could sell off their excess capacity for others to use, or use it themselves to save power on their smartphones.
Hasan's plan, of course, anticipates a world with a vast number of Internet of Things devices, where lightbulbs, refrigerators, thermostats and other products will come with small processors and network connectivity. By 2020, the world will have 26 billion such devices in operation, according to technology analyst firm Gartner.
These devices will have lots of leftover computational cycles to spare, Hasan noted. For instance, Google Nest smart thermostats typically come with 1GHz ARM processors, which have plenty of computational power to spare above their typical duties of adjusting the temperature and responding to user requests for information.
The trick is to get all the IoT device makers to use a single operating system to run all their devices. Or at least have them settle on a few OSes, much like today's desktops computers predominately run Windows, Mac OS and, to a lesser extent, Linux. Last month, Google launched its Brillo OS for IoT devices.
Agreeing on a single or small number of open platforms sets the stage for writing software that can be used effectively across many devices. IoT device makers might find the idea of sharing their equipment agreeable because it could help consumers offset the purchase of their devices.
Hasan's team has already started the work of creating the needed software, building off of Google MapReduce. MapReduce is a framework for breaking a large task into multiple parts so all the parts can be run in parallel on a cluster of servers. Hasan's software can run jobs in a similar manner, but using smaller IoT devices instead of servers. It runs on ContikiOS, another operating system for IoT devices.
The approach is not unlike distributed computing efforts such as the Seti@Home effort, which uses the spare desktop computing cycles from volunteers to scan radio signals from space in hopes of finding signals from extraterrestrial life. Such jobs don't require a dedicated computer: They can be easily broken apart and started when the processor is idling, and quickly suspend operations when more critical tasks need to be completed.
Aura would be ideal for tasks that "don't have to be done within a certain amount of time," Hasan said. For instance, an Aura network could do the heavier processing of images, the kind of processing that can't be done by smartphones. The phone would hand off the work to a nearby Aura network.