A Research on Mobile Cloud Computing and Future Trends

With an exploding growth of the mobile applications and emerging of cloud computing, mobile cloud computing (MCC) has become a potential technology for mobile services. MCC is the combination of cloud computing, mobile computing and wireless networks to bring rich computational resources to mobile users, network operators, as well as cloud computing providers. Despite increasing usage of mobile computing, exploiting its full potential is difficult due to its inherent problems such as resource scarcity, frequent disconnections and mobility. MCC can address these problems by executing mobile applications on the resource providers’ side. In this paper, we give a definition of mobile cloud computing and provide an overview of state-of-the-art progress, in particular, models of mobile cloud applications. We also highlight research challenges in the area of mobile cloud computing. We conclude that mobile cloud computing can help building more powerful mobile applications.


Introduction
The market of mobile devices has expanded rapidly.According to IDC [24], the premier global market intelligence firm, the worldwide Smartphone market grew 55.3% year over year in 2015.Mobile devices allow users to run powerful applications that take advantage of the growing availability of built-in sensing and better data exchange capabilities of mobile devices.In recent years, applications targeted at mobile devices have started becoming abundant with applications in various categories such as entertainment, health, games, business, social networking, travel and news.The popularity of these are evident by browsing through mobile app download centers such as Apple's iTunes or Google's Play.The reason for this is that mobile computing is able to provide a tool to the user when and where it is needed irrespective of user movement, hence supporting location independence.
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) [39].The limited resources significantly impede the improvement of service qualities.Given the abundance of and easy access to public cloud computing resources, the natural question to ask is, can cloud computing bridge the resource gap of mobile computing?
The answer is definitively yes.Recently, we have witnessed several cases which cloud computing is called in to solve mobile computing problems.Apple's iCloud stores customers' music, photos, apps, calendars, documents, etc, and wirelessly pushes them to all their devices automatically.Apple's iCloud stores are hosted in Amazon Elastic Compute Cloud (EC2) and Microsoft Azure.Amazon has released its new "cloudaccelerated" Web browser Silk.Silk a "split browser" whose software resides both on Kindle Fire and EC2.With each web page request, Silk dynamically determines a division of labor between the mobile hardware and Amazon EC2 (i.e. which browser subcomponents run where) that takes into consideration factors like network conditions, page complexity and the location of any cached content.We refer to mobile applications that leverage the public cloud (e.g.Amazon EC2 and Windows Azure) as mobile cloud applications or mCloud apps for short.We refer to the research area of mobile computing that taps in cloud resources as mobile cloud computing or mCloud computing for short.The public cloud today are designed for enterprise applications without any explicit consideration of mobile applications.Mobile computing demand fundamental changes to the public cloud.We refer to a public cloud that supports mobile applications seamlessly as mCloud.
Cloud computing (CC) has been widely recognized as the next generation 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, MCC is introduced as an integration of CC into the mobile environment.MCC brings new types of services and facilities mobile users to take full advantages of CC.
This paper presents a comprehensive summary on MCC.A brief background of MCC can be shown in Section 2. Section 3 provides a brief overview of MCC including definition, architecture, and its advantages.Then, Section 4 presents several open research issues and Section 5 shows the basic mobile cloud computing services.Finally, the future research Trends and the conclusion are outlined in Section 6.

Background
As a development and extension of Cloud Computing and Mobile Computing, Mobile Cloud Computing, as a new phrase, has been devised since 2009.In order to help us grasping better understanding of Mobile Cloud Computing, let's start from the two previous techniques: Mobile Computing and Cloud Computing.

Mobile Computing
Mobility has become a very popular word and rapidly increasing part in today's computing area.An incredible growth has appeared in the development of mobile devices such as, smartphone, PDA, GPS Navigation and laptops with a variety of mobile computing, networking and security technologies.In addition, with the development of wireless technology like WiMax, Ad Hoc Network and WIFI, users may be surfing the Internet much easier but not limited by the cables as before.Thus, those mobile devices have been accepted by more and more people as their first choice of working and entertainment in their daily lives.
So, what is Mobile computing exactly?In Wikipedia, it is described as a form of human-computer interaction by which a computer is expected to be transported during normal usage [32].Mobile computing is based on a collection of three major concepts: hardware, software and communication.The concepts of hardware can be considered as mobile devices, such as smartphone and laptop, or their mobile components.Software of mobile computing is the numerous mobile applications in the devices, such as the mobile browser, anti-virus software and games.The communication issue includes the infrastructure of mobile networks, protocols and data delivery in their use.They must be transparent to end users.
Compared with the traditional wired network, mobile computing network may face various problems and challenges in different aspects, such as signal disturbance, security, hand-off delay, limited power, low computing ability, and so on, due to the wireless environment and numerous mobile nodes.In addition, the Quality of Service (QoS) in mobile computing network is much easier to be affected by the landforms, weather and buildings.

