Non-deterministic multicast distribution path computation method and device, equipment and storage medium

By determining the optimal source node for each destination node and generating a multicast distribution tree that satisfies the constraints, the complexity of path calculation in multi-source multicast is solved, achieving efficient path determination under SFC and TE constraints, simplifying the path calculation process and improving path reliability.

CN122293574APending Publication Date: 2026-06-26FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
Filing Date
2026-03-19
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

In multi-source multicast scenarios, existing technologies struggle to automatically and efficiently determine multicast distribution paths while satisfying Service Function Chain (SFC) and Traffic Engineering (TE) constraints.

Method used

By determining the optimal source node corresponding to each destination node, grouping them into the same node group, generating a multicast distribution tree that satisfies preset constraints, merging these trees to form a multicast distribution path, and using depth-first search and topology sorting algorithms to detect loops and perform pruning operations to ensure that the path satisfies the constraints.

Benefits of technology

It enables the automatic and efficient determination of multicast distribution paths in multi-source multicast scenarios, satisfying SFC and TE constraints, simplifying the path calculation process, and improving the reliability and efficiency of the paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122293574A_ABST
    Figure CN122293574A_ABST
Patent Text Reader

Abstract

A method, apparatus, device, and storage medium for calculating nondeterministic multicast distribution paths are disclosed. The method includes: determining the optimal source node corresponding to each destination node, and grouping destination nodes corresponding to the same optimal source node into the same node group, resulting in multiple node groups; for each node group, generating a multicast distribution tree with the optimal source node associated with the node group as the root, all destination nodes within the node group as leaf nodes, and satisfying preset constraints; merging the generated multicast distribution trees to obtain the multicast distribution path. This application decomposes the complex multi-source multicast problem into multiple relatively simple single-source multicast sub-problems, and then merges the solutions to the single-source multicast sub-problems (i.e., the multicast distribution trees) to construct a nondeterministic multicast distribution path. This achieves automatic and efficient determination of multicast distribution paths under the condition that multiple source nodes exist and simultaneously satisfy preset constraints.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, specifically to a method, apparatus, device, and computer-readable storage medium for calculating nondeterministic multicast distribution paths. Background Technology

[0002] Software-defined networking (SDN) is a significant trend in current network technology development, with key technologies including Software-Defined Networking (SDN) and Network Function Virtualization (NFV). In an NFV environment, traditional network functions are deployed as Virtual Network Functions (VNFs). Before reaching its destination, a service flow may need to pass through a series of VNFs in a specific order; this ordered sequence is called a Service Function Chain (SFC).

[0003] Multicast is a communication method that efficiently distributes the same data from a source node to a group of destination nodes. Traditional solutions typically construct a "multicast tree" rooted at the source node, with data being copied and forwarded along the tree-like path. Compared to unicast, multicast can significantly save network bandwidth and reduce the load on the source server.

[0004] However, most existing multicast routing methods are based on the assumption of "deterministic multicast," meaning that the source node of a multicast session is fixed and unique. These methods include source-based tree algorithms, center-based tree algorithms, and Steiner tree-based algorithms. They are relatively mature in handling single-source multicast.

[0005] However, as network services increasingly demand robustness and flexibility, a new paradigm of "non-deterministic multicast" has emerged. In this scenario, the content of a multicast service can be provided by any of multiple source nodes, and a destination node can choose to receive data from the best of these source nodes. This multi-source multicast routing structure is typically a "forest" spanning all destination nodes and must satisfy specific constraints: each destination node can only receive data from one source node, and the source nodes being utilized are unreachable from each other. This makes traditional single-source multicast tree algorithms unsuitable for direct application.

[0006] Furthermore, existing research, when constructing multicast trees, typically focuses solely on minimizing total link costs (such as bandwidth usage) as the single optimization objective, neglecting traffic engineering (TE) constraints imposed by services, such as end-to-end latency. For latency-sensitive services, even if a tree has the lowest cost, the path is infeasible if it cannot meet end-to-end latency constraints. Additionally, in NFV environments, multicast paths must satisfy specific SFC constraints, meaning they must traverse designated VNFs in sequence, further increasing the complexity of path computation.

