CN114070777A - 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
CN114070777A
CN114070777A CN202010744272.8A CN202010744272A CN114070777A CN 114070777 A CN114070777 A CN 114070777A CN 202010744272 A CN202010744272 A CN 202010744272A CN 114070777 A CN114070777 A CN 114070777A
Authority
CN
China
Prior art keywords
multicast
bandwidth
multicast data
node
data transmission
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.)
Granted
Application number
CN202010744272.8A
Other languages
Chinese (zh)
Other versions
CN114070777B (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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 topological structure, and removing useless subgraphs and ineffective cut points in the network topological structure to obtain a simplified network topological structure; according to the simplified network topology, a spanning tree is constructed as a multicast tree containing transmission links from the source node to each of the destination nodes.

Description

Multicast tree construction method, multicast data transmission method, controller and storage medium
Technical Field
The invention relates to the technical field of computer network communication, in particular to a multicast construction method, a multicast data transmission method, a controller and a storage medium.
Background
In network communication of a network such as a local area network, a wide area network, or the internet, communication methods such as unicast and broadcast can be classified according to the number of receivers of the same signal/data.
Unicast refers to the one-to-one matching of a signal sender and a signal receiver, and belongs to point-to-point communication. Unicasting different requests for each user may send different messages, which brings the advantage that customized services can be made according to the user's specific needs. The disadvantage of unicast is also apparent, as the data stream needs to be sent to each user, the link resource utilization is low and the consumption of network bandwidth is too large.
By broadcast, in contrast, it is meant that the signal originator makes a one-to-many match with all signal recipients, and is in point-to-many communication. Although broadcasting allows multiple users to receive the same message, broadcasting means that all users in a subnet receive a single message, whether it is needed or not, which results in a waste of resources.
In summary, there are certain problems in network communication, whether unicast or broadcast.
In such a context, multicast arises. Multicasting is similar to broadcasting in that a one-to-many communication relationship is also established between a signal transmission source and a signal receiver. Unlike broadcast, however, these receivers in multicast are screened and the signals are needed by the members of the group. Multicast solves the problem that unicast cannot be sent to multiple receivers simultaneously, and also solves the problem that broadcast sends a signal to each receiver regardless of whether the signal needs low resource utilization.
Disclosure of Invention
In the transmission of multicast data, in general, a source node provides data to a plurality of destination nodes that require the same data (i.e., multicast data). The identical copies of the multicast data are transmitted over the network link to each of the plurality of destination nodes, respectively. In such a process, the difference of the receiving paths may cause a problem in multicast transmission, that is, in the case of the difference of the receiving capabilities of the signal receivers (destination nodes), how to simultaneously satisfy the requirements of different signal receivers by signal transmission. The reception path diversity problem is a problem specific to multicast transmission.
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 also wasted, and the destination node may not operate normally. Furthermore, there may also be a problem that the bandwidth of the transmission link to the node cannot support a large amount of data/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 stream data at a higher resolution (corresponding to a larger amount of data), if a destination node does not have the capability to receive the video stream data at that resolution (e.g., due to the node's lower network bandwidth or lower data processing capability), it may cause the video at the destination node to be played back chunkingly or not at all.
One possible solution is to prepare multiple copies/copies of data at 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 meet a combination of "high definition" and "normal" and the like, rather than 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 obtain a transmission link from a source node to a destination node, and is favorable for mastering the path difference between the destination nodes.
In particular, a multicast data transmission method, a controller, and a storage medium are further provided, which are configured to transmit a corresponding data portion of multicast data to each node of multicast destination nodes according to a receiving/processing capability of a terminal (destination node), a network transmission status, and/or the like, on the basis of grasping a difference in a path, so as to adapt to a difference in devices.
According to an 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 topological structure, and removing useless subgraphs and ineffective cut points in the network topological structure to obtain a simplified network topological structure; according to the simplified network topology, a spanning tree is constructed as a multicast tree containing transmission links from the source node to each of the destination nodes.
In an embodiment of the present invention, the multicast tree constructing method further includes: optimizing the transmission links in the spanning tree based on bandwidth and/or bandwidth utilization of the transmission links.
In an embodiment of the invention, the spanning tree is constructed based on a kruskal algorithm.
In an embodiment of the present invention, the multicast tree constructing method further includes: acquiring change information of nodes in the network topology structure; updating the network topology 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 comprises 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; obtaining available bandwidth information from a source node to each of destination nodes; instructing the source node to send the base layer data in the multicast data to each of the destination nodes; according to the bandwidth information, instructing the source node to 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, respectively, wherein the bandwidth information includes: a bandwidth of a transmission link from the source node to the destination node and a bandwidth that the destination node can tolerate; 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 the 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 present 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 to 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 execute the multicast data transmission method described above.
According to the embodiment of the invention, the multicast tree is constructed according to the network topology structure to obtain the transmission link from the source node to the destination node, which is beneficial to mastering the path difference between the destination nodes.
Particularly, on the basis of grasping the path diversity, the corresponding data part in the multicast data is further transmitted to each node in 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 diversity of the devices.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings of the embodiments will be briefly described below, it being understood that the drawings described below relate only to some embodiments of the present invention and are 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 building a multicast tree and performing multicast data transmission according to an embodiment of the present invention.
Fig. 3 is an exemplary diagram of a 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 building a multicast tree according to an embodiment of the present invention.
Fig. 5 is an exemplary diagram of the steps of constructing a multicast tree applied 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 clearer, the technical solutions of the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the described embodiments of the invention without any inventive step, also belong to the scope of protection of the 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 multicast data information, wherein the multicast data comprises basic layer data and at least one enhancement layer data; step S102, obtaining available bandwidth information from a source node to each of destination nodes; step S103, instructing the source node to send the basic layer data in the multicast data to each destination node; step S104, according to the bandwidth information, instructing the source node to send each of at least one enhancement layer data in the multicast data to the destination node with corresponding bandwidth in the destination node.
The bandwidth information may include: the bandwidth of the transmission link from the source node to the destination node and the bandwidth that the destination node can tolerate. The information of the bandwidth of the transmission link and the bandwidth that the destination node can bear can be obtained in any way. For example, such information may be stored in advance in a server or a controller of the network. The transmission link can also be obtained based on the multicast tree constructed by the multicast tree construction method described later, so as to better adapt to the network topology structure which may dynamically change.
According to the embodiment of the invention, in the transmission process of the multicast data, the corresponding data part in the multicast data is transmitted for each node in 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 (media access control) addresses, etc. of different destination nodes. This is beneficial to saving the bandwidth and storage space of the source node. This is a significant cost saving in case 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 transported by creating a plurality of UDP sockets at different port numbers. 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.) to perform marking processing and the like by the other forwarding node.
The respective destination nodes may receive portions of the multicast data separately based on the available bandwidth from the source node to each of the destination nodes. The destination node itself need not handle an amount of data that exceeds its capabilities (or needs) and the network link to the destination node need not carry an amount of data that exceeds its bandwidth. This can provide smooth data service to the destination node more accurately. This facilitates the normal operation of the destination node and avoids manual selection and setting at the destination node by the user of 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, and the like. The information of the multicast data may include such information in a hierarchical manner.
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.
By analogy, the combination of more enhancement layer data leads to a higher quality of service. That is, in a multi-layer structure of multicast data, the base layer data can provide the underlying data service. And a data service with gradually enhanced service quality can be provided as the enhancement layer data is gradually superimposed.
In some embodiments, the bandwidth required for the second quality of service is higher than the bandwidth required for said first quality of service for transmitting further layers of data.
Fig. 2 is an exemplary block diagram of a system for building a multicast tree and performing multicast data transmission according to an embodiment of the present invention.
As shown in fig. 2, the transmission of video streaming multicast data in an SDN network is taken as an example for further description.
SDN (Software Defined Network) is a new Network architecture, and its core idea is to separate the forwarding plane and the control plane in the legacy device. Various different network devices are configured and managed by a centralized SDN controller through a standard interface, so that the management of the network is more centralized and refined. The SDN can provide information of the whole network topology, enhance the cognition on the underlying network, further optimize the multicast tree and improve the resource utilization rate.
In fig. 2, a system for constructing an adaptive multi-rate multicast tree with efficient SDN-based resource utilization may include an SDN controller 100, a video streaming server 200, and 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 a network transmission link (such as a route, a switch, a wired/wireless network link, etc.), a destination node, and the like. Broadly, the SDN network 300 may also be considered to include the SDN controller 100, the 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 and uploading relevant video information to an SDN controller and transferring 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 as follows: firstly, the method is in butt joint 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; and thirdly, issuing a specified flow table related to the opened flow according to the user requirement, and further maintaining the SDN. That is, the SDN controller may be configured to perform the multicast data transmission method described above.
The SDN controller 100 may obtain an Open Flow (OF) event 402 from the SDN network 300 and send an OF command 401 to the SDN network.
In the example shown in fig. 2, scalable layered video coding can be performed on a video stream sent by a source node, resulting in a video stream of a base layer and several enhancement layers. Where the video stream of the base layer is used to provide a basic video quality (e.g., lower resolution), 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, and the greater the number of enhancement layers that are superimposed, the better the video quality. This is advantageous for providing services of different quality depending on the different conditions of the destination node.
Fig. 3 is an exemplary diagram of a correspondence between hierarchically encoded data applied and a destination node according to an embodiment of the present invention.
For example, assume that SDN controller 100 already knows: 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 the enhancement layer data may correspond to different bandwidths. For example, let the relative bandwidth of the base layer of layered video be 4, the relative bandwidth of the first enhancement layer be 2, and the relative bandwidths of the second, third, and fourth layers be 2. Thus, the relative bandwidth required to transmit the base layer video is 4. The relative bandwidth required to transmit the video stream of the base layer plus 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 plus the two enhancement layers is 8, i.e., the relative bandwidth of the base layer plus the relative bandwidths of the first and second enhancement layers. The relative bandwidth required for transmitting the video stream of the three enhancement layers, i.e., the relative bandwidth of the base layer plus the relative bandwidths of the first, second, and third enhancement layers, is 10.
That is, if all destination nodes can achieve the maximum available bandwidth (e.g., current network conditions allow, and/or network charging policy allows, and/or processing power and settings of the nodes themselves allow, 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 video stream of the base layer plus one enhancement layer (bandwidth 6), destination nodes 1 and 6 can receive the video stream of the base layer plus two enhancement layers (bandwidth 8), and destination node 7 can receive the video stream of the base layer plus three enhancement layers (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.
Any manner of obtaining the above bandwidth information may be used. For example, a fixed transmission link and corresponding bandwidth information from the source node to each of the destination nodes and the bandwidth that the destination node itself can afford may be stored in the SDN controller 100. It should be understood that such transmission links and corresponding bandwidth information may also be determined dynamically. Such a process may be referred to as a process of building a multicast tree/acquiring a transmission link.
It should be understood that the maximum bandwidth available here may be based only 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 building a multicast tree according to an embodiment of the present invention.
As shown in fig. 4, in the embodiment of the present invention, a multicast tree may be constructed by using a multicast tree construction method as described below, and further, a transmission link may be obtained 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 the destination nodes in the network topological structure, and removing useless subgraphs and ineffective cut points in the network topological structure to obtain a simplified network topological structure; s203, according to the simplified network topology, constructing a spanning tree including transmission links from the source node to each of the destination nodes as a multicast tree. Various algorithms may be utilized to construct the spanning trees described above. For example, in some embodiments, the spanning tree is constructed based on, or similar to, a kruskal algorithm or the like.
In this way, the SDN controller may determine the individual transport links according to the current network topology.
Furthermore, various different metrics may be used to optimize such links. For example, in some embodiments, the transport links in the spanning tree may be optimized based on the bandwidth and/or bandwidth utilization of the transport links to select as appropriate a transport link of bandwidth as possible and/or to increase the utilization of the bandwidth of individual links in the network as possible.
That is to say, in the embodiment of the present invention, the SDN controller establishes a topology structure of the video stream distribution network according to algorithms such as a cut point and a spanning tree, according to a layering situation that a destination node can receive and a bandwidth situation that a network link can bear, forms a multicast distribution tree, issues a stream table, and transmits a video stream.
Fig. 5 is an exemplary diagram of the steps of constructing a multicast tree applied to a network topology according to an embodiment of the present invention.
The SDN controller can acquire the structure of the whole network topology through detection, acquire link bandwidth information and bandwidth information which can be borne by a target node, and initialize a network. In the original network shown in fig. 5 (a), the blocks represent a source node or a destination node, wherein 0 in the blocks is labeled as the source node and 1-7 are labeled as the destination node. The black circular representation is a cut-off point in the graph, i.e. a node related to the connectivity of the network topology. In a graph, if any cut point is deleted, the graph is no longer connected. The cut point may be determined by traversal or the like (e.g., depth first search or the like). White circles represent normal nodes. The numbers on the links and nodes (numbers outside the box) represent the relative bandwidths. The cut points and the normal nodes are respectively expressed by a-u and the like.
Further selections may be made for cutpoints, links, etc. in the network topology to form a spanning tree that includes links from each of the source nodes to 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 target node to the maximum extent and improve the bandwidth utilization rate of the link as much as possible under the condition of using nodes and links as few as possible. The process of the cut-point spanning tree algorithm and the associated results may be further detailed as shown in fig. 5 (a) - (f).
First, all cut points in (a) of the initial network graph 5 are searched, whether the cut points are connected with only one useless subgraph is checked, and if only one useless subgraph is connected, the cut points (invalid/useless cut points) and the useless subgraphs are removed from the network graph. The subgraph refers to a graph in which a node set and an edge set are respectively a subset of the node set and a subset of the edge set of the initial network topology graph. A useless subgraph means that the subgraph does not contain the destination node. If the useful subgraph is connected with the cut point, the cut point becomes an effective/useful cut point, and the useful subgraph means that the subgraph contains a destination node. If the cutting point is connected with both the useful subgraph and the useless subgraph, the cutting point is reserved, and the useless subgraph part is removed. After the invalid cut points and the connected useless subgraphs are removed, a new network (fig. 5 (b)) and a valid cut point set { c, e, f, g, h, i, j, k, q, s, t, u } are obtained. 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 kruskal algorithm is applied to all the cut points, the edge connecting the two cut points, and the destination node, and a full cut point spanning tree as shown in fig. 5 (c) is generated. Specifically, the full cut point spanning tree may only have a cut point, a destination node and a connected link, and the link connecting the cut point and the common node may not be in the tree. The full cut point spanning tree can ensure the connectivity from the source node to the destination node while removing useless parts, and can be used for judging bandwidth information and respectively transmitting hierarchical data.
However, such a full cut point spanning tree may not be optimal. For example, due to link bandwidth limitations, not all destination nodes may be able to achieve their theoretical bandwidth required. Specifically, for example, destination node 6, whose maximum tolerable bandwidth is 8, but whose link bandwidth is smaller in the links connected to the network (e.g., 6 of the links of t-6), its maximum tolerable bandwidth cannot be satisfied.
The maximum link bandwidth from the source node to each destination node can be calculated by a specified algorithm. The algorithm is specified to mark the minimum values of the sustainable bandwidth in each path from the source node to the destination node and then take the maximum of these minimum values. For example, if there are three paths from the source node to a destination node, the minimum bandwidth of each link on the first path is 8, the minimum bandwidth of each link on the second path is 10, and the minimum bandwidth of each link on the third path is 12, then the maximum tolerable bandwidth from the source node to the destination node is 12.
In addition, on the contrary, although the link can satisfy a larger bandwidth, the destination node itself can bear a smaller bandwidth, and at this time, the link connected to the destination node is not necessary to transmit a larger bandwidth, specifically, for example, the destination node 4 has a maximum bearable bandwidth of 4, but the link (0-c-i-h-g-4) connected to the network has a minimum bandwidth value of 6, and the bandwidth transmitted by the links can be considered to be reduced from 6 to 4 without affecting the transmission of other destination nodes, so as to reduce the network load. Furthermore, the destination node may actively demand less bandwidth data due to its own needs, which may be for smoothness and/or cost reduction, for example.
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 nodes near the destination node where a larger link bandwidth passes, where the nodes include a cut point and a non-cut point, perform a trial replacement, if a better service can be provided, add the non-cut point or link to the full-cut-point spanning tree, and then replace or modify the original link 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 and the link c-d to realize its maximum bandwidth, and then select the link e-d, the link c-d, and the add node d to replace the link e-c, and finally obtain fig. 5 (d).
For another example, in (d) of fig. 5, 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, which finally results in (e) of fig. 5. 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 a link between any number of nodes).
And finally, checking that the bandwidth utilization rate of the link can be improved, and if the link which can improve the bandwidth utilization rate under the condition of not influencing the bandwidth of the destination node exists, selecting to replace the original link. For example, in (e) of fig. 5, the destination node 2 may make the bandwidth utilization rate of the link d-f one hundred percent higher than the bandwidth utilization rate of the video transmitted through the link e-f-2 through the link d-f-2, and then choose to replace the link e-f-2 with the link d-f-2, resulting in (f) of fig. 5. This may be referred to as the second phase of optimization. The process can also be traversed on 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 as to obtain the topological graph shown in (f) of fig. 5.
In this way, the SDN controller obtains bandwidth conditions of all links in the multicast tree. And according to the difference of the receiving capability of the terminal equipment, namely the destination node, the maximum bandwidth value which can be received by the destination node is obtained. And the number of the layered video streams which can be received by each destination node can be further calculated by combining the layered situation of the source video stream.
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 may receive the base layer accumulated one enhancement layer video stream (bandwidth 6), destination node 1 may receive the base layer accumulated two enhancement layer video stream (bandwidth 8), and destination node 7 may receive the base layer accumulated three enhancement layer video stream (bandwidth 10).
That is, on the premise of first meeting the maximum bandwidth requirement of the destination node as much as possible, the utilization rate of the resource is increased, and finally the video stream layering condition 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 based on the change information; and updating the spanning tree based on the updated network topology. In some embodiments, the change of node comprises a joining or a leaving 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 is required to dynamically adjust the topology of the transmission video stream. Whether a new destination node joins or exits, it needs to be checked and updated.
In some embodiments, a corresponding link table may be maintained for each of the base layer data and the at least one enhancement layer data. Each link table represents a path of current data from a source node to a destination node. The link table may be obtained from a spanning tree, in particular an optimized spanning tree. And in particular the spanning tree and the link table may be updated in accordance with changes in the network topology. In some embodiments, corresponding link tables may be maintained based on change information for the nodes, even if the nodes themselves already exist in the network; the change of node may include a change in the correspondence of the bandwidth information of the destination node to at least one of the at least one enhancement layer data (e.g., whether transmission of 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 utilize the finite state machine mechanism to check its link paths and destination nodes, and if some path link bandwidths and/or the tolerable bandwidths of the destination nodes change, it needs to be adaptively adjusted. During adjustment, if the existing multicast tree can meet the requirement, the existing path is selected firstly, and if the existing multicast tree cannot meet the requirement, the existing path is selected and changed.
The finite state machine mechanism may be such that a link table is maintained for each link of each layered video stream. Each link has three flags (M, N, T), where for a k-layer video stream, M indicates whether the link can accommodate the k-layer video stream, N indicates whether the link needs to transmit the k-layer video stream, and T indicates whether the SDN controller has configured a rule for forwarding the k-layer video stream at the link. For example, M-1 indicates that the link has the capability of transmitting a k-layer video stream, and M-0 indicates that the link does not have enough resources to transmit a k-layer video stream. N-1 indicates that the link needs to transmit a k-layer video stream, and N-0 indicates that the link does not need to transmit a k-layer video stream. T ═ 1 indicates that a forwarding rule for transmitting a k-layer video stream is configured for the link, and T ═ 0 indicates that a forwarding rule for transmitting a k-layer video stream is not configured for the link. Only when a link can accommodate the transport of a k-layer video stream and the link needs to transport the layer, the SDN controller configures a k-layer video layer stream forwarding rule on the link. That is, the identity of T depends on M and N, satisfying the following equation:
T=M*N;
thus, there are four possible states for a link, as follows:
1) s1 is (0,0, 0). in this state, the link has no capability to accommodate k-layer video streams, and the link also does not need to transport k-layer video streams. Therefore, no forwarding rules for the k-layer video stream are configured for this link.
2) S2 is (0,1, 0). in this state, the link needs to transmit a k-layer video stream, but the link has no capability to accommodate the k-layer video stream. Therefore, no forwarding rule for the k-layer video stream is configured for this link.
3) At S3 ═ 1,0, in this state the link is capable of accommodating k-layer video streams, and the link does not need to transport k-layer video streams. Therefore, it is not necessary to forward the packet of this layer, and no forwarding rule for k-layer video stream is configured for this link.
4) S4 is (1,1, 1). in this state, the link is capable of accommodating k-layer video streams, which the link also needs to transport. Therefore, the forwarding rule of the k-layer video stream needs to be configured for the link.
Finite state machines can only be in one state at a time. The state it is in at any given time is called 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, which are events where a change in M value (e.g., a change between 0 and 1) triggers a change in T value if the link N is 1, and N-events, which are events where a change in N value (e.g., a change between 0 and 1) triggers a change in T value if the link M is 1. After the T value changes, the link state changes, the link layer 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, the link can be adjusted, and the SDN multicast network is dynamically maintained. In fig. 5, for example, when the destination node 1 exits the network, the bandwidth of the layered video stream transmitted by the links c-d may be reduced from 8 to 6. This step is actually 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 link c-d is changed from (1,1,1) to (1,0, 0). Similarly, when the destination node 8 with bandwidth requirement 12 joins the network from the cut point j, the link table of the fourth enhancement layer of the links 0-c, c-i, i-j will be changed from (1,0,0) to (1,1,1), so that the controller configures the forwarding rule of the video stream of the fourth enhancement layer at the 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 nodes connected with the destination node.
Therefore, the SDN controller can always obtain the optimal transmission link, and the success rate of multicast data transmission and the utilization rate of network bandwidth are improved.
In the embodiment of the present invention, the multicast data transmission controller may have any structure, for example, may have one or more processors and a memory. The 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 embodiments. The processor may be any general 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 or non-volatile memory.
Furthermore, the multicast data transmission 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 rate and minimize the flow table items required 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 the performance of multicast. SDN technology can improve the problems in multicast technology including scalability, managing dynamic groups, etc. SDN networks with open flows may implement many new features of routing and flexible forwarding semantics within network switches/routers, etc. The SDN technology is applied to the multicast technology, the topological structure of the current network can be acquired more quickly, the optimized multicast tree is obtained, forwarding nodes on each path can be set more conveniently, and the multicast performance can be improved greatly.
In addition, the problem of the difference of the receiving capacity of the equipment can be solved by applying the layered coding technology. Layered coding techniques may be used to encode multicast data (e.g., video data) into different number of data streams (e.g., enhancement layer data corresponding to different resolutions) for transmitting a corresponding number of data streams depending on the reception/processing capabilities of the terminal (destination node), network conditions, etc. For example, the scalable video coding provided by the embodiments of the present invention is an effective method for solving the problem of the difference of the receiving paths of video streams, and compresses the video into non-overlapping layers of multiple streams, including a base layer and a plurality of enhancement layers, wherein the base layer provides basic video services, and the enhancement layers improve the quality of the video.
In addition, a finite state machine mechanism can be applied, aiming at the problem of updating the multicast tree caused by the dynamic change of the multicast nodes, aiming at solving the problem of real-time and incremental fair distribution of network bandwidth.
In addition, by using a cut-point spanning tree algorithm, the structure of the multicast tree is optimized and the resource availability is improved on the premise of ensuring that the equipment difference is met and the bandwidth of a receiving end is not damaged.
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.
In addition, those skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing associated hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk, an optical disk, or the like.
It will be understood that the above embodiments are merely exemplary embodiments taken to illustrate the principles of the present invention, which is not limited thereto. It will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the spirit and substance of the invention, and these modifications and improvements are also considered to be within the scope of the invention.

