<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ippm-qoo-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="QoO">Quality of Outcome</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-qoo-04"/>
    <author fullname="Bjørn Ivar Teigen Monclair">
      <organization>CUJO AI</organization>
      <address>
        <postal>
          <street>Gaustadalléen 21</street>
          <code>0349</code>
          <country>NORWAY</country>
        </postal>
        <email>bjorn.monclair@cujo.com</email>
      </address>
    </author>
    <author fullname="Magnus Olden">
      <organization>CUJO AI</organization>
      <address>
        <postal>
          <street>Gaustadalléen 21</street>
          <code>0349</code>
          <country>NORWAY</country>
        </postal>
        <email>magnus.olden@cujo.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="04"/>
    <area>Transport</area>
    <workgroup>IP Performance Measurement</workgroup>
    <keyword>Quality Attenuation</keyword>
    <keyword>Application Outcomes</keyword>
    <keyword>Quality of Outcome</keyword>
    <keyword>Performance monitoring</keyword>
    <keyword>Network quality</keyword>
    <abstract>
      <?line 124?>
<t>This document introduces the Quality of Outcome (QoO) framework, a novel
approach to network quality assessment designed to align with the needs of
application developers, users, and operators.</t>
      <t>By leveraging the Quality Attenuation metric, QoO provides a unified method for
defining and evaluating application-specific network requirements while ensuring
actionable insights for network optimization and simple quality scores for
end-users.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/getCUJO/QoOID"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ippm-qoo/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        IP Performance Measurement Working Group mailing list (<eref target="mailto:ippm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ippm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ippm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/getCUJO/QoOID"/>.</t>
    </note>
  </front>
  <middle>
    <?line 134?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document introduces the Quality of Outcome network score. Quality of
Outcome is a network quality score designed to be easy to understand, while at
the same time being objective, adaptable to different network quality needs, and
allowing advanced analysis to identify the root cause of network problems. This
document defines a network requirement framework that allows application
developers to specify their network requirements, along with a way to create a
simple user-facing metric based on comparing application requirements to
measurements of network performance. The framework builds on Quality Attenuation
<xref target="TR-452.1"/>, enabling network operators to achieve fault isolation and
effective network planning through composability <xref target="RFC6049"/>.</t>
      <t>Quality Attenuation is a network quality metric that meets most of the design
goals set out in the requirements section of this document; it can capture the
probability of a network satisfying application requirements, it is composable,
and it can be compared to a variety of application requirements. However,
interpreting raw Quality Attenuation values is difficult for end-users and
application developers, raising the challenge of how to simplify the entailed
information without losing too much in terms of precision and accuracy. The part
that is yet missing is how to present Quality Attenuation results to end-users
and application developers in an understandable way. A per-application, per
application-type, or per-SLA approach is most appropriate here.</t>
      <t>Taking a probabilistic approach is key because the network stack and
application's network quality adaptation can be highly complex. Applications and
the underlying networking protocols make separate optimizations based on their
perceived network quality over time and saying something about an outcome with
absolute certainty is practically impossible. It is possible, however, to make
educated guesses on the probability of outcomes.</t>
      <t>This document proposes representing network quality as a minimum required
throughput and set of latency and loss percentiles. Application developers,
regulatory bodies and other interested parties can describe network requirements
in the same manner. This document defines a distance measure between perfect and
unusable. With some assumptions, we can use this distance measure to calculate
something that can be simplified into statements such as "A Video Conference has
a 93% chance of being lag free on this network" all while making it possible to
use the framework both for end-to-end test and analysis from within the network.</t>
      <t>The work proposes a minimum viable framework, and often trades precision for
simplicity. The justification for this is to ensure adoption and usability in
many different contexts such as active testing from applications and monitoring
from network equipment. To counter the loss of precision, is it necessary to
combine measurement results with a description of the measurement approach that
allow for analysis of the precision.</t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>Quality of Outcome (QoO) produces simple percentage scores that represent the
probability an application will work well on a network. For example: "Video
conferencing has a 94% chance of being lag-free on this network."</t>
      <t>QoO works by comparing measured network performance against application-specific
requirements. Applications define two thresholds:</t>
      <ul spacing="normal">
        <li>
          <t>Perfect performance (NRP): Network conditions where the app works
optimally</t>
        </li>
        <li>
          <t>Unusable performance (NRPoU): Network conditions where the app becomes
unusable</t>
        </li>
      </ul>
      <t>QoO calculates where measured network performance falls between these
thresholds, expressing this as a probability percentage.</t>
      <t>The key innovation is using dual thresholds rather than binary pass/fail
criteria, providing meaningful scores even when networks aren't perfect while
accounting for different application sensitivities.</t>
      <t>QoO measurements are mathematically composable, enabling network operators to
isolate performance bottlenecks across different network segments for precise
fault diagnosis and network planning.</t>
      <t>The remainder of this document explains the detailed requirements, mathematical
foundations, and implementation considerations for this framework.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document introduces several new terms and concepts that are central to the
Quality of Outcome framework:</t>
      <t>Network: In the context of this document, a network refers to the
communication infrastructure that connects endpoints, including all intermediate
devices, links, and protocols that affect the transmission of data between a
source and destination. This encompasses both the physical infrastructure and
the logical protocols that govern data transmission.</t>
      <t>Quality Attenuation: A network quality metric that represents packet loss as
infinite (or excessively delayed) latency, providing a unified approach to
measuring both latency and loss characteristics of network performance
<xref target="TR-452.1"/>.</t>
      <t>Quality of Outcome (QoO): A network quality framework and metric designed to
assess network performance based on the probability that applications will
achieve successful outcomes. QoO provides a unified approach that serves the
needs of end-users, application developers, and network operators.</t>
      <t>QoO Score: A numerical value derived from the QoO framework that represents
the likelihood of application success on a given network, typically expressed as
a percentage.</t>
      <t>Network Requirements for Perfection (NRP): The network performance
characteristics at which an application achieves optimal performance and user
experience.</t>
      <t>Network Requirements Point of Unusableness (NRPoU): The network performance
threshold below which an application becomes unusable or fails to provide
acceptable user experience.</t>
      <t>Composability: The mathematical property that allows network quality
measurements to be combined across different network segments or decomposed to
isolate specific network components for analysis and troubleshooting.</t>
      <t>Accuracy and Precision: In this document, "accuracy" refers to how close
measurements are to the true value, while "precision" refers to the consistency
and repeatability of measurements. These terms are used with their standard
statistical meanings and are not interchangeable.</t>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>This section describes the features and attributes a network quality framework
must have to be useful for different stakeholders: application developers,
end-users, and network operators/vendors. At a high level, end-users need an
understandable network metric. Application developers require a network metric
that allows them to evaluate how well their application is likely to perform
given the measured network performance. Network operators and vendors need a
metric that facilitates troubleshooting and optimization of their networks.
Existing network quality metrics and frameworks typically address the needs of
one or two of these stakeholders, but the authors have yet to find one that
bridges the needs of all three. Examples include throughput metrics that
operators use to prove regulatory compliance but with little relevance to
application performance, or subjective Quality of Experience (QoE) metrics that
are understandable to users but difficult for operators to collect at meaningful
scale.</t>
      <t>A key motivation for the Quality of Outcome (QoO) framework is to bridge the gap
between the technical aspects of network performance and the practical needs of
those who depend on it. While solutions exist for many of the problems causing
high and unstable latency in the Internet, such as bufferbloat mitigation
techniques <xref target="RFC8290"/> and improved congestion control algorithms <xref target="RFC8033"/>,
the incentives to deploy them have remained relatively weak. A unifying
framework for assessing network quality, can serve to strengthen these
incentives significantly.</t>
      <t>Bandwidth alone is necessary but not sufficient for high-quality modern network
experiences. Idle latency, working latency, jitter, and unmitigated packet loss
are major causes of poor application outcomes. The impact of latency is widely
recognized in network engineering circles <xref target="BITAG"/>, but benchmarking the
quality of network transport remains complex. Most end-users are unable to
relate to metrics other than Mbps, which they have long been conditioned to
think of as the only dimension of network quality.</t>
      <t>Real Time Response under load tests <xref target="RRUL"/> and Responsiveness <xref target="RPM"/> make
significant strides toward creating a network quality metric that is far closer
to application outcomes than bandwidth alone. The latter, in particular, is
successful at being relatively relatable and understandable to end-users.
However, as noted in <xref target="RPM"/>, "Our networks remain unresponsive, not from a lack
of technical solutions, but rather a lack of awareness of the problem." This
lack of awareness means operators have little incentive to improve network
quality beyond increasing bandwidth. Despite the availability of open-source
solutions, vendors rarely implement them. A universally accepted network quality
framework that successfully captures how well applications are likely to perform
may help to increase the willingness of vendors to implement such solutions.</t>
      <t>A recent IAB workshop on measuring internet quality for end-users identified a
