Internet DRAFT - draft-huang-rtcweb-monitoring
draft-huang-rtcweb-monitoring
Network Working Group R. Huang
Internet-Draft R. Even
Intended status: Standards Track Huawei
Expires: September 6, 2012 March 5, 2012
Web Real-Time Communication (RTCWEB): Monitoring Usage
draft-huang-rtcweb-monitoring-00
Abstract
This document describes the monitoring aspect usage in RTCWeb. It
also gives some guidelines for which RTCP XR metrics and extentions
need to be supported.
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 September 6, 2012.
Copyright Notice
Copyright (c) 2012 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
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Huang & Even Expires September 6, 2012 [Page 1]
Internet-Draft RTCWEB Monitoring March 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Monitoring Issues for End Systems . . . . . . . . . . . . . . . 3
4. Monitoring Models for Service Provider . . . . . . . . . . . . 4
4.1. JS Dependent Monitoring . . . . . . . . . . . . . . . . . . 4
4.2. JS Independent Monitoring . . . . . . . . . . . . . . . . . 5
5. Guideline for Selecting Monitoring Metrics . . . . . . . . . . 5
5.1. Metrics from RFC3611 . . . . . . . . . . . . . . . . . . . 5
5.2. Other Extended Metrics . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Huang & Even Expires September 6, 2012 [Page 2]
Internet-Draft RTCWEB Monitoring March 2012
1. Introduction
RTP usage in RTCWEB framework is discussed in
[I-D.ietf-rtcweb-rtp-usage]. It specifies how RTP is used in the
RTCWEB context, and gives requirements of which RTP features and
extensions should be included. It briefly describes the performance
monitoring as one of RTP usages in RTCWEB framework, but it doesn't
go into further discussion.
To help participants to know better the quality of RTCWEB services,
it is required that RTCWEB framework should provide some means to
estimate the services quality and to inform about network problems.
This memo discusses the monitoring issues in RTCWEB framework, and
makes recommendations about the selection of monitoring metrics in
RTCWEB applications.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Monitoring Issues for End Systems
Since the intention of monitoring is to reflect the service quality
and the network conditions, some information, such as statistics of
media packets and calculations of delay, should be provided to the
participants, or even service providers. This kind of information
could be presented from the signaling path (such as the total session
setup time), and from the media path. Monitoring of the signal path
is outside the scope of the RTCWEB standards suite, so only
monitoring of the media path will be discussed in the document. This
section mainly discusses the monitoring issues for participants,
while section 4 talks about the monitoring models for service
provider.
As depicted in the RTCWEB architecture, the media path goes directly
between the browsers, so browsers are the entities obtaining the
monitoring information directly. That means some APIs must be
provided for Javascript application to take advantage of this
information. An undecided issue is what kind of monitoring
information should be offered by Javascript APIs. There are two
models can be applied. One model is that the browser collects the
raw information from media path, does some calculation, and provides
some new accumulated information to Javascript Applications through
APIs. In this model, the accumulated information reflecting the
Huang & Even Expires September 6, 2012 [Page 3]
Internet-Draft RTCWEB Monitoring March 2012
quality of media transmission informed from the APIs should be very
common to any Javascript applications, so that each Javascript
application would do nothing but convey the information to web
server, or interpret it to user. Another alternative model is that
the browser conveys the raw information collected from media path to
the Javascript applications through APIs. As the browser is on the
media path, it is possible for the browser to report all monitoring
information, such as RTCP information, to the Javascript application.
This model is more flexible than the previous one. Different
Javascript applications can apply different calculations and
statistics according to their respective demands. The only shortage
is that it may be too much information which may be not required.
Another uninvestigated problem is what kind of monitoring information
should be collected from the media path. In chapter 5,
recommendations are provided to choose monitoring metrics from RTP
layer.
4. Monitoring Models for Service Provider
From the perspective of service providers who wish to comply with
service-level-agreements, they need to monitor the performance of the
infrastructure and to provide a good service experience for their
users, monitoring information should be passed to the providers'
server (maybe web server). Based on the use-cases described in
[I-D.ietf-rtcweb-use-cases-and-requirements], the monitoring
implementation may vary in different scenarios. In this chapter, the
monitoring models in RTCWEB will be discussed. Note in these models,
no other new requirements for RTCWEB API are raised other than those
discussed in chapter 3.
4.1. JS Dependent Monitoring
In this model, monitoring data goes from the browser to Javascript
application through API, and then flows to Web Server through the
signaling protocol. In this case, the Web Server is the monitoring
server to collect all the monitoring information from all the end
users for service provider. The browser-to-browser use-cases,
telephony terminal and Fedex call of browser-GW/server use-cases
specified in [I-D.ietf-rtcweb-use-cases-and-requirements] are all
applicable to this model. However, there exists minor difference
between these use-cases. For the cases of sharing one operator, two
users have logged into the same web server. The web server can get
monitoring data from both users, therefore the network condition
between the two users can be inferred easily. While for the service
with inter-operator calling, two users have logged into two different
web servers provided by different service providers. Each web server
Huang & Even Expires September 6, 2012 [Page 4]
Internet-Draft RTCWEB Monitoring March 2012
can only get its subscriber's monitoring data. If the monitoring
information of the other user is needed, some additional agreements
between two web servers will be needed, which will increase the
complexity of the whole system. Actually, the media path in RTCWEB
is a point-to-point unicast connection. Each side of the connection
can obtain or calculate all the transport information from this
unicast connection. So it is required that the browser can get
monitoring data as much as it could in the JS dependent monitoring
model.
4.2. JS Independent Monitoring
In this model, monitoring data may not go through Javascript
applications. It flows in the media path, directly collected by some
central server provided by service providers. In this case, the
central server is the monitoring server. Note that the central
server is not some new entity that will be added to the media path
just for monitoring purpose. The central server is a participant in
the RTCWEB session. Use-cases, which the browser of each participant
establishes connections with a central server, such as the video
conferencing system with central server specified in
[I-D.ietf-rtcweb-use-cases-and-requirements]belong to this model. In
this case, the central server is the other side of the media path.
Monitoring data can be obtained directly from the media path by the
central server. As long as adequate information is collected, the
central server can easily give service quality evaluation and network
condition diagnosis. There is no additional APIs required. All can
be done according to the current RTP monitoring activities. The
communication from the central server to the web server or other
servers is based on monitoring implementation of service operator
which is out of scope here.
5. Guideline for Selecting Monitoring Metrics
Since RTP is the media transport protocol in RTCWEB, we mainly
discuss the RTP based monitoring metrics. RTCP SR/RR collects
information and reports it periodically. But it only provides
partial information, which means that you can use it in a limited way
to solve issues such as congestion. It's not sufficient for problem
diagnosis or performance monitoring. In this chapter some guidelines
are provided for RTCWEB to choose the statistics metrics specified in
RTCP XR and other extensions defined in xrblock working group.
5.1. Metrics from RFC3611
RTP Control Protocol Extended Reports [RFC3611]extends the statistics
specified in the RTCP SR/RR. It defines a set of metrics that
Huang & Even Expires September 6, 2012 [Page 5]
Internet-Draft RTCWEB Monitoring March 2012
contain information for assessing media quality, especially VoIP, and
diagnosing problems. The information includes 4 kinds of metrics:
packet-by-packet metrics, reference time related metrics, statistics
summary metrics and VoIP metrics. Packet-by-packet metrics are
usually applied to some network tomography applications, such as
multicast inference of network characteristics (MINC). VoIP metrics
are used for VoIP performance monitoring and diagnosis. These two
kinds of metrics are not generic enough to be implemented in RTCWEB.
While the other two kinds of metrics, reference time related metrics
and statistics summary metrics, are relatively useful for RTCWEB
services.
Reference time related metrics include two report blocks defined in
RFC3611. They are receiver reference time report block and DLRR
report block. These two report blocks enable the receivers the
ability to calculate the round-trip time (RTT) between sender and
itself. Reference time related metrics are very useful for the
receiver to report the transmission time. In RTCWEB services, each
browser participating in the session may have the requirement to
measure or calculate the media path transmission time. It is
recommended that the reference time related metrics SHOULD be
implemented in the browser so that each side either receiver or
sender can calculate the transmission time in the media path and
other related .
Statistics summary report block is defined to contain statistics
summary metrics. The report block records statistics about lost
packets, duplicated packet, jitter information and TTL or Hop limit
values. Lost packets and duplicated packets give more precise
statistics than the loss statistics specified in [RFC3550]. Jitter
information metrics includes minimum jitter, max jitter, mean jitter
and deviation jitter values. These metrics evaluate the transmission
quality during an interval. In RTCWEB services, each browser
participating in the session acts as both sender and receiver. When
the browser acts as a receiver, it can calculate these metrics by
itself. While when browser is a sender, it could get this kind of
information by itself. One of the resolutions is that the receiver
receiving the media issued from the browser sends these metrics by
RTCP XR block. As what is discussed in chapter 4, each user in
RTCWEB service SHOULD try to collect enough monitoring data from both
sides. So if you have the requirements to present detail statistics
information of the media transmission, you SHOULD implement these
metrics in your browsers. TTL or Hop limit values convey the
information about the path characteristics change during an interval.
The change may lead to the increasing or decreasing of delay and
packet losses. But in RTCWEB services, the transport of media is
point-to-point and best-effort. The variety of hops in media path
isn't the most direct information for user or service provider. It
Huang & Even Expires September 6, 2012 [Page 6]
Internet-Draft RTCWEB Monitoring March 2012
is not required to be implemented in the browsers. While TTL or Hop
limit values are included in the one statistics summary report block.
It is recommended to set the TTL/Hop limit related fields to 0.
Note that the measurement intervals may be different from the RTCP
SR/RR transmission interval specified in [RFC3550]. It is
recommended that the RTCP XR report blocks are compounded with RTCP
SR/RR and sharing the same interval for simplification.
5.2. Other Extended Metrics
New report blocks containing new metrics are being discussed in the
XRBLOCK working group. Some of them may be useful to RTCWEB
applications.
RTCP SR/RR and RTCP XR have defined some metrics regarding loss/
jitter statistics and calculations. These metrics are all about per
call statistics and average packet loss rates which are too coarse,
not detailed enough to capture some transitory nature of the
impairments, such as transient network
congestions.[I.D-ietf-xrblock-rtcp-xr-burst-gap-discard] and
[I.D-ietf-xrblock-rtcp-xr-burst-gap-loss]define new report blocks
beyond the information in VoIP metrics of RFC3611 for usage in a
range of RTP applications. More burst-related metrics are reported
in either cumulative or interval reports, which gives a flexible
algorithm usage. If RTCWEB services have the requirement to see the
transient problems, it is recommended to implement the metrics
defined [I.D-ietf-xrblock-rtcp-xr-burst-gap-discard] and
[I.D-ietf-xrblock-rtcp-xr-burst-gap-loss]in the browsers. If both of
them are applied, it is recommended to compound them together. Note
the use of these two report blocks in RTCWeb applications must follow
the framework defined in [I.D-ietf-avtcore-monarch].
[I.D-ietf-xrblock-rtcp-xr-discard]] defines a report block to report
the number of packets discarded due to the jitter. It augments the
statistics summary metrics specified in RFC3611. Using this metric,
discard rate can be calculated. This kind of granular statistics
supply accurate metrics for troubleshooting and SLA delivery. It is
applicable to the applications with jitter buffer, which RTCWEB end
users definitely have. If you have the requirement to get accurate
monitoring information, you SHOULD implement the metrics defined in
[I.D-ietf-xrblock-rtcp-xr-discard] along with the statistics summary
report block of RFC3611, and keep the report interval of this metric
accordance with the interval of the statistics summary report block.
Note the use of the report block in RTCWEB applications must follow
the framework defined in [I.D-ietf-avtcore-monarch].
[I.D-ietf-xrblock-rtcp-xr-delay] defines a new report block including
Huang & Even Expires September 6, 2012 [Page 7]
Internet-Draft RTCWEB Monitoring March 2012
metrics beyond the delay metrics of VoIP metrics report block
specified in RFC3611. It augments the information with the mean,
minimum and maximum values of round-trip delay, which can be
calculated by RTCP SR/RR or RTCP XR. These metrics can be used by
the receivers to report the delays the receivers apperceive to the
senders. In RTCWEB services, each browser participating in the
session acts as both sender and receiver. When it acts as a sender,
it has the requirement to know the delay information of the media
stream sent by itself. As the browser of RTCWEB services all have
the requirement to obtain the delay of bidirectional connections, it
is recommended to implement the delay metrics defined in
[I.D-ietf-xrblock-rtcp-xr-delay] in browsers. Note that the interval
of this report block may be consistent with the RTCP SR/RR or RTCP
XR. If they use the same interval with RTCP SR/RR or RTCP XR, the
mean, minimum and maximum values of round-trip will have the same
value. The one way symmetric media path delay can be calculated from
the round trip and end system delay. The use of the report block in
RTCWEB applications must follow the framework defined in
[I.D-ietf-avtcore-monarch].
6. IANA Considerations
There is no IANA action in this document.
7. Security Considerations
The monitoring activities are implemented between two browsers or
browser-to-server. Also encryption procedures, such as those being
suggested for a Secure RTCP (SRTCP), can be used. It is believed
that monitoring in RTCWEB introduces no new security considerations
beyond those described in [I-D.ietf-rtcweb-rtp-usage] and
[I-D.ietf-rtcweb-security].
8. Acknowledgements
TBD.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Huang & Even Expires September 6, 2012 [Page 8]
Internet-Draft RTCWEB Monitoring March 2012
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
November 2003.
9.2. Informative References
[I-D.ietf-rtcweb-rtp-usage]
, C., Westerlund, M., and J. Ott, "Web Real-Time
Communication (WebRTC): Media Transport and Use of RTP",
October 2011.
[I-D.ietf-rtcweb-security]
Rescorla, E., "Security Considerations for RTC-Web",
October 2011.
[I-D.ietf-rtcweb-use-cases-and-requirements]
Holmberg, C., Hakansson, S., and G. Eriksson, "Web Real-
Time Communication Use-cases and Requirements",
November 2011.
[I.D-ietf-avtcore-monarch]
Wu, Q., Ed., Hunt, G., and P. Arden, "Monitoring
Architecture for RTP", February 2012.
[I.D-ietf-xrblock-rtcp-xr-burst-gap-discard]
Hunt, G., Clark, A., and Q. Wu, Ed., "RTCP XR Report Block
for Burst/Gap Discard Metric Reporting", January 2012.
[I.D-ietf-xrblock-rtcp-xr-burst-gap-loss]
Hunt, G., Clark, Alan., Zhang, S., Ed., Zhao, J., and Q.
Wu, "RTCP XR Report Block for Burst/Gap Loss Metric
Reporting", January 2012.
[I.D-ietf-xrblock-rtcp-xr-delay]
Hunt, G., Clark, A., Gross, K., and Q. Wu, "RTCP XR Report
Block for Delay Metric Reporting".
[I.D-ietf-xrblock-rtcp-xr-discard]
Hunt, G., Clark, A., Zorn, G., and Q. Wu, "RTCP XR Report
Block for Discard Metric Reporting".
Huang & Even Expires September 6, 2012 [Page 9]
Internet-Draft RTCWEB Monitoring March 2012
Authors' Addresses
Rachel Huang
Huawei
101 Software Avenue, Yuhua District
Nanjing 210012
China
Email: Rachel@huawei.com
Roni Even
Huawei
14 David Hamelech
Tel Aviv 64953
Israel
Email: roni.even@huawei.com
Huang & Even Expires September 6, 2012 [Page 10]