Claims (17)

1. A 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 topological structure, and removing useless subgraphs and ineffective cut points in the network topological structure to obtain a simplified network topological structure;
according to the simplified network topology, a spanning tree is constructed as a multicast tree containing transmission links from the source node to each of the destination nodes.
2. The multicast tree construction method according to claim 1, wherein the multicast tree construction method further comprises: optimizing the transmission links in the spanning tree based on bandwidth and/or bandwidth utilization of the transmission links.
3. The multicast tree construction method according to claim 1, wherein the spanning tree is constructed based on a kruskal algorithm.
4. 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 based on the change information;
and updating the spanning tree based on the updated network topology.
5. The multicast tree construction method according to claim 4, wherein the change of the node includes joining or exiting of a destination node.
6. A method of multicast data transmission, comprising:
acquiring information of multicast data, wherein the multicast data comprises base layer data and at least one enhancement layer data;
obtaining available bandwidth information from a source node to each of destination nodes;
instructing the source node to send the base layer data in the multicast data to each of the destination nodes;
instructing the source node to respectively 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 according to the bandwidth information,
wherein the bandwidth information comprises: a bandwidth of a transmission link from the source node to the destination node and a bandwidth that the destination node can tolerate;
wherein the transmission link is obtained based on a multicast tree constructed according to the multicast tree construction method of any one of claims 1 to 5.
7. The multicast data transmission method according to claim 6, 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 the first enhancement layer data;
the second quality of service is higher than the first quality of service.
8. The multicast data transmission method according to claim 7, wherein,
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.
9. The multicast data transmission method according to claim 7 or 8, wherein the bandwidth required for the second quality of service is higher than the bandwidth required for the first quality of service.
10. The multicast data transmission method according to claim 6, wherein the multicast data comprises video stream data and the quality of service of the multicast data comprises resolution.
11. The multicast data transmission method according to claim 6, wherein for each of said base layer data and said at least one enhancement layer data a corresponding link table is maintained.
12. The multicast data transmission method according to claim 11, 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 to at least one of the at least one enhancement layer data.
13. The multicast data transmission method according to claim 12, wherein the state of the correspondence corresponds to a state in a finite state machine.
14. The multicast data transmission method according to claim 6, wherein the multicast data transmission method is performed by a multicast data transmission controller.
15. The multicast data transmission method according to claim 14, wherein the multicast data transmission controller comprises a software defined network controller.
16. 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 carry out the multicast data transmission method according to any of claims 6-15.
17. A computer readable storage medium having stored thereon a computer program, wherein the program, when executed by a processor, causes the processor to execute the multicast data transmission method according to any of claims 6-15.
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 true CN114070777A (en) 2022-02-18
CN114070777B 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 (19)