key insight: users care primarily about application performance rather than
network performance. Among the conclusions was the statement, "A really
meaningful metric for users is whether their application will work properly or
fail because of a lack of a network with sufficient characteristics"
<xref target="RFC9318"/>. Therefore, one critical requirement of a meaningful framework is
its ability to answer the question, "Will networking conditions stop an
application from working properly?"</t>
      <t>Answering this question requires several considerations. First, the Internet is
inherently stochastic from the perspective of any given client, so absolute
certainty is unattainable. Second, different applications have varying needs and
adapt differently to network conditions. A framework aiming to answer this
question must accommodate such diverse application requirements. Third,
end-users have individual tolerances for degradation in network conditions and
the resulting effects on application experience. These variations must be
factored into the framework's design.</t>
      <section anchor="design-goal">
        <name>Design Goal</name>
        <t>The overall goal of this document is to describe the requirements for an
objective network quality framework and metric that is useful for end-users,
application developers, and network operators/vendors alike.</t>
      </section>
      <section anchor="requirements">
        <name>Requirements</name>
        <t>This section outlines the three main requirements and their motivation.</t>
        <t>In general, all stakeholders ultimately care about the success of applications
running over the network. Application success depends not just on bandwidth but
also on the delay of network links and computational steps involved in making
the application function. These delays depend on how the application places load
on the network, how the network is affected by environmental conditions, and the
behavior of other users sharing the network resources.</t>
        <t>Different applications have different needs from the network, and they place
different patterns of load on it. To determine whether applications will work
well or fail, a network quality framework must compare measurements of network
performance to a wide variety of application requirements. Flexibility in
describing application requirements and the ability to capture the delay
characteristics of the network in sufficient detail are necessary to compute
application success with satisfactory accuracy and precision.</t>
        <t>How can operators take action when measurements show that applications fail too
often? The framework must support spatial composition <xref target="RFC6049"/>, <xref target="RFC6390"/>
to answer this question. Spatial composition allows results to be divided into
sub-results, each measuring the performance of a required sub-milestone that
must be reached in time for the application to succeed.</t>
        <t>To summarize, the QoO framework and "meaningful QoO metric" should have the
following properties:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Capture a set of network performance metrics which provably correlate to
  the application quality of a set of different applications as perceived by
  users.</strong> (Useful for end-users and application developers.)</t>
          </li>
          <li>
            <t><strong>Compare meaningfully to different application requirements.</strong></t>
          </li>
          <li>
            <t><strong>Compose.</strong> Allow operators to isolate and quantify the contributions of
different sub-outcomes and sub-paths of the network. (Useful for operators
and vendors.)</t>
          </li>
        </ol>
        <section anchor="requirements-for-end-users">
          <name>Requirements for end-users</name>
          <t>The quality framework should facilitate a metric that is based on objective QoS
measurements, correlated to application quality and relatively understandable
for an end-user. A middle ground between objective QoS metrics (Throughput,
packet loss, jitter, mean latency) and subjective but understandable QoE metrics
(MOS, 5-star ratings). The ideal framework should be objective, like QoS
metrics, and understandable, like QoE metrics.</t>
          <t>If these requirements are met, the end-user can understand if a network is a
likely source of impairment for what they care about: the outcomes of
applications. Examples are how quickly a web page loads, the smoothness of a
video conference, or whether or not a video game has any lag.</t>
          <t>Each end-user will have an individual tolerance of session quality, below which
their quality of experience becomes personally unacceptable. However it may not
be feasible to capture and represent these tolerances <em>per user</em> as the user
group scales. A compromise is for the quality of experience framework to place
the responsibility for sourcing and representing end-user requirements onto the
application developer. Application developers should perform user-acceptance
testing (UAT) of their application across a range of users, terminals and
network conditions to determine the terminal and network requirements that will
meet the end-user quality threshold for an acceptable subset of their end-users.
Some real world examples where 'acceptable levels' have been derived by
application developers include (note: developers of similar applications may
have arrived at different figures):</t>
          <ul spacing="normal">
            <li>
              <t>Remote music collaboration: &lt;20ms one-way latency <xref target="JamKazam"/></t>
            </li>
            <li>
              <t>Online gaming: 6Mb/s downlink throughput and 30ms RTT to join a multiplayer
game (based on requirements for popular online games)</t>
            </li>
            <li>
              <t>Virtual reality: &lt;20ms RTT from head motion to rendered update in VR (based on
human perception studies for VR applications)</t>
            </li>
          </ul>
          <t>Performing this UAT helps the developer understand what likelihood a new
end-user has of an acceptable Quality of Experience based on the application's
existing requirements towards the network. These requirements can evolve and
improve based on feedback from end-users, and in turn better inform the
application's requirements towards the network.</t>
        </section>
        <section anchor="requirements-from-application-and-platform-developers">
          <name>Requirements from Application and Platform Developers</name>
          <t>The framework needs to give developers the ability to describe the network
requirements of their applications. The format for specifying network
requirements must include all relevant dimensions of network quality so that
different applications which are sensitive to different network quality
dimensions can all evaluate the network accurately. Not all developers have
network expertise, so to make it easy for developers to use the framework,
developers must be able to specify network requirements approximately.
Therefore, it must be possible to describe both simple and complex network
requirements. The framework also needs to be flexible so that it can be used
with different kinds of traffic and that extreme network requirements which far
exceed the needs of today's applications can also be articulated.</t>
          <t>If these requirements are met, developers of applications or platforms can state
or test their network requirements and evaluate if the network is sufficient for
a great application outcome. Both the application developers with networking
expertise and those without can use the framework.</t>
        </section>
        <section anchor="requirements-for-network-operators-and-network-solution-vendors">
          <name>Requirements for Network Operators and Network Solution Vendors</name>
          <t>From an operator perspective, the key is to have a framework that lets operators
find the network quality bottlenecks and objectively compare different networks
and technologies. The framework must support mathematically sound
compositionality ('addition' and 'subtraction') to achieve this. Why? Network
operators rarely manage network traffic end-to-end. If a test is purely
end-to-end, the ability to find bottlenecks may be gone. If, however,
measurements can be taken both end-to-end (e.g., a-b-c-d-e) and not-end-to-end
(e.g., a-b-c), the results can be subtracted to isolate the areas outside the
influence of the network operator. In other words, the network quality of a-b-c
and d-e can be separated. Compositionality is essential for fault detection and
accountability.</t>
          <t>By having mathematically correct composition, a network operator can measure two
segments separately, perhaps even with different approaches, and add them
together to understand the end-to-end network quality.</t>
          <t>For another example where composition is useful, look at a typical web page load
sequence. If web page load times are too slow, DNS resolution time, TCP
round-trip time, and the time it takes to establish TLS connections can be
measured separately to get a better idea of where the problem is. A network
quality framework should support this kind of analysis to be maximally useful
for operators. The quality framework must be applicable in both lab testing and
monitoring of production networks. It must be useful on different time scales,
and it can't have a dependency on network technology or OSI layer.</t>
          <t>If these requirements are met, a network operator can monitor and test their
network and understand where the true bottlenecks are, regardless of network
technology.</t>
        </section>
      </section>
    </section>
    <section anchor="background">
      <name>Background</name>
      <t>The foundation of the framework is Quality Attenuation <xref target="TR-452.1"/>. This work
will not go into detail about how to measure Quality Attenuation, but some
relevant techniques are:</t>
      <ul spacing="normal">
        <li>
          <t>Active probing with TWAMP Light <xref target="RFC5357"/> / STAMP <xref target="RFC8762"/> / IRTT
<xref target="IRTT"/></t>
        </li>
        <li>
          <t>Latency Under Load Tests</t>
        </li>
        <li>
          <t>Speed Tests with latency measures</t>
        </li>
        <li>
          <t>Simulating real traffic</t>
        </li>
        <li>
          <t>End-to-end measurements of real traffic</t>
        </li>
        <li>
          <t>TCP SYN ACK / DNS Lookup RTT Capture</t>
        </li>
        <li>
          <t>On-Path Telemetry methods (IOAM, AltMark)</t>
        </li>
        <li>
          <t>Estimation</t>
        </li>
      </ul>
      <t>Quality Attenuation represents quality measurements as distributions. Using
Latency distributions to measure network quality is nothing new and has been
proposed by various researchers/practitioners <xref target="Kelly"/><xref target="RFC8239"/><xref target="RFC6049"/>.
Similar to the One-Way Loss Metric for IP Performance Metrics (IPPM)
<xref target="RFC7680"/>, which defines packet loss in terms of packets that fail to arrive
within a specified time threshold, the Quality Attenuation approach extends this
concept by viewing packet loss as infinite (or too late to be of use e.g. &gt; 5
seconds) latency <xref target="TR-452.1"/>. The novelty of TR-452.1 lies in its unified
treatment of latency and loss within a single distributional framework, enabling
mathematical composition of network segments.</t>
      <t>Latency Distributions can be gathered via both passive monitoring and active
