Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Multi-Objective Decision-Making For Mobile Cloud Offloading: A Survey

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Received December 3, 2017, accepted January 4, 2018, date of publication January 9, 2018, date of current version February 28,

2018.
Digital Object Identifier 10.1109/ACCESS.2018.2791504

Multi-Objective Decision-Making for Mobile


Cloud Offloading: A Survey
HUAMING WU , (Member, IEEE)
Center for Applied Mathematics, Tianjin University, Tianjin 300072, China
e-mail: whming@tju.edu.cn
This work was supported by Huawei Innovation Research Program (HIRP) grant funded by the Huawei Technologies Co. Ltd
(No. HIRPO2017050307).

ABSTRACT Running very complex applications on mobile devices is still challenging since they are
constrained by limited resources, such as memory capacity, network bandwidth, processor speed, and battery
power. Mobile Cloud Computing (MCC) is a combination of cloud computing and mobile internet, which
could effectively alleviate the resource constraints of mobile devices. How to efficiently offload computation-
intensive parts of mobile applications from mobile devices to capable cloud servers is one of the keys.
In mobile environments, the resource heterogeneity of mobile devices and cloud services, the interruption
of heterogeneous wireless networks, the complexity of mobile applications, and the characteristic of
transferring a large amount of data, are the major bottlenecks that have prevented this technology from
being widely used. This paper takes these constraints into an account at the same time and explores methods
of multi-objective decision making for time- and energy-aware task offloading for MCC. It is designed to
ensure the right computational tasks are executed in the right way, at the right time and place.

INDEX TERMS Mobile cloud computing, mobile edge computing, offloading, decision-making,
energy-efficient.

I. INTRODUCTION cloud servers and then receive results from them via hetero-
Mobile devices, such as tablets, smartphones, smartwatches geneous wireless networks [3]. MCO can bring many poten-
and notebooks, have limited resources in computational tial benefits, such as improving the performance of mobile
capacity, battery lifetime and network connectivity, which applications, reducing the energy consumption of mobile
prevent them from running very complex applications [1]. devices and so on.
There is a rapid growth of power consumption of mobile Mobile network environments usually have a huge impact
devices and seriously shorten their battery life as a result on the performance of offloading systems since mobile users
when more and more computation-heavy or energy-hungry are easily subject to dynamically changing network condi-
applications are deployed on them. Responsiveness is another tions due to their mobility [4]. While traditional cloud appli-
primary constraint for mobile systems. Mobile applica- cations (e.g., iCloud and Siri) have been very successful,
tions (face recognition, speech and object recognition, nat- on mobile devices they still suffer from a number of short-
ural language processing, mobile augmented reality, etc.) comings due to the response time of wireless communication
are becoming increasingly intensive and sophisticated that at the network edge. Intermittent connections of wireless
require increasing amounts of computational capabilities [2]. networks will cause additional costs in terms of energy con-
Especially for real-time and user-interactive applications, sumption and response time, and thus executing applications
they have to wait a long time to obtain the results due to the locally will be more advantageous than offloading them to
limited processing speed of the mobile systems. the remote cloud [5]. Since the extra cost involved in data
Mobile Cloud Offloading (MCO), which takes advan- transfer via a wireless network may be greater than the cost
tage of abundant resources hosted by Clouds, is becom- savings from offloading in certain circumstances, an offload-
ing a promising method to solve a number of concerns ing decision of which portion of an application should be
affecting mobile computing. Its main idea is to release the offloaded and which not, and where to place the execution
mobile devices from intensive processing through migrating (either locally or remotely) should be made based on different
computation-intensive tasks from mobile devices to remote decision criteria. Therefore, it will always be difficult to

2169-3536
2018 IEEE. Translations and content mining are permitted for academic research only.
3962 Personal use is also permitted, but republication/redistribution requires IEEE permission. VOLUME 6, 2018
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

FIGURE 1. System architecture of the offloading service [13].

make high-quality offloading decisions at runtime in mobile transfer or wireless communications and make offloading
environments unless with a clear understanding of current and decisions based on limited aspects like where to offload,
near-future wireless network conditions. e.g., MCC or MEC. Actually, making good time- and
Recently, several surveys on Mobile Cloud Computing energy-aware offloading decisions have to deal with multiple
(MCC) have been conducted. In [6], Khan et al. reviewed challenges, such as heterogeneous resources, large amounts
mobile application models in MCC and highlight their of computation and communication, intermittent connectivity
advantages and shortcomings. In [7] and [8], Shiraz et al. and and network capacity. In contrast to the above-mentioned
Abolfazli et al. investigated state-of-the-art mobile augmen- surveys, we conduct a comprehensive survey of the research
tation efforts that employ cloud computing infrastructures work when taking all these challenges into account simultane-
to enhance computing capabilities of resource-constraint ously and analyze the tradeoff between energy consumption
mobile devices. They reviewed existing offloading frame- and response time based on different offloading decision cri-
works by using thematic taxonomy and analyzed the impli- teria. If we could find out the optimal solution for offloading
cations and critical aspects of current offloading frameworks decisions, the offloading benefits like performance improve-
within the MCC domain. In [9], the problem of resource het- ment of applications executing on the resource-constrained
erogeneity in MCCs was tackled. The authors discussed the mobile devices, could be enhanced. In one word, we need to
heterogeneity in convergent computing (i.e., mobile comput- find what computational tasks and data (what), at what point
ing and cloud computing) and networking (wired and wireless in time (when), in what way or through what channel (how)
networks). Further, the impacts of heterogeneity in offloading and at what place (where) to offload.
decision-making were investigated, related opportunities and The rest of this paper is organized as follows. Section II
challenges were identified. describes characteristics of mobile cloud offloading, major
To cope with the stringent requirements of applications on challenges and a list of issues related to offloading decision-
latency (e.g., real-time applications), an emerging concept making. In each of the following four sections, we focus on
named Mobile Edge Computing (MEC) / Fog Computing has the aspects of when, what, where, and how to offload for
been investigated [10]–[12], which offers connected comput- mobile cloud computing, respectively. Finally, the paper is
ing and storage resources at the Internet edge, in close to concluded in Section VII.
mobile devices. Due to a wide potential of the MEC, there
is a lot of effort both in industry and academia focusing II. OFFLOADING DECISION MAKING
on the offloading decision-making to ensure that the right In this section, we first provide an elementary material
computational tasks are processed in the right way at the right on mobile cloud offloading systems and then describe
place and time. In [11], Mach and Becvar surveyed current the major challenges and issues associated with offloading
research related to the offloading decisions to the conven- decision-making.
tional centralized clouds and MECs. In addition, it gave a
high-level comparison of MCCs and MECs, i.e., MECs can A. GENERIC OFFLOADING SYSTEM
offer significantly lower latency but have limited computa-
Fig. 1 describes a generic offloading process.
tional and storage resources with respect to MCCs. In [12],
Mao et al. provided a comprehensive survey of the state-of- • Profiling: On the mobile side, upon receipt of an

the-art MEC research and new designs ranging from compu- offloading request, resource information about the
tation offloading techniques to network architectures. device and network characteristics are gathered by the
All above-mentioned papers typically focus on one or two profiling module. There are three different kinds of
offloading challenges such as resource heterogeneity, data profilers, namely, program profiler, network profiler

VOLUME 6, 2018 3963


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

and energy profiler. Among them, program profiler


