Internet DRAFT - draft-zheng-emdi-udp

draft-zheng-emdi-udp







Internet Engineering Task Force (IETF)                          H. Zheng
Internet-Draft                                                   R. Even
Intended status: Informational                                    Huawei
Expires: January 4, 2018                                   July 03, 2017


            A Proposed Extended Media Delivery Index (eMDI)
                        draft-zheng-emdi-udp-00

Abstract

   A Media Delivery Index (MDI) measurement that can be used as a
   diagnostic tool or a quality indicator for monitoring flows that are
   sensitive to arrival time and packet loss is defined in [RFC4445].
   This document extends the Media Delivery Index with a new component:
   Effective Loss Factor (ELF), which takes loss distribution into
   account when measuring packet loss.  ELF is also applicable when
   certain Forward Error Correction (FEC) schemes are used.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on January 4, 2018.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of



Zheng & Even             Expires January 4, 2018                [Page 1]

Internet-Draft                    eMDI                         July 2017


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Effective Loss Factor (ELF) . . . . . . . . . . . . . . . . .   4
     3.1.  Algorithm . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Delimitation of Windows . . . . . . . . . . . . . . . . .   6
   4.  ELF applicability . . . . . . . . . . . . . . . . . . . . . .   8
     4.1.  ELF Used with FEC . . . . . . . . . . . . . . . . . . . .   8
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   [RFC4445] introduces a Media Delivery Index (MDI) to detect network-
   induced impairments for applications such as streaming video or
   voice-over-IP.  The MDI consists of two components: Delay Factor (DF)
   and Media Loss Rate (MLR).  DF is an indicator of traffic jitter and
   a measure of deviation from nominal flow rates; MLR counts the number
   of lost or out-of-order media packets.

   This document extends the MDI in [RFC4445], introducing a new
   component: Effective Loss Factor (ELF).  ELF takes loss distribution
   into account when measuring packet loss.  Depending on the type of
   service, sometimes a seemingly low loss rate flow can have bad
   Quality of Experience (QoE), since the lost packets aggregate
   together, causing more severe impairment to the applications.  The
   following is an example:

       sequence A:
         1 2 3 4 5 6 7 8 9
           x     x       x    (packet 2, 5, 9 are lost)

       sequence B:
         1 2 3 4 5 6 7 8 9
         x x x                (packet 1, 2, 3 are lost)

   In the above example, sequence A and sequence B have the same loss
   rate, however sequence B has a higher loss density in the front area,
   and may result in worse QoE.




Zheng & Even             Expires January 4, 2018                [Page 2]

Internet-Draft                    eMDI                         July 2017


   The objective of ELF is to give better measurement for such
   aggregated loss, which MLR and DF in [RFC4445] does not address
   effectively.  MLR provided information about packet loss but does not
   take into account the distribution of the loss.  A large DF may hint
   a big packet loss but does not address the distribution of the loss
   and therefore may not provide enough information on the QoE at the
   endpoint.

   Section 4.1 describes how to apply ELF when Forward Error Correction
   (FEC) is used.

2.  Terminology

   This document uses the following terms:

   sequence:  a sequence is all the packets observed over a selected
      time interval.  Packets included in a sequence are in continuous
      order as sent out from the source.

   window:  a subsequence of packets in which the calculation of packet
      loss is confined.

   delimitation:  a successive mapping of a number of equally sized
      windows onto a sequence.  There are several possible delimitations
      of a sequence, depending on where it starts.  However, a valid
      delimitation should be within the range of the sequence, and cover
      the sequence with maximum number of windows.

   head extras:  for a delimitation that does not start from the first
      packet of the sequence, head extras consist of any packets in the
      sequence that are prior to the delimitation.

   rear extras:  for a delimitation that does not end at the last packet
      of the sequence, rear extras include any packets in the sequence
      that are behind the delimitation.

   The following figure illustrates the usage of above terms, assuming
   there are ten packets received in a measurement period of one second,
   and the windows size is three:












Zheng & Even             Expires January 4, 2018                [Page 3]

Internet-Draft                    eMDI                         July 2017


                               the sequence
                        +------------------------+
                        1 2 | 3 4 5 | 6 7 8 | 9 10
                        | / +-------+-------+ \ |
                        |/  |window1|window2|  \|
               head extras  +---------------+   rear extras
                               delimitation

                   Figure 1: Delimitation of a Sequence

3.  Effective Loss Factor (ELF)

