Internet DRAFT - draft-hurley-alternative-best-effort

draft-hurley-alternative-best-effort



INTERNET DRAFT                                               Paul Hurley*
Expires: May 2001                                    Gianluca Iannaccone+
                                                             Mourad Kara^
Diffserv Working Group                               Jean-Yves Le Boudec*
                                                          Patrick Thiran+
                                                         Christophe Diot+
                         *Swiss Federal Institute of Technology, Lausanne
                         +Sprint Advanced Technology Labs, Burlingame, CA
                                                 ^University of Leeds, UK
                                                            November 2000
    
                            The ABE Service
							
                        (http://www.abeservice.org)
                 
              draft-hurley-alternative-best-effort-01.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   A revised version of this draft document will be submitted to the
   RFC editor as a Proposed Standard for the Internet Community.
   Discussion and suggestions for improvement are requested.  This
   document will expire before May 24th 2001.

   Distribution of this draft is unlimited.

Abstract

   ABE (Alternative Best-Effort) is a novel service for IP networks. It
   offers applications the choice between receiving a lower end-to-end
   delay and receiving more overall throughput. Every best effort 
   packet is tagged as either green or blue. Green packets receive a 
   low, bounded queueing delay. To ensure blue packets do not suffer as
   a result, green flows receive less throughput during bouts of
   congestion.
   
   The unique combination of lower delay with reduced throughput for 

Hurley, et al.              Expires: May 2001                 [page  1]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   green makes it different from existing differentiated service
   proposals such as expedited forwarding [5] and assured forwarding
   [6]. The incentive to choose one or other is based on the nature of
   one's traffic and on traffic conditions. Typically, green flows have
   real-time deadlines (e.g. interactive audio), while blue traffic
   (e.g. bulk data transfer) seeks to minimise overall transfer time.
   There is benefit for all traffic in that green traffic achieves
   a low delay and blue traffic will receive at least as much throughput
   as it would in a flat best-effort network and usually more. Neither
   traffic type can be said to be better, thus flat rate pricing may be
   maintained, and there is no need for reservations or profiles. 
 
   In this document we define the ABE service, discuss its usefulness, 
   and describe the requirements of router algorithms for ABE support. 
   We outline one particular router implementation, its implementation
   in dummynet, and present initial experimental results of it on a
   testbed. Note that ABE is not restricted to any specific
   implementation and other implementations such as those based on
   per-flow queueing are  certainly do-able. As such, we invite
   universities and research centres to  define other implementations.

1. Introduction

   Alternative Best-Effort (ABE) is a new IP service, whose goals are (1)
   to provide a low queueing delay service and (2) to operate in best 
   effort mode, requiring no usage control.  The first requirement is for
   applications with stringent real time constraints, such as interactive
   audio. The second requirement is to maintain the simplicity of the 
   original Internet. With ABE, it is not required to police how much 
   traffic uses the low delay capability. The service is designed to 
   operate equally well in all traffic scenarios.

   ABE is designed primarily for rate-adaptive multimedia applications,
   applications that adapt to network state. The rate is reduced when 
   negative feedback is received, and increased with positive
   feedback. In today's Internet, feedback is based on packet drop. In
   future,  binary feedback based on Explicit Congestion Notification
   (ECN) [7]  will be used. Note that ABE would be even more  attractive
   with ECN. This document describes the ABE service both from the ECN
   and  loss-based feedback points of view. The implementation described
   uses loss-based feedback.
   
   As is required in the Internet, rate adaptation should be performed 
   such that the application is TCP-friendly [1], namely, it does not 
   receive more throughput than a TCP flow would. It has been 
   established that it is possible to implement adaptive multimedia 
   applications, which perform across a wide range of network conditions
   [8, 9]. In this context, the key idea of ABE is to provide low-delay
   at the expense of maybe less throughput.  This is fundamental to 
   ensure ABE requires no usage control. 
   
   ABE operates as follows. Best effort IP packets are partitioned into 
   either low delay packets, called green packets, and other best effort

Hurley, et al.              Expires: May 2001                 [page  2]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   packets, called blue packets.  The choice of the terms blue and 
   green, two primary colours of equal warmth, is to indicate that none
   of the two has priority over the other, while green, the colour of
   the  traffic light signal for go, indicates low queueing delay.
   Green  packets are given the guarantee of a low bounded delay in
   every  router. In exchange, if, as now, packet loss is used as the
   source of feedback, these packets receive more losses during bouts of
   congestion than blue packets. If ECN is used, then green packets are 
   more likely to be marked with the congestion bit than blue packets.
   ABE addresses a different market to existing differentiated or 
   integrated services. Unlike these services, ABE does not offer any 
   guarantee, or even indication of guarantee, on throughput. A highly 
   loaded network offering ABE will give little throughput to all best 
   effort flows, no matter whether green or blue. However, ABE enables a
   moderately loaded network to offer low delay to some applications 
   (typically, adaptive multimedia applications), as long as such 
   applications are satisfied with the throughput they receive.
   Traditional byte transfer oriented applications would probably find
   it  more beneficial to use only blue packets.

2. ABE Service Requirements

   ABE is an Internet service characterized by the following set of 
   requirements:

     1. ABE packets are tagged as either green or blue.

     2. Green packets receive a low, bounded delay at every hop, the 
        value of the per-hop delay bound configured by the operator.

     3. Applications are expected to control their rate in a 
        TCP-friendly manner. Blue and green packets are considered to 
        belong to the same flow, not two distinct flows.

     4. (Green does not hurt blue) If some source decides to tag some
        of its packets green rather than blue, then the quality of the
        service  received by sources that tag all their packets blue
        remains the same  or becomes better.

     5. All ABE packets belong to one single best effort class. If the 
        total load is high, then every source may receive little 
        throughput. However, entirely green sources may experience less 
        throughput than entirely blue sources sharing the same network
        resources.

   Requirement 5, the single class, ensures no policing of colour 
   tagging is required. In a network with a large number of blue
   sources, a green source receives little throughput. Conversely, in a
   network  with many green sources, a blue source also receives little
   throughput.  This is not because the green sources are green, but
   because there are many of them.  If they were blue, the blue  source
   would probably get less throughput. However, it does get more  than
   if it were green. Lastly, a network where all sources are blue

Hurley, et al.              Expires: May 2001                 [page  3]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   behaves as a flat best effort network. Conversely, a network with
   only green sources behaves like a flat best effort network with
   smaller  buffers.
 
   Requirement 4, that green do not hurt blue, is important. We now
   outline what it entails. A more in depth discussion can be found in
   Section  3.4 of [10]. Consider two scenarios, one in which all 
   sources are blue and the other in which some sources decide to tag
   some packets green. The quality of service received by those packets
   which remained blue in the second scenario should be as good as in
   the first one. This requires the delay not to be any larger for the
   blue packets, and that any  blue packet which is not dropped (or
   marked with congestion notification) in the first scenario would not 
   be either in the second one. As a consequence, the throughput of an
   entirely blue flow would be at  least as good in the second scenario,
   since we assume that flows are TCP friendly.

   A problem with this simple, intuitive definition is that sources are
   assumed to be adaptive (TCP-friendly), thus in the second scenario,
   the packets sent by the sources will not be the same as in the first
   one. Furthermore, the behaviour of sources is dependent on their rate
   adaptation algorithm, which, while being TCP-friendly, may have a
   large number of different incarnations. As a first step in
   circumventing this difficulty, we consider the concept of Local
   Transparency to Blue:

   Consider the scenario, flat best-effort, in which the node would
   forget the colour and thus treat all ABE packets as one single best
   effort class. An ABE node satisfies local transparency to blue if,
   for each packet that is blue in the original (ABE) scenario:
	  
	 o the delay is not larger in the real, ABE scenario than in the
	   flat best-effort scenario

	 o if the blue packet is not dropped (or marked with a congestion
	   notification) in the flat best-effort scenario, then it is not
	   either in the real, ABE scenario.

   It means that if some packets are marked green in a node it does not 
   hurt blue packets, assuming one can ignore the effects due to rate
   adaptation in the sources. It is a necessary requirement to ensure
   green does not hurt blue. However, it may not be sufficient, since 
   the rate adaptation algorithm at the source might produce a higher
   rate when the end-to-end delay is smaller.

   Interpreting TCP-friendliness by the loss-throughput formula (e.g.
   [13]), one can see that it is quite possible that, by becoming
   green, a source would be allowed a higher data rate, due to the
   reduction in round trip time. Such a source would generate more
   packets than if it was blue, and there is the risk that, in some
   cases, it might hurt blue packets.

   The dependency of rate on round trip time in the loss-throughput is

Hurley, et al.              Expires: May 2001                 [page  4]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   not necessarily a desirable feature of a rate adaption algorithm, and
   fixes have been suggested that would remove the dependency of rate on
   loss ratio [14]. If such fixes became widespread, then local
   transparency to blue would indeed ensure that, from a throughput
   viewpoint, green does not hurt blue. However, since the current
   definition of TCP-friendliness does imply a dependency of rate on
   round trip time, it is necessary to compensate for the delay decrease
   obtained by green traffic which  leads us to the "Throughput
   Transparency to Blue" requirement for an ABE node: Assume that
   sources employ a rate adaptation algorithm which conforms to a
   loss-throughput formula. To provide blue with throughput
   transparency, the ABE node  must ensure that an entirely green flow
   gets a lesser or equal throughput than if it were blue.

   In summary, supporting the green does not hurt blue requirement can
   be analysed as follows. A necessary condition is local transparency
   to blue.  Given the bias against long RTTs in the TCP-friendly rate
   adaptation rules  accepted today, ABE nodes have to additionally
   satisfy throughput transparency to blue, which, due to reasons we
   outlined, can only be achieved approximately.  The implementation
   presented in this draft satisfies exactly local  transparency to
   green and approximately satisfies throughput  transparency to blue.
   
3. General Router Requirements

   There may be many different implementations of ABE. We describe one
   such implementation in Section 6. The generic router requirements
   for any implementation are as follows:

     1. Provide low, bounded delay to green packets.

     2. Provide local transparency to blue.

     3. Provide throughput transparency to blue.

     4. Minimise green packet dropping or marking, subject to the above 
        requirements.

   The first three requirements follow from our discussion in the
   Section 2. The last requirement is because an implementation
   should try  to minimise green packet loss or marking, in order to
   make the  service attractive. 

   Enforcement of TCP-friendliness within a router is not specified. 
   Methods for enforcement are discussed in [2, 3] amongst others. We 
   expect in the future to see some implementations that would combine 
   the support of ABE with the enforcement of TCP-friendliness.

4. Source Aspects

   A source is required to be TCP-friendly. Within this constraint, it
   is perfectly permissible and considered normal practice for a source
   to  attempt to maximise its utility by employing a colour mixing

Hurley, et al.              Expires: May 2001                 [page  5]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   strategy, where they would send some green packets and some blue.
   Apart from  possibly policing TCP- friendliness, the network
   supporting ABE does  not need to analyse individual flows. Source
   strategies would  typically be performed at the application level as
   expected by  Application Layer Framing (ALF) [11].

   To illustrate the ABE service, we discuss now a very simple scenario.
   Assume we have multimedia source, that is rate-adaptive, and has a 
   required minimum rate R0 in order to function properly, for a given 
   loss pattern in the network. If ECN is not used, the source 
   forward-correct packet losses, as long as the minimum rate is 
   achieved (see [8] for such an application example). The application
   must choose between green or blue. The choice it makes depends on its
   utility function u(R; D), for a given throughput R and end-to-end 
   network delay D.

   In many situations today throughput is the major impediment. However,
   once a minimum rate R0 is achieved which provides enough 
   intelligibility, delay becomes the major impediment. Thus, we assume 
   that the source utility function is such that it is 0 when R < R0 and
   is a decreasing function of D when R <= R0. For such a source, the 
   optimal strategy is to be green when the load is such that the 
   minimum throughput can be received, blue when load means the minimum 
   throughput cannot be received as green, and to cease to operate when 
   the load is too high to do anything useful.

   ABE opens up a new region of operation for the best-effort network.
   In low load scenarios, a source may decide to obtain less throughput
   for  the benefit of low delay. In a flat best effort network, a
   network  without the ABE service, there is no such option; by
   refraining from  sending at a higher rate, there is in general no
   impact on the  queueing delay, because of external sources.

   This example is of course oversimplified. In general we expect more 
   complex utility functions to be used, for example as specified in 
   [12]. Note that the detection of which region the source is currently
   operating in has to be made automatically by the source itself.
   Following immediately from the definition of the service, a blue 
   source has at least as high a throughput as a green one.  Unlike the 
   multimedia source above, a source using TCP is more interested in its
   throughput and would probably find it more beneficial to tag all its 
   packets blue.


5. Router Implementation

   In this Section we present a router implementation model to support
   the ABE service when using loss-based feedback. This implementation
   assumes that the router has only output port queueing and is based on
   a new scheduling concept, Duplicate Scheduling with Deadlines (DSD).

   Before delving into the details of the scheme's description, let us
   first explain its motivation. One of the first schemes to implement

Hurley, et al.              Expires: May 2001                 [page  6]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   ABE that comes to mind is probably a FCFS scheduling discipline
   with a threshold drop policy to filter green packets. In that scheme,
   blue packets would be accepted until the buffer is full, whilst green
   packets will only be accepted if it can be served with no greater
   delay than some maximum d.

   Whilst the scheme might operate "reasonably" well some of the time, 
   most of the time there would be little or no incentive in being
   green. One wants to design a scheme that provides the best service
   possible to green while still ensuring green does not hurt blue. The
   gain blue packets would enjoy under ABE should be kept to a minimum
   such  that there is still an incentive to use green packets whenever
   appropriate. 

   Let us temporarily consider only local transparency and solve the
   additional problem of throughput transparency in Section 5.1.  Then
   in effect, we wish to minimise the number of green losses subject to
   the following constraints:

     o Green packets receive a no larger queueing delay than d.
   
     o Local transparency to blue holds.
   
     o The scheduling is work conserving.
   
     o No reordering: Blue (respectively green) packets are served
       in the order of arrival.

   DSD is a solution to this problem. It is based on a new scheduling
   concept called duplicates, which solves this problem by approximating
   the operation (behaviour) of a  flat best-effort service. A virtual
   queue, with buffer space Buff, is fed with duplicates of all incoming
   packets which are served by a FCFS discipline with rate c, as they
   would be in a flat best-effort. Examples of how DSD works are given
   in the Appendix. The times at which the duplicates are served is used
   to assign blue packets deadlines at which they would have
   (approximately) been served in a flat best-effort service. Actual
   blue and green packets  are fed into two separate queues, as follows.

   Blue packet enqueuing and scheduling:
 
   A blue packet is enqueued in the blue queue if its duplicate can be
   admitted in the virtual queue. If the virtual queue length has
   reached Buff, the duplicate and the original blue packet are dropped.
   Otherwise, the duplicate is enqueued in the virtual queue, and the
   original packet is tagged with a deadline, which is the time at which
   the duplicate will be served in the virtual queue, and is the time at
   which it would have  (approximately) been served in a flat
   best-effort service.  A blue packet is always served at the latest
   its deadline permits subject to work conservation. 

   Green packet enqueuing and scheduling:


Hurley, et al.              Expires: May 2001                 [page  7]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   The simplest (we will discuss possible refinements later in this
   section), green packets are enqueued in the green queue as soon as
   they arrive. A duplicate of the same size is enqueued in the virtual
   queue if there is enough  space to accommodate it. 

   As green packets may not stay in the queue  for more than d seconds,
   they are tagged with a deadline which is their arrival time augmented
   by d. If at a given time, the blue packet at the head of the queue
   does not exceed its deadline by letting the first green packet go
   first, the latter packet is served provided it waited for less than d
   seconds. Green packets that have to wait for more than d seconds are
   dropped from the green queue.

   Upon the arrival of a packet at the output port, the algorithm is
   summarised below:

      Packet enqueueing Algorithm: (without early green packet drop)
        
		add to virtual flat best-effort queue

        if blue:
          if dropped in virtual flat queue 
            drop
          else
            vd = queueing delay received in virtual queue
            maxServiceTime = now + vd
            tag maxServiceTime to packet
            add to blue queue
        else if green:
            maxServiceTime = now + d
            tag maxServiceTime to packet
            add to green queue

      Packet Serving Algorithm (without control loop):
        
		remove all green packets whose maxServiceTime cannot be met

        if no green packet to serve:
          serve blue packet if any
        else if no blue packet to serve:
          serve green packet
        else:
          pg = transmission delay for head of green queue
          mstb = maxServiceTime of head of blue queue
          if now <= mstb - pg
            serve green packet
          else
            serve blue packet

   We have favoured clarity in description over efficiency. In
   particular, the simple enqueuing mechanism of  green packets
   described above, with possible later dropping if they have been in
   the queue for more than d seconds, may easily bring the  total buffer

Hurley, et al.              Expires: May 2001                 [page  8]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   occupancy (i.e. the sum of the green and blue queues lengths) above
   Buff. To keep the total buffer occupancy of the green and blue
   packets below Buff, green packets that would stay more than d seconds
   in the queue  must be discarded before being enqueued, rather than
   after having waited d seconds in the queue. The following admission
   test is applied: a green packet arriving at  time t is discarded if
   the sum of the length of the green queue at time t (including this
   packet), and of the length of the first part of the blue queue that
   contains packets tagged with a deadline  shorter or equal to  t + d +
   pgnew, where pgnew is the transmission delay for the incoming green
   packet, is more than c * (d + pgnew). It is accepted otherwise. The
   fact that a green packet is served whenever the blue packet  at the
   head of the queue can wait before reaching its own deadline makes
   this admission test  both necessary and sufficient: it shown in [16]
   that all accepted green     packets are served within d seconds from
   their arrival time if and only if they have passed this admission
   test at the time of their arrrival.

   Upon the arrival of a packet at the output port, the above algorithm
   with the test for early drop of green packets, becomes:

   Packet enqueueing Algorithm (with early green packet drop):

	 add to virtual flat best-effort queue

	 if blue:
       if dropped in virtual flat queue 
    	 drop
       else
    	 vd = queueing delay received in virtual queue
    	 maxServiceTime = now + vd
    	 tag maxServiceTime to packet
    	 add to blue queue
       else if green:
    	 maxServiceTime = now + d
		 pgnew = transmission delay for this packet

         if (length(green queue) + length(blue queue with
         packets with deadlines <= now + d + pgnew) > C*(d+pgnew) )
           drop
    	 else 
           tag maxServiceTime to packet
           add to green queue

   Packet Serving Algorithm (without control loop):

	 if no green packet to serve:
       serve blue packet if any
	 else if no blue packet to serve:
       serve green packet
	 else:
       pg = transmission delay for head of green queue
       mstb = maxServiceTime of head of blue queue

Hurley, et al.              Expires: May 2001                 [page  9]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

       if now <= mstb - pg
    	 serve green packet
       else
    	 serve blue packet
		 
   It is not mandated that the virtual queue employ drop-tail queueing
   although in the current implementation that is the case.  An Active
   Queue Management scheme such as RED [4] can be supported for blue
   traffic by applying it to the virtual queue, and using those results
   in assigning losses and deadlines.

   Let us now look at its compliance with the ABE router requirements:

	 o Low bounded (per hop) delay for the green packets is enforced by
	   dropping a green packet that cannot be served in the deadline d.

	 o Local transparency to blue is ensured through  dropping blues
	   only when they would be in the flat best-effort, and in not
	   letting accepted blues wait longer in the queue than they would
	   in flat best-effort.

	 o The DSD algorithm described so far does not ensure throughput
	   transparency to blue,  which depends on the TCP feedback. This is
	   done by the control loop described in the next section.

	 o Minimising green packet dropping is achieved optimally by the
       packet enqueueing and serving algorithms.

5.1 Control loop for DSD

   The duplicate scheme, as it stands, provides the optimal performance
   to green while constrained to support local transparency to blue. 
   In order to ensure throughput transparency as well, we used a control
   loop, the details of which are contained in [10].

   When TCP feedback comes into play, the throughput of blue and green
   can be affected by violating throughput transparency and not
   providing blue with enough throughput
   
   To cater for this scenario, we add a control loop which adjusts to
   the rate-adaptive nature of TCP.  Since TCP-friendly sources are
   sensitive to delay, we correct for any advantage green packets might
   receive by increasing their delay. DSD, as described above, in
   addition to providing minimum green losses for local transparency,
   also minimises the delay green packets receive. This is because in
   the event of either a green or a blue being able to wait and still
   meet their deadlines, i.e. if both packets can wait, we always serve
   the green packet first. This is not a requirement of ABE, and we can
   still maintain local transparency, and not systematically favour the
   green in this scenario. Note that by increasing the delay for green,
   we are reducing their throughput, thus restoring throughput
   transparency.


Hurley, et al.              Expires: May 2001                 [page  10]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   We generalise the packet serving algorithm by introducing a green
   bias g in the range [0,1], which determines the extent to which we
   favour green over blue when both the first blue and green packets
   have not yet reached their deadlines. More precisely, when both the
   blue and green packets can wait, g is the probability that we serve
   the green packet first. The value g=1 corresponds to the algorithm of
   the previous  subsection, where the green packet is always served if
   both the blue and green packets can wait. Conversely the value g=0
   corresponds to the systematic serving of the  blue packet first. In
   the example in Appendix A, the packets served would have thus been,
   successively, B1, B2, G1, B3, B4, B5, B7, G3, G4, B8 and B9.

   We use g as a control parameter to balance the throughputs of green
   and blue. These are estimated from the loss-throughput formula
   according of [13], the details of which are provided in [10]. This
   algorithm is only one possible scheme, and  its performance can be
   improved, for example, by taking into account the deadlines of all
   the packets in the queues, and not just those at the head. Such
   extensions are the subject of further investigation.


6. Experimental results 
   
   This section represents on-going work and surveys some preliminary 
   experiments to  evaluate the performance of ABE. We implemented the
   ABE service as described in Section 5 in the Dummynet tool [15]. 

   The experimental environment (see Figure 1) represents a gateway
   where many networks are merged into one outgoing link. All hosts are
   high end PCs running Linux. Each host has 2 network cards that we
   used with a dedicated application to insert additional propagation
   delay to the links from the routers to the hosts. 

   The two routers R1 and R2 are Cisco 7500 routers running IOS 12.0. 
   Dummynet acts as a bridge between the two routers and it is used to
   emulate the bottleneck link and to implement the ABE service. The
   links between the routers and the hosts are 10Mbps Ethernet links, 
   while between the routers and Dummynet we have a 100Mbps Fast
   Ethernet link. We used this settings to make sure that all losses
   occur inside the Dummynet bridge. 

                    ____                               ____
         host 1 ---|    |    _____________________    |    |--- host 5
         host 2 ---| R1 |---| ABE/dummynet bridge |---| R2 |--- host 6
         host 3 ---|    |   |_____________________|   |    |--- host 7
         host 4 ---|____|                             |____|--- host 8

                        Figure 1. Testbed configuration


   In all the following experiments the bottleneck has a capacity of  1
   Mbit/s, a 50 ms propagation delay and a buffer size of 75 Kbytes. 
   The links between hosts 1 to 4 to the router R1 have a propagation

Hurley, et al.              Expires: May 2001                 [page  11]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   delay of 20ms, 40ms, 60ms and 80ms respectively. 

   The traffic generated by the hosts consists of persistent TCP SACK
   connections  ("coloured" as blue) and UDP connections ("coloured" as
   green) sending at a constant bit rate. 

   All the results come from 10 minutes experiments where the first and
   last  minutes are discarded in order to take into account only steady
   state  behaviour. 

   Firstly, we compare the loss rate experienced by green traffic in the
   presence of a variable amount of blue traffic and with different
   settings for the ABE router to evaluate the impact of the ABE
   settings (i.e. green maximum delay d) and of concurrent blue
   traffic. 

   In Table 1 we show the average loss rate for green traffic made of 4
   UDP connections sending at an aggregate rate of 100Kbps with a
   background blue traffic made of 4 to 16 TCP sources.  Table 2 shows
   instead the aggregate throughput of blue traffic.

   ______________________________________________________________________
   Table 1. Average loss rate (with 90% confidence interval) 
            experienced by green traffic. 
   ----------------------------------------------------------------------
   blue |           ABE with green maximum delay            Flat BE
   srcs |  10ms             20ms            50ms		
   ----------------------------------------------------------------------
   4	|  16.58 (12.07)  | 2.58 (0.71)   | 2.07 (0.25)   | 0.90 (0.34)
   8	|  18.90 (1.59)   | 2.63 (0.44)   | 2.52 (0.62)   | 2.37 (0.40)
   16	|  21.26 (6.44)   | 6.35 (0.59)   | 6.21 (0.41)   | 5.55 (0.41)
   ----------------------------------------------------------------------

   ______________________________________________________________________
   Table 2. Aggregate throughtput of blue traffic (Kbps).
   ----------------------------------------------------------------------
   blue |           ABE with green maximum delay            Flat BE
   srcs |  10ms             20ms            50ms		
   ----------------------------------------------------------------------
   4	|  897.11 (1.87)  | 891.77 (0.44) | 891.40 (0.51) | 889.75 (0.65)
   8	|  905.06 (3.91)  | 893.44 (0.51) | 893.41 (0.16) | 897.78 (0.57)
   16	|  909.55 (4.74)  | 897.55 (0.61) | 897.78 (0.57) | 896.62 (0.85)
   ----------------------------------------------------------------------
   
   As expected, the loss rate for green traffic is much higher in ABE
   than in the flat best effort scenario which is the cost to pay for a
   lower queuing delay. Indeed, in the flat best effort scenario the
   average queuing delay for UDP traffic is around 400ms, while with ABE
   setting d to 10ms it is around 6ms. 

   Regarding blue traffic, experiments show that there is benefit in
   being blue in terms of throughput. It comes directly from the fact 
   that green flows suffer higher loss rates, allowing blue packets to 

Hurley, et al.              Expires: May 2001                 [page  12]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   take advantage of the reduced buffer occupancy to reduce their round 
   trip time and therefore their throughput. 

   We are instigating further investigation to fully understand results
   showed in  the tables above. For instance, we need to study the high
   variance of loss  rate for green traffic in presence of few competing
   blue sources, that may  come from an inappropriate testbed
   configuration or from a synchronisation phenomenon of TCP flows.  

   Moreover, from these preliminary results there seems to exist a
   threshold for the maximum green delay beyond which there is a very
   high increase in the green loss rate. This threshold phenomenon may
   be pathological with the kind of scenarios we investigated or may be
   a characteristic of the ABE implementation. 

   We have run additional experiments changing the traffic mix, making
   the green traffic as the dominant part of the traffic over the
   bottleneck. We do not believe that such scenarios can occur in a real
   network, but they can be useful to evaluate robustness of the ABE
   implementation and to identify pathological scenarios that may
   heavily affect router performance. 

   The next two tables show the green loss rate and blue throughput when
   the traffic is made of 16 blue/TCP connections and a variable number
   of green/UDP sources with an aggregate sending rate from 100Kbps to
   500Kbps,  i.e. from 10% to 50% of the bottleneck bandwidth.

   ___________________________________________________________________
   Table 3. Average loss rate (with 90% confidence interval) 
            experienced by green traffic. 
   -------------------------------------------------------------------
   green   |            green maximum delay               Flat BE
   rate    | 10ms            20ms          50ms		
   -------------------------------------------------------------------
   100Kbps | 21.26 (6.44)  | 6.35 (0.59) | 6.21 (0.41) | 5.55 (0.41)
   200Kbps | 32.07 (12.52) | 8.95 (0.95) | 8.66 (1.01) | 7.56 (0.58)
   500Kbps | 55.62 (7.19)  | 31.50 (7.03)| 20.01(3.30) | 17.99 (2.30) 
   -------------------------------------------------------------------

   ___________________________________________________________________
   Table 4. Aggregate throughtput of blue traffic (Kbps).
   -------------------------------------------------------------------
   green  |            green maximum delay               Flat BE
   rate   | 10ms           20ms           50ms		
   -------------------------------------------------------------------
   100Kbps| 909.55 (4.74)| 897.55 (0.61)| 897.78 (0.57)| 896.62 (0.85)
   200Kbps| 825.33 (3.30)| 800.76 (2.20)| 799.90 (2.59)| 797.58 (2.10)
   500Kbps| 631.14(44.06)| 597.82(16.15)| 555.23 (8.20)| 548.71 (7.81)
   -------------------------------------------------------------------

7. Codepoint Requirements

   An implementation of ABE using AF codepoints is not practical for the

Hurley, et al.              Expires: May 2001                 [page  13]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   following reasons. Firstly, if we map blue and green within the same 
   AF class, we would give green a high precedence level in order for it
   to receive a low delay. However this would contradict the requirement
   that blue sources receive at least as much as it would if green. 
   Secondly, if we map blue and green to different AF classes, we would 
   need to coordinate packet dropping across the two classes, which 
   appears to contradict RFC2597.
   
   An allocation of codepoints to support ABE is thus needed. There are
   two possibilities for codepoint provision.

   The first considers blue packets as normal best-effort packets, which
   use the predefined DSCP value 0. ABE packet classification can be 
   achieved by introducing a new PHB for green. The DSCP value for 
   green specification should satisfy the following:

     o It should be in one of the experimental/local use pools defined 
       in RFC2474: xxxx11 binary and xxxx01 binary.
 
     o It should be smaller than 0x38 (otherwise, privileges are required
       to set them at the source using the IP_TOS socket option)

   Routers without an ABE implementation will simply treat blue and green
   packets in the same way.
   The second possibility is for ABE to have a traffic class of its own
   with 2 codepoints. We leave for future discussion as to which of the 
   two possibilities would be preferable.

8. Conclusions

   We described ABE, a new service which enables best-effort traffic to 
   experience a low delay, at the expense of possibly more throughput.  
   ABE is targeted at supporting rate-adaptive multimedia applications, 
   with no concept of reservation or signalling and while retaining the 
   spirit of a flat rate network.  The service choice of green or blue is
   self-policing since the user/application will be coaxed into choosing
   one or the other or indeed a mixture of both, based on its traffic 
   profile objectives. ABE allows a collection of rate-adaptive 
   multimedia applications to drive the network into a region of 
   moderately high load and low delay. It also allows such an application
   to trade reduced throughput for low delay, thus in some cases 
   increasing its utility.
   
   It should be stressed that ABE is a new service in its own right and
   not a substitute for reservation or priority services. In contrast, 
   with ABE, both delay sensitive (green) and throughput sensitive (blue)
   traffic share the same resources, and high load in any of the two
   pools affects the other.

9. References

   [1]  TCP friendly web site. 
        http://www.psc.edu=networking=tcp_friendly.html

Hurley, et al.              Expires: May 2001                 [page  14]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   [2]  Floyd, S., and Fall, K.  Promoting the Use of End-to-End 
        Congestion Control in the Internet.

   [3]  B. Suter, T.V. Lakshman, D. Stiliadis, A. Choudhury. Design 
        Considerations for Supporting TCP with Per-flow Queueing. 
        Proceedings of IEEE INFOCOM 98.

   [4]  Floyd, S., and Jacobson, V.  Random Early Detection gateways for
        Congestion Avoidance. IEEE/ACM Transactions on Networking, V.1
        N.4, August 1993, p.397-413.

   [5]  V. Jacobson, K. Nichols and K. Poduri. An Expedited Forwarding 
        PHB. RFC2598.

   [6]  J. Heinanen, F. Baker, W. Weiss, J. Wroclawski. Assured 
        Forwarding PHB Group. RFC2597.
 
   [7]  Floyd, S. TCP and Explicit Congestion Notification. ACM Computer
        Communication Review. V. 24 N. 5, October 1994, p. 10-23.

   [8]  J. Bolot, S. Fosse-Parisis, D. Towsley. Adaptive FEC-Based Error 
        Control for Interactive Audio in the Internet.
        Proceedings of IEEE Infocom 99.

   [9]  C. Diot, C. Huitema, T. Turletti. Multimedia Application should 
        be Adaptive. HPCS, Aug. 1995.
   
   [10] P.  Hurley, M. Kara, J-Y Le Boudec, P. Thiran. ABE: Providing A 
        Low-Delay Service Within Best-Effort (Under Submission). 
        Technical Report DSC/2000/034.
        http://www.abeservice.org/papers/abe034.pdf

   [11] D. Clark, D. L. Tennenhouse. Architectural considerations for a
        new generation of protocols. Computer Communications Review, 
        vol. 20, Sept. 1990.

   [12] L. Breslau and S. Shenker. Best-Effort versus Reservations: A 
        Simple Comparative Analysis. SIGCOMM 1998.

   [13] J.Padhye, V.Firoiu, D.Towsley and J.Kurose. Modeling TCP
		Throughput: A Simple Model and its Empirical Validation.
        Proceedings of SIGCOMM'98.

   [14] T.R. Henderson, E. Sahouria, S. McCanne, and R.H. Katz.
        Improving Fairness of TCP Congestion Avoidance.
        Proceedings of IEEE Globecom `98, Sydney, Australia, Nov. 1998.
		
   [15] Luigi Rizzo. Dummynet: a simple approach to the evaluation of 
        network protocols. ACM Computer Communication Review, Jan 1997
	 
   [16] P. Thiran. Packet Admission Control for ABE with duplicates.
        http://www.abeservice.org/papers/green_early_discard.ps


Hurley, et al.              Expires: May 2001                 [page  15]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

10. Appendix A: A first example of DSD (with late green packet drop)

   For this example, all packets are the same size and "packet" time is
   used.  The maximal buffer size is Buff=7 packets. The maximum green 
   queue wait is d=3 packets. B and G denote blue and green packets 
   respectively.

   We use two snapshots to illustrate DSD. The first is at time t=0.

   Deadline:   6   4    3    2    0
   ----------------------------------
       |    | B5 | B4 | B3 | B2 | B1 |---
   ----------------------------------    |
                                         |
                                         |  -> serve at rate c
   Deadline:                 3    2      |
   ----------------------------------    |
       |    |    |    |    | G2 | G1 |---
   ----------------------------------

   Virtual Queue:
   ----------------------------------
    B5 | G2 | B4 | B3 | B2 | G1 | B1 | -> serve at rate c
   ----------------------------------

   B1 is served at time t=0 in order to meet its deadline, then G1, B2,
   B3, B4. G2 has to be dropped from the green queue because it has to
   wait for more than d=3, whereas B6 had to be dropped because the
   virtual queue length was Buff when it arrived. 

   At time t=5, we reach the following situation:

   Deadline:       10   9    7    6
   ----------------------------------
       |    |    | B9 | B8 | B7 | B5 |---
   ----------------------------------    |
                                            |
                                         |  -> serve at rate c
   Deadline:                 8    7      |
   ----------------------------------    |
       |    |    |    |    | G4 | G3 |---
   ----------------------------------

   Virtual Queue:
   ----------------------------------
    G4 | B9 | B8 | G3 | B7 | B5 | G2 | -> serve at rate c
   ----------------------------------

   As no blue packet has reached its deadline yet, G3 can be served, 
   followed by B5, B7, G4, B8, and B9

11. Appendix B: A second example of DSD (with early green packet drop)


Hurley, et al.              Expires: May 2001                 [page  16]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

   The scenario for this example is the same as the one in Appendix A,
   except that now green packets are enqueued only if they pass the
   admission test described in the router implementation, which amounts
   here to accepting a green packet at time t if the number of green 
   packets in the queue at time t, augmented by the number of blue
   packets in the queue with deadline in [t, t+4] is no more than 4.  
   
   The first snapshot at time t=0 then becomes

   Deadline:   6   4    3    2    0
   ----------------------------------
       |    | B5 | B4 | B3 | B2 | B1 |---
   ----------------------------------    |
                                         |
                                         |  -> serve at rate c
   Deadline:                      2      |
   ----------------------------------    |
       |    |    |    |    |    | G1 |---
   ----------------------------------

   Virtual Queue:
   ----------------------------------
    B5 | G2 | B4 | B3 | B2 | G1 | B1 | -> serve at rate c
   ----------------------------------

   The only difference from the first snapshot in Appendix A is that G2
   is no longer enqueued. Indeed, when it arrived, the green queue
   contained already packet G1, and the blue queue contained packets B1,
   B2 and B3. The total queue length at time was 5 packets (including
   G2), and so G2 fails the test.


12. Authors' Address

Paul Hurley (contact author)
Jean-Yves Le Boudec
EPFL - DSC - ICA
IN Ecublens
CH-1015 Lausanne
Switzerland
Email: paul.hurley,Jean-Yves.Leboudec@epfl.ch

Gianluca Iannaccone
Christophe Diot
Patrick Thiran
Sprint ATL
1, Adrian Court 
Burlingame, CA 94010
USA
Email: cdiot, pthiran, gianluca@sprintlabs.com

Mourad Kara
School of Computing

Hurley, et al.              Expires: May 2001                 [page  17]

INTERNET-DRAFT draft-hurley-alternative-best-effort-01.txt  November 2000

University of Leeds
United Kingdom.
Email: mourad@scs.leeds.ac.uk