## 4 Network Node Bandwidth Allocation Method
### Method Description  
The bandwidth allocation algorithm is based on the above analysis and runs port by port. Each port on the network node allocates bandwidth for its transmission, and the detailed steps are described in Algorithm 1. Inputs \(B_{z}\) and \(B_{v}\) represent the current node port's total and free bandwidth, respectively. \(V_{Q}\) represents the speed at which new transmissions arrive, and \(Q_{z}\) represents the total number of transmissions serviced by the current port. This information is obtained from the statistics of network nodes. \(Rtt\) comes from the rate negotiation message, where \(Q_{ctl}\) and \(B_{ctl}\) represent the number andbandwidth occupied by the transmission with the current network node as the bottleneck, respectively. The following section will detail the rate negotiation message and the method of determining whether a network node is the bottleneck node for transmission. The output is the bandwidth allocation result \(B_{c}\) of the current transmission, the list of transmissions that need to increase the transmission rate \(L_{i}\), and the list of transmissions that need to decrease it \(L_{r}\). The algorithm consists of two parts. From line 1 to line 6 in Algorithm 1, the first part calculates the bandwidth the current network node can provide for new transmissions without adjusting existing transmissions. There is a delay of at least one \(Rtt\) between the completion of bandwidth allocation by the network node and the data arriving at the network node. The bandwidth allocation results of the network nodes must be valid when the data truly come. Otherwise, this may cause congestion. Therefore, we first calculate the control delay \(T\) (line 3), where \(\alpha\) is a constant coefficient and \(\alpha\) should be greater than or equal to one to make the allocation result effective within one \(Rtt\). The larger the \(\alpha\), the longer the network changes must be predicted, and the lower its accuracy. By default, we take \(\alpha\) to be equal to one (line 2). Then, based on the current new transmission arrival rate, we predict the number of transmissions \(Q_{T}\) that will arrive within the control delay \(T\) (line 4) and evenly allocate the remaining bandwidth to them, obtaining the transmission bandwidth \(B_{s}\) that should be given to the current transmission without adjusting other existing transmissions (line 5). The second part of the algorithm from line 7 to line 28 in Algorithm 1 calculates the bandwidth that the current network node can provide for new transmissions while adjusting other existing transmissions, as well as a list of transmissions that need to be changed and the corresponding adjustment results. Based on previous statistics, we predict the number of new transmissions in the future \(T\) time, and the network situation is constantly changing. If the actual number increases in the future, then the bandwidth allocated to subsequent nodes will decrease. In the contrary situation, the bandwidth allocated to subsequent nodes will increase. We need to adjust the allocation results to ensure fair bandwidth allocation. Firstly, we calculate the bandwidth allocated for the current \(B_{s}\) (line 9) followed by the average bandwidth of all \(B_{s}\), including the transmissions in the future \(T\) time (line 10), and then compare the two. To avoid minor changes causing oscillation adjustment, we set an unfair tolerance coefficient \(\beta\), where \(\beta>=0\). The stability of the transmission rate is directly proportional to \(\beta\) while adjusting the frequency, and the fairness is inversely proportional to \(\beta\). This article considers a relatively ideal state, taking \(\beta=0\) (line 8). When the difference between the newly allocated bandwidth \(B_{s}\) and the average bandwidth \(B_{a}\) is within the unfair tolerance coefficient range (line 11), no adjustment is needed, and the freshly allocated \(B_{s}\) bandwidth can be used as the result \(B_{c}\) (line 12). Otherwise, adjustments need to be made.