CA2462793C - Distributed transmission of traffic streams in communication networks - Google Patents

Distributed transmission of traffic streams in communication networks Download PDF

Info

Publication number
CA2462793C
CA2462793C CA2462793A CA2462793A CA2462793C CA 2462793 C CA2462793 C CA 2462793C CA 2462793 A CA2462793 A CA 2462793A CA 2462793 A CA2462793 A CA 2462793A CA 2462793 C CA2462793 C CA 2462793C
Authority
CA
Canada
Prior art keywords
queue
queues
network
network node
distribution
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.)
Expired - Fee Related
Application number
CA2462793A
Other languages
French (fr)
Other versions
CA2462793A1 (en
Inventor
Karl Schrodi
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.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Nokia Siemens Networks GmbH and Co KG
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
Priority claimed from DE10148893A external-priority patent/DE10148893A1/en
Application filed by Nokia Siemens Networks GmbH and Co KG filed Critical Nokia Siemens Networks GmbH and Co KG
Publication of CA2462793A1 publication Critical patent/CA2462793A1/en
Application granted granted Critical
Publication of CA2462793C publication Critical patent/CA2462793C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/562Routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes

Abstract

At least one queue is provided per current branch pattern in a network node. In this way, a queue can be jointly used for a plurality of distribution compartments which are imaged onto the same branch pattern in said node. Arriving packets are differentiated according to the particular distribution compartment to which they belong (i.e. not according to a particular flow to which they belong inside the distribution compartment). They are then inserted into a corresponding queue accordingly. Said queues are used by the ports belonging to each branch pattern. As soon as a port is free, it selects the next queue to use. The selection thus begins in sufficient time to ensure that no gaps appear on the outgoing line from said port. If a port uses a plurality (in this case fully or partially overlapping) of branch patterns, a search is then carried out for non-empty queues in all of said branch patterns, during the selection. If a plurality of non-empty queues are found in different branch patterns, the following queue to be used is selected according to a pre-determined criteria. The packet to be emitted from said queue is then defined according to a further criterion.

Description

DISTRIBUTED TRANSMISSION OF TRAFFIC STREAMS
IN COMMUNICATION NETWORKS

The object of the invention is covered by the field of distributed transmission of traffic streams in communication networks. The communication network can be for example of the type disclosed in PCT Application No. WO 03/026230 published on March 27, 2003.

In a communication network the traffic is intended to be distributed according to specific rules in a regular manner to all nodes and lines in the communication network, also referred to as the network.

With this type of distribution what is known as a 'distribution fan' results for every communication relation from a specific input A to a specific output B, said distribution fan comprising all the nodes and connecting routes that can expediently be used for this communication relation (see FIG 1 and the relevant passages in PCT
Application No. WO 03/26228 published on March 27, 2003). In a correspondingly meshed network the distribution fans of different communication relations of necessity overlap so that either identical or partially overlapping or even totally disjoint 'branch patterns' result at the individual nodes (see FIG 2). The overlap is thereby a function of the distribution mechanisms operating in the network nodes.

The following mechanisms are known to date for the individual distribution of data packets to outgoing groups:
1) Simple distribution of the incoming traffic to an outgoing group without priorities:

(a) Prior distribution of the traffic into individual queues per port:

A central traffic distributor distributes the incoming traffic to individual queues, each of which is assigned to precisely one outgoing port of the group. Distribution can be cyclical or (e.g. in the case of different port bandwidths) weighted according to different criteria. The current capacity of the individual queues (based on the number of packets or in the case of variable packet lengths based on the actual quantity of data in bytes) or the individual length of the data packet to be assigned in that instance can for example be taken into account. The ports generally manage the queues according to the FIFO principle. Anything in a queue must then also be processed by the assigned port.

(b) Use of a single queue with a multiserver principle:
A favorable distribution of the traffic with optimum utilization of the available port capacities can be achieved with the multiserver principle. Here all incoming data is placed in a single queue, from which the ports, whenever they are free or become free, collect the next packet to be processed according to a FIFO (First In First Out) principle.
2) Distribution of the incoming traffic to an outgoing group with priorities:

(a) Prior distribution of the traffic into individual priority queues per port:

