Building a Cloud-Based Mobile Application Testbed

Building a Cloud-Based Mobile Application Testbed

Hamilton Turner, Jules White, Jeff Reed, José Galindo, Adam Porter, Madhav Marathe, Anil Vullikanti, Aniruddha Gokhale
DOI: 10.4018/978-1-4666-2919-6.ch040
(Individual Chapters)
No Current Special Offers


A proliferation of mobile smartphone platforms, including Android devices, has triggered a rise in mobile application development for a diverse set of situations. Testing of these smartphone applications can be exceptionally difficult, due to the challenges of orchestrating production-scale quantities of smartphones such as difficulty in managing thousands of sensory inputs to each individual smartphone device. This work presents the Android Tactical Application Assessment and Knowledge (ATAACK) Cloud, which utilizes a cloud computing environment to allow smartphone-based security, sensing, and social networking researchers to rapidly use model-based tools to provision experiments with a combination of 1,000+ emulated smartphone instances and tens of actual devices. The ATAACK Cloud provides a large-scale smartphone application research testbed.
Chapter Preview


A growing trend in computing systems is the use of smartphone computing platforms, such as Google Android, the iPhone, and Windows Phone 7, as the basis of distributed mobile and social applications. This trend towards the use of smartphone platforms has been driven, in part, by their fast proliferation. For example, in the 3Q of 2010, Apple shipped approximately 2 million PCs and the largest market share holder, HP, shipped 4.59 million (Chou, O’Donnell, & Shrirer, 2010). During that same quarter, Apple shipped over almost 13.5 million iOS devices and other manufacturers shipped 20.5 million Android devices (Tudor & Pettey, 2010). Both smartphone computing platforms sold 3 to 4 times as many devices as the leading PC manufacturer.

A diverse set of research communities has begun intensive exploration into the ramifications of the ubiquitous computing environment created by the pervasiveness of smartphones. For example, researchers are investigating the intersections of mobile computing and social networks using a variety of techniques (N Eagle & Pentland, 2005; Kempe, Kleinberg, & Tardos, 2003; Miluzzo et al., 2008). Security researchers are looking at the ramifications of emerging malware threats to mobile computing platforms (H. Kim, Smith, & Shin, 2008; Lawton, 2008; Leavitt, 2005). Other investigators have focused on mechanisms to monitor the physical world using mobile crowdsourcing (Alt, Shirazi, Schmidt, Kramer, & Nawaz, 2010; Nathan Eagle, 2009; T. Yan, Marzilli, Holmes, Ganesan, & Corner, 2009), citizen scientists (Aoki et al., 2008; Burke et al., 2006), and opportunistic sensing (A T Campbell, Eisenman, & Lane, 2008; Mohan, Padmanabhan, & Ramjee, 2008; Tong, Zhao, & Adireddy, 2003).

Although there are a large number of research communities that are investigating smartphone-based computing paradigms, researchers are limited in the scale and accuracy of the systems that they can build, emulate, and test (Ahmed Alazzawe, Alazzawe, Wijesekera, & Dantu, 2009; Chintapatla, Goulart, & Magnussen, 2010; Heo, Terada, Toyama, Kurumatani, & Chen, 2010; Rensfelt, Hermans, Gunningberg, & Larzon, 2010). Static distributed computing testbeds, such as Emulab, exist to provide a mechanism for testing various network protocols, middleware and other predefined static features (Burtsev, Radhakrishnan, Hibler, & Lepreau, 2009; Casanova, 2002; Hibler et al., 2008; K. H. Kim, 1989; Matos & Grasser, 2010; Zhang, Freschl, & Schopf, 2003). Mobile computing environments, however, are subject to additional constraints that make using static computing environments to simulate mobile computing environments inaccurate. Static distributed computing testbeds are not effective for simulating mobile device interactions for the following reasons:

  • Device location and context can significantly impact application behavior. Performance is affected by the current physical position of mobile devices in the network. Existing distributed experimentation platforms are focused on emulating or providing static resources, such as blade servers. Context, however, has a major impact on mobile devices and software. Mobile computing experimentation environments must be able to account for changes in context to provide realistic results.

  • Social networks dynamically change the interaction of applications. In most existing distributed testbeds, communication patterns are fairly static and do not dynamically change based on an underlying social network. The communication between mobile devices is heavily influenced by the user’s social network and behavior, which co-evolves with the communication network. Events occurring in either the social network or trigger secondary events to occur in both the original network and in other communication channels. Building and simulating these dynamic realistic social networks for experimentation is challenging.

  • Wireless protocols and approaches have a large influence on performance. Real-world mobile devices are constantly dealing with changing signal conditions, lost packets, and other communication challenges. It is difficult to accurately simulate and predict how a given set of wireless protocols and communication technologies will impact mobile application performance.

  • Network failures can often lead to unexpected issues. Network failures, especially the loss of nodes (including losses due to natural or man-made disasters) can lead to unforeseen consequences that are only revealed for large-scale experimentation. Understanding the failure modes and potential responses to the failure modes can help in retuning the network to adjust to losses infrastructure.

Complete Chapter List

Search this Book: