Energy Efficient UAV-Enabled Mobile Edge Computing for IoT Devices: A Review

With the emergence of computation-intensive and delay-sensitive applications, such as face recognition, virtual reality, augmented reality, and Internet of Things (IoT) devices; Mobile Edge Computing (MEC) allows the IoT devices to offload their heavy computation tasks to nearby edge cloud network rather than to compute the tasks locally. Therefore, it helps to reduce the energy consumption and execution delay in the ground mobile users. Flying Unmanned Aerial Vehicles (UAVs) integrated with the MEC server play a key role in 5G and future wireless communication networks to provide spatial coverage and further computational services to the small, battery-powered and energy-constrained devices. The UAV-enabled MEC (U-MEC) system has flexible mobility and more computational capability compared to the terrestrial MEC network. They support line-of-sight (LoS) links with the users offloading their tasks to the UAVs. Hence, users can transmit more data without interference by mitigating small-scale fading and shadowing effects. UAVs resources and flight time are very limited due to size, weight, and power (SWaP) constraints. Therefore, energy-aware communication and computation resources are allocated in order to minimize energy consumption.In this paper, a brief survey on U-MEC networks is presented. It includes the brief introduction regarding UAVs and MEC technology. The basic terminologies and architectures used in U-MEC networks are also defined. Moreover, mobile edge computation offloading working, different access schemes used during computation offloading technique are explained. Resources that are needed to be optimized in U-MEC systems are depicted with different optimization problem, and solution types. Furthermore, to guide future work in this area of research, future research directions are outlined. At the end, challenges and open issues in this domain are also summarized.

MEC is a relatively new concept that appeared in 2014, by European Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG), for fifth-generation (5G) networks. It is defined in [7] as: ''Mobile-Edge Computing provides IT service environment and cloud-computing capabilities within the Radio Access Network (RAN) in close proximity to mobile device.'' Later, the definition is slightly broadened in [8], ''Edge Computing refers to a broad set of techniques designed to move computing and storage out of the remote cloud (public or private) and closer to the source of data''. According to this concept, computing resources are brought to the network's edge in proximity to the end-mobile devices.
Due to the limitation in power and battery life of mobile devices, Mobile Edge computing / Multi-access edge computing (MEC) is the promising and best solution to this problem which can settle the conflict between resource-constrained devices and resource-hungry tasks by placing the computing servers at the edge nodes like base stations (BSs) or user devices of high computation capability, closer to the mobile devices.
MEC is a distributed approach and consists of mobile users and the MEC server. Mobile devices transfer partial or complete computation tasks to the closely related powerful edge computing cloud (edge server / MEC server) for computing known as computation offloading, which saves energy, reduces latency, and enhances the processing speed of the device to meet the QoS (quality of service) and QoE (quality of experience) requirements.

C. COLLABORATION OF UAV AND MEC
The location of the terrestrial MEC server is usually fixed and cannot be changed or moved according to mobile users' needs, limiting the MEC server's capability [9]. Ground MEC servers do not work with limited available infrastructures such as battlefields, emergency and rescue operations, desert areas, etc., [10].
Due to the highly flexible mobility, easy deployment, low cost, and small size of UAVs, it can be deployed as a host of edge servers giving rise to UAV-enhanced edge / intelligent MEC server which provide mobile edge services and on-demand communication and computations resources to the users where the fixed terrestrial MEC networks are not accessible or readily established or where natural disasters destroy MEC systems. A UAV-enabled MEC system has the following benefits: (i) U-MEC system uses LoS link establishment to provide a wider range of applications [11], making the system flexible and efficient.
(ii) U-MEC system improves the computation services by providing high-bandwidth (large coverage) to users and improving the capacity of the system [12].
(iii) U-MEC system provides computation offloading in an energy-saving manner with low latency to enhance the performance of the system [13]. Despite the various applications and benefits; limited battery, power capacity, low latency, speed up high-links, multiple users interference and SWaP contraints of UAV bring new challenges in U-MEC systems. Hence, energy-efficient model is of key importance. The propulsive energy consumption required by the UAV to remain aloft in the air is also taken into consideration.

D. MOTIVATION
• UAV-enabled MEC system is an ineluctable trend in future wireless communications and is useful in 5G and beyond wireless communication. It is a contemporary concept of using UAVs as moving MEC servers, i.e., cellular BSs or Wi-Fi access points, to improve the computation performance of mobile devices like latency, network congestion, energy efficiency, and quality of IoT services.
• A plethora of research work has been published on UAVs, wireless communications, and mobile edge computing. However, there are very few on mobile edge computing assisted by UAVs [14]. Some of the future research possibilities are also discussed in those papers, which are yet to be achieved. The intersection of UAVs and edge computing is a novel technology that promises to lower the latency and energy consumption of miniature IoT devices prolonging their battery life and boosting the QoS along with QoE.
• To the best of our knowledge, the UAV-assisted MEC system's energy efficiency perspective in IoT devices has not been investigated yet. The research in U-MEC networks is at its early stage, and efforts are required to bring this technology to maturity. Our goal is to discuss the energy-efficient resource management in IoT devices using U-MEC networks and the associativity of UAVs, MEC servers, and mobile users. Furthermore, an elaborative review is done based on the previous related work in this area. Future research directions are also highlighted in order to help the researchers. A summary of previous surveys on U-MEC systems is shown in Table 1.

E. ORGANIZATION
The remainder of this paper is assembled in this manner: Section II summarizes the possible architectures used in UAV-enabled MEC (U-MEC) systems. Section III summarizes the computing techniques of local computing and offloading the tasks by the users to the UAV. Section IV describes the different access schemes, including multiple access and duplex schemes in the U-MEC system. Section V explains the energy-efficient resource management in U-MEC networks. Section VI summarizes the optimization problems, their types, algorithms used to solve these problems and the solution types. Section VII discusses the future research directions. Finally, Section VIII concludes the whole paper. Fig. 1 shows the diagrammatic view of the organization for this paper as a reading map.

