This application claims priority of PCT/1B02/02458 dated Jun. 27, 2002 under 35 U.S.C. 371.
The present invention relates to a method and network element for scheduling data transmission in a network element, such as an IP (Internet Protocol) router, of a packet data network having e.g. a differentiated service architecture to provide scalable means for delivering quality of service based on handling of traffic aggregates.
Traditional IP networks can provide customers with Best-Effort (BE) services only, because all the traffic competes equally for network resources. With the development of new Internet applications, such as voice, video and web services, the desire for quality of service (QoS) becomes stronger.
Recently, the Internet Engineering Task Force (IETF) has proposed a differentiated service (DS) architecture, as described for example in the IETF specification RFC 2475, to provide scalable means to deliver IP quality of service based on handling traffic aggregates, i.e. collections of data packets with the same differentiated service (DS) code point crossing a link in a particular direction. The traffic classification state is conveyed by means of IP-layer packet marking using a DS field in the packet header. Data packets are classified and marked to receive a particular per-hop behavior (PHB) on network nodes along their path. The PHB corresponds to the externally observable forwarding behavior applied at a DS-compliant node to a DS behavior aggregate. Sophisticated classification and traffic conditioning, including marking, policing, and shaping operations, need only be implemented at network boundaries. Within the DS domain, core router forward data packets according to the differentiated services code point (DSCP) value in the packet header.
Up to now, IETF has only defined two kinds of PHBs, i.e. expedited forwarding (EF) PHB and assured forwarding (AF) PHBs. EF class traffic requires low loss, low latency, low jitter, and assured bandwidth for edge-to-edge services through the DS domain. To achieve this, strict policing and shaping is needed. In contrast thereto, no quantitative requirements are defined for AF class traffic. There are four independent AF classes each comprising three drop precedence levels.
Although four AF classes have been defined, it is still unsolved how to deal with the data packets belonging to different AF classes. However, the performance or fairness of responsive flows, such as TCP (Transmit Control Protocol) packets can be affected by non-responsive flows, such as UDP (User Datagram Protocol) packets, if they are marked to the same AF class. This may encourage customers to use non-responsive flows, which will be detrimental to TCP traffic. Therefore, fairness between responsive flows and non-responsive flows has been haunting network researchers for many years. Many papers have been published for the negative impacts of an increasing deployment of non-responsive traffic, i.e. non-congestion-controlled traffic, in the Internet. For example, Sally Floyd and Kevin Fall, “Promoting the Use of End-to-End Congestion Control in the Internet”, IEEE ACM Transaction on Networks, 1999, suggest promoting the use of end-to-end congestion control in the Internet. However, the network side cannot rely on customers' corporation completely. Thus, in the architecture of a DS network, this issue still remains and becomes an obstacle for guaranteed QoS.
It is therefore an object of the present invention to provide a method and network element for scheduling data transmission in a packet data network, by means of which fairness between different AF traffic classes can be ensured.
This object is achieved by a method of scheduling data transmission in a network element of a packet data network, said method comprising the steps of:
Furthermore, the above object is achieved by a network element for scheduling data transmission in a packet data network, said network element comprising:
Accordingly, in-profile traffic can be measured in each AF class as determined by the traffic profile, and the queue weights of each class can be adjusted accordingly to provide improved fairness between the classes based on the in-profile traffic in each class, e.g. responsive traffic (e.g. TCP) and non-responsive traffic (e.g. UDP). If the responsive and non-responsive traffic is marked into different AF classes and scheduled by the above scheduling algorithm, fairness between them can be achieved easily and perfectly, which has been shown by corresponding simulations. The scheduling procedure can be used together with other marking mechanisms at the edge of a DS network for traffic conditioning. A further advantage results in that the proposed scheduling scheme is very simple and easy to implement.
Preferably, data packets of the in-profile traffic are marked at an edge network element of the packet data network, and the classification step is performed by detecting the packet marking. In particular, the marking may be performed by setting a DSCP (DS code point) value in the packet header.
The data packets of the in-profile traffic may be queued in a separate sub-queue, and the queued data packets may be scheduled based on the adjusted weight. In this case, any fair scheduling procedure arranged to allocate bandwidth to said sub-queue proportional to said adjusted weight. The fair scheduling procedure may be a weighted round robin, weighted fair queuing, virtual clock, or self-clocked fair queuing procedure.
The predetermined traffic profile may be used to separate responsive traffic from non-responsive traffic. The responsive traffic may be TCP traffic, and the non-responsive traffic may be UDP traffic. The predetermined traffic class may be an AF class.
Furthermore, the in-profile rate may be a green packet rate of TCM (Three Color Marker) marked packets.
Preferably, the estimation step may be performed by periodically calculating the in-profile rate at a predetermined interval. In particular, the calculation may be a moving average calculation or a sliding window calculation. Similarly, the weight adjustment step may be performed periodically at a predetermined or dynamic interval.
For EF class traffic, a priority scheduling may be used, while the remaining bandwidth may be shared by the proposed scheduling method.
The network element may be a core router of a DS network.
In the following, the present invention will be described in greater detail based on a preferred embodiment with reference to the accompanying drawings, in which:
The preferred embodiment will now be described based on a DS network architecture as shown in
In the network topology according to
It is assumed that the source S1 and the source S3 generate TCP traffic, while the source S2 and the source S4 generate UDP traffic. In this case, fairness between the TCP traffic and the UDP traffic can be guaranteed if the weights of the AF class or sub-queues for the TCP traffic and the UDP traffic at the bottleneck link are set proportional to the total target rate of the TCP traffic and the UDP traffic, i.e. the sum of the traffic rates of the sources S1 and S3 for the TCP traffic and the sum of the target rates for the sources S2 and S4 for the UDP traffic. However, since an aggregate may consist of many flows or connections, those flows may have different source and destination pairs and may travel through different paths in the DS network, because their destinations may be different and IP routing protocols are dynamic. Thus, the edge routers cannot make sure how much traffic belonging to the aggregate will be at a predetermined link in the DS network. Furthermore, even if the core router C1 obtains the target rate information of the aggregate which contains the flows currently passing through the core router C1, it cannot determined how much bandwidth those flows should receive.
Therefore, according to the preferred embodiment, a self-adaptive fair scheduler (SAFS) is provided e.g. in the core router C1, which can adaptively change the weights of different sub-queues for different PHB or PHB groups of the DS network. Then, if the TCP traffic is marked to one AF PHB class and the UDP traffic is marked to another AF PHB class, the SAFS can adjust the weights for the TCP traffic and the UDP traffic dynamically according to the entire effective target rate of all flows. Moreover, there is no need to maintain any per-flow state information and add viewer overheads to the scheduler at the core router C1 of the DS network.
In general, the term “in-profile” is used to denote any packet or traffic, which has been marked to a predetermined priority or priority range and hence to a predetermined drop precedence or drop precedence range. In the present example, the in-profile traffic corresponds to data packets which have been marked to the highest priority, i.e. to the lowest drop precedence. Other packets are considered as out-of-profile traffic. Thus, in the two-color mode, in-profile traffic are those packets whose color is IN, and in the three-color mode, in-profile traffic are those packets whose color is Green.
According to the SAFS architecture shown in
Furthermore, a scheduler 30 is provided for setting respective weights for each of the sub-queues Q1 to Q3 based on the estimated in-profile rate determined by the in-profile rate estimator 20. In particular, the weights may be adjusted periodically for a determined or dynamic interval obtained from a timer function. The scheduling function may be a packet fair queuing (PFQ) scheduling function which allocates bandwidth to the sub-queues Q1 to Q3 according to the determined weights. In particular, the scheduling may be based on any known scheduling algorithm, such as Weighted Round Robin (WRR), Weighted Fair Queuing (WFQ), Virtual Clock (VC), Self-Clocked Fair Queuing (SCFQ), or the like.
It is noted that only in-profile packets need to be counted or processed by the in-profile rate estimator 20. Furthermore, the estimation algorithm may be extended by counting both green and yellow marked packets for TCP to thereby favor TCP traffic.
In the following, simulation results obtained on the basis of the network architecture of
As already mentioned, if a three-drop precedence is used in one class, then green packets are considered as in-profile traffic. Alternatively, if a two-drop precedence is provided, then packets marked as in-profile are considered as in-profile traffic.
To evaluate the dynamic behavior of the SAFS according to the preferred embodiment, a situation is created where the ratio of the total expected rates of TCP and UDP traffic changes with time as indicated in the table of
Deviation=(Achieved Throughput—Fair Share)/Fair Share.
In the SAFS architecture, two AF classes and two sub-queues are used for TCP and UDP, and the target rate of TCP and UDP are completely estimated by the SAFS architecture. The fairness rises with reduced deviation.
In
From
If the TCP SACK option is to be used, both ends of a TCP connection need to have a SACK function. However, while most implications of TCP are still of a Reno type, the SACK option may be not so popular. Nevertheless, simulation results show that a SAFS mechanism according to the preferred embodiment can improve fairness even if only one TCP Reno connection is used in one TCP aggregate.
Since SAFS is a scheduler algorithm suitable for DS network architectures, it can be used together with other marking algorithms at the edge of the DS network. The marking algorithms may be token bucket, srTCM, trTCM, or other TCP friendly marking algorithms suitable for DS networks.
In
It is noted that the present application is not restricted to the preferred embodiment described above but can be used for any data scheduling function in packet data networks where the fair share between traffic classes is proportional to the in-profile traffic in each class. Thus, the preferred embodiment may vary within the scope of the attached claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB02/02458 | 6/27/2002 | WO | 00 | 12/10/2003 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2004/004275 | 1/8/2004 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6748435 | Wang et al. | Jun 2004 | B1 |
6914883 | Dharanikota | Jul 2005 | B2 |
6939321 | Wang et al. | Sep 2005 | B2 |
6975638 | Chen et al. | Dec 2005 | B1 |
7082102 | Wright | Jul 2006 | B1 |
7085236 | Oldak et al. | Aug 2006 | B2 |
7139281 | Bodin | Nov 2006 | B1 |
20020087715 | De Cnodder et al. | Jul 2002 | A1 |
20020089985 | Wahl et al. | Jul 2002 | A1 |
20030086140 | Thomas et al. | May 2003 | A1 |
20030214954 | Oldak et al. | Nov 2003 | A1 |
20060039364 | Wright | Feb 2006 | A1 |
20070087715 | Mimura et al. | Apr 2007 | A1 |
20070109968 | Hussain et al. | May 2007 | A1 |
20070127382 | Hussain et al. | Jun 2007 | A1 |
Number | Date | Country |
---|---|---|
1 187 404 | Mar 2002 | EP |
2 338 372 | Dec 1999 | GB |
WO 0128169 | Apr 2001 | WO |
WO 0174027 | Oct 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040177087 A1 | Sep 2004 | US |