* 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
US20070118636A1 (en) * 2005-11-21 2007-05-24 Yang Mi J Network resource provisioning method for bandwidth guarantee per flow
US20070165657A1 (en) * 2005-10-05 2007-07-19 Nortel Networks Limited Multicast implementation in a link state protocol controlled Ethernet network
CN101015191A (en) * 2004-07-09 2007-08-08 高通股份有限公司 System for layering content for scheduled delivery in a data network
EP1949611A2 (en) * 2005-11-14 2008-07-30 Cisco Technology, Inc. System and method for spanning tree cross routes
CN101299671A (en) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 Method and device for transmitting and receiving multicast data packet
CN101562556A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, device and system for reducing network coding cost
US20100111165A1 (en) * 2008-10-31 2010-05-06 Electronics And Telecommunications Research Institute Network flow-based scalable video coding adaptation device and method
CN101946460A (en) * 2008-02-14 2011-01-12 爱立信电话股份有限公司 Segmentation of multicast distributed services
CN102142970A (en) * 2011-03-16 2011-08-03 华为技术有限公司 Method for constructing multicast tree in two-layer Ethernet and network node equipment
US20120185906A1 (en) * 2009-10-02 2012-07-19 Nederlandse Organisatie Voor Toegepast -Natuurwetenschappelijk Onderzoek Tno Scalable Video Controls Bandwidth Allocation to Data Services
CN103368770A (en) * 2013-06-18 2013-10-23 华中师范大学 Gateway level topology-based self-adaptive ALM overlay network constructing and maintaining method
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
US20170126416A1 (en) * 2015-11-04 2017-05-04 Huawei Technologies Canada Co., Ltd. Apparatus and Method for Network Flow Scheduling
US20170201451A1 (en) * 2016-01-08 2017-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Graph construction for computed spring multicast
CN109005471A (en) * 2018-08-07 2018-12-14 安徽大学 Based on the extensible video stream method of multicasting of QoS Intellisense under SDN environment

