## 3 System Model
### Proposed Dynamic Distributed Load-Balancing Algorithm  
In order to address limitations associated with cell congestion and inefficient load balancing in ultra-dense networks, this study develops the DDLB algorithm. By leveraging the MM mechanisms to enhance network performance, the DDLB algorithm can efficiently distribute network load across contiguous cells within a HetNet deployment. The DDLB outcomes contribute to improved processes of HO triggering, target cell selection, and decision-making for each UE according to their location and the load condition on nearby cells. The algorithm performs a flexible adjustment on the criteria of finding suitable target cells. This adjustment changes dynamically over time to adapt to the data traffic conditions of the users in specific locations as shown in Figure 2. This prioritizes the neighboring cells with higher resource availability to be selected to transfer the UEs connection, considering the locations of the UEs to the neighboring cells and the signal power to grant the best service quality. Figure 2: The algorithm block diagram  
To achieve these functionalities, the DDLB algorithm operates in three logical phases, as shown in Figure 3, that work together to continuously monitor network conditions, dynamically adjust load-balancing parameters, and influence handover decisions:  
1. Continuous Load Monitoring: This phase functions continuously by collecting load fluctuation metrics for each cell. Every second, the DDLB algorithm stores data on the real-time load conditions experienced by each cell. This continuous monitoring provides the DDLB algorithm with a constantly updated status of current network traffic distribution. This real-time information is crucial for the DDLB algorithm to make informed decisions in the subsequent phases. In this context, the metric used to represent \"load\" can be the number of resources utilized. 2. Periodic Load Balancing (with Dynamic Interval): This phase operates periodically with specific intervals (\(T_{interval}\)). These intervals are adjustable dynamically based on network conditions typically measured in seconds. A shorter interval is chosen during periods of high congestion or rapid user density changes to ensure the DDLB algorithm remains responsive to network dynamics. Conversely, a longer interval can be used during stable network conditions to reduce signaling overhead. Network conditions for selecting the proper \(T_{interval}\) can include factors like congestion times, user density in specific areas, the rate at which cells enter an overloaded state, and other relevant metrics. Within this phase, the DDLB algorithm performs three key tasks: 1. Congested Cells Identification: The algorithm first identifies cells that are currently experiencing high load, exceeding a predefined threshold (\(T_{interval}\)). These congested cells are considered potential candidates for load-balancing actions. 2. Flexible Load Threshold Determination: For each loaded cell, the algorithm determines a flexible load threshold denoted by \(load_{Tthresh}\). This threshold is dynamically adjusted based on the average load conditions of its neighboring cells. This dynamic approach ensures the DDLB algorithm adapts to variant network traffic patterns. 3. Determination Neighboring Cell for CIO Updates: The DDLB algorithm prioritizes updating CIO values for surrounding cells that can potentially receive offloaded UEs from the loaded cell. This determination leverages the concept of cell sectors where each sector covers a directional area. 3. Cell Individual Offset (CIO) Determination and Update: Following phase 2, this phase performs the necessary calculations to determine the proper values of CIO for  
Figure 3: Architecture of Dynamic Distributed Load-Balancing algorithm. the congested cells and their neighboring cells.