[0007] Therefore, how to automatically and efficiently determine the multicast distribution path (i.e., multicast forest) under the condition that there are multiple source nodes and simultaneously satisfy multiple constraints of SFC and TE has become an urgent technical problem to be solved. Summary of the Invention

[0008] To address the aforementioned technical problems, this application provides a method, apparatus, device, and computer-readable storage medium for calculating nondeterministic multicast distribution paths.

[0009] In a first aspect, embodiments of this application provide a method for calculating a nondeterministic multicast distribution path, the method comprising: Determine the optimal source node corresponding to each destination node, and group the destination nodes that correspond to the same optimal source node into the same node group to obtain multiple node groups; For each node group, a multicast distribution tree is generated with the optimal source node associated with the node group as the root, all destination nodes in the node group as leaf nodes, and satisfying preset constraints. The generated multicast distribution trees are merged to obtain the multicast distribution path.

[0010] In conjunction with the first aspect, in one implementation, determining the optimal source node corresponding to each destination node includes: Determine the optimal reachable path from each source node to each destination node that satisfies the preset constraints; For each destination node, select the optimal reachable path with the minimum path cost from the multiple associated optimal reachable paths, and determine the source node corresponding to the optimal reachable path as the optimal source node corresponding to the destination node.

[0011] In conjunction with the first aspect, in one implementation, merging the generated multicast distribution trees to obtain the multicast distribution path includes: Select the multicast distribution trees that have not been selected from the generated multicast distribution trees. Merging into multicast forest In this case, the multicast forest is initially empty; Detection Does it contain a loop? If no loop exists, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest ; If a loop exists, perform a pruning operation to obtain... ; Detection Does the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation meet the preset constraints? If the conditions are met, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest .

[0012] In conjunction with the first aspect, in one embodiment, the pruning operation includes: calculate The path cost of the optimal path from each source node to each node in the loop in the multiple multicast distribution trees that cause the loop. Prune the last hop of the target optimal path with the highest path cost among all optimal paths.

[0013] In conjunction with the first aspect, in one implementation method, during detection After determining whether the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation satisfies the preset constraints, the following steps are also included: If this condition is not met, the nodes corresponding to the multiple multicast distribution trees that cause the loop will be combined into a new node group, and one of the source nodes associated with the multicast distribution trees that have not been pruned in the multiple multicast distribution trees that cause the loop will be determined as the optimal source node associated with the new node group. Generate a multicast distribution tree with the optimal source node associated with the new node group as the root, all destination nodes in the new node group as leaf nodes, and satisfying preset constraints. Returns to selecting unselected multicast distribution trees from the generated multicast distribution trees. Merging into multicast forest .

[0014] In conjunction with the first aspect, in one implementation, loop detection is achieved through a depth-first search algorithm or a topology sorting algorithm.

[0015] In conjunction with the first aspect, in one implementation, the preset constraints include Service Function Chain (SFC) constraints and / or Traffic Engineering (TE) constraints, wherein the SFC constraints include passing through a Virtual Network Function (VNF) or passing through multiple VNFs in a specified order.

[0016] Secondly, embodiments of this application provide a nondeterministic multicast distribution path calculation device, the nondeterministic multicast distribution path calculation device comprising: The determination module is used to determine the optimal source node corresponding to each destination node, and to divide the destination nodes corresponding to the same optimal source node into the same node group, thus obtaining multiple node groups. The generation module is used to generate a multicast distribution tree for each node group, with the optimal source node associated with the node group as the root and all destination nodes in the node group as leaf nodes, satisfying preset constraints. The merging module is used to merge the generated multicast distribution trees to obtain the multicast distribution path.

