# Optimal User Association Strategy for Large-Scale IoT Sensor Networks with Mobility on Cloud RANs
## 4 Evaluation
### Load-Balancing Performance  
Before we measured the load-balancing performance itself, we first measured the maximum load among RRHs on average, which is defined as follows. For \(|\mathcal{R}|\) number of RRHs, the maximum load among the RRHs is: \(\max\{ld(r_{i})\text{ for }\forall i\in\mathcal{R}\}\), where \(ld(r_{i})\) is a function returning the current traffic load of RRH \(r_{i}\). As a reminder, the proposed schemes basically allow minimizing the maximum load among RRHs to achieve optimal load balancing. As the objective value gets smaller, the task of distributing the traffic load from IoT devices evenly among RRHs becomes easier. The evaluation results with respect to the maximum speed of IoT devices are shown in Figure 4. The \(x\)-axis represents the maximum speed of IoT devices and the \(y\)-axis depicts the maximum number of packets to be processed by individual RRHs on average. Regardless of \(v\), the proposed schemes, i.e., ALGO-1 and ALGO-2/3, allow achieving the lowest maximum traffic load for individual RRHs. It should be noted that ALGO-2 and ALGO-3 should have similar performance except for the time complexity; thus, we grouped their results together. It is worth mentioning that even the small value of \(\alpha\), i.e., 0.01, does not significantly change the result on the maximum number of data packets to be processed by individual RRHs. Although ALGO-1 shows the best performance overall, the ALGO-2/3 with different \(\alpha\) can produce comparable results. The difference between ALGO-1 and ALGO-2/3 became clear when we analyzed the number of handovers that occurred. ALGO-2 and ALGO-3 should have the same performance as they are basically the same algorithms except that ALGO-3 skips solving the optimization problem when there is no change detected in the network topology. If the per-slot traffic processing capacity of RRHs were 30, for example, both SDF and RND would cause the network congestion or the buffer overflow at some RRHs in any cases. On the other hand, it is not the case to the proposed schemes except when \(v=60\) m/s. Except one outlier occurring at \(v=60\), the proposed schemes resulted in a smooth curve for all different values of \(v\), even when \(v\) is large. It confirms that the proposed scheme can effectively respond to the degree of mobility of IoT devices. However, both SDF and RND show rather drastic curves especially when \(v\) is large, meaning that their performance is significantly dependent upon \(v\). When \(v=60\), there have been many time slots at which IoT devices are clustered. For this reason, all five algorithms resulted in having a relatively large value of the maximum load throughout the simulation. It is worth noting that the performance gap between SDF and RND becomes small when \(v\) is large. The high speed of IoT devices makes them spread out in the network quickly, therefore,  
Figure 4: Average maximum load among RRHs with respect to different upper bounds of the speed in a system with 50 mobile IoT devices. (**a**) When IoT devices are moving at a slow speed; (**b**) When IoT devices are moving at a fast speed. the decision made by SDF becomes close to that of RND due to the uniform distribution of IoT devices in the given area. Next, we measured the precise load-balancing performance of those five algorithms. To do this, we used the [PERSON]'s fairness index [31] which is one of the most widely used fairness index [32] for load-balancing analysis in wireless networks. [PERSON]'s fairness index is defined as follows. For given \(n\) samples, \(x_{1},x_{2},x_{3},\cdots,x_{n}\), the fairness index is computed as follows:  
\[J(x_{1},x_{2},x_{3},\cdots,x_{n})=\frac{(\sum_{i=1}^{n}x_{i})^{2}}{n\cdot\sum _{i=1}^{n}x_{i}^{2}}, \tag{4}\]  
where having 1 is the fairest and 1/n is the opposite.