Mobile Networks and Applications

, Volume 19, Issue 2, pp 133–143 | Cite as

Mobile Cloud Computing: A Survey, State of Art and Future Directions

  • M. Reza Rahimi
  • Jian Ren
  • Chi Harold Liu
  • Athanasios V. Vasilakos
  • Nalini Venkatasubramanian
Article

Abstract

In the recent years, cloud computing frameworks such as Amazon Web Services, Google AppEngine and Windows Azure have become increasingly popular among IT organizations and developers. Simultaneously, we have seen a phenomenal increase in the usage and deployment of smartphone platforms and applications worldwide. This paper discusses the current state of the art in the merger of these two popular technologies, that we refer to as Mobile Cloud Computing (MCC). We illustrate the applicability of MCC in various domains including mobile learning, commerce, health/wellness and social medias. We further identify research gaps covering critical aspects of how MCC can be realized and effectively utilized at scale. These include improved resource allocation in the MCC environment through efficient task distribution and offloading, security and privacy.

Keywords

Mobile cloud computing Survey Mobile computation offloading Wireless bandwidth limitation MCC security and privacy MCC business model 

1 Introduction

With the explosive growth in mobile applications, platforms and end user demands, limitations at the mobile device end (e.g., computation and storage capacity, energy, shared wireless medium) significantly impede further improvements in application quality of service (QoS)- typical measures of QoS include user experienced delay, service reliability/availability and information privacy. Mobile Cloud Computing (MCC) aims to overcome these limitations by integrating cloud computing into the mobile environment to enable mobile users and mobile application providers to elastically utilize resources in an on-demand fashion.

Mobile cloud computing has recently attracted significant attention from both academia and industry. According to a recent study from Heavy Reading [9] the direct revenue of mobile cloud market will grow to about $68 billion by 2017. It is expected to achieve $1 trillion for the broader mobile cloud market. A similar forecast has also been made by ABI research [48], which predicts that the number of mobile cloud computing subscribers (like mobile users and mobile application providers) worldwide is expected to grow rapidly over the next five years, rising from 42.8 million subscribers in 2008, (approximately 1.1 % of all mobile subscribers) to over 998 million in 2014 (nearly 19 %). ABI further forecasts that mobile cloud will soon become a disruptive force in the mobile world, eventually becomes the dominant way in which mobile applications operate.

Given the current commercial hype and the fact that there are diverse ways of cooperating cloud computing and mobile applications, it is not surprising that there is no single widely accepted clear definition of MCC, as a result its scope can not be properly defined [1]. Mobile cloud computing originally is rooted from interdisciplinary research of mobile computing and cloud computing. Existing research tries to cross the disciplines’ boundaries by applying cloud computing solutions and techniques into mobile applications or incorporating mobile features when constructing new cloud services. However, the immense and complex factors involved in mobile cloud applications demands a more integrated cross-layer approach to better understand the natures and principles of MCC.

In this paper, we survey the field of MCC, its state of art, research challenges, opportunities and future directions. We revisit the basic MCC perspectives as well as the diverse nature of the players and applications in Section 2. We then review several MCC frameworks, challenges and opportunities in Section 3 and provide some overarching conclusions in Section 4.

2 Mobile cloud computing (MCC)

Cloud Computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility (like the electricity grid) over a network (typically the Internet). It provides computation, software, and storage services that do not require end-user knowledge of the physical location and system configuration. Cloud computing research mainly focuses on how to manage computing, storage, and communication resources that are shared by multiple users in a virtualized and isolated environment. Figure 1 shows service models in the cloud computing environment that categorizes cloud offerings into three main service types:
  1. 1)

    Software as a Service (SaaS), which provides end-users with access to a specific application such as Microsoft Office 365, Gmail, Facebook,

     
  2. 2)

    Platform as a Service (PaaS), which provides application programming interfaces (APIs) and programming environments for application developers, (Google Application Engine (GAE), Amazon Web Services and Microsoft Azure are prime examples in this layer), and

     
  3. 3)

    Infrastructure as a Service (Iaas), which provides computation and storage facilities through virtualization using frameworks such as Amazon EC2 and S3.

     
Fig. 1

Cloud computing different services

Although there is no single widely accepted view of MCC in the field, Mobile Cloud Computing can be presented in many ways [3]. In this paper, we refer to MCC as the set of techniques that use cloud resources to empower mobile applications. The main goal is to provide a better experience for mobile users whose devices have limited resources and capacities like computation, storage and battery. Figure 2 illustrates the general ecosystem of MCC and some of its important players [35] like public cloud providers, content and service provides, local and private cloud providers, network providers and smart phones. Public cloud providers serve scalable and elastic high computation and storage facilities available to the general public over the Internet (like Amazon WS, Google App Engine,...). Their data centers are distributed around the world in different locations [2]. Local and private cloud (more secure and private resources in their own local area or wide area networks) providers have limited scalability and elasticity but high performance which can provide efficient services on the portable devices considering delay, energy consumption, local information caching, data protection and privacy, etc. Content and service providers host usable services and data contents for the end mobile users like news, videos, email, games, etc. They could get their required storage and servers from public and local cloud providers. Network providers provide the network infrastructures (wired or wireless) which all MCC components could communicate with each other. Finally the last players are tablets, smart phones and devices.
Fig. 2

MCC ecosystem and its important players

2.1 Sample MCC applications

Mobile applications are becoming an integral part of society in various domains and disciplines – education, commerce, health/wellness, transportation to name a few. Realization of these applications at scale is challenging - developers and stakeholders are faced with constraints that arise from multiple factors including limited resources on the mobile phone, lack of consistent communication bandwidth, security and privacy, etc. In this section we highlight some key classes of mobile applications and articulate constraints that reduce user experience and consequently limit their large scale deployment.