Patent Citations (19)

* 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
CN101015191A (en) * 2004-07-09 2007-08-08 高通股份有限公司 System for layering content for scheduled delivery in a data network
US20070165657A1 (en) * 2005-10-05 2007-07-19 Nortel Networks Limited Multicast implementation in a link state protocol controlled Ethernet network
EP1949611A2 (en) * 2005-11-14 2008-07-30 Cisco Technology, Inc. System and method for spanning tree cross routes
US20070118636A1 (en) * 2005-11-21 2007-05-24 Yang Mi J Network resource provisioning method for bandwidth guarantee per flow
CN1917398A (en) * 2006-07-20 2007-02-21 北京航空航天大学 Method for creating shared multicast tree in single kernel
CN101299671A (en) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 Method and device for transmitting and receiving multicast data packet
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
US20100111165A1 (en) * 2008-10-31 2010-05-06 Electronics And Telecommunications Research Institute Network flow-based scalable video coding adaptation device and method
US20120185906A1 (en) * 2009-10-02 2012-07-19 Nederlandse Organisatie Voor Toegepast -Natuurwetenschappelijk Onderzoek Tno Scalable Video Controls Bandwidth Allocation to Data Services
CN102142970A (en) * 2011-03-16 2011-08-03 华为技术有限公司 Method for constructing multicast tree in two-layer Ethernet and network node equipment
CN103368770A (en) * 2013-06-18 2013-10-23 华中师范大学 Gateway level topology-based self-adaptive ALM overlay network constructing and maintaining method
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
US20170126416A1 (en) * 2015-11-04 2017-05-04 Huawei Technologies Canada Co., Ltd. Apparatus and Method for Network Flow Scheduling
US20170201451A1 (en) * 2016-01-08 2017-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Graph construction for computed spring multicast
CN109005471A (en) * 2018-08-07 2018-12-14 安徽大学 Based on the extensible video stream method of multicasting of QoS Intellisense under SDN environment

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN114070777B (en) 2023-07-04

