“Mobile Cloud Computing:Challenges and Opportunities Case Study”

A Project submitted in partial fulfillment of the requirementsfor the degree of

Master of Science in Computer Science

SUNY Institute of Technology at Utica/Rome

Department of Computer Science

By: Parul Gupta

Advisor: Professor Dr. Jorge Novillo

Abstract

Cloud computing is a technique which provides services and data to the client on a demand basis through the web. The data is held at service provider server rather than individual devices. Cloud computing is an application used by web business, individuals, large scale businesses and data servers. It is also gaining significant importance in mobile device applications where it is termed as “Mobile Cloud Computing”. As we all know that these days every company is trying to come up with smaller size, lower weight and longer battery life mobile devices, the cloud computing might become the need for the future. “ Gartner predicts that there will be over 20 times more mobile cloud based programs in 2014 compared to 2010 [7]”. Mobile cloud computing can give mobile device users a wide number of advantages. One of the benefits is offloading the resource intensive computing to the cloud to gain the cost advantages of software and hardware. Since the cloud computing runs through the browser, it gives much desired flexibility to the user to access any program and any application without restricting itself to the operating system in the mobile device. The popular devices pushing this growth are the Apple iPhone and Google Android products.

Despite of numerous benefits of mobile cloud computing, there are some inherent challenges to this technology. The main goal is to minimize the response delay time when running applications on cloud. The few other challenges are low latency networks, high bandwidth, battery saving applications and optimization of application execution between device and cloud. Mobile devices use most energy in network connectivity and display. It is therefore important to optimally balance which application to be run on cloud and device. For example, in immersive applications such as videoconferencing uses most energy and requires high network connectivity whereas a non-display application like audio podcast is a well-suited application for running on cloud. The network latency on 3G mobile network is about 200ms which is quite high for running a high intensity application like Youtube videos. It is therefore required to have a cloud service center to be close to the device or use of WiFi. There is no doubt these challenges will be taken care of in the years to come and this technology will be the future of the mobile device world.

Table of contents

(1) Introduction

a. What is mobile cloud computing?
b.How does it impact the mobile internet services?
c. Who uses it and what is the market size?
(2) Architecture

a. Basic elements of mobile cloud computing
b. Different kinds of architecture set up

(3) Current Applications

a. What are various mobile cloud services?
b. Who is providing these services?

(4) Challenges and possible solutions

a. What are the major technological challenges?
b. Current research in the field and possible solutions

(5) Future of Mobile Cloud Computing

Introduction

Mobile devices are increasingly becoming a part of the day to day life. The mobile cloud computing is a concept which inherits the advantages of the cloud computing to overcome the limitations of the mobile devices in processing power and data storage. Cloud computing is a service provided to users through the internet on a demand basis. It is not a new term anymore since for few years it has been used for applications like web-based emails, photos and video sharing, social networking sites and many more. But only recently, it has expanded to the mobile world and termed as “Mobile Cloud Computing” in the field.

What is mobile cloud computing?

Mobile cloud computing is simply cloud computing in which shared resources, software and information are provided to the users on mobile devices such as smart phones and tablets. Mobile devices suffer with many constraintsbecause of the importance and requirement of smaller sizes, lower weights, longer battery life and other features. This often limits the hardware and software development for these devices. Mobile cloud computing is an effort to overcome these constraints by letting the more resource intensive tasks be performed on remote systems and having the results sent back to the device. Therefore the cloud computing for mobile devices is quite appealing and potentially profitable trend.

Cloud computing has created a lot of interest for small and medium enterprises as they can use IT services without spending money on buying of servers and support facilities. They get immediate access to a wide range of applications on a demand basis.There are currently only a few well known mobile cloud applications for consumers and many more are in development. Mobile cloud computing will become the predominant way of running mobile applications in the near future. The main advantages to mobile cloud computing are:

  • Universal Application: Applications hosted in the cloud eliminate the need for being tied to a single cell phone service provideror mobile device.
  • CapabilityEnhancement:Mobile devices do not have sufficient processing power or memory space that is required for intensive applications. Cloud computingprovides a remarkable leap in functionality and the amount of data the application can access.
  • Data Backup: Mobile devices can be failed, lost or sometimes destroyed which results in loss of data. But with cloud computing critical data is preserved as it is stored on the cloud and not on the device.
  • Reduced Set-up & Maintenance Cost: It saves money because users pay only for the services and infrastructure they use and it is easier to scale up and down as needed.

Mobile cloud computing creates various new opportunities for mobile network operators. Any emerging 3G or 4G operator can benefit from mobile cloud services by allowing them to installadvanced communication services, give them a platform for new application development and manage legacy services at a low cost.

