## 3 System Model
### Proposed Dynamic Distributed Load-Balancing Algorithm
The employments of dynamic CIO values can accelerate or delay the HO triggering moment as shown in Figure 4. As a result, the coverage area of each cell is affected by either an extension or a reduction dynamically, depending on the new CIO value. Then, the DDLB algorithm updates the determined CIO values in each loaded cell and in its neighboring cells that are identified as offloading targets. Following the continuous load monitoring in Phase 1, when the predefined interval \(T_{interval}\) is reached, the DDLB algorithm identifies congested cells by comparing their average load (\(load_{A\varnothing}\)) to a predefined threshold (\(T_{threshold}\)). The \(load_{A\varnothing}\) is calculated based on the load records collected during the \(T_{interval}\) using the following equation:  
\[load_{A\varnothing}=\frac{\sum_{i=1}^{m}load(i)}{m}, \tag{1}\]  
where \(m\  
the loaded cell with its neighboring cells. For each identified loaded cell, the determination for load threshold (\(load_{\textit{Threshold}}\)) is initiated as follows:  
\[load_{\textit{Threshold}}=\frac{\sum_{i=1}^{n}load_{\textit{AP}}(i)}{n}, \tag{2}\]  
where \(n\) is the number of cells, including the loaded cell and surrounding cells. This \(load_{\textit{Threshold}}\) acts as a trigger to determine the number of utilized PRB required to be released \(load_{\textit{Rel}}\) for offloading UEs from the congested cell toward the neighboring cells according to the following:  
\[load_{\textit{Rel}}=\max(load(i)-load_{\textit{Threshold}}(i),0). \tag{3}\]  
Following the determination of \(load_{\textit{Rel}}\), the DDLB algorithm identifies the UEs suitable for offloading and their serving sectors and calculates the CIO values for both the congested cell and its neighboring cells in the direction of identified sectors. This process involves the following steps:  
* UE Selection for Offloading: The congested cell requests the connected UEs to report the received signal strength (RSRP) for both the serving cell (congested cell) and neighboring cells. By analyzing the reported RSRP values, the DDLB algorithm identifies the UEs at the edge of the cell. These UEs are characterized by a low RSRP value from the serving cell (serving cell), and in the meantime, the difference in RSRP value between the serving cell and neighboring cells is low, too. The selection process prioritizes UEs with the worst serving RSRP value and a lower RSRP difference. This prioritization ensures UEs on the edge are offloaded first. The selection process stops when the cumulative load values of the selected UEs reach the \(load_{\textit{Rel}}\) and stores \(RSRP_{\textit{limit}}\) obtained from the RSRP value of the last selected UE. The selection process can also incorporate other factors beyond proximity based on RSRPs. These factors might include offloading of the service type based on the 5G QoS Identifier (5 QI) or special conditions criteria in the neighboring cells reported by the UE (e.g., restricted access or blacklisted cells). * Directional Awareness of Neighboring Cells: By considering the direction of cell sectors containing UEs selected for offloading, the DDLB algorithm identifies neighboring cells in those directions. This avoids unnecessary signaling overhead and focuses adjustments on the most relevant parts of the network. This targeted approach ensures CIO updates influence handover decisions for UEs at the cell edge, facilitating efficient offloading and promoting network performance. * CIO Calculation: Once the UEs for offloading are selected and neighboring cells for CIO calculations are identified, the DDLB algorithm calculates the CIO values for both the congested cell (\(CIO_{s}\)) and its identified neighboring cells (\(CIO_{n}(i)\)). The \(CIO_{s}\) value for the congested cell is determined using the following equation: \[CIO_{s}=event_{\textit{Thr}}-(RSRP_{\textit{limit}}+\textit{Hys}),\] (4) where \(event_{\textit{Thr}}\) is the predefined RSRP threshold used for triggering the HO process. \(\textit{Hys}\) is the hysteresis value.