01122021  Research  Issue 1/2021 Open Access
Collaborative offloading for UAVenabled timesensitive MEC networks
Important notes
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Abbreviations
AR
Augmented reality
BS
Base station
GN
Ground nodes
IoT
Internet of things
LoS
Line of sight
MEC
Mobile edge computing
SN
Sensor nodes
QoE
Quality of experience
QoS
Quality of service
UAV
Unmanned aerial vehicle
VR
Virtual reality
1 Introduction
With the rapid development of internet of things (IoT), numerous novel applications and services, such as augmented/virtual reality (AR/VR), face recognition and ehealth, have emerged and interacted with each other [
1], which start demanding more on computing capability, network throughput and latency for better quality of service (QoS) [
2,
3]. However, the heavy computation workload and storage demand lay a burden on the resourcelimited IoT devices. To find a way out of this dilemma, mobile edge computing (MEC) has been envisioned as the paradigm by placing servers with rich services in proximity to IoT devices, which can remarkably improve the quality of experience (QoE) of IoT devices and help to reduce the energy dissipation [
4–
8].
In general, the MEC server deployment is fixed, restraining it from moving closer to IoT devices in areas without communication coverage or in special cases when it is difficult to deploy MEC servers. Hence, UAV is extensively employed as an aerial MEC node for service coverage in surveillance, data collection, disaster relief, and public safety due to its excellent flexibility and mobility [
9]. Although UAVassisted MEC provides IoT devices with remote resources, it still faces the challenge of communication and computation design due to the limited embedded battery of UAV and IoT devices, and several prior related works have been done to minimize the energy consumption of ground or sensor nodes (GNs/SNs) [
10–
12]. To be specific, the total UAV energy consumption while satisfying the communication throughput requirement of GN was investigated in [
10], and the authors in [
11] employed UAV for minimizing the maximum energy consumption of SNs. In addition, the energy consumption tradeoff between UAV and GNs had been investigated in [
12], where authors attempted to reduce the overall weighted energy consumption between SNs and UAV, while ensuring the required amount of data collection from each SN just as [
11] investigated.
Advertisement
However, offloading energyconsuming workloads to UAV also invokes extra latency which significantly affects the QoE of IoT devices, and thus cannot be ignored in the system design. Recently, some inspiring related works have considered the QoE requirement of timesensitive tasks of IoT devices [
13–
17]. Specifically, the energy consumption of GNs, or UAV, or the weighted sum of energy consumption of IoT devices and UAV were investigated in [
15–
17] with the consideration of timesensitivity for task offloading, respectively. Meanwhile, to minimize the maximum task latency, authors in [
18] designed a novel penalty dual decompositionbased algorithm by jointly optimizing UAV trajectory and task offloading. Due to the limited battery capacity and computation resources of IoT devices, the tradeoff between the energy consumption and time sensitively has also attracted significant attention [
19–
22]. More specifically, authors in [
19] utilized the modified genetic algorithm NSGAII to solve a multiobjective problem of GNs’ average energy consumption and latency time, while the authors in [
21] aimed at minimizing the weighted sum of the service delay of all IoT devices and UAV energy consumption. Besides, an alternative optimization algorithm based on successive convex approximation (SCA) was derived to minimize UAV energy and completion time by jointly optimizing computing offloading, resource allocation and trajectory in [
22].
Ordinarily, an application consists of several divisible and logically independent tasks. For example, an AR application consists of five critical tasks: video source, tracker, mapper, object recognizer, and renderer. Among these tasks, the tracker, mapper, and objective recognizer are computationintensive components which can be offloaded to MEC servers to compute or store for followup processing [
23]. To our knowledge, larger amounts of data and tasks are generating and waiting for proceeding with the explosive growth of smart terminals in the era of big data. To meet the challenge, data caching can be regarded as an effective way to deal with these tasks, and efficiently tackle the following two dilemmas: (1) strong channel gain but insufficient computation capability at UAV, the GN could have offloaded more data to ease its burden of computing; (2) weak channel gain with sufficient computation capability at UAV, the UAV could have computed more for GNs to improve the performance of networks. With the help of data caching, we can foster efficiency in the use of channel and computation capability at UAV concurrently. To be specific, although UAV is engaged in calculation for other GNs at the moment, GN can transmit more data in virtue of better channel gain. Furthermore, these abundant data or tasks can be buffered first, and wait for processing till UAV has sufficient computation resources. Meanwhile, the computation capability will not be wasted at the situation that GN has lowrate transmission due to poor channel gain, UAV can process the cached data instead.
Nevertheless, these pioneering works above just investigated the single task of IoT devices, and focused on either data collection [
11,
12] or computing offloading [
14–
19,
21,
22], but ignored the effectiveness of data caching. In the meantime, timesensitivity has been one of most important metric for network performance, and triggered a great deal of research interests in applications related with UAV. Therefore, in this paper, collaborative multitask computation and caching offloading for UAVenabled MEC networks is investigated to minimize the total energy consumption of GNs,
^{1} where the trajectory along with communication and computing resource allocation at UAV is optimized, and task offloading decision at GNs is determined, to satisfy the QoE requirement of timesensitive tasks of GNs. The main contributions of this paper are summarized as follows:

