You are on page 1of 1

Eighth IEEE PerCom Workshop on Pervasive Wireless Networking 2012, Lugano (23 March 2012)

Offloading Android Applications to the Cloud without Customizing Android


Invited Paper
Eric Chen1, Satoshi Ogata2, Keitaro Horikawa1
1

Information Sharing Platform Laboratories, NTT Corporation, Tokyo, Japan 2 eflow Inc., Tokyo, Japan eric.chen@lab.ntt.co.jp seamlessly offloaded to a remote server hosted and maintained by a third-party service provider. The closest existing work to this vision is cyber foraging[2], which aims to offload heavy tasks of a mobile application to a so-called surrogate via WiFi. A surrogate can be a nearby computer or even another mobile device that is idle and more powerful than the device on which the application was originally installed. However, in spite of the fact that cyber foraging was first proposed a decade ago and has attracted numerous related research initiates[36], the concept has never been put to practical use. A number of possible obstacles include: the lack of incentives for nearby computers to become a surrogate, the lack of a sound mechanism to ensure security of both the client and the surrogate, difficulty to decide on an optimal offloading granularity, the necessity to modify the application and to incorporate offloading mechanism into the client OS. In this paper, we address these obstacles by proposing a framework design that utilizes the Android architecture. Android separates an application into activity (front-end user interactions) and service (back-end tasks). This separation yields a natural granularity for task offloading. This framework also utilize Android's AIDL (Android Interface Definition Language), which is used to assist an activity to invoke methods in a service, in a way that redirects invocations from an activity to an identical service that runs in a remote server. This allows us to achieve offloading without modifying application source code and Android OS in each Android device. Furthermore, our framework incorporates our previous work Virtual Smartphone over IP [7] as a dedicate server for each client to offload their tasks, and thus resolves issues faced by surrogate discovery. The remainder of this paper is organized as follows. In Section II, we describe our previous work and the motivations to extend it. Section III and IV outline the design requirements and prerequisites of our framework. Section V, VI and VII explain the inner workings of our framework in detail with the known limitations. Towards the end, we compare our framework with existing works in Section VIII and conclude this paper in Section IX. II. EXTENDING FROM OUR PREVIOUS WORK The framework proposed in this paper is an extension of our previous work on Virtual Smartphone over IP[7]. This previous work, as illustrated in Figure 1a), allows a user to create a virtual Android image, which we call Virtual Smartphone, in the cloud as a dedicated external execution environment of the users physical smartphone. The user can offload an entire application to the Virtual Smartphone and control the application through

AbstractSpreading more than twice as fast as PCs, smartphones are quickly becoming the primary mean for Internet access. However, smartphones today are still constrained by limited computation resources such as CPU, memory and battery. In this paper, we present a framework that automatically offloads heavy back-end tasks of a regular standalone Android application to an Android virtual machine in the cloud. This framework can be deployed in the application layer without modifying the underlying Android platform. It also features three metrics that consider total response time, energy consumption and remaining battery life in deciding whether a task should be offloaded. Keywords-smartphone; android; cloud; cyber foraging

I. INTRODUCTION Spreading more than twice as fast as PCs, smartphones are quickly becoming the primary mean for accessing various services on the Internet. Hardware manufacturers and software developers are racing to launch new models and applications to entice mobile users on a global scale. One of the key advantages of smartphones is their exceptional expandability that cannot be rivaled by any conventional feature phone. While the expandability of a conventional feature phone is often bounded by a carrier-specific system, most smartphones today are based on a common platform on which developers everywhere in the world can compete with each other to come up with killer-apps. Smartphones today are not only bringing the vision of accessing information anywhere and anytime[1] closer to reality, but also becoming more useful every day in various imaginative ways, such as augmented reality (AR), optical character recognition (OCR) of handwriting, speech recognition and natural language translation. However, the potential of these mobile applications are still constrained by the computation resources of a smartphone such as CPU, memory, storage and energy capacity, which are limited in comparison with PCs. To overcome these limitations, a common approach being used commercially today is Software as a Service (SaaS), in which a mobile application (runs as a web app or native app) is designed to collaborate with a designated web server. While this approach allows powerful servers to process compute-intensive tasks on the backend, developers have to implement server software and host servers by themselves. The cost of developing and maintaining a pair of client and server is far greater than that of a standalone application. These costs also limit the developers' resources to create and maintain other new applications using the same model. Ideally, developers should focus on developing interesting client applications and be oblivious of the offloading mechanism. The compute-intensive components should be automatically and

978-1-4673-0907-3/12/$31.00 2012 IEEE

788

You might also like