Skip to main content

Precision Availability Metrics (PAMs) for Services Governed by Service Level Objectives (SLOs)
RFC 9544

Document Type RFC - Informational (March 2024)
Authors Greg Mirsky , Joel M. Halpern , Xiao Min , Alexander Clemm , John Strassner , Jérôme François
Last updated 2024-03-20
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
IESG Responsible AD Martin Duke
Send notices to (None)
RFC 9544


Internet Engineering Task Force (IETF)                         G. Mirsky
Request for Comments: 9544                                    J. Halpern
Category: Informational                                         Ericsson
ISSN: 2070-1721                                                   X. Min
                                                               ZTE Corp.
                                                                A. Clemm
                                                                        
                                                            J. Strassner
                                                               Futurewei
                                                             J. Francois
                                      Inria and University of Luxembourg
                                                              March 2024

 Precision Availability Metrics (PAMs) for Services Governed by Service
                        Level Objectives (SLOs)

Abstract

   This document defines a set of metrics for networking services with
   performance requirements expressed as Service Level Objectives
   (SLOs).  These metrics, referred to as "Precision Availability
   Metrics (PAMs)", are useful for defining and monitoring SLOs.  For
   example, PAMs can be used by providers and/or customers of an RFC
   9543 Network Slice Service to assess whether the service is provided
   in compliance with its defined SLOs.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are candidates for any level of Internet
   Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc9544.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction
   2.  Conventions
     2.1.  Terminology
     2.2.  Acronyms
   3.  Precision Availability Metrics
     3.1.  Introducing Violated Intervals
     3.2.  Derived Precision Availability Metrics
     3.3.  PAM Configuration Settings and Service Availability
   4.  Statistical SLO
   5.  Other Expected PAM Benefits
   6.  Extensions and Future Work
   7.  IANA Considerations
   8.  Security Considerations
   9.  Informative References
   Acknowledgments
   Contributors
   Authors' Addresses

1.  Introduction

   Service providers and users often need to assess the quality with
   which network services are being delivered.  In particular, in cases
   where service-level guarantees are documented (including their
   companion metrology) as part of a contract established between the
   customer and the service provider, and Service Level Objectives
   (SLOs) are defined, it is essential to provide means to verify that
   what has been delivered complies with what has been possibly
   negotiated and (contractually) defined between the customer and the
   service provider.  Examples of SLOs would be target values for the
   maximum packet delay (one-way and/or round-trip) or maximum packet
   loss ratio that would be deemed acceptable.

   More generally, SLOs can be used to characterize the ability of a
   particular set of nodes to communicate according to certain
   measurable expectations.  Those expectations can include but are not
   limited to aspects such as latency, delay variation, loss, capacity/
   throughput, ordering, and fragmentation.  Whatever SLO parameters are
   chosen and whichever way service-level parameters are being measured,
   Precision Availability Metrics indicate whether or not a given
   service has been available according to expectations at all times.

   Several metrics (often documented in the IANA "Performance Metrics"
   registry [IANA-PM-Registry] according to [RFC8911] and [RFC8912]) can
   be used to characterize the service quality, expressing the perceived
   quality of delivered networking services versus their SLOs.  Of
   concern is not so much the absolute service level (for example,
   actual latency experienced) but whether the service is provided in
   compliance with the negotiated and eventually contracted service
   levels.  For instance, this may include whether the experienced
   packet delay falls within an acceptable range that has been
   contracted for the service.  The specific quality of service depends
   on the SLO or a set thereof for a given service that is in effect.
   Non-compliance to an SLO might result in the degradation of the
   quality of experience for gamers or even jeopardize the safety of a
   large geographical area.

   The same service level may be deemed acceptable for one application,
   while unacceptable for another, depending on the needs of the
   application.  Hence, it is not sufficient to measure service levels
   per se over time; the quality of the service being contextually
   provided (e.g., with the applicable SLO in mind) must be also
   assessed.  However, at this point, there are no standard metrics that
   can be used to account for the quality with which services are
   delivered relative to their SLOs or to determine whether their SLOs
   are being met at all times.  Such metrics and the instrumentation to
   support them are essential for various purposes, including monitoring
   (to ensure that networking services are performing according to their
   objectives) as well as accounting (to maintain a record of service
   levels delivered, which is important for the monetization of such
   services as well as for the triaging of problems).

   The current state-of-the-art of metrics include, for example,
   interface metrics that can be used to obtain statistical data on
   traffic volume and behavior that can be observed at an interface
   [RFC2863] [RFC8343].  However, they are agnostic of actual service
   levels and not specific to distinct flows.  Flow records [RFC7011]
   [RFC7012] maintain statistics about flows, including flow volume and
   flow duration, but again, they contain very little information about
   service levels, let alone whether the service levels delivered meet
   their respective targets, i.e., their associated SLOs.

   This specification introduces a new set of metrics, Precision
   Availability Metrics (PAMs), aimed at capturing service levels for a
   flow, specifically the degree to which the flow complies with the
   SLOs that are in effect.  PAMs can be used to assess whether a
   service is provided in compliance with its defined SLOs.  This
   information can be used in multiple ways, for example, to optimize
   service delivery, take timely counteractions in the event of service
   degradation, or account for the quality of services being delivered.

   Availability is discussed in Section 3.4 of [RFC7297].  In this
   document, the term "availability" reflects that a service that is
   characterized by its SLOs is considered unavailable whenever those
   SLOs are violated, even if basic connectivity is still working.
   "Precision" refers to services whose service levels are governed by
   SLOs and must be delivered precisely according to the associated
   quality and performance requirements.  It should be noted that
   precision refers to what is being assessed, not the mechanism used to
   measure it.  In other words, it does not refer to the precision of
   the mechanism with which actual service levels are measured.
   Furthermore, the precision, with respect to the delivery of an SLO,
   particularly applies when a metric value approaches the specified
   threshold levels in the SLO.

   The specification and implementation of methods that provide for
   accurate measurements are separate topics independent of the
   definition of the metrics in which the results of such measurements
   would be expressed.  Likewise, Service Level Expectations (SLEs), as
   defined in Section 5.1 of [RFC9543], are outside the scope of this
   document.

