<html>
<body>
<h1 align="center">QoS Monitoring for MBone Diagnostics</h1>
<h3 align="center">
<br>Dr JLRobinson & JStewart
<br>Communications Research Centre
<br>Ottawa
<br>
<br>http://www.merci.crc.doc.ca/
<br>
<br>30 May 1997
</h3>
<h2>1.0 Introduction</h2>
        <p>The multicasting capability that is beginning to be deployed on the Internet offers
efficient network support for emerging interactive real-time applications but in reality MBone
audio/video conferencing is currently the only commonly deployed multicast application. Hence
most trials of Internet multicasting take place in the context of MBone experimentation.
        <p>Anyone who has participated in an MBone event will no doubt have noticed, especially in
global events, that the technology is not mature. A short list of the things to be done includes:
<ul>
<li>multicast routing protocols are under development - PIM, DVMRP, MOSPF, etc.
<li>resource reservation is under development - RSVP, COS, etc.
<li>lots of MBone application components are still prototypes - SDR, RAT, RTP, etc.
</ul>
and
<ul>
<li>the IETF is heavily involved in all sorts of research on real-time and multicast technology - IETF
Working Groups: MBoneD, MMUSIC, AVT, BMWG, etc..
</ul>
        <p>Despite the enthusiasm for the MBone, in Europe at least, the MBone is considered still to
be an experiment. The MICE Project [1] played an important role in the initial deployment of
experimental MBone capability in Europe during 1991-1995. Some of the MICE partners, with the
Communications Research Centre (CRC) Ottawa, are carrying on MBone R&D under a European
Union sponsored research Project called MERCI (Multimedia European Research Conferencing
Integration). The overall objective of the MERCI Project is to develop the MBone
videoconferencing technology so that it is usable by non-experts.
        <p>One of the missing components that is essential for the success of the MBone is the ability
to manage and control the videoconference sessions and the MBone network. Contributing to this,
one of the MERCI research activities is a study of Quality-of-Service (QoS) monitoring for MBone
diagnostics. Existing protocols (e.g. IPmc, RTP) contain MBone QoS measurement functionality that
provides a useful starting point for the study. An MBone monitoring and diagnostic tool,
combining network level (IPmc/ICMP/IGMP) and transport level (RTP/RTCP) QoS measurements,
has been designed at CRC and a prototype is under development.
        <p>In this paper, after briefly introducing the MERCI Project, QoS architectures and the
performance parameters and metrics that are appropriate for MBone QoS management will be
discussed. The prototype QoS monitoring tool that is under development at CRC will then be
introduced. The first phase of our program has concentrated on monitoring with RTP/RTCP and
this will be used to illustrate our approach. The paper will conclude with a review of the results
from our study and initial implementation and a brief description of our future plans.
<h2>2.0 The MERCI Project</h2>
        <p>MERCI (Multimedia European Research Conferencing Integration) is a European Union
4th Framework Telematics R&D Project with the overall objective of providing the technology
components to allow proper deployment of the tools for multimedia collaboration. A principle
focus of MERCI is on MBone multi-media conferencing tools. Under the preceding Project (MICE)
some members of this community of researchers made important contributions to the development
of the MBone protocols and applications and they played a central role in the deployment of
MBone in Europe. That work is continuing in MERCI.
        <p>The partners in the Consortium (Figure 1) include the Communication Research Centre
in Ottawa, the University College London (UCL), the French National Institute for Research in
Computer Science and Control (INRIA), the Swedish Royal Institute of Technology (KTH), Oslo
University in Norway, the German National Research Centre for Computer Science (GMD) and the
Stuttgart University Supercomputer Center (RUS). A Canadian research organisation such as CRC
can participate in this type of European Research Project as an official partner because of the
Science and Technology Agreement signed by Canada and the European Union (EU) in 1995.
<p><img src="Figure1.JPEG">
<em><p>Figure 1: The MERCI Partners</em>
<p>The research themes in MERCI include the multicast multi-media conferencing tools (VAT, RAT,
VIC, IVS, SDR), the switching and protocol infrastructure that provides the real-time and multicast
network service required by those applications (RTP, DVMRP, RSVP, IPv6,...), and the usability of
this technology. Over the course of the Project a series of multimedia conferencing events,
including Scientific Seminars, Distance Learning Initiatives and Surgical Workshops, have been
planned to test and validate the prototype technologies and to study human factors issues and
Conference Room ergonomics. As well, private videoconferences are held regularly by the
partners for project co-ordination and to test and assess the technology.
        <p>In Europe there has been a tight linkage between the MBone, the European ATM Test
