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: [email protected]


  Mohamed Boucadair
  Orange
  35000 Rennes
  France
  Email: [email protected]


  Adrian Farrel
  Old Dog Consulting
  United Kingdom
  Email: [email protected]


Authors' Addresses

  Greg Mirsky
  Ericsson
  Email: [email protected]


  Joel Halpern
  Ericsson
  Email: [email protected]


  Xiao Min
  ZTE Corp.
  Email: [email protected]


  Alexander Clemm
  Email: [email protected]


  John Strassner
  Futurewei
  2330 Central Expressway
  Santa Clara, CA 95050
  United States of America
  Email: [email protected]


  Jerome Francois
  Inria and University of Luxembourg
  615 Rue du Jardin Botanique
  54600 Villers-les-Nancy
  France
  Email: [email protected]