idnits 2.17.1 draft-zheng-emdi-udp-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The abstract seems to contain references ([RFC4445]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 03, 2017) is 2488 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force (IETF) H. Zheng 3 Internet-Draft R. Even 4 Intended status: Informational Huawei 5 Expires: January 4, 2018 July 03, 2017 7 A Proposed Extended Media Delivery Index (eMDI) 8 draft-zheng-emdi-udp-00 10 Abstract 12 A Media Delivery Index (MDI) measurement that can be used as a 13 diagnostic tool or a quality indicator for monitoring flows that are 14 sensitive to arrival time and packet loss is defined in [RFC4445]. 15 This document extends the Media Delivery Index with a new component: 16 Effective Loss Factor (ELF), which takes loss distribution into 17 account when measuring packet loss. ELF is also applicable when 18 certain Forward Error Correction (FEC) schemes are used. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on January 4, 2018. 37 Copyright Notice 39 Copyright (c) 2017 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 3. Effective Loss Factor (ELF) . . . . . . . . . . . . . . . . . 4 57 3.1. Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 4 58 3.2. Delimitation of Windows . . . . . . . . . . . . . . . . . 6 59 4. ELF applicability . . . . . . . . . . . . . . . . . . . . . . 8 60 4.1. ELF Used with FEC . . . . . . . . . . . . . . . . . . . . 8 61 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 62 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 63 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 64 7.1. Normative References . . . . . . . . . . . . . . . . . . 9 65 7.2. Informative References . . . . . . . . . . . . . . . . . 9 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 68 1. Introduction 70 [RFC4445] introduces a Media Delivery Index (MDI) to detect network- 71 induced impairments for applications such as streaming video or 72 voice-over-IP. The MDI consists of two components: Delay Factor (DF) 73 and Media Loss Rate (MLR). DF is an indicator of traffic jitter and 74 a measure of deviation from nominal flow rates; MLR counts the number 75 of lost or out-of-order media packets. 77 This document extends the MDI in [RFC4445], introducing a new 78 component: Effective Loss Factor (ELF). ELF takes loss distribution 79 into account when measuring packet loss. Depending on the type of 80 service, sometimes a seemingly low loss rate flow can have bad 81 Quality of Experience (QoE), since the lost packets aggregate 82 together, causing more severe impairment to the applications. The 83 following is an example: 85 sequence A: 86 1 2 3 4 5 6 7 8 9 87 x x x (packet 2, 5, 9 are lost) 89 sequence B: 90 1 2 3 4 5 6 7 8 9 91 x x x (packet 1, 2, 3 are lost) 93 In the above example, sequence A and sequence B have the same loss 94 rate, however sequence B has a higher loss density in the front area, 95 and may result in worse QoE. 97 The objective of ELF is to give better measurement for such 98 aggregated loss, which MLR and DF in [RFC4445] does not address 99 effectively. MLR provided information about packet loss but does not 100 take into account the distribution of the loss. A large DF may hint 101 a big packet loss but does not address the distribution of the loss 102 and therefore may not provide enough information on the QoE at the 103 endpoint. 105 Section 4.1 describes how to apply ELF when Forward Error Correction 106 (FEC) is used. 108 2. Terminology 110 This document uses the following terms: 112 sequence: a sequence is all the packets observed over a selected 113 time interval. Packets included in a sequence are in continuous 114 order as sent out from the source. 116 window: a subsequence of packets in which the calculation of packet 117 loss is confined. 119 delimitation: a successive mapping of a number of equally sized 120 windows onto a sequence. There are several possible delimitations 121 of a sequence, depending on where it starts. However, a valid 122 delimitation should be within the range of the sequence, and cover 123 the sequence with maximum number of windows. 125 head extras: for a delimitation that does not start from the first 126 packet of the sequence, head extras consist of any packets in the 127 sequence that are prior to the delimitation. 129 rear extras: for a delimitation that does not end at the last packet 130 of the sequence, rear extras include any packets in the sequence 131 that are behind the delimitation. 133 The following figure illustrates the usage of above terms, assuming 134 there are ten packets received in a measurement period of one second, 135 and the windows size is three: 137 the sequence 138 +------------------------+ 139 1 2 | 3 4 5 | 6 7 8 | 9 10 140 | / +-------+-------+ \ | 141 |/ |window1|window2| \| 142 head extras +---------------+ rear extras 143 delimitation 145 Figure 1: Delimitation of a Sequence 147 3. Effective Loss Factor (ELF) 149 3.1. Algorithm 151 ELF measures loss density in terms of windows. When the number of 152 lost packets in a window exceeds a pre-defined threshold, it 153 indicates the presence of an aggregated loss. The size of windows 154 and threshold are in packets. For example, given a window size of 155 three packets and a threshold of one packet, an aggregated loss is 156 present if the number of lost packets exceeds one, illustrated as 157 below: 159 | 1 2 3 | (there are three packets in the window) 160 x x (there are two lost packets, denoted by 'x') 162 ELF indicates the likelihood of aggregated loss. It is a decimal 163 value between 0 and 1. In the above case, aggregated loss happens in 164 the window, so the value of ELF is 1. 166 For a sequence of packets, there can be a multiple of windows. The 167 result of ELF should be normalized over all the windows. 169 The algorithm to calculate ELF over multiple windows is as below: 171 Let: 172 k as the ordinal (starting from 1) of the current window 173 K as the max ordinal (equal to the number of windows) 174 num(k) as the number of lost packets in window k 175 R as the loss density threshold 176 elf(k) as the ELF value for window k 177 J as a variable to accumulate values of elf(k) 179 J = 0 180 for k = 1 to K 181 if num(k) > R then 182 elf(k) = 1 183 else 184 elf(k) = 0 185 endif 186 J = J + elf(k) 187 endfor 189 ELF over Multiple Windows = J / K 191 Figure 2: Algorithm of Calculating ELF over Multiple Windows 193 The following is a concrete example: 195 Context: 196 Number of Packets = 9 197 Window Size = 3 198 Loss Density Threshold = 1 199 Lost Packets = 2,3,6 201 Windows: 202 | 1 2 3 | 4 5 6 | 7 8 9 | 203 x x x 205 Window k num(k) elf(k) 206 | 1 2 3 | 1 2 1 207 | 4 5 6 | 2 1 0 208 | 7 8 9 | 3 0 0 210 J = elf(1) + elf(2) + elf(3) = 1 212 ELF over Multiple Windows = J / 3 = 1 / 3 = 0.333... 214 Figure 3: Example of Calculating ELF over Multiple Windows 216 3.2. Delimitation of Windows 218 For a sequence of packets, there can be several ways of delimitating 219 it into windows. Each way results in different set of windows, thus 220 the algorithm in Figure 2 may yield different values of ELF. This 221 section proposes a way to generate delimitations of windows, and an 222 algorithm to normalize ELF over different delimitations. 224 The generation process starts from the default delimitation, which 225 starts from the first packet of a sequence and covers the sequence 226 with maximum number of windows. Taking the example from Figure 1, 227 the default delimitation for the sequence is: 229 | 1 2 3 | 4 5 6 | 7 8 9 | 10 231 Other possible delimitations are found by the following steps: 233 1. Start from the default delimitation for the sequence. 235 2. In case there is no packet in rear extras (the last window ends 236 at the last packet of the sequence), break the last window and 237 include all the packets from the last window into rear extras. 239 3. Slide the boundary of every window one packet forward to make a 240 new delimitation of windows. The movement of windows leaves one 241 packet into the head extras and includes one packet from the rear 242 extras. 244 4. Repeat step 2 and 3, until the number of packets in head extras 245 equals to (the window size - 1). 247 The number of delimitations yielded by the above method equals to the 248 window size. For the sequence in Figure 1, all the yielded 249 delimitations are: 251 | 1 2 3 | 4 5 6 | 7 8 9 | 10 (default delimitation) 253 1 | 2 3 4 | 5 6 7 | 7 8 10 | 255 1 2 | 3 4 5 | 6 7 8 | 9 10 (note that the last window broke) 257 Figure 4: Example of Delimitations 259 The algorithm to normalize ELF over different delimitations is as 260 below: 262 Let 263 d as the ordinal (starting from 1) of the delimitation 264 D as the max ordinal (equal to the window size) 265 ELF'(d) as the ELF value for delimitation d 266 J as a variable to accumulate values of ELF'(d) 268 J = 0 269 for d = 1 to D 270 calculate ELF'(d) 271 J = J + ELF'(d) 272 endfor 274 ELF over Multiple Delimitations = J / D 276 Figure 5: Algorithm of Calculating ELF over Multiple Delimitations 278 The following is a concrete example: 280 Context: 282 Number of Packets = 10 283 Window Size = 3 284 Loss Density Threshold = 1 285 Lost Packets = 2,3,6 287 Delimitations: 289 | 1 2 3 | 4 5 6 | 7 8 9 | 10 d = 1 290 x x x ELF'(1) = 1/3 292 1 | 2 3 4 | 5 6 7 | 7 8 10 | d = 2 293 x x x ELF'(2) = 1/3 295 1 2 | 3 4 5 | 6 7 8 | 9 10 d = 3 296 x x x ELF'(3) = 0 298 J = ELF'(1) + ELF'(2) + ELF'(3) = 2/3 300 ELF over Multiple Delimitations = J / 3 = (2/3) / 3 = 0.222... 302 Figure 6: Example of Calculating ELF over Multiple Delimitations 304 Note that if not particularly specified, the follow sections refer to 305 ELF as the ELF calculated by the algorithm described in Figure 5. 307 4. ELF applicability 309 ELF is reported on a flow. However, how to identify a flow is out of 310 the scope of this document and should be determined by the 311 application, as well as the format and transport that are used to 312 report ELF. 314 ELF relies on the sequence number of the transport protocol to detect 315 packet loss. For example, when RTP [RFC3550] is used as the 316 transport layer, then packet loss is identified if the sequence 317 numbers of two consecutively received RTP packets are not continuous. 318 The gap between the two sequence numbers can be counted as lost 319 packets. To align with MLR (Section 3.2 of [RFC4445]), out-of-order 320 packets are treated as lost packets. 322 The two parameters 'Window Size' and 'Loss Density Threshold' 323 together determines the sense of aggregated loss. A configuration of 324 100:5 ('Window Size':'Loss Density Threshold') says that an 325 aggregated loss is present if over 5 packets are lost in 100 packets. 326 A configuration of 100:3 suggests a lower sensitivity of aggregated 327 loss than the previous example of 100:5. 329 As with DF and MLR, ELF is updated and displayed at a selected time 330 interval. The selected time interval should be chosen long enough so 331 that the sequence of packets can be delimitated into a number of 332 windows. 334 Although ELF can be used separately, it is designed to extend MDI as 335 in Section 3.3 of [RFC4445]. Applications can combine ELF with other 336 two components to form an extended MDI: 338 DF:MLR:ELF 339 Where: 340 DF is the Delay Factor 341 MLR is the Media Loss Rate 342 ELF is the Effective Loss Factor 344 In this case, application examples described in Section 3.4 of 345 [RFC4445] also applies to the extended MDI. 347 4.1. ELF Used with FEC 349 Applications often use Forward Error Correction (FEC) as a recovery 350 mechanism to compensate for packet loss. ELF can take into account 351 the effectiveness of FEC. Assuming an FEC scheme that encodes a 352 source block of 'L' packets and generates some repair packets. These 353 repair packets can protect the source block from 'M' packet loss. To 354 reflect the effectiveness of the FEC scheme, set ELF's 'Window Size' 355 to 'L' and 'Loss Density Threshold' to 'M'. This way, small ELF 356 values indicates the loss can be recovered by the FEC scheme 357 effectively. If ELF values grow large, it suggests the FEC scheme is 358 not adequate to recover the loss. 360 Note that the extra packets generated by FEC scheme is considered to 361 be transmitted out-of-band, apart from the monitored flows. 363 5. Security Considerations 365 The new measurement ELF introduced in this document does not 366 introduce any new security issues other than those specified in 367 [RFC4445]. 369 6. Acknowledgements 371 This document has benefited greatly from the comments of various 372 people. The following individuals have contributed to this document: 373 Rachel Huang, Colin Perkins, Lingyan Wu, Yanfang Zhang. 375 7. References 377 7.1. Normative References 379 [RFC4445] Welch, J. and J. Clark, "A Proposed Media Delivery Index 380 (MDI)", RFC 4445, DOI 10.17487/RFC4445, April 2006, 381 . 383 7.2. Informative References 385 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 386 Jacobson, "RTP: A Transport Protocol for Real-Time 387 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 388 July 2003, . 390 Authors' Addresses 392 Hui Zheng (Marvin) 393 Huawei 395 Email: marvin.zhenghui@huawei.com 397 Roni Even 398 Huawei 400 Email: roni.even@huawei.com