Mobile Cloud Computing: Taxonomy and Challenges

. Mobile cloud computing (MCC) holds a new dawn of computing, where the cloud users are attracted to multiple services through the Internet. MCC has a qualitative, ﬂexible, and cost-eﬀective delivery platform for providing services to mobile cloud users with the aid of the Internet. Due to the advantage of the delivery platform, several studies have been conducted on how to address diﬀerent issues in MCC. The issues include energy eﬃciency in MCC, secured MCC, user-satisﬁed applications and Quality of Service-aware MCC (QoS). In this context, this paper qualitatively reviews diﬀerent proposed MCC solutions. Therefore, taxonomy for MCC is presented considering major themes of research including energy-aware, security, applications, and QoS-aware developments. Each of these themes is critically investigated with comparative assessments considering recent advancements. Analysis of metrics and implementation environments used for evaluating the performance of existing techniques are presented. Finally, some open research issues and future challenges are identiﬁed based on the critical and qualitative assessment of literature for researchers in this ﬁeld.


Introduction
Mobile cloud computing (MCC) has witnessed more rapid growth in terms of research due to the reason that mobile phones are becoming a vital need for human life. It is portable and is everywhere, which is very effective and suitable for communication irrespective of time and place [1,2]. e birth of MCC is a significant turnaround for computer science technology and also phone developers. MCC is an important technology which is applicable in different services such as Electronic Mobile Learning (EML), Electronic Mobile Commerce (EMC), Electronic Mobile Banking (EMB), Electronic Mobile Game (EMG), and Electronic Mobile Healthcare (EMH) [3][4][5][6][7][8]. Meanwhile, Mobile Devices (MDs) are becoming more sophisticated due to the development of large and complex applications. Consequently, MDs are constrained with challenges of battery power, memory space, and computation power; for these reasons, the idea of offloading task to the cloud has been integrated into mobile devices. When offloading a task to cloud, so many issues are resolved, such as security, quality of service, and mobile application development, according to Zissis and Lekkas [9] and Kumar and Lu [10] as depicted in Figure 1, which represents MCC system view.
Applications require complex computations such as real-time computing, image processing, voice processing, online game, video streaming, language, and wearable computing demands high processing capabilities. ese complex applications are challenging for MDs application developers in terms of implementing the application for MDs. e problem of battery power consumption and memory space are increasing due to high demand for smaller sized MDs; therefore, these challenges are problematic issues in MCC [11]. Hence, it has become paramount to adopt cloud computing solutions for mobile devices. Recently, many types of research have been directed towards MCC to address the aforementioned challenges. MCC can provide Infrastructure as a Service (IaaS) for MDs storage and Platform as a Services (PaaS) for MDs computation to alleviate their limitations [12]. e basic idea of MCC is to offload large and complex task to remote resource providers. us, security is needed for offloaded tasks' confidentiality and integrity.
Confidentiality, availability, and integrity issues need to be addressed when tasks are offloaded into the cloud. Authentication, privacy, and end-to-end security need to be integrated into the offloading architecture framework. It is vital to ensure reliable and secure task transmission from MDs to the cloud because data can be moved and stored into the cloud via a wireless connection. Due to the wireless connection, transmission becomes vulnerable to both internal and external attacks. Quality of Service (QoS) is also very important for the realization of efficient transmission of the task into the cloud system. QoS is considered because of the distant connection, which might result in communication latency. Network strength and phone bandwidth need to be considered before offloading task to the cloud. Several research papers have proposed different reviews on mobile cloud computing with taxonomy focusing on the energy consumption, security, applications, and MCC quality of service. e reviews/survey papers describe and analyze the foundation and general issues in the MCC integration, task processing, and communication. In [13], the MCC has been surveyed considering security, privacy and trust, bandwidth and data transfer, data management and synchronization, energy efficiency, and heterogeneity. Also, [14] presented a survey that is centered on technological development based on architectures and application areas of Mobile Edge Computing (MEC). Furthermore, a comprehensive survey has been suggested focusing on security-based authentication and privacy scheme for noncentralized MCC services [15]. However, none of these surveys explore the performance metrics of the MCC.
To be precise, our contributions in this paper are as follows.
(i) We review and present an analysis of different issues and techniques employed in the MCC domain (ii) We present a classification structure and descriptive review of recent related work in MCC (iii) We outline, described, and analyze different performance metrics and implementation environment used in evaluating various research papers in MCC (iv) We summarize the suggested future research works as presented in various research studies, which unveils direction for current and future research gaps e remaining parts of the paper are structured as follows. Section 2 contains a review of related works and its comparison of different characteristics in MCC. In Section 3, classification, analysis, and comparison of different studies are presented. Furthermore, Section 4 entails analysis of metrics and implementation environments used for evaluating the performance of existing techniques. In Section 5, open issues and research challenges are explored and presented. Lastly, conclusion and recommendations are put forth in Section 6.

