A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches


A Survey of Mobile Cloud Computing : Architecture, Applications, and Approaches

Hoang T. Dinh, Chonho Lee, Dusit Niyato, and Ping Wang

Abstract


Together with an explosive growth of the mobile applications and emerging of cloud computing concept, mobile cloud computing (MCC) has been introduced to be a potential technology for mobile services. MCC integrates the cloud computing into the mobile environment and overcomes obstacles related to the performance (e.g., battery life, storage, and bandwidth), environment (e.g., heterogeneity, scalability, and availability), and security (e.g., reliability and privacy) discussed in mobile computing. This paper gives a survey of MCC, which helps general readers have an overview of the MCC including the definition, architecture, and applications. The issues, existing solutions and approaches are presented. In addition, the future research directions of MCC are discussed.

I. INTRODUCTION

Mobile devices (e.g., smartphone, tablet pcs, etc) are increasingly becoming an essential part of human life as the most effective and convenient communication tools not bounded by time and place. Mobile users accumulate rich experience of various services from mobile applications (e.g., iPhone apps, Google apps, etc), which run on the devices and/or on remote servers via wireless networks. The rapid progress of mobile computing (MC)  becomes a powerful trend in the development of IT technology as well as commerce and industry fields. However, the mobile devices are facing many challenges in their resources (e.g., battery life, storage, and bandwidth) and communications (e.g., mobility and security). The limited resources significantly impede the improvement of service qualities.Cloud computing (CC) has been widely recognized as the next generation’s computing infrastructure. CC offers some advantages by allowing users to use infrastructure (e.g., servers, networks, and storages), platforms (e.g., middleware services and operating systems), and softwares (e.g., application programs) provided by cloud providers (e.g., Google, Amazon, and Salesforce) at low cost. In addition, CC enables users to elastically utilize resources in an on-demand fashion. As a result, mobile applications can be rapidly provisioned and released with the minimal management efforts or service provider’s interactions. With the explosion of mobile applications and the support of CC for a variety of services for mobile users, mobile cloud computing (MCC) is introduced as an integration of cloud computing into the mobile environment. Mobile cloud computing brings new types of services and facilities for mobile users to take full advantages of cloud computing.
This paper presents a comprehensive survey on mobile cloud computing. Section II provides a brief overview of MCC including definition, architecture, and its advantages. Section III discusses the use of MCC in various applications. Then, Section IV presents several issues that arise in MCC and approaches to address the issues. Next, the future research directions are outlined in Section V. Finally, we summarize and conclude the survey in Section VI. The list of acronyms appeared in this paper is given in Table I.
II. OVERVIEW OF MOBILE CLOUD COMPUTING

The term “mobile cloud computing” was introduced not long after the concept of “cloud computing” launched in mid-2007. It has been attracting the attentions of entrepreneurs as a profitable business option that reduces the development and running cost of mobile applications, of mobile users as a new technology to achieve rich experience of a variety of mobile services at low cost, and of researchers as a promising solution for green IT. This section provides an overview of MCC including definition, architecture, and advantages of MCC.
A. What is Mobile Cloud Computing?
“Mobile Cloud Computing at its simplest, refers to an infrastructure where both the data storage and the data processing happen outside of the mobile device. Mobile cloud applications move the computing power and data storage away from mobile phones and into the cloud, bringing applications and mobile computing to not just smartphone users but a much broader range of mobile subscribers”.
Aepona describes MCC as a new paradigm for mobile applications whereby the data processing and storage are moved from the mobile device to powerful and centralized computing platforms located in clouds. These centralized applications are then accessed over the wireless connection based on a thin native client or web browser on the mobile devices.

