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]