Related Works
Different issues in MCC are extensively reviewed and discussed in an attempt to unveil the trend of research in this field. A question of whether offloading techniques can lead to a reduction of energy consumption of mobile devices, which led to a survey of MCC, has been presented [10]. e analysis of the offloading questions including energy-aware applications and security and privacy is presented. An early survey conducted presents various challenges of MCC design and a conceptual model for MCC. In addition, a review of application context-aware, partition, and offloading services are carried out. Meanwhile, other aspects of MCC such as QoS, privacy, and security are not considered. Furthermore, it considers different MCC infrastructures in order to analyze the major components. Moreover, prevailing MCC application models and services are elaborated. Furthermore, issues and challenges that need to be addressed are presented.
Ma et al. [16] presented a survey based on location sensing technology applications which consider energy efficiency for MCC environment. A survey considering approaches, architectures, and application has been presented [17]. e architecture is divided into four categories including Software as a Service, data center layer, Infrastructure as a Service, and Platform as a Service for MCC. e applications including mobile commerce, mobile gaming, mobile healthcare, mobile learning, and other implementable applications are discussed. Furthermore, some issues and challenges based on the MCC techniques are presented. Cui et al. [18] suggested a review of research studies which considers the general energy consumption estimation model for MCC devices. Furthermore, future research direction is discussed. Nevertheless, MCC issues are not only limited to energy; other issues including heterogeneity and application QoS have not been considered.
However, Kosta et al. [17] have reviewed different MCC research studies that are proposed to tackle issues of increasing energy consumption, low and intermittent connection, and resource scarceness of mobile devices. Furthermore, a classification considering key issues based on the aforementioned issues is proposed. In addition, an analysis of issues that have not been fully explored with future research directions is highlighted. A security-centric survey that considers different strategies employed in mitigating security loopholes in MCC is proposed. e research presents security services on different layers including an application, platform, infrastructure, supervisor layer, and backbone layer. Furthermore, possible MCC problems and classification of the security issues are discussed. However, Kosta et al. [17] only focused on the security aspect of the MCC. A review considering multimedia applications with their prototypes is presented [18]. Furthermore, open research issues for the MCC are outlined. However, the framework and architecture of the existing multimedia application are not explored. e challenges facing MCC in terms of energy efficiency and latency has been reviewed [19]. Furthermore, MCC architecture and discussion of offloading approaches with task distribution algorithms are presented. In addition, security and privacy and power and energy consumption with some future research directions are discussed. Nevertheless, the survey did not consider QoS issues of the offloading and task distributions approaches. Heterogeneity in MCC has been reviewed and classified into horizontal and vertical dimensions [20]. e heterogeneity roots and roots are analyzed based on API, hardware, features, and platform. Related challenges and opportunities are outlined. Finally, open research challenges that can help in finding new research directions in MCC are discussed. However, the research focused more on the heterogeneity of MCC devices.
Also, Kosta et al. [17] have presented a survey based on the applicability of MCC in different fields including social media, learning, commerce, and healthcare. en, open research issues are presented, which cover the typical aspect of MCC. e typical aspects suggested include improved resource allocation, privacy and security, and offloading. Nevertheless, architecture design is not considered for the application and security issues unveiled. Based on offloading decisions, an MCC survey has been suggested [17]. Mobile cloud architecture is presented, which include users mobile devices, network connection devices, and the cloud computing entities. Offloading-decision modules affecting MCC are also highlighted. Furthermore, application models based on their parameters are analyzed. e future research direction is also discussed. However, the protocol and element of the architecture are not mentioned. MCC applications have been surveyed considering challenges and perspectives [21]. Liu et al. [22] presented a survey of various applications partitioning algorithms that have been employed in different research issues. A thematic taxonomy for application of partition algorithm in MCC is proposed. Challenges and issues in the partition of elastic applications are outlined. Conversely, architecture design protocols for the partition framework are not considered. e challenges in building MCC applications including privacy and security, computation offloading, and task-oriented mobile devices are outlined and discussed. Review of cloud-based mobile application execution frameworks has been suggested [23]. e survey considers merits and demerits of seamless applications approaches. Taxonomy future research issues are discussed. Also, Ahmed et al. [24] presented another review on mobile application optimization frameworks and strategies in MCC. e research also presents taxonomies of cloudbased mobile applications. Comparison of the optimization applications with future research issues is presented. However, these surveys only focused on application issues in MCC.
Research works that considered energy efficiency in MCC task offloading have been reviewed [25]. A Big data Stream Mobile Computing (BDSMC) is proposed. e energy performance of the BDSMC is analyzed. en, future research directions are outlined. A similar survey based on energy-aware task offloading in MCC has been proposed [17]. Classification of energy-aware task offloading including dynamic and static mode is suggested. Comparative analysis of different MCC characteristics with parameters is presented. Furthermore, open research challenges are highlighted and discussed, although issues discussed are not incorporated with MCC architectures' protocols and element. Table 1 shows comparison of existing review work in MCC.
Journal of Computer Networks and Communications 3

Classification of Mobile Cloud Computing Protocols
Mobile cloud computing (MCC) forum is as follows: http:// www.mobilecloudcomputingforum.com/. "MCC at its simplest refers to an infrastructure where both the data storage and 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 MC to not just smart phone users but a much broader range of mobile subscribers." In this section, mobile cloud computing is qualitatively reviewed on the basis of a taxonomy depicted in Figure 2. Cloud computing is an evolving research domain in mobile devices which is developing due to creation of complex and resource demanding mobile applications. Cloud computing ideas are integrated into mobile computing so as to minimize the challenges of mobile devices, which include battery energy, memory space, and computation power (processor). e research has four major issues, namely, energy-aware issues which bring about offloading tasks onto the cloud, security, application, and QoS-aware in MCC. Each of these issues has been investigated in numerous directions, which are scientifically critically explored in the following subsections.