B. Architectures of Mobile Cloud Computing
From the concept of MCC, the general architecture of MCC can be shown in Fig. 1. In Fig. 1, mobile devices are connected to the mobile networks via base stations (e.g., base transceiver station (BTS), access point, or satellite) that establish and control the connections (air links) and functional interfaces between the networks and mobile devices. Mobile users’ requests and information (e.g., ID and location) are transmitted to the central processors that are connected to servers providing mobile network services. Here, mobile network operators can provide services to mobile users as AAA (for authentication, authorization, and accounting) based on the home agent (HA) and subscribers’ data stored in databases. After that, the subscribers’ requests are delivered to a cloud through the Internet. In the cloud, cloud controllers process the requests to provide mobile users with the corresponding cloud services. These services are developed with the concepts of utility computing, virtualization, and service-oriented architecture (e.g., web, application, and database servers).
The details of cloud architecture could be different in different contexts. For example, a four-layer architecture is explained in to compare cloud computing with grid computing. Alternatively, a serviceoriented architecture, called Aneka, is introduced to enable developers to build .NET applications with the supports of application programming interfaces (APIs) and multiple programming models presents an architecture for creating market-oriented clouds, and proposes an architecture for webdelivered business services. In this paper, we focus on a layered architecture of cloud computing (Fig. 2). This architecture is commonly used to demonstrate the effectiveness of the cloud computing model in terms of meeting the user’s requirements.
Generally, a cloud computing is a large-scale distributed network system implemented based on a number of servers in data centers. The cloud services are generally classified based on a layer concept. In the upper layers of this paradigm, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) are stacked

1. Data centers layer: This layer provides the hardware facility and infrastructure for clouds. In data center layer, a number of servers are linked with high-speed networks to provide services for customers. Typically, data centers are built in less populated places, with a high power supply stability and a low risk of disaster.
2. Infrastructure as a Service (IaaS): IaaS is built on top of the data center layer. IaaS enables the provision of storage, hardware, servers and networking components. The client typically pays on a per-use basis. Thus, clients can save cost as the payment is only based on how much resource they really use. Infrastructure can be expanded or shrunk dynamically as needed. The examples of IaaS are Amazon EC2 (Elastic Cloud Computing) and S3 (Simple Storage Service).
3. Platform as a Service (PaaS): PaaS offers an advanced integrated environment for building, testing and deploying custom applications. The examples of PaaS are Google App Engine, Microsoft Azure, and Amazon Map Reduce/Simple Storage Service.
4. Software as a Service (SaaS): SaaS supports a software distribution with specific requirements. In this layer, the users can access an application and information remotely via the Internet and pay only for that they use. Salesforce is one of the pioneers in providing this service model. Microsoft’s Live Mesh also allows sharing files and folders across multiple devices simultaneously.

Although the cloud computing architecture can be divided into four layers as shown in Fig. 2, it does not mean that the top layer must be built on the layer directly below it. For example, the SaaS application can be deployed directly on IaaS, instead of PaaS. Also, some services can be considered as a part of more than one layer. For example, data storage service can be viewed as either in IaaS or PaaS. Given this architectural model, the users can use the services flexibly and efficiently.

C. Advantages of Mobile Cloud Computing

