CN114070777B - Multicast tree construction method, multicast data transmission method, controller and storage medium - Google Patents

Multicast tree construction method, multicast data transmission method, controller and storage medium Download PDF

Info

Publication number
CN114070777B
CN114070777B CN202010744272.8A CN202010744272A CN114070777B CN 114070777 B CN114070777 B CN 114070777B CN 202010744272 A CN202010744272 A CN 202010744272A CN 114070777 B CN114070777 B CN 114070777B
Authority
CN
China
Prior art keywords
multicast
bandwidth
link
multicast data
destination node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010744272.8A
Other languages
Chinese (zh)
Other versions
CN114070777A (en
Inventor
李骁
杨娟
韩志均
刘沅畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202010744272.8A priority Critical patent/CN114070777B/en
Publication of CN114070777A publication Critical patent/CN114070777A/en
Application granted granted Critical
Publication of CN114070777B publication Critical patent/CN114070777B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Abstract

The invention provides a multicast tree construction method, a multicast data transmission method, a controller and a storage medium. The multicast tree construction method comprises the following steps: acquiring a network topology structure comprising a source node and a destination node; reserving useful subgraphs and effective cut points corresponding to the destination nodes in the network topology structure, and removing useless subgraphs and ineffective cut points in the network topology structure to obtain a simplified network topology structure; a spanning tree including transmission links from the source node to each of the destination nodes is constructed as a multicast tree according to the simplified network topology.

Description

Multicast tree construction method, multicast data transmission method, controller and storage medium
Technical Field
The present invention relates to the field of computer network communication technologies, and in particular, to a multicast construction method, a multicast data transmission method, a controller, and a storage medium.
Background
In network communication such as a local area network, a wide area network, and the internet, communication methods such as unicast and broadcast are classified according to the number of receivers of the same signal/data.
Unicast refers to one-to-one matching of a signal sender and a signal receiver, and belongs to point-to-point communication. Unicast may send different messages for each user's different requests, which gives the advantage that customized services may be made according to the user's specific needs. The disadvantages of unicast are also apparent, as the data stream needs to be sent to each user, the link resource utilization is low and the network bandwidth consumption is too great.
In contrast, broadcasting refers to one-to-many matching of a signal sender with all signal receivers, belonging to point-to-many communication. Broadcasting allows multiple users to receive the same message, but broadcasting means that all users in the subnet will receive such a message, whether it is needed or not, which results in waste of resources.
In summary, there are certain problems in network communications, whether unicast or broadcast.
In such a context, multicasting has occurred. Multicasting is similar to broadcasting in that a one-to-many communication relationship is established between a signal transmission source and a signal receiver. However, unlike broadcasting, the receivers in multicasting are filtered, and the group members all need the signals. Multicasting solves both the disadvantage that unicast cannot be sent to multiple receivers simultaneously and the problem of low resource utilization caused by the broadcast sending a signal to each receiver, whether it is needed or not.
Disclosure of Invention
In the transmission of multicast data, in general, a source node provides data to a plurality of destination nodes that need the same data (i.e., multicast data). The same copy of the multicast data is transmitted over the network link to each of the plurality of destination nodes, respectively. In such a process, the difference in the reception paths may cause a problem in multicast transmission, that is, in the case where there is a difference in the reception capability of signal receivers (destination nodes), a problem in how to simultaneously satisfy the demands of different signal receivers in the signal transmission. The receive path diversity problem is a problem specific to multicast transmissions.
For example, when the amount of data/data rate is large, there may be situations where one or more of the destination nodes cannot receive/process the data. If a large amount of data is continuously sent to the node, the bandwidth is wasted, and the destination node may not operate normally. Furthermore, there may be a problem in that the bandwidth of the transmission link to the node cannot support a large data volume/data rate, which may cause network congestion.
A typical example of this is multicast transmission of video stream data. When a source node provides video streaming data at a higher resolution (corresponding to a larger amount of data), video play at the destination node may be stuck or simply disabled if a destination node does not have the ability to receive the resolution video streaming data (e.g., due to the node's lower network bandwidth or lower data processing capabilities).
One possible solution is to prepare multiple copies/copies of data of different resolutions, e.g. "normal", "high definition", etc., at the source node to provide to nodes of different capabilities. However, this may result in additional consumption of storage space at the source node, as well as greater network bandwidth. For example, storage space and network bandwidth need to satisfy a combination of "high definition" and "normal" and the like, not just "high definition" data. This results in a significant increase in cost.
The invention provides a multicast tree construction method, which constructs a multicast tree according to a network topology structure to acquire a transmission link from a source node to a destination node, thereby being beneficial to grasping the path difference between the destination nodes.
In particular, a multicast data transmission method, a controller and a storage medium are further proposed, wherein on the basis of grasping the path difference, a corresponding data portion in multicast data is further transmitted to each of the multicast destination nodes according to the receiving/processing capability of the terminal (destination node), and/or the network transmission status, etc., so as to adapt to the device difference.
According to one aspect of the present invention, there is provided a multicast tree construction method, including: acquiring a network topology structure comprising a source node and a destination node; reserving useful subgraphs and effective cut points corresponding to the destination nodes in the network topology structure, and removing useless subgraphs and ineffective cut points in the network topology structure to obtain a simplified network topology structure; a spanning tree including transmission links from the source node to each of the destination nodes is constructed as a multicast tree according to the simplified network topology.
In an embodiment of the present invention, the multicast tree construction method further includes: the transmission links in the spanning tree are optimized based on the bandwidth and/or bandwidth utilization of the transmission links.
In an embodiment of the invention, the spanning tree is constructed based on the krueschel algorithm.
In an embodiment of the present invention, the multicast tree construction method further includes: acquiring change information of nodes in the network topology structure; updating the network topology structure based on the change information; and updating the spanning tree based on the updated network topology.
In an embodiment of the invention, the change of the node includes a joining or exiting of the destination node.
According to another aspect of the present invention, there is provided a multicast data transmission method, including: acquiring information of multicast data, wherein the multicast data comprises base layer data and at least one enhancement layer data; acquiring available bandwidth information from a source node to each of destination nodes; instruct the source node to transmit the base layer data in the multicast data to each of the destination nodes; and according to the bandwidth information, indicating the source node to respectively send each of the at least one enhancement layer data in the multicast data to a destination node with a corresponding bandwidth in the destination nodes, wherein the bandwidth information comprises: a bandwidth of a transmission link from the source node to the destination node, and a bandwidth affordable to the destination node; and acquiring the transmission link based on the multicast tree constructed by the multicast tree construction method.
In an embodiment of the invention, the first quality of service of the multicast data corresponds to the base layer data; the second quality of service of the multicast data corresponds to a combination of the base layer data and first enhancement layer data; the second quality of service is higher than the first quality of service.
In an embodiment of the invention, the third quality of service of the multicast data corresponds to a combination of the base layer data, the first enhancement layer data, and the second enhancement layer data; the third quality of service is higher than the first quality of service and higher than the second quality of service.
In an embodiment of the invention, the bandwidth required for the second quality of service is higher than the bandwidth required for the first quality of service.
In an embodiment of the invention, the multicast data comprises video stream data, and the quality of service of the multicast data comprises resolution.
In an embodiment of the invention, for each of the base layer data and the at least one enhancement layer data, a corresponding link table is maintained.
In the embodiment of the invention, based on the change information of the node, the corresponding link table is maintained; wherein the change of the node includes a change in a correspondence of the bandwidth information of the destination node and at least one of the at least one enhancement layer data.
In an embodiment of the invention, the state of the correspondence corresponds to a state in a finite state machine.
In an embodiment of the present invention, the multicast data transmission method is performed by a multicast data transmission controller.
In an embodiment of the invention, the multicast data transmission controller comprises a software defined network controller.
According to another aspect of the present invention, there is provided a multicast data transmission controller comprising a memory and a processor, wherein instructions are stored in the memory, which when executed by the processor, cause the processor to perform the multicast data transmission method described above.
According to another aspect of the present invention, there is provided a computer-readable storage medium having stored thereon a computer program, wherein the program, when executed by a processor, causes the processor to perform the above-described multicast data transmission method.
According to the embodiment of the invention, the multicast tree is constructed according to the network topology structure to acquire the transmission link from the source node to the destination node, which is beneficial to grasp the path difference between the destination nodes.
In particular, on the basis of grasping the path difference, a corresponding data portion in the multicast data is further transmitted to each of the multicast destination nodes according to the reception/processing capability of the terminal (destination node), and/or the network transmission condition or the like, to accommodate the difference in the devices.
Drawings
For a clearer description of the technical solutions of embodiments of the present invention, reference will be made to the accompanying drawings of embodiments, which are to be understood as being only related to some embodiments of the present invention, and not limiting thereof, wherein:
fig. 1 is an exemplary flowchart of a multicast data transmission method according to an embodiment of the present invention.
Fig. 2 is an exemplary block diagram of a system for constructing a multicast tree and transmitting multicast data according to an embodiment of the present invention.
Fig. 3 is an exemplary diagram of correspondence between hierarchically encoded data applied and a destination node according to an embodiment of the present invention.
Fig. 4 is an exemplary flowchart of the steps of constructing a multicast tree according to an embodiment of the present invention.
Fig. 5 is an exemplary diagram of an application of a step of constructing a multicast tree to a network topology according to an embodiment of the present invention.
Fig. 6 is a state transition diagram of a finite state machine according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. It will be apparent that the described embodiments are some, but not all, embodiments of the invention. All other embodiments, which can be obtained by a person skilled in the art without creative efforts, based on the described embodiments of the present invention also fall within the protection scope of the present invention.
Fig. 1 is an exemplary flowchart of a multicast data transmission method according to an embodiment of the present invention.
As shown in fig. 1, in an embodiment of the present invention, a multicast data transmission method includes: step S101, obtaining information of multicast data, wherein the multicast data comprises base layer data and at least one enhancement layer data; step S102, available bandwidth information from a source node to each of destination nodes is acquired; step S103, the source node is instructed to send the base layer data in the multicast data to each of the destination nodes; step S104, according to the bandwidth information, the source node is instructed to respectively send each of at least one enhancement layer data in the multicast data to a destination node with a corresponding bandwidth in the destination nodes.
The bandwidth information may include: the bandwidth of the transmission link from the source node to the destination node and the bandwidth affordable to the destination node. The bandwidth of the transmission link and the information of the bandwidth that can be tolerated by the destination node can be acquired in any method. For example, the information may be stored in advance in a server or controller of the network. The transmission link can also be acquired based on a multicast tree constructed by a multicast tree construction method described later, so as to be better adapted to a network topology structure which may dynamically change.
According to the embodiment of the invention, in the transmission process of multicast data, corresponding data parts in the multicast data are transmitted for each of the multicast destination nodes according to the receiving/processing capability of the terminal (destination node), the network transmission condition and the like, so as to adapt to the difference of the devices.
In particular, the source node may only provide a copy of the multicast data corresponding to the maximum bandwidth/highest quality of service into the network, but different parts of the multicast data (base layer, enhancement layer) are transmitted to different destination nodes. The different parts of the multicast data may comprise IP (internet protocol) addresses, MAC (medium access control) addresses etc. of different destination nodes. This is advantageous for saving bandwidth, storage space of the source node. This is significant for cost savings in the case where the source node is a service provider or the like that needs to provide a large amount of service data.
Different layers of multicast data may be encapsulated according to UDP (user datagram protocol) and create multiple UDP sockets of different port numbers for transmission. The source node may directly mark the destination node in the multicast data, or may transmit the multicast data to a designated other forwarding node (switch, route, etc.) for marking processing or the like by the other forwarding node.
The respective destination nodes may receive the portions of the multicast data based on available bandwidth from the source node to each of the destination nodes. The destination node itself need not handle the amount of data that exceeds its own capabilities (or exceeds its own needs) and the network link to the destination node need not carry the amount of data that exceeds its bandwidth. This can provide a smooth data service to the destination node more accurately. This facilitates the normal operation of the destination node and avoids manual selection and setting of the destination node by the user at the destination node.
Any number of enhancement layer data may be included depending on the particular application, including, for example: first enhancement layer data, second enhancement layer data, third enhancement layer data, fourth enhancement layer data, etc. The information of the multicast data may correspondingly include such hierarchically-structured information.
In some embodiments, the first quality of service of the multicast data corresponds to the base layer data; the second quality of service of the multicast data corresponds to a combination of the base layer data and the first enhancement layer data; the second quality of service is higher than the first quality of service.
In some embodiments, the third quality of service of the multicast data corresponds to a combination of the base layer data, the first enhancement layer data, and the second enhancement layer data; the third quality of service is higher than the first quality of service and higher than the second quality of service.
Similarly, the combination of more enhancement layer data results in higher quality of service. That is, in a multi-layer structure of multicast data, base layer data may provide a basic data service. And with the gradual superposition of the enhancement layer data, the data service with gradually enhanced service quality can be provided.
In some embodiments, the bandwidth required for the second quality of service is higher than the bandwidth required for the first quality of service for transmitting more layers of data.
Fig. 2 is an exemplary block diagram of a system for constructing a multicast tree and transmitting multicast data according to an embodiment of the present invention.
As shown in fig. 2, further description will be given taking an example of transmission of video streaming multicast data in an SDN network.
SDN (Software Defined Network ) is a new network architecture whose core idea is to separate the forwarding plane and the control plane in legacy devices. The centralized SDN controller uses standard interfaces to configure and manage various different network devices, so that the management of the network is more centralized and refined. SDN can provide the information of the whole network topology, enhance the cognition of the bottom network, optimize the multicast tree and improve the resource utilization rate.
In fig. 2, a system of adaptive multi-rate multicast tree with efficiently available SDN-based resources may be constructed, including an SDN controller 100, a video streaming server 200, an SDN network 300. It should be understood that in fig. 2, in order to make the logical structure clearer, the SDN network 300 herein mainly includes network transmission links (such as routes, switches, wired/wireless network links, etc.), destination nodes, and the like. In a broad sense, SDN network 300 may also be considered to include SDN controller 100, video streaming server 200, and the like.
The functions of the video streaming server 200 include layered video encoding 202 of video content 201 to obtain layered video streams 203 of different bandwidths, uploading relevant video information to an SDN controller, and transmitting the layered video streams 203 into an SDN network. That is, the video streaming server 200 is a source node that provides multicast data.
The SDN controller 100 functions in the following ways: firstly, interfacing with a video streaming server 200 to acquire and record layered video streaming information; secondly, managing devices in the SDN network 300, where the management includes multicast management 101, user management 102, video management 103, topology management 104, qoS (quality of service) management 105, and route management 106; thirdly, according to the user requirements, issuing a specified flow table related to the open flow, and further maintaining the SDN. That is, the SDN controller may be configured to perform the multicast data transmission method described above.
SDN controller 100 may obtain an Open Flow (OF) event 402 from SDN network 300 and send an OF command 401 to the SDN network.
In the example shown in fig. 2, the video stream sent by the source node may be scalable and layered to obtain a video stream of a base layer and several enhancement layers. Wherein the video stream of the base layer is used to provide a basic video quality (e.g., lower resolution) and the video stream of the enhancement layer is used to enhance the quality of the video (e.g., higher resolution) on the basis of the base layer, the greater the number of superimposed enhancement layers the better the video quality. This facilitates providing different quality of service depending on the situation of the destination node.
Fig. 3 is an exemplary diagram of correspondence between hierarchically encoded data applied and a destination node according to an embodiment of the present invention.
For example, suppose that SDN controller 100 has learned: the maximum bandwidth available to the destination node 1 (uid=1) is 8, the maximum bandwidth available to the destination node 2 (uid=2) is 6, the maximum bandwidth available to the destination node 3 (uid=3) is 4, the maximum bandwidth available to the destination node 4 (uid=4) is 4, the maximum bandwidth available to the destination node 5 (uid=5) is 6, the maximum bandwidth available to the destination node 6 (uid=6) is 8, and the maximum bandwidth available to the destination node 7 (uid=7) is 10.
The base layer data and enhancement layer data may correspond to different bandwidths. For example, the relative bandwidths of the base layer of the layered video are denoted as 4, the relative bandwidths of the first layer enhancement layer are denoted as 2, and the relative bandwidths of the second layer, the third layer, and the fourth layer are also denoted as 2. Thus, the relative bandwidth required to transmit base layer video is 4. The relative bandwidth required to transmit the video stream for the base layer to accumulate one enhancement layer is 6, i.e., the relative bandwidth of the base layer plus the relative bandwidth of the first enhancement layer. The relative bandwidth required for transmitting the video stream of the base layer accumulated two enhancement layers is 8, namely the relative bandwidth of the base layer plus the relative bandwidths of the first enhancement layer and the second enhancement layer. The relative bandwidth required for transmitting the video stream of the base layer accumulated three enhancement layers is 10, namely the relative bandwidth of the base layer plus the relative bandwidths of the first layer, the second layer and the third layer enhancement layers.
That is, if all destination nodes can reach the maximum bandwidth available (e.g., current network conditions allow, and/or network billing policy allow, and/or processing power and setup allow of the nodes themselves, etc.), destination node 3 and destination node 4 can only receive the base layer video stream (bandwidth 4), destination nodes 2 and 5 can receive the base layer-accumulated-one-layer enhancement layer video stream (bandwidth 6), destination nodes 1 and 6 can receive the base layer-accumulated-two-layer enhancement layer video stream (bandwidth 8), and destination node 7 can receive the base layer-accumulated-three-layer enhancement layer video stream (bandwidth 10).
It should be appreciated that each of the bandwidth units described above may represent any suitable rate, e.g., 1 bandwidth unit may correspond to 1MB/s or 5MB/s or 10MB/s, etc.
The bandwidth information described above may be acquired in any manner. For example, a fixed transmission link from the source node to each of the destination nodes and corresponding bandwidth information, as well as the bandwidth affordable by the destination node itself, may be stored in SDN controller 100. It should be appreciated that such transmission links and corresponding bandwidth information may also be determined dynamically. Such a process may be referred to as a process of constructing a multicast tree/acquiring a transmission link.
It should be appreciated that the maximum bandwidth available here may be based solely on the capabilities/configuration of the node itself, or may be based on other factors such as the network transmission link.
Fig. 4 is an exemplary flowchart of the steps of constructing a multicast tree according to an embodiment of the present invention.
As shown in fig. 4, in an embodiment of the present invention, a multicast tree may be constructed using a multicast tree construction method as described below, and further a transmission link may be acquired according to the multicast tree. The multicast tree construction method comprises the following steps: s201, acquiring a network topology structure comprising each of a source node and a destination node; s202, reserving useful subgraphs and effective cut points corresponding to target nodes in a network topology structure, and removing useless subgraphs and ineffective cut points in the network topology structure to obtain a simplified network topology structure; s203, constructing a spanning tree containing transmission links from the source node to each of the destination nodes as a multicast tree according to the simplified network topology. The spanning tree described above may be constructed using various algorithms. For example, in some embodiments, the spanning tree is constructed based on, or similar to, the krueckel algorithm.
In this way, the SDN controller may determine each transmission link according to the current network topology.
Furthermore, various different metrics may be used to optimize such links. For example, in some embodiments, the transmission links in the spanning tree may be optimized based on the bandwidth and/or bandwidth utilization of the transmission links to select as appropriate a bandwidth transmission link as possible, and/or to increase utilization of individual link bandwidths in the network as possible.
That is, in the embodiment of the present invention, the SDN controller establishes a topology structure of the video stream distribution network according to the slicing point, the spanning tree and other algorithms according to the layering condition receivable by the destination node and the bandwidth condition affordable by the network link, forms a multicast distribution tree, and issues a stream table to transmit the video stream.
Fig. 5 is an exemplary diagram of an application of a step of constructing a multicast tree to a network topology according to an embodiment of the present invention.
The SDN controller can acquire the link bandwidth information and the bandwidth information bearable by the destination node by detecting and acquiring the structure of the whole network topology, and initialize the network. In the original network shown in fig. 5 (a), a block represents a source node or a destination node, wherein the numbers 0 in the block are labeled as source nodes and the numbers 1 to 7 are labeled as destination nodes. Black circles represent cut points in the graph, i.e. nodes related to connectivity of the network topology. In the graph, if any cut point is deleted, the graph is not communicated any more. The cut point may be determined by traversal or the like (e.g., a depth-first search or the like). White circles represent common nodes. The numbers on the links and nodes (the numbers outside the box) represent the relative bandwidths. The cut points and the common nodes are respectively represented by a to u.
Further choices may be made for cut points, links, etc. in the network topology to form a spanning tree that includes links from the source node to each of the destination nodes. This may be referred to as a cut point spanning tree algorithm. The cut point spanning tree algorithm in the embodiment of the invention aims to ensure the bandwidth requirement of the destination node to the greatest extent under the condition that the least possible nodes and links are used, and simultaneously improves the bandwidth utilization rate of the links to the greatest extent. The process of the cut point spanning tree algorithm and the associated results may be further specifically illustrated by (a) - (f) in fig. 5.
First, all cut points in (a) of the initial network diagram 5 are found, and it is checked whether the cut points connect only one useless sub-graph, and if only one useless sub-graph is connected, the cut points (ineffective/useless cut points) and the useless sub-graph are removed from the network diagram. A subgraph refers to a graph in which the node set and the edge set are a subset of the node set and a subset of the edge set, respectively, of the initial network topology graph. Useless subgraph means that the subgraph does not contain destination nodes. If the cut point is connected with the useful sub-graph, the cut point becomes a valid/useful cut point, and the useful sub-graph refers to that the sub-graph contains the destination node. If the cut point is connected with both the useful sub-graph and the useless sub-graph, the cut point is reserved, and the useless sub-graph part is removed. After removing the invalid cut points and the useless subgraphs connected with the invalid cut points, a new network is obtained (fig. 5 (b)) and a valid cut point set { c, e, f, g, h, i, j, k, q, s, t, u }. This may be referred to as a preliminary pruning process and the resulting network topology may be referred to as a simplified network topology.
Then, an approximate kruesky-karst algorithm is applied to all cut points, the edges connecting the two cut points, and the destination node, and a full cut point spanning tree is generated as shown in fig. 5 (c). Specifically, the full cut point spanning tree may have only the cut point and the destination node and the link connected, and the link of the cut point connected to the normal node may not be in the tree. The full cut point spanning tree can ensure connectivity from the source node to the destination node while removing useless parts, and can be used for judging bandwidth information and respectively transmitting layered data.
However, such full cut point spanning trees may not be optimal. For example, not all destination nodes may reach the theoretical bandwidth they need due to limitations in link bandwidth. Specifically, such as destination node 6, whose maximum bearable bandwidth is 8, but whose link to the network has a smaller link bandwidth (e.g., 6 in the t-6 link), its maximum bearable bandwidth cannot be satisfied.
The maximum link bandwidth from the source node to each destination node may be calculated by a specified algorithm. The algorithm is specified to mark minimum values of affordable bandwidth in each path from the source node to the destination node and then take the maximum of these minimum values. For example, there are three paths from the source node to a destination node, the minimum bandwidth in each link on the first path is 8, the minimum bandwidth in each link on the second path is 10, and the minimum bandwidth in each link on the third path is 12, then the maximum sustainable bandwidth from the source node to the destination node is 12.
In addition, on the contrary, although the links can meet the larger bandwidth, the destination node itself can bear the smaller bandwidth, and when the links connected to the network are unnecessary to transmit the larger bandwidth, specifically, for example, the destination node 4 has the maximum bearable bandwidth of 4, but the minimum bandwidth value in the links (0-c-i-h-g-4) connected to the network is 6, and the bandwidth transmitted by the links can be considered to be reduced from 6 to 4 without influencing the transmission of other destination nodes, so as to reduce the network load. Furthermore, the destination node itself may also actively require smaller bandwidth data for its own needs, which may be, for example, from the standpoint of ensuring smoothness and/or from the standpoint of reducing costs.
Therefore, a further optimized structure can be performed for the full cut point spanning tree in fig. 5 (c).
For example, it may first check whether the bandwidth of the destination node is maximally satisfied, if not, traverse the nodes near the destination node through which the bandwidth of the larger link passes, where the nodes include cut points and non-cut points, perform trial replacement, if better service can be provided, add the non-cut points or links to the full-cut point spanning tree, and then replace or modify the original links to form a cut point spanning tree as shown in (d) of fig. 5.
Specifically, in fig. 5 (c), the maximum bandwidth of the destination node 1 is not satisfied, and the destination node 1 may select the link e-d, the link c-d to achieve its own maximum bandwidth, and then select to replace the link e-c with the link e-d, the link c-d, and the added node d, resulting in fig. 5 (d).
For another example, in fig. 5 (d), the maximum bandwidth of the destination node 6 is not satisfied, and the link s-h may be selected to replace the link t-j to achieve the maximum bandwidth of the destination node 6, resulting in fig. 5 (e). This may be referred to as the first stage of optimization. Such selection and replacement processes may be performed on each link (which may be any two nodes, or any number of links between nodes).
Finally, it can also be checked that the bandwidth utilization of the link can be improved, and if there is a link that can improve the bandwidth utilization without affecting the bandwidth of the destination node, the original link is selected to be replaced. For example, in fig. 5 (e), the destination node 2 may make the bandwidth utilization of the link d-f hundred percent higher than the bandwidth utilization of the video transmitted through the link e-f-2 by using the link d-f-2, and then choose to replace the link e-f-2 with the link d-f-2, resulting in fig. 5 (f). This may be referred to as the second stage of optimization. The process can also be traversed over all links.
That is, the cut point spanning tree algorithm is applied, and the number of links and nodes is optimized under the condition that the maximum bandwidth of the destination node is ensured to be satisfied, so that a topological graph shown in (f) of fig. 5 is obtained.
In this way, the SDN controller obtains the bandwidth case for all links in the multicast tree. And obtaining the maximum bandwidth value receivable by the destination node according to the difference of the receiving capability of the terminal equipment, namely the destination node. And combining the layering situation of the source video streams, the number of the layering video streams receivable by each destination node can be further calculated.
As can be derived from fig. 5 (f), destination nodes 3, 4 and 5 receive only the base layer video stream (bandwidth 4), destination nodes 2 and 6 can receive the base layer-accumulated one layer enhancement layer video stream (bandwidth 6), destination node 1 can receive the base layer-accumulated two layer enhancement layer video stream (bandwidth 8), and destination node 7 can receive the base layer-accumulated three layer enhancement layer video stream (bandwidth 10).
That is, on the premise that the maximum bandwidth requirement of the destination node is satisfied as much as possible, the utilization rate of the resources is increased, and finally the video stream layering situation as described above is allocated to the destination node.
In some embodiments, the multicast tree construction method may further include: acquiring change information of nodes in a network topology structure; updating the network topology structure based on the change information; and updating the spanning tree based on the updated network topology. In some embodiments, the change of node includes a joining or exiting of the destination node.
As an example, if a new destination node joins or an original destination node exits in the video transmission network, the SDN controller needs to dynamically adjust the topology of the transmission video stream. Whether there is a new destination node joining or exiting, it needs to be checked and updated.
In some embodiments, for each of the base layer data and the at least one enhancement layer data, a corresponding link table may be maintained. Each link table represents the path of current data from a source node to a destination node. The link table may be derived from a spanning tree, in particular an optimized spanning tree. And in particular the spanning tree and link table may be updated in response to changes in the network topology. In some embodiments, even though the nodes themselves already exist in the network, corresponding link tables may be maintained based on the change information of the nodes; the change of the node may include a change in a correspondence of bandwidth information of the destination node to at least one of the at least one enhancement layer data (e.g., whether transmission of a certain enhancement layer data is supported).
Fig. 6 is a state transition diagram of a finite state machine used in accordance with an embodiment of the present invention.
In some embodiments, the state of the correspondence may correspond to a state in a finite state machine, so that the SDN controller may use the finite state machine mechanism to check its link paths and destination nodes, and if some path link bandwidths and/or bearable bandwidths of the destination nodes change, adaptive adjustment is required. When in adjustment, if the original multicast tree can be satisfied, the existing path is first selected, and if the existing multicast tree can not be satisfied, the existing path is selected to be changed.
The finite state machine mechanism may be to maintain a link table for each link of each layered video stream. Each link has three flags (M, N, T), where M indicates, for k-layer video streams, whether the link can accommodate k-layer video streams, N indicates whether the link needs to transmit k-layer video streams, and T indicates whether an SDN controller has configured rules for forwarding k-layer video streams on the link. For example, m=1 indicates that the link has the ability to transmit k-layer video streams, and m=0 indicates that the link does not have sufficient resources to transmit k-layer video streams. N=1 indicates that the link needs to transmit k-layer video streams, and n=0 indicates that the link does not need to transmit k-layer video streams. T=1 indicates that the forwarding rule for transmitting the k-layer video stream is configured for the link, and t=0 indicates that the forwarding rule for transmitting the k-layer video stream is not configured for the link. Only if the link can accommodate the transmission of k-layer video streams and the link needs to transmit the layer, the SDN controller will configure k-layer video layer forwarding rules on the link. That is, the identity of T depends on M and N, satisfying the following equation:
T=M*N;
thus, a link may have four possible states, as follows:
1) S1= (0, 0) in this state the link has no capacity to accommodate k-layer video streams, nor does the link need to transmit k-layer video streams. Thus, forwarding rules for the k-layer video stream are not configured for this link.
2) S2= (0, 1, 0) in this state the link needs to transmit the k-layer video stream, but the link has no capability to accommodate the k-layer video stream. Thus, no forwarding rules for the k-layer video stream are configured for the link.
3) S3= (1, 0) in this state the link has the ability to accommodate k-layer video streams, and the link does not need to transmit k-layer video streams. Therefore, it is not necessary to forward the packets of this layer, so no forwarding rules for the k-layer video stream are configured for the link.
4) S4= (1, 1) in this state the link has the ability to accommodate k-layer video streams, which it also needs to transmit. Therefore, forwarding rules for the k-layer video stream need to be configured for this link.
The finite state machine can only be in one state at a time. The state in which it is at any given time is referred to as the current state. When a trigger event is initiated, it may change from one state to another. There are two types of events used to drive state transitions in the final state machine, namely M events, where M events refer to events where an M value change (e.g., a change between 0, 1) triggers a T value change in the case of the link n=1, and N events refer to events where an N value change (e.g., a change between 0, 1) triggers a T value change in the case of the link m=1. After the T value is changed, the link state is changed, the link is triggered layer by layer until all trigger events are finished, the link is adjusted, and then the node state is adjusted according to the link adjustment condition.
When a destination node joins or exits, a link is adjusted, and the SDN multicast network is dynamically maintained. In fig. 5, for example, when destination node 1 exits the network, the bandwidth of the layered video stream transmitted by links c-d may drop from 8 to 6. This step is in fact adaptively adjusted by the state of the link table of the second layer enhancement layer, i.e. the link table of the second layer enhancement layer of links c-d is changed from (1, 1) to (1, 0). Similarly, when the destination node 8 with bandwidth requirement 12 joins the network from cut point j, the link table of the fourth layer enhancement layer of links 0-c, c-i, i-j will change from (1, 0) to (1, 1), so that the controller configures the forwarding rule of the video stream of the fourth layer enhancement layer at links 0-c, c-i, i-j. After the destination node is added, the link is optimized by adopting the link optimization algorithm for the node connected with the destination node.
Therefore, the SDN controller can always acquire the optimal transmission link, and the success rate of multicast data transmission and the utilization rate of network bandwidth are improved.
In an embodiment of the present invention, the multicast data transmission controller may have any structure, for example, may have one or more processors and memories. Instructions are stored in a memory. The instructions, when executed by the processor, cause the multicast data transmission controller (or more specifically, the processor) to perform the multicast data transmission method in the above-described embodiment. The processor may be any general purpose or special purpose processor such as a central processing unit, digital signal processor, field programmable gate array, or the like. The memory may be any kind of volatile memory or non-volatile memory.
Furthermore, a multicast data transfer controller (e.g., SDN controller) may also be implemented as a software module running on a general purpose server/computer.
According to the specific embodiment, the scheme of the invention is based on the multicast tree, and can maximize the link utilization and minimize the flow table items needed by the multicast session while meeting the bandwidth allocation fairness and improving the transmission rate of the multicast session.
SDN techniques may be employed to improve multicast performance. The SDN technology may improve the problems of scalability, managing dynamic groups, etc. in the multicast technology. An SDN network with open flows may implement many new features of routing and flexible forwarding semantics inside network switches/routers, etc. The SDN technology is applied to the multicast technology, the topology structure of the current network can be obtained more quickly, the optimized multicast tree is obtained, forwarding nodes on each path are set more conveniently, and the multicast performance can be improved greatly.
In addition, the problem of the difference of the receiving capability of the equipment can be solved by using the layered coding technology. Layered coding techniques may be used to encode multicast data (e.g., video data) into different ones of the data streams (e.g., enhancement layer data corresponding to different resolutions) in order to transmit the corresponding ones of the data streams in accordance with the receiving/processing capabilities of the terminal (destination node), network conditions, etc. For example, scalable video coding provided by embodiments of the present invention is an effective method for solving the problem of video stream reception path difference, which compresses video into non-overlapping layers of a plurality of streams, including a base layer providing basic video services and a plurality of enhancement layers to improve the quality of video.
In addition, a finite state machine mechanism can be used for solving the problem of multicast tree updating caused by dynamic change of multicast nodes, and aims to solve the problem of real-time incremental fair allocation of network bandwidth.
In addition, a cut point spanning tree algorithm is applied, the structure of a multicast tree is optimized on the premise that the equipment difference is satisfied and the bandwidth of a receiving end is not damaged, and the availability of resources is improved.
It should be appreciated that reference throughout this specification to "an embodiment" or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention.
Furthermore, it will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the above storage medium may be a read only memory, a magnetic disk or an optical disk, etc.
It is to be understood that the above embodiments are merely illustrative of the application of the principles of the present invention, but not in limitation thereof. Various modifications and improvements may be made by those skilled in the art without departing from the spirit and substance of the invention, and are also considered to be within the scope of the invention.