Mobile learning

By orchestrating mobile computing and cloud computing, we project a paradigm shift in “delivery of education” that can impact learning behaviors and accessibility of educational opportunities. Mobile learning could be described as [29], using mobile technology to improve or augment people knowledge, skills and behavior through education, training, or performance anytime and anywhere. Mobile learning adds a new level of portability to the learning process through the use of tablets and smart-devices; like other e-learning systems [22], mobile learning is collaborative as well.

A sample system for mobile learning is the Mobile Learning System (MLE) [33, 47] – it allows for multimedia-based interaction based on mobile users context and needs (e.g. location, time, activity history). The combination of rich content and context-awareness has multiple benefits. First, dynamic interactions between students and teachers result in improvements in the education process. Second, students can communicate with each other to provide and share multiple points of view while learning, thereby leveraging from another students learning process. This highly active process has shown an increase in exam scores from fiftieth to the seventieth percentile, and cut the dropout rate in technical fields by 22 percent [22]. Finally, based on mobile users’ needs, context and learning pattern, more appropriate courses, teachers and classmates could be assigned and recommended.

Key challenges in this area are both system and content related. The power-consuming nature of streaming video that is central to educational applications causes quick depletion of device energy. Power-efficient content delivery mechanisms must take into account both the nature of the content (not every part of a lecture needs to delivered using high quality video) and context-aware; dynamically annotating live educational content to support this functionality merits further exploration. The shared nature of the wireless medium results in low communication bandwidth – techniques to support caching of course content enroute in the MCC environment that can leverage device and network context is possible, but not easy to deploy. Security and privacy of confidential interchanges are critical especially when testing and exams are online.

Mobile commerce

Today, mobile devices are being used extensively in business and commerce [37, 46] for a wide range of purposes. The obvious traditional m-commerce applications include mobile transactions and payments, mobile tickets and advertisements through messaging services (SMS or MMS messages). The mobile cloud setting provides a flexible platform for a broader notion of m-commerce; we discuss two emerging classes of m-commerce applications. In the first class, many free popular mobile applications are being used to deliver advertisements, e.g. Pandora, a free Internet music service uses mobile user context to advertise local businesses. The second, growing class of m-commerce applications are the mobile social networks such as Foursquare, Yelp and location-based services (LBS). Using these services, mobile users share their experiences through reviews, images and multimedia. This can economically help business owners and customers to provide good and competitive deals and better services. In both cases, the commercial benefits are indirect.

Similar to the mobile learning case, challenges arise at multiple levels. E-commerce applications have high computation and storage needs for complex data processing and sharing. User transactions are expected to be secure and private interactions between the user and provider; the presence of a public cloud where secure and private transactions occur in an outsourced world is a source of concern to many. Techniques to structure where and how content is stored and released (public cloud vs. private cloud vs. mobile device) must be aware of device limitations and sensitivity of the content being processed. The design of techniques to manage such tradeoffs is an interesting topic for future research.

Mobile healthcare and wellness

Based on current research in healthcare, chronic diseases like diabetes, asthma, and obesity account for 46 % of global disease burden [11, 34]. The treatment for chronic diseases heavily depends on patient continuous reports of symptoms and side effects. mhealth platforms make it feasible for patients to collect and share relevant data with physicians, anywhere anytime to for effective treatment.

Realization of m-health applications will bring many challenges – chief among them are the real time processing and storing of huge volumes of patient data and privacy/security of medical information (like ownership of medical data, how much data and where it should be stored, Who can views medical data? etc. [60]).

Mobile Cloud for Assisting Healthcare (MoCAsH) [38] is a prototype implementation of m-healthcare information management system based on cloud computing for mobile users.

In this framework, sensors and mobile agents sense and stream data through different wireless networks to context-aware middleware for further processing. The context-aware mobile cloud middleware is responsible of utilizing contextual information and data from sensors and mobile devices and user profile information. It will allow for dynamic adaptations of the system based on changes in the environment (e.g. humidity) and at the user end (e.g. location). A Collaborative Cloud component uses cloud resources to do the huge computation and storage of the MoCAsh. Users interact with the system through the Cloud portal that provides interfaces for communication and management of users, mobile agents, and the collaborative cloud.

M-health applications will also benefit from the integration of more sophisticated body area network systems [24] that provide improved real-time sensing capability of health parameters. For example, the robotics and cloud-assisted healthcare system (ROCHAS) [4] deploys an Android mobile phone to leverage the computing and storage resource on the cloud.

Mobile social medias

Many of the above MCC applications are now assuming a presence in the social media world where they can be easily discovered and deployed - we use the term Mobile Social Network (MSN) to broadly refer to such applications . Today, mobile applications are often developed based on social networks such as Facebook. In fact these social networks serve as defacto means of entry login into many mobile services which bridge the gap between virtual social communities and physical world information and services. By using LBSs mobile users could get localized information like maps, driving directions, search of point of interests, sharing data, or socializing with friends and families. It is estimated that location-based social networking will generate USD 3.3 billion revenue by 2013. We conjecture that MCC will be the next generation platform for MSN by providing a scalable and elastic platform for information processing and storage, privacy and security, data sharing, advertisements, etc.

3 MCC challenges and opportunities