II. UAV-ENABLED MEC SYSTEM
This section introduces the UAV-enabled MEC networks and sheds light on the three possible architectures in U-MEC systems. Then the channel used for uplink and downlink communication is highlighted. The idea of installing an MEC processor on a UAV was initially given by Jeong et al.
in [17]. The system model of the U-MEC system is shown in Fig. 2.
U-MEC uses three main models: (1) Local Computing Model, which executes the tasks locally on mobile devices.
(2) Computation Task offloading Model, in which the user offloads the task to be executed by the MEC server on the UAV. (3) UAV Hovering/Flying Model, in which the task is uploaded at a fixed location for some time [18].
In the fixed terrestrial MEC servers, mobile users locally execute their tasks on embedded microprocessors, consuming a large amount of energy. However, in U-MEC, the mobile device decides either to compute the heavy tasks locally or to offload such heavy tasks to the UAV-based MEC server co-located in UAVs (edge computing), closer to the user saving their energy and traffic load on the fixed servers. Then, the UAV completes the task as the MEC server on its behalf and passes the calculation back to the mobile device. Finally, the mobile device user will then download the results.
Each mobile device is associated with a U-MEC having enough resources and battery. Because of LoS communication between UAVs and ground mobile users, the offloading and downloading capacity can be boosted, and the coverage can also be enhanced in the UAV-aided MEC system.

A. POSSIBLE ARCHITECTURES IN U-MEC SYSTEM
U-MEC architectures have three possible scenarios based on the role played by UAVs. In each scenario, the two main components are mobile devices/end users and MEC Servers, which are small data centers installed by telecom operators closer to the users. Users and servers are connected to each other via a wireless link using wireless networking and communication technologies. The server is linked to the cloud data centers via Internet through a gateway [19].
Assisted U-MEC: The first architecture is shown in Fig. 4. In this scenario, the UAV acts as an aerial MEC server-enabled base station to help the ground users, to which the users offload their computation-intensive tasks for execution to one or multiple UAVs. This architecture is applicable where the UAV has sufficient battery and computation capabilities. Also, it is applicable in areas where limited, or no terrestrial infrastructure is available, and ground base stations cannot provide services due to unexpected events or disaster responses. Such architecture is usually used to minimize the total energy consumed by the devices meeting the QoS requirements [17].
Cellular-Connected U-MEC: The second architecture is shown in Fig. 5. UAV acts as an aerial user in this scenario, which has heavy computation tasks, i.e., trajectory optimization, to offload at ground base stations (GBSs) equipped with an MEC server (terrestrial fixed MEC server/MEC host) for remote computation. This architecture is applicable in areas where UAV has limited onboard battery capacity and computation capability, but it has to perform a computation-intensive task.
Relayed U-MEC: The third architecture is shown in Fig. 6. In this scenario, UAV operates as a relay, which assists the VOLUME 9, 2021 users to offload their heavy computation tasks to the GBSs integrated with the MEC server. This architecture is applicable where the communication link between the users and the ground MEC server is imperfect. Also, the UAV is not equipped with an MEC server [14]. Table 2 shows the possible architectures of U-MEC used in related works.

B. COMMUNICATION CHANNEL
The channel used for uplink and downlink communication is usually a line-of-sight (LoS) link which is dominant than other channel impairments like small-scale fading and shadowing because of the high altitude of UAVs. In [46], multi-UAV system is considered in which the energy of ground mobile users is minimized by using UAVs as computing servers. While offloading the user energy to the UAV, LoS link is assumed between the user and the UAV. The goal is then achieved by utilizing a two-layered optimization technique. [47] also considers strong LoS path between ground and mobile users where the objective is to minimize the energy consumption to enhance the capacity of the network and to provide computing services to the ground users by the UAV. The communication link between the UAVs serving as edge nodes and the mobile users is dominated by line of sight in [48] which avoids the latency and high energy consumed during the transmission of data to the cloud.

III. MOBILE EDGE COMPUTATION OFFLOADING
This section summarizes the techniques used in the computing process in the ground mobile users, such as in the Local Computing and Offloading Process. Furthermore, this section focuses on the process of computation offloading, different modes of operations to offload the tasks to the UAVs, and decisions made during this process.
Computational offloading is a process of transferring the computing tasks from mobile devices (MDs) to the external sources [49] for execution via wireless access, such as an edge server, which has sufficient computation resources to compute the tasks. The edge server, in return, sends the results back to the mobile device. MECO is beneficial if the device is unable to process any heavy task. For example, encoding a video is an energy-consuming task. As a solution, encoding services are offloaded to edge servers for execution which will save energy and reduce the latency of the device, ensuring good video quality [50].
MECO is a key paradigm in MEC as it has several advantages: (i) Battery life of MDs can be prolonged by avoiding local execution. (ii) Offloading the tasks to the MEC server    MEC server executes the following steps before performing computation offloading, as shown in Fig. 7.
(i) Primarily, the MEC server checks the legality of the user applying for the service of computation offloading.
(ii) If the user is legal, the computation resources are assigned to the user, keeping the data amount of the users'  task and resource usage using the resource allocation algorithm. Meanwhile, the computation resources and energy conditions are updated instantaneously. Now, the user can do computation offloading to the MEC server.
(iii) If the user is not legal, he is not provided with the service of computation offloading [51].
Mostly, the computation offloading algorithm's purpose is to minimize the energy consumed by MDs by migrating tasks to the MEC server while fulfilling the reduction in execution delay accordingly. 90% of the energy savings can be achieved, and 98% of the delay can be reduced. Hence, a trade-off between both can be optimized using computation offloading [52].