testing. The active testing can use any type of traffic, such as TCP, UDP, or
QUIC. It can be applied across different layers of the protocol stack and is
network technology independent, meaning it can be gathered in an end-user
application, within some network equipment, or anywhere in between. Passive
methods rely on observing and time-stamping packets traversing the network.
Examples of this include TCP SYN and SYN/ACK packets and the QUIC spin bit.</t>
      <t>A key assumption behind the choice of latency distribution is that different
applications and application categories fail at different points of the latency
distribution. Some applications, such as downloads, have lenient latency
requirements when compared to real-time application. Video Conferences are
typically sensitive to high 90th percentile latency and to the difference
between the 90th and the 99th percentile. Online gaming typically has a low
tolerance for high 99th percentile latency. All applications require a minimum
level of throughput and a maximum packet loss rate. A network quality metric
that aims to generalize network quality must take the latency distribution,
throughput, and packet loss into consideration.</t>
      <t>Two distributions can be composed using convolution <xref target="TR-452.1"/>.</t>
      <section anchor="discussion-of-other-performance-metrics">
        <name>Discussion of other performance metrics</name>
        <t>Numerous network performance metrics and associated frameworks have been
proposed, adopted, and, at times, misapplied over the years. The following is a
brief overview of several key network quality metrics.</t>
        <t>Each metric is evaluated against the three criteria established in the
requirements section. Throughput is related to user-observable application
outcomes because there must be <em>enough</em> bandwidth available. Adding extra
bandwidth above a certain threshold will, at best, receive diminishing returns
(and any returns are often due to reduced latency). It is not possible to
compute the probability of application success or failure based on throughput
alone for most applications. Throughput can be compared to a variety of
application requirements, but since there is no direct correlation between
throughput and application performance, it is not possible to conclude that an
application will work well even if it is known that enough throughput is
available.</t>
        <t>Throughput cannot be composed.</t>
        <section anchor="mean-latency">
          <name>Mean Latency</name>
          <t>Mean latency relates to user-observable application outcomes in the sense that
the mean latency must be low enough to support a good experience. However, it is
not possible to conclude that a general application will work well based on the
fact that the mean latency is good enough <xref target="BITAG"/>.</t>
          <t>Mean latency can be composed. If the mean latency of links a-b and b-c is known,
then the mean latency of the composition a-b-c is the sum of a-b and b-c.</t>
        </section>
        <section anchor="th-percentile-of-latency">
          <name>99th Percentile of Latency</name>
          <t>The 99th percentile of latency relates to user-observable application outcomes
because it captures some information about how bad the tail latency is. If an
application can handle 1% of packets being too late, for instance by maintaining
a playback buffer, then the 99th percentile can be a good metric for measuring
application performance. It does not work as well for applications that are very
sensitive to overly delayed packets because the 99th percentile disregards all
information about the delays of the worst 1% of packets.</t>
          <t>It is not possible to compose 99th-percentile values.</t>
        </section>
        <section anchor="variance-of-latency">
          <name>Variance of latency</name>
          <t>The variance of latency can be calculated from any collection of samples, but
network latency is not necessarily normally distributed, and so it can be
difficult to extrapolate from a measure of the variance of latency to how well
specific applications will work.</t>
          <t>The variance of latency can be composed. If the variance of links a-b and b-c is
known, then the variance of the composition a-b-c is the sum of the variances
a-b and b-c.</t>
        </section>
        <section anchor="inter-packet-delay-variation-ipdv">
          <name>Inter-Packet Delay Variation (IPDV)</name>
          <t>The most common definition of IPDV <xref target="RFC5481"/> measures the difference in
one-way delay between subsequent packets. Some applications are very sensitive
to this because of time-outs that cause later-than-usual packets to be
discarded. For some applications, IPDV can be useful in assessing application
performance, especially when it is combined with other latency metrics. IPDV
does not contain enough information to compute the probability that a wide range
of applications will work well.</t>
          <t>IPDV cannot be composed.</t>
        </section>
        <section anchor="packet-delay-variation-pdv">
          <name>Packet Delay Variation (PDV)</name>
          <t>The most common definition of PDV <xref target="RFC5481"/> measures the difference in one-way
delay between the smallest recorded latency and each value in a sample.</t>
          <t>PDV cannot be composed.</t>
        </section>
        <section anchor="trimmed-mean-of-latency">
          <name>Trimmed Mean of Latency</name>
          <t>The trimmed mean of latency is the mean computed after the worst x percent of
samples have been removed. Trimmed means are typically used in cases where there
is a known rate of measurement errors that should be filtered out before
computing results.</t>
          <t>In the case where the trimmed mean simply removes measurement errors, the result
can be composed in the same way as the mean latency. In cases where the trimmed
mean removes real measurements, the trimming operation introduces errors that
may compound when composed.</t>
        </section>
        <section anchor="round-trips-per-minute">
          <name>Round-trips Per Minute</name>
          <t>Round-trips per minute <xref target="RPM"/> is a metric and test procedure specifically
designed to measure delays as experienced by application-layer protocol
procedures such as HTTP GET, establishing a TLS connection, and DNS lookups. It,
therefore, measures something very close to the user-perceived application
performance of HTTP-based applications. RPM loads the network before conducting
latency measurements and is, therefore, a measure of loaded latency (also known
as working latency) well-suited to detecting bufferbloat <xref target="Bufferbloat"/>.</t>
          <t>RPM is not composable.</t>
        </section>
        <section anchor="quality-attenuation">
          <name>Quality Attenuation</name>
          <t>Quality Attenuation is a network performance metric that combines latency and
packet loss into a single variable <xref target="TR-452.1"/>.</t>
          <t>Quality Attenuation relates to user-observable outcomes in the sense that
user-observable outcomes can be measured using the Quality Attenuation metric
directly, or the Quality Attenuation value describing the time-to-completion of
a user-observable outcome can be computed if the Quality Attenuation of each
sub-goal required to reach the desired outcome are known <xref target="Haeri22"/>.</t>
          <t>Quality Attenuation is composable because the convolution of Quality Attenuation
values allows us to compute the time it takes to reach specific outcomes given
the Quality Attenuation of each sub-goal and the causal dependency conditions
between them <xref target="Haeri22"/>.</t>
        </section>
        <section anchor="summary-of-performance-metrics">
          <name>Summary of performance metrics</name>
          <t>This table summarizes the properties of each of the metrics surveyed.</t>
          <t>The column "Capture probability of general applications working well" records
whether each metric can, in principle, capture the information necessary to
compute the probability that a general application will work well, assuming
measurements capture the properties of the end-to-end network path that the
application is using.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Metric</th>
                <th align="left">Capture probability of general applications working well</th>
                <th align="left">Easy to articulate Application requirements</th>
                <th align="left">Composable</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Mean latency</td>
                <td align="left">Yes for some applications</td>
                <td align="left">Yes</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">Variance of latency</td>
                <td align="left">No</td>
                <td align="left">No</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">IPDV</td>
                <td align="left">Yes for some applications</td>
                <td align="left">No</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">PDV</td>
                <td align="left">Yes for some applications</td>
                <td align="left">No</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Mean Peak Throughput</td>
                <td align="left">Yes for some applications</td>
                <td align="left">Yes</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">99th Percentile of Latency</td>
                <td align="left">No</td>
                <td align="left">No</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Trimmed mean of latency</td>
                <td align="left">Yes for some applications</td>
                <td align="left">Yes</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Round Trips Per Minute</td>
                <td align="left">Yes for some applications</td>
                <td align="left">Yes</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Quality Attenuation</td>
                <td align="left">Yes</td>
                <td align="left">No</td>
                <td align="left">Yes</td>
              </tr>
            </tbody>
          </table>
          <t>Explanations:</t>
          <ul spacing="normal">
            <li>
              <t>"Captures probability" refers to whether the metric captures enough
information to compute the likelihood of an application succeeding.</t>
            </li>
            <li>
              <t>"Articulate requirements" refers to the ease with which application-specific
requirements can be expressed using the metric.</t>
            </li>
            <li>
              <t>"Composable" means whether the metric supports mathematical composition to
allow for detailed network analysis.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="sampling-and-network-requirements">
      <name>Sampling and Network Requirements</name>
      <section anchor="sampling-requirements">
        <name>Sampling requirements</name>
        <t>To ensure broad applicability across diverse use cases, this framework
deliberately avoids prescribing specific conditions for sampling such as fixed
time intervals or defined network load levels. This flexibility enables
deployment in both controlled and real-world environments.</t>
        <t>At its core, the framework requires only a latency distribution. When
measurements are taken during periods of network load, the result naturally
includes latency under load. In scenarios such as passive monitoring of
production traffic, capturing artificially loaded conditions may not always be
feasible, whereas passively observing the actual network load may be possible.</t>
        <t>Modeling the full latency distribution may be too complex to allow for easy
