main-content

## Swipe to navigate through the articles of this issue

01-12-2021 | Research | Issue 1/2021 Open Access

Journal:
EURASIP Journal on Wireless Communications and Networking > Issue 1/2021
Authors:
Wen-Tao Li, Mingxiong Zhao, Yu-Hui Wu, Jun-Jie Yu, Ling-Yan Bao, Huan Yang, Di Liu
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 e-health, 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 resource-limited 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 [ 48].
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 UAV-assisted 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) [ 1012]. 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.
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 computation-intensive components which can be offloaded to MEC servers to compute or store for follow-up 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 low-rate 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 [ 1419, 21, 22], but ignored the effectiveness of data caching. In the meantime, time-sensitivity 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 multi-task computation and caching offloading for UAV-enabled 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 time-sensitive tasks of GNs. The main contributions of this paper are summarized as follows:
• 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 UAV-assisted 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 three-dimensional 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
\begin{aligned} v[n]\triangleq \Vert \varvec{v}[n]\Vert =\frac{\Vert \varvec{q}[n+1] - \varvec{q}[n] \Vert }{\tau }, \end{aligned}
(1)
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}$$.
Assume that each IoT device has an energy-consuming and delay-sensitive 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, partition-oriented 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 1-bit of input data, $$l_k[n]\in [0,1]$$ is the proportion of $$s_k[n]$$ offloading to UAV, while the rest $$(1-l_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} (1-a_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}(1-a_k[n])(1-l_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$$.

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 time-sensitivity, 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 $$(1-l_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] (1-l_k[n]) s_k[n] \theta _k}{f_k}. \end{aligned}
(2)

It is assumed that the wireless channel between the UAV and the kth IoT device is dominated by line-of-sight 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
\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)
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
\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)
where $$P_k$$ denotes the transmit power of the kth IoT device, and $$N_0$$ is the noise power dense at the UAV.
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 MEC-integrated 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
\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)
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$$.

### 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 in-memory 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,
\begin{aligned} E_{k}^{\mathrm {exe}}[n] = a_k[n] \eta _k (1-l_k[n])s_k[n] \theta _k f_k^2, \end{aligned}
(6)
where $$\eta _k$$ represents the computation energy efficiency coefficient related to the processor’s chip. On the other hand, based on the energy-proportional model the local caching energy consumed for processing $$(1-l_k[n])s_k[n]$$ bits data at kth GN can be written as
\begin{aligned} E^{\mathrm {ca}}_k[n] = (1-a_k[n])(1-l_k[n])\omega _k^{ca}s_k[n], \end{aligned}
(7)
where $$\omega _k^{ca}$$ is the coefficient of caching power efficiency related to the GN caching hardware drives [ 2729]. With the help of ( 5), the transmission energy consumption at the kth IoT device is given as
\begin{aligned} E_{k}^{\mathrm {tran}}[n] = \frac{P_k l_k[n] s_k[n]}{r_k[n]}. \end{aligned}
(8)
In the end, the total energy consumption of kth GN during flight navigation can be written as follows,
\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
\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)
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
\begin{aligned} E_{\mathrm {ca}} = \omega _{\mathrm {ca}} \sum _{n=1}^{N} \sum _{k=1}^{K} (1-a_k[n]) l_k[n] s_k[n], \end{aligned}
(11)
where $$\omega _{\mathrm {ca}}$$ is the caching energy coefficient related to UAV storage hardware. Additionally, similar to [ 10, 12], the rotary-wing energy model is adopted for UAV propulsion energy consumption.
\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)
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.

### 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,
\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} (1-a_k[n]) l_k[n] s_k[n] \le C, \end{aligned}
(13c)
\begin{aligned}&\sum _{n=1}^N (1-a_k[n])(1-l_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)
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 long-time performance for GNs.

## 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,
\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)
which is still intractable due to the non-convexity of constraints ( 13e)–( 13g), as well as the objective function.
Motivated by [ 12, 17], the SCA technique is utilized to cope with the non-convexity 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
\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)
where constraint ( 15b) is still non-convex. To cope with the non-convexity, we derive the following inequalities by employing the first-order Taylor expansion with given points $$(o_i[n], v_i[n])$$ at the ith iteration,
\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)
where the right-hand 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 non-convex 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
\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^i-1 \right) ^2 }\right] , \end{aligned}
(17)
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
\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)
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
\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)
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.

### 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,
\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)
which is non-convex 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,
\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)
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 second-order 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].

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
\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)
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.

## 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
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.  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 time-sensitive 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.  6, we study the influence of the QoE requirements of time-sensitive 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 time-sensitive 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 time-sensitive tasks, a UAV-assisted multi-task 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.

## Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Footnotes
1
For simplicity, we use GNs instead of IoT devices in the following part.

2
The origin and destination points can be the same or different point(s).

3
In practice, the amount of output data from MEC server to the kth GN is usually much less than that of the input data, and thus the time consumed and the transmission energy for delivering the computed results are negligible [ 10].

## Our product recommendations

### Premium-Abo der Gesellschaft für Informatik

Sie erhalten uneingeschränkten Vollzugriff auf alle acht Fachgebiete von Springer Professional und damit auf über 45.000 Fachbücher und ca. 300 Fachzeitschriften.

Literature