## 5 Results and Discussion
### Experimental Details
In case the system is heterogeneous, then central control forms groups of peer controllers on the basis of their service rate. Similar service rate controllers are combined to form a homogeneous group. The central controller first receives the flow of each packet, then according to the algorithm (RA or FCFS), it selects a peer controller to process the packet flow. The service rate data of the peer controller are collected through a parser using JSON format. The service rate is collected after a specific interval of time. The interval between collections of peer service rate can also depend upon the average throughput of the system or degree of heterogeneity. We applied both strategies to set the \"service rate collection interval time\" in this study. When the interval time of service rate is dependent upon throughput or degree of heterogeneity, it will vary according to these parameters. Consider that after collecting the service rate and forming groups, after a specific interval, it again collects the service rate; now it checks if the system's throughput is increased, decreased, or remains the same.In the case of the same time interval, if the throughput increases, then the interval of time is increased to collect the service rate, being either doubled or increased by a constant factor. Finally, if the throughput is decreased, then the interval time is cut down to half of its current value. We include a minor change in the central controller algorithm to see improvement in the system. In the last case, the selection of a peer controller also depends upon the available bandwidth of that controller. The central controller also collects link utilization and takes the difference between the bandwidth of that link and current link utilization. The result is the available bandwidth of that link. In this experiment, we only took links of the peer controller connected with a switch which provides a connection to the central controller. Link information is gathered through OpenFlow functions, which discover the topology and provide information. Last, the controller default forwarding rules are used in the data plane. Most of the work is on the control plane. The Cbench tool is used to measure the throughput of controllers. It is a tool designed for OpenFlow switch and SDN controller to emulate their performance through some benchmarks. Test cases for the experiment are discussed in the result subsection. Table 4 discusses our experimental setup machine and tools languages. In the following steps, the central controller Algorithm 1 is described. **Input:** Peer controller service rates \(\mu_{i}\) in JSON format

**Output:** Selected controller to fulfill incoming flow request

1. Calculate degree of heterogeneity \(h\) using Equation (1)

2. If \(h<2\), then treat the whole system as homogeneous and select any controller to fulfill incoming flow request

3. Else, form groups on the basis of their service rate and choose the controller using RA or FCFS algorithm to fulfill the request

4. Use default forwarding rules of the controller to send packets from source to destination \begin{table}
\begin{tabular}{l l} \hline Items & Description \\ \hline Computer System & Inter Core i7-10700K 11 th generation, 3.8 GHz, 32 GB of ram, 500 GB SSD \\ \hline Operating System & Linux (Ubuntu 21.04) \\ \hline Software Tools & Mininet, Cbench \\ \hline Controller & ONOS \\ \hline Languages, script & Python, JSON, XML, Bash \\ \hline Data collection source & Internet Topology ZOO \\ \hline \end{tabular}
\end{table} 
Table 4: Details of hardware and software used in experiment. ### Results: Experimental Setup

In this experiment, we use two real-world topologies, AARNET and DFN. Both topologies are tested in the proposed framework. TCP and UDP protocols are used in the experiment. Various test cases are applied in this experiment. The results are based on various test cases. We have 20 peer controllers in the network. We make their group according to their service rate. In the experiment, both topologies are tested under different test cases.