Table 1, lists and compares multiple frameworks proposed in MCC literature [10, 32]. One classification identifies two main types of system architectures [10]: Client-server or service oriented-based approach and Virtualization frameworks. In the first one, mechanisms such as Remote procedure call or remote method invocation (RMI)-like protocols are used to support inter-process communication across machines, networks and address spaces. As the name indicates for the second type of systems, virtualization technologies abstract out virtual resources needed by applications and supplied by providers more generically at different layers in the system stack – leading to hardware virtualization, OS virtualization, application virtualization, etc. Virtualization is a core technology for cloud computing that partitions resources/services into chunks/units that can be allocated – this allows for the efficient use of heterogenous resources. Similarly, mobile applications based on different operating systems employ application-layer virtual machines (Dalvik and .NET respectively) that work and interact efficiently under virtualization.
Table 1

Some mobile could computing system solutions

System name

Objectives

Used technology

Wireless connectivity type

Security/privacy

Cloudlets [50]

Reduction in execution time

Virtualization

WiFi

Secure cloudlets and cloud assumed

CloneCloud [25]

Energy saving and reduction in execution time

Virtualization

WiFi and 3G

Trustworthy cloud assumed

Cuckoo [17]

Energy saving and reduction in execution time

Service oriented-based approach

Wi-Fi, 3G and Bluetooth

Trustworthy cloud assumed

Carmen [18]

Scalability and Flexibility

Service oriented-based approach

WiFi and 3G/4G

Security and privacy are considered.

Calling The Cloud [52]

Reduction in execution time code size and proxy cost

Service oriented-based approach

Wi-Fi and Bluetooth

Trustworthy cloud assumed

Clone2Clone [52]

Energy saving and reduction in execution time

Virtualization

Wi-Fi and 3G

Trustworthy cloud assumed

Chroma [61]

Reduction in execution time

Service oriented-based approach

Wi-Fi

Trustworthy cloud assumed

Hyrax [49]

Reduction in execution time and fault tolerant

Service oriented-based approach

Wi-Fi

Trustworthy cloud assumed

MAUI [39]

Energy saving and reduction in execution time

Virtualization

WiFi and 3G

Trustworthy cloud assumed

MAPCloud [16]

Performance and Scalability, battery and execution time

Service oriented-based approach

WiFi and 3G

Trustworthy cloud assumed

MobiCloud [40]

Enhance security and mobile user battery energy saving

Virtualization

WiFi and 3G

Fundamental trust model is provided.

Scavenger [41]

Mobile user battery energy saving

Service oriented-based approach

WiFi

Trustworthy cloud assumed

Spectra [62]

Energy saving and reduction in execution time

Service oriented-based approach

WiFi

Trustworthy cloud assumed

SCAMPI [20]

Mobile user battery energy saving

Service oriented-based approach

-

Trustworthy cloud assumed

ThinkAir [15]

Energy saving and reduction in execution time

Virtualization

WiFi and 3G

Trustworthy cloud assumed

VOLARE [30]

Energy saving and efficient use of bandwidth

Service oriented-based approach

3G

Trustworthy cloud assumed

We compare the architectures of MCC systems based on this classification and other detailed criteria in Table 1. A closer look helps us identify research gaps based on characteristics of existing state of the art MCC platforms.

3.1 Alleviating resource limitations in MCC

Task offloading

Given that cloud offerings have considerably better computation resources, storage performance and a constant power supply as compared to those available on a mobile device, offloading the “heavy-lifting” to the cloud appears to be the key approach to overcome resource limitations on mobile devices. A significant amount of research has been performed on tasks offloading.

A recent systematic survey by Kumar et al. [5] indicates that, in the last fifteen years, research focus has moved from making offloading feasible to more intelligent techniques for making offloading decisions (e.g. whether, what and how) and to the overall infrastructure of offloading.

For instance, in [5, 42] simple analytical models are proposed to help decide whether to offload. The parameters that taken into consideration are: the amount of computation needed to be done w, the speed of the cloud ss, the speed of the mobile device sm, the bandwidth between the mobile device and the cloud B and the amount of data sent to the cloud di. The authors argue that offloading improves overall performance when the amount of the time taken to execute tasks purely on the mobile device is longer than with offloading; i.e.
$$\begin{array}{@{}rcl@{}} \frac{w}{s_{m}}>\frac{d_{i}}{B}+\frac{w}{s_{s}} \Rightarrow w\times \left(\frac{1}{s_{m}}-\frac{1}{s_{s}}\right) > \frac{d_{i}}{B}. \end{array} $$
Similarly, offloading saves energy if the energy consumption of executing the tasks on the mobile device is larger:
$$\begin{array}{@{}rcl@{}} p_{m}\times\frac{w}{s_{m}}>p_{c}\times\frac{d_{i}}{B}+p_{i}\times\frac{w}{s_{s}}\Rightarrow w\times\left(\frac{p_{m}}{s_{m}}-\frac{p_{i}}{s_{s}}\right)>p_{c}\times\frac{d_{i}}{B} \end{array} $$
where p represents mobile’s power during computingpm, communicatingpc, and waiting for responsepi.

In general, they key idea is to select for offloading, tasks that require heavy computation (large w) with light data exchange (small di) - this will results in performance improvements and energy savings at the mobile end. A more sophisticated model might take into account various other parameters during the process of making offload decisions – additonal factors such as migration overhead, security and privacy may result in a different set of tasks to offload at runtime. Thus, much of the recent research focuses on making dynamic offloading decisions at runtime [39, 43, 54] rather than statically [55, 57] partitioning tasks based on past profiles.

