Multi-Criteria Decision Analysis Methods in the Mobile Cloud Offloading Paradigm

Mobile cloud computing (MCC) is becoming a popular mobile technology that aims to augment local resources of mobile devices, such as energy, computing, and storage, by using available cloud services and functionalities. The offloading process is one of the techniques used in MCC to enhance the capabilities of mobile devices by moving mobile data and computationintensive operations to cloud platforms. Several techniques have been proposed to perform and improve the efficiency and effectiveness of the offloading process, such as multi-criteria decision analysis (MCDA). MCDA is a well-known concept that aims to select the best solution among several alternatives by evaluating multiple conflicting criteria, explicitly in decision making. However, as there are a variety of platforms and technologies in mobile cloud computing, it is still challenging for the offloading process to reach a satisfactory quality of service from the perspective of customers' computational service requests. Thus, in this paper, we conduct a literature review that leads to a better understanding of the usability of the MCDA methods in the offloading operation that is strongly reliant on the mobile environment, network operators, and cloud services. Furthermore, we discuss the challenges and opportunities of these MCDA techniques for offloading research in mobile cloud computing. Finally, we recommend a set of future research directions in MCDA used for the mobile cloud offloading process.


Introduction
Mobile cloud computing (MCC) is one of the critical instances in cloud-based systems and key innovations in Internet of Things (IoT) networks [1] where mobile devices exploit external cloud resources to augment their computational capabilities, e.g., storage space, and optimize their local services [2][3][4].As cloud computing offers powerful and unlimited resources for use when needed at a low cost, mobile devices exploit the distributed computing paradigm to obtain a better user experience and high performance by using cloud services anytime and anywhere.Moreover, it is an advancement of several technologies like grid computing, distributed computing, and parallel computing [5,6].Taking into account the advantages of MCC, the mobile users can remotely connect to the cloud server and achieve an optimal computational power compared to executing everything locally [7,8].
The offloading process is one of the techniques used in MCC to augment and optimize the computational capabilities of mobile devices [9].This technique consists of partitioning and analyzing the entire mobile application.Then, the most resource-intensive components of this application are identified and offloaded remotely to the selected powerful cloud server.This later performs the requested computation and returns the results to the end mobile client [10].As a result, the requirement of mobile devices with a high computing capability and resources are reduced.One typical example of an offloaded mobile application is mobile healthcare (m-healthcare) [11][12][13][14], which utilizes a strong wireless sensor network (WSN) to monitor the current health of the patient.The main steps for the execution of an m-healthcare application are as follows: Generate large amounts of healthcare data which consumes resources of the mobile device, offload the application onto a cloud server, and send the result back to the mobile patient.In this case, the m-healthcare application exploits the advantages of a cloud environment to make precise and real-time decisions.By sharing personal health information among healthcare cloud providers, the mobile cloud applications can efficiently empower and facilitate patient treatment for medical consultation.Consequently, the mobile patient can reduce the cost and overcome the limitations of traditional medical treatment, such as medical errors and computation speed limits.
The migration of heavy computation from mobile devices to remote cloud servers through communication networks could be seen as a straightforward process.However, the diversity in MCC affects the consumption of mobile cloud services in real time since the selection process of cloud services depends on the available multiple services which belong to heterogeneous environments in the MCC paradigm.
Let us take a network as an example to show one of the existing diversity aspects in MCC.It is clear that mobile cloud offloading essentially depends on the network technologies [15][16][17].Consequently, for each offloading operation, a sophisticated network medium among the available network services is selected to support the offloading process by providing high bandwidth connections.However, most of the current research work has only given limited consideration to the selection of network services, such as [18] that has presented an online energy-aware resource provisioning scheduler for TCP/IP-based mobile cloud applications.Also, in [19], only a TCP/IP mobile connection has been considered.Another example is [20], where LTE and WiFi technologies have only been used for the transmission of computing tasks from wearable devices and smartphones in the cloud infrastructure.Indeed, the mobile clients could be surrounded by multiple network connections (Wi-Fi, 4G, etc.) that are available at the same time to provide similar services to them while on the move.In this case, the clients deal with diversity in the network environment and have to choose one of the network candidates to process their requests externally.
To deal with the variations in MCC, multi-criteria decision analysis (MCDA) methods are applied [21][22][23].The main goal of MCDA methods is to solve complex problems by selecting, comparing, and ranking different attributes of multiple alternatives in a flexible manner.This means that the MCDA techniques handle the diversity in MCC by managing different information from various environments, considering many factors that affect the selection process and deciding which service is the most suitable one for the end-user when making the final decision.
In this work, we conduct a review of MCDA methods in an offloading operation.Compared to the existing reviews that focus on the implementation of MCDA in cloud service selection [21,24], this is to the best of our knowledge the first work that addresses the exploitation of MCDA in the mobile cloud offloading paradigm.Thus, the basic objective of this comprehensive literature review is to highlight the exploitation of MCDA methods in the mobile cloud offloading process.The contributions of this study can be summarized as follows: (1) Based on our literature review, we focus on identifying the MCDA methods most widely used in cloud offloading by selecting specific approaches in mobile cloud offloading that clearly utilize MCDA methods.(2) For each selected approach, we focus on describing the primary goal of the used MCDA methods and extracting keywords related to the addressed MCDA problems.
(3) To better understand how MCDA methods deal with the diversity in the offloading process, we classify the extracted keywords in three main environments which are: clouds, mobile environment, and networks.(4) Finally, we discuss major findings, identify the key challenges in the current mobile cloud offloading process based on MCDA methods, and define the research roadmap for better implementation and optimization of MCDA methods in the mobile cloud offloading paradigm.
The remainder of the paper is structured as follows.Section 2 describes the concept of offloading in the MCC.Section 3 provides a review of the MCDA concept.Then, Section 4 carries out a literature review on MCDA methods applied to the mobile cloud offloading paradigm.Next, Section 5 focuses on the discussion of the major findings, challenges, and opportunities.Finally, Section 6 concludes the work and outlines future research.