Energy-Aware Developments.
It is generally accepted that the major challenge faced by MDs is low battery lifetime, while application developers continuously develop resources-demanding applications for the MDs. Hence, this requires different approaches that can reduce battery and other resource consumptions. One of the common approaches is mobile task offloading. Energy-aware dynamic resource allocation and parallel execution in the cloud for mobile code offloading ( inkAir) addressed the difficulty of computational power and energy due to increasingly complex applications [17]. A framework has been developed, and result analysis was benchmarked. e inkair framework uses the concept of smart phone virtualization in the cloud, which dynamically migrate an application using parallelization with multiple Virtual Machine (VM) clone when the task is offloaded. Two benchmark approaches are considered which includes microbenchmark and application benchmark to evaluate two performance metrics, namely, energy and time consumption for four different scenarios including WIFI, 3G, WIFI local, and phone. Partial Mobile Application Offloading to the Cloud for energy efficiency with security measures (PMAOC) addressed challenges of low battery life and a systematic mechanism to evaluate the effect of offloading an application onto the cloud [28]. A mathematical model, dynamic algorithm, Free Sequence Protocol (FSP), and experiment were carried out. A mathematical model has been deduced to save energy while preserving security using variables such as time and energy. An algorithm called dynamic minimum-cut has been used to preserve and enhance security in the system. FSP permits mobile phone applications to run in several possible combinations in client and server sides. A complete system consisting of profiling, decision, offloading engine, and an FSP-based mobile app has been developed on an Android platform. Figure 3 shows the system module for parallel execution and resources allocation. e tradeoff between Performance Improvement and Energy saving in Mobile Cloud Offloading systems (PIEMCO) handled the challenges of low computation and battery power of mobile devices [29]. A novel adaptive offloading scheme has been suggested and examined based on tradeoff analysis. e tradeoff analysis can be achieved due to the elasticity of cloud computing, in such a way that resources can be supplied on demand. Furthermore, the authors present a tradeoff analysis of performance enhancement and energy saving during offloading decisions. e execution time was divided into three intervals, namely, tradeoff, always offload, and never offload to enhance energy saving. Figure 4 represents cloud offloading system architecture.    A lightweight MObile Cloud offloading Architecture (MOCA) has been employed for addressing low battery and computation power of mobile devices, by designing an offloading architecture to the cloud [31]. e architecture uses an in-network cloud platform to offer offloading resources. MOCA incorporates with present mobile network architectures without demanding significant variations and utilizes software-based networking techniques in the data plane to redirect appropriate traffic to and from the cloud platform. e viability of MOCA has been depicted by a prototype implementation using an LTE/EPC mobile testbed.
Dynamic Resource and task allocation for Energy minimization in Mobile (DREAM) cloud systems have been employed to handle complicated resource interference issue due to the resource sharing in dynamic mobile cloud offloading. In other words, DREAM addresses issues of minimizing high CPU and network energy usage of current smart phones [32]. A joint CPU, network resource, and task allocation, bearing in mind all types of tasks such as networking, processing, and cloud offload-able task, have been suggested. In essence, an architecture and algorithm have been designed to minimize mobile resource consumption. e architecture establishes the applicability of the idea in practice and its implementation on android platform. e algorithms have been designed to use Lyapunov optimization, and it also was mathematically proven that it reduces CPU and network energy usage for given delay constraints.
e investigation conducted using trace-driven simulation based on actual measurements shows that DREAM saves more than 35% of the total energy usage than the existing algorithms with the same delay. An application development model for Mobile (Mobi-Byte) cloud computing to address the issue of traditional mobile development model has been suggested, which do not support offloading of the task to the cloud [33]. MobiByte has been suggested to enhance execution support, performance, and energy efficiency for mobile device applications. It outperforms the present application models in several aspects such as energy efficiency, context awareness, privacy, and performance. Meanwhile, communication aspects of the applications offloading are not considered. Figure 5 shows factors affecting computation offloading decision.
Performance Evaluation of Remote Display Access for Mobile cloud computing (PERDAM) addressed low computation, battery power remote display access as a means for mobile cloud computing, focusing on power utilization of mobile devices [34], putting into consideration the existing literature, experimental approach based on real client sessions, and using different remote access protocol and different kinds of applications, for example, gaming. Via numerous experiments, characterization of effects of different protocols and their features on network utilization and power consumption were performed. User experience and usability have also been analyzed. e model was not suggested for the energy consumption of remote access on mobile devices in a specific context provided.
Energy Efficiency of Mobile Clients in Cloud Computing (E2MC3) addresses the cost of energy during offloading of the task to the cloud and cost of offloading not exceeding the mobile device's computation energy consumption [35]. An analysis of the main factors affecting energy usage of a mobile client in cloud computing has been outlined. Measurement of some essential characteristics of recent mobile phones and tradeoff sensitivity between two scenarios local (mobile device) and cloud were presented. Economic and Energy Considerations for Resource Augmentation in Mobile Cloud Computing (EERAM) addressed task scheduling for increasing resources of multiple mobile devices to minimize energy and computational cost [36]. A model called mathematical task scheduler has been suggested which optimized both energy and economic parameters. e model handles mobile devices to offload more than one task to the cloud. Analysis of task offloading has been carried out, by using two resource augmentation environments for MCC, namely, public cloud and local private cloud. Evaluation of total energy consumption in relation to the two environment scenarios has been tested to solve task scheduling issue.
An Energy Optimizing Scheduler for Mobile Cloud Computing Environments (EOPME) tackled the challenges of task scheduling in MCC environment, so as to reduce the energy issue of mobile devices [37]. A task scheduler model has been suggested which schedules a task based on userdefined constraints. e task scheduler model is situated at the centralized broker, which optimally offload task and offers a reasonable reduction in energy consumption of MDs when the task is offloaded from the centralized scheduler without optimization. A comparative analysis and summary of the aforementioned articles have been provided in Tables 1 and 2, respectively.

