Friday, May 01, 2009
Sending Cell Phones into the Cloud
New technology offloads processing from a mobile device to its cloud-based doppelganger.
By Christopher Mims
Face in the cloud: CloneCloud allows processor-intensive applications, like this prototype face-recognition application, to be offloaded to remote servers.
Credit: Intel Research Berkley The problem with mobile phones, says Allan Knies, associate director of Intel Research at Berkeley, is that everyone wants them to perform like a regular computer, despite their relatively paltry hardware. Byung-Gon Chun, a research scientist at Intel Research Berkeley, thinks that he might have the solution to that problem: create a supercharged clone of your smart phone that lives in "the cloud" and let it do all the computational heavy lifting that your phone is too wimpy to handle.
CloneCloud, invented by Chun and his colleague Petros Maniatis, uses a smart phone's high-speed connection to the Internet to communicate with a copy of itself that lives in a cloud-computing environment on remote servers. The prototype runs on Google's Android mobile operating system and seamlessly offloads processor-intensive tasks to its cloud-based double. Details of the project will be revealed at the HotOS XII conference in Switzerland later this month.
It's a trick not unlike the way that many Web-based applications, such as Google Docs, run on remote servers. The difference is that because CloneCloud creates a perfect copy of the phone's software, it can take on literally any processor-intensive task that it calculates it can do faster than the phone itself, after weighing the amount of time and battery life required to transfer the required data.
The big benefit of CloneCloud is battery-life extension, which would naturally follow from lower utilization of the phone's CPU. Chun imagines that this could become a competitive advantage for vendors, like free voice mail or unlimited data plans.
But CloneCloud wouldn't just make smart phones more efficient: it could also make them more capable. A test application developed by Chun performs face recognition on photos. It required 100 seconds of processor time on a standard Android phone, but it finished in only one second when run by a clone of the phone running on a desktop computer. Because the software runs on a cloud-computing platform, it can be scaled in terms of the amount of both memory allocated and processing power, both of which increase performance on computationally intensive tasks.
Security could be an important potential application of CloneCloud. Ya-Yunn Su, a researcher at NEC Laboratories, in New Jersey, who previously developed a prototype system similar to CloneCloud, notes that "as smart phones become mini general-purpose computers, more of the problems we see in desktops, like viruses, will become smart-phone problems." Virus scans, which involve checking the entire file system of a device, are exactly the sort of process that Chun envisions CloneCloud accomplishing in the background, even while the smart phone is off.
On the other hand, like all cloud-based services, CloneCloud could create a whole new class of security vulnerabilities--the sort that arise when all of a user's private data is stored on publicly accessible servers. "Even after you address the technical issues, how can you get users to trust the cloud?" asks Su.
Maniatis, Chun's collaborator on CloneCloud, notes that the team is working on a number of different methods to secure CloneCloud. One approach, known as "private data disclosure detection" or "taint checking," examines all of the variables in a program that could be affected by inputs from outside sources, in order to detect whether these inputs contain data inserted for malicious purposes. Taint checking is extremely processor intensive, which means that CloneCloud could be a unique enabler for it on mobile devices. "We're using execution in the cloud to run e-mail applications in an environment where you can do this emulation without waiting for the heat death of the universe for your smart phone to finish," says Maniatis.
CloneCloud could be bedeviled by another issue that prevented earlier research into offloading computation from mobile devices from being commercialized: network latency and bandwidth limitations. "When they did research on this in the late '90s," says Chun, "their wireless connection was a modem, 28.8 kbps. You can imagine that sending data on this connection could take quite a long time." Smart phones now use much faster wireless technologies: Wi-Fi, 3G, Bluetooth, and, eventually, 4G and WiMax. But the speed of the phone's connection and the power consumption required to transmit data may still limit the kinds of tasks for which CloneCloud can be used.
Chun says that network latency can be masked: the phone could guess what the outcome of a particular process might be and proceed until told otherwise, for example. But it's clear that some applications, like games, would require connections faster than those currently available and might rapidly drain a phone's battery.
Ultimately, Chun envisions that the research behind CloneCloud will help intelligently shuffle tasks to the fastest, or most power-efficient, processor in a data center. This application is especially relevant at Intel, which makes everything from the energy-sipping Atom processors used in netbooks to powerful (and power-hungry) Nehalem processors used in Web servers. "There will be a family of heterogeneous devices, and you would like to move the computing job to the one that makes most sense; from that standpoint, it is a great idea," says Knies.
The same approach could someday allow a computing environment to be unshackled from any one particular device. "You could come home and sit down at a mobile Internet device and have it transfer content and calculations to your desktop PC," says Knies. "You could imagine what that would enable in terms of sharing information between devices in the home and the mobile device you have on you all the time."