Claims (16)

1. A multicast tree construction method, comprising:
acquiring a network topology structure comprising a source node and a destination node;
reserving useful subgraphs and effective cut points corresponding to the destination nodes in the network topology structure, and removing useless subgraphs and ineffective cut points in the network topology structure to obtain a simplified network topology structure;
constructing a spanning tree including a transmission link from the source node to each of the destination nodes as a multicast tree according to the simplified network topology;
if the link bandwidth of the first transmission link between the first destination node and the source node in the spanning tree is smaller than the maximum bearable bandwidth of the first destination node, and a link with the link bandwidth equal to the maximum bearable bandwidth of the first destination node exists between the source node and the first destination node in the simplified network topology, replacing the first transmission link by the link;
and if the maximum bearable bandwidth of the second destination node in the spanning tree is smaller than the link bandwidth of the second transmission link from the source node to the second destination node in the spanning tree, reducing the link bandwidth of the second transmission link to the maximum bearable bandwidth of the second destination node.
2. The multicast tree construction method according to claim 1, wherein the spanning tree is constructed based on a krueschel algorithm.
3. The multicast tree construction method according to claim 1, wherein the multicast tree construction method further comprises:
acquiring change information of nodes in the network topology structure;
updating the network topology structure based on the change information;
and updating the spanning tree based on the updated network topology.
4. A multicast tree construction method according to claim 3, wherein the change of the node comprises a joining or a leaving of the destination node.
5. A multicast data transmission method, comprising:
acquiring information of multicast data, wherein the multicast data comprises base layer data and at least one enhancement layer data;
acquiring available bandwidth information from a source node to each of destination nodes;
instruct the source node to transmit the base layer data in the multicast data to each of the destination nodes;
instructing the source node to transmit each of the at least one enhancement layer data in the multicast data to a destination node having a corresponding bandwidth among the destination nodes, respectively, according to the bandwidth information,
wherein the bandwidth information includes: a bandwidth of a transmission link from the source node to the destination node, and a bandwidth affordable to the destination node;
wherein the transmission link is acquired based on a multicast tree constructed according to the multicast tree construction method according to any one of claims 1 to 4.
6. The multicast data transmission method as claimed in claim 5, wherein,
the first quality of service of the multicast data corresponds to the base layer data;
the second quality of service of the multicast data corresponds to a combination of the base layer data and first enhancement layer data;
the second quality of service is higher than the first quality of service.
7. The multicast data transmission method as claimed in claim 6, wherein,
a third quality of service of the multicast data corresponds to a combination of the base layer data, the first enhancement layer data, and the second enhancement layer data;
the third quality of service is higher than the first quality of service and higher than the second quality of service.
8. The multicast data transmission method according to claim 6 or 7, wherein the bandwidth required for the second quality of service is higher than the bandwidth required for the first quality of service.
9. The multicast data transmission method of claim 5, wherein the multicast data comprises video stream data and the quality of service of the multicast data comprises resolution.
10. The multicast data transmission method of claim 5, wherein for each of the base layer data and the at least one enhancement layer data, a corresponding link table is maintained.
11. The multicast data transmission method according to claim 10, wherein the corresponding link table is maintained based on change information of a node;
wherein the change of the node includes a change in a correspondence of the bandwidth information of the destination node and at least one of the at least one enhancement layer data.
12. The multicast data transmission method of claim 11, wherein the state of the correspondence corresponds to a state in a finite state machine.
13. The multicast data transmission method of claim 5, wherein the multicast data transmission method is performed by a multicast data transmission controller.
14. The multicast data transmission method of claim 13, wherein the multicast data transmission controller comprises a software defined network controller.
15. A multicast data transmission controller comprising a memory and a processor, wherein instructions are stored in the memory which, when executed by the processor, cause the processor to perform the multicast data transmission method according to any of claims 5-14.
16. A computer readable storage medium having stored thereon a computer program, wherein the program, when executed by a processor, causes the processor to perform the multicast data transmission method according to any of claims 5-14.
CN202010744272.8A 2020-07-29 2020-07-29 Multicast tree construction method, multicast data transmission method, controller and storage medium Active CN114070777B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010744272.8A CN114070777B (en) 2020-07-29 2020-07-29 Multicast tree construction method, multicast data transmission method, controller and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010744272.8A CN114070777B (en) 2020-07-29 2020-07-29 Multicast tree construction method, multicast data transmission method, controller and storage medium

