1 Introduction

With the development of Internet of Things (IoT), an increasing number of IoT nodes will be deployed to monitor, sense, collect, and analyze enormous data timely for intelligent services [1]. Due to the limitations of both the production cost and size, most of IoT nodes are typically energy- and computation-constraint, which imposes high requirements on energy and computation resources [2, 3]. In order to address the above challenges, wireless-powered mobile edge computing (MEC) has been proposed by leveraging the ability of wireless power transfer [4] and MEC [5]. To be specific, in wireless-powered MEC, IoT nodes harvest energy from a dedicated energy source (ES) on demand and then use the harvested energy to support their local computation and data offloading. Accordingly, how to schedule communication and computational resources for energy harvesting (EH), data offloading and computation is vital to the achievable performance of wireless-powered MEC.

Until now, there are many investigations regarding binary or partial offloading-based resource allocation in wireless-powered MEC networks. In the binary offloading, the task bits of an IoT node are either locally computed or offloaded to the MEC server, while in the partial offloading, the task bits of an IoT node are split into two parts: one for local computation and the remaining for data offloading [3]. The authors of [6] studied the successful computation probability maximization problem in a wireless-powered MEC network with a single IoT node by jointly optimizing the binary offloading decision and the IoT node’s computation frequency and local computation time. The single IoT user scenario [6] was extended into multi-user wireless-powered MEC, where the authors maximized the weighted sum computation bits under the time-block [7] and time-varying [8] channels, respectively. Considering the partial offloading, the authors in [9] maximized the weighted sum computation bits of all the IoT nodes by jointly optimizing the beamforming of the ES, the IoT nodes’ computation frequencies and offloading time and the task bits for data offloading and local computation. By optimizing the same variables as [9], the authors in [10] studied the energy minimization problem while satisfying the data computation requirement of all IoT nodes.

The above works [6,7,8,9,10] assumed that all IoT nodes offload data bits to the MEC server via orthogonal multiple access (OMA). Recall that non-orthogonal multiple access (NOMA) achieves a better transmission performance than OMA in terms of spectrum and energy efficiencies. Recent works have integrated NOMA for data offloading into wireless-powered multi-user MEC and validated its superior performance compared to wireless-powered OMA-MEC. The author in [11] maximized the sum computation bits in a wireless-powered multi-user NOMA-MEC by jointly optimizing the binary offloading decision, local computation frequency, transmit power, EH and data offloading time of each IoT node. Considering the partial offloading in wireless-powered NOMA-MEC, the energy efficiency was maximized from the system centric [12] perspective. The authors in [13] considered a user cooperation enabled wireless-powered NOMA-MEC network and minimized the energy consumed by all the IoT nodes via jointly optimizing the IoT node’s EH time and computation frequency, the IoT node’s transmit power, and the tasks bits for local computation and offloading.

In the above works [6,7,8,9,10,11,12,13], the data offloading was achieved following the harvest-then-transmit protocol via active radios (ARs) that require power-hungry components such as oscillators [14, 15]. Due to the energy-causality constraint for each IoT node, it has to allocate more resources for EH in each transmission block, leaving a short time for AR based data offloading and limiting task offloading performance of each IoT node. In contrary to AR, backscatter communication (BackCom) is receiving much attention due to its extra-low power consumption and thus, has been considered for data offloading in wireless-powered MEC [16]. The key idea of BackCom is to allow an IoT node modulating and backscattering its information on the incident signal, resulting in an extra-low power consumption but with a lower transmission rate than AR [15]. To exploit the different tradeoffs between power consumption and transmission rate for AR and BackCom, hybrid AR-BackCom has been used for data offloading in wireless-powered MEC networks [17, 18]. The authors in [18] considered a hybrid AR-BackCom-based wireless-powered MEC and minimized the energy consumption of the ES by jointly optimizing the EH time, AR, and BackCom under the complete offloading where all the IoT nodes’ task bits are offloaded to the MEC server. Under the same scenario, the computation energy efficiency of all the IoT nodes was maximized [19]. Considering the partial offloading, the authors in [20] jointly optimized the time for AR, BackCom and EH, the IoTs’ transmit power for AR-based offloading, and the portions of task bits for local computation and offloading to maximize the weighted sum computation bits of all IoT nodes. Considering the same network and optimization variables as [20], the max-min computation energy efficiency among IoT nodes and the total delay for data offloading and computing of all IoT nodes were studied in [21] and [22], respectively.

These works [17,18,19,20,21,22] have validated that leveraging hybrid AR-BackCom for offloading is capable of improving the computational performance of wireless-powered MEC networks. We note that the previous works [6,7,8,9,10] have confirmed that employing NOMA for offloading achieves a better performance than OMA. However, such a advantage has not been exploited in hybrid AR-BackCom wireless-powered MEC since [17, 18, 20,21,22] only considered OMA for AR-based data offloading, and this motivates this work. Besides, this work also considers the limited computation capacity of the MEC server, which removes the ideal assumption that the MEC server’s computation capacity is unlimited in existing works and makes this work more practical.

In this paper, we propose a backscattered-assisted wireless-powered NOMA-MEC network that consists of one ES, multiple IoT nodes and one MEC server, and aim to develop a resource allocation scheme to maximize the total computation bits of all IoT nodes while considering the computation resource allocation at the MEC server. The main contributions are as listed below.

  • We formulate an optimization problem to maximize the total computation bits of all IoT nodes by jointly optimizing the EH time, BackCom time, and uplink NOMA time of the IoT node, the power reflection coefficient and the transmit power of each IoT node, the computing frequencies and time at both the MEC server and the IoT nodes. The formulated problem is non-convex and challenging to solve due to the following reasons. First, the optimization of the MEC server’s computation time and frequency introduces a min function in the objective function and more coupled optimization variables in both the objective function and constraints. Second, the optimization of the IoT node’s transmit power during uplink NOMA results in a difference of convex (DC) structure.

  • We first transform the original problem into an equivalent convex one and then propose an iterative algorithm to obtain the optimal solution. To be specific, a slack variable and the contradiction approach are introduced to remove the min function from the objective function and determine partial optimal solutions, respectively. Then, we employ an inequality transformation approach to address the DC structure and obtain a sub-problem with given parameters that are from the used inequality transformation approach. By doing so, the optimal solution can be obtained by solving the sub-problem and update the given parameters iteratively. Further, the sub-problem is transformed into a convex one by constructing a series of auxiliary variables to decouple the coupled variables. On this basis, an efficient iterative algorithm is developed for obtaining the optimal solution.

The remainder of the whole paper is organized as follows. The system model is clarified in Sect. 2. In Sect. 3, a system computation bits maximization problem for the backscattered-assisted wireless-powered NOMA-MEC network is formulated by jointly optimizing the computing frequencies and time of the MEC server and the IoT nodes, the EH time, the BackCom time, the uplink NOMA time, etc., and then, based on the contradiction approach, the inequality transformation approach and variable replacement, an efficient iterative algorithm is proposed to obtain the optimal solutions. Simulation results are presented in Sect. 4. The conclusion of this work can be found in Sect. 5.

2 Method

2.1 System model

In this work, we consider a backscatter-assisted wireless-powered NOMA-MEC network as shown in Fig. 1, where K IoT nodes harvest energy from energy signals transmitted by a nearly deployed ES and upload their tasks to the MEC server for computation as well as perform local computation. Each IoT node has separate EH, offloading and computing circuits so that the IoT node can compute tasks locally when offloading tasks or harvesting energy. Following [4,5,6], we assume that the consumed energy at each IoT node for task offloading and local computing is less than or equal to its harvested energy so as to avoid drawing energy from its battery. Following [7], we assume that each IoT node can adjust its computing frequency using the dynamic voltage scaling (DVS) technology. We assume that the data bits of each task are bit-wise independent so that the partial offloading scheme is employed at each IoT node to determine how many tasks should be processed locally/offloaded to the MEC server. Assume that the channels from the IoT nodes to the ES or the MEC server are quasi-static fading and remain static within one transmission block but vary among different blocks. Perfect channel state information (CSI) is assumed and available at the MEC server. On this basis, the MEC server can determine the optimal resource allocation scheme and feed it back to all the IoT nodes and the ES at the beginning of each transmission block. Following [6,7,8], all the devices in the considered network are assumed to be time synchronized.

Fig. 1
figure 1

