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, . 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, . 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]