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


A. What is Mobile Cloud Computing?
The Mobile Cloud Computing Forum defines MCC as follows [4]:
“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 [5] 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.



Alternatively, MCC can be defined as a combination of mobile web and cloud computing [6], [7],
which is the most popular tool for mobile users to access applications and services on the Internet.
Briefly, MCC provides mobile users with the data processing and storage services in clouds. The
mobile devices do not need a powerful configuration (e.g., CPU speed and memory capacity) since all the complicated computing modules can be processed in the clouds.
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 [8] 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 [9]. [10] presents an architecture for creating market-oriented clouds, and [11] 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 [12].
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
(Fig. 2). 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.

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 [13]). 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 [14], [15] and to manage the disk and screen in an intelligent manner [16], [17] 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.

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) [22] which supports file storage service. Another example is Image Exchange which utilizes the large storage space in clouds for mobile users [31]. 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.

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 [29]. Also, the cloud can remotely provide to mobile users with security services such as virus scanning, malicious code detection, and authentication [30]. Also, such cloud-based security services can make efficient use of the collected record from different users to improve the effectiveness of the services. In addition, MCC also inherits some advantages of clouds for mobile services as follows:

  •  Dynamic provisioning: Dynamic on-demand provisioning of resources on a fine-grained, self-service basis is a flexible way for service providers and mobile users to run their applications without advanced reservation of resources.


  •  Scalability: The deployment of mobile applications can be performed and scaled to meet the unpredictable user demands due to flexible resource provisioning. Service providers can easily add and expand an application and service without or with little constraint on the resource usage.
  •  Multi-tenancy: Service providers (e.g., network operator and data center owner) can share the resourcesand costs to support a variety of applications and large number of users.
  •  Ease of Integration: Multiple services from different service providers can be integrated easily through the cloud and the Internet to meet the users’ demands.

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 (Table II)
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 [35], [36], [37]. 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.
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 [42], [43]). 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.
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
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 [51] 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.

IV. ISSUES AND APPROACHES OF MCC
As discussed in the previous section, MCC has many advantages for mobile users and service providers. However, because of the integration of two different fields, i.e., cloud computing and mobile networks, MCC has to face many technical challenges. This section lists several research issues in MCC, which are related to the mobile communication and cloud computing. Then, the available solutions to address these issues are reviewed.
A. Issues in Mobile Communication Side
1) Low Bandwidth: Bandwidth is one of the big issues in MCC since the radio resource for wireless
networks is much scarce as compared with the traditional wired networks.
2) Availability: Service availability becomes more important issue in MCC than that in the cloud
computing with wired networks. Mobile users may not be able to connect to the cloud to obtain service due to traffic congestion, network failures, and the out-of-signal.
3) Heterogeneity: MCC will be used in the highly heterogeneous networks in terms of wireless network interfaces. Different mobile nodes access to the cloud through different radio access technologies such as WCDMA, GPRS, WiMAX, CDMA2000, and WLAN. As a result, an issue of how to handle the wireless connectivity while satisfying MCC’s requirements arises (e.g., always-on connectivity, on-demand scalability of wireless connectivity, and the energy efficiency of mobile devices).
B. Issues in Computing Side
1) Computing Offloading: As explained in the previous section, offloading is one of the main features
of MCC to improve the battery lifetime for the mobile devices and to increase the performance of
applications. However, there are many related issues including efficient and dynamic offloading under environment changes.

2) Security: Protecting user privacy and data/application secrecy from adversary is a key to establish
and maintain consumers’ trust in the mobile platform, especially in MCC. In the following, the securityrelated issues in MCC are introduced in two categories: the security for mobile users and the security for
data. Also, some solutions to address these issues are reviewed.
a) Security for Mobile Users: Mobile devices such as cellular phone, PDA, and smartphone are
exposed to numerous security threats like malicious codes (e.g., virus, worm, and Trojan horses) and their vulnerability. In addition, with mobile phones integrated global positioning system (GPS) device, they can cause privacy issues for subscribers. Two main issues are as follows.
b) Securing Data on Clouds: Although both mobile users and application developers benefit from
storing a large amount of data/applications on a cloud, they should be careful of dealing with the
data/applications in terms of their integrity, authentication, and digital rights. The data-related issues
in MCC are as follows.