The frame structure of the considered network

Let T denote the time duration of the whole transmission block. According to the behaviors of the IoT nodes, the transmission block can be divided into five phases. The first phase is the EH phase, where the ES broadcasts energy signals and all the IoT nodes operate in the EH mode. The second phase is called as the BackCom phase, in which all the IoT nodes take turn to offload their tasks via BackCom and the MEC server can receive the offloading tasks accordingly. The third phase is the uplink NOMA phase, where the ES keeps silent and all the IoT nodes offload tasks to the MEC server simultaneously via uplink NOMA. The fourth phase is the task execution phase. In this phase, all the IoT nodes stop offloading tasks, and the MEC server executes all the received computation tasks to obtain the computation results. These results will be broadcasted to all the IoT nodes in the fifth phase, namely the downloading phase. Following [17, 18, 20,21,22], we assume that the downloading time of the MEC server is negligible compared with the offloading time and the computing time since the computation results of the MEC server are usually just a few bits in some scenarios, and the transmit power of the MEC server is much larger than IoT nodes. Therefore, the downloading phase of each transmission block will be ignored hereafter.

2.2 EH phase

Let \(\tau _{\mathrm{e}}\) (\(0\le \tau _{\mathrm{e}} \le T\)) and \(P_{\mathrm{s}}\) denote the duration of the EH phase and the ES’s transmit power, respectively. This work considers a linear EH model by following the existing works, i.e., [7], where \(\eta\) (\(0<\eta <1\)) is the energy conversion efficiency and fixed as a constant. Then, the k-th IoT node’s harvested energy in this phase can be calculated as \(E^{\mathrm{h}}_k=\tau _{\mathrm{e}}\eta P_{\mathrm{s}}g_k\), where \(g_k\) is the channel power gain between the ES and the k-th IoT node, and \(k\in {{\mathcal {K}}}=\{1,2,...,K\}\).

2.3 BackCom phase

In order to avoid the mutual interference among different IoT nodes, the BackCom phase will be divided into K sub-phases. In each sub-phase, a specific IoT node performs task offloading via BackCom while the other IoT nodes perform EH. Let \(\rho _k\) (\(0\le \rho _k\le 1\)) be the power reflection coefficient of the k-th IoT node based on which the received signals at the k-th IoT node can be divided into two parts. In particular, a \(\rho _k\) portion of the received signals at the k-th IoT node will be used as the vehicle that carries the k-th IoT node’s information via advanced modulation schemes and then be backscattered to the MEC server for task offloading, while the others are flowed into the EH circuit for EH.

For backscattering, let \(t_{k}^{\mathrm{b}}\) denote the BackCom time of the k-th IoT node. Then, the offloading task bits at the k-th IoT node can be computed as

$$\begin{aligned} R_k^{\mathrm{b}}=t_{k}^{\mathrm{b}}W\log _2\left( 1 + \frac{{\xi {\rho _k}{P_{\mathrm{s}}}{g_k}{h_k}}}{{W{\sigma ^2}}}\right) , \end{aligned}$$
(1)

where W denotes the channel bandwidth, \(\xi\) represents the performance gap reflecting the real modulation [23, 24], \(h_k\) is the channel power gain between the MEC server and the k-th IoT node, and \(\sigma ^2\) denotes the noise power spectral density. In this work, the ES serves only as a RF power source, and the RF signal from the ES can be predetermined and known to the MEC server. By using the existing channel estimation methods, the MEC server can obtain the CSI of the ES-to-the MEC server link. Accordingly, the MEC server can remove the interference from the ES by performing successive interference cancellation (SIC).

For EH, both the backscatter IoT node and non-backscatter IoT nodes can perform EH during each sub-phase. Specifically, in the sub-phase \(t_{k}^{\mathrm{b}}\), the harvested energy of the k-th IoT node and the i-th (\(i\in {{\mathcal {K}}} \backslash k\)) IoT node are given by \(E_k^{\mathrm{b}}=t_{k}^{\mathrm{b}}\eta \left( 1-\rho _k\right) P_{\mathrm{s}}g_k\) and \(E_{k,i}^{\mathrm{b}}=t_{k}^{\mathrm{b}}\eta P_{\mathrm{s}}g_i\), respectively, where \(\eta\) is the energy harvesting efficiency [4]. On this basis, we can calculate the total harvested energy of the k-th IoT node at the end of the BackCom phase as

$$\begin{aligned} E_k^{\mathrm{tot}}&=E^{\mathrm{h}}_k+E_k^{\mathrm{b}}+\sum \limits _{i \in {{\mathcal {K}}},i \ne k} {E_{i,k}^{\mathrm{b}}} \\&=\eta {P_{\mathrm{s}}}{g_k}\left( \tau _{\mathrm{e}}+\sum \limits _{i = 1}^K {t_i^{\mathrm{b}}}\right) - t_k^{\mathrm{b}}\eta {\rho _k}{P_{\mathrm{s}}}{g_k}. \end{aligned}$$
(2)

As for the energy consumption in this phase, we assume a constant circuit power consumption for BackCom by following [20] and [21], where the energy consumption of BackCom is the product of the power consumption rate and the BackCom time. In particularly, let \(P_{{\mathrm{c}},k}\) denote the circuit power consumption for BackCom. Then, the energy consumption of the k-th IoT node in this phase is determined by \(P_{{\mathrm{c}},k}t_{k}^{\mathrm{b}}\).

2.4 Uplink NOMA phase

Let \(t_{\mathrm{a}}\) denote the duration of the uplink NOMA phase. Following [12], we assume that the channel gains between the IoT nodes and the MEC server are ranked in an descending order, i.e., \(h_{1} \ge h_{2} \ge \cdots \ge h_{K}\) and the MEC server adopts a fixed decoding order to decode the offloading tasks of each IoT node in this phase by means of SIC technology. Specifically, the MEC server decodes the information of the i-th IoT node first, subtracts it from the received composite signal and then, continues to decode the information from the \((i+1)\)-th IoT node, until the information from all the IoT nodes is decoded. Note that such a decoding order allows decoding the weakest IoT node’s information without interference, thus, maximizing the sum uplink offloading task bits. Including the decoding order in the joint optimization may further improve the system computation bits, while it is outside the scope of this work and will be studied in our future work. Denote \(p_k\) as the transmit power of the k-th IoT node in the uplink NOMA phase. Then, the achievable computation bits of the k-th IoT node in this phase is given by

$$\begin{aligned} R_k^{\mathrm{a}}\!=\! \left\{ {\begin{array}{*{20}{c}} \!\!\!\!W{t _{\mathrm{a}}}{{\log }_2}\left( \! {1 \!+\! \frac{{{p_k}{h_{k}}}}{{\sum \nolimits _{i = k + 1}^K {{p_i}{h_{i}}} \!+\! W{\sigma ^2}}}} \!\right) \!,{\mathrm{if}}\;k \le K \!-\! 1,\\ \!\!\!{W{t _{\mathrm{a}}}{{\log }_2}\left( {1 + \frac{{{p_K}{h_{K}}}}{{W{\sigma ^2}}}} \right) ,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\mathrm{if}}\;k = K.} \end{array}} \right. \end{aligned}$$
(3)

Accordingly, at the end of the uplink NOMA phase, the total achievable task bits offloaded by all the IoT nodes can be computed as

$$\begin{aligned} C_{\mathrm{off}}&=\sum \limits _{k = 1}^K {\left( {R_k^{\mathrm{b}} + R_k^{\mathrm{a}}} \right) }=W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{\sum \nolimits _{k = 1}^K {{p_k}{h_k}} }}{{W{\sigma ^2}}}} \right) \\&\quad + \sum \limits _{k = 1}^K {t_k^{\mathrm{b}}W{{\log }_2}\left( {1 + \frac{{\xi {\rho _k}{P_{\mathrm{s}}}{g_k}{h_k}}}{{W{\sigma ^2}}}} \right) } .\!\!\! \end{aligned}$$
(4)

2.5 Task execution phase

