Testing how a smartphone app will work in the real world prior to release isn’t always a surefire bet, as the recent Apple Maps fiasco has shown.
But now Android smartphone app makers, phone companies, and other groups ranging from academia to the military have a powerful new potential tool: The MegaDroid, an Android smartphone simulator created by Sandia National Laboratories in Livermore, California.
The software is capable of simulating up to 300,000 different Android smartphones all running simultaneously, and even generates fake GPS data as if the phones were actually being toted around a city’s streets by users.
This allows prospective app makers, researchers and military personnel to test everything from new apps to malware infections to what would happen if all 300,000 smartphones suddenly turned on and began texting on the same cell towers at the same time.
“Anything that would cause a disruption to the devices and communications between them would be something we could model and simulate with this,” said Sandia researcher John Floren, one of the two primary researchers responsible for developing the MegaDroid, in an interview with TPM.
Check out a video explanation of the MegaDroid testbed from Sandia:
And eventually, Sandia plans to release the software for free on the open-source repository Github for other researchers to use.
“Three hundred thousand [virtual Android devices] is what we’ve done on our cluster,” Floren told TPM. “We’ve tried to create a flexible platform that can run all the way down to desktop hardware.”
In fact, Sandia’s own computer network behind the simulation was itself created from what’s called “commodity hardware,” cheap and readily available consumer PCs. At Sandia, MegaDroid runs on 520 “nodes,” or 520 individual PCs with Intel i7 four-core barebones innards with 12 cores of RAM.
Floren and his colleague David Fritz wrote the software that simulates the Android smartphones on top of these PCs, at first using Android 2.3 Gingerbread when they began their work “a little over a year ago,” as Fritz put it, but recently upgraded to Android 4.0 Ice Cream Sandwich.
Sandia has substantial experience in the area of creating virtual machine testbeds such as MegaDroid: The Department of Energy-funded national laboratory has also created similar software systems for networked Windows PCs (MegaWin) and Linux (MegaLinux) as part of its “Mega” project, which has been running since 2009.
But designing the MegaDroid proved to be the most challenging yet for Sandia’s Fritz and Floren, as in order to provide for an accurate reproduction of Android devices in the wild without actually buying a bunch of them and setting them loose (through users), they needed to write software to simulate just how and where those mobile devices would move throughout a physical geographic area — that is, where they were located at any given time.
“We want to create an environment that is as realistic as possible,” Fritz told TPM of the MegaDroid software.
Spoofing the location of the virtual machines was particularly important because conditions across the entire network change as the machines move, crossing in and out of the range of certain cell towers and WiFi networks, each at different speeds and different times.
In order to spoof GPS data, Sandia researchers used digital maps created by the OpenStreetMap project, a separate initiative from volunteers around the world to create a free digital crowdsourced world map. Specifically, the MegaDroid simulation has been tested on OpenStreetMap data for the real world locations of San Francisco and Livermore, where Sandia is located.
“In OpenStreetMap, a road is represented just as a collection of points, each defined as longitude and latitude,” said Floren. “In [MegaDroid] we have people moving from dot to dot.”
When a simulated virtual Android machine reaches an intersection, though, the MegaDroid software tells them to pick a certain direction at random.
“It seems to work pretty well,” Floren said.
And although Sandia is interested in the macroscopic level of how all its virtual Android devices interact with one another, the MegaDroid software also allows for Sandia researchers and any other potential user to zoom-in on a specific device to see what is happening to it during a simulation.
“You can zoom-in on specific devices in a number of different ways,” Fritz said.
And although Sandia’s goal is to keep the network free from actual outside interference, the artificial army of zombie MegaDroid Android devices is real enough that it can and has actually interacted with the real world.
“You can text and receive texts from virtual machines,” Fritz told TPM. “The phones can text each other and they can text outside machines as well.”
Fritz and Floren said that a publicly posted version of the MegaDroid software could come as early as the end of the year, but that sometime in 2013 was most likely.
Although Sandia is first and foremost a U.S. government lab, the MegaDroid researchers are also open to receiving solicitations from private companies looking to test their apps on the software, as well as academics, security researchers and other government agencies. A Sandia spokesperson told TPM that the laboratory would evaluate each and every request to use MegaDroid in turn on its merits.
However, as the U.S. military struggles to both harness the proliferation of smartphones among active duty personnel to aid operations while at the same time maintain security around the numerous disparate devices — Android, iPhone, Windows Phone, BlackBerry, etc — that have bloomed among the armed forces thanks to the “bring your own device” phenomena, it’s clear that MegaDroid could provide a huge opportunity to help the troops as well.
“We are interested in transitioning this technology to help the Department of Defense and the Department of Homeland Security,” said a Sandia labs spokesperson to TPM.
Fritz and Floren also see a role for their MegaDroid software in crisis response.
“There are numerous applications on the natural security front,” Floren told TPM. “Think of a natural disaster such as Hurricane Katrina. Imagine using a fleet of mobile phones as a sensor bed. Members of the Navy or FEMA could take pictures of the affected areas with the cameras on their phones and quickly build a 3D map. That’s the kind of thing you may be able to test [with MegaDroid].”
Right now, Sandia is working on preparing demonstrations of the software for interested parties, but the overarching “Mega” program still has another years worth of funding on it, so more virtualization testbeds may be in store.
Fritz and Floren noted that while they could probably tweak MegaDroid to support the customized builds of Android used by Amazon in its Kindle Fire devices and Barnes and Noble in its Nook devices, they hadn’t yet tried. Both researchers also agreed that it would take substantially more time and rebuilding from scratch to create a version capable of simulating Apple’s iOS devices, namely the iPhone and the iPad.