Networks and the Internet. The MICE/MBone was a prime user of the ATM Test Network and that
infrastructure was embedded in the European Internet (for experimental MBone use only). The
MERCI partners are continuing this arrangement using the EU JAMES Project to experiment with
expanded and improved international MBone infrastructure by integrating the emerging high
speed networking facilities provided by ATM (Figure 2).
<p><img src="Figure2.JPEG">
<em><p>Figure 2: the CANTAT-3 link to the European MERCI/JAMES MBone</em>
        <p>CRC has an agreement with Teleglobe Canada Inc by which CRC researchers can make
use of the CANTAT-3 trans-Atlantic submarine cable for research projects. This agreement has
been used for transport protocol performance characterisation experiments between the DRX
laboratories at CRC and DeTeBerkom in Berlin [2] and has been used for a number of trials between
the CRC BADLab and European partners under the EU ACTS Programme and the G-7 GIBN initiative.
Recognising that a direct broadband connection from Canada to Europe could greatly enhance our
MBone connectivity CRC has obtained permission from Teleglobe Canada to use the CANTAT-3 to
connect CRC to the Supercomputer Center in Stuttgart, Germany and thence to the
MERCI/JAMES/MBone.
        <p>While a JAMES/CANTAT-3 high speed backbone is ideal for MERCI purposes this is a
valuable resource and a private research network that cannot be available constantly for the
Project. This has motivated the MERCI partners to rely on the global MBone as an alternative, less
reliable and lower bandwidth network, that can be used throughout the Project to connect the
partners.
        <p>In Canada, it is only very recently that, with the CANARIE Multicast Project [3] (and soon
the CA*Net II), multicast has become possible on the Canadian Internet infrastructure. This has
not been yet a viable means for CRC to connect to the global MBone. CRC, because of a cooperative
agreement for multicast studies with the Canadian Department of National Defence, is fortunate to
have direct access, via the DRENet, to a major Internet/MBone access point in the USA. An
illustration of the various Internet/MBone access routes from CRC is shown in Figure 3. We are
continually seeking other routes to the European MBone and, as a contribution to the MERCI
Project, we are measuring the performance and investigating the multicast routing paths on those
connections.
<p><img src="Figure3.GIF">
<p><em>Figure 3: Network Routes between CRC and the MERCI Partners in Europe</em>
<h2>3.0 MBone QoS Monitoring </h2>
<h3>3.1 Introduction</h3>
        <p>It is well recognised that multicast diagnostic tools are needed for the following settings:
customer service or support, network or system administration, network operations center;
however instrumentation of the multicast Internet is a work in progress. Monitoring and
diagnostic tools have been under development over the last few years and prototypes are available
on-line (ShareWare) from various Internet repositories. An overview of those tools can be found
in [4]. These tools rely on one or more of the following facilities: RTCP source and receiver reports,
SNMP MIBs, IGMP trace facility, IGMP ASK_NEIGHBORS message, routing arbiter database, internal
structures (Table 1).
<p><table border>
<th>Facility</th>        <th>Diagnostic Tool</th><tr>
<td> RTCP source and receiver reports</td><td>RTPMon MSessMon RTPquality RTPdump RTPcast/RTPlisten Duppkts</td><tr>
<td> SNMP MIBs</td>        <td>multicast heartbeat mconfig MStat MView MRTree</td><tr>
<td> IGMP trace facility</td> <td>MTrace</td><tr>
<td> IGMP ASK_NEIGHBORS message</td>        <td>mrinfo MRTree Map-MBone MRMap</td><tr>
<td> Routing arbiter Database</td> <td> asn asname</td><tr>
<td> Internal structures</td> <td> TCPDump NetStat</td><tr>
<caption>Table 1: Multicast Diagnostic Tools Categorised by Facilities Utilised</caption>
</table>
        <p>With our MERCI partners we have been investigating these tools, concentrating initially