In this phase, the MEC server will execute all the received computation tasks. Here, we consider a limited computation capacity at the MEC server. That is to say, all the received tasks may not be computed within the task execution phase and the effective computation bits at the MEC server depends on both its computation capacity and received computation tasks. Let \(f_{\mathrm{m}}\) and \(t_{\mathrm{c}}\) denote the computing frequency of the MEC server and the duration of the task execution phase, respectively. Then, we can compute the MEC server’s computation capacity as \(C_{\mathrm{cc}}=\frac{{t_{\mathrm{c}}{f_{\mathrm{m}}}}}{{{C_{{\mathrm{cpu}}}}}}\), where \(C_{{\mathrm{cpu}}}\) is the number of CPU cycles required for computing one bit at the MEC server. On this basis, the effective computation bits at the MEC server, which are decided by the minimum between the received tasks and the computation capacity, are given by

$$\begin{aligned} C_{\mathrm{eff}}&=\min \left\{ C_{\mathrm{off}},C_{\mathrm{cc}}\right\} \\&=\min \bigg \{W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{\sum \nolimits _{k = 1}^K {{p_k}{h_k}} }}{{W{\sigma ^2}}}} \right) \\&\quad + \sum \limits _{k = 1}^K {t_k^{\mathrm{b}}W{{\log }_2}\left( {1 + \frac{{\xi {\rho _k}{P_{\mathrm{s}}}{g_k}{h_k}}}{{W{\sigma ^2}}}} \right) }, \frac{{t_{\mathrm{c}}{f_{\mathrm{m}}}}}{{{C_{{\mathrm{cpu}}}}}}\!\bigg \}\!.\!\! \end{aligned}$$
(5)

2.6 Local computation

For local computing, let \(\tau _k\) and \(f_k\) denote the computing frequency and time of the k-th IoT node, respectively. Then, the effective computation bits at the k-th IoT node can be computed as

$$\begin{aligned} C^{\mathrm{loc}}_k=\frac{{\tau _{k}{f_{k}}}}{{{C_{{\mathrm{cpu}},k}}}}, \end{aligned}$$
(6)

where \(C_{{\mathrm{cpu}},k}\) denotes the number of CPU cycles required for computing one bit at the k-th IoT node. For each IoT node, its harvested energy is used to support the local computation. Let \(\varepsilon _{k}\) denote the effective capacitance coefficient of the processor’s chip of the k-th IoT node. Then, the energy consumption for local computing at the k-th IoT node is given by [7]

$$\begin{aligned} E^{\mathrm{loc}}_k={\varepsilon _{k}}f_{k}^3\tau _k. \end{aligned}$$
(7)

3 Computation bits maximization

In this section, we aim to design an optimal resource allocation scheme to maximize the total computation bits for the backscatter-assisted wireless-powered NOMA-MEC network with the MEC server’s limited computation capacity considered. In particular, we first formulate a computation bits maximization problem by jointly optimizing the time allocation among EH, BackCom, uplink NOMA and task execution, the power reflection coefficient and the transmit power of each IoT node, the computing frequencies and time at both the MEC server and the IoT nodes, subject to multiple constraints, i.e., quality-of-service (QoS), energy causality, latency, etc. Then, we transform the formulated non-convex problem into a convex one by means of many convex tools and develop an efficient iterative algorithm to solve it.

3.1 Problem formulation

In order to formulate the optimization problem, we should create the optimization objective and several constraints (such as QoS and energy causality constraints) first. The optimization objective is to maximize the total computation bits of the considered network and thus, includes the computation bits of both the MEC server and IoT nodes. Accordingly, the optimization objective can be written as