Overview of the Offloading Process
Because of cloud-based computation offloading, mobile devices can extend cloud computing services to mobile applications by offering virtually unlimited and dynamic resources of computation (Figure 1).Thus, the small screen devices can reduce battery power consumption, and execute applications that they are otherwise unable to execute due to the constrained resources (i.e., limited computation power, memory, storage, and energy).Currently, many mobile cloud applications involve intensive communication that consumes a significant part of the overall energy, such as m-healthcare, m-learning, social networks, and gaming, among others.Thus, the primary objective of offloading is to enhance the performance of mobile devices by utilizing cloud resources.
(4) Finally, we discuss major findings, identify the key challenges in the current mobile cloud offloading process based on MCDA methods, and define the research roadmap for better implementation and optimization of MCDA methods in the mobile cloud offloading paradigm.
The remainder of the paper is structured as follows.Section 2 describes the concept of offloading in the MCC.Section 3 provides a review of the MCDA concept.Then, Section 4 carries out a literature review on MCDA methods applied to the mobile cloud offloading paradigm.Next, Section 5 focuses on the discussion of the major findings, challenges, and opportunities.Finally, Section 6 concludes the work and outlines future research.

Overview of the Offloading Process
Because of cloud-based computation offloading, mobile devices can extend cloud computing services to mobile applications by offering virtually unlimited and dynamic resources of computation (Figure 1).Thus, the small screen devices can reduce battery power consumption, and execute applications that they are otherwise unable to execute due to the constrained resources (i.e., limited computation power, memory, storage, and energy).Currently, many mobile cloud applications involve intensive communication that consumes a significant part of the overall energy, such as mhealthcare, m-learning, social networks, and gaming, among others.Thus, the primary objective of offloading is to enhance the performance of mobile devices by utilizing cloud resources.The cloud-based computation offloading process can be described as follows: Firstly, the program needs to be partitioned.Next, the offloading decision chooses a specific execution point of the mobile application that consumes a significant part of the local energy, and decides to offload a portion of the application to the cloud where the computation is performed in less time compared to the local execution of the mobile device.Upon receiving the migration request, an offloading system requires a similar execution environment as the mobile client.As a result, one server for each mobile device creates a dedicated virtual machine (VM) for the device, loads the executable application, and starts the execution.Until the results return from the cloud provider, the mobile device continues to run other threads or go into a low power sleep state.Finally, the offloaded portion returns to the mobile application, and merges back to the original process.Accordingly, cloud based computation offloading can save energy and extend the battery life of mobile devices.
On the other hand, the idea of offloading computation-intensive tasks to the surrounding servers, clusters, or grids is not new.All are attempts to save energy without degrading the normal response time of the mobile applications and represent less computational effort for the mobile devices.Cloud computing, which focuses on XaaS (X-as-a-Service) offered in a pay-as-you-go manner, is another advanced offloading technique that can strongly facilitate computation and The cloud-based computation offloading process can be described as follows: Firstly, the program needs to be partitioned.Next, the offloading decision chooses a specific execution point of the mobile application that consumes a significant part of the local energy, and decides to offload a portion of the application to the cloud where the computation is performed in less time compared to the local execution of the mobile device.Upon receiving the migration request, an offloading system requires a similar execution environment as the mobile client.As a result, one server for each mobile device creates a dedicated virtual machine (VM) for the device, loads the executable application, and starts the execution.Until the results return from the cloud provider, the mobile device continues to run other threads or go into a low power sleep state.Finally, the offloaded portion returns to the mobile application, and merges back to the original process.Accordingly, cloud based computation offloading can save energy and extend the battery life of mobile devices.
On the other hand, the idea of offloading computation-intensive tasks to the surrounding servers, clusters, or grids is not new.All are attempts to save energy without degrading the normal response time of the mobile applications and represent less computational effort for the mobile devices.Cloud computing, which focuses on XaaS (X-as-a-Service) offered in a pay-as-you-go manner, is another advanced offloading technique that can strongly facilitate computation and assume the availability of unlimited resources anytime and anywhere.Additionally, the virtualization of servers in cloud computing presents the major difference between cloud computing and the other existing solutions, and it attains high utilization by allowing one server to compute several tasks at the same time.Therefore, multi-tenancy is the most important concept for cloud computing.Thus, offloading to cloud is one of the best available solutions for extending the battery life of mobile devices.Further, the effectiveness of an offloading system is determined by its ability to reply to the four fundamental questions which are:

