2327-4662 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2018.2868616, IEEE Internet of
Things Journal
3
Fig. 1: A partial computation offloading example.
MILP problem and solved by a greedy heuristic algorithm.
The shortcoming of this work is that it neither considers the
collaboration of MCC and MEC, nor takes the interference
among users into consideration. The authors in [22] take the
interference among users into consideration. However, it fo-
cuses on full offloading and does not consider the collaboration
of MCC and MEC. Different from the studies above, this paper
comprehensively considers the cooperation of MCC and MEC,
where IoT-based UEs can either offload their tasks through
MCC or MEC depending on the execution latency.
III. SYSTEM MODEL AND PROBLEM FORMULATION
This section mainly specifies the system model and formu-
lates the investigated problem. The system model includes the
application model and the computation offloading framework
model. The problem description begins with a single user and
extends to multiple users.
A. System Model
There are various mobile applications emerging in the past
few years. We mainly focus on computation-intensive and
delay-sensitive applications, which require high computational
capability as well as low execution latency to satisfy user QoE.
IoT-based UEs with low latency requirement applications,
such as applications based on augmented or virtual reality,
online gaming or remote desktop, may profit from computation
offloading to the cloud or MEC [23].
Basically, one UE consists of a code analyzer and a system
manager [24]. The code analyzer is responsible to determine
which part of the application can be offloaded, depending
on application types and equipment hardware conditions.
The main factor affecting whether applications should be all
offloaded or partial offloaded is the type of application. For
Fig. 2: The application of augmented reality framework ARkit.
example, if the application consists of modules whose input
data is private information of users, such as the name, and
ID card, then it should be partial offloaded. Otherwise, it
can be all offloaded. The system manager is in charge of
monitoring various parameters, including available bandwidth,
computation capability, the offloaded data size and UE’s
transmission power. Computation partitioning, also known as
partial offloading, is a complex and challenging process, which
needs to consider many factors, such as users’ privacy, com-
munication link quality, UE’s capabilities, cloud capabilities
and resource availability [25]. Generally, a significant factor,
influencing the decision of either full or partial offloading, is
the ability of offloading [23]. If the application is composed
of non-offloadable parts (e.g., user input data and position
information), those parts can only be executed locally on
UEs while the rest of the application can choose either to be
offloaded to the remote server or not. An illustrative example is
shown in Fig.1, and the whole application is executed locally
on UE1. UE2 offloads its second module to the MEC server,
and the fourth together with the fifth modules are offloaded to
the cloud server, while the rest is processed by the local device.
The first and second half of the application are offloaded by
MEC and MCC, respectively.
All modules of the application can be either independent
or interdependent. In this paper, we simplify the complex
application module dependency system into a linear sequence
processing module, as shown in Fig.2. It is the application of
augmented reality framework ARkit. First, augmented reality
application is a typical complex and delay-sensitive applica-
tion. Second, the ARkit framework can be divided into several
independent submodules. The above two points are in line
with the research conditions of this paper. So we choose the
ARkit framework. Moreover, the proposed model is still appli-
cable when extending to other applications whose submodules
are linear independent. We can simulate these applications
by adjusting the number of submodules and the amount of
offloaded data. Non-linear applications with complex internal