Security and Privacy.
e issue of securing user application data and protecting user application privacy is a key to creating and sustaining consumer (MDs user) trust in the MCC platform. e MCC security issues can be divided into three categories, namely, privacy for MD users, security for cloud data centers, and security for mobile data. However, several attempts are made in order to alleviate the security challenges. A Cloud-Manager-based Reencryption Scheme for mobile users in a cloud environment, a Hybrid Approach CMReS, handled security and privacy issue after deployment or migration of organizations data to the cloud [38]. A scheme has been suggested called CMReS, which has the features of both cloud-based reencryption and manager based-reencryption for providing improved security service with the least processing power consumption on mobile devices. Investigational results show that the suggested cloud-manager-based reencryption scheme depicts a substantial improvement in energy consumption, turnaround time, and resources utilization on the mobile device as related to existing reencryption schemes. Towards Efficient and Secure Access Control System for Mobile cloud    [39]. A new access architecture on the mobile cloud that presents middle layer sitting between mobile devices and their cloud infrastructure has been suggested. is middle layer is composed of cloudlets that are deployed by cloud services providers, such as Access Points (APs) used to enhance the performance of mobile cloud service. Attribute-Based Encryption (ABE) access control scheme on the cloud for mobile cloud has been enhanced based on the architecture. e ABE is suggested to offload the core amount of computations to the cloudlet as the function of the cloud. Simulation results show that the new scheme considers response time constraints and network status of access task execution while satisfying a particular network security issue for mobile cloud.
A Trustworthy Access Control model for mobile cloud computing based on reputation and mechanism design (RMTAC) addressed security issues due to the absence of fine-grained secure access control model to secure private information from internally unauthorized access [40]. A Reputable Mechanism based on Trustworthy Access Control model (RMTAC) has been suggested to offer secure and privacy-aware big data access control in MCC. e RMTAC incorporates the access control scheme with Vickrey-Clark-Groves (VCG) based Adaptive Reputation Mechanism (VARM). Secure and privacy-aware access control and protection against internal attacks were achieved using distributed multilevel security scheme and tiered key management protocol. Investigation result shows that VARM has a greater performance in terms of effective recommendation rate, accuracy rate, and utility, when compared with the present reputation mechanism. Furthermore, RMTAC depicts improved performance in respect of successful acceptance rate and success rate of malicious access when matched with the Role-Based Encryption access control model (RBE) mechanism. In this work, encryption or signature-based privacy preserving skill with the secure access control model was not considered.
Efficient Attribute-based Comparable Data Access Control (EACDAC) addressed the issues of secure computation, fine-grained access control, and secure data storage in data sharing for resource-limited mobile devices in cloud computing [41]. A novel Constant-size Ciphertext-Policy Comparative Attribute-Based Encryption (CCP-CABE) framework has been suggested with the backing of negative features and wildcards. It embeds comparable features ranges of all the parameters into the user's key and combines features limitation of all parameters into one piece of ciphertext during encryption process to impose flexible access control rules with different range relationships. Consequently, CCP-CABE accomplishes efficiency for the reason that it generates constant-size keys and ciphertext irrespective of the number of involved attributes. CCP-CABE also maintains computational cost constant on trivial mobile devices. Extension of CCP-CABE to suit a situation with numerous attribution domains has been discussed. Performance appraisal and security analysis to show the efficiency of the framework were also conducted.
A Privacy-aware Authentication scheme for Distributed Mobile Cloud computing services (PADMC) offered Journal of Computer Networks and Communications security and ease for mobile users to access more than one mobile cloud computing services at the same time from multiple service providers by means of only a single private key [42]. e privacy and authentication scheme has been designed based on bilinear pairing cryptosystem and dynamic nonce generation. It supports nontraceability, user anonymity, mutual authentication, and key exchange.
Putting system implementation into consideration, Cloud Service Providers (CSP) and trusted Smart Card Generator (SCG) service do not require verification tables for adopting this scheme. Consequently, the scheme minimizes memory space usage on the service providers. Only the targeted CSP need to communicate with the user (service requestor), in a single mobile user authentication session. Standard security proof and performance evaluations have been carried out in order to demonstrate the strength of the scheme in terms of security and efficiency. Figure 6 represents an authentication scheme framework for distributed mobile cloud computing services. A comparative study in security and privacy and the summary of the study are presented in Table 3.  [43]. An all-inclusive framework has been put forth, the framework provides integration of different functionalities to guide the design of intelligent mobile user interfaces. It has varying levels of complexity as required, and it also provides a classification of context that divides the system view and complexity of context acquisition from user view. Storing user profiles and preferences on the cloud makes it possible for users to select stereotype preferences and to search for preferences of users with similar profiles. It also enables sharing preferences among applications and mobile devices and automated update of stereotype preferences. e prototyped framework was used to gather acceptability of the framework; this might not be enough for real evaluation of the framework and an extensive simulation is required to connect the cloud to test the idea. A Mobile-cloud Collaborative Traffic Lights Detector for blind navigation (MCTLD) addressed the limitation of the capabilities of existing mobile devices for context-aware navigation [44]. ey suggested a flexible architecture that mitigates reliance on infrastructure, which makes it usable in a wide area. Traffic light detector was developed based on mobile collaboration to form a mobile cloud. e experiment was carried out to test the performance and its suitability in realtime nature of the application. e summary of application development techniques in MCC is presented in Table 4.