(static or dynamic) collects characteristics of applica-
tions, such as the execution time, the memory usage and
the size of data; network profiler collects information
about the network bandwidth and the wireless connec-
tion status (connected or unconnected); energy profiler
is used to collect the energy characteristics of mobile
devices through software and hardware monitors [14].
• Metrics: Offloading decisions are usually made based
on a selected cost criterion. On the one side, energy,
monetary cost and storage are cost criteria which are
the less the better, and on the other side, performance,
robustness and security are benefit criteria which need
to be maximized [15]. Among such criteria, energy and
performance are the two most important aspects mobile FIGURE 2. Challenges and questions for mobile cloud offloading [16].
users concern about.
• Application Partitioning: On the basis of the col- nearby cloudlets, has been widely used for time- and energy-
lected information, the offloading decision making mod- saving, however, it still faces many challenges. As depicted
ule takes the decision according to the metrics module in Fig. 2, offloading decisions in mobile cloud computing
(i.e., minimizing or maximizing some criteria), and then may involve multiple factors, such as the resource hetero-
the partitioning module is invoked to cut the classes that geneity of mobile devices and cloud services (resource),
make up an application into local and remote partitions, the complexity of mobile applications (component), the inter-
where the former is executed locally on the mobile ruption of heterogeneous wireless networks (intermittence)
device and the latter will be offloaded to a dedicated and the characteristic of transferring a large amount of data
cloud server [16]. The application partitioning can be (data), which may significantly impede the improvement of
done either statically or dynamically. service quality [17]. Each of them will be illustrated in detail
• Offloading Decisions: The cloud discovery module is as follows:
invoked to find an appropriate cloud service for offload- • Resource: The heterogeneous resources include a vari-
ing (where to offload). When wireless networks and ability of mobile devices and different cloud vendors
cloud services are available, or when the offloading providing different services, infrastructures, platforms,
for the mobile device is beneficial in terms of energy and various communication medium and technolo-
consumption and/or execution delay (when to offload), gies [9]. A mobile device can be thin (without any execu-
remote partition classes (what to offload) are migrated tion of tasks to be offloaded) or thick (with executions
to the cloud side via a wireless network by the offload- of tasks before being offloaded) [18]. If the resources
ing module for remote execution (how to offload). The of mobile devices are not adequate either to execute
offloaded classes can interact with the classes in the local the application or to achieve the desired performance,
partition [13]. Once completed, the results are sent back mobile cloud offloading will be a good option to short
to the mobile side. the response time or reduce energy consumption. There
Most benefits from offloading like time- and energy- are many types of mobile devices, some devices are
saving, can be achieved by optimally deciding when, what, using android systems while some with iOS systems;
where and how to offload. Specifically, when is to decide some devices are slow while some are very fast; some
whether to offload or not, according to the knowledge on the are equipped with Cellular and WiFi while some can
amount of computation and communication data, the wireless only access WiFi. Besides, a variety of cloud resources
network conditions and dynamic changes of context, since can be selected, a mobile device can offload its appli-
sometimes offloading is not worthwhile at all; what is to cation either to a remote cloud or a nearby resource-
decide how much and what should be offloaded, it defines rich middleware like cloudlet [19]. Mobile devices can
the name of the candidate tasks to be offloaded through also discover unknown surrogates nearby by service
application partitioning; where describes the type of surrogate discovery techniques and then offload tasks to them [18].
and choosing the appropriate offloading target (e.g., local, • Component: A rich mobile application can be very
cloudlet and cloud) in which the application has to be complex, which consists of several components, includ-
offloaded; how introduces offloading plans that enable the ing offloadable and unoffloadable tasks. Since offload-
device to schedule offloading operations [16]. ing the whole application to the cloud is not always
possible or effective, a decision of which portion of
B. MAJOR CHALLENGES the application should be offloaded and where to place
Mobile Cloud Offloading (MCO) that migrates heavy com- the execution (locally or remotely) should be made
putation from mobile devices to remote cloud resources or based on either the minimum response time or the min-

3964 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