[0017] Thirdly, embodiments of this application provide a nondeterministic multicast distribution path calculation device, the nondeterministic multicast distribution path calculation device including a processor, a memory, and a nondeterministic multicast distribution path calculation program stored in the memory and executable by the processor, wherein when the nondeterministic multicast distribution path calculation program is executed by the processor, it implements the steps of the nondeterministic multicast distribution path calculation method as described in the first aspect.

[0018] Fourthly, embodiments of this application provide a computer-readable storage medium storing a nondeterministic multicast distribution path calculation program, wherein when the nondeterministic multicast distribution path calculation program is executed by a processor, it implements the steps of the nondeterministic multicast distribution path calculation method as described in the first aspect.

[0019] The beneficial effects of the technical solutions provided in this application include: In this embodiment, the optimal source node corresponding to each destination node is determined, and destination nodes corresponding to the same optimal source node are grouped into the same node group, resulting in multiple node groups. For each node group, a multicast distribution tree is generated with the optimal source node associated with the node group as the root, all destination nodes within the node group as leaf nodes, and satisfying preset constraints. The generated multicast distribution trees are merged to obtain the multicast distribution path. Through this embodiment, the complex multi-source multicast problem is decomposed into multiple relatively simple single-source multicast subproblems, and the solution results of the single-source multicast subproblems (i.e., multicast distribution trees) are merged to construct a nondeterministic multicast distribution path. This achieves automatic and efficient determination of the multicast distribution path under the condition that there are multiple source nodes and simultaneously satisfy preset constraints. Attached Figure Description

[0020] Figure 1 This is a flowchart illustrating an embodiment of the nondeterministic multicast distribution path calculation method of this application; Figure 2This is a schematic diagram of the topology of the target network in one embodiment; Figure 3 This is a schematic diagram of a multicast distribution tree in one embodiment; Figure 4 This is a detailed flowchart of step S30 in one embodiment; Figure 5 This is a detailed flowchart of step S30 in another embodiment; Figure 6 This is a schematic diagram of a multicast distribution tree in another embodiment; Figure 7 This is a schematic diagram of the merged multicast forest loop in one embodiment; Figure 8 This is a schematic diagram of a multicast forest after disruption in one embodiment; Figure 9 This is a schematic diagram of a nondeterministic multicast path calculation scenario based on preset constraints of a computing server. Figure 10 This is a schematic diagram of the functional modules of an embodiment of the nondeterministic multicast distribution path calculation device of this application; Figure 11 This is a schematic diagram of the hardware structure of the nondeterministic multicast distribution path calculation device involved in the embodiments of this application. Detailed Implementation

[0021] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0022] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0023] In a first aspect, embodiments of this application provide a method for calculating nondeterministic multicast distribution paths.

[0024] In one embodiment, reference is made to Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the nondeterministic multicast distribution path calculation method of this application. Figure 1 As shown, the nondeterministic multicast distribution path calculation method includes: Step S10: Determine the optimal source node corresponding to each destination node, and group the destination nodes corresponding to the same optimal source node into the same node group to obtain multiple node groups; In this embodiment, refer to Figure 2 , Figure 2 This is a schematic diagram of the topology of the target network in one embodiment. Figure 2 A target network N is shown. The target network N contains a node set V = {s1, s2, s3, A, B, C, D, E, F, G, H, I, J, K, M, N, P, Q}. Here, S = {s1, s2, s3} is the source node set, and D = {I, J, N, P, Q} is the multicast receiver node set (i.e., the destination node).

[0025] For each destination node, the optimal path for communication with each source node can be determined. For example, for destination node P, the optimal path PS1 for communication with source node S1, PS2 for communication with source node S2, and PS3 for communication with source node S3 can be determined. Then, the optimal path is selected from PS1, PS2, and PS3. For example, if PS1 is selected, then the optimal source node corresponding to destination node P is S1. This process continues to determine the optimal source node for each destination node, thus grouping destination nodes corresponding to the same optimal source node into the same node group, resulting in multiple node groups.