Cloud Computing
In the era of PC, many users found that the PCs bought 2 years ago cannot keep pace with the development of software nowadays; they need a higher speed CPU, a larger capacity hard disk, and a higher performance Operation System (OS).That is the magic of "Moores Law" which urges user upgrading their PCs constantly, but never ever overtakes the development of techniques.Thus, a term called "Cloud Computing" burst upon our lives.
Cloud Computing has become a popular phrase since 2007.However, there is no consensual definition on what a Cloud Computing or Cloud Computing System is, due to dozens of developers and organizations described it from different perspectives.C. Hewitt [22] introduces that the major function of a cloud computing system is storing data on the cloud servers, and uses of cache memory technology in the client to fetch the data.Those clients can be PCs, laptops, smartphones and so on.R. Buyya [9] gives a definition from the perspective of marking that cloud computing is a parallel and distributed computing system, which is combined by a group of virtual machines with internal links.Such systems dynamically offer computing resources from service providers to customers according to their Service level Agreement (SLA).However, some authors mentioned that cloud computing was not a completely new concept.L. Youseff [45] from University of California, Santa Barbara (UCSB) declares that cloud computing is just combined by many existent and few new concepts in many research fields, such as distributed and grid computing, Service-Oriented Architectures (SOA) and in virtualization.

Overview of Mobile Cloud Computing
The term "mobile cloud computing" was introduced not long after the concept of "cloud computing".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 [3].This section provides an overview of MCC including definition, architecture, and advantages of MCC.

Definition
MCC is the combination of cloud computing, mobile computing and wireless networks to bring rich computational resources to mobile users, network operators, as well as cloud computing providers [1] [29].The ultimate goal of MCC is to enable execution of rich mobile applications on a plethora of mobile devices, with a rich user experience [2].MCC provides business opportunities for mobile network operators as well as cloud providers [14].Move comprehensively, MCC can be defined as a rich mobile computing technology that leverages unified elastic resources of varied clouds and network technologies toward unrestricted functionality, storage, and mobility to serve a multitude of mobile devices anywhere, anytime through the channel of Ethernet or Internet regardless of heterogeneous environments and platforms based on the pay-as-you-use principle [36].