Application Developments
A Conceptual Framework for Provisioning Contextaware Mobile Cloud services (CFPCMC) addressed resources limitation of Mobile Internet Devices (MIDs) [45]. Framework for enabling context-aware mobile services has been suggested. e framework allows tasks of capturing context, determining what context-specific adaptation is required, fitting candidate service for context, and running adapted service. Security of the provisioning service scheme is not handled in the work. Enabling Adaptive High-framerate video Streaming in mobile cloud gaming applications (APHIS) addressed high transmission rate and limited wireless resources for High Frame Rate (HFR) video in mobile cloud gaming scenarios [46]. A novel transmission scheduling framework dubbed APHIS has been developed to enhance the performance of transmission and wireless resource limitation. e scheme can dynamically regulate the video traffic load and Forward Error Correction (FEC) coding. An online video frame selection algorithm to reduce the total alteration based on the network status, delay constraint, data, and input video was presented. An equal FEC coding system to offer differentiated protection for Intra (I) and Predicted (P) frames with low-latency cost was introduced.
e APHIS scheme has the ability to appropriately filter video frames and regulate data protection levels to enhance the quality of HFR video streaming.  Investigational results depict that APHIS outclasses reference transmission schemes in terms of end-to-end delay, goodput, and video peak signal-to-noise ratio. Market-Oriented architecture for Mobile Cloud Computing (MOMCC) based on service-oriented architecture, which addressed long wireless area network (WAN) latency that occurs while utilizing distant cloud resources to host and run services, also creates issues such as service publishing and discovery and client-server security [47]. A market-oriented architecture based on Service Oriented Architecture (SOA) encourages publishing, discovering, and hosting services on close-by mobiles, which decreases long WAN latency and creates a business chance, and also encourages mobile users to willingly accept service hosting. Collections of mobile phones simulate a close-by cloud computing platform. New function for service hosting by allowing unskilled mobile users to host services developed by skilled developers has been created. Clearly, cloud infrastructure, reliability, service availability, and service-oriented mobile application portability will increase towards green pervasive computing in mobile devices. Managing Mobile Cloud Computing considering Objective and Subjective perspectives (MMCCOS) tackled objective and subjective perspectives of both the administrator and the end user during the use of mobile cloud application and services [48]. A management architecture and model for MCC, using both objective and subjective views, has been developed for mobile cloud application and services. e architecture is prototyped in a management system called CoLisEU that enables the examination of this architecture, and the benefits of joint objective and subjective views in management architecture were discussed.
Impact of Cloudlets on Interactive Mobile Cloud Applications (ICIMCA) addressed the impact of designed cloudlet network and service for interactive mobile cloud application [49]. A service architecture and cloudlet network has been suggested to enhance mobile performance. More attention on collaborative chatting, file editing, and video streaming, which are representative of enterprise application scenario, has been given. e first simulation results depict the performance achievement of using cloudlets instead of clouds in terms of system throughput and data transfer delay. Additionally, investigation findings show that when one or two cloudlet wireless hops are employed to transfer data, the cloudlet-based approach outperforms the cloud-based approach for the three application situations, namely, file editing, collaborative chatting, and video streaming. In the case of three or more cloudlet wireless hops in mobility, the cloud-based method can give a better performance for some of the data transfers despite the fact that cloudlets-based method can outperform the cloud-based method for most of the flows. In this work, an adaptive scheme for the cloudlet scheme is not employed. A real-time face recognition (Cloud-vision) using a MObile-Cloudlet-cloud Acceleration architecture (MOCHA) addressed challenges on how to perform task splitting from mobile devices to the cloud and allocate or share compute load among servers [50]. e servers are referred to as a cloudlet which reduces response time given different communication latencies and server compute powers. An architecture dubbed as MOCHA has been suggesting for designing and implementation of face recognition applications. Initial implementation result shows that response time has been improved using the optimal partitioning algorithm and the architecture. In the course of implementation, standard cloud and mobile phones are not used. A comparative study of the aforementioned works in quality of service-aware developments is provided in Table 5.

Quality of Service-Aware Developments.
QoS has been a challenging task in applications development and usage because the end user satisfaction needs to be achieved. e stringent requirements for QoS with the SLA policy for both the mobile application and the cloud computing service provider will improve the Quality of Experience (QoE) of MD application users. Nevertheless, some contribution has been made towards this direction: Cloudlet Bringing the Cloud to the Mobile User (BCMU) that tackled high WAN latency when offloading to the cloud for computation [51]. A more dynamic and fine-grained cloudlet model that handles applications on a component level has been suggested. is model has the ability to track other devices within its network coverage for cloudlet formation. Amazon EC2 cloud, powerful smart phone, and computer system with Wi-Fi were used to evaluate the performance, by testing the execution time. In this work, there is a need to explore the scheduling and deployment of the application to the cloudlet. A QoS-aware System for Mobile Cloud Computing (QS: MCC) handled Quality of Services (QoS) issues with regard to the cloud for mobile users [52]. QoS-aware framework for MCC with an adaptive management process that handles QoS assurance in MCC environment and QoS management concept based on the fuzzy cognitive map has been presented. Evaluation of the framework was conducted using nonstandard simulation to test three performance metrics, namely, transmission, packet loss, and cost. A standard model and configuration are required for a QoSaware system for MCC. Figure 7 represents QS framework for MCC. Context-aware Integrated Scheme for Mobile Cloud service Allocation (CISMCA) addressed issues of energy consumption, bandwidth, and server load [53]. A contextaware integrated scheme for mobile cloud service allocation that offers needed cloud services to mobile cloud users according to mobile cloud contexts is presented. Various contexts information in a mobile cloud environment, such as mobile cloud user's battery level, preferences, and a parameter of data centers, to increase the performance of the mobile cloud, are addressed. In relation to the suggested scheme, the context-aware integrated mobile cloud service allocation algorithm has been introduced. e algorithms use a mobile cloud service profile to choose services amid the existing service suppliers to improve mobile cloud client's quality of experience. e effectiveness of context-aware integrated mobile cloud service allocation algorithm was verified by experimentations. Figure 8 shows an overview of the system model. e status/state information of mobile nodes on basis of adaptive adjustment perceptron layers has also been presented. e perceptron network topology is designed to be updated in line with customer service, based on the perceptron learning rule for enhancing the training practice effectiveness. e scheme guarantees QoE efficiently, and the experimental results demonstrate that the suggested QoE guarantee mechanism has clear benefits in terms of throughput, efficiency, and reliability.
Analytical Performance Model for mobile Network Operator Cloud (APMNOC) addressed mobility, instability of 3G/WiFi connections, and complexity of virtualization, which made an estimation of performance challenging [55]. Analytical performance model containing submodel has been suggested. Additionally, to achieve outputs of the submodels and the all-inclusive result, a Markov reward method has been applied. Precisely, the contribution of this work focuses on modeling a part of MCC identified as Mobile Network Operator Cloud (MNOC) whereby mobile devices receive services from the MNOC through 3G/4G/5G link. Workload and handoff failure are different setoff parameters affecting the performance of this type of MCC. eir model demonstrates the effects of the parameters on two significant performance measures namely; mean response delay and request rejection probability. e model has been analyzed and numerical results presented using the SHARPE (Symbolic Hierarchical Automated Reliability and Performance Evaluator) software package. And logical results were tested via discrete-event simulation. A comparative study of the aforementioned works in QoS-aware developments and a summary of the study are provided in Tables 6 and 7, respectively.

