Multi-graph-based multi-communication-path efficient and stable multicast method and device
By constructing an undirected connected multigraph without self-loops, calculating the stable latency ratio to generate a multicast tree, and optimizing multicast routing, the problem of insufficient network resources caused by single-path optimization is solved, achieving efficient and stable multicast under multiple communication paths and improving network performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HAINAN UNIV
- Filing Date
- 2026-02-11
- Publication Date
- 2026-04-17
AI Technical Summary
In existing technologies, multicast routing optimization mainly focuses on a single communication path, failing to effectively utilize the advantages of multiple communication paths, resulting in insufficient network resource utilization and service quality.
Construct an undirected connected multigraph without self-loops, calculate the stable latency ratio through edge weights, generate a multicast tree, optimize multicast routing, utilize the stability and latency characteristics of multiple communication paths, select the optimal path for data transmission, and make adjustments when the link changes dynamically.
It improves the utilization rate and quality of service of network resources, enhances the stability and efficiency of multicast routing, adapts to changes in network topology, and improves the overall performance of data transmission.
Smart Images

Figure CN121887708A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer network technology, and in particular to a multicast method and apparatus based on multiple graphs and multiple communication paths that are efficient and stable. Background Technology
[0002] In the rapidly evolving field of communication technology, numerous communication paths exist between devices, including modern technologies such as WiFi, 4G, 5G, Bluetooth, and StarNet. These paths offer diverse options for data transmission, significantly enhancing network transmission capabilities and resource utilization efficiency.
[0003] However, current research focuses on multicast routing optimization on a single communication path, neglecting the potential advantages of utilizing multiple communication paths. Summary of the Invention
[0004] Therefore, it is necessary to provide a multicast method and apparatus based on multiple graphs and multiple communication paths that is efficient and stable, in order to address the above-mentioned technical problems and achieve efficient and stable multicast routing under multiple communication path conditions, so as to improve the utilization of network resources and service quality.
[0005] Firstly, this application provides an efficient and stable multicast method based on multiple graphs and multiple communication paths. The method includes:
[0006] Model a communication network with multiple links and construct an undirected connected multigraph without self-loops; the multigraph includes several nodes and several edges connecting the nodes, and the edge weights include stability and latency.
[0007] The stable latency ratio is obtained based on the edge weights, and the simple graph is obtained based on the stable latency ratio.
[0008] Create a tree containing the source node, using the source node as the starting node. Find neighbor nodes connected to the starting node from the simple graph based on the stable delay ratio. If a neighbor node is not in the tree, add the neighbor node and the edge between the neighbor node and the source node to the tree. If a neighbor node is in the tree, using the neighbor node as the starting node, find neighbor nodes not in the tree but connected to the starting node from the simple graph. Compare the first path and the second path in the tree based on the stable delay ratio. If the first path is better than the second path, add the neighbor node and the edge between the neighbor node and the starting node to the tree. The first path is the path from the source node through the starting node to the neighbor node, and the second path is the path from the source node without passing through the starting node to the neighbor node.
[0009] The neighboring nodes of the starting node are used as the starting node to search for neighboring nodes again until the tree contains all the nodes of the multicast group; if there are leaf nodes in the tree that do not belong to the multicast group, the leaf nodes and the edges between the leaf nodes and their parent nodes are removed from the tree to obtain the multicast tree.
[0010] Optimize multicast routing using multicast trees.
[0011] In one embodiment, obtaining a simplified graph based on the stable latency ratio includes:
[0012] For a number of parallel edges between two adjacent nodes, select the edge with the largest stable delay ratio as the target edge;
[0013] Replace several parallel edges between all adjacent nodes in the multigraph with a single target edge to obtain a simple graph.
[0014] In one embodiment, obtaining a simplified graph based on the stable latency ratio includes:
[0015] For several parallel edges between two adjacent nodes, obtain the average stable delay ratio of several parallel edges, and construct the target edge using the average stable delay ratio;
[0016] Replace several parallel edges between all adjacent nodes in the multigraph with a single target edge to obtain a simple graph.
[0017] In one embodiment, the method further includes:
[0018] The multicast tree generates candidate edges for each adjacent node and uses parallel edges to handle data transmission tasks.
[0019] In one embodiment, the method further includes:
[0020] When there are no available edges between adjacent nodes, for the interrupted node, find a node connected to the interrupted node in the multicast tree as a forwarding node and adjust the multicast tree.
[0021] In one embodiment, the method further includes:
[0022] When a new receiving node is added, a path from the source node to the new receiving node is added to the multicast tree according to the multicast tree generation method.
[0023] In one embodiment, the method further includes:
[0024] When a leaf node exits, the multicast tree remains unchanged.
[0025] In one embodiment, the method further includes:
[0026] When an intermediate node exits, reconstruct the subtree rooted at the intermediate node and adjust the multicast tree.
[0027] Secondly, this application provides a multicast device based on multiple graphs with efficient and stable multi-communication paths, the device comprising:
[0028] The graph construction module is used to model communication networks with multiple links and construct undirected connected multigraphs without self-loops. The multigraph includes several nodes and several edges connecting the nodes, and the edge weights include stability and latency.
[0029] The graph simplification module is used to obtain the stable delay ratio based on the edge weights and to obtain a simplified graph based on the stable delay ratio.
[0030] The tree construction module is used to create a tree containing the source node. It starts by using the source node as the starting node and searches for neighboring nodes connected to the starting node in the simple graph based on the stable latency ratio. If a neighboring node is not in the tree, it adds the neighboring node and the edge between it and the source node. If a neighboring node is in the tree, it starts by using the neighboring node as the starting node and searches for neighboring nodes not in the tree but connected to the starting node in the simple graph. It then compares the first path and the second path in the tree based on the stable latency ratio. If the first path is better than the second path, it adds the neighboring node and the edge between it and the starting node. The first path is the path from the source node through the starting node to the neighboring node, and the second path is the path from the source node without going through the starting node to the neighboring node. The module continues searching for neighboring nodes again, starting with the neighboring node of the starting node, until the tree contains all nodes of the multicast group. If there are leaf nodes in the tree that do not belong to the multicast group, the leaf nodes and the edges between them and their parent nodes are removed from the tree, resulting in a multicast tree.
[0031] The routing optimization module is used to optimize multicast routes using the multicast tree.
[0032] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described efficient and stable multicast method based on multiple graph communication paths.
[0033] Fourthly, this application also provides a computer-readable storage medium. This computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps in the above-described efficient and stable multicast method for multiple communication paths based on multiple graphs.
[0034] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps in the above-described efficient and stable multicast method for multiple communication paths based on multiple graphs.
[0035] The aforementioned efficient and stable multicast method and apparatus based on multigraphs for multiple communication paths includes the following steps: modeling a communication network with multiple links to construct a loop-free, undirected, connected multigraph; the multigraph includes several nodes and edges connecting these nodes, with edge weights including stability and latency; obtaining a stable latency ratio based on the edge weights, and obtaining a simple graph based on the stable latency ratio; creating a tree containing the source node, using the source node as the starting node, and searching for neighboring nodes connected to the starting node in the simple graph based on the stable latency ratio; if a neighboring node is not in the tree, adding the neighboring node and the edge between the neighboring node and the source node to the tree; if a neighboring node is in the tree, using the neighboring node as the starting node, searching for neighboring nodes connected to the source node in the simple graph based on the stable latency ratio; if a neighboring node is not in the tree, adding the neighboring node and the edge between the neighboring node and the source node to the tree; if a neighboring node is in the tree, using the neighboring node as the starting node, searching for neighboring nodes connected to the source node in the simple graph... The method involves finding neighboring nodes that are not in the tree but are connected to the starting node. Based on the stable delay ratio, it compares the first path and the second path within the tree. If the first path is superior to the second path, the neighboring node and the edge between the neighboring node and the starting node are added to the tree. The first path is the path from the source node through the starting node to the neighboring node, and the second path is the path from the source node without passing through the starting node to the neighboring node. The neighboring nodes of the starting node are used as the starting node to search for neighboring nodes again until the tree contains all nodes of the multicast group. If there are leaf nodes in the tree that do not belong to the multicast group, the leaf nodes and the edges between the leaf nodes and their parent nodes are removed from the tree to obtain the multicast tree. The multicast tree is then used to optimize multicast routing. Based on network topology and transmission characteristics, this method proposes an efficient and stable multi-communication path multicast method. This method comprehensively considers the characteristics of multiple links between devices, optimizes the efficiency and stability of multicast, and utilizes multiple links to improve system stability, thereby improving the overall performance of data transmission in multicast. Attached Figure Description
[0036] Figure 1 This is a flowchart of an efficient and stable multicast method based on multiple graphs for multiple communication paths in one embodiment.
[0037] Figure 2 This is a schematic diagram of multiple diagrams in one embodiment;
[0038] Figure 3 This is a schematic diagram of a simplified embodiment;
[0039] Figure 4 This is a schematic diagram of a multicast structure in one embodiment. Detailed Implementation
[0040] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0041] This application provides an efficient and stable multicast method based on multiple graphs and multiple communication paths, such as... Figure 1As shown, it includes the following steps:
[0042] S1. Given an undirected connected multigraph without self-loops. .for and , Indicates the first among them An edge. For a single edge... Edge weights include those representing transmission delay. And representing the stability probability .set up Indicates a multicast group. Representing the source node, the multicast construction process starts from... Select node and edge To form a multicast structure Multiple graphs, such as Figure 2 As shown.
[0043] S2. Calculate the stable delay ratio of edges between adjacent nodes based on edge weights.
[0044] The Efficient and Stable Multicast Path problem can be decomposed into two subproblems: a) constructing a minimum-latency multicast path given a stability requirement, and b) constructing a maximum-stability multicast path given a latency requirement. Therefore, The model can be solved in the following directions:
[0045] Subproblem a): Given Construct a minimum-delay multicast with given stability. .
[0046] Subproblem b): Given Construct a maximum stable multicast with a given delay. .
[0047] For the receiving node, the reception delay is determined by the transmission path from the source node to itself; when an edge failure occurs on the path, the reception delay will increase. Given a multicast structure... ,let Indicates the number of receiving nodes. Multicast data originates from the source node. along Path in Transmitted to multicast group members Each of them. For multicast The reception delay is from arrive Transmission delay. Multicast delay. yes Each Average reception delay, The formula is expressed as:
[0048]
[0049] in, From arrive The receiving node member in The path, yes The delay It represents the number of receiving node members.
[0050] Multicast latency is based on each The reception delay is calculated, and this delay is affected by the obtained multicast structure. The impact of upstream. Therefore, low-latency edges in the uplink path can improve... Transmission efficiency during construction. Furthermore, a small number of edges in the transmission path will reduce multicast latency. (Edge selection...) The transmission path of the receiving node can be calculated in the middle. The delay is used to determine this.
[0051] In multicast, the ratio of online time to total time is used as a measure of stability. For nodes... Online time and disconnection time The sum of these constitutes the total time. Multicast stability The formula is expressed as:
[0052]
[0053] Interruptions occur randomly and independently along each transmission path. For the receiving node... Data reception interruption is caused by link switching or failure on the transmission path. On the downstream path, link interruption does not affect its upstream vertices.
[0054] By definition, multicast stability is achieved through each The reception stability is calculated based on the number of edges in the transmission path, and this stability can be improved by selecting stable edges. Furthermore, a smaller number of edges in the transmission path will improve multicast stability. (The last sentence appears to be incomplete and possibly refers to the selection of edges.) The transmission path can be calculated in the middle. The stability is determined by [the following].
[0055] Considering that stability and latency are dual properties of a link, we propose a multicast generation algorithm based on the stable latency ratio. Stable latency ratio The formula is expressed as:
[0056]
[0057] S3, Multigraph Two adjacent nodes and Multiple edges between Replaced with node and nodes The maximum stable delay ratio is between The target edge is used to update the simplified multigraph to obtain a simple graph. . For example Figure 2 Taking the multi-graph example shown, the simplified simple graph is as follows: Figure 3 As shown.
[0058] Reflects the edge The stability and latency are combined properties. However, in a multigraph, a single edge is insufficient to reflect the overall performance; therefore, in another embodiment, to utilize the multigraph, S3 extends the stability latency ratio of simple graph edges to parallel edges. For two connected nodes... and nodes ,set up The mean of the stable delay ratios of all parallel edges between them is expressed by the formula:
[0059]
[0060] Build nodes and nodes The target edge, the stable delay ratio of the target edge is the average stable delay ratio of the parallel edges, obtain the simplified graph. .
[0061] S4, Based on Simple Graphs or Create a multicast tree. This includes the following steps:
[0062] S401, Create an empty tree and make the source node .
[0063] S402, from Begin, Use the starting node to search a simple graph; if it exists... Connected neighbor nodes and Then select the neighbor node with the largest stable latency ratio. and will insert , will the side join in .
[0064] S403. For each neighboring node that already exists in the tree ( Using this as the starting node, find neighboring nodes in the simple graph that are not in the tree but are connected to the starting node. ( ), satisfy If in From the source node arrive path The stable latency ratio plus Not less than from the root to path Then insert and the edge insert .
[0065] S404, will ( (when not inside the tree) or ( (When inside the tree) as the starting node, repeat S402 to S403 until... ,in The nodes contained in the multicast group.
[0066] S405. If leaf nodes exist in the tree. Then remove the dependent elements from the tree. nodes To the leaf node Path to obtain multicast tree .
[0067] S5. Optimize multicast routing for multicast groups based on the multicast tree. For example... Figure 3 Taking the simple diagram shown as an example, generate the following: Figure 4 The multicast route shown.
[0068] In real-world networks, link dynamism is unavoidable, which can impact multicast link transmission performance. A high-performance multicast algorithm should be able to adapt to dynamic changes in links, minimizing the impact on multicast performance. Link dynamism includes two aspects: one is the switching between different channels between two connected nodes, and the other is the interruption of all links between two connected nodes.
[0069] In one embodiment, when a single transmission path between two adjacent nodes is interrupted, the multicast tree uses parallel edges to handle data transmission. That is, from a number of parallel edges between two nodes, at least two edges are selected. When the link corresponding to one edge is interrupted, the other edge serves as a candidate edge to ensure normal data transmission between the two nodes. During link switching, the selection of candidate edges follows the corresponding multicast tree construction principles.
[0070] When there is no available link between two nodes, the multicast tree structure needs to be adjusted. The adjustment should adhere to the principle of least locality to minimize the impact on the overall multicast tree. For the interrupted node, a multicast tree node connected to that node is identified as a forwarding node. That is, between the two nodes... There is one and only one available edge between them. When the link corresponding to this edge is broken, there are no candidate edges to choose from. In this case, we search for the node with the edge in the simple graph. Connected nodes in the tree As a forwarding node, from Among all edges, the edge with the largest stable delay ratio is selected and added to the tree. During the selection of forwarding nodes, the selection of corresponding edges follows the principles of multicast tree construction.
[0071] In one embodiment, when a node joins as a receiving node, the multicast tree should be adjusted to meet transmission requirements. To avoid transmission interruptions, local adjustments should be minimized to reduce the impact on downstream vertices. Newly joined nodes follow the principles of multicast construction in the corresponding algorithm.
[0072] In one embodiment, when a node leaves the multicast tree, the transmission path should be adjusted to maintain the continuity of data reception. Node departure includes two aspects: leaves and intermediate nodes. If a leaf node leaves, this does not affect other receiving nodes in the multicast and no adjustments are required. If an intermediate node leaves, local adjustments should be minimized to reduce the impact on downstream receiving nodes. After an intermediate node leaves, the affected downstream branches (i.e., the subtree rooted at the intermediate node) should be inserted into the multicast, following the principles of the corresponding construction algorithm. Unlike node connections, its downstream branches are connected as a whole to ensure multicast transmission while the intermediate node is present.
[0073] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0074] Based on the same inventive concept, this application also provides a multicast device for implementing the above-described efficient and stable multicast method based on multiple communication paths. The solution provided by this device is similar to the implementation described in the above method. Therefore, the specific limitations in one or more embodiments of the multicast device based on multiple communication paths provided below can be found in the limitations of the multicast method based on multiple communication paths described above, and will not be repeated here.
[0075] In one embodiment, a multicast device based on a multigraph with efficient and stable multi-communication paths is provided, comprising: a graph construction module for modeling a communication network with multiple links and constructing a self-loop-free undirected connected multigraph; the multigraph includes several nodes and several edges connecting the nodes, and the edge weights include stability and latency;
[0076] The graph simplification module is used to obtain the stable delay ratio based on the edge weights and to obtain a simplified graph based on the stable delay ratio.
[0077] The tree construction module is used to create a tree containing the source node. It starts by using the source node as the starting node and searches for neighboring nodes connected to the starting node in the simple graph based on the stable latency ratio. If a neighboring node is not in the tree, it adds the neighboring node and the edge between it and the source node. If a neighboring node is in the tree, it starts by using the neighboring node as the starting node and searches for neighboring nodes not in the tree but connected to the starting node in the simple graph. It then compares the first path and the second path in the tree based on the stable latency ratio. If the first path is better than the second path, it adds the neighboring node and the edge between it and the starting node. The first path is the path from the source node through the starting node to the neighboring node, and the second path is the path from the source node without going through the starting node to the neighboring node. The module continues searching for neighboring nodes again, starting with the neighboring node of the starting node, until the tree contains all nodes of the multicast group. If there are leaf nodes in the tree that do not belong to the multicast group, the leaf nodes and the edges between them and their parent nodes are removed from the tree, resulting in a multicast tree.
[0078] The routing optimization module is used to optimize multicast routes using the multicast tree.
[0079] The modules in the aforementioned efficient and stable multicast device based on multiple graph communication paths can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0080] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in all of the above method embodiments.
[0081] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in all of the above method embodiments.
[0082] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in all of the above method embodiments.
[0083] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0084] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0085] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0086] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for multicast with multiple communication paths based on multiple graph for high efficiency and stability, characterized in that, The method includes: A communication network with multiple links is modeled to construct an undirected connected multigraph without self-loops; the multigraph includes several nodes and several edges connecting the nodes, and the edge weights include stability and latency. The stable delay ratio is obtained based on the edge weights, and a simple graph is obtained based on the stable delay ratio. Create a tree containing the source node, using the source node as the starting node. Find neighbor nodes connected to the starting node from the simple graph based on the stable delay ratio. If a neighbor node is not in the tree, add the neighbor node and the edge between the neighbor node and the source node to the tree. If a neighbor node is in the tree, using the neighbor node as the starting node, find neighbor nodes not in the tree but connected to the starting node from the simple graph. Compare the first path and the second path in the tree based on the stable delay ratio. If the first path is better than the second path, add the neighbor node and the edge between the neighbor node and the starting node to the tree. The first path is the path from the source node through the starting node to the neighbor node, and the second path is the path from the source node without passing through the starting node to the neighbor node. Use the neighbor node of the starting node as the starting node again to find neighbor nodes until the tree contains all nodes of the multicast group. If there are leaf nodes in the tree that do not belong to the multicast group, remove the leaf nodes and the edges between the leaf nodes and their parent nodes from the tree to obtain the multicast tree. Optimize multicast routing using the multicast tree.
2. The method of claim 1, wherein, The step of obtaining the simplified graph based on the stable delay ratio includes: For a number of parallel edges between two adjacent nodes, select the edge with the largest stable delay ratio as the target edge; The simple graph is obtained by replacing several parallel edges between all adjacent nodes in the multigraph with a single target edge.
3. The method of claim 1, wherein, The step of obtaining the simplified graph based on the stable delay ratio includes: For several parallel edges between two adjacent nodes, obtain the average stable delay ratio of several parallel edges, and construct the target edge using the average stable delay ratio; The simple graph is obtained by replacing several parallel edges between all adjacent nodes in the multigraph with a single target edge.
4. The method according to claim 1, characterized in that, The method further includes: The multicast tree generates candidate edges for each adjacent node and uses parallel edges to undertake data transmission tasks.
5. The method according to claim 1, characterized in that, The method further includes: When there are no available edges between adjacent nodes, for the interrupted node, a node connected to the interrupted node is found in the multicast tree as a forwarding node, and the multicast tree is adjusted.
6. The method according to claim 1, characterized in that, The method further includes: When a new receiving node is added, a path from the source node to the new receiving node is added to the multicast tree according to the multicast tree generation method.
7. The method according to claim 1, characterized in that, The method further includes: When a leaf node exits, the multicast tree remains unchanged.
8. The method according to claim 1, characterized in that, The method further includes: When an intermediate node exits, the subtree rooted at the intermediate node is reconstructed, and the multicast tree is adjusted.
9. A multicast device based on multiple graphs with efficient and stable multi-communication paths, characterized in that, The device includes: The graph construction module is used to model a communication network with multiple links and construct an undirected connected multigraph without self-loops. The multigraph includes several nodes and several edges connecting the nodes, and the edge weights include stability and latency. The graph simplification module is used to obtain a stable delay ratio based on the edge weights and to obtain a simplified graph based on the stable delay ratio. The tree construction module is used to create a tree containing the source node. Taking the source node as the starting node, it searches for neighboring nodes connected to the starting node in the simple graph based on the stable latency ratio. If a neighboring node is not in the tree, it adds the neighboring node and the edge between the neighboring node and the source node to the tree. If a neighboring node is in the tree, it takes the neighboring node as the starting node and searches for neighboring nodes not in the tree but connected to the starting node in the simple graph. It compares a first path and a second path in the tree based on the stable latency ratio. If the first path is better than the second path, it adds the neighboring node and the edge between the neighboring node and the starting node to the tree. The first path is the path from the source node through the starting node to the neighboring node, and the second path is the path from the source node without passing through the starting node to the neighboring node. It uses the neighboring nodes of the starting node as the starting node again to search for neighboring nodes until the tree contains all nodes of the multicast group. If there are leaf nodes in the tree that do not belong to the multicast group, it removes the leaf nodes and the edges between the leaf nodes and their parent nodes from the tree to obtain the multicast tree. The routing optimization module is used to optimize multicast routes using the multicast tree.