•
What to offload: Before offloading, the program needs to be partitioned by using static annotations (or manual partitioning), an automated mechanism, or at runtime.Then, the offloading decision decides what portion of code should be offloaded.

•
When to offload: Different parameters influence the offloading decisions that look for less computational effort for the mobile device, such as available bandwidth, data size to transmit, and energy.Conceptually, the offloading process should take place when the mobile client cannot save energy to execute the code and improve the performance of the mobile application.In contrast, the code should be executed locally when the mobile client has enough resources to execute the entire code.As a result, a mobile client can reduce the time that is consumed in transmission of the job to the cloud and avoid the network overload.

•
Where to offload: It defines the selected server (or a cloud provider in case cloud based computation) in which the code has to be offloaded.

•
How to offload: It introduces an offloading strategy that describes how the device should schedule code offloading operations.

Overview of MCDA Methods
The offloading process contains several stages (see Table 1) before starting to offload the mobile tasks to the selected cloud service candidate.Due to the nature of MCC, the offloading process is a source of multiple criteria that originate from the presence of different environments [25].Thus, the selection of the best service candidate among several available services is a crucial task in MCC.

Fundamental Questions of Offloading Process Description
What to offload?
Before offloading, the program needs to be partitioned: • Manually by the programmer.

•
Automatically by the compiler.