[0026] Furthermore, in one embodiment, determining the optimal source node corresponding to each destination node includes: Step S101: Determine the optimal reachable path from each source node to each destination node that satisfies the preset constraints; Furthermore, in one embodiment, the preset constraints include Service Function Chain (SFC) constraints and / or Traffic Engineering (TE) constraints, wherein the SFC constraints include passing through a Virtual Network Function (VNF) or passing through multiple VNFs in a specified order.

[0027] Step S102: For each destination node, select the target optimal reachable path with the minimum path cost from the multiple associated optimal reachable paths, and determine the source node corresponding to the target optimal reachable path as the optimal source node corresponding to the destination node.

[0028] In this embodiment, it is assumed that specific network functions are deployed in the target network: service a is deployed on nodes E and H, and service b is deployed on nodes F and G. Before reaching any destination node, multicast service flows need to be processed by service a and service b in a specified order, i.e., the SFC constraint is a -> b. In addition, the service is also subject to TE constraints, such as requiring the total cost of the multicast forest to be minimized, or meeting certain bandwidth and latency limits.

[0029] Taking the determination of the path from source node S1 to destination node P as an example, we determine the optimal reachable path that satisfies the SFC constraint and / or TE constraint, i.e., we calculate the unicast path that satisfies the SFC constraint and / or TE constraint. Assume that the optimal reachable path PS1 from S1 to P that satisfies the preset constraints is {s1, A, E, G, P}. Similarly, we calculate the optimal reachable path PS2 from S2 to P that satisfies the preset constraints as {S2, M, H, F, E, G, P}; and the optimal reachable path PS3 from S3 to P that satisfies the preset constraints as {S3, B, C, E, G, P}.

[0030] The path cost is explained using the total link cost as an example. Figure 2 In the topology graph, the "1", "2", and "3" on the connecting edges between nodes represent costs. For example, the total cost of the link PS1 is 1+1+2+2=6, the total cost of the link PS2 is 1+2+1+2+2+2=10, and the total cost of the link PS3 is 1+1+2+2+2=8. Comparing the total costs of PS1, PS2, and PS3, PS1 has the lowest total cost. Therefore, for the destination node P, PS1 is the optimal reachable path, and S1 is the optimal service source corresponding to the destination node P.

[0031] By following this pattern, the optimal source node corresponding to each destination node can be determined.

[0032] Step S20: For each node group, generate a multicast distribution tree with the optimal source node associated with the node group as the root, all destination nodes in the node group as leaf nodes, and satisfying preset constraints. In this embodiment, assuming that based on the processing in step S10, the optimal source nodes corresponding to the destination nodes P, Q and I are all S1, and the optimal source nodes corresponding to the destination nodes J and N are all S2, then there exists a node group Set1={P, Q, I}, and the optimal source node associated with Set1 is S1; a node group Set2={J, N}, and the optimal source node associated with Set2 is S2.

[0033] For each node group, a multicast distribution tree is generated with the optimal source node associated with the node group as the root, all destination nodes within the node group as leaf nodes, and satisfying preset constraints. This is essentially a constrained Steiner tree problem, which can be computed using existing deterministic multicast tree algorithms (such as center-based tree algorithms or Steiner tree algorithms extended for preset constraints).

[0034] Reference Figure 3 , Figure 3 This is a schematic diagram of a multicast distribution tree in one embodiment. For example... Figure 3 As shown, for node group Set1, the multicast distribution tree T1 is obtained by solving the constrained Steiner tree problem, and for node group Set2, the multicast distribution tree T2 is obtained by solving the constrained Steiner tree problem.

[0035] Step S30: Merge the generated multicast distribution trees to obtain the multicast distribution path.

[0036] In this embodiment, it is assumed that the generated multicast distribution tree includes T1, T2, and T3. First, the multicast forest is initialized, i.e. If the result is empty, then merge the generated multicast distribution tree into it one by one. Until the merging is complete, the multicast distribution path is obtained.