3) Enhancing the Efficiency of Data Access: With an increasing number of cloud services, the demand of accessing data resources (e.g., image, files, and documents) on the cloud increases. As a result, a method to deal with (i.e., store, manage, and access) data resources on clouds becomes a significant challenge
4) Context-aware mobile cloud services: It is important for the service provider to fulfill mobile users’ satisfaction by monitoring their preferences and providing appropriate services to each of the users. A lot of research work try to utilize the local contexts (e.g., data types, network status, device environments, and user preferences) to improve the quality of service (QoS)

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
Although many researchers propose the optimal and efficient way of bandwidth allocation, the bandwidth limitation is still a big concern because the number of mobile and cloud users is dramatically increasing.

1) 4G network: 4G network is a technology that significantly increases bandwidth capacity for subscribers. 4G network is capable of providing up to 100 Mbit/s (for “LTE Advanced” standard) and 128 Mbit/s (for “WirelessMAN-Advanced” standard) for mobile users, while the current 3G network supports a maximum of 14.4 Mbit/s. Furthermore, 4G network also promises other advantages such as widering mobile coverage area, smoothering quicker handoff, varied services, etc [109]. Nevertheless, 4G wireless networks still exists several issues related to network architecture, access protocol, or quality of service that are taken into account in [110].

2) Femtocell: Femtocell [111] is a small cellular base station, designed for use in a small area.
HSL [112] develops a service to combine femtocells and cloud computing to deliver a highly economical, scalable and secure network for mobile operators. This allows the resources employed in delivering mobile services over the femtocell network to expand or contract as user demands for services increase or decrease. Additional resource is automatically added as required to meet demands. Surplus resource is automatically removed. The result is a highly economical femtocell network with only sufficient resources being used at any given point, without impacting the ability to immediately scale to meet demands.
B. Network Access Management
An efficient network access management not only improves link performance for mobile users but
also optimizes bandwidth usage. Cognitive radio can be expected as a solution to achieve the wireless
access management in mobile communication environment [113]. Cognitive radio increases the efficiency of the spectrum utilization significantly, by allowing unlicensed users to access the spectrum allocated to the licensed users
C. Quality of Service
In MCC, mobile users need to access to servers located in a cloud when requesting services and
resources in the cloud. However, the mobile users may face some problems such as congestion due to
the limitation of wireless bandwidths, network disconnection, and the signal attenuation caused by mobile users’ mobility. They cause delays when users want to communicate with the cloud, so QoS is reduced significantly. Two new research directions are CloneCloud and Cloudlets that are expected to reduce the network delay
D. Pricing
Using services in MCC involves with both mobile service provider (MSP) and cloud service provider
(CSP). However, MSPs and CSPs have different services management, customers management, methods of payment and prices. Therefore, this will lead to many issues, i.e., how to set price, how the price will be divided among different entities, and how the customers pay. For example, when a mobile user runs mobile gaming application on the cloud, this involves the game service provider (providing a game license), mobile service provider (accessing the data through base station), and cloud service provider (running game engine on data center). The price paid by the game player has to be divided among these three entities such that all of them are satisfied with the division. It is clear that the business model including pricing and revenue sharing has to be carefully developed for MCC.
E. Standard Interface
Interoperability becomes an important issue when mobile users need to interact and communicate with the cloud. The current interface between mobile users and cloud are mostly based on the web interfaces. However, using web interfaces may not be the best option. First, web interface is not specifically designed for mobile devices. Therefore, web interface may have more overhead. Also, compatibility among devices for web interface could be an issue. In this case, the standard protocol, signaling, and interface for interacting between mobile users and cloud would be required to ensure seamless services. In the future, HTML5 is expected as a promising technique to address this issue
F. Service Convergence
The development and competition of cloud service providers can lead to the fact that in the near future these services will be differentiated according to the types, cost, availability and quality. Moreover, in some cases, a single cloud is not enough to meet mobile user’s demands. Therefore, the new scheme is needed in which the mobile users can utilize multiple cloud in a unified fashion. In this case, the scheme should be able to automatically discover and compose services for user.


From : 
Hoang Dinh Thai, Ping Wang
http://onlinelibrary.wiley.com/doi/10.1002/wcm.1203/abstract

Comments