•
Reducing time of execution.
How to offload?
Where to offload?
Due to the presence of more than one criterion in the mobile cloud offloading paradigm, the multi-criteria decision analysis (MCDA), called also multiple criteria decision making (MCDM), is required.MCDA is a sub-discipline of operations research that aims at selecting the best solution, called alternative, among several choices by explicitly evaluating multiple conflicting criteria in decision making.Furthermore, the evaluation is done by a single decision maker or by a single group of decision makers [26][27][28].
There are five fundamental steps that each MCDA method follows to solve an MCDA problem.Firstly, the consistent family of relevant criteria is determined to construct the basis on which the alternatives are ordered or selected.Next, a set of feasible alternatives is considered.These alternatives represent the preferred solutions set from which the decision-maker should select the best alternative.Then, every alternative is scored with respect to specific criteria to construct a matrix or table that is named the evaluation matrix, decision matrix, payoff matrix, performance table, or evaluation table.Next, the weights are defined to determine the relative importance of the different criteria used in the decision problem.The last step consists of finding the best alternative among a set of feasible alternatives by transforming the evaluation matrix into a score using approaches that are specific to the different MCDA methods, such as AHP and TOPSIS.According to the literature, there are a large number of MCDA methods available [26,29,30].Table 2 presents a summary of some of the most popular examples of them.VIKOR [36] ViseKriterijumska Optimizacija I Kompromisno Resenje VIKOR based on AHP.Ranking of compromises representing indices derived from a measure of "closeness" to the "ideal" solution.In contrast to the basic principle of the TOPSIS method is that the selected alternative should have the "shortest distance" from the ideal solution and the "farthest distance" from the "anti-ideal" solution.
MAVT [37] Multi-Attribute Value Theory Overall priority values of alternatives are calculated based on the objectives' weights, performance scores of alternatives and value-functions.
MAUT [38] Multi-Attribute Utility Theory Extension of MAVT, includes probabilities and risk attitudes that are used to form utility functions To ensure the reliability and availability of selected services, the MCDA methods have motivated research in several areas.In the literature, AHP and TOPSIS have been widely used in solving many complicated decision-making problems in several domains [29,[39][40][41][42][43][44].According to the Web of Science platform [45], the total publications for the AHP and TOPSIS method are 9362 and 3025 (Figure 2), respectively, from Web of Science Core Collection between 2010 and 2016.Moreover, based on the Web of Science database [45], the classification of AHP and TOPSIS publications ranked by research areas mostly results in engineering and computer science areas.Therefore, the MCDA methods have covered a lot of ground to enhance the evaluation process as well as guarantee the sustainability of systems, which is an important factor for the growth of an industrial or research domain.Thus, in the next section, we review how the benefits of MCDA methods are investigated in the mobile cloud paradigm to support the offloading operation.

MCDA in the Offloading Process
The description of the offloading process in MCC can be seen as a simple operation that aims to enhance the capabilities of small mobile devices by using powerful computing nodes remotely.However, there are many factors that influence the decision making process for task migration in MCC [46], such as cost, mobile user preferences, latency, cloud characteristics, and others.Moreover, these factors could be irregular, because the MCC paradigm is built based on three heterogeneous and unstable environments [25], which are: mobile environment, different cloud platforms [47], and various network communications.
We identified two ways [48,49] to consume cloud services in the mobile cloud environment which are as follows: task delegation where the mobile application acts as a traditional cloud client that invokes cloud services directly and an offloading operation where a mobile application is partitioned and analyzed.Then, the most computationally expensive operations at code level could be migrated to a selected cloud platform.Maybe the two approaches have the same three environments; however, in the case of the delegation, the mobile devices can consume cloud services without participating in the process.Thus, the offloading mobile components to the cloud are considered a complex operation that is difficult to control in a mobile cloud infrastructure, due to the dynamic nature and many real-time constraints of the overall offloading system.Therefore, in this paper, we aim to draw together a number of papers which address the offloading process based on MCDA methods in the area of mobile cloud computing.We also classify the utilization of MCDA methods in offloading by using two keywords which are: Certainty that describes MCDA methods using determined values of criteria to solve an MCDA issue, and uncertainty that describes the MCDA methods dealing with imprecise systems.Furthermore, we specify the exact environment from which the criteria are extracted to solve an MCDA problem.
The mobile cloud offloading papers used for this purpose were selected by searching academic databases and well-known publishers such as Sciencedirect, Google Scholar, ACM Digital Library,

MCDA in the Offloading Process
The description of the offloading process in MCC can be seen as a simple operation that aims to enhance the capabilities of small mobile devices by using powerful computing nodes remotely.However, there are many factors that influence the decision making process for task migration in MCC [46], such as cost, mobile user preferences, latency, cloud characteristics, and others.Moreover, these factors could be irregular, because the MCC paradigm is built based on three heterogeneous and unstable environments [25], which are: mobile environment, different cloud platforms [47], and various network communications.
We identified two ways [48,49] to consume cloud services in the mobile cloud environment which are as follows: task delegation where the mobile application acts as a traditional cloud client that invokes cloud services directly and an offloading operation where a mobile application is partitioned and analyzed.Then, the most computationally expensive operations at code level could be migrated to a selected cloud platform.Maybe the two approaches have the same three environments; however, in the case of the delegation, the mobile devices can consume cloud services without participating in the process.Thus, the offloading mobile components to the cloud are considered a complex operation that is difficult to control in a mobile cloud infrastructure, due to the dynamic nature and many real-time constraints of the overall offloading system.
Therefore, in this paper, we aim to draw together a number of papers which address the offloading process based on MCDA methods in the area of mobile cloud computing.We also classify the utilization of MCDA methods in offloading by using two keywords which are: Certainty that describes MCDA methods using determined values of criteria to solve an MCDA issue, and uncertainty that describes the MCDA methods dealing with imprecise systems.Furthermore, we specify the exact environment from which the criteria are extracted to solve an MCDA problem.
The mobile cloud offloading papers used for this purpose were selected by searching academic databases and well-known publishers such as Sciencedirect, Google Scholar, ACM Digital Library, IEEE Xplore Digital Library, and Springer, as well as a general Google search.Furthermore, we used general and specific keywords characterizing the mobile cloud offloading process based on MCDA methods, such as offloading, decision making, rank, mobile applications, partitioning, allocation, Wi-Fi, preference, alternatives, criteria, certain, uncertain, and so on.We limited the search to up-to-date papers from the last five years, which covers the period from 2013 to 2017.After collecting the search results, each paper underwent a relevance check, during which its relevance to both MCDA methods and the mobile cloud offloading paradigm was verified.

Discussion
In this section, we focus on the analysis and classification of the MCDA methods that are applied in the mobile cloud environment, and discuss challenges that may prevent the advancement of the mobile cloud offloading paradigm and future efforts required.

Certainty in MCC
Recent literature has focused on using decision algorithms to specify the most appropriate solution for offloading and fill the gap between the existing technologies in MCC such as the work presented in [50], which has proposed an optimal cloud-path selection method in mobile cloud offloading systems based on QoS criteria.The study addresses the new challenges of cloud service selection that are raised when combing cloud computing with the mobile environment.Accordingly, the authors have combined the Analytic Hierarchy Process (AHP) and fuzzy TOPSIS to make a decision to select a service from the candidate cloud services by considering the characteristics of the mobile cloud environment such as network bandwidth and the historical data based on mobile user experiences.Similarly, AHP and TOPSIS methods have been used in [52] to select a wireless medium based on the different context of the mobile devices.Moreover, this work has adopted a Min-Min heuristic to select an appropriate cloud platform among multiple types of mobile cloud resources (i.e., cloud, cloudlet, and mobile ad-hoc cloud) for offloading.As a result, the proposed solution has addressed the heterogeneity in the mobile cloud environment to enhance the offloading service availability and performance.
Among the selected works, we found that the AHP is the most proposed approach in the literature [31] since it is one of the famous fundamental approaches in MCDA [21].The main principle of AHP is descripted as follows: A numerical weight is calculated for each alternative of the hierarchy.Then, the AHP method determines the relative importance of a set of alternatives and ranks them into a hierarchy.Finally, it provides the recommended decision with an opportunity to select the suitable service based on the criteria.To obtain the most efficient results, the AHP method is combined with diverse methods, i.e., TOPSIS [21,33], which is a well-known multi-criteria decision-making ranking method.The main features of TOPSIS are chosen as the alternatives that simultaneously have the shortest distance from the ideal solution and the farthest distance from the anti-ideal solution.On this basis, many decision making methods use or extend TOPSIS in order to determine the ideal solution such as [52,53,57].Based on our survey, we found that the utilization of MCDA methods depends on the particular use at a particular step of the offloading process leading to considering a problem in part of the mobile cloud environment, such as [51], which focuses on the selection of an optimal wireless medium.This means that MCDA methods are used to ascertain whether, when, where, or how migration should take place.Yet, the MCDA methods should be integrated in all stages of the offloading process to enhance the reliability of this operation as well as support such dynamics in the mobile cloud environment.

Uncertainty and Fuzzy Method
We notice that the fuzzy method is prevalently used in mobile cloud offloading since this method is characterized by using linguistic variables to describe fuzzy terms that are then mapped to numerical variables [63][64][65].Moreover, it deals effectively with uncertain and imprecise information to solve real-world problems in different domains such as bioenergy production technologies [66], cloud storage service [67], e-learning [68], microgrids [69,70], and so on.However, the selected works do not describe how the fuzzy method is used to face and understand the stochastic behavior of the mobile cloud offloading process.On the other hand, there are different extensions of the fuzzy method that can fit particular decision problems and provide good results, such as type-2 fuzzy sets [71,72], intuitionistic fuzzy sets [73,74], fuzzy multisets [75,76], nonstationary fuzzy sets [77,78], and hesitant fuzzy sets [79][80][81], etc.Meanwhile, there are several uncertainty methods that have been employed for complex problems, such as set pair analysis (SPA) [82], which considers both certainty and uncertainty as one system.Besides, the consolidate certain-uncertain system is depicted from three aspects which are: identity, discrepancy, and contrary.Consequently, SPA has been successfully applied in many fields including smart cities' innovation ecosystem [83,84], forecasting [85], geology [86], and cloud computing [24], etc.However, they are not yet used in the mobile cloud offloading process.This means that the utilization of MCDA methods is still in an early stage in the mobile cloud environment.
As a result, we need more deep studies in MCC, notably for the offloading process, that focus on exploiting these methods to open new opportunities and further enhance the capabilities of mobile cloud applications.

Diversity in MCC
As seen in Table 3, different criteria are selected from various environments in MCC, which are cloud platforms, networks, and mobile environments.Due to this diversity, if one of these environments fails to continue the offloading (or delegation) process, the effectiveness of MCC deployment may be greatly degraded.On the other hand, each environment of the MCC paradigm contains various sub-technologies that are complex [25] (Figure 3).For example, the 5th generation mobile network (5G), which is expected to be operational by 2020, is provisioned to support various types of emerging applications with strengthened quality of service [87][88][89][90].Besides, it will provide a common core to support different coexisting radio access technologies [91].Therefore, the 5G will use the existing radio access to carry higher data traffic.Moreover, by using a bandwidth of unlimited access, the coming 5G technology will respond to the extremely diverse applications' requirements in terms of capacity, latency, data rate, and energy cost.Briefly, the 5G will be able to share data everywhere, every time, by everyone and everything, for the benefits of several domains [92][93][94][95][96] such as healthcare and business, as well as computation offloading in MCC.Further, the 5G will guarantee the users' satisfaction by providing service based on users' preferences [97].However, in the case of MCC, it is difficult to find a standard link between heterogeneous wireless networks, multiple cloud services [98], and preferences of mobile clients.Consequently, the shift from service orientation to user orientation in requirements and innovations is a big deal for 5G, especially in MCC, because the determination of the relationship between quality of services, quality of users' experiences, parameters characterizing traffic sources, and cloud services will link to complex multi-service networks, multi-cloud platforms, and the utility gain of customers' satisfaction.
studies in MCC, notably for the offloading process, that focus on exploiting these methods to open new opportunities and further enhance the capabilities of mobile cloud applications.

Diversity in MCC
As seen in Table 3, different criteria are selected from various environments in MCC, which are cloud platforms, networks, and mobile environments.Due to this diversity, if one of these environments fails to continue the offloading (or delegation) process, the effectiveness of MCC deployment may be greatly degraded.On the other hand, each environment of the MCC paradigm contains various sub-technologies that are complex [25] (Figure 3).For example, the 5th generation mobile network (5G), which is expected to be operational by 2020, is provisioned to support various types of emerging applications with strengthened quality of service [87][88][89][90].Besides, it will provide a common core to support different coexisting radio access technologies [91].Therefore, the 5G will use the existing radio access to carry higher data traffic.Moreover, by using a bandwidth of unlimited access, the coming 5G technology will respond to the extremely diverse applications' requirements in terms of capacity, latency, data rate, and energy cost.Briefly, the 5G will be able to share data everywhere, every time, by everyone and everything, for the benefits of several domains [92][93][94][95][96] such as healthcare and business, as well as computation offloading in MCC.Further, the 5G will guarantee the users' satisfaction by providing service based on users' preferences [97].However, in the case of MCC, it is difficult to find a standard link between heterogeneous wireless networks, multiple cloud services [98], and preferences of mobile clients.Consequently, the shift from service orientation to user orientation in requirements and innovations is a big deal for 5G, especially in MCC, because the determination of the relationship between quality of services, quality of users' experiences, parameters characterizing traffic sources, and cloud services will link to complex multi-service networks, multi-cloud platforms, and the utility gain of customers' satisfaction.

Performance Criteria
Among the selected papers, we found that energy, cost, execution time, transmission of data, delay, and availability of cloud services (or servers) are investigated as criteria in MCDA methods to ensure the performance of the selected services for mobile applications.With the rapid growth of multiple services in MCC, the mobile users wish to consume reliable services in MCC with low cost and energy consumption.Moreover, the mobile clients demand the guarantee of the execution of mobile applications in real time without any delay or network interruption.On the other hand, we found that a number of cloud services have been offered with similar functionalities and different QoSs.This proliferation makes it difficult for mobile cloud customers to find a proper service among

Performance Criteria
Among the selected papers, we found that energy, cost, execution time, transmission of data, delay, and availability of cloud services (or servers) are investigated as criteria in MCDA methods to ensure the performance of the selected services for mobile applications.With the rapid growth of multiple services in MCC, the mobile users wish to consume reliable services in MCC with low cost and energy consumption.Moreover, the mobile clients demand the guarantee of the execution of mobile applications in real time without any delay or network interruption.On the other hand, we found that a number of cloud services have been offered with similar functionalities and different QoSs.This proliferation makes it difficult for mobile cloud customers to find a proper service among a large number of available service candidates.Thus, we observe that the quality of experience (QoE) is used as a strong criterion to satisfy users' requirements, since it is considered as a previous measure of the degree of the end-user's satisfaction which results from his real experience after using a service.Thus, the cloud providers use QoE as an important parameter to enhance the selection of cloud services as well as minimize (or avoid) the failure of the SLA.
In fact, a great number of research works have concentrated on selecting cloud services in which the important decision-making basis is a direct experience provided by the consumers.For example, the authors in [50] have highlighted the dynamic nature of the cloud environment and taken into account the multitude of available cloud services.Moreover, they have proposed a novel cloud service selection framework (based on fuzzy, AHP, and TOPSIS methods) in which the mobile user's experiences have been considered to rank all cloud services and determine which one could satisfy the user requirements.Furthermore, the mobile user's experiences are exploited mainly to solve the difficult problem of obtaining the QoS values of criteria and sub-criteria in real systems.Yet, in the case of mobile clients without previous experience, MCDA methods (especially those focusing on studying uncertain and imprecise information in real systems) can hardly solve the studied problem.Big data technologies, particularly data meaning and machine learning, are required to extract the certain and uncertain criteria from the three environments without the need to use the experiences of mobile clients.Consequently, there is a remarkable request for the fusion of MCDA techniques and big data tools to support uncertain and certain information in MCC, as well as to ensure the quality of mobile cloud applications.

Cloud Service Recommendation
The satisfaction of mobile cloud clients has driven the researchers in MCC to introduce new solutions to bring the cloud services and resources closer to them [47].The proposed solutions are not replacing but complementing the cloud computing model and respecting the primary objective of the mobile cloud computing environment which tackle the limitations of mobile devices.One of these resources is cloudlet [99,100], which is deployed in public places.This type of micro-cloud is a close source of customized cloud assets aiming to reduce communication delay.Also, the mobility concept is exploited in the cloud environment to produce another form of cloudlet nodes known as mobile cloudlets [101][102][103].These mobile cloudlets exploit mobile devices (like smartphones) to speed up the accessibility of customized cloud services and increase the execution time by using either Wi-Fi or Bluetooth network interfaces.However, during the process of offloading, the users and/or cloud servers, like mobile cloudlets, may change their locations and become disconnected from each other which may result in the inaccessibility and instability of cloud services.Further, in the case of network disruption, the mobile clients may lose the remote computational results.Another case, when a cloud server handles multiple offloading requests, the CPU utilization may be too high for processing other tasks.Besides, the selected server, i.e., the cloudlet, can only respond to a limited number of requests at a specific moment.Yet, it is better to recommend a cloud server that can ascertain the offloading process.
In fact, the selected works focus on the recommendation (or selection) of services from different cloud platforms in MCC that are affected by user preferences [104], the current context of mobile devices [105][106][107], and social networks [7,108,109].That means that there are multiple sources of information that are used to understand the real users' needs, and at the same time, they make the recommendation effectiveness relative, since the nature of these data is unstable and relative.For example, a recommended cloud service via a social network [110][111][112] could satisfy customers, because it represents the user's opinion and behavior.However, not all the clients will reach the same level of satisfaction or all the time the selected service is adequate and certain adaptively.Yet, what are the best MCDA techniques that cloud providers could use to manage the personal social information in the mobile cloud?How can the MCDA methods be used to identify and extract the most relevant personal social information that can be used as criteria to determine and recommend the most efficient public services for the end-users?Therefore, more deep studies in MCDA methods are required to enhance the mobile cloud paradigm, which is rapidly changing and growing in terms of techniques and applications.Moreover, MCDA methods will offer a wide range of promising enhancements and innovations that will dramatically change the recommendation and selection of mobile cloud services in the forthcoming years.

Mobility
To overcome the constraints of mobile applications, different cloud platforms in Figure 4 are used to complement and enhance the capacities of mobile devices.Consequently, offloading intense mobile tasks could be transferred to the cloud data center, cloudlet, mobile cloudlet, or mobile device cloud platform [47].Then, one of them processes the offloaded information and returns the result to the end-mobile-application.To ascertain the offloading operation, the MCDA methods have to select, compare, and rank different attributes of multiple alternatives in order to determine an optimal and certain cloud platform to handle local mobile resources.However, in the case where the mobile cloudlet uses its own energy and limited computing resources to provide the services, the unstable connections between mobile cloudlet nodes, such as smartphones, tablets, and trams mounted computers, are important issues to achieve an optimal performance of the mobile cloudlet.Maybe cloudlets could provide directly customized cloud services to the nearest users.However, the mobile cloudlet [113] could move between different places and deliver the services to other clients within a given proximity.Therefore, the mobile cloudlet can efficiency minimize the application response time, energy consumption, cost of network resource usage, and latency.Yet, based on our review, we identified the following research questions associated with the selection of an adequate cloud platform, which relate to the stochastic behavior of the mobile client that could act as a provider of services: RQ1 What are the most important factors in mobile cloud offloading that need to be taken into consideration when applying MCDA methods for the scalable selection of services?;RQ2 How could MCDA methods supply the highest mobility of users, and ensure the scalability of selected services? of techniques and applications.Moreover, MCDA methods will offer a wide range of promising enhancements and innovations that will dramatically change the recommendation and selection of mobile cloud services in the forthcoming years.

Mobility
To overcome the constraints of mobile applications, different cloud platforms in Figure 4 are used to complement and enhance the capacities of mobile devices.Consequently, offloading intense mobile tasks could be transferred to the cloud data center, cloudlet, mobile cloudlet, or mobile device cloud platform [47].Then, one of them processes the offloaded information and returns the result to the end-mobile-application.To ascertain the offloading operation, the MCDA methods have to select, compare, and rank different attributes of multiple alternatives in order to determine an optimal and certain cloud platform to handle local mobile resources.However, in the case where the mobile cloudlet uses its own energy and limited computing resources to provide the services, the unstable connections between mobile cloudlet nodes, such as smartphones, tablets, and trams mounted computers, are important issues to achieve an optimal performance of the mobile cloudlet.Maybe cloudlets could provide directly customized cloud services to the nearest users.However, the mobile cloudlet [113] could move between different places and deliver the services to other clients within a given proximity.Therefore, the mobile cloudlet can efficiency minimize the application response time, energy consumption, cost of network resource usage, and latency.Yet, based on our review, we identified the following research questions associated with the selection of an adequate cloud platform, which relate to the stochastic behavior of the mobile client that could act as a provider of services: RQ1 What are the most important factors in mobile cloud offloading that need to be taken into consideration when applying MCDA methods for the scalable selection of services?;RQ2 How could MCDA methods supply the highest mobility of users, and ensure the scalability of selected services?

Conclusions
In this paper, we have conducted a survey on mobile cloud offloading based on MCDA methods.We have described the concept of the cloud offloading operation and MCDA methods.We have identified that the offloading process is strongly relying on the mobile environment, network operators, and cloud services.Thus, we have focused on studying the three typical environments of MCC to clarify how MCDA methods are applied in the mobile cloud offloading paradigm.Notably, we have extracted, summarized, and organized the keywords from the reviewed papers to identify

Conclusions
In this paper, we have conducted a survey on mobile cloud offloading based on MCDA methods.We have described the concept of the cloud offloading operation and MCDA methods.We have identified that the offloading process is strongly relying on the mobile environment, network operators, and cloud services.Thus, we have focused on studying the three typical environments of MCC to clarify how MCDA methods are applied in the mobile cloud offloading paradigm.Notably, we have extracted, summarized, and organized the keywords from the reviewed papers to identify how the elements of MCDA methods are selected from the mobile cloud environment before solving an MCDA problem.Based on our analysis, we have recommended a set of future research directions of MCDA used for the mobile cloud offloading process.
We believe that MCDA methods will enhance the growth of the mobile cloud paradigm in terms of infrastructure and communication.As future work, we plan to investigate how to use MCDA methods in the offloading process, as well as mobile cloud computing in general.Moreover, we would like to investigate Big Data technologies to make the MCDA methods more reliable and effective, as well as to minimize the influence of stochastic factors that affect the sustainability and efficiency of the selected MCDA solutions.

Figure 2 .
Figure 2. Total publications of AHP and TOPSIS methods between 2010 and 2016 (Source: Web of Science platform).

Figure 2 .
Figure 2. Total publications of AHP and TOPSIS methods between 2010 and 2016 (Source: Web of Science platform).

Figure 3 .
Figure 3. Diversity in the mobile cloud environment.

Figure 3 .
Figure 3. Diversity in the mobile cloud environment.

Table 2 .
Summary of different MCDA techniques and capabilities.
[33]wise comparison of attributes structured into a hierarchal relationship, where qualitative and quantitative criteria are used to evaluate alternatives.PROMETHEE[32]Preference Ranking Organization Method of Enrichment EvaluationsPairwise comparison between the alternatives used to determine and eliminate alternatives dominated by other alternatives.TOPSIS[33]Technique for Order of Preference by Similarity to Ideal Solution Selection of an alternative simultaneously the closest to the positive-solution and the farthest from the negative-ideal solution.

Table 3 .
Offloading process based on MCDA methods.