on those that support QoS monitoring. In general we have found that expert understanding is
essential to interpret the information and displays that are generated by the tools. Furthermore,
for even very basic and limited management and control of MBone sessions constant human
intervention is needed. This does not satisfy our aim to support non-expert users and has motivated
us to rethink multicast QoS monitoring from first principles.
        <p>We describe below a formal QoS Framework (Section 3.2), a categorisation of traffic
characteristics based on conference session types (Section 3.3) and a consideration of the QoS
information that can be obtained directly from the existing protocols (Chapter 4). This is the
foundation on which we describe the requirement for QoS management and the possibilities for
simplified QoS monitoring and diagnostics.
<h3>3.2 QoS Framework</h3>
<h4>3.2.1 QoS Architectures </h4>
        <p>In distributed multimedia systems it is essential that all the end-to-end elements work
together to achieve the desired application level behaviour. Meeting QoS guarantees is a
fundamental issue that must be addressed. A QoS architecture provides the broad framework that is
needed for an overall characterisation of the QoS management required for successful multimedia
communications. That QoS framework must provide a specification of: flow synchronisation; flow
performance; level of service; QoS management policy; and cost of service with the related
categories of QoS parameters shown in Table 2. More details can be found in the excellent state-of-
the-art reviews presented in [5] and [6].
<p><table border>
<th>Category</th>        <th>parameter examples</th><tr>
<td>synchronisation oriented</td>        <td>skew between sequences</td><tr>
<td>performance oriented</td>        <td>bit rate and delay</td><tr>
<td>format oriented</td>        <td>video resolution, frame
rate</td><tr>
<td>user oriented</td>        <td>subjective image and sound
quality</td><tr>
<td>cost oriented</td>        <td>connection and transmission
charges</td><tr>
<caption>Table 2: Categories of QoS Parameters</caption>
</table>
        <p>The real QoS choices available to the user depend on all the system components: the
operating system, the transport system (transport processes and communications flow) and the
application (media sources and I/O devices) (Figure 4).
<p><img src="Figure4.JPEG">
<p><em>Figure 4: Communications Model for QoS Negotiation</em>
        <p>The basic QoS constraints on media sources and operating systems relate to their real-
time behaviour . Operating system QoS parameters can be identified at different levels of
abstraction where the lowest level parameters include performance, scheduling and memory size.
For the transport processes and communications flow the essential QoS parameters can be defined
in relationship to a three level view of the communications protocol hierarchy (Figure 5). This is
the perspective that is most easily related to our interest in monitoring QoS with network and
transport protocol QoS information.
<p><img src="Figure5.JPEG">
<p><em>Figure 5: Three Level View of Communications Protocol Hierarchy</em>
<p>The lowest level manages QoS parameters to provide bandwidth and acceptable delay. The
top level protocols support an overall QoS negotiation between the components involved. The
middle level (network & transport) manages QoS handling over multiple networks. A QoS
characterisation at the network and transport levels can be based on a flow performance
specification with metrics computed from the performance oriented category of QoS parameters
(Table 2). This is the subject of the next Section.
<h4>3.2.2 Performance Parameters & Metrics</h4>
        <p>The Internet was initially designed to provide a connectionless, unreliable service and
hence there was little interest at first in issues such as performance characteristics and
guarantees. Recently however, the trends towards commercialisation of the service and provision
of real-time services have forced a growing interest in defining performance metrics and
measurement methodologies [7,8,9].
        <p>For successful multimedia communications parameters that specify the flow
performance are an essential element of the base from which mechanisms to provide real-time
multimedia flows can be defined and developed. For basic QoS characterisation of a communication
channel three measures are essential: throughput, delay and loss rates [10]. Several metrics
associated with channel stability can be derived from these, examples are loss rate variation and
delay (interarrival) jitter. We will return to this and provide some rigorous definitions in Section
4.2.
<h3>3.3 TeleConference Traffic Characteristics</h3>
        <p>A general understanding of the traffic characteristics of a video-teleconference can be