A central traffic distributor distributes the incoming traffic to individual queues, whereby an individual queue is provided for each priority class for every outgoing port. The variants according to 1 (a) can be used in the same way. When processing the queues, the ports take the priorities into account according to the corresponding rules ('strict', `weighted', etc.).

(b) Multiserver principle with one queue per priority class:

As 1(b), whereby the higher priority queues are processed in a preferred manner according to the priority rules.

3) Distribution of the incoming traffic to an outgoing group with priority-controlled Per Flow Queuing:

A refinement of the elementary mechanisms disclosed above involves also setting up individual and separate queues per flow for granular differentiation and prioritization of different individual communication relations (flows). However this multiplies the complexity of queuing (due to the number of queues) and scheduling (due to selection of the next packet to be output from the plurality of queues) and makes it very much more a function of the traffic patterns (i.e. number of simultaneously active flows). It must also be ensured that there is fair distribution of resources between flows with equal priority, for which specific mechanisms such as Weighted Fair Queuing (WFQ) etc. can be used, the complexity of which (particularly when there is a very large number of queues) can significantly exceed that of a simple priority queuing system. Naturally Per Flow Queuing can be used in a port-specific manner [above pattern (a)] as well as in conjunction with the multiserver principle [above pattern (b)].

4) ECMP (Equal Cost Multiple Path):

ECMP provides for distribution to a plurality of ports. Only those ports of a transmission node are taken into account here, the linked physical lines of which lead to the same adjacent transmission node. In this way (i.e. by load distribution to a plurality of physical lines) the transmission capacity between two adjacent transmission nodes can be increased, even if the transmission capacity of an existing single physical line cannot be increased further.
With all the known methods, during implementation in the queues only one indicator (address) is generally stored to identify the respective data packet in a generally shared data storage unit. The processing sequence results implicitly from the sequence of entries in the queue (e.g. according to the FIFO principle) or from the previous method for selecting the next queue to be processed (e.g.
based on priority and where the priorities are the same e.g.
cyclically, longest queue first, shortest queue first, as a function of weighting as with WFQ).
In order to achieve additional specific effects, further information can be included in this scheduling decision. There is very frequently a need for Traffic Shaping in ATM technology in particular (but also in isolated cases in the IP environment). This method is intended to ensure that in general specific bandwidths are complied with, usually achieved by corresponding distance criteria between the cells (packets) of a connection (i.e. communication relation).
5 Additional time information is stored for this purpose specifying an earliest, latest and/or optimum processing time for a queue or a specific cell (packet) (known as the calendar).

The mechanisms can also be extended with the same effect for application to a plurality of groups, in so far as these groups either do not overlap at all (are disjoint) or overlap completely (are identical). A solution for a fair and efficient packet-based traffic distribution to partially overlapping groups taking into account priorities is however not known.
One object of the invention is now to demonstrate how the traffic can be distributed in the network nodes to the outgoing connecting lines in the most optimum manner possible according to predefined branch patterns taking into account any specified prioritization of individual traffic streams or individual data packets, whereby every network node is to make a decision autonomously and individually for each data packet.

This object is achieved by the invention. The invention provides for at least one queue per current branch pattern in a network node according to the invention. One queue can thereby be used jointly for a plurality of distribution fans that are mapped onto the same branch pattern in this node.

Incoming packets are differentiated as a function of their association with a specific distribution fan (i.e. not as a function of association with a specific flow within the distribution fan). They are entered accordingly in an associated queue.

One aspect of the invention associated with particularly desirable advantages results from an exemplary embodiment with which the queues are processed by the ports belonging to the respective branch pattern. As soon as a port becomes free, it selects the queue it is to process next. Selection starts so promptly that there is no gap on the outgoing line. If a port processes a plurality of (in this case wholly or partially overlapping) branch patterns, non-empty queues are first sought via all these branch patterns during said selection process. If in this process a plurality of non-empty queues is found from different branch patterns, it is decided on the basis of a predefined criterion which queue is processed next. The packet to be output from this queue is then determined according to a further criterion.

The number of queues required is hereby advantageously limited and is only a function of the topology of the network, i.e. the number of adjacent nodes taking into account port grouping and not the traffic.

Use in combined networks poses no problem, as the invention is only used locally in a given network node.
Accordingly, in one aspect of the present invention there is provided network node of a packet-oriented communication network comprising a plurality of network nodes, the nodes of the network being interconnected according to the topology of the network in such a way that a plurality of paths exists between the network nodes, with the following features:
the network node is contained in at least one distribution fan (VF) that is derived from the network topology for a specific communication relation between a network node configured as a transmitting node (A, C) and a network node configured as a receiving node (B, D) and comprises all the network nodes and 6a routes that can expediently be used for distributed transmission of traffic streams (VS) assigned to the communication relation in the communication network, a branch pattern (i, t, d) is defined for the network node, onto which the distribution fan is mapped and by means of which a group (B) of outgoing ports (P) of the network node is determined, to which the traffic streams assigned to the distribution fan are to be distributed, whereby the routes assigned to the outgoing ports lead to at least two different adjacent network nodes, and at least when at least one traffic stream is currently transmitted in a distributed manner by the network node according to the branch pattern, the network node comprises at least one queuing system (Qii-Qin) for the branch pattern that comprises at least one queue (Qii) According to another aspect of the present invention there is provided a method for transmitting traffic streams (VS) in a packet-oriented communication network by a network node, which is configured according to any one of claims 1 to 8 with the following stages:
incoming packets are entered in a queue (Q) assigned to the respective distribution fan taking into account the distribution fan (VF), to which they are assigned, and the packets are transmitted via a port (P) of a group (B) that is determined by mapping the respective relevant distribution fan onto a network-node-specific branch pattern, whereby the routes assigned to the ports of a group each lead to at least two different adjacent network nodes.

Further advantageous configurations of the invention will emerge from the exemplary embodiments of the invention below:

- For delay optimization a plurality of queues flagged with different priorities is provided within one branch pattern.
The queues within one branch pattern are processed strictly on the basis of their priority. If a port processes a plurality of (in this case wholly or partially overlapping) branch patterns, the highest priority non-empty queue is first sought via all these branch patterns and this is processed. If a plurality of non-empty queues with the same priority is found from different branch patterns in the process, arbitration between these queues takes place based on a freely selectable criterion, e.g.
the random principle, a cyclical sequence, the size of the group, the queue length (longest/shortest first), the time elapsed since this queue was last processed, the number of ports competent to process it.

Using prioritized queues means that a sufficiently good delay and distribution quality is achieved with comparatively little outlay.

To optimize the minimum possible delay for each packet, a plurality of queues flagged with different priorities is also provided within a branch pattern and is processed within a branch pattern according to strict priority. If a port processes a plurality of (in this case wholly or partially overlapping) branch patterns, the highest priority, non-empty queue is first sought via all these branch patterns and this is processed. If in the process a plurality of non-empty queues with the same priority is found from different branch patterns, a decision is made between these based on a time criterion. For this in addition to a storage indicator (address, see above), a further, preferably relative, time information element (time stamp) is also input in the queues, from which it can be read when the packet was entered in the queue or how long it has been there (Fig. 4). The queue is then selected that is headed by the longest waiting packet, with the result that a FIFO principle is implemented as the criterion.

This configuration advantageously ensures that the currently most urgent request is always processed with the minimum possible delay as each port becomes available, even with only partially overlapping groups, via all the branch patterns processed by this port. This is in particular very advantageous when data of interactive real-time services, e.g. telephone or video conference services, is transmitted as high priority traffic streams.

The packet-specific time criterion is not used with all queues but only in the case of high priority traffic (e.g. time-critical realtime applications) to handle this with the shortest possible delay and correspondingly fair distribution.
Queues that process traffic without specific delay requirements or simply only best effort traffic can be assigned lower priority and be processed without taking such a time information element into account. In principle it is adequate only to store and evaluate the time information element for correspondingly high priority queues.

The granularity of the time information element should take into account the minimum transmission time of a packet, i.e. of the shortest possible packet on the fastest line of the group.
The possible value range should be selected so that an overrun does not occur within the anticipated maximum delay time of a correspondingly high priority packet (consideration of the maximum lengths of the associated queues, port bandwidths, etc.) and a reliable decision is possible at any time. Any limit set for the high priority traffic in the network can then also be taken into account with the advantage of shorter queues.
Implementation can take place via a simple, regularly clocked round counter (restart in the event of overrun). The counter is only relevant locally, synchronization between nodes is not necessary, clock accuracy is not subject to any specific requirements, a combination of nodes with and without this mechanism is always possible in the same network. (The mechanism only relates to the individual local mode of operation within a node).

- The time criterion is also used to sort out and reject packets that have waited too long for whatever reason and whose further transmission (in the context of the associated real-time application) no longer appears expedient. This can take place either during scheduling or by means of a separate, parallel process. Such a process could for example set the time information element at a defined initial value when the packet is entered in the queue, count it upward or downward with regular clocking and trigger corresponding actions, e.g.
removal of the packet from the queue, when a specific limit or threshold value has been reached. Alternatively the difference between the entry time (as a fixed value) and the current time (that is counted) could be used as a decision criterion in a regularly repeated comparison.

- The queues are processed by the ports according to the multiserver principle. The multiserver principle guarantees fair assignment and optimum use of available resources even and specifically with variable packet lengths. The scheduling process is initialized by the outgoing port precisely when said port becomes free. However this takes place (with knowledge of the (residual) length of the packet currently being processed) so promptly that the decision and next packet to be output are ready for output at the end of the previous one. A further major advantage of the multiserver principle is also that in the case of ports of different bandwidths, these differences 5 are taken into account automatically during distribution, in that ports, as they become free, almost autonomously collect new data from the queue(s).

- The selection of the next queue to be processed by a port is 10 made using a scheduling function.

- Further separate queues are used to take into account additional criteria that may differ in some cases for each distribution fan.
- The further criterion is a FIFO (First In First Out).

- The queues are only created as necessary. Queues not used for quite a long time are released again (time out). This reduces the number of queues actually required, as the number of current branch patterns may generally be smaller than the number of current communication relations.

- The traffic streams are deliberately distributed irregularly based on corresponding parameters. Further criteria are included in the distribution decision for this purpose.

- An adaptive approximation to a required target value for distribution is provided. With partially overlapping groups it is possible that the required, regular or predefined distribution might not be achieved in an optimum manner, because interference between groups has a disruptive effect.
According to a simple alternative, this can be calculated beforehand and taken into account when defining the scheduling rules.

In complex cases (e.g. in constantly changing real network conditions), in which the network response and therefore the response of the components of the invention cannot be calculated reliably in advance, it is advantageous to be able to adjust the scheduling parameters adaptively during operation.
This can take place either autonomously in the network node or by external initialization (definition of new rules).

The comparison of (or difference between) the distribution actually achieved and the required distribution can serve as the regulating criterion for this purpose. For example the frequency of processing of the different queues by the different ports (or the resulting load on the ports per traffic class) should preferably be measured and made available to the correction unit.

For network-wide corrections data about the mean and maximum occurring lengths of the different queues may also be of significance.
These measurements and methods are preferably undertaken based on the number of packets. It should thereby be assumed that the effects of variable length packets average out over relatively short periods. Alternatively such considerations and measurements can also be applied taking into account the individual lengths of all individual packets.

- To achieve a specific load distribution within a group, a time information element is held per queue for every port and taken into account during scheduling.
The time information element contains for example the times when the queue was last processed by the different ports.
Advantageously a specific minimum and/or maximum interval between two processing operations can hereby be set for each port or the times could be evaluated in relation to each other ('port x does not become active again until it has been out of action for twice as long as port y'). Such a time information element could also be used to determine a next target processing time (earliest, latest, optimum) or could also be stored as such (calendar).

An alternative and comparatively simpler solution is only to count for each queue how often it was processed by which port and to derive from this the decision whether it should currently be taken into consideration. The counters can be reset or decremented at intervals or on a sliding basis (leaky bucket).

Even with these variants the parameters and rules could be adjusted adaptively using measurement results as disclosed above.

The invention is described in more detail with reference to the exemplary embodiments shown in the Figures, in which:

Figure 1 shows a first distribution fan, which comprises all the network nodes and edges that can expediently be used for a communication relation from a transmitting node A to a receiving node B in a network, Figure la shows a second distribution fan, which comprises all the network nodes and edges that can expediently be used for a communication relation from a transmitting node C to a receiving node D in the network according to Figure 1, Figure 2 shows the two partially overlapping distribution fans shown together in the network according to Figure 1, Figure 3 shows the basic form of a solution according to the invention (still without a time stamp) with n=1 for the most elementary configuration of the invention, whereby the arrow direction indicates that the port collects the next packet to be output and whereby dotted triangles represent the scheduling function thereby activated (from the port), Figure 4 shows a solution according to the invention with time stamp information for the packets in the highest priority queue (the time stamp principle can of course also be used for lower priority queues down to best effort), which is also evaluated by the scheduler, whereby the arrow direction indicates that the port collects the next packet to be output and whereby the dotted triangles represent the scheduling function thereby activated (from the port), Figure 5 shows a solution according to the invention with further auxiliary registers per queue (with auxiliary information for activating a predefined traffic distribution for the respective branch group in the group processing it), whereby the arrow direction indicates that the port collects the next packet to be output and whereby the dotted triangles represent the scheduling function thereby activated (from the port).

Figure 1 shows an example of a distribution fan VF1 in the communication network 100. The network 100 comprises a plurality of network nodes 1-15, whereby the network nodes 1-7 are configured as input and/or output nodes. At least one traffic stream VS1 is transmitted from the network node 1 configured in the present instance as transmitting node A to the network node 4 configured in the present instance as receiving node B with the following distribution:

From node Via edge To node l (A) 20 8 12 36 4(B) 37 4(B) It can clearly be identified that the traffic sent to the receiving 10 node B from every network node between the nodes A and B, from which more than one residual route extends to the receiving node B, is transmitted distributed to at least two residual routes. For the network nodes 1, 8, 9, 10, 11, 13 and 14 the central column corresponds to the respective account-internal branch patterns, onto 15 which the distribution fan VF1 is mapped. For the network nodes 3, 5, 12 and 15 in the absence of different network edges there are no real branch patterns, onto which the distribution fan VF1could be mapped.

Figure la shows a second example of a distribution fan VF1a in the communication network 100. At least one traffic stream VS1a is transmitted from the network node 7 configured in the present instance as the transmitting node C to the network node 3 configured 5 in the present instance as the receiving node D with the following distribution:

From node Via edge To node 7(C) 52 10 12 29 3(D) 11 28 3(D) 10 Again it can be clearly identified that the traffic sent to the receiving node D is transmitted distributed to at least two residual routes from every network node between the nodes C and D from which more than one residual route extends to the receiving node D. For the network nodes 7, 9, 10 and 14 the central column corresponds to 15 the respective account-internal branch patterns, onto which the distribution fan VF1a is mapped. For the network nodes 11, 12 and 13 in the absence of different network edges there are no real branch patterns, onto which the distribution fan VF1a could be mapped.

20 It should however be noted here that the branch patterns in Figures 1, la and 2 only show the structure of the meshing between the nodes. This does not exclude the possibility that there could be a plurality of parallel physical lines (even with different bandwidths) at one edge of the graph (i.e. between two adjacent 25 nodes), which could be/are considered as separate ports during distribution as in Figures 3 to 5. Of course (unreal) branch patterns may very well exist for distribution to a plurality of ports of an edge. The distribution fans VF can in principle also be mapped onto these, even if the required distribution of the traffic to the different network nodes 1-15 is not effected as a result.

Finally the two distribution fans VF1, VFia are shown together in the communication network in Figure 2. It can therefore clearly be identified how the two distribution fans VF1, VF1a are mapped in the network nodes 9 and 10 onto identical branch patterns i, in the network nodes 11, 13 and 14 onto partially identical branch patterns t and in the network node 12 onto disjoint branch patterns d, as shown in the table below, in which different edges are indicated in bold type:

Branch pattern (in Distribution fan VF1 Distribution fan VF1a node) for ..
i (9) 24 24 i (10) 26 26 t (11) 28 28 -t (13) 31 31 t (14) 33 33 d (12) 36 -These relations are shown again in the table below with particular emphasis on the different edges:

Branch pattern (node) Shared edges Different edges VF1, VF1a VF1 VF1a i (9) 24, 25 -i (10) 26, 27 -t (11) 28 30 t (13) 31 32 t (14) 33 34 56 d (12) - 36 29 One particularly desirable advantage of the invention is that when overlapping branch patterns t are used, very flexible adaptation of the network nodes 1-15 and therefore the network 100 as a whole is achieved and can be optimized for almost any network application by means of any combination of the mechanisms a) time criterion per packet for delay optimization in the event of arbitration, b) adjustment of a predefined, where necessary also `skewed' traffic distribution, c) adaptive subsequent adjustment to the required distribution pattern.

One example of intentionally irregular distribution of the traffic streams VS according to corresponding parameters by including further criteria in the distribution decision involves sporadically not taking into account a specific queue Q when scheduling for specific ports P according to corresponding rules. If for example in the case of distribution to four ports P the high or highest priority traffic of a branch group is to be distributed in a ratio 4:4:3:1 to the four ports P, the scheduler will not take into account the highest priority queue of this branch group in every 4th scheduling process for the 3rd port P and for the 4th port it will include it in every 4th scheduling process. As a result the total volume of the highest priority traffic should in any case remain (significantly) below the total capacity (port 1 + port 2 + U4 port 3 + 1-4 port 4) of the group B
provided for this.

Of course port bandwidth asymmetries can also be compensated for in this process. If for example the 4th port P only has half the bandwidth of the other three ports P but it still has to be allocated one twelfth of the total traffic, the corresponding queue length is taken into account every second time for it.
It should be pointed out that the description of the components of the communication network of relevance to the invention should in principle not be seen as restrictive. It is clear in particular to a person skilled in the relevant art that the terms used should be understood functionally and not physically. As a result the components can also be provided partially or wholly in the form of software and/or using a plurality of physical devices.

Claims (27)

What is claimed is:
1. Network node of a packet-oriented communication network comprising a plurality of network nodes, the nodes of the network being interconnected according to the topology of the network in such a way that a plurality of paths exists between the network nodes, with the following features:
the network node is contained in at least one distribution fan (VF) that is derived from the network topology for a specific communication relation between a network node configured as a transmitting node (A, C) and a network node configured as a receiving node (B, D) and comprises all the network nodes and routes that can expediently be used for distributed transmission of traffic streams (VS) assigned to the communication relation in the communication network, a branch pattern (i, t, d) is defined for the network node, onto which the distribution fan is mapped and by means of which a group (B) of outgoing ports (P) of the network node is determined, to which the traffic streams assigned to the distribution fan are to be distributed, whereby the routes assigned to the outgoing ports lead to at least two different adjacent network nodes, and at least when at least one traffic stream is currently transmitted in a distributed manner by the network node according to the branch pattern, the network node comprises at least one queuing system (Q11-Q1n) for the branch pattern that comprises at least one queue (Q11) .
2. Network node according to claim 1, with a separate queuing system (Q21-Q2n, Q31-Q3,) for each branch pattern (t, d), the groups of which differ from the groups of the other branch patterns in at least one port.
3. Network node according to claim 1 or 2, in which in the event that a plurality of different distribution fans are mapped onto the same branch pattern, either a separate queuing system is provided for each different distribution fan or a single queuing system is provided for all the distribution fans.
4. Network node according to any one of claims 1 to 3, with which at least one queuing system comprises at least two queues, whereby at least one of the two queues is flagged with a priority.
5. Network node according to any one of claims 1 to 4, with a time information element at least for packets waiting in a priority queue, from which it can be read when the packets were entered in the queue or how long they have been there.
6. Network node according to claim 5, with a value range for the time information element that is selected taking into account the transmission time of the shortest possible packet on the fastest port so that an overrun does not occur within a given maximum delay time for a priority packet.
7. Network node according to claim 5 or 6, comprising a separate, parallel process for at least one of sorting and rejecting packets, the further transmission of which no longer appears expedient taking into account the time information element.
8. Network node according to any one of claims 1 to 7, comprising a second time information element for at least one of the queues, by means of which the last processing time of the respective queue is indicated for every port of the group assigned to the queue.
9. Method for transmitting traffic streams (VS) in a packet-oriented communication network by a network node, which is configured according to any one of claims 1 to 8 with the following stages:
incoming packets are entered in a queue (Q) assigned to the respective distribution fan taking into account the distribution fan (VF), to which they are assigned, and the packets are transmitted via a port (P) of a group (B) that is determined by mapping the respective relevant distribution fan onto a network-node-specific branch pattern, whereby the routes assigned to the ports of a group each lead to at least two different adjacent network nodes.
10. Method according to claim 9, with which the traffic streams of a branch group are transmitted in a deliberately irregularly distributed manner via the ports of the assigned group.
11. Method according to claim 9 or 10, with which a scheduling process is initiated by one of the outgoing ports to decide about the outputting of a next packet from one of the queues, said decision taking into account scheduling rules.
12. Method according to claim 11, with which the scheduling process is initiated so promptly by the port before its release that the decision about the next packet to be output and the next packet itself are available so promptly that the next packet can be transmitted from the port immediately after the previous packet.
13. Method according to claim 11 or 12, with which in the event of a plurality of filled queues that is assigned to the port, rules of the scheduling process contain a first predefined criterion, according to which it is decided which queue is processed next.
14. Method according to claim 13, with which in the event of at least partial flagging of the queues with priorities, when the decision is made, the filled queues with low priority are not taken into account as long as at least one filled queue with a higher priority compared with these queues has to be taken into account.
15. Method according to claim 13 or 14, with which the first predefined criterion is configured as one of the following criteria:
random principle, cyclical sequence, size of group, shortest queue first, longest queue first, as a function of queue weighting, time elapsed since last time said queue was processed, in particular configured as the FIFO principle, with which the queue not processed for longest is processed next, or number of ports competent to process them.
16. Method according to any one of claims 11 to 15, with which in the event of a queue with more than one packet, rules of the scheduling process comprise a second criterion, according to which the next packet to be transmitted is determined.
17. Method according to claim 16, with which the second criteria is configured as a FIFO.
18. Method according to any one of claims 11 to 17, with which approximation to a required target distribution value is achieved by adaptive adjustment of rules of the scheduling process.
19. Method according to claim 18, with which the adaptive adjustment is calculated beforehand and taken into account when defining the scheduling rules.
20. Method according to claim 18 or 19, with which the scheduling rules are adaptively adjusted during ongoing operation of the communication network.
21. Method according to claim 20, with which adjustment of the scheduling rules takes place in the network node at least one of autonomously and by initiation from outside.
22. Method according to claim 20 or 21, with which the adjustment is made taking into account a regulating criterion.
23. Method according to claim 22, with which the regulating criterion comprises at least one of a comparison between the distribution actually achieved and the required target distribution value, a measurement of the frequency of processing of the different queues, a measurement of the resulting load on the ports per traffic class, a measurement of the mean length of the different queues and a measurement of the maximum occurring length of the different queues.
24. Method according to claim 23, with which measurements are based on the number of packets and/or take into account the individual length of the individual packets.
25. Method according to any one of claims 9 to 24, with which the queues are only created as necessary and unused queues are released again.
26. Communication network comprising at least one network node according to any one of claims 1 to 8.
27. Communication network comprising at least one network node with means for implementing the stages of a method according to any one of claims 9 to 25.
CA2462793A 2001-10-04 2002-10-04 Distributed transmission of traffic streams in communication networks Expired - Fee Related CA2462793C (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE10148893A DE10148893A1 (en) 2001-10-04 2001-10-04 Method for transmitting streams of traffic in a connectionless packet-oriented communications network uses transmission nodes interconnected so as to create multiple paths between the nodes.
DE10148893.9 2001-10-04
DE10161508 2001-12-14
DE10161508.6 2001-12-14
DE10161547.7 2001-12-14
DE10161547 2001-12-14
PCT/DE2002/003750 WO2003032676A1 (en) 2001-10-04 2002-10-04 Distributed transmission of traffic flows in communication networks

Publications (2)

Publication Number Publication Date
CA2462793A1 CA2462793A1 (en) 2003-04-17
CA2462793C true CA2462793C (en) 2010-12-21

Family

ID=27214622

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2462793A Expired - Fee Related CA2462793C (en) 2001-10-04 2002-10-04 Distributed transmission of traffic streams in communication networks

Country Status (8)

Country Link
US (1) US7251242B2 (en)
EP (1) EP1433352B1 (en)
CN (1) CN1565143A (en)
AU (1) AU2002339349B2 (en)
CA (1) CA2462793C (en)
DE (1) DE50214634D1 (en)
NZ (1) NZ531355A (en)
WO (1) WO2003032676A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7554919B1 (en) * 2004-06-09 2009-06-30 Juniper Networks, Inc. Systems and methods for improving packet scheduling accuracy
US7542431B2 (en) * 2005-03-31 2009-06-02 Microsoft Corporation Nodal pattern configuration
US20070070894A1 (en) * 2005-09-26 2007-03-29 Fan Wang Method to determine a scheduling priority value for a user data connection based on a quality of service requirement
CN100450067C (en) * 2005-11-18 2009-01-07 华为技术有限公司 Service apparatus exchange network and exchange method
US20070116007A1 (en) * 2005-11-18 2007-05-24 Weimin Xiao Method and system for scheduling and resource allocation in a data communication network
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7916626B2 (en) * 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US8031606B2 (en) * 2008-06-24 2011-10-04 Intel Corporation Packet switching
US8959249B1 (en) 2010-09-15 2015-02-17 Emc Corporation Cooperative cloud I/O scheduler
US10027602B2 (en) * 2014-07-29 2018-07-17 Oracle International Corporation Packet queue depth sorting scheme for switch fabric

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69331054T2 (en) * 1993-07-30 2002-06-20 Ibm Method and device for the automatic distribution of a network topology in main and secondary topology
EP0637152A1 (en) * 1993-07-30 1995-02-01 International Business Machines Corporation Method and apparatus to speed up the path selection in a packet switching network
US5634004A (en) * 1994-05-16 1997-05-27 Network Programs, Inc. Directly programmable distribution element
US6011804A (en) * 1995-12-20 2000-01-04 International Business Machines Corporation Dynamic bandwidth reservation for control traffic in high speed packet switching networks
US6064677A (en) * 1996-06-27 2000-05-16 Xerox Corporation Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
EP0854604A1 (en) * 1997-01-21 1998-07-22 International Business Machines Corporation Multicast group addressing
US7593321B2 (en) * 1997-02-11 2009-09-22 Cisco Technology, Inc. Method and system for a local and fast non-disruptive path switching in high speed packet switching networks
US6934249B1 (en) * 1997-04-01 2005-08-23 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US6069895A (en) * 1997-08-29 2000-05-30 Nortel Networks Corporation Distributed route server
US6246669B1 (en) * 1997-11-28 2001-06-12 Cisco Technology, Inc. Method and system for optimizing connection set-up operations in a high speed digital network
US6233245B1 (en) 1997-12-24 2001-05-15 Nortel Networks Limited Method and apparatus for management of bandwidth in a data communication network
US6122743A (en) * 1998-03-31 2000-09-19 Siemens Information And Communication Networks, Inc. System for providing enhanced security for transactions transmitted through a distributed network
US6646989B1 (en) * 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
GB9828144D0 (en) * 1998-12-22 1999-02-17 Power X Limited Data switching apparatus
US6865178B1 (en) * 1999-08-20 2005-03-08 International Business Machines Corporation Method and system for establishing SNA connection through data link switching access services over networking broadband services
US6349091B1 (en) * 1999-11-12 2002-02-19 Itt Manufacturing Enterprises, Inc. Method and apparatus for controlling communication links between network nodes to reduce communication protocol overhead traffic
US6819673B1 (en) * 1999-11-25 2004-11-16 International Business Machines Corporation Method and system for establishing SNA sessions over wide area networks
US7248841B2 (en) * 2000-06-13 2007-07-24 Agee Brian G Method and apparatus for optimization of wireless multipoint electromagnetic communication networks
US20020167954A1 (en) * 2001-05-11 2002-11-14 P-Com, Inc. Point-to-multipoint access network integrated with a backbone network
US8199647B2 (en) * 2001-09-20 2012-06-12 Nokia Siemens Networks Gmbh & Co. Kg Data transmission in a packet-oriented communication network
WO2003096632A1 (en) * 2002-05-08 2003-11-20 Nokia Corporation Distribution scheme for distributing information in a network

Also Published As

Publication number Publication date
US20040264450A1 (en) 2004-12-30
NZ531355A (en) 2005-07-29
CN1565143A (en) 2005-01-12
DE50214634D1 (en) 2010-10-14
US7251242B2 (en) 2007-07-31
WO2003032676A1 (en) 2003-04-17
CA2462793A1 (en) 2003-04-17
AU2002339349B2 (en) 2006-06-08
EP1433352A1 (en) 2004-06-30
EP1433352B1 (en) 2010-09-01

Similar Documents

Publication Publication Date Title
CA2462793C (en) Distributed transmission of traffic streams in communication networks
US7016366B2 (en) Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues
US7230923B2 (en) Time based packet scheduling and sorting system
Semeria Supporting differentiated service classes: queue scheduling disciplines
US7619969B2 (en) Hardware self-sorting scheduling queue
US8023521B2 (en) Methods and apparatus for differentiated services over a packet-based network
US7701849B1 (en) Flow-based queuing of network traffic
US6959002B2 (en) Traffic manager for network switch port
US6122673A (en) Port scheduler and method for scheduling service providing guarantees, hierarchical rate limiting with/without overbooking capability
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
US20020110134A1 (en) Apparatus and methods for scheduling packets in a broadband data stream
US20040151197A1 (en) Priority queue architecture for supporting per flow queuing and multiple ports
WO2002098080A1 (en) System and method for scheduling traffic for different classes of service
GB2339371A (en) Rate guarantees through buffer management
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
WO2002098047A2 (en) System and method for providing optimum bandwidth utilization
US8265091B2 (en) Traffic multiplexing using timestamping
US7619971B1 (en) Methods, systems, and computer program products for allocating excess bandwidth of an output among network users
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
US8467401B1 (en) Scheduling variable length packets
CA2290265A1 (en) High-speed programmable packet scheduler and buffer manager
US20070133561A1 (en) Apparatus and method for performing packet scheduling using adaptation round robin
Zhu et al. A new scheduling scheme for resilient packet ring networks with single transit buffer
Zaidi et al. Simplified Static Image Face Detection Algorithm

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20141006