3.1.  Algorithm

   ELF measures loss density in terms of windows.  When the number of
   lost packets in a window exceeds a pre-defined threshold, it
   indicates the presence of an aggregated loss.  The size of windows
   and threshold are in packets.  For example, given a window size of
   three packets and a threshold of one packet, an aggregated loss is
   present if the number of lost packets exceeds one, illustrated as
   below:

      | 1 2 3 |   (there are three packets in the window)
        x x       (there are two lost packets, denoted by 'x')

   ELF indicates the likelihood of aggregated loss.  It is a decimal
   value between 0 and 1.  In the above case, aggregated loss happens in
   the window, so the value of ELF is 1.

   For a sequence of packets, there can be a multiple of windows.  The
   result of ELF should be normalized over all the windows.

   The algorithm to calculate ELF over multiple windows is as below:


















Zheng & Even             Expires January 4, 2018                [Page 4]

Internet-Draft                    eMDI                         July 2017


      Let:
         k as the ordinal (starting from 1) of the current window
         K as the max ordinal (equal to the number of windows)
         num(k) as the number of lost packets in window k
         R as the loss density threshold
         elf(k) as the ELF value for window k
         J as a variable to accumulate values of elf(k)

      J = 0
      for k = 1 to K
         if num(k) > R then
            elf(k) = 1
         else
            elf(k) = 0
         endif
         J = J + elf(k)
      endfor

      ELF over Multiple Windows = J / K

       Figure 2: Algorithm of Calculating ELF over Multiple Windows

   The following is a concrete example:

      Context:
         Number of Packets = 9
         Window Size = 3
         Loss Density Threshold = 1
         Lost Packets = 2,3,6

      Windows:
         | 1 2 3 | 4 5 6 | 7 8 9 |
             x x       x

      Window      k     num(k)   elf(k)
      | 1 2 3 |   1     2        1
      | 4 5 6 |   2     1        0
      | 7 8 9 |   3     0        0

      J = elf(1) + elf(2) + elf(3) = 1

      ELF over Multiple Windows = J / 3 = 1 / 3 = 0.333...

        Figure 3: Example of Calculating ELF over Multiple Windows







Zheng & Even             Expires January 4, 2018                [Page 5]

Internet-Draft                    eMDI                         July 2017


3.2.  Delimitation of Windows

   For a sequence of packets, there can be several ways of delimitating
   it into windows.  Each way results in different set of windows, thus
   the algorithm in Figure 2 may yield different values of ELF.  This
   section proposes a way to generate delimitations of windows, and an
   algorithm to normalize ELF over different delimitations.

   The generation process starts from the default delimitation, which
   starts from the first packet of a sequence and covers the sequence
   with maximum number of windows.  Taking the example from Figure 1,
   the default delimitation for the sequence is:

      | 1 2 3 | 4 5 6 | 7 8 9 | 10

   Other possible delimitations are found by the following steps:

   1.  Start from the default delimitation for the sequence.

   2.  In case there is no packet in rear extras (the last window ends
       at the last packet of the sequence), break the last window and
       include all the packets from the last window into rear extras.

   3.  Slide the boundary of every window one packet forward to make a
       new delimitation of windows.  The movement of windows leaves one
       packet into the head extras and includes one packet from the rear
       extras.

   4.  Repeat step 2 and 3, until the number of packets in head extras
       equals to (the window size - 1).

   The number of delimitations yielded by the above method equals to the
   window size.  For the sequence in Figure 1, all the yielded
   delimitations are:

      | 1 2 3 | 4 5 6 | 7 8 9 | 10  (default delimitation)

      1 | 2 3 4 | 5 6 7 | 7 8 10 |

      1 2 | 3 4 5 | 6 7 8 | 9 10    (note that the last window broke)

                    Figure 4: Example of Delimitations

   The algorithm to normalize ELF over different delimitations is as
   below:






Zheng & Even             Expires January 4, 2018                [Page 6]