B. OPERATION MODES FOR COMPUTATION OFFLOADING
Computation offloading from mobile devices to the U-MEC can be done in three operation modes [52] / processes: Local Computing Process in which all tasks are executed locally. Most of the devices process data without going through the MEC server. Data read speed and CPU performance influence the efficiency of the local computing process. It is useful if either no MEC server is available, the connection between the user and the server is poor, or the task is not intensive. On the basis of CPU frequency of the embedded microprocessors in the mobile devices. U-MEC system has two techniques for local computing. Constant Frequency: For fixed CPU frequency of device computing circuit, local computing is done by a fixed constant rate [53]. Dynamic Frequency: For dynamic CPU frequency of VOLUME 9, 2021   the mobile device, local computing is done using dynamic voltage and frequency scaling techniques, in which voltage or frequency of the CPU are adjusted/lowered according to the computation tasks to be executed [10], [40] to save the energy and latency in highly complexed computing circuits. This technique is more powerful than the fixed one in order to reduce the energy consumption of whole system.
Binary/Full Offloading Process in which the tasks cannot be divided into sub-tasks, i.e., either all the tasks are executed locally or completed offloaded to the MEC server as a whole for computation, and the final results are sent back to the mobile devices. The efficiency of the fully offloading process is influenced by the computing power of the U-MEC server, channel capacity, and channel states [51]. The flexibility of resource allocation schemes can be constrained because the UAV cannot perform local computing and task offloading simultaneously.
Partial Offloading Process in which the tasks can be partitioned into sub-tasks, i.e., some of the tasks are processed locally, and some of them which are consuming more energy or are complex are offloaded to the U-MEC server. Both U-MEC server and mobile devices are used for computation, and final results are obtained after combining both individual computations [54]. Factors such as the transmission of data, energy consumption, task data processing, and resource allocation influence the effectiveness of this process, and these factors also have an effect on each other. It is more efficient than the binary mode as the UAV can dynamically allocate the computation resources for local computing and communication resources for computation offloading [14]. But this mode is more complex than the other ones as it needs to combine a number of factors.
Choosing one of these modes depends upon the application used by the user, features of the computing task, and structure of the UAV. Fig. 8 shows the process of offloading modes in U-MEC networks.

C. COMPUTATION OFFLOADING DECISIONS
As for computation offloading, it is crucial to important to decide [55] that: (i) Whether to offload the task or not? If yes, what should be offloaded (binary/partial). If no, then the task is processed locally.
(ii) When should the task be offloaded? i.e., deciding the time slot to offload under different limitations.
(iii) Where must the task be offloaded? i.e., which location will be best for offloading to available resources.
(iv) Which policy will be suitable for offloading according to the objective, i.e., single or multiple? Table 3 shows the summary of contributions done in U-MEC systems.

IV. COMPUTATION OFFLOADING ACCESS SCHEMES
This section highlights different access schemes used in U-MEC networks for uplink and downlink communication without any interference. Computation offloading is enabled by uplink and downlink communication between the mobile users and UAVs using different techniques/schemes, which are more efficient than the terrestrial MEC networks because of the UAVs used in the U-MEC network. Mostly used schemes for computation offloading in the U-MEC system are discussed below.

A. MULTIPLE ACCESS SCHEMES
Multiple access schemes allow multiple mobile users to share and access the same channel and limited resources so that interference is avoided. It is categorized into two groups: (1) Orthogonal Multiple Access (OMA) Scheme: Every ground user can utilize orthogonal resources in terms of frequency band called Orthogonal Frequency Division Multiple Access (OFDMA) scheme and time slot known as Time Division Multiple Access (TDMA) scheme, in order to mitigate the multiple access interference. Periodic / cyclic TDMA [56] is also used for communication between mobile users and UAVs when the UAVs are closer to the ground users increasing the offloading efficiency. In OMA, the total bandwidth is divided into different subchannels, one user occupies each sub-channel, and equal time resources are allocated for every user. OMA provides insufficient and unsuitable system performance. It is less complex using simple receivers in the system, and ideally, there is no mutual interference among multiple users [57].
(2) Non-Orthogonal Multiple Access (NOMA) Scheme: Every mobile user can exploit non-orthogonal resources simultaneously for offloading the tasks in the uplink, and UAV sends back the final result in the downlink. In NOMA, the entire frequency band or time slots are shared among multiple mobile users. It uses successive interference cancellation (SIC) techniques at the receiver side, making it complex. Nevertheless, it is more efficient than the OMA because it provides high spectral efficiency and lower latency. NOMA is widely used in U-MEC networks because of high spectrum utilization compared with OMA [58].

B. ONE-BY-ONE ACCESS SCHEME
In this scheme, UAV can connect with only one mobile user at any time. It is superior to the OMA because, at most, one mobile device can communicate with its associated UAV during each time slot. In [36], a one-by-one access scheduling mechanism is adopted, making the system more efficient and easier than the OMA.

C. DUPLEX SCHEMES
Forward Link: The link from the U-MEC to the mobile user is called downlink (DL or D/L).
Reverse Link: The link from the mobile user to the U-MEC is called uplink (UL or U/L).
Full duplex or simply duplex is a bi-directional scheme in which transmission can occur in both directions (UL and DL) [59] simultaneously, i.e., in U-MEC offloading and outcome result downloading process takes place simultaneously. Also, the interference between the offloading and downloading process is controlled efficiently [14]. Duplex schemes are categorized into two types: FDD and TDD.
(1) Frequency Division Duplex (FDD): In FDD, the offloading and downloading are achieved concurrently at same time using two communication channels for UL and DL. It uses a lot of spectrum, i.e., twice than the TDD, and has more interference. It is usually used in long-distance scenarios between U-MEC and mobile users.
(2) Time Division Duplex (TDD): In TDD, the uplink and downlink channels use the same frequency band by allocating alternating time slots [60] for offloading and downloading. It is speedier than the FDD and uses a single channel of the VOLUME 9, 2021 spectrum with less interference. It is used in short distance scenarios.
Both schemes have their advantages and disadvantages. According to applications and uses, they are used in different areas to be used for the greatest advantage.