Note that before the decision to offload is made, the “offloadable” elements of code have to be identified – this step can be done either manually [39] by developers or automatically [25] through appropriate partitioning tools. (MAUI) [39], for example, uses a combination of virtual machine migration (VMM) and code partitioning. In the MAUI prototype, applications are offloaded from mobile devices to local servers using WiFi/3G and the .NET framework. MAUI’s partitioning is done at runtime and it is very dynamic. Developers annotate which methods can be offloaded; at execution time, if there is a local cloud (local server), the system decides whether or not to offload these methods. The key objective in that decision is to balance device energy and performance. Applications are profiled for energy and network resource usage; data from the profiler is then fed into a Solver to decide how to partition application optimally.

To avoid the manual annotation, CloneCloud [25] automatically marks the potential “offloadable” blocks in the bytecode statically, and then dynamically determines the optimal offloading at runtime. CloneCloud uses VMM (virtual machine migration) to transfer part of a mobile application to a server using 3G or WiFi wireless connections. VMM simply refers to transferring the memory image, CPU state, storage contents and network connection from a source node to a destination node. It greatly reduces the programming effort as well as the need to rewrite application adapters for execution in different environments. CloneCloud uses a “cost model” to quantify the cost involved in migrating an application to the cloud and compares the cost against running it on a mobile device. A combination of static and dynamic code analysis techniques are used in the cost calculation process. A static analyzer uses well-defined policies for placing migration and re-integration points in the code. For example, restrictions are placed on what might be migrated and when - migration and re-integration points occur at method entry/exit; the core-system library and nested calls may not be migrated; Methods that access facilities onboard the mobile device, e.g. Global Positioning System (GPS) must be pinned to the device. Similarly, methods that share native states must be collocated at the same machine. On the other hand, the dynamic analyzer uses randomly chosen input data fed into application to collect the execution cost on mobile device and cloud. This data is then fed in to the “Optimization Solver” to decide which methods needs to be migrated, to minimize execution time and energy usage.

The next choice to be made is when to offload and a popular approach is to consider application real-time constraints and device energy status in this step. Energy-optimal techniques for task offloading that balance compute and communication tradeoffs have been proposed and studied since the early 2000s [31, 58]. More recently, [19] determines when to upload the mobile application to the cloud to save energy on mobile device while meeting the application time constraint.

An application A is modeled using two factors input data size, L and completion time deadline as A(L, T). From the device point of view, the key idea is to choose an ideal device operational clock frequency that minimizes the energy consumed on device while meeting the time constraint. As expected, results indicate that the energy consumed on device is proportional to L, the input data size. Similar calculations can be made when the task is transmitted to cloud. In this model the power consumption on mobile device depends on data rate of the transmission, which in turn is dictated by wireless channel characteristics. Then the optimization problem aims to minimize the transmission energy while meeting the delay constraint. Through simulation studies, [19] derives a set of thumb-rules (policies) to determine whether a task should execute on the cloud or not given wireless channel characteristics, the deadline (i.e. thresholds) and data size.

MAPCloud [12, 16, 23] exploits the observation that using 2-tier clouds (local and public) could increase the performance and scalability of mobile applications. User Mobility introduces new complexities in optimal decomposition of tasks that can execute on mobile clients and the 2-tiered cloud architecture while considering multiple QoS goals such application delay, device power consumption and user paid price. MAPCloud proposes a novel framework borrowed from service oriented computing to model mobile applications as a location-time workflows (LTW) of tasks. In LTW user mobility patterns are translated to a mobile service usage patterns. It aims to improve performance and scalability of resource allocation in MCC by considering mobile users mobility patterns as a context information. It is shown that optimal mapping of LTWs to tiered mobile cloud resources is an NP-hard problem. MAPCloud uses efficient heuristics to optimally assign services to mobile users in such a dynamic environment.

As shown in Fig. 3, MAPCloud middleware has the following main components:
Fig. 3

MAPCloud middleware architecture

Mobile user log database

This database (DB) contains unprocessed user data log such as mobile service usage, location of the user, user delay experience of getting the service, energy consumed on user mobile device, etc.

Mobile profile analyzer

This module processes mobile user Log DB. Based on the processed data it will update QoS-aware cloud service DB, space-time mobile user pattern DB and MAPCloud Analytic DB.

QoS-aware cloud DB

It contains the service lists on local and public cloud and their QoSes in different locations. It will be updated based on the mobile user statistics experience in different locations.

MAPCloud analytics DB

This DB contains general system performance, such as improved energy saving, price and delay.

Mobile user location-time DB

This DB contains Location-time workflow pattern of the mobile users. It contains the user service usage in different location and time.

Admission control and scheduling

This module is responsible for optimally allocate services to mobile users based on a heuristic called MuSIC. MuSIC combines simulated annealing and greedy approach to optimally assign services to users.

Open research issues

Following are some important research issues that remain to be answered:
  • Power and execution time efficiency for offloading mobile applications on cloud have been studied in the literature. However, there is a lack of understanding of the joint optimization problem – i.e. the joint power and execution time optimization of the mobile devices and the cloud data centers. Such an approach can help with eventually supporting a more energy-efficient (and green) system.

  • One of the main issues in cloud computing is that it is not free – few approaches consider the price of the service. Further work is required to explore the trade-off between the benefits of uploading tasks and the price that mobile users must pay for the same.

  • What is also lacking is a fair comparison between client/server-based and virtualization-based architectures to show their effectiveness in different situations and different types of mobile applications.

Alleviating limitation in wireless communication bandwidth

Offloading tasks and content to the cloud requires communication bandwidth - this may be significant especially in the case of rich content. Low wireless bandwidth is one of the main limitations of MCC. We discuss two possible approaches to alleviate this limitation; the first requires migration to new wireless technologies such as 4G LTE or Femtocell. The second is a Hybrid Network approach that aims to optimally use multiple different networks together to increase the system performance and throughput.