Internet-Draft                    eMDI                         July 2017


      Let
         d as the ordinal (starting from 1) of the delimitation
         D as the max ordinal (equal to the window size)
         ELF'(d) as the ELF value for delimitation d
         J as a variable to accumulate values of ELF'(d)

      J = 0
      for d = 1 to D
         calculate ELF'(d)
         J = J + ELF'(d)
      endfor

      ELF over Multiple Delimitations = J / D

    Figure 5: Algorithm of Calculating ELF over Multiple Delimitations

   The following is a concrete example:

      Context:

         Number of Packets = 10
         Window Size = 3
         Loss Density Threshold = 1
         Lost Packets = 2,3,6

      Delimitations:

      | 1 2 3 | 4 5 6 | 7 8 9 | 10  d = 1
          x x       x               ELF'(1) = 1/3

      1 | 2 3 4 | 5 6 7 | 7 8 10 |  d = 2
          x x       x               ELF'(2) = 1/3

      1 2 | 3 4 5 | 6 7 8 | 9 10    d = 3
        x   x       x               ELF'(3) = 0

      J = ELF'(1) + ELF'(2) + ELF'(3) = 2/3

      ELF over Multiple Delimitations = J / 3 = (2/3) / 3 = 0.222...

     Figure 6: Example of Calculating ELF over Multiple Delimitations

   Note that if not particularly specified, the follow sections refer to
   ELF as the ELF calculated by the algorithm described in Figure 5.







Zheng & Even             Expires January 4, 2018                [Page 7]

Internet-Draft                    eMDI                         July 2017


4.  ELF applicability

   ELF is reported on a flow.  However, how to identify a flow is out of
   the scope of this document and should be determined by the
   application, as well as the format and transport that are used to
   report ELF.

   ELF relies on the sequence number of the transport protocol to detect
   packet loss.  For example, when RTP [RFC3550] is used as the
   transport layer, then packet loss is identified if the sequence
   numbers of two consecutively received RTP packets are not continuous.
   The gap between the two sequence numbers can be counted as lost
   packets.  To align with MLR (Section 3.2 of [RFC4445]), out-of-order
   packets are treated as lost packets.

   The two parameters 'Window Size' and 'Loss Density Threshold'
   together determines the sense of aggregated loss.  A configuration of
   100:5 ('Window Size':'Loss Density Threshold') says that an
   aggregated loss is present if over 5 packets are lost in 100 packets.
   A configuration of 100:3 suggests a lower sensitivity of aggregated
   loss than the previous example of 100:5.

   As with DF and MLR, ELF is updated and displayed at a selected time
   interval.  The selected time interval should be chosen long enough so
   that the sequence of packets can be delimitated into a number of
   windows.

   Although ELF can be used separately, it is designed to extend MDI as
   in Section 3.3 of [RFC4445].  Applications can combine ELF with other
   two components to form an extended MDI:

                                  DF:MLR:ELF
    Where:
                          DF is the Delay Factor
                        MLR is the Media Loss Rate
                        ELF is the Effective Loss Factor


   In this case, application examples described in Section 3.4 of
   [RFC4445] also applies to the extended MDI.

4.1.  ELF Used with FEC

   Applications often use Forward Error Correction (FEC) as a recovery
   mechanism to compensate for packet loss.  ELF can take into account
   the effectiveness of FEC.  Assuming an FEC scheme that encodes a
   source block of 'L' packets and generates some repair packets.  These
   repair packets can protect the source block from 'M' packet loss.  To



Zheng & Even             Expires January 4, 2018                [Page 8]

Internet-Draft                    eMDI                         July 2017


   reflect the effectiveness of the FEC scheme, set ELF's 'Window Size'
   to 'L' and 'Loss Density Threshold' to 'M'.  This way, small ELF
   values indicates the loss can be recovered by the FEC scheme
   effectively.  If ELF values grow large, it suggests the FEC scheme is
   not adequate to recover the loss.

   Note that the extra packets generated by FEC scheme is considered to
   be transmitted out-of-band, apart from the monitored flows.

5.  Security Considerations

   The new measurement ELF introduced in this document does not
   introduce any new security issues other than those specified in
   [RFC4445].

6.  Acknowledgements

   This document has benefited greatly from the comments of various
   people.  The following individuals have contributed to this document:
   Rachel Huang, Colin Perkins, Lingyan Wu, Yanfang Zhang.

7.  References

7.1.  Normative References

   [RFC4445]  Welch, J. and J. Clark, "A Proposed Media Delivery Index
              (MDI)", RFC 4445, DOI 10.17487/RFC4445, April 2006,
              <http://www.rfc-editor.org/info/rfc4445>.

7.2.  Informative References

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
              July 2003, <http://www.rfc-editor.org/info/rfc3550>.

Authors' Addresses

   Hui Zheng (Marvin)
   Huawei

   Email: marvin.zhenghui@huawei.com


   Roni Even
   Huawei

   Email: roni.even@huawei.com



Zheng & Even             Expires January 4, 2018                [Page 9]