[0037] Furthermore, in one embodiment, reference is made to Figure 4 , Figure 4 This is a detailed flowchart of step S30 in one embodiment. Figure 4 As shown, step S30 includes: Step S301: Select the multicast distribution tree that has not been selected from the generated multicast distribution tree. Merging into multicast forest In this case, the multicast forest is initially empty; Step S302, Detection Does it contain a loop? Furthermore, in one embodiment, loop detection is implemented using a depth-first search algorithm or a topology sorting algorithm.

[0038] In this embodiment, the depth-first search algorithm is used as an example: if a node on the current path is encountered during the traversal (i.e., the node being visited is backtracked), it indicates that a cycle exists.

[0039] Cycle detection based on topological sorting (Kahn's algorithm): Topological sorting arranges all vertices of a directed acyclic graph (DAG) into a linear sequence. If the topological sort cannot traverse all nodes, meaning the final output number of nodes is less than the total number of nodes in the graph, then a cycle exists in the graph.

[0040] If no loop exists, proceed to step S303 to check if there is a multicast distribution tree that has not been selected. If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, return to step S301; If a loop exists, proceed to step S304 to perform pruning operations and obtain the desired result. ; Step S305, Detection Does the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation meet the preset constraints? If satisfied, proceed to step S306 to check if there is a multicast distribution tree that has not been selected. If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, return to step S301.

[0041] In this embodiment, it is assumed that the generated multicast distribution tree includes , as well as ,by , , The multicast forest is merged one by one in sequence. Since the multicast forest is initially empty, after the first merge, .

[0042] like There are no loops in the path, therefore there are multicast distribution trees that have not been selected. as well as Then As a multicast forest, return to step S301. For example, assume that after three merges, And at this time If there are no loops, then there are no unselected multicast distribution trees, and therefore based on... Obtain the multicast distribution path.

[0043] If after the second merger ,at this time If a loop exists, perform a pruning operation to obtain... .

[0044] Furthermore, in one embodiment, the pruning operation includes: Step S3041, calculate The path cost of the optimal path from each source node to each node in the loop in the multiple multicast distribution trees that cause the loop. Step S3042: Perform a pruning operation on the last hop of the target optimal path with the highest path cost among all optimal paths.

[0045] In this embodiment, it is assumed that the multiple multicast distribution trees causing the loop are as follows: and , The source node is S1. The source node is S2, and the nodes forming the loop include E, F, and O. Calculate the path cost of the optimal path from S1 to E, the optimal path from S1 to F, the optimal path from S1 to O, the optimal path from S2 to E, the optimal path from S2 to F, and the optimal path from S2 to O.

[0046] If the path cost of the optimal path from S1 to F is the largest among the six optimal paths, then the last hop of the optimal path from S1 to F is pruned, that is, the last hop of the optimal path from S1 to F is disconnected.

[0047] Based on the examples above, The multicast distribution tree corresponding to the pruning operation is , The source node is S1. The destination nodes include I, J, and N. If the paths from S1 to I, J, and N all satisfy the preset constraints (i.e., the aforementioned SFC constraints and / or TE constraints), since there are still multicast distribution trees that have not been selected at this time... Then As a multicast forest, return to step S301.

[0048] Furthermore, in one embodiment, reference is made to Figure 5 , Figure 5 This is a detailed flowchart of step S30 in another embodiment. For example... Figure 5 As shown, after step S305, the following steps are also included: If not satisfied, proceed to step S307, which combines the nodes corresponding to the multiple multicast distribution trees that cause the loop into a new node group, and determines the optimal source node associated with the new node group from the source nodes associated with the multicast distribution trees that have not been pruned in the multiple multicast distribution trees that cause the loop. Step S308: Generate a multicast distribution tree with the optimal source node associated with the new node group as the root, all destination nodes in the new node group as leaf nodes, and satisfying preset constraints. Return to step S301.

[0049] In this embodiment, refer to Figure 6 , Figure 6 This is a schematic diagram of a multicast distribution tree in another embodiment. The generated multicast distribution tree includes, for example,... Figure 6 The multicast distribution tree shown and For example, after the second merger, the result was... like Figure 7 As shown. (Refer to...) Figure 7 , Figure 7 This is a schematic diagram of the merged multicast forest loop in one embodiment. For example... Figure 7 As shown, There exists a loop consisting of nodes E, O, and F. Referring to the pruning operation description above, the pruning operation results in... like Figure 8 As shown. (Refer to...) Figure 8 , Figure 8 This is a schematic diagram of a multicast forest after disruption in one embodiment. For example... Figure 8 As shown, multicast distribution tree The path from source node S1 to destination node N does not satisfy the SFC constraint. This will result in a loop in the multicast distribution tree. and The corresponding nodes are combined into a new node group, i.e., the new node group Set(1+2) = {I, J, N, P, Q}. At this time, the multicast distribution tree that has not undergone pruning in the multiple multicast distribution trees that cause the loop is: Then The associated source node S2 is used as the optimal source node for the new node group.

[0050] Following the same process as in step S20, the multicast distribution tree corresponding to node group Set(1+2) is obtained. Return to step S301. Here, it is assumed that after the first merge, Then, during the second merge, the multicast forest The second merger resulted in Because of the presence of a cycle, after pruning... If the preset constraints are not met, the second merge operation is abandoned, resulting in... Afterwards, still with This is part of the merging process in step S301 of the multicast forest execution.

[0051] Furthermore, in one embodiment, in a network deployed using SDN / NFV, the service path is typically handled by the controller / path calculation unit. (Refer to...) Figure 9 , Figure 9 This is a schematic diagram illustrating a nondeterministic multicast path computation scenario based on preset constraints of a computing server. For example... Figure 9As shown, in this embodiment, the calculation of the nondeterministic multicast distribution path can also be performed by the controller or the path calculation unit. The user inputs a path calculation request to the path calculation unit through the user interface. Input parameters include a list of service source nodes, a list of service destination nodes, SFC service constraints, and TE constraints (delay or bandwidth constraints). The path calculation unit performs multicast forest calculation based on the input path calculation request and the topology data in the network topology information database. The calculation process is completed by the processor in the controller / path calculation unit. The calculated output path configuration indicated by the multicast forest is distributed to each routing device in the service bearer network through the network interface, specifying that the routing devices forward the multicast service flow according to the specified path. The topology information database on which path calculation depends is constructed by collecting service bearer network topology data through the network interface.

[0052] Secondly, embodiments of this application also provide a nondeterministic multicast distribution path calculation device.

[0053] In one embodiment, reference is made to Figure 10 , Figure 10 This is a functional module diagram of an embodiment of the nondeterministic multicast distribution path calculation device of this application. Figure 10 As shown, the nondeterministic multicast distribution path calculation device includes: Module 10 is used to determine the optimal source node corresponding to each destination node and to divide the destination nodes corresponding to the same optimal source node into the same node group, thus obtaining multiple node groups. The generation module 20 is used to generate a multicast distribution tree for each node group, with the optimal source node associated with the node group as the root and all destination nodes in the node group as leaf nodes, satisfying preset constraints. The merging module 30 is used to merge the generated multicast distribution trees to obtain the multicast distribution path.

[0054] Furthermore, in one embodiment, the determining module 10 is used for: Determine the optimal reachable path from each source node to each destination node that satisfies the preset constraints; For each destination node, select the optimal reachable path with the minimum path cost from the multiple associated optimal reachable paths, and determine the source node corresponding to the optimal reachable path as the optimal source node corresponding to the destination node.

[0055] Furthermore, in one embodiment, the merging module 30 is used for: Select the multicast distribution trees that have not been selected from the generated multicast distribution trees. Merging into multicast forest In this case, the multicast forest is initially empty; Detection Does it contain a loop? If no loop exists, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest ; If a loop exists, perform a pruning operation to obtain... ; Detection Does the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation meet the preset constraints? If the conditions are met, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest .

[0056] Furthermore, in one embodiment, the merging module 30 is used for: calculate The path cost of the optimal path from each source node to each node in the loop in the multiple multicast distribution trees that cause the loop. Prune the last hop of the target optimal path with the highest path cost among all optimal paths.

[0057] Furthermore, in one embodiment, the merging module 30 is used for: If this condition is not met, the nodes corresponding to the multiple multicast distribution trees that cause the loop will be combined into a new node group, and one of the source nodes associated with the multicast distribution trees that have not been pruned in the multiple multicast distribution trees that cause the loop will be determined as the optimal source node associated with the new node group. Generate a multicast distribution tree with the optimal source node associated with the new node group as the root, all destination nodes in the new node group as leaf nodes, and satisfying preset constraints. Returns to selecting unselected multicast distribution trees from the generated multicast distribution trees. Merging into multicast forest .

[0058] Furthermore, in one embodiment, loop detection is implemented using a depth-first search algorithm or a topology sorting algorithm.

[0059] Furthermore, in one embodiment, the preset constraints include Service Function Chain (SFC) constraints and / or Traffic Engineering (TE) constraints, wherein the SFC constraints include passing through a Virtual Network Function (VNF) or passing through multiple VNFs in a specified order.

[0060] The functions of each module in the aforementioned nondeterministic multicast distribution path calculation device correspond to the steps in the aforementioned nondeterministic multicast distribution path calculation method embodiment, and their functions and implementation processes will not be described in detail here.

[0061] Thirdly, embodiments of this application provide a nondeterministic multicast distribution path calculation device, which can be a personal computer (PC), laptop computer, server, or other device with data processing capabilities.

[0062] Reference Figure 11 , Figure 11 This is a schematic diagram of the hardware structure of the nondeterministic multicast distribution path calculation device involved in the embodiments of this application. In the embodiments of this application, the nondeterministic multicast distribution path calculation device may include a processor, a memory, a communication interface, and a communication bus.

[0063] The communication bus can be of any type and is used to interconnect the processor, memory, and communication interface.

[0064] Communication interfaces include input / output (I / O) interfaces, physical interfaces, and logical interfaces used for interconnecting devices within the nondeterministic multicast distribution path computing device, as well as interfaces used for interconnecting the nondeterministic multicast distribution path computing device with other devices (such as other computing devices or user equipment). Physical interfaces can be Ethernet interfaces, fiber optic interfaces, ATM interfaces, etc.; user equipment can be displays, keyboards, etc.

[0065] Memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.

[0066] The processor can be a general-purpose processor, which can call the nondeterministic multicast distribution path calculation program stored in memory and execute the nondeterministic multicast distribution path calculation method provided in the embodiments of this application. For example, the general-purpose processor can be a central processing unit (CPU). The method executed when the nondeterministic multicast distribution path calculation program is called can be referred to in the various embodiments of the nondeterministic multicast distribution path calculation method of this application, and will not be repeated here.

[0067] Those skilled in the art will understand that Figure 11 The hardware structure shown does not constitute a limitation of this application and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0068] Fourthly, embodiments of this application also provide a computer-readable storage medium.