V. RESOURCE MANAGEMENT
This section briefly explains the energy-efficient resource management in UAV-enabled MEC networks. Resources management is a factor required to complete an activity in order to achieve the desired goal, such as bandwidth or maximum power, which are usually limited in wireless communications. Management is managing the resource according to the need. When the resources are managed, one must also allocate resources to the system. Resource Management is the process of managing, scheduling, or allocating the resources from one user/system to another by using different schemes to ensure the overall efficient performance of the system. For improving the performance of offloading services, the dynamic availability of resources plays a crucial role. Various resource allocation schemes are adopted to guarantee the best application of resources to achieve better performance for the U-MEC network and meet the increasing demand for computation-intensive applications and resource-constrained devices. Resources (communication and computation/ storage) allocation is of crucial importance in order to meet better QoS and QoE requirements. In U-MEC networks, resource allocation is a key challenge due to UAVs' battery and trajectory constraints. The resource may incorporate the MUs' computational speed transmit power, computation resource at the MEC servers, bandwidth, and the time assigned to the offloading users [61].
In the local computing model, the frequency of the central processing unit (CPU) and computation time are the resources to be optimized. In the computation offloading model, communication resources such as bandwidth, task offloading power, task assignment, and offloading time are the resources to be optimized. In the UAV flying model, trajectory, maximum flying time, weight, and speed of UAV are the resources to be optimized because of their constrained computation resources due to SWaP limitations. Different objectives achieved by designing resource management in U-MEC systems are Energy Consumption Minimization, Completion Time (bigger value among the local computation time and offloading computation time), Minimization, Cost Minimization, Computation Bits Maximization, Computation Efficiency (computation bits per Joule of energy) Maximization, etc., Resource Allocation in U-MEC systems has been researched in [17], [26], [29], [43], [62], [63].
As discussed above, because of the compact size and constrained battery life of IoT devices, they have restricted energy storage and resources. Recharging or replacing the battery of IoT devices often is quite inefficient. Therefore, U-MEC architecture is employed to reduce energy consumed by these devices resulting in prolonged battery time. It is done by offloading the users' heavy computation tasks to the nearby rich resourced MEC server, which eventually boosts the energy efficiency of the whole system. UAVs are equipped with MEC servers owing to their maneuverability, easy deployment, flexibility, and mobility, providing extra coverage. U-MEC networks are generally used in areas where the conventional terrestrial infrastructure is not available. UAV energy is consumed in hovering, mobility, propulsion, communication, and computation. Typically, the UAVs have a limited onboard battery, and they have to be charged frequently. Energy consumed in U-MEC networks for the local computing process comprises CPU frequency, computation time, and data read speed [17]. Energy Consumption in the offloading process incorporates of transmit power, computation-related energy, and task offloading time. The consumed energy in the flying process includes propulsion energy, communication related energy, speed, and accelerated velocity of UAV [14].
In [64], the author designs UAVs trajectory for hovering over the single user and investigates the energy efficiency of the system. In [17], [62], single-UAV path planning and bit allocation are jointly optimized using resource allocation strategy to minimize the consumed energy by the users with subject to maximum latency and energy utilization of UAV-mounted cloudlet providing the offloading services and fulfilling the QoS requirements of the offloading users.
In [10], weighted sum power consumption is focused to obtaining the optimal solution. In [43], [44], the author discusses the task completion time and UAVs energy consumption minimization problem in cellular-connected U-MEC networks. In [21], hovering and computation energy consumption of UAV is reduced in order to achieve the goal of energy efficiency. Table 4 depicts the summary of channel access schemes and total energy consumption of the system in U-MEC networks.

