Multi-Objective Decision-Making For Mobile Cloud Offloading: A Survey
Multi-Objective Decision-Making For Mobile Cloud Offloading: A Survey
Multi-Objective Decision-Making For Mobile Cloud Offloading: A Survey
2018.
Digital Object Identifier 10.1109/ACCESS.2018.2791504
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
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
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-
• 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.
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
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
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].
(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
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.
[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.
[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.