Cloud computing is known to be a promising solution for mobile computing due to many reasons (e.g., mobility, communication, and portability. In the following, we describe how the cloud can be used to overcome obstacles in mobile computing, thereby pointing out advantages of MCC.

1) Extending battery lifetime: Battery is one of the main concerns for mobile devices. Several solutions have been proposed to enhance the CPU performance and to manage the disk and screen in an intelligent manner to reduce power consumption. However, these solutions require changes in the structure of mobile devices, or they require a new hardware that results in an increase of cost and may not be feasible for all mobile devices. Computation offloading technique is proposed with the objective to migrate the large computations and complex processing from resource-limited devices (i.e., mobile devices) to resourceful machines (i.e., servers in clouds). This avoids taking a long application execution time on mobile devices which results in large amount of power consumption.
2) Improving data storage capacity and processing power: Storage capacity is also a constraint for mobile devices. MCC is developed to enable mobile users to store/access the large data on the cloud through wireless networks. First example is the Amazon Simple Storage Service (Amazon S3) which supports file storage service. Another example is Image Exchange which utilizes the large storage space in clouds for mobile users. This mobile photo sharing service enables mobile users to upload images to the clouds immediately after capturing. Users may access all images from any devices. With cloud, the users can save considerable amount of energy and storage space on their mobile devices since all images are sent and processed on the clouds. Flickr and ShoZu are also the successful mobile photo sharing applications based on MCC. Facebook is the most successful social network application today, and it is also a typical example of using cloud in sharing images.
3) Improving reliability: Storing data or running applications on clouds is an effective way to improve the reliability since the data and application are stored and backed up on a number of computers. This reduces the chance of data and application lost on the mobile devices. In addition, MCC can be designed as a comprehensive data security model for both service providers and users. For example, the cloud can be used to protect copyrighted digital contents (e.g., video, clip, and music) from being abused and unauthorized distribution . Also, the cloud can remotely provide to mobile users with security services such as virus scanning, malicious code detection, and authentication. Also, such cloud-based security services can make efficient use of the collected record from different users to improve the effectiveness of the services.

III. APPLICATIONS OF MOBILE CLOUD COMPUTING

Mobile applications gain increasing share in a global mobile market. Various mobile applications have taken the advantages of MCC. In this section, some typical MCC applications are introduced.
A. Mobile Commerce

Mobile commerce (m-commerce) is a business model for commerce using mobile devices. The mcommerce applications generally fulfill some tasks that require mobility (e.g., mobile transactions and payments, mobile messaging, and mobile ticketing). The m-commerce applications can be classified into a few classes including finance, advertising and shopping. The m-commerce applications have to face various challenges (e.g., low network bandwidth, high complexity of mobile device configurations, and security). Therefore, m-commerce applications are integrated into cloud computing environment to address these issues. proposes a 3G E-commerce platform based on cloud computing. This paradigm combines the advantages of both 3G network and cloud computing to increase data processing speed and security level [33] based on PKI (public key infrastructure). The PKI mechanism uses an encryption-based access control and an over-encryption to ensure privacy of user’s access to the outsourced data. In, a 4PL-AVE trading platform utilizes cloud computing technology to enhance the security for users and improve the customer satisfaction, customer intimacy, and cost competitiveness.

B. Mobile Learning

Mobile learning (m-learning) is designed based on electronic learning (e-learning) and mobility. However, traditional m-learning applications have limitations in terms of high cost of devices and network, low network transmission rate, and limited educational resources. Cloud-based m-learning applications are introduced to solve these limitations. For example, utilizing a cloud with the large storage capacity and powerful processing ability, the applications provide learners with much richer services in terms of data (information) size, faster processing speed, and longer battery life. presents benefits of combining m-learning and cloud computing to enhance the communication quality between students and teachers. In this case, a smartphone software based on the open source JavaME UI framework and Jaber for clients is used. Through a web site built on Google Apps Engine, students communicate with their teachers at anytime. Also, the teachers can obtain the information about student’s knowledge level of the course and can answer students’ questions in a timely manner. In addition, a contextual m-learning system based on IMERA platform shows that a cloud-based m-learning system helps learners access learning resources remotely.
Another example of MCC applications in learning is “Cornucopia” implemented for researches of undergraduate genetics students and “Plantations Pathfinder” designed to supply information and provide a collaboration space for visitors when they visit the gardens. The purpose of the deployment of these applications is to help the students enhance their understanding about the appropriate design of mobile cloud computing in supporting field experiences. In [41], an education tool is developed based on cloud computing to create a course about image/video processing. Through mobile phones, learners can understand and compare different algorithms used in mobile applications (e.g., de-blurring, de-noising, face detection, and image enhancement).
C. Mobile Healthcare