Architectures
From the concept of MCC, the general architecture of MCC can be shown in Figure 1.In Figure 1, mobile devices are connected to the mobile networks via base stations (e.g., base transceiver station, 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 authentication, authorization, and accounting based on the home agent 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 [18] to compare cloud computing with grid computing.Alternatively, a serviceoriented architecture, called Aneka, is introduced to enable developers to build.Microsoft .NET applications with the supports of application programming interfaces (APIs) and multiple programming models.[10] presents an architecture for creating market-oriented clouds and [23] proposes an architecture for webdelivered business services.In this paper, we focus on a layered architecture of cloud computing (CC) (Figure 2).This architecture is commonly used to demonstrate the effectiveness of the CC model in terms of meeting the user's requirements [43].
Generally, a CC 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 (Figure 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.
• 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.Although the CC architecture can be divided into four layers as shown in Figure 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.

Advantages
Cloud computing is known to be a promising solution for mobile computing (MC) because of many reasons (e.g., mobility, communication, and portability [17]).In the following, we describe how the cloud can be used to overcome obstacles in MC, thereby pointing out advantages of MCC.
• Extending battery lifetime.Battery is one of the main concerns for mobile devices.Several solutions have been proposed to enhance the CPU performance [25][34] and to manage the disk and screen in an intelligent manner [13][30] 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.
In [35] and [42], the effectiveness of offloading techniques were evaluated through several experiments.The results demonstrate that the remote application execution can save energy significantly.Especially, Rudenko [35] evaluates largescale numerical computations and shows that up to 45% of energy consumption can be reduced for large matrix calculation.In addition, many mobile applications take advantages from task migration and remote processing.For example, offloading a compiler optimization for image processing [26] can reduce 41% for energy consumption of a mobile device.What's more, using memory arithmetic unit and interface (MAUI) to migrate mobile game components [12] to servers in the cloud can save 27% of energy consumption for computer games and 45% for the chess game.
• 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 [5] which supports file storage service.Another example is Image Exchange which utilizes the large storage space in clouds for mobile users [44].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 the cloud, the users can save considerable amount of energy and storage space on their mobile devices because all images are sent and processed on the clouds.Flickr [16] and ShoZu [41] are also the successful mobile photo sharing applications based on MCC.Facebook [15] is the most successful social network application today, and it is also a typical example of using cloud in sharing images.
Mobile cloud computing also helps in reducing the running cost for compute-intensive applications that take long time and large amount of energy when performed on the limited-resource devices.CC can efficiently support various tasks for data warehousing, managing and synchronizing multiple documents online.For example, clouds can be used for transcoding [19], playing chess [12][27], or broadcasting multimedia services [28] to mobile devices.In these cases, all the complex calculations for transcoding or offering an optimal chess move that take a long time when perform on mobile devices will be processed efficiently on the cloud.Mobile applications also are not constrained by storage capacity on the devices because their data now is stored on the cloud.
• Improving reliability: Storing data or running applications on clouds is an effective way to improve the reliability because 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 [46].In addition, the cloud can remotely provide mobile users with security services such as virus scanning, malicious code detection, and authentication [33].Such cloud-based security services also 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, selfservice 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.
• Multitenancy.Service providers (e.g., network operator and data center owner) can share the resources and costs to support a variety of applications and largenumber of users.
• Ease of integration.Multiple services from different service providers can be integrated easily through the cloud and Internet to meet the user demand.

Energy efficiency
Owing to the limited resources such as battery life, available network bandwidth, storage capacity and processor performance, on the mobile devices, researchers are always on the lookout for solutions that result in optimal utilization of available resources.

Security
The absence of standards poses a serious issue specifically with respect to security and privacy of data being delivered to and from the mobile devices to the cloud.

Better service
The original motivation behind MCC was to provide PC-like services to mobile devices.However, owing to the varied differences in features between fixed and mobile devices, transformation of services from one to the other may not be as direct.

. Task division
Researchers are always on the lookout for strategies and algorithms to offload computation tasks from mobile devices to cloud.However, due to differences in computational requirement of numerous applications available to the users and the variety of handsets available in the market, an optimal strategy is an area to be explored.

Basic Mobile Cloud Computing Services
We envision that cloud computing providers will provide a set of basic services for mobile computing.
There are three types of services.The first one is what we refer as platform services, the second is application services, and the third is context-rich support services.

Platform Services
Platform services include computing, storage, database, memcache, content distribution as shown in Figure 3. Currently all EC2 services accessible from mobile devices are considered platform services.Some of these basic services can benefit from application sharing.Taking distributed memcache service for an example, we can see that many application may create same or access same data sets.With a shared memcache service, it will be more likely to have a cache hit due to the larger cache size.It will reduce computation demand to regenerate the cached results.Of course, sharing brings several issues, such as security, privacy as well as how much storage each application should have.Out of the basic platform service, one can already build very useful applications.For example, with storage service, and computing service, one can build file backup service, and file syncing service (keep all registered devices in sync of the user content).One can also build a data locker service [4].In essence, the

Application Services
Public cloud provider can also offer a set of essential application services, which can be shown in Figure 4.For example, people may not trust each individual applications and thus, may not reveal their location information.This can hamper the development of location based services.If mobile devices are using the cloud services, then there is prior trusted relationship.For example, Apple iCloud users are comfortable that their private data will be protected from unauthorized use.So it is easier to trust the cloud provider for location privacy.Thus, a presence service can be an essential service so that any application that needs location information can talk to the presence service.The presence service will implement location privacy policies according to what are stipulated by the mobile subscribers.We recognize that different people have different levels of privacy requirements.It is conceivable that some people may not want to sign up with a presence service.However, the presence service will facilitate the development of location-based services.Presence service will save resources as it is not replicated for each location based application.Given the popularity of video streaming applications, cloud providers can offer a video transcoding and streaming proxy.The reason is that mobile devices are limited by the availability of video codec as well as bandwidth variability.A proxy service alleviates this problem by performing transcoding.In addition, the proxy can take advantage of certain codec's inherent bandwidth adaptation capability, for example, H.264SVC can adapt in three dimensions with finer granularity of network bandwidths.
Many mobile applications need to send push notification to mobile devices.Because many mobile devices are behind NAT, in order to send push notification, a persistent TCP connection is needed.To maintain such a persistent TCP connection, periodic heartbeat messages have to be sent.Thus, it will be very inefficient if each application has to maintain a persistent TCP connection.To avoid such situation, Android offers a push notification service through an API so that one TCP connection is maintained between a mobile device and a Google server for the purpose of push notification.
Push notification services typically are used by servers to reach mobile clients.To allow mobile devices to communicate with each other, Microsoft Research Project Hawaii [21] has developed a relay service.The Hawaii Relay Service provides a relay point in the cloud that mobile applications can use to communicate.It provides an endpoint naming scheme and buffering for messages sent between endpoints.It also allows for messages to be multicast to multiple endpoints.
There are many applications that do speech and image recognition.It makes sense to provide a common service to implement the best algorithm while amortizing the cost.In fact, Google Android have a speech recognition API which enables developers to integrate speech input capabilities into their applications.Developers stream audio to Google's servers which then convert speech into text and feed it back to the applications.Project Hawaii [21] also provides a speech to text service.

Context-rich Services
We envision that many mobile applications will become more personalized, and more context aware, recognizing not only the location of the user and the time of day, but also a user's identity and their personal preferences.To support these mCloud services, we believe mCloud providers need to provide a set of context-rich support services.Application developers can use these context-rich support services as building blocks to build a large class of new mCloud services.We envision several context-rich support services such as context extraction service, recommendation service, and group privacy service.Context extraction service provides data mining analysis of mobile data combined with other forms of data, such as social networking data and sensor network data, in order to extract contextual clues relevant to the user.For example, recognizing the user's activity based on mobile accelerometer and audio data is one such contextual mining service that is currently being explored [31].The context extraction service will be a common service that relieves each context-rich application from replicating context  extraction, thus saving energy and reduce computation costs of mobiles.
Based on these contextual clues, a layer of cloud recommendation services can be built that creates output that is tailored to an individual or set of individuals with those contextual characteristics.For example, some applications have begun to combine together mobile location with social networks to generate multimedia content, e.g. a song playlist or a recommended video [6], that is tailored to the individual or individuals who are nearby an audio jukebox or video screen that is aware of their presence.
Such contextual mobile applications would be composed as shown in Figure 5.This architecture fuses together multiple layers of cloud application services, as described in the SocialFusion architecture [8], wherein mobile, social, and sensor networks supply streams of data into a distributed storage service.Data mining/inference cloud services then operate on the assembled data to extract contextual clues.Finally, recommendation services in the cloud generate tailored multimedia output, either for the mobile device or for nearby multimedia devices such as LCD displays or loudspeakers.
We imagine that privacy protection services will emerge as a key component of context-aware mobile cloud services, as there is a fundamental tradeoff between supplying personal information to receive contextual services, and revealing too much private information for those services.Location privacy has already been discussed, but we think that new privacy services will have to be developed to protect user's data from data mining services that analyze mobile smartphone data, such as activity recognition services.New privacy services will also need to be devised to protect and anonymize information released from social networks [7] and sensor networks [20] [37].Moreover, we believe a new concept of "group privacy" or "collective privacy" will emerge, requiring privacy services that protect groups of individuals from collective inferences on their joint actions, tastes, and preferences.

Conclusion and Future Trends
Mobile Cloud Computing, as a development and extension of Cloud Computing and Mobile Computing, is the emerging and well accepted technology with fast growth.The combination of cloud computing, wireless communication infrastructure, portable computing devices, location-based services, mobile Web etc. has laid the foundation for the novel computing model.
We have given an extensive survey of current mobile cloud computing research in this paper.Highlighting the motivation for mobile cloud computing, we have also presented different definitions of mobile cloud computing in the literature.We have presented a taxonomy of issues found in this area, and the approaches in which these issues have been tackled, focusing on operational level, end user level, service and application level, security and context-awareness.
These are still early days in mobile cloud computing, with recent workshops in the area such as MobiSys [38], MCCTA [40], CMCVR [12], and MCNCS [11].There are numerous new mobile applications that a mobile cloud framework can enable, when many more resources can be made available to the mobile device (via the mobile cloud facility).The future could also explore the potential of local mobile clouds formed from collections of computers in ubiquitous devices in shoes, clothing, watches, jewelry, furniture and other everyday objects, as indeed such embedded computers will become more powerful.And so, the infrastructure, platform or application available as services will be of new forms: the infrastructure could be a powerful massively distributed set of cameras on stationary and mobile devices formed ad hoc and metered to cover an event, or a collection of distributed computers formed to compute a job seamlessly from the user's mobile device while the user is shopping.A car can sell its computational resources and pay for its own parking, or the collection of computers on crowds of people in a busy area forms an "elastic" collective resource for ad hoc use.There is also potential to have context sources or sensors (and sensor networks) in the vicinity of a mobile user sold as services to the mobile user, to support context-aware applications.However, challenges are present in order to "elastically" on-demand form clouds of services and resources efficiently, seamlessly and in a robust manner.

Figure 1 .
Figure 1.Architecture of Mobile Cloud Computing

Figure 5 .
Figure 5. Privacy, Data Mining, and Recommendation Services in the Context-Aware Mobile Social Cloud.
on 0 -04 2016 | Volume 3 | Issue | e4 A Research on Mobile Cloud Computing and Future Trends on 0 -04 2016 | Volume 3 | Issue | e4 Fei Gu et al.EAI European Alliance for Innovation EAI Endorsed Transactions on 0 -04 2016 | Volume 3 | Issue | e4 A Research on Mobile Cloud Computing and Future Trends