VI. OPTIMIZATION
This section explains the basic optimization terms used in mathematical modeling. Furthermore, related work in energy efficient U-MEC networks is discussed in detail. Lastly, different types of optimization problems and solutions are summarized. Table 5 presents the summary of the objectives and constraints used in U-MEC networks.
A. RELATED WORKS 1) ENERGY EFFICIENCY In [9], an UAV-enabled MEC system with multi-UAVs and the multiple ground users model is solved. The objective VOLUME 9, 2021 is to reduce the energy consumed by the whole system. A two-layered optimization method jointly optimizes the resource allocation, task scheduling, deployment, offloading decision, location, and the number of UAVs under delay constraints. EAs are basically used for the population-based heuristic search approach, which needs no gradient information. It faces three issues: (i) large scale search space, (ii) mixed decision variables, (iii) correlation between UAVs deployment and scheduling of task is ignored. Therefore, to avoid these problems, an effective algorithm is used to solve these types of problems, called ToDeTaS, which works in two layers, i.e., upper and lower layers. For the upper layer, an encoding mechanism is used, which encodes the UAVs location into an individual so that the entire population is represented as the entire UAVs deployment. Then a number of UAVs are prioritized given that all the tasks can be accomplished, therefore reducing the energy consumption. Then the differential evolution (DE) algorithm with an elimination operator acts as a search engine, optimizing the UAVs' location and determining the maximum number of UAVs. The elimination operator gradually decreases UAVs' number when all the tasks are completed, therefore tuning the number of UAVs adaptively. The greedy algorithm is proposed in the lower layer for optimizing the binary programming problem of offloading decisions with lower computation time under given UAVs deployment. ToDeTaS is more efficient than other joint optimization problems because of these reasons: (i) The upper and lower layer problems have very few decision variables, eventually reducing the whole search space, (ii) By leveraging encoding mechanism and elimination operator, this algorithm avoids the problem of mixed decision variables, (iii) Correlation between task scheduling, and UAVs deployment is not ignored anymore. The upper layer helps the lower one complete all the tasks; as a result, the lower layer increases the accuracy of the evaluation done in the upper layer. The problem of minimizing the total energy consumption of the system, including communication, computation, and mechanical power (transmission, execution, and propulsion power) of both the users and the UAVs, is formulated in [20] by jointly optimizing user association, location planning, and computation capacity allocation under latency and coverage constraints. A compressive sensing-based algorithm is used for the user association subproblem. Optimal Location Planning Algorithm applies the one-dimensional (1D) search method for optimal three-dimensional (3D) location planning and beamwidth. The optimal computation capacity allocation subproblem is solved in closed form. In [25], the author discusses an energy-efficient scheme in which total energy of both the ground users and UAVs is minimized by optimizing the UAVs trajectory and bit allocation of uploaded, computed, and downloaded data collaboratively under the number of bits in each task, energy budget of UAV, data causality and UAVs velocity constraints. This optimization problem is divided into two subproblems which are solved by using lagrangian duality method and CVX solver.
The author in [31] discusses the minimization problem of energy consumed by the computation tasks to prolong users' battery life and the UAVs. A joint optimization problem is formulated by jointly considering the decision making for task offloading, uplink, and downlink bit allocation during the transmission and trajectory design for UAV with subject to the latency of the tasks and energy budget of the UAV. An alternative optimization algorithm is used to solve this problem based on SCA and BCD techniques. In [27], the author presents joint offloading task and UAVs placement problems with the objective of minimizing the energy consumption in UAVs and delay for the users by jointly optimizing communication and computing resource allocation, task splitting decisions, and position of UAV. Due to the non-convex objective and constraints of the problem, it is re-transformed into a solvable one by using the SCA method. Then an efficient algorithm is developed to find the solutions.
In [21], energy consumption, including hovering and computation energy of UAVs, is minimized by jointly optimizing the hovering time of UAVs, resource allocation, and scheduling of the tasks received from users with limitation to the QoS requirement of the ground users and the computing resources at the UAV. An iterative algorithm, block coordinate descent (BCD) is used to solve this joint optimization problem to find suboptimal solutions. Total energy consumption, including communication, computation, and flight energy of UAVs, is minimized in [24]. It jointly considers the allocation of computation bits, scheduling the time slot, transmit power allocation, and UAVs trajectory with subject to trajectory design of UAVs, communication and computation resource allocation and computation causality. The problem is decomposed into two parts using the problem decomposition method. Those parts are then solved by using the lagrangian duality method and the SCA technique. Energy obtained as a result is always minimum by using these two approaches. In [26], the energy consumption minimization problem at the UAV is optimized under the limitations of the amount of computation bits and energy harvesting causality by jointly considering the offloading computation bits, CPU frequency of users, and the UAV and UAVs trajectory. An alternative algorithm is proposed for this purpose, which is based on the sequential convex approximation (SCA) method. The author describes the efficient-energy algorithm in [34] by leveraging three-layered computation offloading strategy for reducing the energy consumption of the UAV due to their limited energy. UAV position optimization algorithm is used for dynamically adjusting the UAVs' position so that they can cover all the users by providing better transmission services. Task prediction algorithm based on LSTM is employed to predict the offloaded tasks by users to the UAVs. Task offloading strategy is utilized to get maximum energy efficiency for the system. In [42], the author discusses the model of UAV-aided wireless powered cooperative MEC system, in which an optimization problem is formulated to achieve the goal of minimizing the required energy for UAV via jointly optimizing the frequency of UAVs, number of offloading bits, transmit power of active users (with data required to be processed), and trajectory of UAV with subject to the computing task of active users constraints, energy harvesting, and information causality constraints, and UAVs trajectory constraints. The non-convex problem is first decomposed into subproblem by using first-order taylor series and introducing auxiliary variables to make the problem convex. The SCA-based algorithm is employed which updates the auxiliary variables and optimizes the UAVs trajectory iteratively with updated trajectory variables reducing the complexity of the algorithm. Then, the decomposition and iteration (DAI) based algorithm is used for optimizing the CPU frequency, offloading amounts and trajectory variables both iteratively and separately with lower complexity. Interior Point Method (IPM) theory is applied for worst-case computational complexities. The objective in [35] is to minimize the energy consumption of computation processing and completion time of UAVs detection in wind farms. This is done by jointly optimizing the process of computation offloading, computation frequency of UAV and offloading power, modes, and time while guaranteeing the accuracy of wind turbines (WTs), flight speed, transmission power of UAV, and computation frequency constraints. Detection trajectory planning for multi-sorties and UAV scheduling (DTPUS) approach is proposed to lessen the wind's influence on the WTs. DTPUS approach consists of three steps: grouping of WTs, planning detection trajectory for each sortie, scheduling of UAV. Then iterative offloading trajectory and computation offloading (IOTCO) algorithm are adopted for optimizing computational offloading and routine inspection trajectory solutions. Finally, the lagrangian duality method is used for optimizing UAV computation frequency, offloading time, and power calculation.
The goal is to reduce the total energy consumed by the users in air-ground integrated MEC networks in [33] due to limited energy in the IoT devices. For this purpose, the author formulated a joint optimization problem by jointly optimizing power control in the uplink, computation capacity and channel allocation, user association, and the 3D placement of UAV by guaranteeing constraints on the latency of users, power consumption by UAVs, bandwidth, and computation capacity. For solving this problem, an efficient optimization algorithm is used leveraging the BCD method. Then the original problem is decomposed into subproblems, and CCCP algorithm and Karush Kuhn Tucker (KKT) conditions are utilized for computation capacity allocation. For offloading computation tasks by the users to the GCAPs, UAVs 3D placement is managed by using cooperative computation offloading scheme. [36] proposes an energy-efficient computational task offloading scheme to achieve minimum energy consumption of the users by jointly optimizing resource partitioning, uplink and downlink bit allocation, number of processed bits at UAV, power allocation and scheduling of user-UAV and trajectory of UAV subject to a fraction of resource partitioning, bit-casuality in uplink and downlink, initial/final location and a maximum speed of UAV, energy budget (communication, propulsion, and computation energy) of UAVs, allocated for users. Two strategies are proposed for this purpose, one for an extreme case and the other one for a practical case. Firstly, a one-by-one access scheduling mechanism is adopted in which only one user wakes up at a time to communicate with a UAV. It is a better approach than the orthogonal one making the system easier. Based on this scheme, the Lagrange dual method is used to reduces the energy usage and complexity of the method. Secondly, to handle the huge data volume, a resource partitioning strategy is adopted to compute the data of users and UAV jointly in order to minimize the energy consumption of the ground terminals. Then the problem is converged into two subproblems. User-UAV scheduling is obtained by solving its dual problem within the given trajectory of the UAV. Power allocation, resource partitioning, bit allocation in uplink and downlink and UAVs trajectory are solved mutually by employing the SCA method, which further reduces the energy consumed by the users. In [39], an UAV integrated with an MEC server based on the TDMA scheme is discussed. The objective is to minimize the total energy consumed by the user by assuring the completion of computation tasks during each time slot performed by the users. An UAV trajectory optimization problem is formulated, which obtain both the local and global optimal solutions. A 2D search method over possible UAV positions is used to get a global optimum solution. It jointly optimizes the slot allocation and computation task partitioning by adopting the augmented lagrangian active method. An alternative efficient optimization scheme is proposed to find a local solution that reduces the algorithm's complexity. The proposed scheme is better than none, full or central gravity offloading schemes.
In [38], the author discusses the NOMA-based UAV-assisted MEC system and formulates a joint optimization problem in which maximum energy consumption among the users is minimized (min-max problem). Task data, computing resource allocation, and UAVs trajectory are jointly optimized with subject to task delay of users, the total amount of task data, mobility, and UAVs trajectory constraints. It is challenging to solve this problem due to interference among the users and the unreliability of UAVs' trajectory. The problem is decomposed into multiple problems by utilizing auxiliary variables, and the subproblems are solved using an efficient iterative optimization algorithm. Two schemes are used to solve the problem with low complexity. The general scheme optimizes the task data, joint trajectory, and computing resource allocation to reduce energy consumption among all ground users. The fixed point service (FPS) scheme optimizes and finds out the location of a fixed point.
TDMA based model for UAV-enabled MEC is modeled in [32] to increase the energy efficiency and prolong the serving time of UAV. Based on this model, an energy consumption minimization problem is formulated by jointly optimizing the computing resources allocation of the users, the hovering time of the UAV, wireless powering duration and sequence of user's service under user association limitation. The BCD method is used to solve this problem. The solution for VOLUME 9, 2021  computing resources allocation is found in closed form by using the Lagrangian dual method. To obtain the sequence for user services, the flow-shop scheduling technique is used.
[23] models energy-efficient resource allocation [20] and UAV trajectory design, which minimizes the energy consumption in UAV-mounted cloudlet, consequently improving the computing services.Resources for communication and computation are allocated by jointly optimizing UAVs trajectory; user transmits power and computation load allocation with subject to user offloading, energy budget for user communication, computing capabilities, and mechanical operations of UAV constraints. SCA Method and dinkelbach algorithm are exploited for UAVs trajectory. Then the whole problem is decomposed into subproblems by using the alternating direction method of multipliers (ADMM) technique. When user mobility is not known, a spatial distribution technique is used to predict the users' location for optimal resource allocation. [40] studies the problem of resource allocation in UAV assisted [65] wireless powered MEC system in which the goal is to maximize the computation bits/rate of computation of all the ground users under binary and partial offloading mode by jointly optimizing offloading time, transmit power of users, frequency of CPU and UAVs trajectory under limitation to speed of UAV and causal constraint of energy harvesting. The two-stage and three-stage optimization algorithm is used to solve computation bits maximization under partial and binary offloading mode simultaneously. An optimal selection scheme is employed under a given trajectory, which depends on users' choice of computing the task locally or offloading them to the UAVs. The decision of the user depends upon the trade-off between the operation cost and attainable rate of computation. UAVs trajectory is optimized by SCA technique under both partial and binary offloading mode. In [37], the goal is to achieve energy-aware resource allocation in which the objective to maximize the total utility in the UAV-assisted MEC system over social internet of vehicles (SIoV). It jointly optimizes the transmit power allocation of the vehicles and UAVs trajectory under the constraint of each vehicle's evolution law of energy consumption state. The total utility maximization problem is converted into energy aware dynamic problem, which merges instantaneous power reduction utility and energy consumption cost for each vehicle. Dynamic programming method is used to optimize dynamic power allocation of vehicles with fixed UAV trajectory under cooperation and noncooperation cases. A search algorithm is employed for optimizing UAVs trajectory with an acceptable distance of user-UAV and offloaded bits of vehicles.
In [66], latency and consumed energy are minimized, and stability of the system is increased in UAV-assisted MEC system, and it is done by using the DR method via jointly optimizing the UAV trajectory, users' task scheduling, and performance of the whole system. The author in [67] proposes the minimization problem of weighted sum energy consumption of the whole system, i.e., users and the UAVs, by optimizing the trajectory of UAV bandwidth and bits allocation, transmit power and frequency of the CPU jointly. A resource allocation method and UAVs trajectory design algorithm are proposed to find the solution to the formulated problem. In [68], UAV-assisted multi-access edge computing is considered, which aims the minimization of weighted latency cost and consumed energy by taking resources competition and offloading decisions into account. The goal is then achieved by using a game theory-based scheme to find the optimal solution.
2) COMPUTATION EFFICIENCY [45] proposes the computation efficiency maximization problem by taking into account the central processing unit (CPU) frequencies, maximum energy consumption, offloading time of the user, position and mobility of UAVs and transmit power constraints of the user and jointly optimizing transmit power and offloading time of users, CPU frequencies and UAVs trajectory. Lagrangian Duality Method is used for transmitted power and CPU frequencies, and the SCA technique solves the UAV trajectory problem.
In [30], user association, trajectory scheduling and resource allocation are jointly optimized to achieve maximum computation efficiency under local CPU frequency allocation, transmit power of the users, spectrum resources and UAVs trajectory which scales the energy consumption and computation bits of the system. The optimization problem is then reformulated into the parametric problem, which is then solved by adopting an iterative search algorithm consisting of a double loop structure. The outer loop employs dinkelbach method to solve and update the computation efficiency, while for the inner loop, a joint optimization algorithm is used to solve user association, scheduling the trajectory and resource allocation. [69] considers computation efficiency maximization problem in which amount of offloaded data is maximized while minimizing the energy consumption of UAV to guarantee users' QoE by jointly optimizing the user scheduling, UAVs trajectory, transmit power, and bandwidth allocation. This non-convex problem is then solved by using the multistage optimization algorithm to obtain high computation efficiency of the system by fulfilling QoE of users in limited resources.