$$\begin{aligned} C_{\mathrm{tot}}\left( {{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{t_{\mathrm{a}}},{\varvec{\rho }} ,\mathbf{p },\mathbf{f },{\varvec{\tau }} ,{t_{\mathrm{c}}},{f_{\mathrm{m}}}} \right) ={C_{{\mathrm{eff}}}} + \sum \limits _{k = 1}^K {C_k^{{\mathrm{loc}}}} , \end{aligned}$$
(8)

where \(\mathbf{t ^{\mathrm{b}}}=\left[ {t_1^{\mathrm{b}}, \ldots ,t_K^{\mathrm{b}}} \right]\), \({\varvec{\rho }}=\left[ {{\rho _1}, \ldots ,{\rho _K}} \right]\), \(\mathbf{p }=\left[ {{p_1}, \ldots ,{p_K}} \right]\), \(\mathbf{f }=\left[ {{f_1}, \ldots ,{f_K}} \right]\) and \({\varvec{\tau }}=\left[ {{\tau _1}, \ldots ,{\tau _K}} \right]\).

3.1.1 QoS constraint

This constraint is used to guarantee the minimum required computation task bits of each IoT node, which can be expressed as the computation bits of the k-th IoT node are not less than its minimum required computation task bits, denoted by \(L_{\min ,k}\). Due to the limitation of the computation capacity at the MEC sever, it is hard to characterize how many offloading tasks of each IoT node are executed by the MEC server. To solve this problem, we introduce an auxiliary variable \(\alpha _k\) (\(0\le \alpha _k\le 1\)) and use \(\alpha _kL_{\min ,k}\) to denote how many required computation bits should be offloaded and executed at the MEC server. On this basis, we can denote the QoS constraint of the k-th IoT node as the following three inequalities, i.e.,

$$\begin{aligned}R_k^{\mathrm{b}} + R_k^{\mathrm{a}}\ge {\alpha _k}{L_{\min ,k}},\quad \forall k, \end{aligned}$$
(9)
$$\begin{aligned}\sum \nolimits _{k = 1}^K {{\alpha _k}{L_{\min ,k}}} \le C_{\mathrm{cc}}, \end{aligned}$$
(10)
$$\begin{aligned}C^{\mathrm{loc}}_k \ge \left( {1 - {\alpha _k}} \right) {L_{\min ,k}},\quad \forall k, \end{aligned}$$
(11)

where (9) and (10) jointly ensure that the required computation bits offloaded by the k-th IoT node, \({\alpha _k}{L_{\min ,k}}\), can be computed successfully at the MEC server, while (11) is used to ensure that \(\left( {1 - {\alpha _k}} \right) {L_{\min ,k}}\) can be computed locally. Combining (9), (10) and (11), the QoS constraint of the k-th IoT can be guaranteed.

3.1.2 Energy-causality constraint

In order to avoid using the battery power of each IoT node and prolong their operation time, we consider the energy-causality constraint, which ensures that the energy consumption of each IoT node for offloading and computing is no more than its harvested energy within each transmission block. Accordingly, the energy-causality constraint of the k-th IoT node is given by

$$\begin{aligned} {P_{{\mathrm{c}},k}}t_k^{\mathrm{b}} + \left( {{p_k} + {p_{{\mathrm{c}},k}}} \right) t_{\mathrm{a}} + {\varepsilon _{k}}f_{k}^3\tau _k \le E_k^{{\mathrm{tot}}},\forall k, \end{aligned}$$
(12)

where \({p_{{\mathrm{c}},k}}\) denotes the circuit energy consumption of the k-th IoT node during the uplink NOMA phase.

3.1.3 Computation bits maximization problem formulation

Based on (8), (9), (10), (11) and (12), we can formulate the computation bits maximization problem as

$$\begin{aligned} \begin{array}{*{20}{l}} {{\mathbf{P }_1}:\;\mathop {\max }\limits _{{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{{{t}}_{\mathrm{a}}},{\varvec{\rho }} ,\mathbf{p },\mathbf{f },{\varvec{\tau }} ,{t_{\mathrm{c}}},{f_{\mathrm{m}}},{\varvec{\alpha }} } {C_{{\mathrm{tot}}}}\left( {{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{t_{\mathrm{a}}},{\varvec{\rho }} ,\mathbf{p },\mathbf{f },{\varvec{\tau }} ,{t_{\mathrm{c}}},{f_{\mathrm{m}}}} \right) }\\ {\begin{array}{*{20}{l}} {{\mathrm{s}}.{\mathrm{t}}.\;{\mathrm{C1}}:(9) - (11),}\\ {\;\;\;\;\;\;{\mathrm{C}}2:(12),} \end{array}}\\ {\begin{array}{*{20}{l}} {\;\;\;\;\;\;{\mathrm{C}}3:\;{\tau _{\mathrm{e}}}\! + \!\sum \nolimits _{k = 1}^K { {t_k^{\mathrm{b}}\! } \! + t_{\mathrm{a}}}+ \!{t_{\mathrm{c}}} \le T,{\tau _{\mathrm{e}}}\!,\!t_k^{\mathrm{b}},t_{\mathrm{a}},{t_{\mathrm{c}}} \ge 0,\forall k,}\\ {\;\;\;\;\;\;{\mathrm{C}}4:0 \le {\tau _k} \le T,\;\forall k,} \end{array}}\\ {\begin{array}{*{20}{l}} {\;\;\;\;\;\;{\mathrm{C}}5:\;0 \le {f_{\mathrm{m}}} \le {f_{\max }},0 \le {f_k} \le f_k^{\max },\;\forall k}\\ {\begin{array}{*{20}{l}} {\;\;\;\;{\mathrm{C}}6:0 \le {\rho _k} \le 1,\forall k,}\\ {\;\;\;\;{\mathrm{C}}7:0 \le {\alpha _k} \le 1,\forall k,}\\ {\;\;\;\;{\mathrm{C}}8:{p_k} \ge 0,\forall k,} \end{array}} \end{array}} \end{array} \end{aligned}$$

where \({\varvec{\alpha }}=[\alpha _1,\ldots ,\alpha _K]\), and \(f_k^{\mathrm{max}}\) and \(f_{\mathrm{max}}\) are the maximum computing frequencies at the k-th IoT node and the MEC server, respectively.

In \({\mathbf{P }_\mathbf{1 }}\), \(\mathrm {C}1\) and \(\mathrm {C}2\) are the QoS constraint and the energy-causality constraint for each IoT node. \(\mathrm {C}3\) and \(\mathrm {C}4\) are the latency constraints which guarantee that all the computation tasks should be executed within the transmission block. \(\mathrm {C}5\) demonstrates the limitation of the computation capacity at both the MEC server and the IoT nodes. From \({\mathbf{P }_\mathbf{1 }}\), we can observe that \({\mathbf{P }_\mathbf{1 }}\) is a highly non-convex problem due to the following three reasons. Firstly, the objective function is very complicated due to the min function brought by the MEC server’s limited computation capacity and coupled variables. Secondly, \(\mathrm {C}1\) is highly non-convex since the mutual interference among different IoT nodes in the uplink NOMA phase exists, leading to coupled relationships among several variables. Note that these coupled relationships cannot be tackled by using existing convex tools, i.e., variable substitution, etc., resulting in a new challenge to solve \({\mathbf{P }_\mathbf{1 }}\). Thirdly, \(\mathrm {C}2\) is a non-convex constraint due to the existence of coupled variables, i.e., \(f_k\) and \(\tau _k\), \(\rho _k\) and \(t_k^{\mathrm{b}}\), etc.

In order to solve \({\mathbf{P }_\mathbf{1 }}\), we will explore the closed-form expressions for parts of the optimal solutions first to simplify the original non-convex problem. Then, we transform the simplified but still non-convex problem into a more traceable problem and propose an efficient iterative algorithm to obtain the solutions.

3.2 Problem transformation and solution

To simplify the objective function in \({\mathbf{P }_\mathbf{1 }}\), we introduce a slack variable \(\lambda\) to remove the min function by letting \(\lambda = \min \left\{ {{C_{{\mathrm{off}}}},{C_{{\mathrm{cc}}}}} \right\}\). Then, \({\mathbf{P }_\mathbf{1 }}\) can be transformed as

$$\begin{aligned} \begin{array}{*{20}{l}} {{\mathbf{P }_\mathbf{2 }}:\;\mathop {\max }\limits _{{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{{{t}}_{\mathrm{a}}},{\varvec{\rho }} ,\mathbf{p },\mathbf{f },{\varvec{\tau }} ,{t_{\mathrm{c}}},{f_{\mathrm{m}}},{\varvec{\alpha }} ,\lambda } \lambda + \sum \limits _{k = 1}^K {C_k^{{\mathrm{loc}}}} }\\ {\begin{array}{*{20}{l}} {{\mathrm{s}}.{\mathrm{t}}.\;{\mathrm{C1 - C8}},}\\ {\;\;\;\;\;\;{\mathrm{C9}}:{C_{{\mathrm{off}}}} \ge \lambda ,} \end{array}}\\ {\;\;\;\;\;\;\;\;{\mathrm{C10}}:{C_{{\mathrm{cc}}}} \ge \lambda .} \end{array} \end{aligned}$$

In order further simplify \({\mathbf{P }_\mathbf{2 }}\), the following proposition is provided to determine the optimal computing frequency of the MEC server \(f^*_{\mathrm{m}}\) and the optimal computing time of the k-th IoT node \(\tau ^*_{k}\).

Proposition 1

In order to achieve the maximum computation bits of the considered network, the MEC server should use its maximum allowed computing frequency to execute the received tasks and each IoT node will perform local computing during the whole transmission block, namely \(f^*_{\mathrm{m}}=f_{\max }\) and \(\tau ^*_{k}=T\).

Proof

Please see “Appendix A”. \(\square\)

Based on Proposition 1, we substitute \(f_{\mathrm{m}}=f_{\max }\) and \(\tau _{k}=T\) into \({\mathbf{P }_\mathbf{2 }}\) and \({\mathbf{P }_\mathbf{2 }}\) can be rewritten as

$$\begin{aligned} \begin{array}{*{20}{l}} {\mathbf{P }_3}:\mathop {\max }\limits _{{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{{{t}}_{\mathrm{a}}},{\varvec{\rho }} ,\mathbf{p },\mathbf{f },{t_{\mathrm{c}}},{\varvec{\alpha }} ,\lambda } \lambda + \sum \nolimits _{k = 1}^K {\frac{{{f_k}T}}{{{C_{{\mathrm{cpu}},k}}}}} \\ {\;\;\mathrm {s}}.{\mathrm{t}}.{\mathrm{C}}1^{\prime}\!\!:(9),\sum \nolimits _{k = 1}^K {{\alpha _k}{L_{\min ,k}}} \le \frac{{{t_{\mathrm{c}}}{f_{{\mathrm{max}}}}}}{{{C_{{\mathrm{cpu}}}}}},\;\;\;\;\;\;\;\;\\ \;\;\;\;\;\;\;\frac{{{f_k}T}}{{{C_{{\mathrm{cpu}},k}}}} \ge \left( {1 - {\alpha _k}} \right) {L_{\min ,k}},\forall k,\\ {\;\;\;\;\;\;\;\mathrm {C2}}^{\prime}:{P_{{\mathrm{c}},k}}t_k^{\mathrm{b}} \!+\! \left( {{p_k}\! + \! {p_{{\mathrm{c}},k}}} \right) {t_{\mathrm{a}}}\! +\! {\varepsilon _k}f_k^3T \le E_k^{{\mathrm{tot}}},\forall k,\\ {\;\;\;\;\;\;\;\mathrm {C3,C5}}^{\prime}:0 \le {f_k} \le f_k^{\max },\;\forall k,\\ \;\;\;\;\;\;\;{\mathrm{C6 - C9,C10}}^{\prime}:\frac{{{t_{\mathrm{c}}}{f_{{\mathrm{max}}}}}}{{{C_{{\mathrm{cpu}}}}}} \ge \lambda . \end{array} \end{aligned}$$

Although \({\mathbf{P }_\mathbf{3 }}\) is simplified, it is still non-convex due to the non-convex constraints caused by the coupled variables. To tackle this problem, we introduce the following auxiliary variables, i.e., \(\phi _k=\rho _kt_k^{\mathrm{b}}\) and \(P_k=t_{\mathrm{a}}p_k\), into \({\mathbf{P }_3}\) and then, we have \({\mathbf{P }_4}\), given as

$$\begin{aligned} \begin{array}{*{20}{l}} {\mathbf{P }_4}:\mathop {\max }\limits _{{\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{{{t}}_{\mathrm{a}}},{\varvec{\phi }} ,\mathbf{P },\mathbf{f },{t_{\mathrm{c}}},\alpha ,\lambda } \lambda + \sum \limits _{k = 1}^K {\frac{{{f_k}T}}{{{C_{{\mathrm{cpu}},k}}}}} \\ {\;\;\mathrm {s}}.{\mathrm{t}}.{\mathrm{C1}}^{\prime\prime}:\left\{ \begin{array}{l} {F_k}\left( {t_k^{\mathrm{b}},{\phi _k}} \right) + F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right) \ge {\alpha _k}{L_{\min ,k}},{\mathrm{if}}\;k \le K - 1,\\ {F_K}\left( {t_K^{\mathrm{b}},{\phi _K}} \right) + F_K^{\mathrm{N}}\left( {{P_K},{t_{\mathrm{a}}}} \right) \ge {\alpha _K}{L_{\min ,K}},\;\;{\mathrm{if}}\;k = K \end{array} \right. \\ \;\;\;\;\;\;\;\sum \limits _{k = 1}^K {{\alpha _k}{L_{\min ,k}}} \le \frac{{{t_{\mathrm{c}}}{f_{{\mathrm{max}}}}}}{{{C_{{\mathrm{cpu}}}}}},\frac{{{f_k}T}}{{{C_{{\mathrm{cpu}},k}}}} \ge \left( {1 - {\alpha _k}} \right) {L_{\min ,k}},\forall k,\\ {\;\;\;\;\;\;\;\mathrm {C2}}^{\prime\prime}:{P_{{\mathrm{c}},k}}t_k^{\mathrm{b}} + \left( {{P_k} + {p_{{\mathrm{c}},k}}{t_{\mathrm{a}}}} \right) + {\varepsilon _k}f_k^3T \le \eta {P_{\mathrm{s}}}{g_k}\left( {{\tau _{\mathrm{e}}} + \sum \limits _{i = 1}^K {t_i^{\mathrm{b}}} } \right) - \eta {\phi _k}{P_{\mathrm{s}}}{g_k},\forall k,\\ \quad{\mathrm{C3,C5}}^{\prime},{\mathrm{C7,C10}}^{\prime},{\mathrm{C6}}^{\prime}{:}0 \le {\phi _k} \le t_k^{\mathrm{b}},\forall k,{\mathrm{C8}}^{\prime}:{P_k} \ge 0,\forall k,\\ {\;\;\;\;\;\;\;\mathrm {C9}}^{\prime}:W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{\sum \nolimits _{k = 1}^K {{P_k}{h_k}} }}{{{t_{\mathrm{a}}}W{\sigma ^2}}}} \right) + \sum \limits _{k = 1}^K {{F_k}\left( {t_k^{\mathrm{b}},{\phi _k}} \right) } \ge \lambda , \end{array} \end{aligned}$$

where \({\varvec{\phi }}=[\phi _1,\ldots ,\phi _K]\), \(\mathbf{P }=[P_1,\ldots ,P_K]\), \({F_k}\left( {t_k^{\mathrm{b}},{\phi _k}} \right) = t_k^{\mathrm{b}}W{\log _2}\left( {1 + \frac{{\xi {\phi _k}{P_{\mathrm{s}}}{g_k}{h_k}}}{{t_k^{\mathrm{b}}W{\sigma ^2}}}} \right)\) with \(k\le K\), \(F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right) = W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{{P_k}{h_k}}}{{\sum \limits _{i = k + 1}^K {{P_i}{h_i}} + {t_{\mathrm{a}}}W{\sigma ^2}}}} \right)\) with \(k\le K-1\) and \(F_K^{\mathrm{N}}\left( {{P_K},{t_{\mathrm{a}}}} \right) = W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{{P_K}{h_K}}}{{{t_{\mathrm{a}}}W{\sigma ^2}}}} \right)\).