adoption of the framework, and reporting latency at selected percentiles offers
a practical compromise between accuracy and deployment considerations. A
commonly accepted set of percentiles spanning from the 0th to the 100th in a
logarithmic-like progression has been suggested by others <xref target="BITAG"/> and is
recommended here: [0th, 10th, 25th, 50th, 75th, 90th, 95th, 99th, 99.9th,
100th].</t>
        <t>The framework is agnostic to traffic direction but mandates that measurements
specify whether latency is one-way or round-trip.</t>
        <t>Importantly, the framework does not enforce a minimum sample count. This means
that even a small number of samples (e.g., 10) could technically constitute a
distribution—though such cases are clearly insufficient for statistical
confidence. The intent is to balance rigor with practicality, recognizing that
constraints vary across devices, applications, and deployment environments.</t>
        <t>To support reproducibility and enable confidence analysis, each measurement must
be accompanied by the following metadata:</t>
        <ul spacing="normal">
          <li>
            <t>Description of the measurement path</t>
          </li>
          <li>
            <t>Timestamp of first sample</t>
          </li>
          <li>
            <t>Total duration of the sampling period</t>
          </li>
          <li>
            <t>Number of samples collected</t>
          </li>
          <li>
            <t>Sampling method, including:
            </t>
            <ul spacing="normal">
              <li>
                <t>Cyclic: One sample every N milliseconds (specify N)</t>
              </li>
              <li>
                <t>Burst: X samples every N milliseconds (specify X and N)</t>
              </li>
              <li>
                <t>Passive: Opportunistic sampling of live traffic (non-uniform intervals)</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>These metadata elements are essential for interpreting the precision and
reliability of the measurements. As demonstrated in <xref target="QoOSimStudy"/>, low
sampling frequencies and short measurement durations can lead to misleadingly
optimistic or imprecise Quality of Outcome (QoO) scores.</t>
      </section>
      <section anchor="describing-network-requirements">
        <name>Describing Network Requirements</name>
        <t>This work builds upon the work already proposed in the Broadband Forum standard
called Quality of Experience Delivered (QED/TR-452) <xref target="TR-452.1"/>, which defines
the Quality Attenuation metric. In essence, QoO describes network requirements
as a list of percentile and latency requirement tuples. In other words, a
network requirement may be expressed as: The network requirement for this app
quality level/app/app category/SLA is "at 4 Mbps, 90% of packets needs to arrive
within 100 ms, 100% of packets needs to arrive within 200ms". This list can be
as simple as "100% of packets need to arrive within 200ms" or as long as you
would like. For the sake of simplicity, the requirements percentiles must match
one or more of the percentiles defined in the measurements, i.e., one can set
requirements at the [0th, 10th, 25th, 50th, 75th, 90th, 95th, 99th, 99.9th,
100th] percentiles. Packet loss must be reported as a separate value.</t>
        <t>Applications do of course have throughput requirements, and thus a complete
framework for application-level network quality must also take capacity into
account. Insufficient bandwidth may give poor application outcomes without
necessarily inducing a lot of latency. Therefore, the network requirements
should include a minimum throughput requirement. A fully specified requirement
can be thought of as specifying the latency and loss requirements to be met
while the end-to-end network path is loaded in a way that is at least as
demanding of the network as the application itself. This may be achieved by
running the actual application and measuring delay and loss alongside it, or by
generating artificial traffic to a level at least equivalent to the application
traffic load.</t>
        <t>Whether the requirements are one-way or two-way must be specified. Where the
requirement is one-way, the direction (uplink or downlink) must be specified. If
two-way, a decomposition into uplink and downlink measurements may be specified.</t>
        <t>Until now, network requirements and measurements are what is already
standardized in the BBF TR-452 (aka QED) framework <xref target="TR-452.1"/>. The novel part
of this work is what comes next. A method for going from Network Requirements
and Network Measurements to probabilities of good application outcomes.</t>
        <t>To do that it is necessary to make articulating the network requirements a
little bit more complicated. A key design goal was to have a distance measure
between perfect and unusable, and have a way of quantifying what is 'better'.</t>
        <t>The requirements specification is extended to include the quality required for
perfection and a quality threshold beyond which the application is considered
unusable.</t>
        <t>This is named Network Requirements for Perfection (NRP). As an example: At 4
Mbps, 99% of packets need to arrive within 100ms, 99.9% within 200ms (implying
that 0.1% packet loss is acceptable) for the outcome to be perfect. Network
Requirements Point of Unusability (NRPoU): If 99% of the packets have not
arrived after 200ms, or 99.9% within 300ms, the outcome will be unusable.</t>
        <t>Where the NRPoU percentiles and NRP are a required pair then neither should
define a percentile not included in the other - i.e., if the 99.9th percentile
is part of the NRPoU then the NRP must also include the 99.9th percentile.</t>
        <t>The derivation of NRP and NRPoU values requires standardized testing conditions
to ensure consistency and accuracy. Application developers should publish their
testing methodologies, including the network conditions, hardware
configurations, and measurement procedures used to establish these thresholds.
Without such standardization, the overall accuracy and precision of QoO metrics
may be reduced due to variations in testing approaches across different
applications and developers.</t>
      </section>
      <section anchor="creating-network-requirement-specifications">
        <name>Creating network requirement specifications</name>
        <t>A detailed description of how to create a network requirement specification is
out of scope for this document, but this section will provide a rough outline
for how it can be achieved. Additional information about this topic can be found
in <xref target="QoOAppQualityReqs"/>.</t>
        <t>When searching for an appropriate network requirement description for an
application, the goal is to identify the points of perfection and uselessness
for the application. This can be thought of as a search process. Run the
application across a network connection with adjustable quality. Gradually
adjust the network performance while observing the application-level
performance. The application performance can be observed manually by the person
performing the testing, or using automated methods such as recording video stall
duration from within a video player.</t>
        <t>Establish a baseline under excellent network conditions. Then gradually add
delay, packet loss or decrease network capacity until the application no longer
performs perfectly. Continue adding network Quality Attenuation until the
application fails completely. The corresponding network quality levels are the
points of perfection and unusability.</t>
      </section>
    </section>
    <section anchor="calculating-quality-of-outcome-qoo">
      <name>Calculating Quality of Outcome (QoO)</name>
      <t>The QoO metric calculates the likelihood of application success based on network
performance, incorporating both latency and packet loss. There are three key
scenarios:</t>
      <ul spacing="normal">
        <li>
          <t>The network meets all the requirements for perfection. Probability of success:
100%.</t>
        </li>
        <li>
          <t>The network fails one or more criteria at the Point of Unusableness (NRPoU).
Probability of success: 0%.</t>
        </li>
        <li>
          <t>The network performance falls between perfection and unusable. In this case, a
QoO score is computed. The QoO score is calculated by taking the worst score
derived from latency and packet loss.</t>
        </li>
      </ul>
      <t>Latency Component The latency-based QoO score is computed as follows:</t>
      <t>QoO_latency = min_{i}(min(max((1 - ((ML_i - NRP_i) / (NRPoU_i - NRP_i))) * 100,
0), 100))</t>
      <t>Where:</t>
      <ul spacing="normal">
        <li>
          <t>ML_i is the Measured Latency at percentile i.</t>
        </li>
        <li>
          <t>NRP_i is the Network Requirement for Perfection at percentile i.</t>
        </li>
        <li>
          <t>NRPoU_i is the Network Requirement Point of Unusableness at percentile i.</t>
        </li>
      </ul>
      <t>Packet Loss Component Packet loss is considered as a separate, single
measurement that applies across the entire traffic sample, not at each
percentile. The packet loss score is calculated using a similar interpolation
formula, but based on the total measured packet loss (MLoss) and the packet loss
thresholds defined in the NRP and NRPoU:</t>
      <t>QoO_loss = min(max((1 - ((MLoss - NRP_Loss) / (NRPoU_Loss - NRP_Loss))) * 100,
0), 100)</t>
      <t>Where:</t>
      <ul spacing="normal">
        <li>
          <t>MLoss is the Measured Packet Loss.</t>
        </li>
        <li>
          <t>NRP_Loss is the acceptable packet loss for perfection.</t>
        </li>
        <li>
          <t>NRPoU_Loss is the packet loss threshold beyond which the application becomes
unusable.</t>
        </li>
      </ul>
      <t>Final QoO Calculation The overall QoO score is the minimum of the latency and