Similar Documents

Publication Publication Date Title
CN109428768B (en) Autonomous network service method and autonomous network
US6556544B1 (en) Method and system for provisioning network resources for dynamic multicast groups
AU681062B2 (en) Network having secure fast packet switching and guaranteed quality of service
US9319311B2 (en) System and method for a context layer switch
JP4696131B2 (en) Method and node for aggregating data traffic via unicast messages over an access domain using service binding
CN109005471B (en) Scalable video stream multicast method based on QoS intelligent perception under SDN environment
JP2005508121A (en) Data transmission process and system
WO2011113289A1 (en) Service routing method and service network
US8559353B2 (en) Multicast quality of service module and method
US20120185487A1 (en) Method, device and system for publication and acquisition of content
US9130857B2 (en) Protocol independent multicast with quality of service support
KR101517380B1 (en) Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process
JP2009060609A (en) Method and apparatus for multicast tree allocation
US20240007315A1 (en) Deterministic assignment of overlay multicast traffic
US11695686B2 (en) Source-initiated distribution of spine node identifiers of preferred spine nodes for use in multicast path selection
Sarkar et al. Fair bandwidth allocation for multicasting in networks with discrete feasible set
CN114070777A (en) Multicast tree construction method, multicast data transmission method, controller and storage medium
CN108494683B (en) Extensible path control method based on graph coloring in software defined network
Yi et al. SDN and NFV enabled service function multicast mechanisms over hybrid infrastructure
CN1968275A (en) System and method for transmitting media stream using automatic tree rmcp
CN102904933B (en) P2P (Peer-to-Peer) traffic dredging and optimizing network system
CN104901818B (en) A kind of IP multicast is blended in the application layer multicast realization method and system of netted nerve of a covering
CN1242336C (en) Method for service arrangement in data network
Iorga et al. Management driven hybrid multicast framework for content aware networks
Amado et al. OpenFlow rule placement in carrier networks for augmented reality applications

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