[0069] The present application stores a nondeterministic multicast distribution path calculation program on a computer-readable storage medium, wherein when the nondeterministic multicast distribution path calculation program is executed by a processor, it implements the steps of the nondeterministic multicast distribution path calculation method as described above.

[0070] The method implemented when the nondeterministic multicast distribution path calculation program is executed can be referred to in various embodiments of the nondeterministic multicast distribution path calculation method of this application, and will not be repeated here.

[0071] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0072] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.

[0073] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.

[0074] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0075] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.

[0076] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device to execute the methods described in the various embodiments of this application.

[0077] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A method for calculating a nondeterministic multicast distribution path, characterized in that, The nondeterministic multicast distribution path calculation method includes: Determine the optimal source node corresponding to each destination node, and group the destination nodes that correspond to the same optimal source node into the same node group to obtain multiple node groups; For each node group, a multicast distribution tree is generated with the optimal source node associated with the node group as the root, all destination nodes in the node group as leaf nodes, and satisfying preset constraints. The generated multicast distribution trees are merged to obtain the multicast distribution path.

2. The nondeterministic multicast distribution path calculation method as described in claim 1, characterized in that, Determining the optimal source node for each destination node includes: Determine the optimal reachable path from each source node to each destination node that satisfies the preset constraints; For each destination node, select the optimal reachable path with the minimum path cost from the multiple associated optimal reachable paths, and determine the source node corresponding to the optimal reachable path as the optimal source node corresponding to the destination node.