packet loss scores:</t>
      <t>QoO = min(QoO_latency, QoO_loss)</t>
      <t>Example Requirements and Measured Data:</t>
      <ul spacing="normal">
        <li>
          <t>NRP: 4 Mbps {99%, 250 ms, 0.1% loss}, {99.9%, 350 ms, 0.1% loss}</t>
        </li>
        <li>
          <t>NRPoU: {99%, 400 ms, 1% loss}, {99.9%, 401 ms, 1% loss}</t>
        </li>
        <li>
          <t>Measured Latency: 99% = 350 ms, 99.9% = 352 ms</t>
        </li>
        <li>
          <t>Measured Packet Loss: 0.5%</t>
        </li>
        <li>
          <t>Measured Minimum Bandwidth: 32 Mbps / 28 Mbps</t>
        </li>
      </ul>
      <t>The QoO calculation proceeds as follows:</t>
      <t><strong>Latency Component:</strong> QoO_latency = min( (min(max((1 - (350 ms - 250 ms) / (400
ms - 250 ms)) * 100, 0), 100), (min(max((1 - (352 ms - 350 ms) / (401 ms - 350
ms)) * 100, 0), 100)) ) = min(33.33, 96.08) = 33.33</t>
      <t><strong>Packet Loss Component:</strong> QoO_loss = min(max((1 - (0.5% - 0.1%) / (1% - 0.1%))
* 100, 0), 100) = 55.56</t>
      <t><strong>Final QoO Calculation:</strong> QoO = min(33.33, 55.56) = 33.33</t>
      <t>In this example, the application has a 33% chance of meeting the quality
expectations on this network, considering both latency and packet loss.</t>
      <t><strong>Implementation Note: Sensitivity to Sampling Accuracy</strong></t>
      <t>Based on the simulation results in <xref target="QoOSimStudy"/>, overly noisy or inaccurate
latency samples can artificially inflate worst-case percentiles, thereby driving
QoO scores lower than actual network conditions would warrant. Conversely,
coarse measurement intervals can miss short-lived spikes entirely, resulting in
an inflated QoO. Users of this framework should consider hardware/software
measurement jitter, clock offset, or other system-level noise sources when
collecting data, and configure sampling frequency and duration to suit their
specific needs.</t>
    </section>
    <section anchor="how-to-find-network-requirements">
      <name>How to find network requirements</name>
      <t>A key advantage of a measurement that spans the range from perfect to unusable,
rather than relying on binary (Good/Bad) or other low-resolution
(Terrible/Bad/OK/Great/Excellent) metrics, is the flexibility it provides. For
example, a chance of lag-free experience below 20% is intuitively undesirable,
while a chance above 90% is intuitively favorable—demonstrating that absolute
perfection is not required for the QoO metric to be meaningful.</t>
      <t>However, it remains necessary to define points representing unusableness and
perfection. There is no universally strict threshold at which network conditions
render an application unusable. For perfection, some applications may have clear
definitions, but for others, such as web browsing and gaming, lower latency is
always preferable. To assist in establishing requirements, it is recommended
that the Network Requirements for Perfection (NRP) be set at the point where
further reductions in latency do not result in a perceivable improvement in
end-user experience.</t>
      <t>Someone who wishes to make a network requirement for an application in the
simplest possible way, should do something along these lines:</t>
      <ul spacing="normal">
        <li>
          <t>Simulate increasing levels of latency</t>
        </li>
        <li>
          <t>Observe the application and note the threshold where the application stops
working perfectly</t>
        </li>
        <li>
          <t>Observe the application and note the threshold where the application stops
being useful at all</t>
        </li>
      </ul>
      <t>Someone who wishes to find sophisticated network requirements might proceed in
this way:</t>
      <ul spacing="normal">
        <li>
          <t>Set thresholds for acceptable fps, animation fluidity, i/o latency (voice,
video, actions), or other metrics capturing outcomes that directly affects the
user experience</t>
        </li>
        <li>
          <t>Create a tool for measuring these user-facing metrics</t>
        </li>
        <li>
          <t>Simulate varying latency distribution with increasing levels of latency while
measuring the user facing metrics</t>
        </li>
      </ul>
      <t>Note that when observing application performance, it's important to recognize
that different users may have different tolerance levels for application
degradation. The thresholds established should represent acceptable performance
for the target user base, which may require user studies or market research to
determine appropriate values.</t>
      <t>A QoO score at 94 can be communicated as "John's smartphone has a 94% chance of
lag-free Video Conferencing", however, this does not mean that at any point of
time there is a 6% chance of lag. It means there is a 6% chance of experiencing
lag during the entire session/time-period, and the network requirements should
be adjusted accordingly.</t>
      <t>The reason for making the QoO metric for a session is to make it understandable
for an end-user, an end-user should not have to relate to the time period the
metric is for.</t>
      <section anchor="an-example">
        <name>An example</name>
        <t>Example.com's video-conferencing service requirements can be translated into the
QoO Framework. For best performance for video meetings, they specify 4/4 Mbps,
100 ms latency, &lt;1% packet loss, and &lt;30 ms jitter. This can be translated to an
NRP:</t>
        <t>NRP example.com video conferencing service: At minimum 4/4 Mbps.
{0p=70ms,99p=100ms}</t>
        <t>For minimum requirements example.com does not specify anything, but at 500ms
latency or 1000ms 99p latency, a video conference is very unlikely to work in a
remotely satisfactory way.</t>
        <t>NRPoU {0p=500,99p=1000ms}</t>
        <t>Of course, it is possible to specify network requirements for Example.com with
multiple NRP/NRPoU, for different quality levels, one/two way video, and so on.
Then one can calculate the QoO at each level.</t>
      </section>
      <section anchor="adaptive-applications">
        <name>Adaptive Applications</name>
        <t>Many modern applications are adaptive, meaning they can adjust their behavior
based on network conditions. For example, video streaming applications may
reduce bit rate when bandwidth is limited, or increase buffer size when latency
is high.</t>
        <t>For adaptive applications, there are typically different levels of "perfection"
rather than a single absolute threshold. A video streaming application might
provide:</t>
        <ul spacing="normal">
          <li>
            <t>Excellent quality: 4K resolution, low latency</t>
          </li>
          <li>
            <t>Good quality: 1080p resolution, moderate latency</t>
          </li>
          <li>
            <t>Acceptable quality: 720p resolution, higher latency</t>
          </li>
          <li>
            <t>Minimum quality: 480p resolution, high latency</t>
          </li>
        </ul>
        <t>The QoO framework can accommodate this by defining multiple NRP (Network
Requirements for Perfection) thresholds corresponding to different quality
levels. The framework can then compute the probability that the application will
achieve each quality level, providing a more nuanced view of application
performance than a simple binary success/failure metric. Another, less complex
approach at the cost of reduced fidelity in the QoO score, is to set the
threshold for perfection at where Excellent quality can be delivered, and the
threshold for unusability where not even minimum quality can be delivered. This
approach assumes that the app can perform adaptations without frustrating the
users, for instance that quality level can be lowered without significant video
or audio interruptions.</t>
        <t>Application developers implementing adaptive applications should consider
publishing quality profiles that define network requirements for different
adaptation levels, enabling more accurate QoO assessment.</t>
      </section>
    </section>
    <section anchor="insights">
      <name>Insights</name>
      <section anchor="simulation-insights">
        <name>Insights from Simulation Results</name>
        <t>While the QoO framework itself places no strict requirement on sampling patterns
or measurement technology, a recent simulation study <xref target="QoOSimStudy"/> examined
the metric's real-world applicability under varying conditions of:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Sampling Frequency</strong>: Slow sampling rates (e.g., &lt;1 Hz) risk missing rare,
short-lived latency spikes, resulting in overly optimistic QoO scores.</t>
          </li>
          <li>
            <t><strong>Measurement Noise</strong>: Measurement errors on the same scale as the thresholds
(NRP, NRPoU) can distort high-percentile latencies and cause artificially
lower QoO.</t>
          </li>
          <li>
            <t><strong>Requirement Specification</strong>: Slightly adjusting the latency thresholds or
target percentiles can cause significant changes in QoO, especially when the
measurement distribution is near a threshold.</t>
          </li>
          <li>
            <t><strong>Measurement Duration</strong>: Shorter tests with sparse sampling tend to
underestimate worst-case behavior for heavy-tailed latency distributions,
biasing QoO in a positive direction.</t>
          </li>
        </ol>
        <t>From these findings, we deduce the following guidelines for practical
application:</t>
        <ul spacing="normal">
          <li>
            <t>Calibrate the combination of sampling rate and total measurement period to
capture fat-tailed distributions of latency with sufficient accuracy.</t>
          </li>
          <li>
            <t>Avoid significant measurement noise where possible (e.g., by calibrating time
sources, accounting for clock drift).</t>
          </li>
          <li>
            <t>Thoroughly test application requirement thresholds so that the resulting QoO
scores accurately reflect application performance.</t>
          </li>
        </ul>
        <t>These guidelines are <em>non-normative</em> but reflect empirical evidence on how QoO
performs.</t>
      </section>
      <section anchor="user-testing">
        <name>Insights from user testing</name>
        <t>A study involving 25 participants tested the Quality of Outcome (QoO) framework
in real-world settings <xref target="QoOUserStudy"/>. Participants used specially equipped
routers in their homes for 10 days, providing both network performance data and
feedback through pre- and post-trial surveys.</t>
        <t>Participants found QoO metrics more intuitive and actionable than traditional
metrics (e.g., speed tests). QoO directly aligned with their self-reported
experiences, increasing trust and engagement.</t>
        <t>These results provide supporting evidence for QoO's value as a user-focused
tool, bridging technical metrics with real-world application performance to
enhance end-user satisfaction.</t>
      </section>
    </section>
    <section anchor="known-weaknesses-and-open-questions">
      <name>Known Weaknesses and open questions</name>
      <t>A method has been described for simplifying the comparison between application
network requirements and Quality Attenuation measurements. This simplification
introduces several artifacts, the significance of which may vary depending on
context. The following section discusses some known limitations.</t>
      <t>Volatile networks - in particular, mobile cellular networks - pose a challenge
for network quality prediction, with the level of assurance of the prediction
likely to decrease as session duration increases. Historic network conditions
for a given cell may help indicate times of network load or reduced transmission
power, and their effect on throughput/latency/loss. However: as terminals are
mobile, the signal bandwidth available to a given terminal can change by an
order of magnitude within seconds due to physical radio factors. These include
whether the terminal is at the edge of cell, or undergoing cell handover, the
interference and fading from the local environment, and any switch between radio
bearers with differing signal bandwidth and transmission-time intervals (e.g. 4G
and 5G). This suggests a requirement for measuring Quality Attenuation to and
from an individual terminal, as that can account for the factors described
above. How that facility is provisioned onto individual terminals, and how
terminal-hosted applications can trigger a Quality Attenuation query, is an open
question.</t>
      <section anchor="missing-temporal-information-in-distributions">
        <name>Missing Temporal Information in Distributions.</name>
        <t>The two latency series (1,200,1,200,1,200,1,200,1,200) and
(1,1,1,1,1,200,200,200,200,200) have identical distributions, but may have
different application performance. Ignoring this information is a tradeoff
between simplicity and precision. To capture all information necessary to
perfectly capture outcomes quickly gets into extreme levels of overhead and high
computational complexity. An application's performance depends on reactions to
varying network performance, meaning nearly all different series of latencies
may have different application outcomes.</t>
      </section>
      <section anchor="subsampling-the-real-distribution">
        <name>Subsampling the real distribution</name>
        <t>Additionally, it is not feasible to capture latency for every packet
transmitted. Probing and sampling can be performed, but some aspects will always
remain unknown. This introduces an element of probability. Absolute perfection
cannot be achieved; rather than disregarding this reality, it is more practical
to acknowledge it. Therefore, discussing the probability of outcomes provides a
more accurate and meaningful approach.</t>
      </section>
      <section anchor="assuming-linear-relationship-between-perfect-and-unusable-and-that-it-is-not-really-a-probability">
        <name>Assuming Linear Relationship between Perfect and Unusable (and that it is not really a probability)</name>
        <t>One can conjure up scenarios where 50ms latency is actually worse than 51ms
latency as developers may have chosen 50ms as the threshold for changing
quality, and the threshold may be imperfect. Taking these scenarios into account
would add another magnitude of complexity to determining network requirements
and finding a distance measure (between requirement and actual measured
capability).</t>
      </section>
      <section anchor="binary-bandwidth-threshold">
        <name>Binary Bandwidth threshold</name>
        <t>Choosing this is to reduce complexity, but it must be acknowledged that the
applications are not that simple. Network requirements can be set up per quality
level (resolution, fps etc.) for the application if necessary.</t>
      </section>
      <section anchor="arbitrary-selection-of-percentiles">
        <name>Arbitrary selection of percentiles</name>
        <t>A selection of percentiles is necessary for simplicity, because more complex
methods may slow adoption of the framework. The 0th (minimum) and 50th (median)
percentiles are commonly used for their inherent significance. According to
<xref target="BITAG"/>, the 90th, 98th, and 99th percentiles are particularly important for
certain applications. Generally, higher percentiles provide more insight for
interactive applications, but only up to a certain threshold—beyond which
applications may treat excessive delays as packet loss and adapt accordingly.
The choice between percentiles such as the 95th, 96th, 96.5th, or 97th is not
universally prescribed and may vary between application types. Therefore,
percentiles must be selected arbitrarily, based on the best available knowledge
and the intended use case.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation status</name>
      <t>Note to RFC Editor: This section must be removed before publication of the
document.</t>
      <t>This section records the status of known implementations of the protocol defined
by this specification at the time of posting of this Internet-Draft, and is
based on a proposal described in <xref target="RFC7942"/>. The description of implementations
in this section is intended to assist the IETF in its decision processes in
progressing drafts to RFCs. Please note that the listing of any individual
implementation here does not imply endorsement by the IETF. Furthermore, no
effort has been spent to verify the information presented here that was supplied
by IETF contributors. This is not intended as, and must not be construed to be,
a catalog of available implementations or their features. Readers are advised to
note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to assign
due consideration to documents that have the benefit of running code, which may
serve as evidence of valuable experimentation and feedback that have made the
implemented protocols more mature. It is up to the individual working groups to
use this information as they see fit".</t>
      <section anchor="qoo-c">
        <name>qoo-c</name>
        <ul spacing="normal">
          <li>
            <t>Link to the open-source repository:  </t>
            <t>
https://github.com/getCUJO/qoo-c</t>
          </li>
          <li>
            <t>The organization responsible for the implementation:  </t>
            <t>
CUJO AI</t>
          </li>
          <li>
            <t>A brief general description:  </t>
            <t>
A C library for calculating Quality of Outcome</t>
          </li>
          <li>
            <t>The implementation's level of maturity:  </t>
            <t>
A complete implementation of the specification described in this document</t>
          </li>
          <li>
            <t>Coverage:  </t>
            <t>
The library is tested with unit tests</t>
          </li>
          <li>
            <t>Licensing:  </t>
            <t>
MIT</t>
          </li>
          <li>
            <t>Implementation experience:  </t>
            <t>
Tested by the author. Needs additional testing by third parties.</t>
          </li>
          <li>
            <t>Contact information:  </t>
            <t>
Bjørn Ivar Teigen Monclair: bjorn.monclair@cujo.com</t>
          </li>
          <li>
            <t>The date when information about this particular implementation was last
updated:  </t>
            <t>
27th of May 2025</t>
          </li>
        </ul>
      </section>
      <section anchor="goresponsiveness">
        <name>goresponsiveness</name>
        <ul spacing="normal">
          <li>
            <t>Link to the open-source repository:  </t>
            <t>
https://github.com/network-quality/goresponsiveness  </t>
            <t>
The specific pull-request:
https://github.com/network-quality/goresponsiveness/pull/56</t>
          </li>
          <li>
            <t>The organization responsible for the implementation:  </t>
            <t>
University of Cincinatti for goresponsiveness as a whole, Domos for the QoO
part.</t>
          </li>
          <li>
            <t>A brief general description:  </t>
            <t>
A network quality test written in Go. Capable of measuring RPM and QoO.</t>
          </li>
          <li>
            <t>The implementation's level of maturity:  </t>
            <t>
Under active development; partial QoO support integrated.</t>
          </li>
          <li>
            <t>Coverage:  </t>
            <t>
The QoO part is tested with unit tests</t>
          </li>
          <li>
            <t>Licensing:  </t>
            <t>
GPL 2.0</t>
          </li>
          <li>
            <t>Implementation experience:  </t>
            <t>
Needs testing by third parties</t>
          </li>
          <li>
            <t>Contact information:  </t>
            <t>
Bjørn Ivar Teigen Monclair: bjorn.monclair@cujo.com  </t>
            <t>
William Hawkins III: hawkinwh@ucmail.uc.edu</t>
          </li>
          <li>
            <t>The date when information about this particular implementation was last
updated:  </t>
            <t>
10th of January 2024</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Quality of Outcome (QoO) framework introduces a method for assessing network
quality based on probabilistic outcomes derived from latency, packet loss, and
throughput measurements. While the framework itself is primarily analytical and
does not define a new protocol, some security considerations arise from its
deployment and use.</t>
      <t><strong>Measurement Integrity and Authenticity</strong></t>
      <t>QoO relies on accurate and trustworthy measurements of network performance. If
an attacker can manipulate these measurements—either by injecting falsified data
or tampering with the measurement process—they could distort the resulting QoO
scores. This could mislead users, operators, or regulators into making incorrect
assessments of network quality.</t>
      <t>To mitigate this risk:</t>
      <ul spacing="normal">
        <li>
          <t>Measurement agents can authenticate with the systems collecting or analyzing
QoO data.</t>
        </li>
        <li>
          <t>Measurement data can be transmitted over secure channels (e.g., TLS) to ensure
confidentiality and integrity.</t>
        </li>
        <li>
          <t>Digital signatures may be used to verify the authenticity of measurement
reports.</t>
        </li>
      </ul>
      <t><strong>Risk of Misuse and Gaming</strong></t>
      <t>As QoO scores may influence regulatory decisions, service-level agreements
(SLAs), or user trust, there is a risk that network operators or application
developers might attempt to "game" the system. For example, they might optimize
performance only for known test conditions or falsify requirement thresholds to
inflate QoO scores.</t>
      <t>Mitigations include:</t>
      <ul spacing="normal">
        <li>
          <t>Independent verification of application requirements and measurement
methodologies.</t>
        </li>
        <li>
          <t>Use of randomized or blind testing procedures.</t>
        </li>
        <li>
          <t>Transparency in how QoO scores are derived and what assumptions are made.</t>
        </li>
      </ul>
      <t><strong>Privacy Considerations</strong></t>
      <t>QoO measurements may involve collecting detailed performance data from end-user
devices or applications. Depending on the deployment model, this could include
metadata such as IP addresses, timestamps, or application usage patterns.</t>
      <t>To protect user privacy:</t>
      <ul spacing="normal">
        <li>
          <t>Data collection should follow the principle of data minimization, only
collecting what is strictly necessary.</t>
        </li>
        <li>
          <t>Personally identifiable information (PII) should be anonymized or
pseudonymized where possible.</t>
        </li>
        <li>
          <t>Users should be informed about what data is collected and how it is used, in
accordance with applicable privacy regulations (e.g., GDPR).</t>
        </li>
      </ul>
      <t><strong>Denial of Service (DoS) Risks</strong></t>
      <t>Active measurement techniques used to gather QoO data (e.g., TWAMP, STAMP,
synthetic traffic generation) can place additional load on the network. If not
properly rate-limited, this could inadvertently degrade service or be exploited
by malicious actors to launch DoS attacks.</t>
      <t>Recommendations:</t>
      <ul spacing="normal">
        <li>
          <t>Implement rate limiting and access control for active measurement tools.</t>
        </li>
        <li>
          <t>Ensure that measurement traffic does not interfere with critical services.</t>
        </li>
        <li>
          <t>Monitor for abnormal measurement patterns that may indicate abuse.</t>
        </li>
      </ul>
      <t><strong>Trust in Application Requirements</strong></t>
      <t>QoO depends on application developers to define Network Requirements for
Perfection (NRP) and Network Requirements Point of Unusableness (NRPoU). If
these are defined inaccurately—either unintentionally or maliciously—the
resulting QoO scores may be misleading.</t>
      <t>To address this:</t>
      <ul spacing="normal">
        <li>
          <t>Encourage peer review and publication of application requirement profiles.</t>
        </li>
        <li>
          <t>Where QoO is used for regulatory or SLA enforcement, require independent
validation of requirement definitions.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="RFC8290">
        <front>
          <title>The Flow Queue CoDel Packet Scheduler and Active Queue Management Algorithm</title>
          <author fullname="T. Hoeiland-Joergensen" initials="T." surname="Hoeiland-Joergensen"/>
          <author fullname="P. McKenney" initials="P." surname="McKenney"/>
          <author fullname="D. Taht" initials="D." surname="Taht"/>
          <author fullname="J. Gettys" initials="J." surname="Gettys"/>
          <author fullname="E. Dumazet" initials="E." surname="Dumazet"/>
          <date month="January" year="2018"/>
          <abstract>
            <t>This memo presents the FQ-CoDel hybrid packet scheduler and Active Queue Management (AQM) algorithm, a powerful tool for fighting bufferbloat and reducing latency.</t>
            <t>FQ-CoDel mixes packets from multiple flows and reduces the impact of head-of-line blocking from bursty traffic. It provides isolation for low-rate traffic such as DNS, web, and videoconferencing traffic. It improves utilisation across the networking fabric, especially for bidirectional traffic, by keeping queue lengths short, and it can be implemented in a memory- and CPU-efficient fashion across a wide range of hardware.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8290"/>
        <seriesInfo name="DOI" value="10.17487/RFC8290"/>
      </reference>
      <reference anchor="RFC8033">
        <front>
          <title>Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem</title>
          <author fullname="R. Pan" initials="R." surname="Pan"/>
          <author fullname="P. Natarajan" initials="P." surname="Natarajan"/>
          <author fullname="F. Baker" initials="F." surname="Baker"/>
          <author fullname="G. White" initials="G." surname="White"/>
          <date month="February" year="2017"/>
          <abstract>
            <t>Bufferbloat is a phenomenon in which excess buffers in the network cause high latency and latency variation. As more and more interactive applications (e.g., voice over IP, real-time video streaming, and financial transactions) run in the Internet, high latency and latency variation degrade application performance. There is a pressing need to design intelligent queue management schemes that can control latency and latency variation, and hence provide desirable quality of service to users.</t>
            <t>This document presents a lightweight active queue management design called "PIE" (Proportional Integral controller Enhanced) that can effectively control the average queuing latency to a target value. Simulation results, theoretical analysis, and Linux testbed results have shown that PIE can ensure low latency and achieve high link utilization under various congestion situations. The design does not require per-packet timestamps, so it incurs very little overhead and is simple enough to implement in both hardware and software.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8033"/>
        <seriesInfo name="DOI" value="10.17487/RFC8033"/>
      </reference>
      <reference anchor="RFC7680">
        <front>
          <title>A One-Way Loss Metric for IP Performance Metrics (IPPM)</title>
          <author fullname="G. Almes" initials="G." surname="Almes"/>
          <author fullname="S. Kalidindi" initials="S." surname="Kalidindi"/>
          <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
          <author fullname="A. Morton" initials="A." role="editor" surname="Morton"/>
          <date month="January" year="2016"/>
          <abstract>
            <t>This memo defines a metric for one-way loss of packets across Internet paths. It builds on notions introduced and discussed in the IP Performance Metrics (IPPM) Framework document, RFC 2330; the reader is assumed to be familiar with that document. This memo makes RFC 2680 obsolete.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="82"/>
        <seriesInfo name="RFC" value="7680"/>
        <seriesInfo name="DOI" value="10.17487/RFC7680"/>
      </reference>
      <reference anchor="RFC7942">
        <front>
          <title>Improving Awareness of Running Code: The Implementation Status Section</title>
          <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
          <author fullname="A. Farrel" initials="A." surname="Farrel"/>
          <date month="July" year="2016"/>
          <abstract>
            <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
            <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="205"/>
        <seriesInfo name="RFC" value="7942"/>
        <seriesInfo name="DOI" value="10.17487/RFC7942"/>
      </reference>
      <reference anchor="TR-452.1" target="https://www.broadband-forum.org/download/TR-452.1.pdf">
        <front>
          <title>TR-452.1: Quality Attenuation Measurement Architecture and Requirements</title>
          <author>
            <organization>Broadband Forum</organization>
          </author>
          <date year="2020" month="September"/>
        </front>
      </reference>
      <reference anchor="BITAG" target="https://www.bitag.org/documents/BITAG_latency_explained.pdf">
        <front>
          <title>Latency Explained</title>
          <author>
            <organization>BITAG</organization>
          </author>
          <date year="2022" month="October"/>
        </front>
      </reference>
      <reference anchor="RFC5481">
        <front>
          <title>Packet Delay Variation Applicability Statement</title>
          <author fullname="A. Morton" initials="A." surname="Morton"/>
          <author fullname="B. Claise" initials="B." surname="Claise"/>
          <date month="March" year="2009"/>
          <abstract>
            <t>Packet delay variation metrics appear in many different standards documents. The metric definition in RFC 3393 has considerable flexibility, and it allows multiple formulations of delay variation through the specification of different packet selection functions.</t>
            <t>Although flexibility provides wide coverage and room for new ideas, it can make comparisons of independent implementations more difficult. Two different formulations of delay variation have come into wide use in the context of active measurements. This memo examines a range of circumstances for active measurements of delay variation and their uses, and recommends which of the two forms is best matched to particular conditions and tasks. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5481"/>
        <seriesInfo name="DOI" value="10.17487/RFC5481"/>
      </reference>
      <reference anchor="RFC6049">
        <front>
          <title>Spatial Composition of Metrics</title>
          <author fullname="A. Morton" initials="A." surname="Morton"/>
          <author fullname="E. Stephan" initials="E." surname="Stephan"/>
          <date month="January" year="2011"/>
          <abstract>
            <t>This memo utilizes IP performance metrics that are applicable to both complete paths and sub-paths, and it defines relationships to compose a complete path metric from the sub-path metrics with some accuracy with regard to the actual metrics. This is called "spatial composition" in RFC 2330. The memo refers to the framework for metric composition, and provides background and motivation for combining metrics to derive others. The descriptions of several composed metrics and statistics follow. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6049"/>
        <seriesInfo name="DOI" value="10.17487/RFC6049"/>
      </reference>
      <reference anchor="RFC6390">
        <front>
          <title>Guidelines for Considering New Performance Metric Development</title>
          <author fullname="A. Clark" initials="A." surname="Clark"/>
          <author fullname="B. Claise" initials="B." surname="Claise"/>
          <date month="October" year="2011"/>
          <abstract>
            <t>This document describes a framework and a process for developing Performance Metrics of protocols and applications transported over IETF-specified protocols. These metrics can be used to characterize traffic on live networks and services. This memo documents an Internet Best Current Practice.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="170"/>
        <seriesInfo name="RFC" value="6390"/>
        <seriesInfo name="DOI" value="10.17487/RFC6390"/>
      </reference>
      <reference anchor="RFC9318">
        <front>
          <title>IAB Workshop Report: Measuring Network Quality for End-Users</title>
          <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
          <author fullname="O. Shapira" initials="O." surname="Shapira"/>
          <date month="October" year="2022"/>
          <abstract>
            <t>The Measuring Network Quality for End-Users workshop was held virtually by the Internet Architecture Board (IAB) on September 14-16, 2021. This report summarizes the workshop, the topics discussed, and some preliminary conclusions drawn at the end of the workshop.</t>
            <t>Note that this document is a report on the proceedings of the workshop. The views and positions documented in this report are those of the workshop participants and do not necessarily reflect IAB views and positions.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9318"/>
        <seriesInfo name="DOI" value="10.17487/RFC9318"/>
      </reference>
      <reference anchor="RPM" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-responsiveness">
        <front>
          <title>Responsiveness under Working Conditions</title>
          <author>
            <organization/>
          </author>
          <date year="2022" month="July"/>
        </front>
      </reference>
      <reference anchor="RRUL" target="https://www.bufferbloat.net/projects/bloat/wiki/RRUL_Spec/">
        <front>
          <title>Real-time response under load test specification</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Bufferbloat" target="https://queue.acm.org/detail.cfm?id=2071893">
        <front>
          <title>Bufferbloat: Dark buffers in the Internet</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Haeri22" target="https://www.mdpi.com/2073-431X/11/3/45">
        <front>
          <title>Mind Your Outcomes: The ΔQSD Paradigm for Quality-Centric Systems Development and Its Application to a Blockchain Case Study</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="RFC5357">
        <front>
          <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
          <author fullname="K. Hedayat" initials="K." surname="Hedayat"/>
          <author fullname="R. Krzanowski" initials="R." surname="Krzanowski"/>
          <author fullname="A. Morton" initials="A." surname="Morton"/>
          <author fullname="K. Yum" initials="K." surname="Yum"/>
          <author fullname="J. Babiarz" initials="J." surname="Babiarz"/>
          <date month="October" year="2008"/>
          <abstract>
            <t>The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices. OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements. However, it does not accommodate round-trip or two-way measurements. This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities. The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5357"/>
        <seriesInfo name="DOI" value="10.17487/RFC5357"/>
      </reference>
      <reference anchor="RFC8762">
        <front>
          <title>Simple Two-Way Active Measurement Protocol</title>
          <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
          <author fullname="G. Jun" initials="G." surname="Jun"/>
          <author fullname="H. Nydell" initials="H." surname="Nydell"/>
          <author fullname="R. Foote" initials="R." surname="Foote"/>
          <date month="March" year="2020"/>
          <abstract>
            <t>This document describes the Simple Two-way Active Measurement Protocol (STAMP), which enables the measurement of both one-way and round-trip performance metrics, like delay, delay variation, and packet loss.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8762"/>
        <seriesInfo name="DOI" value="10.17487/RFC8762"/>
      </reference>
      <reference anchor="IRTT" target="https://github.com/heistp/irtt">
        <front>
          <title>Isochronous Round-Trip Tester</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Kelly" target="https://www.cambridge.org/core/journals/advances-in-applied-probability/article/abs/networks-of-queues/38A1EA868A62B09C77A073BECA1A1B56">
        <front>
          <title>Networks of Queues</title>
          <author initials="F. P." surname="Kelly" fullname="Frank P. Kelly">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="RFC8239">
        <front>
          <title>Data Center Benchmarking Methodology</title>
          <author fullname="L. Avramov" initials="L." surname="Avramov"/>
          <author fullname="J. Rapp" initials="J." surname="Rapp"/>
          <date month="August" year="2017"/>
          <abstract>
            <t>The purpose of this informational document is to establish test and evaluation methodology and measurement techniques for physical network equipment in the data center. RFC 8238 is a prerequisite for this document, as it contains terminology that is considered normative. Many of these terms and methods may be applicable beyond the scope of this document as the technologies originally applied in the data center are deployed elsewhere.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8239"/>
        <seriesInfo name="DOI" value="10.17487/RFC8239"/>
      </reference>
      <reference anchor="QoOSimStudy" target="https://github.com/getCUJO/qoosim">
        <front>
          <title>Quality of Outcome Simulation Study</title>
          <author initials="B. I. T." surname="Monclair" fullname="Bjørn Ivar Teigen Monclair">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="QoOUserStudy" target="https://assets.ycodeapp.com/assets/app24919/Documents/LaiW4tJQ2kj4OOTiZbnf48MbS22rQHcZQmCriih9-published.pdf">
        <front>
          <title>Application Outcome Aware Root Cause Analysis</title>
          <author initials="B. I. T." surname="Monclair" fullname="Bjørn Ivar Teigen Monclair">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="QoOAppQualityReqs" target="https://assets.ycodeapp.com/assets/app24919/Documents/U6TlxIlbcl1dQfcNhnCleziJWF23P5w0xWzOARh8-published.pdf">
        <front>
          <title>Performance Measurement of Web Applications</title>
          <author initials="T." surname="Østensen" fullname="Torjus Østensen">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="JamKazam" target="https://jamkazam.freshdesk.com/support/solutions/articles/66000122532-what-is-latency-why-does-it-matter-?">
        <front>
          <title>What is Latency and Why does it matter?</title>
          <author initials="D." surname="Wilson" fullname="David Wilson">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
    </references>
    <?line 1248?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Will Hawkins, Stuart Cheshire, Jason Livingood,
Olav Nedrelid, Greg Mirsky, Tommy Pauly, Marcus Ihlar, Tal Mizrahi, Ruediger
Geib, Mehmet Şükrü Kuran, Michael Welzl, Kevin Smith, Luis Miguel Contreras
Murillo, Ike Kunze, Guiseppe Fioccola and Neil Davies for their feedback and
input to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V923IbZ5LmfT3FH3R0mFQAIEVKtsXp3h7qaNqiRYtUa47h
KAAFoMxCFbqqQBp2K2IeYi72au/3DeZi7jr2dh9inmTzy8z/VChQcndvTE+M
RQB1+A/55/HLzOFwmLR5W2SnZu/7dVrk7cZUM/Nm3U6qZbaXpONxnd3ix+rN
XjJJ22xe1ZtTk5ezKkmm1aRMl3TvtE5n7TDP2tkwX62Wwz9W1fDoUdKsx8u8
afKqbDcruuz8xfVLYz4zadFU9My8nGarjP5TtnsDs3d+9pT+qWr66+31y72k
XC/HWX2aTOmtp8mkKpusbNbNqWnrdZbQoE6StM5SetB1nZbNqqrbveSuqm/m
dbVe0dfnl+Yyq2dVvUzLSWYusrRZ19kSr0tusg1dOj1NzNDYiZ+1bVau05bG
i6/PVqsin/BHuyBNeLlfJ3wbvmlZlXlb1Xk5xy/fZS1GZf4o9yW39BKakDGf
Mk5jZOn23tMj6IHmFW7C98s0L7CItN5/j5UfVfUc36f1ZEHfL9p21ZweHuIy
fJXfZiN72SG+OBzX1V2THeIBh7hxnreL9ZhunWfts3ffvDmkPT9/jl8K2oGm
DR4ql45o7oedi5N03S6qGutKNxozWxeF0MjTH//8H3Vpzm/T2lxn+TwrzUVV
Too0r/lKGlda5j/zep8aPNOcnfMvmUx1/GNVl6Ol3vP3k/WPFUbAlzRtnWU0
wlfpumnTaVoUf/7f9ILjh/zrpJrSAI5OHj3Rj+uyBRV/9+bt+7N/3B7qRTov
1415UxBpftrYlnzHqMIdf8ORJSWIoqW9O00SnDn3yZi3L599dfzk6JTO08vv
f3hWPc8K/fbo5ATfXp6/kC++/OIrvuxNmQ3fpxvzumoaorK2zieGHmnOLy8v
9Monj45x5flyVTABCvVPs5Zm2Zgmm8jhMNdvh48eH48envKwLQdx3/YdqZCu
zRkosqXH0RcmLafmbfbHdS4/Nnv8UEdIRneASKiu0ukYl7+s6rWsL3MHc5Wt
2gzswhwfHR/JdvJi2fsvn788NZZ87+7uRmP7rOEMz+JjMa3uyoK+PrQTGa2m
M3rA0/Prs1fRVF/TW8vJxrz4aUXEWGbTnUPGrZ80nrxN5zqKyZrX4ZBv/qGQ
d/2Q2XfpqOzc30zaSmd+TF9/Rvt4cvKESQCcJZ3cZK0h6qCd/0Na57IZ++eX
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
chtj70nxAAA=

-->

</rfc>