3) DELAY MINIMIZATION
In [29], the aim is to minimize the maximum delay (min-max) among all the users for each time slot by jointly optimizing user scheduling binary variables, offloading task ratio, and trajectory of UAVs under discrete binary constraints. The equality constraints of the objective function are basically dualized and penalized as Augmented Lagrangian (AL) entities. Then this problem is solved by using penalty dual composition (PDD) based algorithm consisting of two loops. For the inner loop, the variables are updated using the concave-convex procedure (CCCP) algorithm. For the outer loop, AL multipliers and penalty factor is updated. Finally, a simplified l0-norm algorithm of low complexity is proposed.
[41] models a big three-layered data processing architecture consisting of ground users, edge nodes (UAV-BSs), MEC and cloud center. It is assumed that the cloud center is power enough and the aim is to minimize the cost and delay at the UAV-BSs by optimizing the multi-UAV whole path set, enhancing the coverage of the UAV. The constraints to these optimization problems are the capability of edge processing, on-board energy, and computational resources of edge nodes. A DRL-based algorithm is adopted, which develops online path planning of hovering edge nodes having large service coverage. An online determination policy based on Lyapunov Optimization Method is used to save energy and stabilizing the delay in the system by smartly managing the resources of the network. For a low data rate, this method reduces the frequency of the edge processor in order to save energy. For a high data rate, it smartly allocates bandwidth offloading data at the edge.

