The invention relates to a method for improving the quality in a packet-based communication network which comprises a plurality of network nodes, wherein each of the network nodes has a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. The invention further relates to a network node of a packet-based communication network as well as a packet-based communication network which has a plurality of network nodes.
In many applications distributed across a communication network the data transmission in respect of an end-to-end delay (delay) and/or a delay variation (jitter) must not exceed specified limit values, so that the desired quality of service of the application is achieved. This applies in particular to communication networks developed in the industrial sphere, for example for plant automation, process automation or energy automation. At present only network technologies based on TDM (Time Division Multiplexing) can meet predefined requirements for delay values and jitter values along communication paths embodied within the communication network. Network technologies in principle suitable in this connection are SDH (Synchronous Digital Hierarchy) or ATM (Asynchronous Transfer Mode) networks. Because of their complexity and the high costs, in particular in the case of scaling, it does not make sense to deploy them in many application scenarios.
For reasons of complexity and the low costs, even in the case of scaling, it is therefore desirable to deploy packet-based communication networks. Such communication networks are for example those based on Ethernet or IP (Internet Protocol). However, one problem with packet-based communication networks is that as a matter of principle no guarantees can be given as regards delay and/or jitter.
Although complex extensions of Ethernet are known in the field of Industrial Ethernet (for example an isochronous real-time transmission (IRT) for PROFINET) which emulate a deterministic behavior of the communication network by TDM, this technology can only be deployed with the use of special hardware and a highly complex configuration.
It is hence the object of the present invention to specify a method with which the quality of data transmission in a packet-based communication network can be improved. Furthermore, a network node of a packet-based communication network is to be specified which permits an improvement in the quality of data transmission in the packet-based communication network. Finally it is also an object of the invention to specify a packet-based communication network which has a high quality of data transmission.
These objects are achieved by the method according to the features of claim 1, a network node with the features of claim 12 and a packet-based communication network with the features of claim 13. Advantageous embodiments emerge from the dependent claims.
The invention creates a method for improving the quality of data transmission in a packet-based communication network which comprises a plurality of network nodes, wherein each of the network nodes has a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. In the method at least the queues of those ports are monitored for their queue length, said ports being disposed along respective communication paths formed in the communication network in the network nodes. A degree of overload is determined for the port(s) in question from the queue length, wherein a runtime delay (delay) and/or delay variation (jitter) in the data transmission can be inferred from the degree of overload of the communication path(s) running via the overloaded port in question. If the degree of overload exceeds a predefined threshold value, an alternative communication path bypassing the overloaded ports is set up for at least one of the communication paths which is routed via an overloaded port.
The invention further creates a network node of a packet-based communication network containing a plurality of network nodes, wherein the network node comprises a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. The network node comprises a first means for monitoring, for their queue lengths, the queues of those ports which are disposed in the network nodes along respective communication paths formed along the communication network. The network node further comprises a second means for determining the degree of overload from the queue length for the port(s) in question.
The invention further creates a packet-based communication network which comprises a plurality of inventively embodied network nodes and a network management instance for setting up communication paths and/or alternative communication paths using routing mechanisms in the communication network. The network management instance comprises a third means, using which a runtime delay (delay) and/or delay variation (jitter) in the data transmission for communication paths running via the overloaded port(s) in question can be inferred from the degree of overload obtained from a respective network node. The network management instance further comprises a fourth means, using which, if the degree of overload exceeds a predefined threshold value, an alternative communication path bypassing the overloaded port can be set up for at least one of the communication paths which is routed via an overloaded port.
The invention enables determinism to be achieved in packet-oriented communication networks, such as for example communication networks based on the Internet Protocol, or Ethernet. The result is a high transmission quality as regards delay and/or jitter for the communication paths formed in the communication network. One advantage of the inventive procedure is that there is no need for a complex calculation of absolute delay values and/or jitter values in order to establish that a delay-critical and/or jitter-critical situation exists within the communication network. This applies in particular on the assumption that the delay and/or jitter requirements are adhered to without difficulty in the otherwise almost empty communication network (i.e. there is no overload or congestion situation). Another advantage is that very little modification is necessary in the network node in order to implement the inventive procedure. Another advantage is that the method also ensures scalability in large communication networks. This is ensured because with the inventive method it is only necessary to monitor delay values or jitter values for each queue and network node, but not for each communication path.
In an expedient embodiment the alternative communication path is set up to bypass those nodes which comprise at least one overloaded port. As a result the route of the alternative communication path is routed around the node with the overloaded port. This can be advantageous if the performance of the whole network node is already being negatively impacted by a port being overloaded.
According to another embodiment, one of the following queue lengths is processed to determine the degree of overload: an average queue length, wherein the average queue lengths are calculated from the average over time of several recorded queue lengths of a queue over a predefined period; and/or a maximum queue length and/or an effective queue length, which is determined from temporally preceding and current queue lengths. On the basis of the specified queue lengths it is possible to determine suitable communication paths for delay-critical or jitter-critical communication paths.
According to another expedient embodiment the communication paths and/or the alternative communication paths are set up by a higher-level network management instance using routing mechanisms. The network management instance serves to actively create communication paths in the packet-based communication network. The active creation of communication paths by the network management instance can be effected for example analogously to MPLS (Multi Protocol Label Switching). The queue lengths of some ports of the network nodes are inventively here used as a criterion for good or poor communication paths. The network management instance can be embodied by a central processor, a control unit of one of the network nodes or a plurality of processors and control units.
In the further embodiment the queue lengths of the ports of the plurality of network nodes are interrogated at predefined intervals by the higher-level network management instance, wherein the network management instance determines the degree of overload for each of the ports. Alternatively the queue lengths of the ports of the plurality of network nodes are transmitted from the network nodes to the higher-level network management instance at predefined time intervals and/or as a function of a predefined global or individual network node threshold value being exceeded, wherein the network management instance determines the degree of overload for each of the ports.
It is further expedient if when setting up the new communication path account is taken of at least the degrees of overload of those ports which are disposed in the network nodes along the new communication paths. When setting up a new degree of communication the shortest connection between source node and destination node is thus not always the outcome when the new communication path is set up. Instead, the load on the respective network nodes or the ports lying in a potential communication path are additionally taken into account.
In this connection it is expedient if a first low threshold value is defined for the degree of overload (or the queues) of those ports which are disposed in the network node along the new communication path, whereby if this is exceeded the new communication path is set up such that the nodes for the new communication path which have at least one overloaded port whose degree of overload exceeds the first threshold value are disregarded, or the overloaded ports of nodes whose degree of overload exceeds the first threshold value are disregarded.
In another embodiment a second higher threshold value for the degree of overload (or the queue length of the queues) of those ports which are disposed in the network nodes along the new communication path is defined, whereby if this is exceeded alternative communication paths are determined and set up for existing communication paths.
By providing the first and the second comparatively higher threshold value, the load of a network node or of an overloaded port can thus be selectively controlled as regards the data transmitted via it. Depending on the queue length determined, not only is the new communication path selectively routed around the overloaded port or the network node in question in some cases, but a communication path already going via the overloaded port is also rerouted.
According to another expedient embodiment the degrees of overload (or the queue lengths) are monitored as a function of a traffic class of the queue in question. If, in addition to high-priority data traffic, low-priority data traffic also occurs, the latter can cause increased delay and/or jitter in high-priority data traffic. For example, this can be caused by an inappropriate implementation of a scheduler in the network nodes or by the arrival of a high-priority data packet while a long low-priority data packet is still being sent. Such critical situations, which are caused by the low-priority data traffic, can be reliably identified by taking into account the queue lengths of different traffic classes. By the above-described strategy of rerouting particular communication paths the overall load in the communication network can be improved, as a result of which determinism in the packet-based communication network can be achieved to improve the quality of data transmission.
Another embodiment provides that end-to-end values for the runtime delay and/or the delay variance on the communication paths in question can be determined from the determined degrees of overload or the queue lengths of those queues which are disposed in the network node along respective communication paths formed in the communication network.
The inventive procedure is thus based on the dynamic use of queue lengths of the ports of the network nodes to identify delay-critical and/or jitter-critical situations in conjunction with the regular interrogation of the queue lengths or corresponding messages by the network nodes, if predefined threshold values are exceeded. On the basis of the information about the queue lengths of the ports of the network nodes present in the communication network suitable communication paths for delay-critical or jitter-critical traffic flows are calculated. An advantage of the procedure is that there is no dependency on the detailed implementation of a scheduler or on a scheduler concept used.
The invention is explained in greater detail below on the basis of an exemplary embodiment in the drawings, in which:
The aforementioned network management instance NM is higher ranking than the nodes K. The network management instance, which for example is formed by a central processor, is able, via respective communication connections KVN, to exchange data with the network nodes K. The communication connections KVN which are illustrated in
To enable predefined requirements for the data transmission as regards an end-to-end delay (delay) and/or delay variation (jitter) to be met during a data transmission between a network node K acting as a source node and a network node K of the communication network acting as a destination node, active management of the communication paths created in the communication network is effected in the in principle packet-based communication network according to
The reasons for this are for example the blockage of an exit port by transmitting another packet or the preferential handling of other buffered packets with a higher priority. Because the delay is normally not deterministic, variable delay values and jitter values may arise.
The task of the network management instance is firstly to set up and manage the communication paths formed in the communication network. Secondly it is the task of the network management instance to monitor for their queue length at least the queues of those ports which are disposed in the network nodes along respective communication paths formed in the communication network. The network management instance can determine a degree of overload for the ports from the queue length, wherein a problem entailing delay and/or jitter in the data transmission can often be inferred from the degree of overload for the communication path(s) running via the overloaded port in question. Normally multiple queues are present per port P of a network node and are assigned to one or more priorities (traffic classes). The priorities are for example defined via IEEE 802.1P Class of Service (CoS) or IP Type of Service (ToS). If the degree of overload in question exceeds a predefined threshold value, i.e. if the queue length of a queue of a port is greater than the predefined threshold value, an alternative communication path bypassing the overloaded ports is set up for at least one of the communication paths which is routed via an overloaded port. These paths are selected such that the critical ports P or network nodes are not used.
The degree of overload can be a value directly proportional to the queue length. Likewise the degree of overload may correspond to the queue length, e.g. the number of bytes of a time until execution of the queue, etc.
The network management instance NM can infer the possible occurrence of problem entailing delay and/or jitter from the degree of overload for the communication paths PF2, PF3 running via the port P1(5). Because of this the network management instance NM undertakes a reconfiguration of one of the two communication paths PF2, PF3. In the present exemplary embodiment an alternative communication path PF2′ is created for the communication path PF2, and runs from the network node 1 via the network nodes 2 and 3 to the network node 8.
To set up the communication paths the network management instance NM in principle uses known routing methods. The communication paths can for example be set up by direct entries in Layer-3 routing or Layer-2 forwarding tables. A setup or adjustment can also be implemented by adjusting metrics influencing the routing tables or forwarding tables. These may for example be Open Shortest Path First (OSPF) weightings or link costs and priorities in Rapid Spanning Tree (RSTP) or Multiple Spanning Tree (MSTP). Corresponding mechanisms and procedures are known to the person skilled in the art from the prior art.
The data transmission from a source node to a destination node can initially be effected along pre-set default paths. This means a default path is initially formed independently of the queue lengths of the queues along which the communication path runs. The network management instance NM only intervenes if a problem situation has been established during the continuous monitoring of the network nodes K and their queues.
Requests to set up new communication paths can be processed such that a new communication path avoids the critical ports or network nodes. This is illustrated by way of example in
To set up new communication paths it is helpful to establish a first low threshold value and a second comparatively higher threshold value. If the first low threshold value is exceeded, new communication paths, such as the communication path PF4, which is in addition to the existing communication paths PF1, PF2′ and PF3, is set up via alternative network nodes. If the second higher threshold value is exceeded, some of the existing communication paths are also rerouted.
In principle it is also possible to individually define one or more threshold values centrally for each of the network nodes, so that a network node K sends a message to the network management instance NM if the respective limits are exceeded. This makes it unnecessary for the management instance to continuously interrogate the statuses and thus saves on communication resources.
To determine the degree of overload use is preferably made of an average queue length, wherein the average queue length is calculated from the average over time of multiple recorded queue lengths over a predefined period. As a result large fluctuations can be avoided. Alternatively, a maximum queue length can also be defined, wherein this can for example correspond to the second higher threshold value from above. Likewise it is possible to use an effective queue length to determine the degree of overload, wherein the effective queue length is determined from temporally preceding and current queue lengths. As a result the history of the queue can be taken into account, wherein e.g. an exponential smoothing can be effected.
In another embodiment it is alternatively possible just to monitor the queue length for particular traffic classes, e.g. a particular priority class, because these typically carry the data traffic which is sensitive to delay and jitter.
Besides taking into account an overshoot or undershoot of average, maximum or effective queue lengths by the degree of overload, this can also be used by the management system instance to derive absolute end-to-end values for the delay or jitter. For this purpose multiple delay components are added: the degree of overload offset against the respective bandwidths of the links; the delays arising in the network nodes as a result of switching operations, which may be estimated or measured; propagation delays on all involved communication connections, which may be estimated or measured (e.g. with the aid of corresponding mechanisms which are standardized in connection with clock time synchronization according to IEEE 1588 or 802.1 as). This is advantageous in particular if current delay values and/or jitter values have to be reported to an application causing the data traffic or if a communication path may only be set up under the secondary condition of a particular delay value or jitter value not being exceeded.
Number | Date | Country | Kind |
---|---|---|---|
10 2011 003 321.1 | Jan 2011 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2012/050873 | 1/20/2012 | WO | 00 | 7/26/2013 |