3. The nondeterministic multicast distribution path calculation method as described in claim 1, characterized in that, The process of merging the generated multicast distribution trees to obtain the multicast distribution path includes: Select the multicast distribution trees that have not been selected from the generated multicast distribution trees. Merging into multicast forest In this case, the multicast forest is initially empty; Detection Does it contain a loop? If no loop exists, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest ; If a loop exists, perform a pruning operation to obtain... ; Detection Does the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation meet the preset constraints? If the conditions are met, check if there is a multicast distribution tree that has not been selected before; If there is no multicast distribution tree that has not been selected, then based on Obtain the multicast distribution path; If there are multicast distribution trees that have not been selected, then... As a multicast forest, it returns a multicast distribution tree that has not been selected from the generated multicast distribution trees. Merging into multicast forest .

4. The nondeterministic multicast distribution path calculation method as described in claim 3, characterized in that, The pruning operation includes: calculate The path cost of the optimal path from each source node to each node in the loop in the multiple multicast distribution trees that cause the loop. Prune the last hop of the target optimal path with the highest path cost among all optimal paths.

5. The nondeterministic multicast distribution path calculation method as described in claim 4, characterized in that, During testing After determining whether the path from the source node to the destination node in the multicast distribution tree corresponding to the pruning operation satisfies the preset constraints, the following steps are also included: If this condition is not met, the nodes corresponding to the multiple multicast distribution trees that cause the loop will be combined into a new node group, and one of the source nodes associated with the multicast distribution trees that have not been pruned in the multiple multicast distribution trees that cause the loop will be determined as the optimal source node associated with the new node group. Generate a multicast distribution tree with the optimal source node associated with the new node group as the root, all destination nodes in the new node group as leaf nodes, and satisfying preset constraints. Returns to selecting unselected multicast distribution trees from the generated multicast distribution trees. Merging into multicast forest .