derived by considering a typical session involving multiple participants exchanging multimedia
information interactively in real-time. Every participant will receive and possibly transmit at
least audio and video. Based on factors such as the size of the audience and the style of
participation (passive reception, occasional transmission, etc.) three types of conference sessions
(Broadcast, Seminar & Conference) that generate different traffic patterns can be distinguished
(Figure 6). User expectations and traffic patterns are different in each case and hence it is useful
to categorise the session type when considering monitoring requirements.
        <p>Broadcast sessions (e.g. shuttle launch, product announcement, TV) attract a potentially
very large number of viewers. The transmitting station is interested in information about the
community of receivers and the quality of their connections. Receivers on the other hand are
primarily interested only in information about their connection to the transmitter.
        <p>In a seminar session, due to the specialised nature of the topic, the participating
community is unlikely to be more than 100 participants. There will be a subset of receiver stations
that will be occasional transmitters, for example during the questions & answer time, using at least
one of audio or the shared work-space. For these stations the quality of the connection to the main
transmission site is very important. Once a question is being asked (transmitted) the connection to
all the other receiving participants will be temporarily of interest.
        <p>In a conference type session the number of participant is likely to be relatively small,
probably never more than 10-12 active members. Every connection is of concern to all others and
all stations are both transmitters and receivers.
<p><img src="Figure6.GIF">
<p><em>Figure 6: Conference Session Types</em>
<h2>4.0 Monitoring MBone QoS with RTCP</h2>
<h3>4.1 RTCP (RFC 1889)</h3>
        <p>The real-time transport protocol (RTP) defined in RFC 1889 [11] provides end-to-end
delivery services for data with real-time characteristics, such as interactive audio and video. RTP
supports data transfer to multiple destinations using multicast distribution and provides basic
services for media synchronisation and for QoS feedback. Applications typically run RTP on top of
UDP to make use of its multiplexing and checksum services; both protocols contribute parts of the
transport protocol functionality. The underlying protocol must provide multiplexing of the data
and control packets, for example using separate port numbers with UDP. RTP represents a new
style of protocol following the principles of application level framing and integrated layer
processing proposed in [12]. By itself it does not provide any mechanism to ensure timely delivery
or provide other quality-of-service guarantees.
        <p>RTP consists of two closely-linked parts: the real-time transport protocol (RTP), to carry
data that has real-time properties; and the RTP control protocol (RTCP), to monitor the quality of
service and to convey information about the participants in an on-going session. . RTCP is based
on the periodic transmission of control packets to all participants in the session, using the same
distribution mechanism as the data packets.
        <p>RTCP performs three mandatory functions:
<ol>
<li>The primary function is to provide feedback on the quality of the data distribution.
<li>RTCP carries an identifier for an RTP source called the canonical name (CNAME) to keep track
of each participant and to associate multiple data streams from a given participant in a set of
related RTP sessions, for example to synchronize audio and video.
<li>The first two functions require that all participants send RTCP packets, therefore the rate must
be controlled in order for RTP to scale up to a large number of participants. By having each
participant send its control packets to all the others, each can independently observe the number
of participants. This number is used to calculate the rate at which the control packets are sent.
</ol>
<h3>4.2 QoS Information in RTCP Packets</h3>
        <p>Each RTCP packet begins with a fixed part (8 octet header) that is followed by structured
elements of variable length according to the packet type. RTP receivers provide reception quality
feedback using RTCP report packets which may take one of two forms depending upon whether or
not the receiver is also a sender. The only difference between the sender report (SR) and receiver
report (RR), besides the packet type code, is that the sender report includes a 20-byte sender
information section for use by active senders. The SR is issued if a site has sent any data packets
during the interval since issuing the last report or the previous one, otherwise the RR is issued.
        <p>Both the SR and RR contain zero or more reception report blocks depending on the
number of other sources heard by this sender since the last report. Each reception report block
conveys statistics on the reception of RTP data packets from a single synchronization source. This
uses the timestamp and sequence numbers carried in the RTP data packet headers. The QoS
parameters and metrics that are carried in RTP data and RTCP SR & SR packets are shown in Table
3.
<p><table border>
<th>RTP</t>        <th>RTCP SR</th>        <th>RTCP RR</th><tr>
<td>t<sub>Tx</sub><sup>j</sup></td>        <td>t<sub>Tx</sub><sup>SR</sup></td><td>J<sub>i</sub></td><tr>
<td>Seq#</td>        <td>N<sub>Tx</sub></td>        <td>delta-t<sub>LSR</sub></td><tr>
<td></td><td></td><td>Fr<sup>ij</sup><sub>LOST</sub></td><tr>
<td></td><td></td><td>t<sub>LSR</sub></td><tr>
<caption>Table 3: QoS Measures Carried in RTP Packets</caption>
</table>
        <p>A list of the QoS parameters associated with the RTP/RTCP packet flow is given in Table 4.