The purpose of applying MCC in medical applications is to minimize the limitations of traditional medical treatment (e.g., small physical storage, security and privacy, and medical errors. Mobile healthcare (m-healthcare) provides mobile users with convenient helps to access resources (e.g., patient health records) easily and quickly. Besides, m-healthcare offers hospitals and healthcare organizations a variety of on-demand services on clouds rather than owning standalone applications on local servers.
There are a few schemes of MCC applications in healthcare. For example, presents five main mobile healthcare applications in the pervasive environment.
 Comprehensive health monitoring services enable patients to be monitored at anytime and anywhere through broadband wireless communications.
   Intelligent emergency management system can manage and coordinate the fleet of emergency vehicles effectively and in time when receiving calls from accidents or incidents.
 Health-aware mobile devices detect pulse-rate, blood pressure, and level of alcohol to alert healthcare emergency system.
  Pervasive access to healthcare information allows patients or healthcare providers to access the current and past medical information.
  Pervasive lifestyle incentive management can be used to pay healthcare expenses and manage other related charges automatically .
Similarly, proposes @HealthCloud, a prototype implementation of m-healthcare information management system based on cloud computing and a mobile client running Android operating system (OS). This prototype presents three services utilizing the Amazon’s S3 Cloud Storage Service to manage patient health records and medical images.
 Seamless connection to cloud storage allows users to retrieve, modify, and upload medical contents (e.g., medical images, patient health records and biosignals) utilizing web services and a set of available APIs called REST.
  Patient health record management system displays the information regarding patients’ status, related biosignals and image contents through application’s interface.
 Image viewing support allows the mobile users to decode the large image files at different resolution levels given different network availability and quality.
For practical system, a telemedicine homecare management system is implemented in Taiwan to monitor participants, especially for patients with hypertension and diabetes. The system monitors 300 participants and stores more than 4736 records of blood pressure and sugar measurement data on the cloud. When a participant performs blood glucose/pressure measurement via specialized equipment, the equipment can send the measured parameters to the system automatically, or the participant can send parameters by SMS via their mobile devices. After that, the cloud will gather and analyze the information about the participant and return results. The development of mobile healthcare clearly provides tremendous helps for the participants. However, the information to be collected and managed related to personal health is sensitive. Therefore,  propose solutions to protect participant’s health information, thereby increasing the privacy of the services. While uses P2P paradigm to federate clouds to address security issue, data protection and ownership, the model in  provides security as a service on the cloud to protect mobile applications. Therefore, mobile health application providers and users will not have to worry about security issue since it is ensured by security vendor.
D. Mobile Gaming

Mobile game (m-game) is a potential market generating revenues for service providers. M-game can completely offload game engine requiring large computing resource (e.g., graphic rendering) to the server in the cloud, and gamers only interact with the screen interface on their devices.
[49]    demonstrates that offloading (multimedia code) can save energy for mobile devices, thereby increasing game playing time on mobile devices. proposes MAUI (memory arithmetic unit and interface), a system that enables fine-grained energy-aware offloading of mobile codes to a cloud. Also, a number of experiments are conducted to evaluate the energy used for game applications with 3G network and WiFi network. It is found that instead of offloading all codes to the cloud for processing, MAUI partitions the application codes at a runtime based on the costs of network communication and CPU on the mobile device to maximize energy savings given network connectivity. The results demonstrate that MAUI not only helps energy reduction significantly for mobile devices (i.e., MAUI saves 27% of energy usage for the video game and 45% for chess), but also improves the performance of mobile applications (i.e., the game’s refresh rate increases from 6 to 13 frames per second).
presents a new cloud-based m-game using a rendering adaptation technique to dynamically adjust the game rendering parameters according to communication constraints and gamers’ demands. The rendering adaptation technique mainly bases on the idea to reduce the number of objects in the display list since not all objects in the display list created by game engine are necessary for playing the game and scale the complexity of rendering operations. The objective is to maximize the user experience given the communications and computing costs.
E. Other Practical Applications

A cloud becomes a useful tool to help mobile users share photos and video clips efficiently and tag their friends in popular social networks as Twitter and Facebook. MeLog is an MCC application that enables mobile users to share real-time experience (e.g., travel, shopping, and event) over clouds through an automatic blogging. The mobile users (e.g., travelers) are supported by several cloud services such as guiding their trip, showing maps, recording itinerary, and storing images and video.
introduces a mobile locationing service allowing users to capture a short video clip about the surrounding buildings. The matching algorithm run on a cloud can use a large amount of information to search for a location of these buildings. Also, One Hour Translation provides an online translation service running on the cloud of Amazon Web Services. One Hour Translation helps mobile users, especially foreign visitors, receive the information translated in their language through their mobile devices.
A cloud becomes the most effective tool when mobile users require searching services (e.g., searching information, location, images, voices, or video clips).
   Keyword-based Searching: proposes an intelligent mobile search model using semantic in which searching tasks will be performed on servers in a cloud. This model can analyze the meaning of a word, a phrase, or a complex multi-phase to produce the results quickly and accurately. presents an application using the cloud to perform data searching tasks for mobile users.uses Dessy system to find the users’ data, metadata, and context information through desktop search (e.g., indexing, query, and index term stemming, and search relevance ranking) and synchronization techniques.
  Voice-based Searching: proposes a search service via a speech recognition in which mobile users just talk to microphone on their devices rather than typing on keypads or touchscreens. introduces the AT&T speech mashup model that utilizes web services and cloud computing environment to meet the speech service demands of customers. This model optimizes the data transmission in a mobile network, reduces latency, and is flexible in integrating with other services. Several examples are demonstrated (e.g., speak4it, iPizza, and JME local business search).
     Tag-based Searching: introduces a photo searching technique based on ontological semantic tags. Mobile users search only recall parameters that are tagged on images before such images are sent to a cloud. The cloud is used for storing and processing images for resource-limited devices. The current service is designed for the images stored on private cloud computing environment. In the future, it is expected to expand for searching images in a public cloud environment.
In addition, there are a mobile-cloud collaborative application to detect traffic lights for the blind, a cloud computing framework to monitor different corners in a house through a mobile device, and some efforts which integrate current services (e.g., BitTorrent, and Mobile Social Network) into the clouds as in Thereby, we can recognize that MCC is probably a prevailing technology trend with numerous applications in the near future.

IV. ISSUES AND APPROACHES OF MCC

A. Issues in Mobile Communication Side

1) Low Bandwidth
2) Availability
3) Heterogeneity