“Gartner predicts that mobile cloud computing will reach a market value of the US$9.5 billion by 2014[7]”. “According to the latest statistics from the Ministry of Industry and Information Technology, the number of 3G mobile users in China now exceeds 80 million or 9.5 percent of all mobile users nationwide. Sales of smart phones reached 62 million in 2010 and 19.07 million handsets were sold in Q1 2011; sales of smart phones accounted for approximately 30 percent of all mobile phone sales, up from 19.2 percent in Q1 2010 according to research firm Analysis International[8]”.

In spite of several advantages and enormous growth potential for this technology,there are still many barriers to overcome for improved performance. “For a mobile cloud computing to reach its full growth and usefulness, the following three major challenges need to be addressed:

  • Lowernetwork latency to achievebetter application and code offload interactivity.
  • Increased network bandwidth for faster data transfer between the cloud and devices.
  • Adaptive monitoring of network conditions to optimize network and usage costs against the user’s supposed performance of cloud applications. [6]”

The above-mentioned challenges are not easy to accomplish, but service and network providers are already making important advancements to improve the mobile cloud experience. This study explains the above challenges to the technology and existing solutions to overcome them.

Architecture

Existing work in the field classifies the mobile computing architecture into three main application models. These models are described based on their capabilities of offload processing, storage and security for mobile device applications.

“Augmented Execution”

“Augmented execution is a technique that is used to overcome the limitations of smart phones in terms of computation efficiency, memory and battery life. Chun and Maniatis[1] propose architecture that addresses above mentioned challenges by simply offloading execution from the mobile device to computational infrastructure that is cloud, where a cloned replica of the mobile device’s software is running”. While mobile devices host some computation and memory operations, many are offloaded to the cloud and eventually the results from the augmented execution are reintegrated upon completion. This approach for offloading intensive computations creates a false impression that the mobile user has a more powerful, a feature-rich device than it actually is in real.

Fig.1.CloneCloud categories for augmented execution (adapted from [1])

Figure1 shows various categoriesof augmented execution for mobile phones. The first is primary functionality outsourcing which is more like a client-server application. Second is the background augmentation which is good for independent separate processes that runs in the background such as virus scanning. Another one is mainline that incorporates both primary and background augmentation. There is few more like ‘hardware’ where a similar copy runs on more powerful virtual machine and ‘multiplicity’ tohelp for parallel executions.

“A similar approach of using virtual machine technologies to execute the computation intensive software from a mobile device is presented by Satyanarayanan et al. [2]. In his architecture, a mobile user exploits VMs to rapidly start the customized service software on a nearby cloudlet and uses the service over wireless LAN. A cloudlet is a trusted, resource rich computer or a cluster of computers well connected to the Internet and is available for use by nearby mobile devices”. The use of cloudlets eliminates the long delays introduced by wide-area networks for accessing the cloud resources. The low-latency, one-hop, high bandwidth wireless access to the cloudlet helps in better responsiveness and interactivity to the device. The mobile client just acts as a thin client and all significant computation taking place in a nearby cloudlet. This approach uses the dynamic VM synthesis technique as shown in figure 2.

Fig.2. Dynamic virtual machine synthesis timeline (adapted from [2])

“Elastic Partitioned/Modularized Applications”

The optimized application processing on mobile devices requires the dynamic partitioning of applications and remote execution of some components on a cloud infrastructure. “Giurgiuand his team [3] developed an application middleware that automatically distributes the different layers of an application between the device and the server while optimizing parameters such as latency and data transfer. A distributed module management automatically and dynamically determines when and which application modules should be offloaded, in order to achieve the optimal performance or the minimal cost of the overall application. Giuriu and his team use the AlfredO [4] framework to perform the distribution of the application modules between the mobile device and the server”. The framework supports the decomposition and distribution of the presentation and logic layer of the applicationwhile keeping the data layer always on the server side.

“Ad-hoc Mobile Clouds”

An ad-hoc mobile cloud is a group of mobile devices that serve as a cloud computing provider to othermobile devices by sharing their resources. This mobile cloud computing techniqueis useful in events of low network connectivity. The resource sharing between the mobile devices could potentially reduce data charges in the event of out of network/international roaming.“Huerta-Canepa and Lee [15] present guidelines for a framework to create virtual mobile cloud computing providers. This framework avoids a connection to infrastructure-based cloud providers while bringing benefits of computation offloading via peer mobile device services. The “Hyrax project” [16] makes use of the Hadoop framework on mobile devices to share data and computation. Cao and his team [17] presented a middleware that allows access from mobile devices to a bundle of multimedia services to others.”

Current applications

The growth in the number of mobile applications emerging everyday has changed the mobile cloud market radically. Today, more than 60% of the world’s population has access to mobile devices[10].

“Cloud Email”: This is one of the most used applications on mobile devices. A good example is Google’s Gmail. All the emails are stored on Gmail’s server whereas the processing is done on cloud.