Recent developments in cellular architectures (4G) promise to increase wireless bandwidth capacity dramatically [51]. 4G specs indicate that it is capable of providing up to 100-128 Mbit/s for mobile users in comparison to current 3G network which supports a maximum of 14 Mbit/s , 9 times less than 4G. Another supporting technology for the cellular infrastructure is the growth of Femtocells – small cellular base stations that can be deployed in small areas to increase capacity and connectivity. Similar technologies are also available for WiFi networks (WiMax) that can enhancing bandwidth and connectivity and hence dynamically increase or decrease resources for the mobile users according to their demands. The challenge is the effective deployment and utilization of these resources at runtime.

A second strategy is to combine the capacities of multiple communication networks to increase the performance and capacity of the system. Recent efforts [28] have addressed the use of multiple networks, e.g. cellular and ad hoc networks to deliver rich content to mobile users efficiently (20db higher video quality). Often, significant improvements can be realized by exploiting properties of the content itself. For example, the layered nature of video content is used in [28] to optimally chose mobile devices that can act as gateways to connect the ad-hoc and cellular networks.

Open research issues

Efficient usage of communication bandwidth in MCC is a rich area for research with multiple open issues.
  • Femtocell and 4G LTE are promising technology for next generation of mobile applications. It will open a question that How these two technologies could be combined to increase the system performance such as throughput and power consumption on the portable devices?

  • Based on existing efforts to increase the throughput of multimedia-based applications in hybrid networks like [28] one may ask how the nature of content can be exploited more effectively for general file sharing application in hybrid networks. What is the effect of using these techniques on power consumption and billing service (considering 3G/4G and cloud pricing model)? What is the effect of user mobility on the system performance?

  • Network coding [59] approaches that fuse data packets together to increase the throughput and efficiency of networks have been around for a while . Can such techniques, employed in the network stack, be used to increase the throughput of hybrid networks such as Wi-Fi, 3G and ad-hoc? How much could network coding affect the QoS parameters like delay, reliability, power consumption on mobile device? What is the effect of network coding computational load on cloud usage price?

3.2 Privacy and security in a shared service ecosystem

Security and privacy are challenging issues for MCC applications such as m-commerce, m-health and mobile social network applications. These applications are naturally resource intensive in terms of computation and storage - using cloud computing resources appears to be a natural way to tackle these problems. The security of the mobile cloud computing infrastructure is a concern - solutions must be developed from both the cloud computing [26] and mobile security [7] perspectives. Adapting traditional security techniques is a possibility; but we are now faced with more potential threats in the MCC setting that has more diversity on software, hardware, operating system, and network connection.

Many of the recently proposed mobile cloud security frameworks tend to offload the security/privacy related tasks to the cloud [8]. Although this offloads a bulk of the secure data processing overheads to the cloud, mobile devices still need to be involved to perform security operations, such as authentication and cryptographic operations , before outsourcing the sensitive data or tasks. These mentioned security operations still consume considerable amount of energy and cause performance degradation. However, this issue can be tackled by reducing the amount of data that need to be processed [27], and optimizing the cryptographic techniques [44].

Security concerns both users and service providers because a third party may take advantage of confidential data. In [45] the authors define two level of security services; critical security (CS) and normal security (NS). CS provides strong security protection using, for example, longer key sizes, strict security access policies, and better isolation for data protection tasks. The CS service usually occupies more cloud computing resources, and has benefits for cloud providers. These security services have been used to increase the benefits of cloud resource providers using Security Service Admission Model (SSAM), a Semi-Markov Decision Process (SMDP) based model that captures reward at the cloud provider end.

Privacy is probably one of the critical issues that can impact the deployment of MCC for certain applications such as healthcare, since confidential information about a user, his/her personal programs and data now reside on the cloud (not controlled by the user). Location privacy is a key issue in mobile services that use location, i.e. location based services (LBS) [56]. Two popular techniques for location privacy are spatial/temporal cloaking and domain transformation.

In spatial cloaking, the exact user location q will be expanded and cloaked into a larger region size Q0. That will make it impossible for server to reconstruct q from the region Q0. The server creates some candidate point of interests (PIOs as p0, p1, . . . , pn) for each point in Q0. This result will then subsequently be refined by the users trusted mobile client. In this case, the LBS server reports the POIs as p0, p1, . . . , pn. while the mobile user could be at any possible location in Q0, all POIs inside Q0 will be reported . Because of the large number of POIs, the cloaked query could have huge processing and communication costs.

In transformation-based matching technique the query is evaluated in a transformed space, in which the points and/or distances between points are encoded. The weak point in here is that the query result may not be accurate. To address this problem one approach defines a specific Hilbert ordering with a key H, whose value is known only by the client and a trusted broker. Not having the key value, the server cannot decode a Hilbert value into a point. In preparation for querying, the trusted entity transforms each POI into Hilbert value ℋ(pi) and it will be uploaded it to the server. At query time, the client q submits its Hilbert value to the server. The server then reports the closest Hilbert value, which is eventually decoded by the client into its nearest point.

Open research issues

The following are research issues pertaining to security and privacy in MCC that deserve attention:
  • Due to the limited resources and capabilities of portable devices and sensors in MCC ecosystems, the future research in designing security protocols and algorithms should focus more on power-efficiency and delay of such security algorithms and how to partition them on cloud and mobile devices.

  • User mobility adds an increased level of complexity from the security angle; the security level of mobile users can change from location to location frequently and fast. Connectivity conditions in different locations also add complexity - for example, changing from 3G network coverage to WiFi network coverage can dictate if local cloud resources or public cloud resources must be used. Key questions arise in this context. How could this information affect the design of security policies and algorithms for mobile users in MCC? What are their effects of using different security policies on power consumption, delay and application performance?

  • We expect that the use of privacy services for mobile users in an MCC environment like LBS will increase the complexity of query processing. What are best practices, strategies and algorithms that can result in high accuracy (in location), low power consumption, delay and minimum price?

