Migrating Android Applications to the Cloud

Migrating Android Applications to the Cloud

Shih-Hao Hung (National Taiwan University, Taiwan), Jeng-Peng Shieh (National Taiwan University, Taiwan) and Chen-Pang Lee (National Taiwan University, Taiwan)
DOI: 10.4018/978-1-4666-0879-5.ch413
OnDemand PDF Download:
No Current Special Offers


Recently, smartphone technologies have evolved quickly and offered end users the computing power and networking capabilities required to perform useful network and multimedia applications. However, due to limited physical sizes and battery capacities, the current generation of smartphones cannot yet fulfill the requirements of sophisticated applications of which personal computers are capable. One way to solve this problem is to minimize the workload on a smartphone as much as possible by offloading portions of an application to a server. The solution is particularly attractive today as cloud computing provides the needed server resources at relatively low costs. This paper proposes a novel, lightweight application migration mechanism for the users of smartphones to suspend the execution of applications and offload them to the cloud. The authors also developed a framework to perform Android applications efficiently with virtual phones in the cloud with a virtual storage. This paper discusses the migration mechanism and evaluates its effectiveness on the Android smartphone. This approach may effectively offload workload for Android applications even with low-speed mobile network.
Chapter Preview


Smartphones have evolved rapidly during the last three years. Thanks to the advances in processor, memory, flash storage, mobile communication, and software, smartphones have enabled sophisticated applications for mobile users. The current leading brands for smartphones in the market, Apple iPhone, Microsoft Window Mobile, BlackBerry RIM, and Google Android, all support applications such as multimedia playback, Internet browsing, email, voice mail, social networks and location-based services. Still, the limited hardware resources and the constrained battery capacities have strongly impacted their user experiences (Chun & Maniatis, 2009).

On the other hand, in a modern datacenter, cloud computing has changed the infrastructure of computation, data storage, networking, and software architecture, as well as the business model for providing the resources and applications to the users. Numerous innovative and powerful cloud-based services have been pushed to the public with low amortized operational costs (Armbrust et al., 2009). For example, Google has made many useful services available to users: Gmail, Google Map, Goggle Docs, YouTube, etc., and many of them are free.

Today, many smartphone users take advantage of low-cost or free cloud-based services. The combination of smartphone and cloud-based service has worked quite successfully and has become very popular, as it essentially offloads computational workload and data storage from the user's smartphone. That way, an application could consume less power by having most of the application workload performed by a cloud-based service.

However, as cloud-based services become popular, security and privacy issues have also been raised. Many users would not use a cloud-based service to handle their critical data and tasks, unless the service provider can guarantee the security of their data and protect their privacy. Facebook has long been criticized for privacy risks. Thus, mechanisms besides public services are needed for offloading workloads for smartphone applications.

Depending on how a cloud infrastructure is exposed as a service to the user, there are so called service models which are commonly used to categorize a cloud-based service. For example, infrastructure as a service, also known as IaaS, is a type of service which delivers a computational infrastructure - typically in the form of a virtualization environment or a virtual machine.

One could take advantage of the low infrastructure cost offered by IaaS to set up an environment and perform computation on-demand. This approach may offer a secure and private environment as the user controls the environment and may protect the work and data handled in the environment with security measures. Following this model, we have developed a framework for facilitating a virtual environment, called virtual phone, to perform smartphone applications via IaaS.

Many previous research works were focused on the partitioning of application workloads or re-design of applications (Balan, Flinn, Satyanarayanan, Sinnamohideen, & Yang, 2002; Cuervo et al., 2010; Flinn, Narayanan, & Satyanarayanan, 2001). Our framework is designed to (1) make it easy to deploy application to the cloud by the control of end user, (2) allow users to create a virtual phone in the cloud (3) provide a lightweight method to migrate application states between Android and the cloud, (4) keep the data storage synchronized at best and reduce unnecessary network traffic, (5) offer an end-to-end secure communication channel and encrypted file system to protect user data.

Application migration and data synchronization are key issues in our framework. For offloading smartphone applications, these key issues are sensitive to the characteristics of a mobile network, e.g. bandwidth, latency, connectivity, and cost. Thus, traditional solutions developed to offload desktop applications or migrating server workloads may not work well.

In this paper, we discuss our migration mechanism, the performance issues and data storage associated application migration, and evaluate its effectiveness on the Android smartphone. By July of 2010, there had been more than 100000 Android applications developed as claimed by AndroLib (TechCrunch, 2010), and migrating these existing applications with no code modifications was quite challenging.

Complete Chapter List

Search this Book: