# A Reverse Shortest Path Tree-Based Multicast Joining Node Selection Method
## 3 Reverse Shortest Path Tree Based MJN Selection Method
### MJN Selection Method Implementation  
In this section, we will discuss the process of selecting the most suitable MJN based on the information collected from the RSPT. By using the information gathered from RSPT, DR can calculate the downlink path cost related to each MJN, even when routing is asymmetric. The equation for calculating the path cost is shown in Equation (1). DR will then choose the MJN with the lowest path cost to join the multicast tree.  
In Equation (1), we define several parameters to calculate the cost of a multicast path. The distance between nodes \(i\) and \(j\) is represented by \(dis(i,j)\), while the topological diameter of the network is denoted by _Diameter_. The reason for designing this parameter is that longer paths put more pressure on the network, so they should have a higher cost.  
_PT, PL, \(aveT\), and \(aveL\)_ are four parameters that represent the load on the path. _PT_ represents the number of MFT entries on the node with the highest load on the path. \(PL\) represents the bandwidth usage of the link with the highest load on the path. \(aveT\) means the average number of MFT entries recorded by all nodes on the path. \(aveL\) represents the average bandwidth utilization of all links on the path. The reason for considering these load parameters is to reduce load congestion and prevent paths from passing through nodes and links with high loads.  
To normalize various types of loads, we introduce a maximum forwarding state quantity \(T_{max}\) that a node can handle and a maximum load \(L_{max}\) that a link can handle.  
Next, we will introduce the determination method for each weight. In Formula (1), the values of \(\beta\) and \(\gamma\) are both 0.3, the value of \(\alpha\) is 0.2, and the values of \(\sigma\) and \(\epsilon\) are both 0.1. As PT and PL are the parameters that most intuitively measure the load status of the highest-loaded points and edges on the path, setting \(\beta\) and \(\gamma\) to be larger can help avoid congestion of individual nodes and links, delaying the time to reach the network performance bottleneck. \(\alpha\) is also important. Setting it to be larger can help shorten the length of the multicast path and reduce the consumption of network resources. \(\sigma\) and \(\epsilon\) measure the average load status of the path, which also helps to delay the time for the network to reach the performance bottleneck. However, through experiments, it has been found that their importance is not as significant as other parameters, so the values of \(\sigma\) and \(\epsilon\) are relatively small.  
In Formula (2), as the topology size increases, \(\zeta\) also increases accordingly. This is because in large topologies, in order to avoid excessive load concentration on nodes outside the detection range, each DR prioritizes selecting nodes within its own detection range. Since DR cannot obtain the path load status of nodes outside the detection range, it can easily lead to load congestion problems.  
Upon computing the path cost for each MJN, DR selects the node with the minimum cost to join the multicast tree.  
It can be seen that DR can make real-time decisions upon receiving join requests by utilizing cached information, thus ensuring low multicast service latency. Additionally, the method proposed does not require the participation of a central management node, making it a purely distributed approach that avoids central bottleneck issues and enhances multicast scalability.