3.3 Other opportunities and challenges

The development of meaningful economic and business models for MCC and cloud computing in general is an open topic of research [13]. As illustrated early on in this paper, the MCC ecosystem contains interactions of many different businesses and service providers. Each of these organizational entities have different criteria and policies for providing service and customer management and interaction. How to efficiently orchestrate these multiple elements to realize the multiple (and perhaps competing) objectives remains a challenge. Some interesting questions in this direction include:
  • Using a game theoretic perspective, can we design policies and mechanisms to create and maintain a stable “Mobile Cloud Federation”? What equilibria properties make sense in this environment? [63]? How effective is such an approach in a setting with multiple clouds and multiple service providers?

  • What are the best strategies and policies to offer services price to mobile users in competitive MCC environment?

  • As discussed earlier, m-commerce is a growing and important area. Given user context, can we develop strategies to forward advertisements to mobile users which could increase the cloud providers benefits and business owners?

  • Service Oriented Computing (SOC) based approaches aim to provide unified protocols and standard interfaces for cloud service interactions [14] – examples include SOAP, UDDI and WSDL. Can similar standards be established for MCC players (wireless network providers, mobile users etc.) for sharing and interaction?

Generating accurate Mobile Context-Awareness has been a challenging topic for mobile computing researchers and developers alike [21]. Context, in general, could be described as useful and related information that can be used to characterize any entity and situation in pervasive environment. For example, knowledge of mobility patterns and social relationships of mobile users can be used to optimally assign services in MCC environments. This topic has received more attention in recent years due to the fact that mobile devices and computers are being equipped with multiple and more accurate sensing capabilities than before. Such context information obtained from sensors are key enablers for the growth of MCC applications such as health and wellness. Interesting questions in this direction include:
  • Mobile sensing applications are beginning to produce large streams of data that need real-time processing and huge data storage. How to distribute the processing and storage tasks among sensors and cloud to optimize power usage, execution time and paid price remains an open issue.

  • The rapid rise in Mobile applications and users is quickly creating Mobile Big data and consequently the need for mobile big data management solutions. The design of efficient strategies and policies for better resource allocation in MCC for big data applications is a hot topic for research.

  • Mobile Social Networks (MSN) open a new and fertile direction in MCC Research like: How could mobile users activities and information in MSN be used to do efficient recommendation and decision making? With answering this question, we could design efficient architecture for mlearning, mhealth, mcommerce applications.

4 Concluding remarks

MCC tries to empower the mobile user by providing ubiquitous and rich functionality, regardless of the resource limitations of mobile devices. In this article, we surveyed the current state of MCC technologies and recently developed solutions. We discussed challenges, opportunities and applications of MCC from different aspects and pointed out the open research issues with the hope to spark new interests in this area. The vision of MCC is an autonomous digital environment in which different mobile devices obtain their computation, storage, services and other resources autonomously and efficiently anytime and anywhere. We argue that much work remains to be done before such a vision can be realized at scale.