6. The nondeterministic multicast distribution path calculation method as described in claim 3, characterized in that, Loop detection is achieved using either a depth-first search algorithm or a topology sorting algorithm.

7. The nondeterministic multicast distribution path calculation method as described in any one of claims 1 to 6, characterized in that, The preset constraints include Service Function Chain (SFC) constraints and / or Traffic Engineering (TE) constraints. The SFC constraints include passing through a Virtual Network Function (VNF) or passing through multiple VNFs in a specified order.

8. A nondeterministic multicast distribution path calculation device, characterized in that, The nondeterministic multicast distribution path calculation device includes: The determination module is used to determine the optimal source node corresponding to each destination node, and to divide the destination nodes corresponding to the same optimal source node into the same node group, thus obtaining multiple node groups. The generation module is used to generate a multicast distribution tree for each node group, with the optimal source node associated with the node group as the root and all destination nodes in the node group as leaf nodes, satisfying preset constraints. The merging module is used to merge the generated multicast distribution trees to obtain the multicast distribution path.

9. A nondeterministic multicast distribution path calculation device, characterized in that, The nondeterministic multicast distribution path calculation device includes a processor, a memory, and a nondeterministic multicast distribution path calculation program stored in the memory and executable by the processor, wherein when the nondeterministic multicast distribution path calculation program is executed by the processor, it implements the steps of the nondeterministic multicast distribution path calculation method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a nondeterministic multicast distribution path calculation program, wherein when the nondeterministic multicast distribution path calculation program is executed by a processor, it implements the steps of the nondeterministic multicast distribution path calculation method as described in any one of claims 1 to 7.