Proposition 2

In \({\mathbf{P }_4}\), both the objective function and constraints except \({\mathrm{C1}}^{\prime\prime}\) are convex.

Proof

Please see “Appendix B”. \(\square\)

According to Proposition 2, it can be observed that \({\mathbf{P }_4}\) is not convex due to the fact that \({\mathrm{C1}}^{\prime\prime}\) is non-convex. By observing \({\mathrm{C1}}^{\prime\prime}\), we find that the co-channel interference caused by the uplink NOMA makes \(F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right)\) jointly non-concave with respect to \(\left\{ {{P_k}} \right\} _{k = 1}^{K - 1}\) and \({t_{\mathrm{a}}}\), leading to a non-convex \({\mathrm{C1}}^{\prime\prime}\).

In the following part, we aim to deal with the non-convexity of \({\mathrm{C1}}^{\prime\prime}\). From \(F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right)\), we can see that the main difficulty comes from the DC structure. To address this problem, we introduce a specific inequality to relax \(F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right)\). Specifically, we first replace \(F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right)\) with its low bound based on the above inequality and then, obtain a sub-problem with given parameters which are from the used inequality. Compared to the problem \({\mathbf{P }_4}\), the sub-problem is more traceable and can be solved by means of the existing convex tools. On this basis, we can develop an efficient iterative algorithm to solve \({\mathbf{P }_4}\), where in each iteration, we just need to solve the sub-problem with given parameters instead of \({\mathbf{P }_4}\). When we achieve the optimal solution to the sub-problem with given parameters, we can update the parameters of the inequality based on the achieved solution and repeat the above steps until the lower bound is tight.

The following theorem [25] provides an inequality to relax the function with the DC structure.

Theorem 1

For \(\theta , {{\tilde{\theta }} }>0\), we have the following inequality: \(\log _2 \left( {1 + \theta } \right) \ge \varpi \log _2 \left( \theta \right) + \mu\) with the constant parameters \(\varpi = \frac{{{\tilde{\theta }} }}{{1 + {\tilde{\theta }} }}\) and \(\mu = \log _2 \left( {1 + {\tilde{\theta }} } \right) - \varpi \log _2 \left( {{\tilde{\theta }} } \right)\), where the lower bound is tight at \({\tilde{\theta }}=\theta\).

According to Theorem 1, we have the following inequality

$$\begin{aligned}&F_k^{\mathrm{N}}\left( {\mathbf{P },{t_{\mathrm{a}}}} \right) = W{t_{\mathrm{a}}}{\log _2}\left( {1 + \frac{{{P_k}{h_k}}}{{\sum \nolimits _{i = k + 1}^K {{P_i}{h_i}} + {t_{\mathrm{a}}}W{\sigma ^2}}}} \right) \\&\quad \ge W{t_{\mathrm{a}}}\left( {{\varpi _k}{{\log }_2}\left( {\frac{{{P_k}{h_k}}}{{\sum \nolimits _{i = k + 1}^K {{P_i}{h_i}} + {t_{\mathrm{a}}}W{\sigma ^2}}}} \right) + {\mu _k}} \right) ,k\le K, \end{aligned}$$
(13)

where \(\varpi _k\) and \(\mu _k\) (\(k\le K\)) are given parameters in one iteration and decided by the solution obtained in the previous iteration. For example, let \(\bigg \{ \tau _{\mathrm{e}}^{(i)},\left\{ {t_k^{{\mathrm{b}}(i)}} \right\} _{k = 1}^K,t_{\mathrm{a}}^{(i)},\left\{ {\phi _k^{(i)}} \right\} _{k = 1}^K,\left\{ {P_k^{(i)}} \right\} _{k = 1}^K,\left\{ {f_k^{(i)}} \right\} _{k = 1}^K,\) \(t_{\mathrm{c}}^{(i)},\left\{ {\alpha _k^{(i)}} \right\} _{k = 1}^K,{\lambda ^{(i)}} \bigg \}\) denote the obtained solution in the i-th iteration. Then, in the \(i+1\)-th iteration, the parameters at the k-th IoT node, \(\varpi ^{(i+1)}_k\) and \(\mu ^{(i+1)}_k\), can be updated as

$$\begin{aligned}&\varpi _k^{(i+1)} = \frac{{P_k^{\left( i \right) }{h_k}}}{{\sum \nolimits _{j = k}^K {P_j^{\left( i \right) }{h_j}} + t_{\mathrm{a}}^{\left( i \right) }W{\sigma ^2}}}, \end{aligned}$$
(14)
$$\begin{aligned} \mu _k^{\left( i+1 \right) }&= {\log _2}\left( {1 + \frac{{P_k^{\left( i \right) }{h_k}}}{{\sum \nolimits _{j = k + 1}^K {P_j^{\left( i \right) }{h_j}} + t_{\mathrm{a}}^{\left( i \right) }W{\sigma ^2}}}} \right) \\&\quad - \varpi _k^{\left( i \right) }{\log _2}\left( {\frac{{P_k^{\left( i \right) }{h_k}}}{{\sum \nolimits _{j = k + 1}^K {P_j^{\left( i \right) }{h_j}} + t_{\mathrm{a}}^{\left( i \right) }W{\sigma ^2}}}} \right) . \end{aligned}$$
(15)