imum energy consumption [20], [21]. Further, a diver- offloading); when to do offloading (e.g., never, sometimes or
sity of mobile applications such as delay-sensitive and always) [16].
delay-tolerant applications will cause different amounts Many research efforts have been devoted to determining
of computation and communication costs. the right time, the right component, the right place and the
• Intermittence: The intermittent connectivity of mobile right way to offload. The issues of time and energy saving on
wireless networks has a huge impact on the offload- mobile devices are becoming increasingly critical. For ease
ing decisions. Mobile devices use heterogeneous wire- of reference, related works are summarized in Table 1.
less interfaces (with various bandwidths and network
latency) to offload tasks to the cloud or access the C. MAIN OBJECTIVES
cloud service. For instance, application tasks that require Response time and energy consumption are two primary
high responsiveness should not be offloaded using long aspects for mobile systems that must be considered when
latency wireless networks; data-intensive tasks should making offloading decisions. Especially for resource-scarce
not be offloaded using low-rate networks [18]. Issues devices, computation offloading is the key to empower these
such as unstable connectivity and intermittent connec- devices and augment their performance (not only energy),
tivity of mobile wireless networks may exist due to i.e., they can run code by means of the cloud that would never
heterogeneous wireless environments, device mobility run locally. The performance of an offloaded task is judged
and cloud resource availability, which incur high latency based on the goals set by the user. Accordingly, we consider
and energy consumption [22]. Further, the offloading three objectives as follows:
process will be interrupted when a mobile device moves • Shorten Response Time: From the perspective of a
outside the coverage of wireless networks, executing mobile device, response time is defined as the duration
applications locally seems more advantageous under between sending the application to the cloud and receiv-
such circumstances. ing the results back from the cloud. Reducing the respon-
• Data: There is a huge growth in global mobile data traf- siveness is becoming increasingly important, especially
fic. The amount of data during the offloading process can for computation-intensive mobile applications. When
be divided into three parts: (i) the amount of input data the amount of computation is very large, it takes such
when the task is offloaded to the cloud for remote exe- a long time to get results that it fails to meet the user’s
cution, (ii) the amount of communication data between need, and thus it should be offloaded to the cloud,
the mobile device and the remote cloud during remote in order to save time and improve performance. There-
execution, and (iii) the amount of output data generated fore, we take decisions to offload only if response time
from the remote execution of the task [18]. Transferring will reduce no matter the impact on energy consumption.
large amounts of data, such as a large database of video, • Reduce Energy Consumption: The energy spent on the
audio and sensor data, from a mobile device to a remote mobile device during the offloading period, is another
cloud, will incur additional communication costs, which primary aspect that must be considered. We aim to
could be critical for data-intensive tasks that might not optimize the energy consumption of a mobile device
benefit from offloading. For example, remote execution by estimation and evaluating the tradeoff between the
may reduce task execution time, however, data transfer energy consumed by local processing versus offloading
during the remote execution may consume more energy the application for remote execution [54]. In this situ-
than during the local execution. Thus, offloading deci- ation, offloading is taken only if energy consumption
sions should be made: how to effectively transmit data is expected to reduce no matter the expected impact
and when to offload data from the mobile devices to the on response time. Extending battery lifetime is one of
cloud server for time- and energy-savings. the most crucial design objectives of mobile devices
Hence, according to Fig. 2, the optimal decisions between because they are usually equipped with limited battery
local and remote executions should be carefully made for capacity when applications are becoming increasingly
each application when considering the response time and complex [55]. Many research efforts have been devoted
the energy consumption, as well as the status of mobile to minimizing the energy consumption.
wireless networks. To meet the goals of saving energy con- • Achieve combination of the above: both energy and
sumption of mobile devices, improving application perfor- time saving are crucial design objectives of mobile
mance, or achieving both of them, offloading decisions can be cloud offloading. We do offloading only if both the
made based on multiple perspectives (e.g., when, what, where response time and energy consumption are expected
and how), each describing the attributes a mobile device to improve [32]. It is possible that achieving one
must meet. In order to minimize the required programmer offloading goal may affect the realization of the other
effort, offloading decisions can be made to determine where goal. For example, executing a task on a service node
to process an application (e.g., local, cloudlet, or cloud); might decrease the response time of the task; how-
how many subtasks to be offloaded to the cloud (e.g., one, ever, it might not conserve the mobile device’s battery
partial or thin client); how much data to be offloaded to energy. We study the tradeoff between the mean energy
the cloud (e.g., no offloading, partial offloading or full consumption and mean response time, which is a non-

VOLUME 6, 2018 3965


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

TABLE 1. Comparison of current offloading works.

trivial multi-objective optimization problem. For exam-


ple, sometimes a short remote execution time for a task
is more important though more energy will be spent due
to offloading than locally execution, and vice-versa [18].

III. WHEN TO OFFLOAD


Remote execution on a cloud server is not an always advan-
tageous strategy because of the need for additional data com-
munications, which may increase the response time and/or
energy consumption when the task-related data is trans- FIGURE 3. The offloading process in mobile cloud computing.
ferred [18]. Sometimes the time and energy saved from
offloading is not able to cover the extra communication costs
between the mobile device and the cloud, in which case,
we will opt to execute the application locally instead of
offloading it to the cloud. Therefore, mobile cloud offloading of execution speed when compared with that of the mobile
is an opportunistic alternative, but not a must. We have to device. Mobile cloud offloading has the potential to shorten
find the right time to offload, e.g., when the wireless network the execution time and reduce the energy consumption on the
is available, when the amount of communication data is mobile device, but the savings from offloading need to exceed
small or when the amount of computation is large [16]. the additional communication cost between the mobile device
and the cloud [56]. Therefore, offloading makes sense only
A. COMPUTATION vs. COMMUNICATION when on device execution cost is much larger than on server
In Fig. 3 the local computation time is tm , the speedup execution cost, which can be decided on time- or energy-
factor F indicates how powerful a cloud server is in terms saving criterion.

3966 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

• Time-Saving: The time incurred by offloading is the according to the ratio of communication versus computa-
sum of computation time on the cloud server and the tion required by the application, by dividing three intervals,
predicted costs of transferring the related data and it namely, never offload, tradeoff and always offload. There
should be smaller than the execution time on the mobile exists a tradeoff between computation and communication.
device in order to save time. Thus, it is worthwhile to When a large amount of computation combined with a very
offload the computation rather than execute it locally small amount of communication such as face recognition and
when chess game, it is better always offload for such applications.
tm D However, a small amount of computation combined with a
tm > + , (1) large amount of communication such as image searching,
F B
it should preferably never offload [36]. In the middle area,
which holds true under several conditions: large F that
it depends on the network bandwidth B.
the server is much faster than the mobile device, small D
that only a small amount of data is exchanged, and large
B. INTERRUPTED vs. UNINTERRUPTED
B that the network bandwidth between the mobile device
Due to unstable network connections or cloud conditions,
and the server is high [55].
the execution of an offloading task may suffer from failures.
• Energy-Saving: A performance seeking offload can-
not guarantee energy reducing, as the energy overhead • Connection Failures: The access to the cloud is usu-

of data transfer may exceed the energy savings from ally influenced by uncontrollable factors, such as the
reduced CPU usage [57]. The energy spent due to instability and intermittency of wireless networks. The
offloading must be smaller than the energy consumed user mobility and quality of wireless connection may
by the mobile device, which has to satisfy: lead to connection failures. When a network connection
suddenly breaks down, an offloaded computation will
tm D suffer severe performance degradation since the request
pm tm > pidle + ptr , (2)
F B may be dropped due to connection failures.
where pm is the power for computing at the device, pidle • Cloud Failures: The cloud servers cannot be seen as
is the power when the device is idle and ptr is the power perfectly reliable systems since the reliability is typically
for sending and receiving data. Here for easy of under- ensured through the SLA negotiated with the provider.
standing, only gives a simple and intuitive explanation. The cloud servers sometimes will be unreachable during
More complex power models can be found in [58]–[60]. data center downtime. According to a survey, 93% of
MCO could potentially save energy for mobile users, but enterprises that suffered from a data center downtime for
not all applications were energy-efficient when migrated more than 10 days, filed for bankruptcy within a year of
to the cloud. It depends on whether the computational the outage.1
cost saved due to offloading outperforms the extra com-
munication cost or note.

FIGURE 4. Tradeoff between computation and communication [29].

Offloading decisions depend on whether the mobile device


benefits from offloading or not. As sometimes it may be FIGURE 5. The offloading model with failures.
not worth offloading at all, decisions have to be made when
encountering with large communication data or low band-
As shown in Fig. 5, once a failure occurs, the offload-
width. Some works [15], [29], [55] have tried to determine
ing action will be interrupted and the offloading task will
when it is optimal to offload computational tasks to a dedi-
be re-executed from the scratch. The mobile device has to
cated server, whereas on the contrary, local execution is more
advisable. As shown in Fig. 4, decisions should be made 1 https://lifelinedatacenters.com/data-center/data-center-downtime/

VOLUME 6, 2018 3967


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

wait for the recovery, but how long should it wait? To deal • Delayed Offloading: When there is currently no high-
with this problem, we set a soft deadline Tdeadline . There quality network available, the offloading process can
are two options, if we wait some time (≤ Tdeadline ) and the be delayed up to a given deadline, or until a suitable
connection is repaired, the task will retry offloading in this network becomes available [44]. Instead of offloading
case; if the connection is not repaired before the deadline the task to the cloud directly, we can choose not to
expires, then the task will be executed locally on the mobile offload when the link is bad or when the amount of data
device. is large. This is an energy-efficient offloading strategy
This system can be described as an M /M /1 modulated since we take the network conditions into account.
queue, where it suffers occasionally a disastrous breakdown Given a set of available links, such as 3G/EDGE, 4G LTE,
occurring in the offloading phase. A failure of the system WiFi access points and even 5G, energy information and
rejects all jobs present, and a repair process starts immedi- data arrival queues, we can determine whether to use any
ately. When the connection is down and undergoing a repair link or which link to use for data transfer, while keeping
process, new arrivals become impatient: each individual job, the transmission delay bounded. Ultra-dense small cell base
upon arrival, activates an ‘impatience timer’, exponentially stations will be deployed in future wireless networks tech-
distributed with an abandonment rate ξ (=1/Tdeadline ). If the nologies (such as 5G), so the data has a high probability to
connection is repaired before the assigned deadline Td has be offloaded through the small cell base stations [63], [64].
expired, it is then offloaded to the cloud. If the system does Dynamic transmission scheduling algorithms based on
not change its environment from the repair phase to the the Lyapunov optimization have been recently proposed
offloading phase before Tdeadline expires, the job is arranged in [30] and [62], which determines when and on which net-
for immediate local processing rather than offloaded to the work to offload data so that the energy cost is minimized
cloud. Further, optimality analysis of the energy-performance by leveraging delay tolerance. They used the transmission
tradeoff for delayed offloading systems has been analyzed, energy cost as a penalty function and dynamically determined
which captures both energy and performance metrics and also when offloading decisions are made in order to minimize the
intermittently available wireless networks [47], [49]. They energy cost by accepting a small delay (queue length).
tried to answer the following questions: (i) Given a deadline, Different types of applications usually give different rela-
how to choose the best offloading model and what parameters tive importance to both factors of response time and energy
do the response time and energy depend on? (ii) How to consumption. There exists a fundamental tradeoff between
choose the deadlines to optimize the metric by trading off the the mean energy consumption and mean response time for
response time and energy consumption? different applications [16], [30]. As for Delay-Tolerant Appli-
cations (e.g., iCloud, Dropbox and participatory sensing) deal
with video, audio, sensor data, or access large databases on
the Internet, which are less sensitive to network delays. Thus,
response time is less critical and optimizing energy usage
is more relevant. But as for Delay-Sensitive Applications
(e.g., language translator, face recognition, video conferenc-
ing, vehicular communications), mobile users desire a fast
response when using applications. The offloading scheme
in which cloud services are available with short network
latencies (e.g., WiFi networks) can serve in a better way by
providing low response time [16].
FIGURE 6. Framework of delayed offloading [62].
Using WiFi to offload large volumes of data from a mobile
device to the cloud can be more energy-efficient than cellu-
lar radio. Since WiFi connections are not always available,
C. ON-THE-SPOT OFFLOADING vs. DELAYED OFFLOADING we should decide when to transmit data and across which
From Fig. 6, there is a queue of data to be offloaded from network interface. Recently, several groups have worked on
a mobile device to the remote cloud server. By dynamically optimizing the tradeoff between the energy consumption and
control the relationship between energy cost, data queue response time. Rahmati and Zhong [24] suggested seamless
backlog and estimated rate, we can optimally determine when offloading operation by switching between several transmis-
to make transmission decisions to save energy. sion technologies, and examined the tradeoff between energy
• On-the-Spot Offloading: When there is any wireless consumption for WiFi search and transmission efficiency
network available, all traffic is immediately offloaded to when the WiFi network was intermittently available. Energy-
the remote cloud, regardless of the network quality [61]. efficient delayed network selection has been used to optimize
Since this kind of offloading strategy does not take the tradeoff between energy usage and delay in data trans-
the network condition into account and the poor-quality mission by intentionally deferring data transmission until the
inferior channels may be used, which could be a waste device meets an energy-efficient network [38]. Researchers
of energy. have further suggested the use of ‘‘delayed offloading’’: if no

3968 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

WiFi connection is available, (some) traffic can be delayed up a critical role in high-performance offloading systemsg. The
to a chosen deadline, or until WiFi becomes available [44]. more accurate and lightweight the profiling information is,
the more correct decisions can be made, and the lower over-
IV. WHAT TO OFFLOAD head is introduced [32].
Usually mobile applications can be decomposed into a set
of fine-grained or coarse-grained tasks which consists of
sequential and parallel components. It is not always neces-
sary or effective to offload all computation components to
the remote cloud since sometimes high communication delay
will be generated or because some tasks must access local
features. Therefore, we should find the right component to
offload, i.e., judiciously determine what should be deployed
on the cloud server and which parts of the application should
be left on the mobile device to achieve a particular perfor- FIGURE 7. The execution flow of an application.
mance target such as the lowest response time or the least
energy consumption [20]. Application partitioning is used to decide which part of the
computations may be advantageously offloaded and which
A. CLASSIFICATION OF APPLICATION TASKS
not. As shown in Fig. 7, tasks 1, 2 and 6 are processed
Different applications emerge in a mobile device according
locally on the mobile device while tasks 3, 4 and 5 are
to some process and each consists of several tasks. Since not
offloaded to the cloud server for remote execution. Through
all the application tasks are suitable for being offloaded to the
partitioning, a mobile device can benefit most from offload-
cloud server for remote execution, they need to be weighted
ing. Applications can be partitioned statically during devel-
and distinguished as:
opment or dynamically during execution:
• Unoffloadable Tasks: Some should be unconditionally
• Static Partitioning: It is determined beforehand which
executed locally on the mobile device, either because
transferring relevant information would take tremendous parts of the application should run locally and which
time and energy or because these tasks must access parts should be offloaded, depending on contextual
local components (e.g., camera, GPS, user interface, parameters, such as computational intensity of each
accelerometer or other sensors) [28]. Tasks that might module, the size of data and state to exchange, battery
cause security issues when executed in a different place level, delay constraints and channel state [66]. The opti-
should also not be offloaded (e.g., e-commerce). Local mal partitioning for offloading is calculated based on
processing consumes the battery power of the device, but the estimation of communication cost and computational
there are no communication costs or delays. costs before the program execution. The former depends
• Offloadable Tasks: Some application components are
on the size of transmitted data and the network band-
flexible tasks that can be processed either locally on width, while the latter is impacted by the computation
the processor of the mobile device, or remotely in a time [20]. The advantage of static partitioning is that it
cloud infrastructure. Many tasks fall into this category, only requirs a low overhead during execution and thus
which are hard to be simply classified as ‘‘tasks suitable applies to a fixed number of partitions, however it works
for offloading’’ or ‘‘tasks suitable for local processing’’, well only if the parameters related to the offloading deci-
the offloading decision depends on whether the commu- sions are accurately known in advance or predicted [22].
• Dynamic Partitioning: The requirement of resources
nication costs outweigh the difference between local and
remote costs or not [55]. for a task may change in its input data and the user-
defined goals (e.g., response time, battery consumption).
We do not need to take offloading decisions for unoffload-
Also, the availability of resources may change at the ser-
able components. However, as for offloadable ones, since
vice nodes (available CPU power, memory, file cache,
offloading all tasks of an application to the remote cloud
etc.) and at the wireless network (bandwidth, network
is not necessary or effective under all circumstances, it is
latency, etc.) [18]. Thus, optimal partitioning decisions
worth considering what should be executed locally on the
must be made dynamically at runtime in order to adapt
mobile device and what should be offloaded onto the remote
to different network conditions, server state, delay con-
cloud for execution based on available networks, response
straints, and so on. Given the variability of the wireless
time or energy consumption. The mobile device has to take
channel, dynamic partitioning seems more appropriate,
offloading decisions based on the results of the dynamic
but it has an associated higher signaling overhead, which
optimization problem.
must be taken under control [67].
B. APPLICATION PARTITIONING Among the sets of partitions offered by the partitioning
Application partitioning is a method to split the execution result, a mobile device should judiciously determine what
of the application between the mobile side and cloud side portion of an application is worth offloading to the cloud and
so that the total execution cost is minimized [65]. It plays what should be executed locally [20]. An offloading strategy

VOLUME 6, 2018 3969


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

selects a subset of tasks to be offloaded, considering the bal- enables energy-aware offloading of mobile code to the infras-
ance between how much the offloading saves and how much tructure by deciding at runtime which methods should be
extra cost is induced. According to different CPU speeds of remotely executed, and achieves the best energy savings
the mobile devices, network bandwidths, transmission data possible under the mobile device’s current connectivity con-
size, and the speed of the cloud servers, we will have differ- straints. Its main aim is to optimize energy consumption of
ent partitioning results. Therefore, the partitioning algorithm a mobile device, by estimating and trading off the energy
should be dynamically adapted to changing environment. consumed by local processing vs. transmission of code and
data for remote execution.
C. PARTITIONING ALGORTIHMS Some works [41], [73] considered a response time con-
CloneCloud [31] used a combination of static analysis and straint when partitioning application tasks for execution on
dynamic profiling to partition applications automatically mobile devices and servers, which is an important issue
at a fine granularity while optimizing execution time and for many interactive applications. To achieve energy saving
energy use for a target computation and communication while satisfying a given deadline, some works [34], [74]
environment. However, this approach only considers limited showed low complexity to solve the problem of offloading
input/environmental conditions in the offline pre-processing decision making (i.e., to determine which software compo-
and needs to be bootstrapped for every new application built. nents to execute remotely under mobile network environ-
Dynamic partitioning of applications between weak devices ments). Beraldi et al. [5] showed that rather than always
and clouds was presented in [27] and [42], to better support offloading the whole application remotely, running partial
applications running on diverse devices in different environ- components locally can be more advantageous. They pro-
ments. They addressed how dynamic partitioning can address posed a novel generic architecture that can be integrated
these heterogeneity problems by taking the bandwidth as a into any mobile application, which aims to automate the
variable. ThinkAir [32] exploited the concept of smartphone offloading decision and improve the application’s response
virtualization in the cloud and provided method-level com- time while minimizing the overall energy consumed by the
putation offloading and enhanced the power of mobile cloud mobile device. The partitioning algorithm introduced in [35]
computing by parallelizing method execution using multiple aims at reducing the response time of tasks on mobile devices.
VM images. It finds the offloading and integrating points in a sequence
Calculations can naturally be described as graphs in which of calls by depth-first search and a linear time searching
vertices represent computational costs and edges reflect com- scheme, which can achieve low user-perceived latency while
munication costs [68]. By partitioning the vertices of a graph, greatly reducing the partitioning computation on the cloud.
the calculation can be divided among processors of local Some application partitioning solutions [1], [26], [33] heavily
mobile devices and remote cloud servers. Traditional graph depend upon programmers and middleware to partition the
partitioning algorithms (e.g., [69]–[71]) cannot be applied applications, which limits their uses.
directly to the mobile offloading systems, because they only
consider the weights on the edges of the graph, neglecting the V. WHERE TO OFFLOAD
weight of each node. We need to find suitable cloud service to carry out offloading
We can adopt partitioning technologies to identify best, i.e., to find the right place to offload. With the devel-
offloaded parts for energy saving. The energy cost of each opment of MCC and MEC, where to offload has become a
application task was profiled. Then a cost graph is constructed crucial issue.
according to the profiling results, in which each node rep-
resented a task to be performed, and each edge indicated A. MULTI-CRITERIA DECISION MAKING
the data to be transmitted between the mobile device and A variety of Clouds with different characteristics are emerg-
the remote cloud. Finally, the remote parts were executed on ing these days for data storage and processing, e.g., Amazon
remote cloud servers for reducing energy consumption. Some EC2, Apple iCloud, and Google App Engine. Such systems
works [20], [72] have explored the methods of how to deploy use proprietary cloud platforms to provide different types of
application tasks in a more optimal way, by dynamically and services. For example, cloud data centers designed specifi-
automatically determining which portions of the application cally for healthcare services can provide a platform for big
should be offloaded to the cloud, what should be performed data storage and parallel computing capabilities for data min-
on the mobile device. ing [75]. Offloading the same program to different clouds
Estimating the energy consumed on the mobile device may perform different amounts of computing within the same
for task offloading to the cloud is fundamental to making duration due to the different speeds of cloud servers, and
a correct offloading decision [59]. Some works [29], [40] may cost different communication time due to the wireless
built energy models to approximate the energy consumption network and cloud’s availability. Therefore, a method for
of offloading. The energy models can be used to construct optimal cloud service selection is needed [76].
the aforementioned cost graph or make offloading decisions. The goal of cloud service selection is to find an opti-
However, they did not provide an effective method to obtain mal cloud among a certain class of clouds that provide the
optimal offloading decisions. MAUI [28] was a system that same service, which best carries out the offloaded tasks [77].

3970 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

a monetary/quantitative definition. Root criteria can be made


up of sub-criteria. The bottom level is named decision hier-
archy, in which we can make the final decision in choosing
one of the alternative clouds based on the analysis in criteria
hierarchy.
The selection process can be a hard task since a variety
of data needs to be analyzed and many factors need to be
considered. Some works [76], [77] combine the methods of
analytic hierarchy process (AHP) and fuzzy technique for
order preference by similarity to ideal solution (TOPSIS),
which are ideal ways to do multi-criteria decision making.
AHP is employed to obtain weights of the criteria for each
cloud service and fuzzy TOPSIS is to determine the priorities
FIGURE 8. Steps of selecting an optimal offloading destination [16].
of the alternative clouds in the decision-making process [79].
Thus, we should make offloading decisions carefully to deter-
mine which resource to use and then offload tasks to the most
appropriate server according to the energy and computing
As shown in Fig. 8, three basic steps are required in the demand of the task.
process of cloud service selection, namely, matching, ranking
and selecting. B. CLOUDLET-BASED DECISION MAKING
• Matching: To find a list of available cloud services that Except for several similar cloud services (from different cloud
are functionally matched with a service request by a vendors) that can be offered to a mobile device, nearby
mobile user. On the mobile device side, upon receipt cloudlets are also alternative destinations for offloading.
of an offloading request, the service request module Mobile users can also offload applications to nearby mobile
invokes the cloud discover module to find an appropriate resource-rich devices to reduce energy consumption and
cloud service according to the task of SLA manage- improve performance. Satyanarayanan et al. [19] proposed a
ment that keeps track of SLA of customers with cloud VM-based cloudlet in mobile computing, to which a mobile
providers and their fulfillment history. The candidate device connects over a WLAN network, with the argument
cloud services are registered based on the collected against the use of the cloud due to higher latency and lower
information in the cloud register module. available bandwidth when connecting. In essence, Cloudlets
• Ranking: To evaluate and rank the available cloud ser- make use of mobile devices simply as a thin-client to access
vices according to QoS values and the results of crite- local resources, rather than using the mobile devices’ capa-
ria and sub-criteria calculation. The criteria calculator bilities directly and offloading only when required. A Mobile
module depends on the tasks of qualitative and quanti- Cloud Middleware (MCM) was also introduced in [80] as
tative measurements. Qualitative criteria are those that an intermediary between the mobile device and the cloud in
cannot be quantified and are mostly inferred based on order to manage the asynchronous delegation of mobile tasks
previous user’s experiences, e.g., security. Quantitative to cloud resources and decrease the time it takes to offload
criteria are those that be measured by using software and tasks from mobile devices to the cloud.
hardware monitoring tools [78], e.g., bandwidth, VM Fig. 10 illustrates a generic MCO system, organized as a
cost and speed. two or three-level hierarchy:
• Selecting: The decision maker module is invoked to • Two-Level Offloading: Rather than running applica-
choose the optimal cloud service according to the ranked tions locally and directly requesting data from content
list of cloud services. And then the offloading invoker providers, a mobile device can offload parts of its work-
module is triggered to partition the application into local load to a cloud server via one or more communica-
and remote partitions, and the latter is then offloaded to tion networks, taking advantage of the abundant cloud
the selected cloud. resources to help gather, store, and process data. This
There are three decision hierarchies listed in Fig. 9. The kind of offloading scheme depends critically on a reli-
first level is called target hierarchy, meaning what the object able end-to-end communication and the availability of
is. Here, it aims at finding the optimal cloud service amongst the cloud [38]. In addition, it suffers from high network
available cloud services which satisfy the essential require- access latency and low network bandwidth. Access to
ments of the mobile device. The second level is called the cloud is often affected by uncontrollable factors,
criteria hierarchy, and five criteria: performance, security, such as the instability and intermittency of wireless
bandwidth, availability and cost are considered for cloud networks.
service selection. The criteria can be classified into two cat- • Three-Level Offloading: Rather than relying on a
egories: subjective criteria and objective criteria. The former remote cloud to address the resource poverty of a mobile
is defined in linguistic/qualitative terms while the latter has device, we can use a nearby resource-rich middleware

VOLUME 6, 2018 3971


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

FIGURE 9. The decision hierarchy of cloud service selection [77].

FIGURE 11. A hybrid scheme of where to offload (Mobile


edge or Cloud) [52].

FIGURE 10. A general offloading model.

(e.g., cloudlet, MEC or local cloud) via a WLAN hotspot delay of offloading data. Compared with the cloud, the mobile
to decrease latency and lower battery consumption [19]. edge is much closer to the user and thus has much low
The application task is first offloaded to the middle- latency or response time. However, compared with conven-
ware, which is well-connected to the internet and avail- tional MCCs, MECs are constrained by computing capacity,
able for use by nearby mobile devices, and then it is especially under the scenario of dense population.
migrated onto the remote cloud through a stable internet Therefore, we should consider both the advantages of
connection. This architecture reduces latency by using the Mobile edge and Cloud, when making offloading deci-
a single-hop network and potentially saves battery by sions on where to offload. Hybrid schemes of where to
using WiFi or short-range radio instead of broadband offload (either Mobile edge or Cloud) has been proposed in
wireless which typically consumes more energy [28]. recent research works. In [52], Ma et al. proposed a Cloud
Therefore, an application can deploy their components on Assisted Mobile Edge computing (CAME) framework as
multiple application processing nodes such as mobile device, shown in Fig. 11, in which cloud resources were leased
cloudlet and cloud, i.e., there could be multiple offloading to enhance the system computing capacity while mobile
destinations and targets [81]. Based on the computational edge resources were used to reduce the latency. Specifically,
requirements and constraints, offloading decisions should be the system delay was analyzed by modeling the CAME sys-
made on where to offload: (i) tasks are executed locally tem as a queuing network. Considering the heterogeneity of
on the mobile device; (ii) tasks are executed on a nearby computation resources and mobile tasks, offloading decisions
cloudlet or edge server [10] with data transferred between the were made which optimized the usage of cloud resources and
mobile device and the cloudlet, e.g., via Bluetooth; (iii) tasks balances the workloads between the cloud and the mobile
are executed on a remote cloud server with data transferred edge [52].
between the mobile device and the cloud, e.g., via a cellular Energy saving from mobile cloud offloading is not guar-
network. anteed if the evoked data transfers via wireless networks
consume an unpredictable amount of energy. Therefore, run-
C. HYBRID OFFLOADING DECISION-MAKING ning a certain part of the application locally on the mobile
Considering the cloud is far from the mobile users, Mobile device can be more advantageous and may save both energy
Edge Computing (MEC) has been proposed to shorten the and response time, especially in the presence of intermittent

3972 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

wireless connectivity. The offloading inference engine pro-


posed in [1] can adaptively make decisions at runtime,
dynamically partition an application and offload part of the
application execution to a powerful nearby surrogate like
Cloudlet, MCM or edge server. Some recent works [16],
[80] developed dynamic offloading decision algorithms for
mobile users when taking the nearby cloudlet or middle- FIGURE 13. The WiFi network availability model.

ware into account. They derived an adaptive offloading


decision algorithm based on Lyapunov optimization, which (i)
determines where to perform each application task (locally, of each ON period TON , is assumed to be an exponentially dis-
cloud or cloudlet) such that the energy consumption is mini- tributed random variable and independent of the duration of
mized with a low delay penalty. other ON or OFF periods [61]. Further, the WiFi availability
ON ]
ratio (AR) can be defined as AR = E[TONE[T
]+E[TOFF ] .
VI. HOW TO OFFLOAD Mobile cloud offloading migrates heavy computation from
Offloading can be performed statically or dynamically via mobile devices to powerful cloud servers using one or more
different wireless networks like WLAN and cellular net- of possibly several available wireless networks. There are
works. Since the transmission techniques differ in energy several ways to offload tasks to a dedicated resource, either
requirements and speeds, we should determine how to lever- using a cellular connection or via an intermittently avail-
age the complementary strength of WiFi and cellular net- able WLAN hotspot [47]. The unstable connectivity of
works by choosing heterogeneous wireless interfaces for wireless links, which is caused by the mobile nature of
offloading, i.e., to find the right way to offload. mobile devices, plays an important role in the offloading
decision-decision making process. A weak and even inter-
mittent wireless network affects the offloading process seri-
ously and raise power consumption on the mobile device.
Therefore, how to offload tasks through different wire-
less channels to achieve an overall optimal object is worth
studying.

B. THE QUEUEING MODEL


Many recent works [47], [49], [84], [85] consider a queueing
model for mobile offloading systems as depicted in Fig. 14.
The mobile device, the cloud, and the wireless networks
FIGURE 12. Comparison of WiFi and cellular networks.
are represented as queueing nodes to capture the resource
contention and delay on these systems [86].
A. HETEROGENEOUS WIRELESS ENVIRONMENTS As indicated in Fig. 14, job arrivals at the mobile device are
Mobile devices, such as smartphones usually have multiple assumed to follow a Poisson process with an average arrival
wireless interfaces (e.g., WiFi and cellular networks) with rate of λ + λ0 , where λ and λ0 are the rates of offloadable
varying availability, delay, and energy cost for data transfer. and unoffloadable jobs, respectively. The arrival rate is based
The differences between them are summarized in Fig. 12. on the behavior of the application. The unoffloadable jobs
Thus, the cellular interface usually has higher availability with an arrival rate λ0 are unconditionally executed locally on
than WiFi and can providenearly ubiquitous coverage for the mobile device. As for the offloadable ones with an arrival
mobile devices in a wide area, but it has lower data transmis- rate λ, the mobile device chooses to offload each job with a
sion rate and is less energy-efficient than the WiFi interface probability 0 ≤ π ≤ 1. In the extreme cases, if π = 0 all the
for transmitting the same quantity of data [38]. offloadable jobs are executed locally, and if π = 1 they are
To facilitate the analysis of decision-making, most research all offloaded to the cloud. According to the properties of the
works [47], [82], [83] assume that cellular networks are Poisson distribution [88], the jobs are offloaded to the cloud
always available to mobile users, whereas the availability of following a Poisson process with an average arrival rate of
WiFi networks depends on the location. Mobile users move λc = π ·λ, the offloading rate. Similarly, jobs that are proceed
in and out of a WiFi coverage area. The time variation of locally instead of being offloaded follow a Poisson process
the WiFi connection state can be modelled by the ON-OFF with rate λm = (1 − π ) · λ.
(i) (i) 
alternating renewal process TON , TOFF , i ≥ 1, as shown There are two dispatchers: α1 is used to allocate offload-
in Fig. 13 [49]. The ON periods represent the presence of able jobs either to the cloud or the mobile device, while
the WiFi connectivity, while the OFF periods denote the α2 is to offload the jobs either via a cellular connection
interruption of the WiFi connectivity [84]. During the latter or a WLAN network to the cloud. The total cost, in terms
periods data is either not transmitted (the interface is idle) or it of energy or response time for processing all offloadable
is transmitted only through the cellular network. The duration jobs, is composed of remote costs (sending some jobs to the

VOLUME 6, 2018 3973


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

FIGURE 14. A queueing model for mobile cloud offloading systems [87].

cloud and waiting for the cloud to complete them), and local characteristic of transferring a large amount of data have
costs (processing the remaining jobs locally on the mobile seriously prevented mobile cloud offloading from being
device) [87]. widely adopted.
Offloading decisions can be made in a fixed, static manner To address these challenges, the time- and energy-aware
while others are able to perform offloading in accordance offloading decisions have to be made based on multiple per-
with the dynamic behavior of the application [89]. spectives. A good offloading decision is made by determining
Some researchers apply different offloading policies (static the right time to offload (when to offload) under different
and dynamic), where arriving jobs are processed either conditions of the device, such as available bandwidth, amount
locally on the mobile device or remotely on a cloud of data to be transferred, and energy to execute; choosing
server. The dynamic offloading policy considers the increase the right component to offload by splitting a specific appli-
in each queue and the change in a metric that newly arriving cation into local and remote parts (what to offload); finding
jobs bring in should they be assigned to that queue, while the right place in which to be offloaded (where to offload)
the static policy does not capture the dynamic increase [90]. under different cloud resource conditions and determining the
A stochastic model for dynamic offloading has been devel- right path to offload (how to offload) by balancing different
oped in [47] using various performance metrics and also communication networks.
intermittently available access links.
Some researchers develop different offloading strategies REFERENCES
(uninterrupted and interrupted): (a) the uninterrupted offload- [1] X. Gu, K. Nahrstedt, A. Messer, I. Greenberg, and D. Milojicic, ‘‘Adaptive
ing strategy uses WiFi whenever possible, but switches to a offloading for pervasive computing,’’ IEEE Pervas. Comput., vol. 3, no. 3,
pp. 66–73, Jul. 2004.
cellular interface if no WiFi connection exists [61], and data is [2] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang. (2011). ‘‘Unleash-
continuously transmitted while switching between different ing the power of mobile cloud computing using ThinkAir.’’ [Online].
channels; (b) the interrupted offloading strategy assign jobs Available: https://arxiv.org/abs/1105.3232
upon arrival to one of two parallel queues which describe [3] F. Xia, F. Ding, J. Li, X. Kong, L. T. Yang, and J. Ma, ‘‘Phone2Cloud:
Exploiting computation offloading for energy saving on smartphones in
cellular or WiFi transmission. Data transmission of the WiFi mobile cloud computing,’’ Inf. Syst. Frontiers, vol. 16, no. 1, pp. 95–111,
queue can be interrupted for short periods when the connec- 2014.
tion is lost [91]. A comparative analysis of these strategies [4] K. Lee and I. Shin, ‘‘User mobility-aware decision making for mobile
computation offloading,’’ in Proc. 1st Int. Conf. Cyber-Phys. Syst., Netw.,
has been performed. Appl. (CPSNA), 2013, pp. 116–119.
[5] R. Beraldi, K. Massri, M. Abderrahmen, and H. Alnuweiri, ‘‘Towards
automating mobile cloud computing offloading decisions: An experi-
VII. CONCLUSION mental approach,’’ in Proc. 8th Int. Conf. Syst. Netw. Commun., 2013,
pp. 121–124.
This paper presents a comprehensive survey of current
[6] A. R. Khan, M. Othman, S. A. Madani, and S. U. Khan, ‘‘A survey of
research works conducted on decision-making for mobile mobile cloud computing application models,’’ IEEE Commun. Surveys
cloud offloading. Offloading decisions play a crucial role in Tuts., vol. 16, no. 1, pp. 393–413, Feb. 2014.
improving the performance of applications executing on the [7] M. Shiraz, A. Gani, R. H. Khokhar, and R. Buyya, ‘‘A review on dis-
tributed application processing frameworks in smart mobile devices for
resource-constrained mobile devices and saving energy at the mobile cloud computing,’’ IEEE Commun. Surveys Tuts., vol. 15, no. 3,
side of mobile devices. pp. 1294–1313, 3rd Quart., 2013.
The resource heterogeneity of mobile devices and [8] S. Abolfazli, Z. Sanaei, E. Ahmed, A. Gani, and R. Buyya, ‘‘Cloud-
based augmentation for mobile devices: Motivation, taxonomies, and open
cloud services, the complexity of mobile applications, challenges,’’ IEEE Commun. Surveys Tuts., vol. 16, no. 1, pp. 337–368,
the interruption of heterogeneous wireless networks and the Feb. 2014.

3974 VOLUME 6, 2018


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

[9] Z. Sanaei, S. Abolfazli, A. Gani, and R. Buyya, ‘‘Heterogeneity in mobile [32] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, ‘‘ThinkAir:
cloud computing: Taxonomy and open challenges,’’ IEEE Commun. Dynamic resource allocation and parallel execution in the cloud for mobile
Surveys Tuts., vol. 16, no. 1, pp. 369–392, Feb. 2014. code offloading,’’ in Proc. INFOCOM, 2012, pp. 945–953.
[10] S. Wang, X. Zhang, Y. Zhang, L. Wang, J. Yang, and W. Wang, ‘‘A [33] D. Kovachev and R. Klamma, ‘‘Framework for computation offloading in
survey on mobile edge networks: Convergence of computing, caching and mobile cloud computing,’’ Int. J. Interact. Multimedia Artif. Intell., vol. 1,
communications,’’ IEEE Access, vol. 5, pp. 6757–6779, 2017. no. 7, pp. 6–15, 2012.
[11] P. Mach and Z. Becvar, ‘‘Mobile edge computing: A survey on architecture [34] D. Huang, P. Wang, and D. Niyato, ‘‘A dynamic offloading algorithm
and computation offloading,’’ IEEE Commun. Surveys Tuts., vol. 19, no. 3, for mobile computing,’’ IEEE Trans. Wireless Commun., vol. 11, no. 6,
pp. 1628–1656, 3rd Quart., 2017. pp. 1991–1995, Jun. 2012.
[12] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, ‘‘A survey on [35] Y. Zhang, H. Liu, L. Jiao, and X. Fu, ‘‘To offload or not to offload: An
mobile edge computing: The communication perspective,’’ IEEE Commun. efficient code partition algorithm for mobile cloud computing,’’ in Proc.
Surveys Tuts., vol. 19, no. 4, pp. 2322–2358, 4th Quart., 2017. 1st Int. Conf. Cloud Netw. (CLOUDNET), 2012, pp. 80–86.
[13] K. Yang, S. Ou, and H.-H. Chen, ‘‘On effective offloading services [36] J. Luzuriaga, J. C. Cano, C. Calafate, and P. Manzoni, ‘‘Evaluating compu-
for resource-constrained mobile devices running heavier mobile Internet tation offloading trade-offs in mobile cloud computing: A sample applica-
applications,’’ IEEE Commun. Mag., vol. 46, no. 1, pp. 56–63, Jan. 2008. tion,’’ in Proc. 4th Int. Conf. Cloud Comput., GRIDs, Virtualization, 2013,
[14] M. Segata, B. Bloessl, C. Sommer, and F. Dressler, ‘‘Towards energy pp. 138–143.
efficient smart phone applications: Energy models for offloading tasks [37] R. Niu, W. Song, and Y. Liu, ‘‘An energy-efficient multisite offloading
into the cloud,’’ in Proc. IEEE Int. Conf. Commun. (ICC), Jun. 2014, algorithm for mobile devices,’’ Int. J. Distrib. Sensor Netw., vol. 9, no. 3,
pp. 2394–2399. p. 518518, 2013.
[15] H. Wu, Q. Wang, and K. Wolter, ‘‘Tradeoff between performance improve- [38] P. Shu et al., ‘‘eTime: Energy-efficient transmission between cloud and
ment and energy saving in mobile cloud offloading systems,’’ in Proc. Int. mobile devices,’’ in Proc. INFOCOM, 2013, pp. 195–199.
Conf. Commun. Workshops (ICC), 2013, pp. 728–732. [39] Y.-D. Lin, E. T.-H. Chu, Y.-C. Lai, and T.-J. Huang, ‘‘Time-and-energy-
[16] H. Wu, ‘‘Analysis of offloading decision making in mobile cloud com- aware computation offloading in handheld devices to coprocessors and
puting,’’ Ph.D. dissertation, Dept. FB Math. Inform., Freie Univ., Berlin, clouds,’’ IEEE Syst. J., vol. 9, no. 2, pp. 393–405, Jun. 2013.
Germany, 2015. [40] K. Fekete, K. Csorba, B. Forstner, T. Vajk, M. Feher, and I. Albert,
[17] H. Flores, P. Hui, S. Tarkoma, Y. Li, S. Srirama, and R. Buyya, ‘‘Mobile ‘‘Analyzing computation offloading energy-efficiency measurements,’’ in
code offloading: From concept to practice and beyond,’’ IEEE Commun. Proc. Int. Conf. Commun. Workshops (ICC), 2013, pp. 301–305.
Mag., vol. 53, no. 3, pp. 80–88, Mar. 2015. [41] W. Zhang, Y. Wen, and D. O. Wu, ‘‘Energy-efficient scheduling policy for
[18] M. P. S. Nir, ‘‘Scalable resource augmentation for mobile devices,’’ collaborative execution in mobile cloud computing,’’ in Proc. INFOCOM,
Ph.D. dissertation, Dept. Syst. Comput. Eng., Carleton Univ., Ottawa, ON, 2013, pp. 190–194.
Canada, 2014. [42] J. Niu, W. Song, and M. Atiquzzaman, ‘‘Bandwidth-adaptive partitioning
[19] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, ‘‘The case for for distributed execution optimization of mobile applications,’’ J. Netw.
VM-based cloudlets in mobile computing,’’ IEEE Pervasive Comput., Comput. Appl., vol. 37, pp. 334–347, Jan. 2014.
vol. 8, no. 4, pp. 14–23, Oct./Dec. 2009. [43] X. Lin, Y. Wang, Q. Xie, and M. Pedram, ‘‘Energy and performance-aware
[20] H. Wu, W. Knottenbelt, K. Wolter, and Y. Sun, ‘‘An optimal offloading task scheduling in a mobile cloud computing environment,’’ in Proc. IEEE
partitioning algorithm in mobile cloud computing,’’ in Proc. Int. Conf. 7th Int. Conf. Cloud Comput. (CLOUD), Jun./Jul. 2014, pp. 192–199.
Quant. Eval. Syst., 2016, pp. 311–328. [44] F. Mehmeti and T. Spyropoulos, ‘‘Is it worth to be patient? Analysis and
[21] U. Nandhini, L. Tamilselvan, S. UdhayaKumar, and S. Nancy, ‘‘Client optimization of delayed mobile data offloading,’’ in Proc. INFOCOM,
aware opportunistic framework of rich mobile applications in mobile 2014, pp. 2364–2372.
cloud environment,’’ Int. J. u- e- Service, Sci. Technol., vol. 10, no. 1, [45] S. G. Ahmad, C. S. Liew, M. M. Rafique, E. U. Munir, and S. U. Khan,
pp. 281–288, 2017. ‘‘Data-intensive workflow optimization based on application task graph
[22] S. Deng, L. Huang, J. Taheri, and A. Y. Zomaya, ‘‘Computation offloading partitioning in heterogeneous computing systems,’’ in Proc. IEEE 4th Int.
for service workflow in mobile cloud computing,’’ IEEE Trans. Parallel Conf. Big Data Cloud Comput. (BdCloud), Dec. 2014, pp. 129–136.
Distrib. Syst., vol. 26, no. 12, pp. 3317–3329, Dec. 2015. [46] U. Nandhini and L. TamilSelvan, ‘‘Computational analytics of client
[23] S. Ou, K. Yang, A. Liotta, and L. Hu, ‘‘Performance analysis of offload- awareness for mobile application offloading with cloud migration,’’ KSII
ing systems in mobile wireless environments,’’ in Proc. IEEE Int. Conf. Trans. Internet Inf. Syst., vol. 8, no. 11, pp. 3916–3936, 2014.
Commun. (ICC), Jun. 2007, pp. 1821–1826. [47] E. Hyytiä, T. Spyropoulos, and J. Ott, ‘‘Offload (only) the right jobs:
[24] A. Rahmati and L. Zhong, ‘‘Context-for-wireless: Context-sensitive Robust offloading using the Markov decision processes,’’ in Proc. 16th
energy-efficient wireless data transfer,’’ in Proc. 5th Int. Conf. Mobile Syst., Int. Symp. World Wireless, Mobile Multimedia Netw. (WoWMoM), 2015,
Appl. Services, 2007, pp. 165–178. pp. 1–9.
[25] R. Wolski, S. Gurun, C. Krintz, and D. Nurmi, ‘‘Using bandwidth data [48] C. Ragona, C. Fiandrino, D. Kliazovich, F. Granelli, and P. Bouvry,
to make computation offloading decisions,’’ in Proc. Int. Symp. Parallel ‘‘Energy-efficient computation offloading for wearable devices and smart-
Distrib. Process. (IPDPS), 2008, pp. 1–8. phones in mobile cloud computing,’’ in Proc. IEEE Global Commun. Conf.,
[26] I. Giurgiu, O. Riva, D. Juric, I. Krivulev, and G. Alonso, ‘‘Calling the Dec. 2015, pp. 1–6.
cloud: Enabling mobile phones as interfaces to cloud applications,’’ in [49] F. Mehmeti and T. Spyropoulos, ‘‘Performance analysis of mobile data
Proc. ACM/IFIP/USENIX 10th Int. Conf. Middleware (Middleware), 2009, offloading in heterogeneous networks,’’ IEEE Trans. Mobile Comput.,
pp. 83–102. vol. 16, no. 2, pp. 482–497, Feb. 2017.
[27] B.-G. Chun and P. Maniatis, ‘‘Dynamically partitioning applications [50] U. Shaukat, E. Ahmed, Z. Anwar, and F. Xia, ‘‘Cloudlet deployment in
between weak devices and clouds,’’ in Proc. 1st ACM Workshop Mobile local wireless networks: Motivation, architectures, applications, and open
Cloud Comput. Services, Social Netw. Beyond, 2010, p. 7. challenges,’’ J. Netw. Comput. Appl., vol. 62, pp. 18–40, Feb. 2016.
[28] E. Cuervo et al., ‘‘MAUI: Making smartphones last longer with code [51] U. Nandhini, L. Tamilselvan, S. Nancy, and U. Shanmugam, ‘‘A secure
offload,’’ in Proc. 8th Int. Conf. Mobile Syst., Appl., Services, 2010, client aware certification for mobile cloud offloading decision,’’ Int. J.
pp. 49–62. Intell. Eng. Syst., vol. 10, no. 2, pp. 106–115, 2017.
[29] K. Kumar and Y.-H. Lu, ‘‘Cloud computing for mobile users: Can [52] X. Ma, S. Zhang, W. Li, P. Zhang, C. Lin, and X. Shen, ‘‘Cost-efficient
offloading computation save energy?’’ Computer, vol. 43, no. 4, workload scheduling in cloud assisted mobile edge computing,’’ in Proc.
pp. 51–56, Apr. 2010. IEEE/ACM 25th Int. Symp. Quality Service (IWQoS), Jun. 2017, pp. 1–10.
[30] M.-R. Ra, J. Paek, A. B. Sharma, R. Govindan, M. H. Krieger, and [53] J. Barrameda and N. Samaan, ‘‘A novel statistical cost model and an
M. J. Neely, ‘‘Energy-delay tradeoffs in smartphone applications,’’ in Proc. algorithm for efficient application offloading to clouds,’’ IEEE Trans.
8th Int. Conf. Mobile Syst., Appl., Services, 2010, pp. 255–270. Cloud Comput., to be published.
[31] B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, ‘‘Clonecloud: [54] K. Henricksen, J. Indulska, and A. Rakotonirainy, ‘‘Infrastructure for
Elastic execution between mobile device and cloud,’’ in Proc. 6th Conf. pervasive computing: Challenges,’’ in Proc. Workshop Pervasive Comput.
Comput. Syst., 2011, pp. 301–314. (INFORMATIK), Viena, 2001, pp. 214–222.

VOLUME 6, 2018 3975


H. Wu: Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey

[55] K. Kumar, J. Liu, Y.-H. Lu, and B. Bhargava, ‘‘A survey of computa- [77] H. Wu, Q. Wang, and K. Wolter, ‘‘Optimal cloud-path selection in mobile
tion offloading for mobile systems,’’ Mobile Netw. Appl., vol. 18, no. 1, cloud offloading systems based on QoS criteria,’’ Int. J. Grid High Perform.
pp. 129–140, Feb. 2013. Comput., vol. 5, no. 4, pp. 30–47, 2013.
[56] A. P. Miettinen and J. K. Nurminen, ‘‘Energy efficiency of mobile clients in [78] V. X. Tran, H. Tsuji, and R. Masuda, ‘‘A new QoS ontology and its QoS-
cloud computing,’’ in Proc. 2nd USENIX Conf. Hot Topics Cloud Comput., based ranking algorithm for Web services,’’ Simul. Model. Pract. Theory,
2010, p. 4. vol. 17, no. 8, pp. 1378–1398, 2009.
[57] A. Gember, C. Dragga, and A. Akella, ‘‘ECOS: Practical mobile appli- [79] M. Dağdeviren, S. Yavuz, and N. Kılınç, ‘‘Weapon selection using the
cation offloading for enterprises,’’ in Proc. Int. Conf. Mobile Syst., Appl. AHP and TOPSIS methods under fuzzy environment,’’ Expert Syst. Appl.,
Services, 2012, p. 4. vol. 36, no. 4, pp. 8143–8151, 2009.
[58] X. Ge, S. Tu, T. Han, and Q. Li, ‘‘Energy efficiency of small cell backhaul [80] H. Flores and S. N. Srirama, ‘‘Mobile cloud middleware,’’ J. Syst. Softw.,
networks based on Gauss-Markov mobile models,’’ IET Netw., vol. 4, no. 2, vol. 92, pp. 82–94, Jun. 2014.
pp. 158–167, 2015. [81] H. Wu and D. Huang, ‘‘Modeling multi-factor multi-site risk-based
[59] M. Altamimi, A. Abdrabou, K. Naik, and A. Nayak, ‘‘Energy cost models offloading for mobile cloud computing,’’ in Proc. 10th Int. Conf. Netw.
of smartphones for task offloading to the cloud,’’ IEEE Trans. Emerg. Service Manage. (CNSM), 2014, pp. 230–235.
Topics Comput., vol. 3, no. 3, pp. 384–398, Sep. 2015. [82] Y. Kim, K. Lee, and N. B. Shroff, ‘‘An analytical framework to characterize
[60] X. Ge, J. Yang, H. Gharavi, and Y. Sun, ‘‘Energy efficiency challenges of the efficiency and delay in a mobile data offloading system,’’ in Proc. 15th
5G small cell networks,’’ IEEE Commun. Mag., vol. 55, no. 5, pp. 184–191, Int. Symp. Mobile Ad Hoc Netw. Comput., 2014, pp. 267–276.
May 2017. [83] F. Mehmeti and T. Spyropoulos, ‘‘Stay or switch?: Analysis and compar-
[61] F. Mehmeti and T. Spyropoulos, ‘‘Performance analysis of ‘on-the-spot’ ison of delays in cognitive radio networks with interweave and underlay
mobile data offloading,’’ in Proc. Global Commun. Conf. (GLOBECOM), spectrum access,’’ in Proc. 14th ACM Int. Symp. Mobility Manage. Wireless
Dec. 2013, pp. 1577–1583. Access (MobiWac), 2016, pp. 9–18.
[62] H. Wu and K. Wolter, ‘‘Dynamic transmission scheduling and link selec- [84] H. Wu, Y. Sun, and K. Wolter, ‘‘Analysis of the energy-response time trade-
tion in mobile cloud computing,’’ in Analytical and Stochastic Model- off for delayed mobile cloud offloading,’’ ACM SIGMETRICS Perform.
ing Techniques and Applications. Cham, Switzerland: Springer, 2014, Eval. Rev., vol. 43, pp. 33–35, Sep. 2015.
pp. 61–79. [85] H. Wu and K. Wolter, ‘‘Analysis of the energy-performance tradeoff for
[63] X. Ge, H. Cheng, M. Guizani, and T. Han, ‘‘5G wireless backhaul net- delayed mobile offloading,’’ in Proc. 9th EAI Int. Conf. Perform. Eval.
works: Challenges and research advances,’’ IEEE Netw., vol. 28, no. 6, Methodol. Tools (VALUETOOLS), 2015, pp. 250–258.
pp. 6–11, Nov./Dec. 2014. [86] V. Cardellini et al., ‘‘A game-theoretic approach to computation offloading
[64] X. Ge, S. Tu, G. Mao, and C. X. Wang, ‘‘5G ultra-dense cellular networks,’’ in mobile cloud computing,’’ Math. Program., vol. 157, no. 2, pp. 421–449,
IEEE Trans. Wireless Commun., vol. 23, no. 1, pp. 72–79, Feb. 2016. Jun. 2016.
[65] S. Ou, K. Yang, and A. Liotta, ‘‘An adaptive multi-constraint partitioning [87] H. Wu, W. Knottenbelt, and K. Wolter, ‘‘Analysis of the energy-response
algorithm for offloading in pervasive systems,’’ in Proc. 4th Annu. IEEE time tradeoff for mobile cloud offloading using combined metrics,’’ in
Int. Conf. Pervas. Comput. Commun., Mar. 2006, pp. 116–125. Proc. 27th Int. Teletraffic Congr. (ITC), 2015, pp. 134–142.
[66] P. Di Lorenzo, S. Barbarossa, and S. Sardellitti. (2013). ‘‘Joint optimization [88] A. Papoulis and S. U. Pillai, Probability, Random Variables, and Stochastic
of radio resources and code partitioning in mobile edge computing.’’ Processes. New York, NY, USA: McGraw-Hill, 2002.
[Online]. Available: https://arxiv.org/abs/1307.3835 [89] M. A. Khan, ‘‘A survey of computation offloading strategies for perfor-
[67] S. Barbarossa, S. Sardellitti, and P. Di Lorenzo, ‘‘Computation offloading mance improvement of applications running on mobile devices,’’ J. Netw.
for mobile cloud computing based on wide cross-layer optimization,’’ in Comput. Appl., vol. 56, pp. 28–40, Oct. 2015.
Proc. Future Netw. Mobile Summit, 2013, pp. 1–10. [90] H. Wu and K. Wolter, ‘‘Tradeoff analysis for mobile cloud offloading based
[68] B. Hendrickson and T. G. Kolda, ‘‘Graph partitioning models for parallel on an additive energy-performance metric,’’ in Proc. 8th Int. Conf. Perform.
computing,’’ Parallel Comput., vol. 26, no. 12, pp. 1519–1534, 2000. Eval. Methodol. Tools (VALUETOOLS), 2014, pp. 90–97.
[69] K. Ali and O. Lhoták, ‘‘Application-only call graph construction,’’ in [91] H. Wu and K. Wolter, ‘‘Stochastic analysis of delayed mobile offloading
Object-Oriented Programming. Berlin, Germany: Springer-Verlag, 2012, in heterogeneous networks,’’ IEEE Trans. Mobile Comput., vol. 17, no. 2,
pp. 688–712. pp. 461–474, Feb. 1, 2018.
[70] Y. Boykov, O. Veksler, and R. Zabih, ‘‘Fast approximate energy minimiza-
tion via graph cuts,’’ IEEE Trans. Pattern Anal. Mach. Intell., vol. 23,
no. 11, pp. 1222–1239, Nov. 2001.
[71] L. Yang, J. Cao, Y. Yuan, T. Li, A. Han, and A. Chan, ‘‘A framework for
partitioning and execution of data stream applications in mobile cloud com-
puting,’’ ACM SIGMETRICS Perform. Eval. Rev., vol. 40, no. 4, pp. 23–32,
2013.
[72] H. Wu and K. Wolter, ‘‘Software aging in mobile devices: Partial com-
putation offloading as a solution,’’ in Proc. Int. Symp. Softw. Rel. Eng. HUAMING WU received the B.E. and M.S.
Workshops (ISSREW), 2015, pp. 125–131. degrees from the Harbin Institute of Technology,
[73] L. Yang, J. Cao, S. Tang, D. Han, and N. Suri, ‘‘Run time application China, in 2009 and 2011, respectively, both in elec-
repartitioning in dynamic mobile cloud environments,’’ IEEE Trans. Cloud trical engineering, and the Ph.D. degree (Hons.)
Comput., vol. 4, no. 3, pp. 336–348, Jul./Sep. 2016.
in computer science from the Free University of
[74] W. Zhang, Y. Wen, K. Guan, D. Kilper, H. Luo, and D. O. Wu, ‘‘Energy-
optimal mobile cloud computing under stochastic wireless channel,’’ IEEE
Berlin, Germany, in 2015. He is currently an Assis-
Trans. Wireless Commun., vol. 12, no. 9, pp. 4569–4581, Sep. 2013. tant Professor with the Center for Applied Math-
[75] H. Wu, ‘‘Analysis of mHealth systems with multi-cloud computing offload- ematics, Tianjin University. His current research
ing,’’ in Mobile Health. Cham, Switzerland: Springer, 2015, pp. 589–608. interests include model-based evaluation, wire-
[76] M. Whaiduzzaman, A. Gani, N. B. Anuar, M. Shiraz, M. N. Haque, and less and mobile network systems, mobile cloud
I. T. Haque, ‘‘Cloud service selection using multicriteria decision computing, and deep learning.
analysis,’’ Sci. World J., vol. 2014, Feb. 2014, Art. no. 459375.

3976 VOLUME 6, 2018

You might also like