“Cloud Music”: This is the current phenomenon of getting “Music Anywhere” to users such as ITunes.It allows customers to access their music collection anytime, anywhere using their mobiles.Cloud music and movie streaming is seen as a predominant distribution channel by the entertainment industry in the near future.

Cloud Mobile Desktop”: It is a universal storage device which can be accessed via a computer system or a mobile device. Many companies offer these services by allocating fixed space to a user in a cloud and provide access to it through the internet.

“Cloud Print”: It is anapplication to take a printout from different devices (web, desktop, or mobile) to any printer anywhere in the world.This is still in a nascent stage and not commercially available to general public use. Google is planning to release an Android application for “Cloud Print” in the near future.

“Cloud Video” and “Cloud Photo”are also some applications that are still in development phase.

“Mobile Me by Apple”: Mobile Me is a cloud service by Apple that allows users to synch all their mobile devices”. It provides services for mail, contact, calendar syncing through a cloud storage space. A recent development is the MobileiDisk application that enables cloud iTunes and streaming services.

Challenges and Proposed Solutions

There are several issues need to be addressed to gain maximum benefits in terms of usefulness and capabilities. The main challenges are connectivity, performance and security. It is not easy to accomplish all of them, but network and service providers are already making significant advancement to improve the mobile cloud experience. Below are the various key challenges that were identified with their proposed possible solutions.

CONNECTIVITY

Since all mobile cloud computing services are available online, internet connectivity is very important to access them. The three major characteristics of a wireless connection are “Always-on connectivity feature for a low data rate cloud control signaling channel, On-demand available wireless connectivity with a scalable link bandwidth and network selection with it’s use computation to take energy-efficiency and costs into account” [23].

The biggest challenge is to guarantee a wireless connectivity with respect to scalability, availability, energy and cost efficiency for mobile cloud computing. Access management is very important for Mobile Cloud Computing. A possible solution is to use context and location information to optimize it. A wide variety of applications in today’s world have strong access management schemes. These services exploit data collected from terminal sensors such as GPS, proximity detector and network sensors to measure the network status and load. Consumer applications and network services both utilizesthe information.

Several new technologies are available that intelligently uses the network resources to reduce latency. For example, HTML5 offers data caching, which allow users to experience less problems due to intermittent network performance or network congestion. An advance mobile network monitoring system enables dynamic traffic re-routing and swapping between cells based on traffic load patterns and user location.

PERFORMANCE

An important issue with the mobile cloud is the resource scarcity of mobile devices. Compared to desktop computers, they have smaller screen, less memory, less computation power, and battery capacity limits. “Because of resource scarcity, the mobile cloud is most often viewed as a SaaS cloud, meaning that computation and data handling are usually performed in the cloud and mobile device acts as a remote display, capturing user input and rendering display updates received from the distant server[27]”. Smart phones often access the cloud through web browsers or thin clients. Varying wireless channel conditions, short battery lifetime and interaction latency introduce major challenges for the remote display of many cloud applications on mobile devices.

Overcoming the limited battery lifetime:

At first sight, offloading applications to the cloud is a straightforward way to save on energy consumption because the amount of local processing is reduced. Local processing is however traded off with network bandwidth consumption, and the bidirectional communication with the application server incurs additional drains from the battery to the wireless network interface card (WNIC). Kumar and his team have modeled this tradeoff and conclude that offloading applications from mobile devices is useful only when large amounts of computation are needed in combination with relatively small amounts of network communication. Demanding applications exchange a significant amount of data between client and server because they exhibit a high degree of interactivity and detailed graphics. For example, walking around in a 3D virtual environment or rotating 3D medical images. According to Kumar’s model, this is not beneficial from an energy perspective. To optimize the energy balance, it is important to study the WNIC energy consumption and develop energy optimizing strategies. The WNIC energy consumption is the product of the number of bytes exchanged over the wireless interface, and the energy cost per byte. Liang and his team [22] used the cross layer identification of WNIC sleep opportunities to reduce the amount of exchanged data for efficient compression techniques. An average energy cost per byte is determined by the distribution of the time over the four possible WNIC states: send, receive, idle and sleep mode. It is because in each state a specific set of components is activated, the WNIC power consumption largely differs between the different states.

Overcoming the latency:

The network latency increases with distance, and the number of network nodes that the data needs to pass. It is therefore important to move the application as close to the user as possible. The strategies to reduce the interaction latency could be achieved either by reducing the propagation delay by deploying the application on proximate infrastructure or by reducing the synchronization between client and server using key objects or frame caching. “Ericsson, for example, made a strategic partnership with Akamai to enable service providers that run on Ericsson infrastructure to move the internet traffic wisely based on user location and also add caching capabilities to a mobile network.[12]” This results a better user experience and advance mobile e-commerce.The best way to minimize the latency and save bandwidth is to movedata dynamically towards the mobile user. Other solutions such as scene object caching, buffering of key images for virtual environments and computing display updates in advance were also proposed for fast and the better remote display [22].