Analysis of Metrics
In this section, the evaluation metrics and parameters, which are employed in assessing the performance of papers discussed in Section 3, are analyzed and presented in the subsequent subsections. In addition, the theoretical explanation of each of the parameters considered in various research works are outlined in Sections 4. 1-4.15. e parameters and metrics might be different depending on the aim and objective of the research paper. e table, pie chart, histogram, and theoretical explanation demonstrate that MCC techniques are evaluated by using several metrics including energy consumption, computation time, delay, transmission rate, packet loss, resource utilization, throughput, goodput, signal-to-noise ratio, network traffic, encryption and decryption time, service quality, workload size, bandwidth utilization, and memory utilization. e various metrics employed for performance evaluation are defined and formulated as follows.

Energy Consumption (EC)
. EC is the total power consumed in processing a mobile application task both at the mobile and at the cloud level. It can be explained as the usage of power consumed by MD resources and the cloud resources during task processing. Lower energy consumption might reduce cost and improve green computing [17, 28-30, 32, 34, 35, 37]. Proper balancing of task loads at the cloud level might reduce the workload at a server, hence speeding processing and then, in turn, reducing energy consumption.

Computation Time (CT).
CT is referred to as the amount of time consumed by the implementation of a mobile application task in a local or conventional cloud. Lowest execution time is required for cloud service provider and user,     in order to improve efficiency. e CT has an impact on resource utilization, energy consumption, and even the overall performance [17,[28][29][30].

Delay (DL)
. DL is the total time taking for a mobile application task to be processed in addition with the total time taken for offloading to cloud and downloading task from cloud to the MD. Delay is normally a constituent of all processes time including offloading time, cloud processing time, and MD downloading time [36,46,49,55].

Transmission Rate (TR).
It is the amount of mobile application task forwarded from cloud, that is, after processing task, and then to an MD for utilization. e TR can improve the overall delay of the cloud processing time. e higher the transmission rate, the lower the total processing delay [48,49].

Packet Loss (PL)
. PL in MCC is referred to as the number of failed mobile application task packets, which are transmitted from MD to cloud or cloud to MD. is mainly occurs due to intermittent disconnections, because MD is dynamic in nature. e wireless channels also contribute to packet loss in MCC [52,54,55].

Resource Utilization (RU).
It is the amount of consumed mobile application resources and cloud computing resources during the computation of certain mobile applications task [34,49]. e RU is one of the important metrics for measuring the performance of a cloud computing system. It is among the factors that show improvement in both energy consumption and computation time of an MCC system.

roughput (TP).
e throughput of the MCC system is considered as the total rate of production or the rate at which a mobile application computation in the cloud could be processed in a given duration of time. roughput needs to be improved in order to achieve higher MCC performance [45,54]. roughput is generally used for measuring network system performance.

Goodput (GP).
It is the quantity of useful mobile application task delivered form MD to cloud or vice versa per unit of time. Goodput is related to throughput in terms of application level. It can be referred to as the number of packets that are transmitted to and from the mobile application that used either mobile network or cloud network [46,49].

Peak Signal-to-Noise Ratio (PSNR).
e PSNR of a mobile application is the standard metric used to quantify objective video excellence. PSNR is represented as the function of the MSE related to the original and the edited video frames. In other words, it is an expression of the ratio between the maximum probable value (power) of a signal and the power of distorting noise that affects the quality of its representation. Many signals have a very wide dynamic range (ratio between the largest and smallest probable values of a variable quantity) for mobile application including video streaming and mobile gaming [46].

Network Traffic (NT).
NTdetermines the total number of overhead mobile application messages in relation to the occupied network bandwidth size per unit of time. It is important for measuring the mobile application task flow from mobile application to the cloud computing systems [28,48].

Encryption and Decryption Time (EN/DN-T).
EN/DN-T is a metrics for measuring the performance of a security scheme for MCC. It is the total duration of time to encrypt a mobile application task at both the sender and receiver and the total time taken to decrypt a mobile application task at both the receiver and sender ends [39].

Service Quality (SQ).
Service quality is a metric for measuring the performance of the mobile application. It is the complete performance of a mobile application network and cloud computing derives. Services quality is normally measured by the network perception. Meanwhile, the quality of experience is measured based on user perception [28,30].

Workload Size (WS)
. WS is employed for load balancing. e aim is to reduce the quantity of large task burden that is placed on nodes, data centers, VMs, or servers. e problem of overload or unbalanced resources sharing for    Journal of Computer Networks and Communications handling a task can bring about SLA violation and system failure. e WS is referred to as the total weight of an executing mobile application task in MCC [28].

Bandwidth Usage (BU).
Bandwidth is the quantity of mobile application task data that can be transmitted or executed in a certain period of time. It is normally represented in bytes or bit per unit of time (bps). BU is the percentage ratio of the used bandwidth to that of the total available bandwidth [34].

Memory Usage (MU).
MU is the ratio of the amount of storage space used for storing mobile application task during and after execution of the task to that of the total available memory [33]. It is also a factor that can demonstrate the efficiency of task processing in both MDs and cloud systems. Table 8 represents a list of abbreviation for approaches and metrics terms. In addition, Table 6 shows the analysis of energy-aware techniques for MCC. In Table 6, the characteristics of each paper reviewed are divided into five categories including references, techniques, approaches, implementation, and parameters. e reference column entails the protocol/abbreviation of techniques name and authors' name of each paper reviewed. e technique column is divided into three categories, namely, Model (MD), Framework/Architecture (FW/AT), and Algorithms (AL). e approach column is divided into two categories, including dynamic (DM) and nondynamic (N-DM) for energy efficient MCC techniques. Implementation column is divided into two parts, which include Cloud-Platform (CP) and User-Developed Testbed (U-DT). e last column is the parameters including Energy  Table 6 demonstrates that, in terms of techniques, more contributions are made on energy-aware models and algorithms when compared with the framework/architecture. In approaches, dynamic approaches are more employed compared to the nondynamic approaches. Furthermore, in implementation, the user-designed testbed are usually employed for implementing MCC techniques. Although, the cloud platform is also widely employed for the MCC technique implementation. Parameter columns show that energy consumption and computation time are the most used parameters for measuring the performance of energy-efficient techniques in MCC. Table 7 shows the analysis of security and privacy techniques in MCC.
In Table 7, the characteristics of each paper reviewed are divided into five categories including references, techniques, approaches, implementation, and parameters. e reference column entails the protocol/abbreviation of techniques name and authors' name of each paper reviewed. e technique column is divided into three categories, namely, Scheme (SC), Framework/Architecture (FW/AT), and Algorithms (AL). e approach column is divided into two categories, including encryption (EN) and nonencryption (N-EN) approach for security and privacy in techniques for MCC. Implementation column is divided into two parts, which include CloudPlatform (CP) and User-Developed  Table 7 shows that, in relation to techniques, more contributions are made on schemes for security and privacy and then followed by framework and architecture design when compared with the algorithms proposed. Considering the approach column, almost all papers reviewed used encryption approaches. Furthermore, in implementation, the user-designed testbed and the cloud platform are considered in the implementation of MCC techniques. e parameters column shows that computation time is the most considered parameter for measuring the performance of security and privacy techniques for MCC. Table 9 shows the analysis of application development techniques for MCC.
In Table 9, the characteristics of each paper reviewed are divided into four categories, including references, techniques, implementation, and parameters. e reference column entails the protocol/abbreviation of techniques name and authors' name of each paper reviewed. e technique column is divided into three categories, namely, Model (MD), Framework/Architecture (FW/AT), and Algorithms (AL). Implementation column is divided into two parts, which include Simulation Tool (SM-T) and User-Developed Testbed (U-DT). Parameters column includes Goodput (GP) or roughput (TP), Energy Consumption (EC), Computation Time (CT), Delay (DL), Peak Signal-to-Noise Ration, PSNR, and Network Traffic (NT). Table 9 shows that, with regard to techniques, more contributions are made on framework/architecture for application development, then followed by algorithms design, and the last is model for applications proposed. Considering implementation column, more papers considered userdesigned testbed when compared with the simulation tool in MCC techniques implementation. e parameters column shows that computation time is the most considered parameter followed by a delay for measuring the performance of application development techniques for MCC. Table 10 shows the analysis of QoS-aware development techniques for MCC. In Table 10, the characteristics of each paper reviewed are divided into four categories, including references, techniques, implementation, and parameters. e reference column entails the protocol/abbreviation of techniques name and authors' name of each paper reviewed. e technique column is divided into three categories, namely, Model (MD), Framework/Architecture (FW/ AT), and Algorithms (AL). Implementation column is divided into two parts, which include Simulation Tool (SM-T) and User-Developed Testbed (U-DT). e parameters column includes Energy Consumption (EC), Computation Time (CT), Delay (DL), Transmission Rate (TR), Packet Loss (PL), Resources Utilization (RU), and roughput (TP). Table 10 shows that, in relation to the techniques, more contributions are made to the models for QoS-aware development, followed by algorithms design for QoS application, and the last is framework/architecture for QoS-aware applications proposed. Considering the implementation column, more papers considered user-designed testbed when compared with the simulation tool in MCC techniques implementation. e parameters column shows that packet loss, followed by transmission rate and computation time, is the most considered parameter for measuring the performance of QoS-aware application development techniques for MCC. Figures 9(a) and 9(b) show the graphical distribution analysis of all the metrics/parameters considered in MCC techniques research papers from the years 2010 to 2016.
In Figure 9(a), the histogram shows the MCC metrics/ parameters based on their usage from 2010 to 2016. e analyses demonstrate that energy consumption and computation time have a higher citation from research papers of the years 2010 to 2016. In addition, packet loss, throughput, transmission rate, network traffic, and delay have the second highest citation from the year 2010 to 2016, followed bypeak signal-to-noise ratio, goodput, resource utilization, workload size, service quality, and encryption/decryption time.
e least used parameters are memory usage and bandwidth usage.
In Figure 9(b), the pie chart represents the percentage of each of the metrics/parameters considered from the years 2010-2016. It demonstrates that energy consumption has the highest usage with 15% of the overall metrics used, followed by computation time with 13%. Delay has 8% usage, followed by resource utilization and network traffic with 7% usage each, and then packet loss and transmission rate with 6% usage each. roughput, goodput, PSNR, bandwidth utilization, and encryption/ decryption time have a 5% usage each. Service quality and workload size have 4% usage each. e last and least is memory usage with a 2% usage.
In Figure 10(a), the graph shows the analysis of various implementation environment used in the MCC in research papers from the years 2010 to 2016. It demonstrates that User-Developed Testbed is the most used environment for MCC implementation throughout the years with its highest citations of about eight papers in the year 2015, followed by cloud platforms, which is the second most used implementation environment in MCC with citations of about seven papers in the year 2015. e least used implementation environment in MCC is the simulation tool with its highest citations of three papers in the year 2016. Figure 10(b) shows pie chart representations of the implementation environments. Figure 10(b) depicts that User-Developed Testbed covers half of the chart, which means 50% of the research papers in MCC are implemented using testbed. Meanwhile, the cloud platform covers 36% of the chart, which implies that 36 percent of the research papers have considered the use of a cloud platform for MCC implementation. Finally, the simulation tools used have covered 14% of the research papers of MCC from the years 2010 to 2016.

Open Issues and Research Challenges
In this section, we have highlighted many research issues, which require research attention so as to realize efficient and effective MCC. e research issues span across resources allocation for offloading, mobile application offloading decision module, impact of wireless network traffic load on mobile power consumptions, optimization of MCC objectives, cloudlet in MCC, and privacy and security issues. e detailed discussions are as follows.

Offloading Resource Allocation.
Since a large single task may have subtasks, to achieve fast and reliable task processing, more technical resources allocation techniques for task scheduling, task migration, and load balancing, which considers both MDs and CC constraint, need to be explored and developed for energy-efficient mobile computing devices and cloud computing system. Some research work has been conducted such as in [55]. Nevertheless, further investigation needs to be conducted in this regard.

Mobile Application Offloading-Decision Module.
is is an important module which needs to be critically explored so as to achieve energy efficient and reliable offloading. e offloading decision module coordinates directly and manages offloading mechanism, which is a decision on whether to offload a task or not considering factors such as MDs battery power, memory space, and wireless transmission delay and to also make sure that the needed QoS is certified when MD roam to closer cell, especially during the download phase. e offloading has two approaches, namely, full offloading and partial offloading. In addition, application partitioning is used at the application phase offloading and downloading. e decision could be to accept, reject, or delay the task to be offloaded. Several investigations have been carried out in this regard [42][43][44][45][46]. However, further research still needs to be conducted in this area.

Impact of Wireless Network Traffic Load on Mobile Phone
Power Consumption. In this, analytical performance, Quality of Service (QoS), and Quality of Experiences (QoE) are fundamental for ascertaining the impact and performance of the mobile cloud computing for cloud mobile users. Several research studies have been conducted in this regard. However, further research needs to be carried out in this aspect.

Optimization of MCC Objectives.
In MCC, more than one objective needs to be considered and achieved at a time. For example, while achieving efficient and reliable task computation, energy consumption also needs to be considered for better performance of the MDs. Hence, the multiobjective optimization needs to be critically investigated for more improved efficiency of MCC.

MCC Cloudlet.
e technological concept of MCC cloudlet requires further investigation, because the techniques have a significant solution to wireless network latency issue, due to long distance network connection between MDs and a cellular mobile based station or cellular satellite. is technique requires infrastructure but is viable. Some research work has been conducted such as in [55]; nevertheless, more exploration needs to be carried out in this regard.

Privacy and Security.
Privacy and security are also of the major research challenges. If there exists a breach of security, then availability, integrity, and confidentiality requirements cannot be guaranteed because MCC uses the wireless network for its communication, which is more vulnerable to a security threat. Moreover, since MDs users offload their task to the cloud, issues of privacy need to be considered at the cloud layer. Many authors such as [38][39][40][41][42] have made an attempt of offering solutions for handling security issues, including cloud data encryption for mobile users, secured access control system, trustworthy access control model, data access control, and privacy-aware authentication. However, more intensive research work needs to be conducted while considering how to achieve a secured system and efficient MCC communication.

Conclusion
We have extensively reviewed related work and presented the most recent research development in MCC. MCC is an important technology, which is applicable in different service areas including learning, multimedia, banking, healthcare, commerce, and so on. MCC improves the performance of the mobile computing devices by handling the tasks, which are large and complex for MDs capabilities. e MCC improves MDs battery power performance, memory space, and processor capabilities. A comparative review on existing studies in MCC has been suggested. Taxonomy based on numerous application situations, security and privacy, quality of service, and energy-efficient research work on MCC is discussed. e analysis of performance metrics/parameters employed in various research papers is presented. Furthermore, we discussed open research issues and challenges. However, a handful amount of issues are still not explicitly explored, and this issue includes, but is not limited to, the development of the offloading application, resources allocation issues, integrity, availability, and confidentiality issues. In conclusion, for more efficient and effective implementation of MCC, the aforementioned challenges need to be critically addressed. Hence, MCC is a promising paradigm, which is viable and technologically feasible in the pervasive computing research domain.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.