Collaborative multitask computation and caching offloading are considered to take full advantage of communication and computation resources.

To our knowledge, it is the first attempt to investigate the energy consumption associated with data caching operations, and consider the collaborative offloading.

Since the applications generated by GNs can be divided into several tasks, the QoE requirement of latency is considered for both the single task and the whole application of GNs.
2 System model and problem formulation
A UAVassisted MEC system with multiple IoT devices denoted by
\(\mathcal {K}=\{1,2,\ldots , K\}\) is considered based on frequency division multiple access (FDMA), as shown in Fig.
1, where the UAV is equipped with an embedded MEC server providing computing resource and data storage service to IoT devices during its navigation. The origin and destination points are denoted by
\(\mathbf {Q}_{\mathbf {0}}\) and
\(\mathbf {Q}_{\mathbf {F}}\)
^{2} respectively, and the period of the whole navigation between
\(\mathbf {Q}_{\mathbf {0}}\) and
\(\mathbf {Q}_{\mathbf {F}}\) is given by
T, which is further divided into
N time slots belongs to the set
\(\mathcal {N}\), and the length of each is
\(\tau\),
\(\tau =T/N\). In this system, the threedimensional Cartesian coordinate system is employed, where the UAV is launched from the
\(\mathbf {Q}_{\mathbf {0}}\) at a fixed altitude
H and flies to the final point
\(\mathbf {Q}_{\mathbf {F}}\) in the end according to the coordinate series
\(\varvec{q}[n]=(q_x[n],q_y[n]) \in \mathbb {R}^{2 \times 1}, \forall {n} \in \mathcal {N}\), meanwhile, each IoT device maintains stationary coordinate
\(\varvec{w}_k=(x_k,y_k), \forall k\). Denote
\(d_k[n]=\sqrt{ (q_x[n]x_k)^2 + (q_y[n]y_k)^2 + H^2}\) as the distance between the UAV and the
kth IoT device, which varies with respect to (w.r.t.) each slot. Since
\(\tau\) is small, the average velocity between
\(\varvec{q}[n+1]\) and
\(\varvec{q}[n]\) can be approximated by the instant speed
\(\Vert \varvec{v}[n]\Vert\), given by
where
\(\Vert \cdot \Vert\) denotes the Euclidean distance, and
v[
n] cannot exceed its maximum speed
\(v_\text {max}\),
\(\Vert \varvec{q}[n+1]  \varvec{q}[n] \Vert \le \tau v_\text {max}\).
$$\begin{aligned} v[n]\triangleq \Vert \varvec{v}[n]\Vert =\frac{\Vert \varvec{q}[n+1]  \varvec{q}[n] \Vert }{\tau }, \end{aligned}$$
(1)
×
Advertisement
Assume that each IoT device has an energyconsuming and delaysensitive application to be executed within
\(T_k\), which defines the
kth GN whole mission delay and must not exceed the mission period
T, given as
\(T_k \le T,\forall {k}\). Herein, partitionoriented applications are investigated, such as virus scan application and figure compression application [
24], and the application can be divided into
N logically independent tasks w.r.t. the time slots. Furthermore, each logically independent task can be arbitrarily divided into several partitions to support parallelism, and thus handled locally and at the UAV concurrently since the amount of data to be processed is known in advance for this kind of applications [
23]. To be specific, the
kth IoT device generates a task described by a tuple of five parameters
\(\left\{ s_k[n], a_k[n], \theta _k, l_k[n], \tau _k[n]\right\}\) at the
nth time slot, where
\(s_k[n]\) indicates the amount of input data to be processed,
\(a_k[n]\) is the indicator of task type, i.e.,
\(a_k[n]=1\) for computing,
\(a_k[n]=0\) for caching,
\(\theta _k\) represents the number of CPU cycles for computing 1bit of input data,
\(l_k[n]\in [0,1]\) is the proportion of
\(s_k[n]\) offloading to UAV, while the rest
\((1l_k[n])s_k[n]\) bits are processed at local, and
\(\tau _k[n]\) is the maximum tolerable latency shorter than
\(\tau\). Denote
\(C_k\) and
C as the storage capacity of the
kth IoT device and the UAV in bits, respectively. Due to hardware limitations, the total storage resource assigned to IoT devices must satisfy
\(\sum _{n=1}^N \sum _{k=1}^{K} (1a_k[n]) l_k[n] s_k[n] \le C\), and the data cached in the
kth IoT device must not exceed its storage limitation,
\(\sum _{n=1}^{N}(1a_k[n])(1l_k[n])s_k[n]\le C_k\). Meanwhile, the local CPU frequency of the
kth IoT device is characterized by
\(f_k\), and
\(f_{k,u}[n]\) is the computing resource allocated to the
kth IoT device by the UAV at the
nth time slot, where both of them are measured by the number of CPU cycles per second. Moreover, a practical constraint that the total computing resources allocated to all the associated IoT devices cannot excess the UAV’s computation capability
F, is given by
\(\sum _{k\in \mathcal {K}}a_k[n]f_{k,u}[n]\le F\).
2.1 Task latency
Suppose that the application generated by the
kth GN can be divided into several tasks, which are scheduled into
N slots and further partially offloaded to the UAV. With the consideration of timesensitivity, we assume there are QoE requirements for the single task and the application, respectively. Denote
\(t_k[n]\) as the latency for the
kth GN at
nth slot, and the one for the application of
kth GN must not exceed
\(T_k\), given as,
\(\sum _{n=1}^N t_k[n] \le T_k,\forall {k}\), the details of which are given in the following.
2.1.1 Local computing mode
By assuming there is no further operation required for caching the residual part locally, we consider the local computing for executing the residual part
\((1l_k[n])s_k[n]\) with computation capability
\(f_k\) at the
kth IoT device, the time consumption of which is given by
$$\begin{aligned} t_k^{\mathrm {loc}}[n] = \frac{a_k[n] (1l_k[n]) s_k[n] \theta _k}{f_k}. \end{aligned}$$
(2)
2.1.2 Offloading mode
It is assumed that the wireless channel between the UAV and the
kth IoT device is dominated by lineofsight link [
25], and the channel between the UAV and IoT devices is modeled by the free space path loss model. Therefore, the channel gain
\(h_k[n]\) from the
kth IoT device to the UAV at the
nth time slot is given
where
\(\rho _0\) represents the channel gain at the reference distance
\(d_0=1\) meter. Since the change of UAV position is negligible when the LoS link path is applied, the channel gain remains constant within each slot. Assume that the total available bandwidth
B is shared among IoT devices with a proportion
\(B b_k[n]\) for each during a time slot, and the sum of the bandwidth allocated to IoT devices cannot exceed the total bandwidth,
\(\sum _{k =1}^K b_k[n] \le 1, \forall {n}\). Thus, the achievable offloading rate at the
kth IoT device is given as
where
\(P_k\) denotes the transmit power of the
kth IoT device, and
\(N_0\) is the noise power dense at the UAV.
$$\begin{aligned} h_k[n]=\frac{\rho _0}{d_k[n]^2} = \frac{\rho _0}{\Vert \varvec{q}[n]\varvec{w}_k\Vert ^2 + H^2}, \end{aligned}$$
(3)
$$\begin{aligned} r_k[n] =B b_k[n]\log _2\left( 1+\frac{P_k h_k[n]}{B b_k[n] N_0}\right) , \end{aligned}$$
(4)
The offloading time
\(t_k^{\mathrm {off}}[n]\) of the
kth IoT device mainly consists of two parts
^{3}: the uplink transmission time
\(t_k^{\mathrm {up}}[n]\) from the IoT device to the MECintegrated BS, and the corresponding execution time at MEC server
\(t_k^{\mathrm {ex}}[n]\) for the computing and the caching task, respectively. It’s assumed that there is no further processing for cached data at UAV and the operation will always succeed. The caching time is negligible and the result of caching operation need not be returned. Thus for the offloading caching task, we only take the task transmission time into account. Therefore, the offloading time for both the computing and the caching task can be written as
Due to the parallel computing at IoT devices and the UAV, the total latency for the
kth IoT device depends on the larger one between
\(t_k^\text {loc}[n]\) and
\(t_k^\text {off}[n]\), which can be recast as
\(t_k[n] \triangleq \max {\{ t_k^{\mathrm {loc}}[n],t_k^{\mathrm {off}}[n]\}}, ~\forall {k},n\).
$$\begin{aligned} \begin{aligned} t_k^{\mathrm {off}}[n]&=t_k^{\mathrm {up}}[n]+t_k^{\mathrm {ex}}[n]\\ &=\frac{l_k[n]s_k[n]}{r_k[n]}+\frac{a_k[n] l_k[n] s_k[n] \theta _k}{f_{k,u}[n]}. \end{aligned} \end{aligned}$$
(5)
2.2 Energy consumption
Since GN tasks can be computed or cached locally or in UAV, both the computing and caching operation are charged for energy consumption. Similar to [
26], the inmemory caching energy consumption model is adopted for both UAV and GN, in which the energy consumption is proportional to the cached task bits. Additionally, the signal transmission consumption of GNs and UAV propulsion energy are also included.
2.2.1 Energy consumption at the IoT device
The energy consumed by the
kth IoT device includes the cost of uploading and the part of local operation, which varies according to corresponding task type. For a local computing task, the power consumption of the processor at the
kth IoT device is modeled as
\(\eta _k f_k^3\) (joule per second), given as,
where
\(\eta _k\) represents the computation energy efficiency coefficient related to the processor’s chip. On the other hand, based on the energyproportional model the local caching energy consumed for processing
\((1l_k[n])s_k[n]\) bits data at
kth GN can be written as
where
\(\omega _k^{ca}\) is the coefficient of caching power efficiency related to the GN caching hardware drives [
27–
29]. With the help of (
5), the transmission energy consumption at the
kth IoT device is given as
In the end, the total energy consumption of
kth GN during flight navigation can be written as follows,
$$\begin{aligned} E_{k}^{\mathrm {exe}}[n] = a_k[n] \eta _k (1l_k[n])s_k[n] \theta _k f_k^2, \end{aligned}$$
(6)
$$\begin{aligned} E^{\mathrm {ca}}_k[n] = (1a_k[n])(1l_k[n])\omega _k^{ca}s_k[n], \end{aligned}$$
(7)
$$\begin{aligned} E_{k}^{\mathrm {tran}}[n] = \frac{P_k l_k[n] s_k[n]}{r_k[n]}. \end{aligned}$$
(8)
$$\begin{aligned} \begin{aligned} E_k = \sum _{n=1}^N \left( {E^{\mathrm {ca}}_k[n] + E_{k}^{\mathrm {exe}}[n] + E_{k}^{\mathrm {tran}}[n]} \right) ,\forall {k}. \end{aligned} \end{aligned}$$
(9)
2.2.2 UAV energy consumption
During the entire flight, the energy consumption for propulsion and task processing are involved at UAV. The part for offloaded computing task at UAV is similarly given as
where
\(\eta\) denotes the computation energy efficiency coefficient related to the processor’s chip of UAV. However, if the offloaded task is claimed as a caching task, the caching energy can be similarly written as
where
\(\omega _{\mathrm {ca}}\) is the caching energy coefficient related to UAV storage hardware. Additionally, similar to [
10,
12], the rotarywing energy model is adopted for UAV propulsion energy consumption.
where
\(P_0\) and
\(P_i\) denote the constant
blade profile power and
induced power in hovering status. For other parameters,
\(Q_\text {tip}\) is the tip speed of the rotor blade,
\(v_0\) is the mean rotor induced velocity in hover,
\(d_0\) and
s are the fuselage drag ratio and rotor solidity, and
\(\rho\) and
A define the air density and rotor disc area.
$$\begin{aligned} E_{\mathrm {exe}} = \sum _{n=1}^{N} \sum _{k=1}^{K} a_k[n] \eta l_k[n] s_k[n] \theta f_{k,u}^2[n], \end{aligned}$$
(10)
$$\begin{aligned} E_{\mathrm {ca}} = \omega _{\mathrm {ca}} \sum _{n=1}^{N} \sum _{k=1}^{K} (1a_k[n]) l_k[n] s_k[n], \end{aligned}$$
(11)
$$\begin{aligned} \begin{aligned} E_{\mathrm {fly}}=&\sum _{n=1}^{N} \tau \Bigg [ P_0\left( 1+\frac{3v^2[n]}{Q_\text {tip}^2}\right) +\frac{1}{2} d_0s\rho Av^3[n] +\,P_i\left( \sqrt{1+\frac{v^4[n]}{4v_0^4}}  \frac{v^2[n]}{2v_0^2}\right) ^\frac{1}{2} \Bigg ], \end{aligned} \end{aligned}$$
(12)
2.3 Problem formulation
In this paper, we jointly optimize trajectory
\(\varvec{q}\), bandwidth
\(\varvec{b}\), computation capability
\(\varvec{f}\), task type
\(\varvec{a}\) and offloading ratio
\(\varvec{l}\), to minimize the total energy consumption of IoT devices in the following problem,
where
\(\varvec{q} \triangleq \{\varvec{q}[n]\}\),
\(\varvec{b} \triangleq \{b[n]\}\),
\(\varvec{a} \triangleq \{a_k[n]\}\),
\(\varvec{l} \triangleq \{l_k[n]\}\) and
\(\varvec{f}\triangleq \{f_{k, u}[n]\},\forall k,n\). Constraints (
13a)–(
13d) are the resource limitations introduced above. Constraint (
13e) indicates that the total energy consumption must not exceed UAV battery capacity. The QoE requirements for the single task and the application are denoted by (
13f) and (
13g), respectively, ensuring the instantaneous and longtime performance for GNs.
$$\begin{aligned} \min _{\begin{array}{c} \varvec{q},\varvec{b},\varvec{f}\\ \varvec{a},\varvec{l} \end{array}}~&{\sum _{k=1}^{K} E_k}\nonumber \\ \mathrm {s.t.}&\sum _{k=1}^{K} b_k[n] \le 1, ~\forall {n}, \end{aligned}$$
(13a)
$$\begin{aligned} \mathbf {P}: ~&\sum _{k=1}^{K} a_k[n] f_{k,u}[n] \le F, \forall {n}, \end{aligned}$$
(13b)
$$\begin{aligned}&\sum _{n=1}^N \sum _{k=1}^{K} (1a_k[n]) l_k[n] s_k[n] \le C, \end{aligned}$$
(13c)
$$\begin{aligned}&\sum _{n=1}^N (1a_k[n])(1l_k[n]) s_k[n] \le C_k,\forall {k}, \end{aligned}$$
(13d)
$$\begin{aligned}&E_{\mathrm {fly}} + E_{\mathrm {exe}} +E_{\mathrm {ca}} \le E, \end{aligned}$$
(13e)
$$\begin{aligned}&t_k[n] \le \tau _k[n], ~\forall {k,n}, \end{aligned}$$
(13f)
$$\begin{aligned}&\sum _{n=1}^{N} t_k[n] \le T_k, ~\forall {k}, \end{aligned}$$
(13g)
$$\begin{aligned}&\varvec{q}[0] = \mathbf {Q}_{\mathbf {0}}, \varvec{q}[N] = \mathbf {Q}_{\mathbf {F}}, \end{aligned}$$
(13h)
$$\begin{aligned}&\Vert \varvec{q}[n+1]  \varvec{q}[n] \Vert \le \tau v_{\mathrm{max}},~\forall {n}, \end{aligned}$$
(13i)
$$\begin{aligned}&0\le b_k[n] \le 1, ~\forall {k,n}, \end{aligned}$$
(13j)
$$\begin{aligned}&0 \le l_k[n] \le 1, ~\forall {k,n}, \end{aligned}$$
(13k)
$$\begin{aligned}&a_k[n] \in \{0,1\}, ~\forall {k,n}, \end{aligned}$$
(13l)
3 Proposed solution and algorithm
Obviously,
\(\mathbf {P}\) is a challenging mixed integer nonlinear programming (MINLP) problem due to the coupled variants in both the constraints and the objective function. Instead of dealing with the original problem directly, we divide
\(\mathbf {P}\) into three manageable subproblems to decouple these variants: (1) Trajectory optimization for
\(\varvec{q}\); (2) Resource allocation at UAV including bandwidth
\(\varvec{b}\) and computation capability
\(\varvec{f}\); (3) Offloading decisions including task type
\(\varvec{a}\) and ratio
\(\varvec{l}\). The iterative approach based on the block coordinate descent (BCD) method [
30,
31] is thus employed to alternately solve the three subproblems.
3.1 Trajectory optimization
Given
\(\{\varvec{b},\varvec{f},\varvec{a},\varvec{l}\}\), the trajectory of UAV can be derived according to the following problem,
which is still intractable due to the nonconvexity of constraints (
13e)–(
13g), as well as the objective function.
$$\begin{aligned} \begin{aligned} \mathbf {P}_{\mathbf {T}}:\min _{\varvec{q}} ~&{\sum _{n=1}^{N} \sum _{k=1}^{K} \frac{P_k l_k[n] s_k[n] }{r_k[n]} } \\ \mathrm {s.t.}~&(13e)  (13i), \end{aligned} \end{aligned}$$
(14)
Motivated by [
12,
17], the SCA technique is utilized to cope with the nonconvexity with introduced auxiliary variables
\(\varvec{o} \triangleq \{o[n] \ge 0\}\), where
\(o[n]=\left( \sqrt{1+\frac{v^4[n]}{4v_0^4}}\frac{v^2[n]}{2v_0^2}\right) ^\frac{1}{2}\). Thus, constraint (
13e) can be recast as
where constraint (
15b) is still nonconvex. To cope with the nonconvexity, we derive the following inequalities by employing the firstorder Taylor expansion with given points
\((o_i[n], v_i[n])\) at the
ith iteration,
where the righthand side of (
16) is a linear function w.r.t.
v[
n] and
o[
n]. Similarly, auxiliary variables
\(\tilde{r}^q_k[n] \ge \frac{1}{r_k[n]}>0, \forall n\) are introduced to deal with nonconvex parts related to
\(r_k[n]\) in the objective function and constraints (
13f) and (
13g). To be specific, for any given local point
\(\tilde{r}^q_{k,i}[n]\), a lower bound function named as
\(L(\tilde{r}^q_{k,i}[n])\) is defined to transform
\(r_k[n]\) as follows
where
\(\omega _k^i\triangleq 2^{(B b_k[n] \tilde{r}^q_{k,i}[n] )^{1}}\),
\(\omega _k\triangleq 2^{{(B b_k[n] \tilde{r}^q_{k}[n] )}^{1}}\) and
\(\phi _0=\frac{p_k[n]\rho _0}{B b_k[n]N_0}\). Hence, constraints (
13f) and (
13g) can be equivalently rewritten as
The lower bound function
\(L(\tilde{r}^q_{k}[n])\) is concave w.r.t.
\(\tilde{r}^q_{k}[n]\) satisfying
\(\frac{\phi _0}{2^{(B b_k[n] \tilde{r}^q_{k}[n])^{1}}  1} \ge L(\tilde{r}^q_{k}[n])\) with the given local point at the
ith iteration, the proof of which can be found in [
17]. Therefore,
\(\mathbf {P}_{\mathbf {T}}\) can be transformed into a convex optimization problem as
where
\(\varvec{\tilde{r}_q}\triangleq \{\tilde{r}^q_{k}[n]\}\), and the details of solving
\(\mathbf {P}_{\mathbf {T1}}\) is presented in Algorithm 1.
$$\begin{aligned}&\sum _{n=1}^{N} \tau \left[ P_0 \left( 1+\frac{3v^2[n]}{q^2} \right) + P_i o[n] +\frac{1}{2} d_0s\rho Av^3[n] \right] +E_{\mathrm {exe}} + E_{\mathrm{ca}} \le E, \end{aligned}$$
(15a)
$$\begin{aligned}&\frac{1}{o^2[n]} \le o^2[n]+\frac{v^2[n]}{v_0^2}, \end{aligned}$$
(15b)
$$\begin{aligned} \frac{1}{o^2[n]} \le \left( 2o_i[n]o[n]o_i[n]^2 \right) +\left( 2v_i[n] v[n] v_i^2[n] \right) \end{aligned}$$
(16)
$$\begin{aligned} L(\tilde{r}^q_{k}[n]) \triangleq \phi _0 \left[ \frac{1}{\omega _k^i 1 }\frac{\omega _k \omega _k^i}{\left( \omega _k^i1 \right) ^2 }\right] , \end{aligned}$$
(17)
$$\begin{aligned}&\frac{a_k[n] l_k[n] s_k[n] \theta }{f_{k,u}[n]} + l_k[n]s_k[n] \tilde{r}^q_{k}[n] \le \tau _k[n], \end{aligned}$$
(18a)
$$\begin{aligned}&\Vert \varvec{q}[n]  \varvec{w}_k \Vert ^2 + H^2 \le L(\tilde{r}^q_{k}[n]) , \end{aligned}$$
(18b)
$$\begin{aligned}&\sum ^N_{n=1} \max \bigg \{t_k^{loc}[n], \frac{a_k[n] l_k[n] s_k[n] \theta }{f_{k,u}[n]} + l_k[n]s_k[n] \tilde{r}^q_{k}[n] \bigg \} \le T_k. \end{aligned}$$
(18c)
$$\begin{aligned} \begin{aligned} \min _{\{\varvec{q},\varvec{v},\varvec{o},\varvec{\tilde{r}_q} \} }~&{\sum _{n=1}^{N} \sum _{k=1}^{K} p_k l_k[n] s_k[n] \tilde{r}^q_{k}[n]} \\ \mathbf {P}_{\mathbf {T1}}:~\mathrm {s.t.} ~&(13h)(13i)(15a)(16)(18a)(18b)(18c), \end{aligned} \end{aligned}$$
(19)
×
3.2 Resource allocation at UAV
With the newly obtained
\(\varvec{q}^\star\) and the given
\(\{\varvec{a},\varvec{l}\}\), the resource allocation strategy at UAV can be designed via the following problem,
which is nonconvex due to the nonlinear part in the objective function and constraints (
13g) and (
20a), i.e.,
\(r_k[n]\). Similarly, the auxiliary variables
\(\varvec{\tilde{r}_b} \triangleq \{0< \tilde{r}_k^b[n] \le r_k[n],\forall {k,n} \}\) are introduced to deal with
\(r_k[n]\), which further transforms
\(\mathbf {P}_{\mathbf {R}}\) into the following equivalent problem,
where
\(E'\) is a constant value related to energy consumption. Define
\(\phi _1\) as
\(\phi _1 \triangleq \frac{P_k \rho _0}{(\Vert \varvec{q}[n]\varvec{w}_k\Vert ^2 + H^2)N_0}\) and the secondorder derivative of the right side in constraint (
21b) is given as
\(\triangledown ^2 r_k[n](b_k[n])= \frac{\phi _1^2}{B b_k[n](B b_k[n]+\phi _1)^2 \ln {2}}\), which proves the concavity of constraint (
21b). It is also observed that (
21e) is convex because the second item in
\(\max\) method is convex and the first item is a constant value. Therefore,
\(\mathbf {P}_{\mathbf {R1}}\) is a convex problem w.r.t.
\(\{\varvec{b},\varvec{f}, \varvec{\tilde{r}_b}\}\), which can be efficiently solved by solvers, e.g., CVX [
32].
$$\begin{aligned} \min _{\{\varvec{b,f}\}}~&{\sum _{n=1}^{N} \sum _{k=1}^{K} \frac{P_k l_k[n] s_k[n] }{r_k[n]} } \nonumber \\ \mathbf {P}_{\mathbf {R}}: \mathrm {s.t}~&\frac{1}{r_k[n]}+\frac{a_k[n] \theta }{f_{k,u}[n]} \le \frac{\tau _k[n]}{l_k[n]s_k[n]},\forall {k,n}, \nonumber \\&(13a)(13b)(13e)(13g)(13j) \end{aligned}$$
(20a)
$$\begin{aligned} \min _{\{\varvec{b,f,\tilde{r}_b}\}}&{\sum _{n=1}^{N} \sum _{k=1}^{K} \frac{P_k l_k[n] s_k[n]}{\tilde{r}^b_k[n]} } \nonumber \\ \mathrm {s.t.} ~&(13a)(13b)(13j)\nonumber \\ \mathbf {P}_{\mathbf {R1}}:~&0 < \tilde{r}^b_k[n], \forall {k,n}, \end{aligned}$$
(21a)
$$\tilde{r}^b_k[n] \le B b_k[n]\log _2{(1+\frac{\phi _1}{B b_k[n]})}, \forall {k,n},$$
(21b)
$$\sum _{n=1}^{N} \sum _{k=1}^{K} a_k[n] \eta l_k[n] s_k[n] \theta f_{k,u}^2[n] \le E^{\prime},$$
(21c)
$$\begin{aligned}&\frac{a_k[n] \theta }{f_{k,u}[n]} + \frac{1}{\tilde{r}^b_k[n]}\le \frac{\tau _k[n]}{l_k[n]s_k[n]}, \forall {k,n}, \end{aligned}$$
(21d)
$$\begin{aligned}&\sum ^N_{n=1} \max \bigg \{t_k^{loc}[n], \frac{a_k[n] l_k[n] s_k[n] \theta }{f_{k,u}[n]} + \frac{l_k[n]s_k[n]}{\tilde{r}^b_k[n]} \bigg \} \le T_k, \end{aligned}$$
(21e)
3.3 Offloading decisions at GNs
In this subsection, the task type and offloading ratio are optimized to further minimize the total energy consumption of MDs with the achieved
\(\{{\varvec{q}}^\star ,{\varvec{b}}^\star ,{\varvec{f}}^\star \}\) as follows
which is also difficult to deal with since
\({\varvec{a}}\) consists of binary variables and further couples with
\({\varvec{l}}\). It’s observed that with fixed
\({\varvec{a}}\),
\(\mathbf {P_o}\) is the linear programming problem w.r.t
\({\varvec{l}}\) and given with fixed
\({\varvec{l}}\) the subproblem becomes an integer programming problem
w.r.t
\({\varvec{a}}\). Thus, an inner BCD algorithm is derived to alternatively solve the offloading problem.
$$\begin{aligned} \begin{aligned} \mathbf {P}_{\mathbf {O}}:\min _{\{\varvec{a,l}\}}&\sum _{n=1}^{N} \sum _{k=1}^{K} E_k[n] \\ ~\mathrm {s.t.}~&(13b)(13g), (13k)(13l), \end{aligned} \end{aligned}$$
(22)
×
4 Simulation results and discussions
In this section, several experiments are conducted for verifying the performance of proposed algorithm. Assume that GNs are distributed in a square area of size
\(100 \text {m} \times 100 \text {m}\) and generate multiple tasks during the navigation of UAV, the sizes of which range from 100 to 500 Kbits within each time slot. The UAV starts flight at origin point
\(\mathbf {Q}_{\mathbf {0}}=(\varvec{0,0})\) and follows the optimized trajectory to the final point
\(\mathbf {Q}_{\mathbf {F}}\), which can be the origin or a different point. The details of the experimental parameters are summarized in Table
1, unless otherwise mentioned. Numerical results are presented for the UAV trajectory and the energy consumption of GNs w.r.t different offloading schemes: (1)
Computing offloading mode: all of GNs’ tasks are for computing; (2)
Collaborative offloading mode: the tasks of GNs are for either computing or caching; (3)
Caching offloading mode: all the tasks are only for caching at UAV or at GNs.
Table 1
Simulation parameters
System parameters

Values


Maximal CPU frequency of UAV

5 GHz

CPU frequency of GN

50 MHz

Total bandwidth
B

10 MHz

Max storage capacity
C at UAV

200 M

GN remaining storage capacity
\(C_k\)

0.5–5 MBits

Transmit power of GN

1 W

Task size at GN

100–500 Kbits

Computation intensity
\(\theta ,\theta _{k}\)

900–1000 cycles/bit

Background noise
\(N_0\)

− 130 dBm

Channel gain at
\(d_0=1\) m

50 dB

UAV related parameters

Values


UAV blade power
\(P_0\)

158.76 W

Induced power
\(P_i\)

88.63 W

Blade speed
\(Q_{\mathrm{tip}}\)

120 m/s

Air density
\(\rho\)

1.225 kg/m
\(^3\)

Rotor disc area
A

1 m
\(^2\)

Hover induced velocity
\(V_0\)

4.03

Fuselage drag ratio
\(d_0\)

0.3

Fuselage rotor solidity
s

0.05

UAV maximum velocity
\(V_{\mathrm{max}}\)

15 m/s

UAV flight height
H

100 m

In Fig.
2, the trajectory of UAV w.r.t. different offloading modes is investigated, where 10 GNs are stochastically distributed and generate tasks with size ranging from 100 to 200 Kbits. The total slot numbers is
N = 20, the length of which is 0.5 s. Compared with computing and collaborative offloading mode, caching offloading mode authorizes UAV to get closer to GNs, since it does not need to process the offloaded data, gives UAV enough time to approach GNs and further gets better communication quality in return, which is beneficial to energy saving as illustrated in Fig.
5. Since collaborative offloading mode is the combination of the other two modes, it is observed that UAV can get relatively closer to GNs at that mode, hover at some points to render services, and further save energy just like that of caching offloading mode.
×
×
×
In Fig.
3, the trajectory of UAV with different final points are investigated, and the optimized UAV trajectories can vary according to its final points under the same environment settings. Notice that the first half trajectories for four different final points appear to overlap, and the flight path is a straight line when the UAV ends at the origin and point (100, 100), while the UAV made a slow arcs to GNs at the second half trajectory for the other two final points, i.e., (0, 100) and (100, 0). It’s mainly because UAV wants to fly closer to GNs for stronger channel gain, thus provides them with better services.
In Fig.
4, with the same environment settings, the trajectory of UAV w.r.t. different QoE requirement of timesensitive tasks are presented. Along with the decreasing QoE requirement of latency, the trajectory will gradually fly towards the GNs, since it has more time to approach GNs, and further offer better services as explained above. Notice that, when the QoE requirement of latency exceeds a certain limitation, i.e.,
\(\tau =0.5\) s, GNs can easily accomplish its task with the constraint of QoE requirement for latency, and thus the UAV will not fly closer to UE due to its purpose of energy saving. Besides, the trajectory (the red and pink lines) indicates that the UAV will hover at some points during the navigation to save its energy, rather than moving forward.
×
×
In Fig.
5, we investigate the performance of the total energy consumption of GNs for different schemes. Due to the different energy consumption and operation for computing and caching task, GNs at
computing offloading mode consume more energy compared with collaborative offloading and caching offloading schemes, since all the tasks are designed for computing that consumes much energy than caching. Meanwhile, the
caching offloading mode is the most energysaving since all the tasks are for caching, and thus consume less energy compared with the others. Furthermore,
collaborative offloading scheme not only meets the demands for different type of tasks, but also gets relatively satisfactory result on energy saving, since it can switch parts of tasks into caching.
In Fig.
6, we study the influence of the QoE requirements of timesensitive tasks at IoT devices on the total energy consumption for different numbers of GNs. With the growing number of GNs, the total energy consumption of GNs is increasing for all the schemes. On the observation of Fig.
6, the total energy consumption is reducing along with the decreasing QoE requirement of timesensitive tasks. This is because UAV has sufficient time to get closer to GNs with the decreasing requirement of latency, providing better communication access (i.e., better channel gain), and thus help to reduce the total energy consumption of GNs.
5 Conclusions
With the consideration of QoE requirement of timesensitive tasks, a UAVassisted multitask MEC networks is investigated, where UAV provides collaborative offloading services to GNs. We jointly optimize the trajectory, resource allocation of UAV, and offloading decisions of GNs to minimize the total energy consumption of GNs according to BCD method. Simulation results demonstrate that collaborative computing and caching offloading can effectively reduce the total energy consumption of GNs, while satisfying the QoE demands for different type of tasks.
Acknowledgements
We would like to thank the generous support of Engineering Research Center of Cyberspace, and the Key Laboratory in Software Engineering of Yunnan Province.
Competing interests
The authors declare that they have no competing interests.
Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit
http://creativecommons.org/licenses/by/4.0/.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Footnotes