## 3 System Model and Problem Formulation
### System Model
#### 3.1.1 Load Balancing  
In this subsection, we investigate the design of the load-balancing process among GBSs using UAVs. First, at time \(t\), the distribution of mobile devices across the GBSs is unbalanced, with some GBSs being overloaded while others are underloaded, as depicted in Figure 1. Consequently, the network congestion degrades the service quality and application's latency for these devices. Therefore, the main contribution of load balancing there falls into how to balance the load among GBSs. This can be achieved in two main phases. These can be accomplished as follows. In the initial phase, we redistribute the reallocated IoT devices (i.e., devices that exist in the intersection area of GBSs) to be connected to the best GBSs (i.e., least loaded) by compelling them to hand over. Then, in the second phase, we locate the GBSs that are still overcrowded based on a predetermined threshold value \(\theta\) and then assign one or more UAVs hovering above to alleviate their loads through providing the computing and storage capabilities for their mobile users. The detailed process steps for balancing the load among GBSs are as follows. Initially, a summary of the information about the mobile devices associated with each GBS is sent to the manager through the connected GBSs. This information includes the total number of mobile devices, the available rate of data for each user, the CPU cycles and data size required for each task associated with the mobile device and all the mobile devices that exist around intersection area of GBSs (i.e., black mobile users in Figure 1) and may be reallocated to another nearby GBS. The central manager then iterates over all mobile devices in the intersection area and, based on the collected information, forces them to hand over to the most appropriate available GBS. Then, user's computation capabilities and  
Figure 1: System Model. data rate are updated once the appropriate GBS is chosen for each mobile device. After all mobile devices have been assigned to the optimal GBS, the steps are repeated. Subsequently, upon receiving the updated information, the central manager determines the new number of mobile users at each GBS and finds the GBSs that are still overloaded (i.e., the number of users greater than given threshold \(\theta\)). It then hovers one of the available UAVs above these GBSs so they can be able to provide new computation and storage capabilities. By doing so, the overhead consumption for mobile devices will be minimized. Algorithm 1 outlines the comprehensive process for balancing the load among the GBSs. A snapshot example of IoT devices' distribution across GBSs is shown in Figure 2 to illustrate the algorithm execution. We can observe from this figure that seventeen IoT devices are distributed across three GBSs, where 12 devices are connected with \(GBS_{1}\) and 2, and three devices are connected with \(GBS_{2}\) and \(GBS_{3}\). Additionally, \(D_{10}\), \(D_{11}\), \(D_{12}\), \(D_{15}\), and \(D_{16}\) are all co-located across GBSs' boundaries, making it easy to allocate devices as needed. Furthermore, each GBS is capable of providing 20 GHz computation capabilities and a bandwidth of 20 MHz that can be shared with connected devices. Finally, our goal is to redistribute workloads among GBSs as well as provide UAV-enabled edge computing services in the still-overloaded area so that quality is improved and energy is reduced. Furthermore, redistributing the workloads among GBSs is possible and can be achieved through two main phases: handing over devices to the best-performing GBS and providing UAV-enabled edge computing services in the still-overloaded GBSs. Based on the given parameters' values, these phases can be technically achieved as follows. ```
1:Initialization: Each mobile device \(i\) is located and associated with a given GBSs \(j\). 2:/*Phase one - Redistribute mobile devices across GBSs*/
3:for all GBSs \(j\) and at given time slot \(t\)do
4:\(\zeta\leftarrow\) Numbers of mobile devices.