2.  Conventions

2.1.  Terminology

   In this document, SLA and SLO are used as defined in [RFC3198].  The
   reader may refer to Section 5.1 of [RFC9543] for an applicability
   example of these concepts in the context of RFC 9543 Network Slice
   Services.

2.2.  Acronyms

   IPFIX  IP Flow Information Export

   PAM    Precision Availability Metric

   SLA    Service Level Agreement

   SLE    Service Level Expectation

   SLO    Service Level Objective

   SVI    Severely Violated Interval

   SVIR   Severely Violated Interval Ratio

   SVPC   Severely Violated Packets Count

   VFI    Violation-Free Interval

   VI     Violated Interval

   VIR    Violated Interval Ratio

   VPC    Violated Packets Count

3.  Precision Availability Metrics

3.1.  Introducing Violated Intervals

   When analyzing the availability metrics of a service between two
   measurement points, a time interval as the unit of PAMs needs to be
   selected.  In [ITU.G.826], a time interval of one second is used.
   That is reasonable, but some services may require different
   granularity (e.g., decamillisecond).  For that reason, the time
   interval in PAMs is viewed as a variable parameter, though constant
   for a particular measurement session.  Furthermore, for the purpose
   of PAMs, each time interval is classified as either Violated Interval
   (VI), Severely Violated Interval (SVI), or Violation-Free Interval
   (VFI).  These are defined as follows:

   *  VI is a time interval during which at least one of the performance
      parameters degraded below its configurable optimal threshold.

   *  SVI is a time interval during which at least one of the
      performance parameters degraded below its configurable critical
      threshold.

   *  Consequently, VFI is a time interval during which all performance
      parameters are at or better than their respective pre-defined
      optimal levels.

   The monitoring of performance parameters to determine the quality of
   an interval is performed between the elements of the network that are
   identified in the SLO corresponding to the performance parameter.
   Mechanisms for setting levels of a threshold of an SLO are outside
   the scope of this document.

   From the definitions above, a set of basic metrics can be defined
   that count the number of time intervals that fall into each category:

   *  VI count

   *  SVI count

   *  VFI count

   These count metrics are essential in calculating respective ratios
   (see Section 3.2) that can be used to assess the instability of a
   service.

   Beyond accounting for violated intervals, it is sometimes beneficial
   to maintain counts of packets for which a performance threshold is
   violated.  For example, this allows for distinguishing between cases
   in which violated intervals are caused by isolated violation
   occurrences (such as a sporadic issue that may be caused by a
   temporary spike in a queue depth along the packet's path) or by broad
   violations across multiple packets (such as a problem with slow route
   convergence across the network or more foundational issues such as
   insufficient network resources).  Maintaining such counts and
   comparing them with the overall amount of traffic also facilitate
   assessing compliance with statistical SLOs (see Section 4).  For
   these reasons, the following additional metrics are defined:

   *  VPC (Violated Packets Count)

   *  SVPC (Severely Violated Packets Count)

3.2.  Derived Precision Availability Metrics

   A set of metrics can be created based on PAMs as introduced in this
   document.  In this document, these metrics are referred to as
   "derived PAMs".  Some of these metrics are modeled after Mean Time
   Between Failure (MTBF) metrics; a "failure" in this context refers to
   a failure to deliver a service according to its SLO.

   *  Time since the last violated interval (e.g., since last violated
      ms or since last violated second).  This parameter is suitable for
      monitoring the current compliance status of the service, e.g., for
      trending analysis.

   *  Number of packets since the last violated packet.  This parameter
      is suitable for the monitoring of the current compliance status of
      the service.

   *  Mean time between VIs (e.g., between violated milliseconds or
      between violated seconds).  This parameter is the arithmetic mean
      of time between consecutive VIs.

   *  Mean packets between VIs.  This parameter is the arithmetic mean
      of the number of SLO-compliant packets between consecutive VIs.
      It is another variation of MTBF in a service setting.

   An analogous set of metrics can be produced for SVI:

   *  Time since the last SVI (e.g., since last violated ms or since
      last violated second).  This parameter is suitable for the
      monitoring of the current compliance status of the service.

   *  Number of packets since the last severely violated packet.  This
      parameter is suitable for the monitoring of the current compliance
      status of the service.

   *  Mean time between SVIs (e.g., between severely violated
      milliseconds or between severely violated seconds).  This
      parameter is the arithmetic mean of time between consecutive SVIs.

   *  Mean packets between SVIs.  This parameter is the arithmetic mean
      of the number of SLO-compliant packets between consecutive SVIs.
      It is another variation of "MTBF" in a service setting.

   To indicate a historic degree of precision availability, additional
   derived PAMs can be defined as follows:

   *  Violated Interval Ratio (VIR) is the ratio of the summed numbers
      of VIs and SVIs to the total number of time unit intervals in a
      time of the availability periods during a fixed measurement
      session.

   *  Severely Violated Interval Ratio (SVIR) is the ratio of SVIs to
      the total number of time unit intervals in a time of the
      availability periods during a fixed measurement session.

3.3.  PAM Configuration Settings and Service Availability

   It might be useful for a service provider to determine the current
   condition of the service for which PAMs are maintained.  To
   facilitate this, it is conceivable to complement PAMs with a state
   model.  Such a state model can be used to indicate whether a service
   is currently considered as available or unavailable depending on the
   network's recent ability to provide service without incurring
   intervals during which violations occur.  It is conceivable to define
   such a state model in which transitions occur per some predefined PAM
   settings.

   While the definition of a service state model is outside the scope of
   this document, this section provides some considerations for how such
   a state model and accompanying configuration settings could be
   defined.

   For example, a state model could be defined by a Finite State Machine
   featuring two states: "available" and "unavailable".  The initial
   state could be "available".  A service could subsequently be deemed
   as "unavailable" based on the number of successive interval
   violations that have been experienced up to the particular
   observation time moment.  To return to a state of "available", a
   number of intervals without violations would need to be observed.

   The number of successive intervals with violations, as well as the
   number of successive intervals that are free of violations, required
   for a state to transition to another state is defined by a
   configuration setting.  Specifically, the following configuration
   parameters are defined:

   Unavailability threshold:  The number of successive intervals during
      which a violation occurs to transition to an unavailable state.

   Availability threshold:  The number of successive intervals during
      which no violations must occur to allow transition to an available
      state from a previously unavailable state.

   Additional configuration parameters could be defined to account for
   the severity of violations.  Likewise, it is conceivable to define
   configuration settings that also take VIR and SVIR into account.

4.  Statistical SLO

   It should be noted that certain SLAs may be statistical, requiring
   the service levels of packets in a flow to adhere to specific
   distributions.  For example, an SLA might state that any given SLO
   applies to at least a certain percentage of packets, allowing for a
   certain level of, for example, packet loss and/or exceeding packet
   delay threshold to take place.  Each such event, in that case, does
   not necessarily constitute an SLO violation.  However, it is still
   useful to maintain those statistics, as the number of out-of-SLO
   packets still matters when looked at in proportion to the total
   number of packets.

   Along that vein, an SLA might establish a multi-tiered SLO of, say,
   end-to-end latency (from the lowest to highest tier) as follows:

   *  not to exceed 30 ms for any packet;

   *  not to exceed 25 ms for 99.999% of packets; and

   *  not to exceed 20 ms for 99% of packets.

   In that case, any individual packet with a latency greater than 20 ms
   latency and lower than 30 ms cannot be considered an SLO violation in
   itself, but compliance with the SLO may need to be assessed after the
   fact.

   To support statistical SLOs more directly requires additional
   metrics, for example, metrics that represent histograms for service-
   level parameters with buckets corresponding to individual SLOs.
   Although the definition of histogram metrics is outside the scope of
   this document and could be considered for future work (see
   Section 6), for the example just given, a histogram for a particular
   flow could be maintained with four buckets: one containing the count
   of packets within 20 ms, a second with a count of packets between 20
   and 25 ms (or simply all within 25 ms), a third with a count of
   packets between 25 and 30 ms (or merely all packets within 30 ms),
   and a fourth with a count of anything beyond (or simply a total
   count).  Of course, the number of buckets and the boundaries between
   those buckets should correspond to the needs of the SLA associated
   with the application, i.e., to the specific guarantees and SLOs that
   were provided.

5.  Other Expected PAM Benefits

   PAMs provide several benefits with other, more conventional
   performance metrics.  Without PAMs, it would be possible to conduct
   ongoing measurements of service levels, maintain a time series of
   service-level records, and then assess compliance with specific SLOs
   after the fact.  However, doing so would require the collection of
   vast amounts of data that would need to be generated, exported,
   transmitted, collected, and stored.  In addition, extensive post-
   processing would be required to compare that data against SLOs and
   analyze its compliance.  Being able to perform these tasks at scale
   and in real time would present significant additional challenges.

   Adding PAMs allows for a more compact expression of service-level
   compliance.  In that sense, PAMs do not simply represent raw data but
   expresses actionable information.  In conjunction with proper
   instrumentation, PAMs can thus help avoid expensive post-processing.

6.  Extensions and Future Work

   The following is a list of items that are outside the scope of this
   specification but will be useful extensions and opportunities for
   future work:

   *  A YANG data model will allow PAMs to be incorporated into
      monitoring applications based on the YANG, NETCONF, and RESTCONF
      frameworks.  In addition, a YANG data model will enable the
      configuration and retrieval of PAM-related settings.

   *  A set of IPFIX Information Elements will allow PAMs to be
      associated with flow records and exported as part of flow data,
      for example, for processing by accounting applications that assess
      compliance of delivered services with quality guarantees.

   *  Additional second-order metrics, such as "longest disruption of
      service time" (measuring consecutive time units with SVIs), can be
      defined and would be deemed useful by some users.  At the same
      time, such metrics can be computed in a straightforward manner and
      will be application specific in many cases.  For this reason, such
      metrics are omitted here in order to not overburden this
      specification.

   *  Metrics can be defined to represent histograms for service-level
      parameters with buckets corresponding to individual SLOs.

7.  IANA Considerations

   This document has no IANA actions.

8.  Security Considerations

   Instrumentation for metrics that are used to assess compliance with
   SLOs constitutes an attractive target for an attacker.  By
   interfering with the maintenance of such metrics, services could be
   falsely identified as complying (when they are not) or vice versa
   (i.e., flagged as being non-compliant when indeed they are).  While
   this document does not specify how networks should be instrumented to
   maintain the identified metrics, such instrumentation needs to be
   adequately secured to ensure accurate measurements and prohibit
   tampering with metrics being kept.

   Where metrics are being defined relative to an SLO, the configuration
   of those SLOs needs to be adequately secured.  Likewise, where SLOs
   can be adjusted, the correlation between any metric instance and a
   particular SLO must be unambiguous.  The same service levels that
   constitute SLO violations for one flow and should be maintained as
   part of the "violated time units" and related metrics may be
   compliant for another flow.  In cases when it is impossible to tie
   together SLOs and PAMs, it is preferable to merely maintain
   statistics about service levels delivered (for example, overall
   histograms of end-to-end latency) without assessing which constitute
   violations.

   By the same token, the definition of what constitutes a "severe" or a
   "significant" violation depends on configuration settings or context.
   The configuration of such settings or context needs to be specially
   secured.  Also, the configuration must be bound to the metrics being
   maintained.  Thus, it will be clear which configuration setting was
   in effect when those metrics were being assessed.  An attacker that
   can tamper with such configuration settings will render the
   corresponding metrics useless (in the best case) or misleading (in
   the worst case).

9.  Informative References

   [IANA-PM-Registry]
              IANA, "Performance Metrics",
              <https://www.iana.org/assignments/performance-metrics>.

   [ITU.G.826]
              ITU-T, "End-to-end error performance parameters and
              objectives for international, constant bit-rate digital
              paths and connections", ITU-T G.826, December 2002.

   [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
              MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000,
              <https://www.rfc-editor.org/info/rfc2863>.

   [RFC3198]  Westerinen, A., Schnizlein, J., Strassner, J., Scherling,
              M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry,
              J., and S. Waldbusser, "Terminology for Policy-Based
              Management", RFC 3198, DOI 10.17487/RFC3198, November
              2001, <https://www.rfc-editor.org/info/rfc3198>.

   [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
              <https://www.rfc-editor.org/info/rfc7011>.

   [RFC7012]  Claise, B., Ed. and B. Trammell, Ed., "Information Model
              for IP Flow Information Export (IPFIX)", RFC 7012,
              DOI 10.17487/RFC7012, September 2013,
              <https://www.rfc-editor.org/info/rfc7012>.

   [RFC7297]  Boucadair, M., Jacquenet, C., and N. Wang, "IP
              Connectivity Provisioning Profile (CPP)", RFC 7297,
              DOI 10.17487/RFC7297, July 2014,
              <https://www.rfc-editor.org/info/rfc7297>.

   [RFC8343]  Bjorklund, M., "A YANG Data Model for Interface
              Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
              <https://www.rfc-editor.org/info/rfc8343>.

   [RFC8911]  Bagnulo, M., Claise, B., Eardley, P., Morton, A., and A.
              Akhter, "Registry for Performance Metrics", RFC 8911,
              DOI 10.17487/RFC8911, November 2021,
              <https://www.rfc-editor.org/info/rfc8911>.

   [RFC8912]  Morton, A., Bagnulo, M., Eardley, P., and K. D'Souza,
              "Initial Performance Metrics Registry Entries", RFC 8912,
              DOI 10.17487/RFC8912, November 2021,
              <https://www.rfc-editor.org/info/rfc8912>.

   [RFC9543]  Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S.,
              Makhijani, K., Contreras, L., and J. Tantsura, "A
              Framework for Network Slices in Networks Built from IETF
              Technologies", RFC 9543, DOI 10.17487/RFC9543, March 2024,
              <https://www.rfc-editor.org/info/rfc9543>.

Acknowledgments

   The authors greatly appreciate review and comments by Bjørn Ivar
   Teigen and Christian Jacquenet.

Contributors

   Liuyan Han
   China Mobile
   32 XuanWuMenXi Street
   Beijing
   100053
   China
   Email: hanliuyan@chinamobile.com

   Mohamed Boucadair
   Orange
   35000 Rennes
   France
   Email: mohamed.boucadair@orange.com

   Adrian Farrel
   Old Dog Consulting
   United Kingdom
   Email: adrian@olddog.co.uk

Authors' Addresses

   Greg Mirsky
   Ericsson
   Email: gregimirsky@gmail.com

   Joel Halpern
   Ericsson
   Email: joel.halpern@ericsson.com

   Xiao Min
   ZTE Corp.
   Email: xiao.min2@zte.com.cn

   Alexander Clemm
   Email: ludwig@clemm.org

   John Strassner
   Futurewei
   2330 Central Expressway
   Santa Clara, CA 95050
   United States of America
   Email: strazpdj@gmail.com

   Jerome Francois
   Inria and University of Luxembourg
   615 Rue du Jardin Botanique
   54600 Villers-les-Nancy
   France
   Email: jerome.francois@inria.fr