What do you call an artificial system that simulates a network of hundreds of thousands of Android devices, allowing to predict the behavior of said devices in case of new app, malware or unforeseen technological breakdown? If your answer was “The Matrix,” then somewhere the Wachowski siblings would like to thank you, but the real answer is something far more entertaining than any amount of Keanu Reeveses staring blankly at the screen. World, meet the MegaDroid.
The MegaDroid is the creation of researchers at California-based Sandia National Laboratories, and virtually simulates 300,000 separate Android devices in an attempt to analyze the reactions of large-scale networks to any number of situations. According to computer scientist John Floren, the MegaDroid is completely insulated from all other networks in the world, but nonetheless offers a realistic network environment inside itself, complete with full domain name service, Internet relay chat server, web server and multiple subnets. It even includes a fake GPS system so that the fictional users of the multiple Android devices being simulated can be tracked in different environments to see whether environment would have any effect on the particular data being studied, and also whether areas without WiFi or Bluetooth impact service significantly.
The need for MegaDroid is explained by Floren very simply: “You can’t defend against something you don’t understand,” he says, pointing to the system’s use in running simulations that will allow Android users to be protected against cyber attack or disruption of service from more benign sources. It’s something echoed by Sandia’s David Fritz, who says that, although “smartphones are now ubiquitous and used as general-purpose computing devices as much as desktop or laptop computers,” they remain easy targets for those seeking to disrupt the system. “No-one appears to be studying them at the scale we’re attempting,” he added.
Continuing, Fritz said that “It’s possible for something to go wrong on the scale of a big wireless network because of a coding mistake in an operating system or an application, and it’s very hard to diagnose and fix. You can’t possibly read through 15 million lines of code and understand every possible interaction between all these devices and the network.”
MegaDroid uses data gleaned from 2009′s MegaTux project, in which Sandia ran a million virtual Linux machines (They have also created MegaWin, which runs multiple Windows OSs simultaneously; clearly, they find mass production very attractive). The experience helped when it came to duplicating the surprisingly complex Android code, with Google’s coding running on top of Linux. Sandia plans to make much of MegaDroid open source once the bugs have been worked out, with Fritz explaining that decision with remarkable ease. “Tools are only useful if they’re used,” he said. What would you do with 300,000 Android devices…?