<p><table border>
<th>packet counts</th><tr>
<td>N<sub>Rx</sub></td>        <td>number of RTP packets received</td><tr>
<td>N<sub>Tx</sub></td> <td>number of RTP packets sent</td><tr>
<th>sequence number (Seq#) counts</th><tr>
<td>S<sub>MAX</sub></td>        <td>highest sequence number received</td><tr>
<td>S<sub>BASE</sub></td>        <td>first sequence number received</td><tr>
<td>S<sub>WRAP</sub></td>        <td>count of sequence number wraparounds</td><tr>
<th>time stamps</th><tr>
<td>t<sub>Tx</sub><sup>SR</sup></td>        <td>NTP timestamp on transmission of an RTCP SR</td><tr>
<td>t<sub>Rx</sub><sup>SR/RR</sup></td>        <td>NTP timestamp on reception of an RTCP SR or
RR</td><tr>
<td>t<sub>Rx</sub><sup>j</sup></td>        <td>timestamp at reception of RTP packet j</td><tr>
<td>t<sub>Tx</sub><sup>j</sup></td>        <td>timestamp on transmission of RTP packet j</td><tr>
<caption>Table 4: RTP/RTCP QoS Parameters</caption>
</table>
<h5>QoS Metrics</h5>
        <p>Using the time stamps, the sequence numbers, and the count and time-stamp of incoming
packets a number of QoS metrics can be computed. Packet counts and sequence numbers are used
for throughput and loss rates; timestamps are used for delay and jitter.
<h5>Loss</h5>
<p>The <em>number of packets lost</em> - N<sub>LOST</sub>
<p>N<sub>LOST</sub> = N<sub>E</sub> -
N<sub>Rx</sub> = S<sub>MAX</sub> +
S<sub>WRAP</sub> -
S<sub>BASE</sub> + 1 - N<sub>Rx</sub>
<p>where the number of packets expected (N<sub>E</sub>) can be calculated using the sequence numbers of the incoming RTP packets.
<p><a name="Spot1">
The <em>RTP packet loss fraction over the time interval (i,j)</em>
<a href="#Foot1">Footnote 1</a> -
Fr<sup>ij</sup><sub>LOST</sub>
<p>Fr<sup>ij</sup><sub>LOST</sub> =
(N<sup>i</sup><sub>LOST</sub> -
N<sup>j</sup><sub>LOST</sub>) /
(N<sup>i</sup><sub>E</sub> -
N<sup>j</sup><sub>E</sub>)
<h5>Delay</h5>
<p>The <em>RTP transmission delay</em> - delta-t<sub>RTP</sub>
<p>delta-t<sub>RTP</sub> = t<sub>Rx</sub> - t<sub>Tx</sub>
<p><em>The RTCP transmission delay</em> - delta-t<sub>RTCP</sub>
<p>delta-t<sub>RTCP</sub> = t<sub>Rx</sub><sup>SR</sup> - t<sub>Tx</sub><sup>SR</sup>
<p>using the RTCP SR NTP timestamp and
with t<sub>Tx</sub><sup>SR</sup> measured at the receiver.
<p>and
<p>the <em>round trip delay</em> - delta-T
<p>delta-T = t<sub>Rx</sub><sup>RR</sup> -
t<sub>LSR</sub> -
delta-t<sub>LSR.</sub>
<p>with the time of the last sender report
t<sub>LSR</sub> =
t<sub>Rx</sub><sup>SR</sup>,
and the DLSR timestamp
(delta-t<sub>LSR</sub>) providing a measure of the processing delay in the receiver.
<p><a name="Spot2">
<p>The <em>Interarrival Jitter</em> <a href="#Foot2">Footnote 2</a> -
J<sub>i</sub>
<p>J<sub>i</sub> =
J<sub>i-1</sub> +
alpha-(|D<sub>i I-1</sub>| -
J<sub>i-1</sub>)
<p>where
<p>D<sub>ij</sub> =
delta-t<sup>i</sup><sub>RTP</sub> -
delta-t<sup>j</sup><sub>RTP</sub>
<h3>4.3 QoS Monitoring with RTCP</h3>
        <p>Using RTCP mechanisms, feedback on the quality of the data distribution is available not
only to the sender but also for other receivers and third-party monitors (Figure 7). This feedback
function is performed by the RTCP sender and receiver reports.
        <p>The sender may modify its transmissions based on the feedback. For example, the direct
use of feedback for control of adaptive encoding is described in [13, 14]. It is also critical for the
sender to get feedback from the receivers to diagnose faults in the distribution.
        <p>Network managers and network service provider who are not otherwise involved in the
session can use profile-independent third-party monitors that receive only the RTCP packets and
not the corresponding RTP data packets to evaluate the performance of their networks and to
diagnose network problems.
<p><img src="Figure7.JPEG">
<p><em>Figure 7: RTCP Packet Flow</em>
        <p>A sender report contains cumulative counters for packets and bytes sent which a
receiver can use to estimate the actual transmitted data rate. The reception report blocks returned
by the receivers contain information on the highest sequence number received, the number of
packets lost, a measure of interarrival jitter and timestamps needed to compute an estimate of the
round-trip delay between a sender and the receiver issuing the report.
        <p>Cumulative counts are used in both the sender information and receiver report blocks so
that differences may be calculated between any two reports to make measurements over both
short and long time periods, and to provide resilience against the loss of a report. The difference
between the last two reports received can be used to estimate the recent quality of the distribution.
        <p>The interarrival jitter field provides a second short-term measure of network congestion.
Packet loss tracks persistent congestion while the jitter measure tracks transient congestion. The
jitter measure may indicate congestion before it leads to packet loss. Since the interarrival jitter
field is only a snapshot of the jitter at the time of a report, it may be necessary to analyze a
number of reports from one receiver over time or from multiple receivers, e.g., within a single
network.
        <p>From the sender information, a third-party monitor can calculate the average payload
data rate and the average packet rate over an interval without receiving the data. Taking the ratio
of the two gives the average payload size. If it can be assumed that packet loss is independent of
packet size, then the number of packets received by a particular receiver times the average
payload size (or the corresponding packet size) gives the apparent throughput available to that
receiver.
</h2>5.0 MERCInari</h2>
<h3>5.1 Introduction</h3>
        <p>An MBone monitoring platform (MERCInari - MERCI network active recording interface)
is under development at CRC to monitor QoS during multicast events and to provide performance
statistics for diagnostics. The ultimate goal for MERCInari is to assist users, network managers and
protocol developers by combining: RTCP, ICMP and SNMP capture; presentation of performance in
real-time; and recording of statistics for later replay and analysis. This report covers the first
phase of the MERCInari development where only RTP/RTCP and the flow performance parameters
that can be obtained from that protocol have been considered.
<h3>5.2 MERCInari Design</h3>
        <p>The components in the design of our monitoring system are shown in Figure 8.
<p><img src="Figure8.GIF">
<p><em>Figure 8: MERCInari Platform Design</em>
<p>These components are:
<ul>
<li>physical network access with a Network Interface Tap to enable reception of network traffic.
<li>a packet trap & filter to monitor the local network and retrieve packets destined to/from a
specific network address or addresses.
<li>an extractor/forwarder to retrieve appropriate data (performance statistics) from the packets
and deliver to various application modules as appropriate
<li>application modules consisting of:
<ul>
<li>a record/playback process that records selected data from the network to disk for playback to
analysis programs (to use for example to refine protocol design).
<li>a real-time pipe: a path for real-time flow of statistics to the analyzer/display
(this could also be a route for information to be passed to automated network control processes).
<li>an analyzer & GUI display to provide graphical presentations of performance in real-time, that
are understandable to an operator, and after storage and analysis to support development.
<li>a forwarding process specifically to provide a direct feed to the conference tools (video/audio)
(where the statistics can be used to adjust encoding, fps, etc. to dynamically optimize the use of the
available network service.)
</ul>
<li>an active query process to generate ICMP and/or IGMP queries. Triggered initially by a user;
the eventual goal is to let the active monitoring system generate queries that may allow it to
interpret networking performance enhancements/degradation.
</ul>
        
<p>The monitoring process will ideally introduce as little interference as possible into the tasks
being monitored, hence the monitoring program is run on a WorkStation that is not actively
involved in the MBone session. The monitoring platform will be normally based close to an
actively participating MBone WorkStation to simplify the gathering of information directly
to/from a contributing session user, but physical co-location is not a requirement.
<h3>5.3 MERCInari v 1.0</h3>
        <p>MERCInari v1.0 has been developed on a UNIX platform. The programs have been written
in tcl/tk. The Packet Trap is based on the public domain tool TCPDump [16]. The program for
graphically displaying the statistics is XPlot [17]. Version 1.0 is a preliminary implementation that
can be used only in the record/playback mode to extract and display RTCP QoS information. This
experience has been important to us as a proof of concept and it has been used with our partners
at UCL to investigate the RTCP implementation in the Robust Audio Tool (RAT).
<p>When MERCInari is started the main control panel (Figure 9) is launched to display a list of the
participants that are active in the session that is being monitored.
<p><img src="Figure9.GIF">
<p><em>Figure 9: The Main Control Panel of MERCInari v1.0</em>
        <p>The SSRC button will spawn a control panel (Figure 10) that identifies the participant
with the information from the source description (SDES) type RTCP packet. This panel can be used
to access detailed information about all the SRs and RRs that have been sent by the user.
<p><img src="Figure_10.GIF">
<p><em>Figure 10: Participant Identification and Packet Viewer</em>
        <p><The "initiate plot" button in the main Panel will generate graphs from the QoS
information that has been collected. These are useful in characterising the QoS performance as
well as for analysis of the behaviour of the RTP implementation. Figure 11 is an example, showing
the time evolution of the packet-count from the SRs (top curve) and packet-loss from the RRs
(bottom curve) that were exchanged for a video channel between a sender in France and a
receiver in Canada. It was unexpected behaviour detected in graphs such as this that led us to our
critique of the UCL RAT/RTCP implementation.
        <p><MERCInari v1.0 has been made available for public release and can be found in the
MERCI software repository at
<a href=Òhttp://www.merci.cs.ucl.ac.ukÓ>http://www.merci.cs.ucl.ac.uk.</a>
<p><img src="Figure_11.GIF">
<p><em>Figure 11: Packet Count vs. NTP time</em>
<h2>6.0 Concluding Comments</h2>
        <p>Several categories of conference session types have been distinguished and their traffic
characteristics described. This provides a useful basis for understanding the variability in
requirements for QoS monitoring. At the same time we have completed a study of RTCP placing the
RTCP QoS features within a broader QoS framework. Ideas drawn from these initiatives underlay
the design of our QoS monitor (MERCInari).
        <p>We are now proceeding with the development of a new version of the tool. The next
release will be based on a new software design using the client-server capabilities of the
distributed processing tcl (tcl-dp) [18]. The main new feature will be the ability to display
information in real-time so that the variation in the QoS can be monitored over the duration of a
session. MERCInari v2.0 is scheduled for release in late August.
        <p>Our experience so far encourages us to continue pursuing this approach for MBone QoS
management. We are planning the addition of network protocol functionality (ICMP, IGMP). We
also plan to continue developing a theoretical understanding that locates these ideas within the
broader context provided by emerging QoS architectures.
<h2>Acknowledgments</h2>
        <p>We acknowledge the support of Teleglobe Canada, the CANARIE TNOC and Deutsche
Telekom/DeTeBerkom, Berlin in providing the trans-Atlantic ATM connection. We also
acknowledge the support of CRAD/DND Canada in providing us with the DRENet connection to the
global MBone.
        <p>Our partners in the MERCI Project have been supportive in various ways and we
acknowledge there encouragement and support. We wish to particularly thank Peter Kirstein,
Panos Gavros and Colin Perkins at University College London for their help.
<h2>References</h2>
<p>[1] Multimedia integrated conferencing for European researchers (MICE): piloting activities
and the conference management and multiplexing centre, M.J.Handley, P.T.Kirstein, M.A.Sasse,
Computer Networks and ISDN Systems 26 (1993)
<p>[2] Transport Flow Control and Connection Admission Policies for Reliable Applications over
ATM WAN, L.Lamont, I. Miloucheva, W.Stering, CRC Report No. CRC-RP-96-007, April 1996
<p>[3] CANARIE MultiCast Test Project, http://www.wnet.ca/multicast/.
<p>[4] Multicast Debugging Handbook, draft-ietf-MBoned-mdh-00.txt, 23 March 1997, D.Thaler,
B.Aboba
<p>[5] A Survey of Quality of Service Architectures, C. Aurrecoechea, A. Campbell, L. Hauw, Center
for Telecommunication Research, Columbia University
<p>[6] Distributed Multimedia and QoS: A Survey, A.Vogel, B.Kerherve, G.von Bochnann, J.Gescei,
IEEE MultiMedia, Summer 1995
<p>[7] Towards a Framework for Defining Internet Performance Metrics, INET'96, V.Paxson
<p>[8] Terminology for IP Multicast Benchmarking, draft-ietf-bmwg-mcast-00.txt, Nov.'96,
K.Dubray
<p>[9] Framework for IP Provider Metrics, draft-ietf-bmwg-ippm-framework-00.txt, Nov.'96,
G.Almes, W.Cerveny, P.Krishnaswamy, J.Mahdavi, M.Mathis, V.Paxson
<p>[10] TIP's Performance Quality of Service, S.Bocking, IEEE Communications Magazine, August
1995
<p>[11] RTP: A Transport Protocol for Real-Time Applications, RFC 1889-January 1996,
IETF AVT WG: H.Schulzrinne, S.Casner, R.Frederick, V.Jacobson
<p>[12] D. D. Clark and D. L. Tennenhouse, "Architectural considerations for a new generation of
protocols," in SIGCOMM Symposium on Communications Architectures and Protocols ,
(Philadelphia, Pennsylvania), pp. 200--208, IEEE, Sept. 1990. Computer Communications Review,
Vol. 20(4), Sept. 1990.
<p>[13] J.-C. Bolot, T. Turletti, and I. Wakeman, "Scalable feedback control for multicast video
distribution in the internet," in SIGCOMM Symposium on Communications Architectures and
Protocols , (London, England), pp. 58--67, ACM, Aug. 1994.
<p>[14] I. Busse, B. Deffner, and H. Schulzrinne, "Dynamic QoS control of multimedia applications
based on RTP," Computer Communications , Jan. 1996.
<p>[15] J. A. Cadzow, Foundations of digital signal processing and data analysis New York, New York:
Macmillan, 1987.
<p>[16] TCPDump, ftp://ftp.ee.lbl.gov/libpcap.tar.Z & ftp://ftp.ee.lbl.gov/tcpdump.tar.Z
<p>[17] Xplot, ftp://mercury.lcs.mit.edu/pub/shep/xplot.tar.gz
<p>[18] tcl-dp, http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html
<p><a name="Foot1">
<em>Footnote 1</em> In addition to the cumulative counts which allow long-term packet loss measurements using
differences between reports, the fraction lost field provides a short-term measurement from a
single report. This becomes more important as the size of a session scales up enough that reception
state information might not be kept for all receivers or the interval between reports becomes long
enough that only one report might have been received from a particular receiver.
<p>Loss rate per second can be calculated from differences over the interval between two reports
using the NTP timestamp. Since that timestamp is independent of the clock rate for the data
encoding, it is possible to implement encoding- and profile-independent quality monitors.
<a href="#Spot1">Back to main text.</a>
<p><a name="Foot2">
<em>Footnote 2</em> The interarrival jitter field provides a second short-term measure of network
congestion. Packet loss tracks persistent congestion while the jitter measure tracks transient
congestion. The jitter measure may indicate congestion before it leads to packet loss. Since the
interarrival jitter field is only a snapshot of the jitter at the time of a report, it may be necessary
to analyze a number of reports from one receiver over time or from multiple receivers, e.g.,
within a single network.
This algorithm is the optimal first- order estimator and the gain parameter value delta=1/16 is
recommended to
give a good noise reduction ratio while maintaining a reasonable rate of convergence [15].
<a href="#Spot2">Back to main text.</a>
</body>
</html>