by Georgios Larkou, Panayiotis Andreou, Andreas Konstantinidis and Demetrios Zeinalipour-Yazti
SmartLab is a first-of-a-kind open cloud of smartphones that enables a new line of systems-oriented mobile computing research.
The year 2011 marked the beginning of the post personal computer (PC) era, as the number of smartphone shipments exceeded, for the first time in history, the sales of all types of PCs combined (ie, notebooks, tablets, netbooks and desktops). According to IDC’s “Worldwide Mobile Phone 2012-2016 Forecast and Analysis”, Android is projected to dominate the future of the smartphone industry with a share exceeding 53% of all devices shipped in 2016. Currently, an Android smartphone provides access to more than 650,000 applications and those apps introduce unprecedented possibilities, knowledge and power to humankind.
Re-programming smartphones and instrumenting them for application testing and data gathering is currently a tedious, time-consuming process that poses significant logistical challenges. To this end, we have implemented and demonstrated SmartLab , a first-of-a-kind open Infrastructure-as-a-Service (IaaS) cloud that enables fine-grained control over both real and virtual smartphones via an intuitive web-based interface. Our current infrastructure is ideal for scenarios that require fine-grained and low-level control over real smartphones, eg, OS, Networking, DB & storage, security, peer-to-peer protocols, but also for scenarios that require the engagement of physical sensors and geo-location scenarios. Our preliminary edition has been utilized extensively in-house for our research and teaching activities [2,3] but it has also been open to selected research groups around the globe. SmartLab provides a diverse, high-availability platform that can be utilized by the mobile computing research community to engage more effectively in systems-oriented research on smartphones.
SmartLab’s hardware comprises 40+ Android smartphones and our data centre that encompasses over 16TB of RAID-5 / SSD storage on an IBM X3550, as well as 220GB of main memory on 5 IBM / HP multiprocessor rackables. SmartLab supports a variety of connection modalities. In particular, most of our devices are connected to the server with USB hubs. Additionally, a number of smartphones are connected from within our DMSL research lab (in the same building) through the network on virtual servers that reside on our data centre. The given mode is particularly promising for scenarios we want to apply to scale our testbed outside the department. Finally, a few devices within the department are also wirelessly connected using WiFi.
SmartLab supports four modes of user interaction with the smartphones: i) Remote Control Terminals (RCT), a web-based remote screen terminal for Android, developed in-house using Ajax that mimics touch screen clicks and gestures among other functionalities; ii) Remote Shells (RS), a web-based shell developed in-house with Ajax that enables a wide variety of UNIX commands to be issued to the Android Linux kernels; iii) Remote Scripting Environment (RSE), which allows users to author Android MonkeyRunner automation scripts (written in python) and upload them to the devices to perform automated tasks; and iv) Remote Debug Tools (RDT), which provide web-based debugging extensions to the Android Debug Bridge (ADB). Through these tools, SmartLab facilitates research in smartphone network programming environments, communication protocols, system design and applications.
In the near future, we are planning a number of exciting extensions for SmartLab. Firstly, we are integrating a prototype Apache HBase installation within our data centre, to store sensor readings in a tabular and scalable (ie, column-oriented) format. The given store can be utilized to store billions of sensor readings that can be fed to our GPS/Sensor Mockup subsystem. Additionally, we are currently working with local telecommunication companies in order to obtain 3G data time for our mobile fleet, and local transportation companies, which will be moving our devices around within a city. This will allow testing of algorithms, protocols and applications within a real mobile urban environment, thus providing a first-of-kind open mobile programming cloud. Furthermore, we are developing a Web 2.0 JSON-based API of our testbed using the YII framework. In particular, this effort will allow users to access the subsystems of our testbed in a programmable manner (ie, Web 2.0 JSON interactions). Finally, we are also looking into mechanisms for supporting security and privacy experiments.
 A. Konstantinidis et al: “Demo: a programming cloud of smartphones”, ACM Mobisys '12
 D. Zeinalipour-Yazti et al: “Crowdsourced Trace Similarity with Smartphones”, IEEE TKDE, 2012
 G. Chatzimiloudis, et al: “Crowdsourcing with Smartphones”, IEEE Internet Computing, Volume 16, 2012.
Department of Computer Science
University of Cyprus
Tel: +357 22 892755