4) LOAD BALANCING AND SECRECY CAPACITY
To guarantee global load balance at the UAVs in [22], a problem of minimum global load balance deployment is formulated by jointly optimizing task scheduling and deployment of UAVs under coverage constraints. Deep Reinforcement Learning (DRL) [70], [71] based task scheduling scheme is used for efficient task execution, effective scheduling of offloaded tasks in multi-UAVs, reducing the transmission delay, and improves the QoS of the users.
In [28], the main goal is to maximize the minimum secrecy capacity efficiently with limitation to the minimum offloading requirement, latency, and total power. Therefore, a joint optimization problem is formulated for security purposes by optimizing jamming power, computing capacity and the location of the UAV, transmit power, offloading user association, and offloading ratio collectively. Firstly, the location of the UAV is optimized, which enhances the secrecy capacity of each offloading link, as well as reduces the latency of the users offloading the data. It is done by employing the bounded eavesdropper location error model to find the uncertain location of the eavesdropper. Then the original problems are converted to five subproblems adopting the BCD method, which are then solved by using low complexity algorithms. The sole purpose of using specifically BCD method is its implementation on large size problems while it cannot be implemented on single variable.The first three subproblems of jamming power of UAV, location of UAV, and transmit power of user are optimized by applying SCA technique. SCA is further category of BCD problem and applicable to non-convex and larger problems. SCA lags with the implementation deficiency on single variable. In the last, the branch and cut method are used to solve the user association problem.
The solution shows that there exists a trade-off between security and latency.
Using multiple UAVs equipped with MEC server in [72], IoT devices to be served are maximized under energy budget and co-channel interference constraints via jointly optimizing computational offloading, UAVs trajectory, service indicator, and resource allocation. The formulated problem is solved by using the SCA technique which converges the solution of the given problem to a point.
Joint optimization of different performance metrics and solutions proposed are summarized in Table 6.

B. TYPES OF OPTIMIZATION PROBLEMS IN U-MEC NETWORK
In U-MEC networks, the problem types are defined as per following.

1) LINEAR PROGRAMMING (LP) PROBLEM
It is a continuous optimization problem that maximizes or minimizes the linear objective function subject to one or more linear (equality and non-equality) constraints.
In [34], the formulated energy efficient optimization problem is linear which is then solved by using three layered computational offloading strategy based on LSTM task prediction algorithm. Finally, an optimal solution is found out.

2) NON-LINEAR PROGRAMMING (NLP) PROBLEMS
These are continuous optimization problems have non-linear objective functions subject to the non-linear (equality/ non-equality) constraints. It contains the properties of non-convex problems. Multiple local optimal solutions are obtained in non-convex optimization, or it takes plenty of time while recognizing whether there is a solution available or the solution is global. [20], [23], [24], [26]- [30], [37]- [39], [45] proposes nonlinear optimization problems which are then solved by utilizing different approaches to obtain optimal solutions.

4) GENERALIZED ASSIGNMENT PROBLEM (GAP)
It is a convex problem in which tasks are assigned by the users to the UAVs in such a way that each task is assigned to precisely one UAV subject to given constraints. [22] describes GAP which is resolved by incorporating DE based UAV deployment technique and DRL algorithm which achieves near-optimal results. s.