References

  1. 1.
    Liu F, Shu P, Jin H, Ding L, Yu J, Niu D, Li B (2013) Gearing resource-poor mobile devices with powerful clouds: architectures, challenges, and applications. IEEE Wirel Comm 20:2–10Google Scholar
  2. 2.
    Chen M, Jin H, Wen Y, Leung VCM (2013) Enabling technologies for future data center networking: a primer. IEEE Netw 27(4):8–15CrossRefGoogle Scholar
  3. 3.
    Fernando N, Loke SW, Rahayu W (2013) Mobile cloud computing: a survey. Fut Gen Comp Sys 29(1):84–106CrossRefGoogle Scholar
  4. 4.
    Chen M, Ma Y, Ullah S, Cai W, Song E (2013) ROCHAS: robotics and cloud-assisted healthcare system for empty nester. In: BodyNets’13Google Scholar
  5. 5.
    Kumar K, Liu J, Lu Y-H, Bhargava B (2013) A survey of computation offloading for mobile systems. ACM/Springer MONET 18:129–140Google Scholar
  6. 6.
    Sanaei Z, Abolfazli S, Gani A, Buyya R (2013) Heterogeneity in mobile cloud computing: taxonomy and open challenges. IEEE Comm Surv Tut 99:1–24Google Scholar
  7. 7.
    Li Q, Clark G (2013) Mobile security: a look ahead. IEEE Secur Priv 11(1):78–81CrossRefGoogle Scholar
  8. 8.
    Khan AN, Kiah MLM, Khan SU, Madani SA (2013) Towards secure mobile cloud computing: a survey. Fut Gen Comp Sys 29(5):1278–1299CrossRefGoogle Scholar
  9. 9.
    Heavy Reading Real World Research (2013) The mobile cloud market outlook to 2017Google Scholar
  10. 10.
    Fernando N, Loke SW, Rahayu W (2013) Mobile cloud computing: a survey. In: Future generation of computing systemsGoogle Scholar
  11. 11.
    Braunstein ML (2013) Health informatics in the cloud. SpringerGoogle Scholar
  12. 12.
    Rahimi MR, Venkatasubramanian N, Vasilakos A (2013) MuSIC: on mobility-aware optimal service allocation in mobile cloud computing. In: The IEEE cloud’13Google Scholar
  13. 13.
    Liang H, Cai LX, Huang D, Shen XS, Peng D (2012) An SMDP-based service model for inter-domain resource allocation in mobile cloud networks. In: IEEE transactions on vehicular technologyGoogle Scholar
  14. 14.
    Papazoglou MP (2012) Cloud blueprints for integrating and managing cloud federations. In: Springer software service and application engineeringGoogle Scholar
  15. 15.
    Kosta S, Aucinas A, Hui P, Mortier R, Zhang X (2012) ThinkAir: dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In: IEEE INFOCOM’12, pp 945–953Google Scholar
  16. 16.
    Rahimi MR, Venkatasubramanian N, Mehrotra S, Vasilakos AV (2012) MAPCloud: mobile applications on an elastic and scalable 2-tier cloud architecture. In: IEEE/ACM UCC’12, pp 83–90Google Scholar
  17. 17.
    Kemp R, Palmer N, Kielmann T, Bal H (2012) Cuckoo: a computation offloading framework for smartphones. In: Mobile computing application and service, vol 76 of LNCS. Springer, pp 59–79Google Scholar
  18. 18.
    Kim K-H, Lee S-J, Congdon P (2012) On cloud-centric network architecture for multi-dimensional mobility. SIGCOMM Comput Commun Rev 42:509–514CrossRefGoogle Scholar
  19. 19.
    Wen Y, Zhang W, Luo H (2012) Energy optimal mobile application eexecution: taming resource-poor mobile devices with cloud Clones. In: IEEE international conference on computer communications, INFOCOMGoogle Scholar
  20. 20.
    Pitkänen M, Kärkkäinen T, Ott J, Conti M, Passarella A, Giordano S, Puccinelli D, Legendre F, Trifunovic S, Hummel K, May M, Hegde N, Spyropoulos T (2012) SCAMPI: service platform for social aware mobile and pervasive computing. In: ACM proceedings of the first edition of the MCC workshop on mobile cloud computing, MCC ’12Google Scholar
  21. 21.
    Lovett T, ONeill E (2012) Mobile context awareness. SpringerGoogle Scholar
  22. 22.
    Saylor M (2012) The mobile wave: how mobile intelligence will change everything. Perseus Books/Vanguard PressGoogle Scholar
  23. 23.
    Rahimi MR (2012) Exploiting an elastic 2-tiered cloud architecture for rich mobile applications. In: IEEE/ACM 13th international symposium on a world of wireless, mobile and multimedia networksGoogle Scholar
  24. 24.
    Chen M, Gonzalez S, Vasilakos A, Cao H, Leung VC (2011) Body area networks: a survey. ACM/Springer MONET 16:171–193Google Scholar
  25. 25.
    Chun B-G, Ihm S, Maniatis P, Naik M, Patti A (2011) CloneCloud: elastic execution between mobile device and cloud. In: ACM EuroSys ’11, pp 301–314Google Scholar
  26. 26.
    Subashini S, Kavitha V (2011) A survey on security issues in service delivery models of cloud computing. J Netw Comput App 34(1):1–11CrossRefGoogle Scholar
  27. 27.
    Bilogrevic I, Jadliwala M, Kumar P, Walia SS, Hubaux J-P, Aad I, Niemi V (2011) Meetings through the cloud: privacy-preserving scheduling on mobile devices. J Syst Softw 84(11):1910–1927CrossRefGoogle Scholar
  28. 28.
    Ngoc MD, Cheng-Hsin H, Singh JP, Venkatasubramanian N (2011) Massive live video distribution using hybrid cellular and Ad Hoc networks. In: IEEE WoWMoMGoogle Scholar
  29. 29.
    Berking P, Archibald T, Haag J, Birtwhistle M (2012) Mobile learning: not just another delivery method. In: The interservice/industry training, simulation and education conference (I/ITSEC)Google Scholar
  30. 30.
    Papakos P, Capra L, Rosenblum DS (2010) VOLARE: context-aware adaptive cloud service discovery for mobile systems. In: Proceedings of the 9th international workshop on adaptive and reflective middleware (ARM)Google Scholar
  31. 31.
    Mohapatra S, Rahimi MR, Venkatasubranian N (2011) Power-aware middleware for mobile applications. In: Chapter 10 of the handbook of energy-aware and green computing, ISBN: 978-1-4398-5040-4, Chapman and Hall/CRCGoogle Scholar
  32. 32.
    Dinh HT, Lee C, Niyato D, Wang P (2011) A survey of mobile cloud computing: architecture, applications, and approaches. In: Wireless communications and mobile computingGoogle Scholar
  33. 33.
    Ferzli R, Khalife I (2011) Mobile cloud computing educational tool for image/video processing algorithms. In: Digital signal processing workshop and IEEE signal processing education workshop (DSP/SPE)Google Scholar
  34. 34.
    Estrin D, Sim I (2010) Open mHealth architecture: an engine for health care innovation. Sci Mag, AAAS 330(6005):759– 760Google Scholar
  35. 35.
    Satyanarayanan M (2011) Mobile computing: the next decade. SIGMOBILE Mob Comput Commun Rev 15:2–10CrossRefGoogle Scholar
  36. 36.
    Gao H, Zhai Y (2010) System design of cloud computing based on mobile learning. In: Knowledge acquisition and modeling (KAM), pp 239–242Google Scholar
  37. 37.
    Yang X, Pan T, Shen J (2010) On 3G mobile E-commerce platform based on cloud computing. In: Ubi-media computing (U-Media), pp 198–201Google Scholar
  38. 38.
    Hoang DB, Chen L (2010) Mobile cloud for assistive healthcare (MoCAsH). In: IEEE APSCC’10, pp 325–332Google Scholar
  39. 39.
    Cuervo E, Balasubramanian A, Cho D, Wolman A, Saroiu S, Chandra R, Bahl P (2010) MAUI: making smartphones last longer with code offload. In: ACM MobiSys’10, pp 49–62Google Scholar
  40. 40.
    Huang D, Zhang X, Kang M, Luo J (2010) MobiCloud: building secure cloud framework for mobile computing and communication. In: IEEE SOSE’10, pp 27–34Google Scholar
  41. 41.
    Kristensen MD (2010) Scavenger: transparent development of efficient cyber foraging applications. In: IEEE PerCom’10, pp 217–226Google Scholar
  42. 42.
    Kumar K, Lu Y-H (2010) Cloud computing for mobile users: can offloading computation save energy?IEEE Comput 43(4):51–56CrossRefGoogle Scholar
  43. 43.
    Nimmagadda Y, Kumar K, Lu Y-H, Lee CSG (2010) Real-time moving object recognition and tracking using computation offloading. In: IEEE/RSJ intelligent robots and systems (IROS’10), pp 2449–2455Google Scholar
  44. 44.
    Itani W, Kayssi A, Chehab A (2010) Energy-efficient incremental integrity for securing storage in mobile cloud computing. In: IEEE ICEAC’10, pp 1–2Google Scholar
  45. 45.
    Liang H, Huang D, Cai LX, Shen X, Peng D (2011) Resource allocation for security services in mobile cloud computing. In: IEEE INFOCOM’11 workshops on M2MCN’11, pp 191–195Google Scholar
  46. 46.
    Yang X, Pan T, Shen J (2010) On 3G mobile e-commerce platform based on cloud computing. In: IEEE U-Media (2010)Google Scholar
  47. 47.
    Zhao W, Sun Y, Dai L (2010) Improving computer basis teaching through mobile communication and cloud computing technology. In: Proceedings of the 3rd international conference on advanced computer theory and engineering (ICACTE’10)Google Scholar
  48. 48.
    ABI (2009) Mobile cloud computing subscribers to total nearly one billion by 2014, Tech. Rep., ABI ResearchGoogle Scholar
  49. 49.
    Marinelli E (2009) Hyrax: cloud computing on mobile devices using MapReduce. Master thesis, Carnegie Mellon UniversityGoogle Scholar
  50. 50.
    Satyanarayanan M, Bahl P, Caceres R, Davies N (2009) The case for VM-based cloudlets in mobile computing. IEEE Pervasive Comput 8(4):14–23CrossRefGoogle Scholar
  51. 51.
    Khan AH, Qadeer MA, Ansari JA, Waheed S (2009) 4G as a next generation wireless network. In: IEEE international conference on future computer and communication, ICFCCGoogle Scholar
  52. 52.
    Giurgiu I, Riva O, Juric D, Krivulev I, Alonso G (2009) Calling the cloud: enabling mobile phones as interfaces to cloud applications. In: Proceedings of the ACM/IFIP/USENIX 10th international conference on Middleware, Middleware 2009Google Scholar
  53. 53.
    Dean J, Ghemawat S (2008) MapReduce: simplified data processing on large clusters. Commun ACM 51:107–113CrossRefGoogle Scholar
  54. 54.
    Yang K, Ou S, Chen H-H (2008) On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications. IEEE Comm Mag 46:56–63CrossRefGoogle Scholar
  55. 55.
    Huerta-Canepa G, Lee D (2008) An adaptable application offloading scheme based on application behavior. In: IEEE AINAW’08 workshop, pp 387–392Google Scholar
  56. 56.
    Yiu ML, Jensen CS, Huang X, Lu H (2008) SpaceTwist: managing the trade-offs among location privacy, query performance, and query accuracy in mobile services. In: IEEE ICDE’08, pp 366–375Google Scholar
  57. 57.
    Xian C, Lu Y-H, Li Z (2007) Adaptive computation offloading for energy conservation on battery-powered systems. In: Parallel and distance systems ’07, vol 2, pp 1–8Google Scholar
  58. 58.
    Mohapatra S, Dutt N, Nicolau A, Venkatasubramanian N (2007) DYNAMO: a cross-layer framework for end-to-end QoS and energy optimization in mobile handheld devices. In: IEEE journal on selected areas in communicationsGoogle Scholar
  59. 59.
    Katti S, Rahul H, Hu W, Katabi D, Médard M, Crowcroft J (2006) XORs in the air: practical wireless network coding. In: ACM SIGCOMMGoogle Scholar
  60. 60.
    Meingast M, Roosta T, Sastry S (2006) Security and privacy issues with health care information technology. In: IEEE EMBSGoogle Scholar
  61. 61.
    Balan R, Satyanarayanan M, Park S, Okoshi T (2003) Tactics-based remote execution for mobile computing. In: MobiSysGoogle Scholar
  62. 62.
    Flinn J, Park S, Satyanarayanan M(2002) Balancing performance, energy, and quality in pervasive computing. In: IEEE international conference on distributed computing systems, ICDCSGoogle Scholar
  63. 63.
    Osborne MJ, Rubinstein A (1994) A course in game theory. MIT PressGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • M. Reza Rahimi
    • 1
  • Jian Ren
    • 2
  • Chi Harold Liu
    • 2
  • Athanasios V. Vasilakos
    • 3
  • Nalini Venkatasubramanian
    • 1
  1. 1.University of CaliforniaIrvineUSA
  2. 2.Beijing Institute of TechnologyBeijingChina
  3. 3.National Technical University of AthensAthensGreece

Personalised recommendations