B. Issues in Computing Side

1) Computing Offloading
2) Security
3) Enhancing the Efficiency of Data Access
4) Context-aware mobile cloud services 

V. OPEN ISSUES AND FUTURE RESEARCH DIRECTIONS

Several research works contribute to the development of MCC by tackling issues as presented in the previous section. However, there are still some issues which need to be addressed. This section presents several open issues and possible research directions in the development of MCC.
A. Low Bandwidth
B. Network Access Management
C. Quality of Service
D. Pricing
E. Standard Interface
F. Service Convergence
VI. CONCLUSION

Mobile cloud computing is one of mobile technology trends in the future since it combines the advantages of both mobile computing and cloud computing, thereby providing optimal services for mobile users. According to a recent study by ABI Research, a New York-based firm, more than 240 million business will use cloud services through mobile devices by 2015. That traction will push the revenue of mobile cloud computing to $5.2 billion. With this importance, this article has provided an overview of mobile cloud computing in which its definitions, architecture, and advantages have been presented. The applications supported by mobile cloud computing including mobile commerce, mobile learning, and mobile healthcare have been discussed which clearly show the applicability of the mobile cloud computing to a wide range of mobile services. Then, the issues and related approaches for mobile cloud computing (i.e., from communication and computing sides) have been discussed. Finally, the future research directions have been outlined.


Post a Comment

Lebih baru Lebih lama