C. SOLUTION TYPES IN U-MEC NETWORKS
Different types of solutions are there in relevant works on U-MEC problems for each specific algorithm used, which are discussed below.

2) SUB-OPTIMAL SOLUTION
It is less than the optimal (best) possible solution but is quickly produced than the optimal one [21] converges the energy consumption minimization non convex problem to a high quality sub-optimal point by employing efficient iterative algorithm. In [27], SCA technique is exploited to solve the given weighted sum latency of all ground IoT devices and UAVs energy consumption optimization problem. As a result, sub-optimal solutions are yielded.

3) NEAR-OPTIMAL SOLUTION
It is a feasible solution in which the maximum/minimum value of the objective function is within a specified range from the not known optimal objective function value. In order to achieve near-optimal solutions to the energy consumption problems formulated in [9], [24], three layered and two layered optimization algorithms are proposed to solve the given problems efficiently.

4) GLOBAL OPTIMAL SOLUTION
It is the best solution that has a better objective value as compared to all the other best solutions available. It is attainable usually in linear problems. Globally optimal solution is obtained to the joint optimization problem by employing 2D search method over the UAV positions and augmented Lagrangian search method in [39]. Local optimal solution can also be gained by deploying other optimization scheme to the same problem. Table 7 summarizes the problems and solution types in U-MEC networks.

VII. FUTURE RESEARCH DIRECTIONS
U-MEC system is considered as a propitious technology in enhancing the capacity, coverage, connectivity, QoS and QoE of the user, but it is still facing some challenges and open issues in order to facilitate its wider range of applications due to complexity and fewer works done in the context of U-MEC systems. In the following, some future research directions and open issues are listed.
• U-MEC also serving as an user is a challenging open issue for future work.
• Due to limited flight and operation time of UAVs, efficient online resource management schemes under a dynamic channel environment should be focused due to uncertainty in the mobility of users, as UAVs have to serve multiple ground users in large geographical region.
• The mobility impact of both the users and UAVs can be studied by jointly optimizing UAVs trajectory, VOLUME 9, 2021  communication, and computation resource allocation for moving users and UAVs.
• Because of unlimited on-board energy of UAVS, Energy-Aware UAV Trajectory can be introduced in U-MEC networks. The trajectory of multiple UAVs should be jointly optimized in order to increase the capacity, coverage and computation efficiency.
• Multi-UAVs and multi-users scenarios can be considered in computation efficiency maximization.
• The ground users distributed over large geographical area can be investigated further.
• Complicated models for flying and communication can be considered in future work by taking into consideration the mobility of the users and fading factors.
• In task offloading by the users to the UAVs, the work can be extended by considering multi-UAV and multi-hop MEC scenario during UAV swarm placement.
• For security purposes, multiple legalized UAVS for user offloading can be an interesting topic for future work, as it will be a more complex optimization problem dealing with multiple UAVs. Different physical layer techniques can also be introduced for better security.
• Communication, computation, and caching in these networks can be jointly optimized by using UAVs coverage algorithm and dynamic network resources prediction based on the DRL method.
• To make the results more satisfying, event-driven software can be used in future works, for making more real channel models.
• Rather than ideal LoS links in A2G/G2A, practical channel models, such as rician fading and probability models can be taken into account for future research.
• In data offloading from one UAV to the multiple users' scenario, the delay-energy tradeoff can be investigated for further work.
• Controlling the trajectory and transmit power of UAV to reduce the offloading energy consumed by the users is also a worthy and interesting topic to be investigated.
• Multiple antenna techniques can be used in the computation rate maximization to tackle the problem of limited computation performance in flight time of UAVs.
• Computation time duration has not been investigated yet but it is not negligible in reality. Also the queuing process of computation task should be considered very carefully and can be an interesting future topic.
• Spatial coupling of bandwidth allocation among edge nodes can bring a new challenge due to limited capacity of computation at edge cloud.
• In offline path planning, unexpected environment changes can also pose an new challenge in U-MEC systems.
• The problem of offloading the user's computation tasks to the UAVs, acting as flying MEC server, can also be found VOLUME 9, 2021 out by using various approaches like matching and game theory, convex optimization techniques etc.
• Taking in account both the velocity and speed of UAVs can be a challenging issue.
• Due to restricted flight time of UAVs, the path planning in U-MEC is an important issue.
• In U-MEC networks, it is challenging to jointly optimize trajectory (flying path) and location of UAV to provide efficient offloading services for the ground users.
• Control on mobility affects the network quality. Therefore, jointly optimizing UAVs path planning, resource allocation, channel variability, task assignment, QoS metrics, offloading power allocation and maximum flying speed of UAV with subject to delay constraint to achieve different objectives like relay minimization, energy efficiency maximization, computation rate maximization etc., is challenging to tackle with the UAVs trajectory optimization.
• The performance parameters like throughput, delay, coverage, reliability and capacity affect the overall performance of the system. Therefore, performance analysis in U-MEC networks is a challenging issue.

VIII. CONCLUSION
Due to the significant benefits of U-MEC networks, it has been an imminent trend in future wireless networks, as it improves the computation performance of the system by maximizing energy efficiency and minimizing the execution delay. With a view to the recent advances done in this domain, this paper highlights the key concepts, applications, and benefits of combining UAVs and MEC. Basic three architectures, assisted, cellular-connected and relayed U-MECs, are explained, which can be used in different scenarios depending upon the application to be used. Then the main idea of local computing, computation offloading process, decisions, binary and partial modes are elaborated in detail. Different access schemes used in uplink and downlink communication are summarized. Energy-efficient resource management and optimization techniques to solve different problems in order to achieve various objectives and their solution types are outlined. In the end, state-of-the-art research in the U-MEC system is explained. Due to the early stage of research regarding this topic, future research directions, key challenges, and open issues are also discussed to help the researchers to bring considerable research efforts, with the purpose that this technology can lead towards full growth advancement.