Based on (13), (18) and (19), \({\mathbf{P }_4}\) can be relaxed as the sub-problem in the \(i+1\)-th iteration, given by

$$\begin{aligned} \begin{array}{*{20}{l}} {\mathbf{P }_5}:\mathop {\max }\limits _{\begin{array}{c} \scriptstyle \tau _{\mathrm{e}}^{(i + 1)},\left\{ {t_k^{{\mathrm{b}}(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{a}}^{(i + 1)},\left\{ {\phi _k^{(i + 1)}} \right\} _{k = 1}^K,\\ \scriptstyle \left\{ {P_k^{(i + 1)}} \right\} _{k = 1}^K,\left\{ {f_k^{(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{c}}^{(i + 1)},\left\{ {\alpha _k^{(i + 1)}} \right\} _{k = 1}^K,{\lambda ^{(i + 1)}} \end{array}} \lambda ^{(i+1)} + \sum \limits _{k = 1}^K {\frac{{f_k^{(i + 1)}T}}{{{C_{{\mathrm{cpu}},k}}}}} \\ {\;\;\mathrm {s}}.{\mathrm{t}}.{\mathrm{C1}}^{\prime\prime\prime}:\left\{ {\begin{array}{*{20}{l}} \!\!\!\!{F_k}\left( {t_k^{{\mathrm{b}}(i + 1)}\!,\!\phi _k^{(i + 1)}} \right) \!+\! W{t_{\mathrm{a}}}\left( {\varpi _k^{(i + 1)}{{\log }_2}\left( {\frac{{P_k^{(i + 1)}{h_k}}}{{\sum \limits _{j = k + 1}^K {P_j^{(i + 1)}{h_j}} + t_{\mathrm{a}}^{(i + 1)}W{\sigma ^2}}}} \right) \! + \!\mu _k^{(i + 1)}} \right) \\ \ge \alpha _k^{(i + 1)}{L_{\min ,k}},{\mathrm{if}}\;k \le K\! - \!1,\\ {{F_K}\left( {t_K^{{\mathrm{b}}(i + 1)},\phi _K^{(i + 1)}} \right) + F_K^{\mathrm{N}}\left( {P_K^{(i + 1)},t_{\mathrm{a}}^{(i + 1)}} \right) \ge \alpha _K^{(i + 1)}{L_{\min ,K}},\;\;{\mathrm{if}}\;k = K} \end{array}} \right. \\ \;\;\;\;\;\;\;\;\sum \limits _{k = 1}^K {\alpha _k^{(i + 1)}{L_{\min ,k}}} \le \frac{{t_{\mathrm{c}}^{(i + 1)}{f_{{\mathrm{max}}}}}}{{{C_{{\mathrm{cpu}}}}}},\frac{{f_k^{(i + 1)}T}}{{{C_{{\mathrm{cpu}},k}}}} \ge \left( {1 - \alpha _k^{(i + 1)}} \right) {L_{\min ,k}},\forall k,\\ \quad {\mathrm {C2}}^{\prime\prime\prime},{\mathrm{C3}}^{\prime},{\mathrm{C5}}^{\prime\prime},{\mathrm{C6}}^{\prime\prime},{\mathrm{C7}}^{\prime},{\mathrm{C8}}^{\prime\prime},{\mathrm{C9}}^{\prime\prime},{\mathrm{C10}}^{\prime\prime}{,} \end{array} \end{aligned}$$

where \({\mathrm{C2}}^{\prime\prime\prime},{\mathrm{C3}}^{\prime},{\mathrm{C5}}^{\prime\prime},{\mathrm{C6}}^{\prime\prime},{\mathrm{C7}}^{\prime},{\mathrm{C8}}^{\prime\prime},{\mathrm{C9}}^{\prime\prime}\) and \({\mathrm{C10}}^{\prime\prime}\) are transformed from \({\mathrm{C2}}^{\prime\prime},{\mathrm{C3}},\) \({\mathrm{C5}}^{\prime},{\mathrm{C6}}^{\prime},{\mathrm{C7}},{\mathrm{C8}}^{\prime},{\mathrm{C9}}^{\prime}\) and \({\mathrm{C10}}^{\prime}\) by replacing \(\left\{ {\tau _{\mathrm{e}}},{\mathbf{t }^{\mathrm{b}}},{{{t}}_{\mathrm{a}}},{\varvec{\phi }} ,\mathbf{P },\mathbf{f },{t_{\mathrm{c}}},\alpha ,\lambda \right\}\) with the following term, given by

$$\begin{aligned} \begin{array}{l} \{ \tau _{\mathrm{e}}^{(i + 1)},\left\{ {t_k^{{\mathrm{b}}(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{a}}^{(i + 1)},\left\{ {\phi _k^{(i + 1)}} \right\} _{k = 1}^K,\left\{ {P_k^{(i + 1)}} \right\} _{k = 1}^K\\ ,\left\{ {f_k^{(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{c}}^{(i + 1)},\left\{ {\alpha _k^{(i + 1)}} \right\} _{k = 1}^K,{\lambda ^{(i + 1)}}\} \end{array}. \end{aligned}$$

As for \({\mathbf{P }_5}\), it is still non-convex due to the following non-concave function, given as

$$\begin{aligned} W{t_{\mathrm{a}}}\left( {\varpi _k^{(i + 1)}{{\log }_2}\left( {\frac{{P_k^{(i + 1)}{h_k}}}{{\sum \nolimits _{j = k + 1}^K {P_j^{(i + 1)}{h_j}} + t_{\mathrm{a}}^{(i + 1)}W{\sigma ^2}}}} \right) + \mu _k^{(i + 1)}} \right) . \end{aligned}$$

Thus, we further introduce the following auxiliary variables \({x^{(i+1)}_k} = {t^{(i+1)}_{\mathrm{a}}}{\log _2}\left( {\frac{{{P^{(i+1)}_k}}}{{{t^{(i+1)}_{\mathrm{a}}}}}} \right)\), \(k \le K\) into \({\mathbf{P }_5}\), and we have \({P^{(i+1)}_k} = {t^{(i+1)}_{\mathrm{a}}}{2^{\frac{{{x^{(i+1)}_k}}}{{{t^{(i+1)}_{\mathrm{a}}}}}}},k \le K\). Substituting \({P^{(i+1)}_k} = {t^{(i+1)}_{\mathrm{a}}}{2^{\frac{{{x^{(i+1)}_k}}}{{{t^{(i+1)}_{\mathrm{a}}}}}}},k \le K\) into \({\mathbf{P }_5}\), \({\mathbf{P }_5}\) can be transformed into

$$\begin{aligned} \begin{array}{*{20}{l}} \!\!\!\!\!\!{{\mathbf{P }_6}:\mathop {\max }\limits _{\begin{array}{c} \scriptstyle \tau _{\mathrm{e}}^{(i + 1)},\left\{ {t_k^{{\mathrm{b}}(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{a}}^{(i + 1)},\left\{ {\phi _k^{(i + 1)}} \right\} _{k = 1}^K,\\ \scriptstyle \left\{ {x_k^{(i + 1)}} \right\} _{k = 1}^K,\left\{ {f_k^{(i + 1)}} \right\} _{k = 1}^K,t_{\mathrm{c}}^{(i + 1)},\left\{ {\alpha _k^{(i + 1)}} \right\} _{k = 1}^K,{\lambda ^{(i + 1)}} \end{array}} {\lambda ^{\left( {i + 1} \right) }} + \sum \limits _{k = 1}^K {\frac{{f_k^{(i + 1)}T}}{{{C_{{\mathrm{cpu}},k}}}}} }\\ \!\!\!\!\!{{\mathrm{s}}.{\mathrm{t}}.{\mathrm{C1}}^{\prime\prime\prime\prime}:\left\{ {\begin{array}{*{20}{l}} {{F_k}\left( {t_k^{{\mathrm{b}}(i + 1)},\phi _k^{(i + 1)}} \right) + F_k^{\mathrm{T}}\left( {t_{\mathrm{a}}^{(i + 1)},\{x_{ii}^{(i + 1)}\}_{ii=k}^K} \right) \ge \alpha _k^{(i + 1)}{L_{\min ,k}},{\mathrm{if}}\;k \le K - 1,}\\ {{F_K}\left( {t_K^{{\mathrm{b}}(i + 1)},\phi _K^{(i + 1)}} \right) + F_K^{\mathrm{NT}}\left( {x_K^{(i + 1)},t_{\mathrm{a}}^{(i + 1)}} \right) \ge \alpha _K^{(i + 1)}{L_{\min ,K}},\;\;{\mathrm{if}}\;k = K} \end{array}} \right. }\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{\sum \limits _{k = 1}^K {\alpha _k^{(i + 1)}{L_{\min ,k}}} \le \frac{{t_{\mathrm{c}}^{(i + 1)}{f_{{\mathrm{max}}}}}}{{{C_{{\mathrm{cpu}}}}}},\frac{{f_k^{(i + 1)}T}}{{{C_{{\mathrm{cpu}},k}}}} \ge \left( {1 - \alpha _k^{(i + 1)}} \right) {L_{\min ,k}},\forall k,}\\ \;\;{\mathrm{C2:}}^{\prime\prime\prime\prime} \begin{array}{l} {P_{{\mathrm{c}},k}}t_k^{{\mathrm{b}}(i + 1)} + \left( {t_{\mathrm{a}}^{(i + 1)}{2^{\frac{{x_k^{(i + 1)}}}{{t_{\mathrm{a}}^{(i + 1)}}}}} + {p_{{\mathrm{c}},k}}t_{\mathrm{a}}^{(i + 1)}} \right) + {\varepsilon _k}{\left( {f_k^{(i + 1)}} \right) ^3}T\\ \le \eta {P_{\mathrm{s}}}{g_k}\left( {\tau _{\mathrm{e}}^{(i + 1)} + \sum \limits _{i = 1}^K {t_i^{{\mathrm{b}}(i + 1)}} } \right) - \eta \phi _k^{(i + 1)}{P_{\mathrm{s}}}{g_k},\forall k, \end{array} \\ \;\;{\mathrm{C3}}^{\prime},{\mathrm{C5}}^{\prime\prime},{\mathrm{C6}}^{\prime\prime},{\mathrm{C7}}^{\prime},{\mathrm{C10}}^{\prime\prime},\\ \;\;{\mathrm{C9}}^{\prime\prime\prime}:\sum \limits _{k = 1}^{K - 1} {F_k^{\mathrm{T}}\left( {t_{\mathrm{a}}^{(i + 1)},x_k^{(i + 1)}} \right) } + F_K^{\mathrm{NT}}\left( {x_K^{(i + 1)},t_{\mathrm{a}}^{(i + 1)}} \right) + \sum \limits _{k = 1}^K {{F_k}\left( {t_i^{{\mathrm{b}}(i + 1)},\phi _k^{(i + 1)}} \right) } \ge {\lambda ^{\left( {i + 1} \right) }}, \end{array} \end{aligned}$$

where

$$\begin{aligned} F_k^{\mathrm{T}}\left( {t_{\mathrm{a}}^{(i + 1)},\{x_{ii}^{(i + 1)}\}_{ii=k}^{K}} \right)&=\bigg [ t_{\mathrm{a}}^{(i + 1)}{{\log }_2}{h_k} + x_k^{(i + 1)} - t_{\mathrm{a}}^{(i + 1)}{{\log }_2}\bigg ( {\sum \limits _{j = k + 1}^K {{2^{\frac{{x_j^{(i + 1)}}}{{t_{\mathrm{a}}^{(i + 1)}}}}}{h_j}} + W{\sigma ^2}} \bigg ) \bigg ] \\&\quad \times W\varpi _k^{(i + 1)} + Wt_{\mathrm{a}}^{(i + 1)} \mu _k^{(i + 1)} \end{aligned}$$

with \(k\le K-1\) and

$$\begin{aligned} F_K^{\mathrm{NT}}\left( {x_K^{(i + 1)},t_{\mathrm{a}}^{(i + 1)}} \right) =\varpi _K^{(i + 1)}W\left( {t_{\mathrm{a}}^{(i + 1)}{{\log }_2}{h_K} - t_{\mathrm{a}}^{(i + 1)}{{\log }_2}\left( {W{\sigma ^2}} \right) + x_K^{(i + 1)}} \right) + \mu _K^{(i + 1)}Wt_{\mathrm{a}}^{(i + 1)} \end{aligned}$$

with \(k=K\).

Proposition 3

\({\mathbf{P }_6}\) is a convex problem, which can be solved by the existing convex tools.

Proof

Please see “Appendix C”. \(\square\)

3.3 Design of the iterative algorithm

In this subsection, we provide an efficient iterative algorithm to solve \({\mathbf{P }_4}\), which is shown in Algorithm 1 at the top of the next page. Specifically, in the \(i+1\)-th iteration, we should solve \(\mathbf{P} _6\) with given \(\varpi _k^{(i+1)}\) and \(\mu _k^{(i+1)}\), \(\forall k\) and obtain its optimal solution, denoted by \(\bigg \{ \tau _{\mathrm{e}}^{(i+1)},\left\{ {t_k^{{\mathrm{b}}(i+1)}} \right\} _{k = 1}^K,t_{\mathrm{a}}^{(i+1)},\) \(\left\{ {\phi _k^{(i+1)}} \right\} _{k = 1}^K,\left\{ {x_k^{(i+1)}} \right\} _{k = 1}^{K},\) \(\left\{ {f_k^{(i+1)}} \right\} _{k = 1}^K,t_{\mathrm{c}}^{(i+1)},\left\{ {\alpha _k^{(i+1)}} \right\} _{k = 1}^K,{\lambda ^{(i+1)}} \bigg \}\). On this basis, the IoT nodes’s optimal transmit powers \(\{p^*_k\}_{k=1}^K\), reflection coefficients \(\{\rho ^*_k\}_{k=1}^K\) and computing frequencies \(\left\{ {f_k^*} \right\} _{k = 1}^K\) as well as the optimal time allocation at both IoT nodes and the MEC server \(\tau _{\mathrm{e}}^*,\left\{ {t_k^{{\mathrm{b*}}}} \right\} _{k = 1}^K,t_{\mathrm{a}}^*,t_{\mathrm{c}}^*\) are obtained. Then, we can compute the maximum computation bits of the system \(C^*_{\mathrm{tot}}={{\lambda ^{\left( {i + 1} \right) }} + \sum \nolimits _{k = 1}^K {\frac{{f_k^{(i + 1)}T}}{{{C_{{\mathrm{cpu}},k}}}}} }\). If the stop condition is satisfied, then the obtained solution \(\{ \tau _{\mathrm{e}}^*,\left\{ {t_k^{{\mathrm{b*}}}} \right\} _{k = 1}^K,t_{\mathrm{a}}^*,t_{\mathrm{c}}^*,\left\{ {f_k^*} \right\} _{k = 1}^K,\{ p_k^*\} _{k = 1}^K,\{ \rho _k^*\} _{k = 1}^K\}\) is the solution to \({\mathbf{P }_4}\) and the maximum computation bits of the system are given by \(C^*_{\mathrm{tot}}\). Otherwise, we should update \(\varpi _k^{(i+1)}\) and \(\mu _k^{(i+1)}\), \(\forall k\) based on the obtained solution by following (18) and (19) and repeat the above steps. Please note that the proposed iterative algorithm can always converge since the iteration to update \(\varpi _k\) and \(\mu _k\) always converges and the detailed proof can be refer to [25].

figure a

4 Experiments and results discussion

4.1 Experiments

This section is provided to verify the effectiveness and the superiority of the proposed scheme by means of MATLAB. Unless otherwise specified, we set the basic simulation parameters as follows. Specifically, we set \(T=1\) s, \(W=100\) kHz, \(P_{\mathrm{s}}=30\) dBm, \(K=4\), \(\sigma ^2=-120\) dBm/Hz, \(f_{\mathrm{max}}=10\) GHz, \(\xi =-15\) dB, \(\eta =0.7\), \(C_{{\mathrm{cpu}}}=1000\) Cycles/bit, \(P_{{\mathrm{c}},1}=P_{{\mathrm{c}},2}=P_{{\mathrm{c}},3}=P_{{\mathrm{c}},4}=10\) \(\mu\)W, \(\varepsilon _1=\varepsilon _2=\varepsilon _3=\varepsilon _4=10^{-26}\), \(f_1^{\mathrm{max}}=f_2^{\mathrm{max}}=f_3^{\mathrm{max}}=f_4^{\mathrm{max}}=500\) MHz, \(C_{{\mathrm{cpu}},1}=C_{{\mathrm{cpu}},2}=C_{{\mathrm{cpu}},3}=C_{{\mathrm{cpu}},4}=1000\) Cycles/bit and \(L_{{\min },1}=L_{{\min },2}=L_{{\min },3}=L_{{\min },4}=L_{{\min }}=100\) kbits. Here, we consider the standard channel fading model, where the channel gain of each channel is modeled by the product of the small-scale fading and the large-scale fading. Let \(g_k^{\prime}\) and \(h_k^{\prime}\), \(\forall k\), denote the small-scale fadings from the k-th IoT node to the ES and the MEC server, respectively. Likewise, denote \(D_{{\mathrm{s}},k}\) and \(D_{{\mathrm{e}},k}\) as the distance from the k-th IoT node to the ES and the MEC server. The channel gains of the ES-the k-th IoT node link and the MEC server-the k-th IoT node link are given by \(g_k=g'_kD_{{\mathrm{s}},k}^{-\beta }\) and \(h_k=h'_kD_{{\mathrm{e}},k}^{-\beta }\), where \(\beta\) denotes the path loss exponent. In this work, we set \(\beta =2.7\), \(D_{{\mathrm{s}},1}=13\) m, \(D_{{\mathrm{s}},2}=10\) m, \(D_{{\mathrm{s}},3}=11\) m, \(D_{{\mathrm{s}},4}=10\) m, \(D_{{\mathrm{e}},1}=50\) m, \(D_{{\mathrm{e}},2}=55\) m, \(D_{{\mathrm{e}},3}=50\) m and \(D_{{\mathrm{e}},4}=51\) m.

Fig. 2
figure 2

The convergence analysis of Algorithm 1

4.2 Results discussion

Figure 2 illustrates the convergence of Algorithm 1 under different settings of \(P_{\mathrm{s}}\) and \(L_{\min }\). Specifically, we set \(P_{\mathrm{s}}\) as 25 dBm or 30 dBm. \(L_{\min }\) is set as 30 kbits, 50 kbits, 70 kbits, 90 kbits or 110 kbits. From this figure, it can be observed that the proposed iterative algorithm can always converge to a certain value within a few iterations, e.g., 4 iterations. That is, the proposed iterative algorithm is convergent and computationally efficient. By comparing the achievable computation bits under different settings of \(P_{\mathrm{s}}\) and \(L_{\min }\), we also see that with \(P_{\mathrm{s}}\) (or \(L_{\min }\)) fixed, a larger \(L_{\min }\) (or \(P_{\mathrm{s}}\)) may decrease (or increase) the achievable computation bits.

Fig. 3
figure 3

System computation bits versus the transmit power at the ES

Figure 3 shows the system computation bits versus the transmit power of the ES \(P_{\mathrm{s}}\), where \(P_{\mathrm{s}}\) varies from 0.5 W to 2.5 W. In order to demonstrate the superiority of the proposed scheme, we compare the performance under the proposed scheme with that under the four other benchmark schemes, which are the complete offloading scheme, the fully local computing scheme, the backscatter-assisted MEC and the wireless-powered NOMA-MEC, respectively. In the complete offloading scheme, each IoT node only performs task offloading and both BackCom and AT can be used to offload tasks. In the fully local computing scheme, all the IoT nodes can only compute their tasks locally. For the backscatter-assisted MEC, each IoT node can not only perform local computing but also offload its tasks to the MEC server and only BackCom can be adopted for task offloading. For the wireless-powered NOMA-MEC, each IoT node can only choose the NOMA technology to offload parts of tasks and the rest tasks can be computed locally. Please note that the above four schemes are obtained by means of some methods used in this work. Specifically, the complete offloading scheme is obtained by using the proposed iterative algorithm after a few changes, e.g., solving \({\mathbf{P }_6}\) with \(f_k=0, \forall k\). The fully local computing scheme is optimized by solving \({\mathbf{P }_6}\) with \(t_{\mathrm{a}}=0, t_{\mathrm{c}}=0\) and \(t_k^{\mathrm{b}}=0, \forall k\). The results under the backscatter-assisted MEC can be obtained by solving \({\mathbf{P }_4}\) with \(t_{\mathrm{a}}=0\) and \(P_k=0, \forall k\). The results of the wireless-powered NOMA-MEC are achieved by means of Algorithm 1 by solving \({\mathbf{P }_6}\) with \(t_k^{\mathrm{b}}=0, \rho _k=0, \forall k\). It is not hard to prove that the above problems, \({\mathbf{P }_6}\) with \(f_k=0, \forall k\), \({\mathbf{P }_6}\) with \(t_{\mathrm{a}}=0, t_{\mathrm{c}}=0\) and \(t_k^{\mathrm{b}}=0, \forall k\), \({\mathbf{P }_4}\) with \(t_{\mathrm{a}}=0\) and \(P_k=0, \forall k\) and \({\mathbf{P }_6}\) with \(t_k^{\mathrm{b}}=0, \rho _k=0, \forall k\), are convex, which can be solved by using the existing convex tools.

As shown in this figure, it can be observed that all the schemes except the fully local computing scheme show an upward trend while the results under the fully local computing scheme are always 0. The reasons are as follows. With the increasing of \(P_{\mathrm{s}}\), both the total harvested energy and the achievable BackCom rate at each IoT node increase, resulting in an improvement to the system computation bits, while the fully local computing scheme may not satisfy the QoS constraint, etc., which also demonstrates the advantage of MEC. By comparisons, we can also see that the proposed scheme can achieve the highest computation bits among the five schemes. This is because the proposed scheme combines the advantages of BackCom and AT as well as the partial offloading scheme, providing more flexibilities to utilize resources efficiently.

Fig. 4
figure 4

System computation bits versus the minimum required computation bits at each IoT node

Figure 4 plots the system computation bits versus the minimum required computation bits at each IoT node, where \(L_{\min }\) is ranged from 50 to 150 kbits. Similarly, we compare the performance under the proposed scheme with that under the complete offloading scheme, the fully local computing scheme, the backscatter-assisted MEC and the wireless-powered NOMA-MEC in order to demonstrate the superiority of the proposed scheme. It can be observed that the system computation bits under all the schemes except the fully local computing scheme decrease when \(L_{\min }\) increases since a larger \(L_{\min }\) means a higher QoS requirement for each IoT node and more resources will be allocated to the IoT nodes with worse channels, which reduces the system computation bits. Besides, we can also see that the proposed scheme outperforms the other schemes in terms of system computation bits, which further illustrates the advantage of the proposed scheme.

Fig. 5
figure 5

System computation EE versus the maximum computing frequency at the MEC server

Figure 5 depicts the effect of the computation capacity of the MEC server on the system computation bits, where \(f_{\max }\) varies from 5 GHz to 25 GHz. It can be observed that the system computation bits under the proposed scheme, the backscatter-assisted MEC, the wireless-powered NOMA-MEC and the complete offloading scheme increase with the increasing of \(f_{\max }\). This is because the improvement of the MEC server’s computation capacity allows more task bits to be offloaded and executed, resulting in the increasing system computation bits. Note that the fully local computing scheme is not included in this figure since its performance is not influenced by \(f_{\max }\). By comparisons, we still can see that the proposed scheme is superior to the other schemes in terms of system computation bits.

5 Conclusions

In this paper, we have studied the computation bits maximization for the backscatter-assisted wireless-powered NOMA-MEC network while considering the limited computation capacity and the computation resource allocation at the MEC server. In particular, we have formulated a computation bits maximization problem by jointly optimizing the EH time, the BackCom time and reflection coefficients of the IoT nodes, the IoT nodes’ transmit power and time in the uplink NOMA phase, as well as the computing frequencies and time of both the IoT nodes and the MEC server. In order to solve the formulated non-convex problem, we first introduced a slack variable and the contradiction approach to remove the min function from the objective function and determine partial optimal solutions, respectively. Then, based on the inequality transformation approach, an efficient iterative algorithm has been proposed to obtain the optimal solutions. Simulations results have verified the quick convergence of the proposed iterative algorithm and demonstrated the superiority of the proposed scheme in terms of the computation bits over the existing benchmark schemes.