Publications (2)

Publication Number Publication Date
CN114070777A CN114070777A (en) 2022-02-18
CN114070777B true CN114070777B (en) 2023-07-04

Family

ID=80226918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010744272.8A Active CN114070777B (en) 2020-07-29 2020-07-29 Multicast tree construction method, multicast data transmission method, controller and storage medium

Country Status (1)

Country Link
CN (1) CN114070777B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000030295A2 (en) * 1998-11-18 2000-05-25 Nortel Networks Limited Providing admission control with a distributed bandwidth broker
CN1917398A (en) * 2006-07-20 2007-02-21 北京航空航天大学 Method for creating shared multicast tree in single kernel
EP1949611A2 (en) * 2005-11-14 2008-07-30 Cisco Technology, Inc. System and method for spanning tree cross routes
CN101562556A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, device and system for reducing network coding cost
CN101946460A (en) * 2008-02-14 2011-01-12 爱立信电话股份有限公司 Segmentation of multicast distributed services
CN103957267A (en) * 2014-05-08 2014-07-30 中国人民解放军总参谋部气象水文空间天气总站 Multi-network multi-task multi-node data distribution method
CN104301933A (en) * 2014-10-17 2015-01-21 中国人民解放军理工大学 Method for calculating bandwidth and distributing bandwidth in wireless ad hoc network
CN104917677A (en) * 2014-03-10 2015-09-16 中兴通讯股份有限公司 Data stream forwarding control method and system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101015191A (en) * 2004-07-09 2007-08-08 高通股份有限公司 System for layering content for scheduled delivery in a data network
US8059647B2 (en) * 2005-10-05 2011-11-15 Nortel Networks Limited Multicast implementation in a link state protocol controlled ethernet network
KR100734846B1 (en) * 2005-11-21 2007-07-03 한국전자통신연구원 Method of network resource provisioning for bandwidth guarantee per flow
CN101299671B (en) * 2007-04-30 2013-03-13 上海贝尔阿尔卡特股份有限公司 Method and device for transmitting and receiving multicast data packet
KR100970388B1 (en) * 2008-10-31 2010-07-15 한국전자통신연구원 Network flow based scalable video coding adaptation device and method thereof
JP5612105B2 (en) * 2009-10-02 2014-10-22 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Scalable video control bandwidth allocation for data services
CN102142970B (en) * 2011-03-16 2013-12-18 华为技术有限公司 Method for constructing multicast tree in two-layer Ethernet and network node equipment
CN103368770B (en) * 2013-06-18 2017-09-29 华中师范大学 Adaptive ALM overlay networks based on gateway-level topology are built and maintenance system
US10129043B2 (en) * 2015-11-04 2018-11-13 Huawei Technologies Canada Co., Ltd. Apparatus and method for network flow scheduling
US9954765B2 (en) * 2016-01-08 2018-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Graph construction for computed spring multicast
CN109005471B (en) * 2018-08-07 2020-07-28 安徽大学 Scalable video stream multicast method based on QoS intelligent perception under SDN environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000030295A2 (en) * 1998-11-18 2000-05-25 Nortel Networks Limited Providing admission control with a distributed bandwidth broker
EP1949611A2 (en) * 2005-11-14 2008-07-30 Cisco Technology, Inc. System and method for spanning tree cross routes
CN1917398A (en) * 2006-07-20 2007-02-21 北京航空航天大学 Method for creating shared multicast tree in single kernel
CN101946460A (en) * 2008-02-14 2011-01-12 爱立信电话股份有限公司 Segmentation of multicast distributed services
CN101562556A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, device and system for reducing network coding cost
CN104917677A (en) * 2014-03-10 2015-09-16 中兴通讯股份有限公司 Data stream forwarding control method and system
CN103957267A (en) * 2014-05-08 2014-07-30 中国人民解放军总参谋部气象水文空间天气总站 Multi-network multi-task multi-node data distribution method
CN104301933A (en) * 2014-10-17 2015-01-21 中国人民解放军理工大学 Method for calculating bandwidth and distributing bandwidth in wireless ad hoc network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
链路优化时延约束组播路由的遗传算法;岳承君;井元伟;李庆奎;;东北大学学报(自然科学版)(第04期);全文 *

Also Published As

Publication number Publication date
CN114070777A (en) 2022-02-18

Similar Documents

Publication Publication Date Title
AU681062B2 (en) Network having secure fast packet switching and guaranteed quality of service
JP4696131B2 (en) Method and node for aggregating data traffic via unicast messages over an access domain using service binding
CA2594267C (en) End-to-end publish/subscribe middleware architecture
CN100583801C (en) A method, system and switching device for dynamically establishing multicast virtual LAN
CN1287559C (en) Route determining method for multi-agreement label conversion network
US20070280232A1 (en) Dynamic delivery of multicast service notification messages
JP2007181205A (en) System and method for controlling multicasting service
JPWO2005034446A1 (en) Policy rule application network system
CN109005471B (en) Scalable video stream multicast method based on QoS intelligent perception under SDN environment
CN106416157B (en) method for providing elasticity in transport network virtualization
CN1674576A (en) Method for transmitting strategic information inter-network equipment
JP6954295B2 (en) Communication systems, edge nodes, communication methods and programs
CN109728922B (en) Method and related equipment for configuring multicast link in autonomous network
CN114070777B (en) Multicast tree construction method, multicast data transmission method, controller and storage medium
Sarkar et al. Fair bandwidth allocation for multicasting in networks with discrete feasible set
US11799676B2 (en) Deterministic assignment of overlay multicast traffic
CN108494683B (en) Extensible path control method based on graph coloring in software defined network
Nair Quality of service in metro Ethernet
Yi et al. SDN and NFV enabled service function multicast mechanisms over hybrid infrastructure
KR101145389B1 (en) Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor
Iorga et al. Management driven hybrid multicast framework for content aware networks
CN104901818B (en) A kind of IP multicast is blended in the application layer multicast realization method and system of netted nerve of a covering
Gu et al. VNET6: IPv6 virtual network for the collaboration between applications and networks
Coutinho et al. Multiparty seamless transport
Tong et al. Harmonic DiffServ: Scalable support of IP multicast with Qos heterogeneity in DiffServ backbone networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant