<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.3.11) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-yoon-ippm-collection-measure-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Collection Measurement YANG">A YANG Data Model for Collection Measurement</title>

    <author initials="B. Y." surname="Yoon" fullname="Bin Yeong Yoon">
      <organization>ETRI</organization>
      <address>
        <email>byyun@etri.re.kr</email>
      </address>
    </author>
    <author initials="Y." surname="You" fullname="Youngkil You">
      <organization>woori-net</organization>
      <address>
        <email>young@woori-net.com</email>
      </address>
    </author>

    <date year="2026" month="July" day="06"/>

    
    <workgroup>IPPM Working Group</workgroup>
    <keyword>performance management</keyword> <keyword>collection</keyword> <keyword>measurement</keyword>

    <abstract>


<?line 58?>

<t>This document specifies a YANG data model for Collection
Measurement based on the Performance Management (PM) Collection
function requirements defined in ITU-T G.7710. The model processes
raw performance data sampled at a network node and produces
structured data that can be retrieved by clients via pull-based
mechanisms or delivered via push-based mechanisms such as YANG-Push.
This document does not define new performance metrics; the base
metrics are those of the IPPM framework, and the model specifies the
collection and exposure of the operationally important subset
identified by ITU-T G.7710.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://binyeongyoon-ietf.github.io/ietf-pm-streaming/draft-yoon-ippm-collection-measure.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-yoon-ippm-collection-measure/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/binyeongyoon-ietf/ietf-pm-streaming"/>.</t>
    </note>


  </front>

  <middle>


<?line 71?>

<section anchor="introduction"><name>Introduction</name>

<t>Performance Management (PM) data generated by a Network Element (NE)
undergoes a systematic processing pipeline that transforms raw
observations into actionable operational insights. Traditionally, PM
data has been managed through pull-based mechanisms such as SNMP
polling, but the increasing scale and dynamic nature of modern
networks require a more efficient, streaming-oriented approach.</t>

<t>This document distinguishes three functional stages of the PM
processing pipeline -- Sampling, Collection, and Reporting -- and
defines a YANG data model for the Collection stage, referred to in
this document as the Collection Measurement model.</t>

<t>The Collection-stage data and notifications defined in this model can
be retrieved by clients via pull-based mechanisms (e.g., NETCONF
get-data operations) or delivered via push-based subscription
mechanisms. When push-based delivery is used, the IETF subscribed-
notifications framework <xref target="RFC8639"/>, its YANG Push extension for
datastore updates <xref target="RFC8641"/>, and the NETCONF binding for dynamic
subscriptions <xref target="RFC8640"/> are applicable. These three specifications
together are referred to in the remainder of this document as the
push-based subscription mechanisms.</t>

<section anchor="pm-processing-pipeline-in-a-network-element"><name>PM Processing Pipeline in a Network Element</name>

<t>The PM processing pipeline considered in this document comprises the
following three stages, as illustrated in <xref target="fig-pm-pipeline"/>.
Stage 2 (Collection) is the scope of this document.</t>

<figure title="PM Processing Pipeline" anchor="fig-pm-pipeline"><artwork type="ascii-art"><![CDATA[
  +------------------+    +====================+    +------------------+
  |     Stage 1      |    |      Stage 2        |    |     Stage 3      |
  |  Sampling        |--->|    Collection       |--->|   Reporting      |
  |                  |    |  (this document)    |    |                  |
  | - Physical layer |    |                     |    | - YANG-Push      |
  | - OWAMP/TWAMP/   |    | - Counts            |    |   RFC 8639/8640/ |
  |   STAMP/IOAM     |    | - Snapshot          |    |   8641           |
  | - Sensors        |    | - Tidemarks         |    | - OS/NDT/AI APP  |
  |                  |    | - Thresholding      |    |                  |
  +------------------+    +====================+    +------------------+

  raw samples              processed PM data           delivery
]]></artwork></figure>

<t>Stage 1 -- Sampling. This stage observes signals or protocol
behaviours to produce raw samples. It encompasses direct
observation of physical-layer signals as well as various OAM-based
techniques. As examples of active measurement protocols that may be
used in this stage, OWAMP <xref target="RFC4656"/>, TWAMP <xref target="RFC5357"/>, and STAMP
<xref target="RFC8762"/> inject synthetic probe packets to measure one-way or
round-trip delay, packet loss, and delay variation, while In-situ OAM
(IOAM) <xref target="RFC9197"/> records performance data directly within user
packets as they traverse the network.</t>

<t>Stage 2 -- Collection. This stage processes raw samples into
summarised statistics over defined intervals and manages their
retention. Historically, PM collection mechanisms based on SNMP MIBs
used the performance-history textual conventions defined in
<xref target="RFC3593"/>, with the high-capacity variants in <xref target="RFC3705"/>. The
Collection stage modelled in this document follows the common
equipment management function requirements of ITU-T G.7710 and
supports three collection types -- Counts, Snapshot, and Tidemarks --
together with threshold evaluation and the associated periodic and
non-periodic events.</t>

<t>Stage 3 -- Reporting. This stage delivers Collection-stage data and
notifications to external management systems or controllers. While
traditional pull-based retrieval remains available, this document
assumes the push-based subscription mechanisms introduced above
(<xref target="RFC8639"/>, <xref target="RFC8641"/>, <xref target="RFC8640"/>). The role of the
Collection-stage models defined here is to provide the data structures
that those mechanisms carry. Typical clients of this Reporting stage
include operations systems (OS), network digital twins (NDT), and
AI-driven applications (AI APP), as illustrated in
<xref target="fig-streaming-architecture"/>.</t>

<figure title="Network Architecture for Collection Measurement" anchor="fig-streaming-architecture"><artwork type="ascii-art"><![CDATA[
   +------+  +-----+     +--------+
   |  OS  |  | NDT | ... | AI APP |
   +---+--+  +--+--+     +----+---+
       |        |             |
       |   PM data and notifications
       |   via YANG-Push (RFC 8639/8640/8641)
       |        |             |
   +---+--------+-------------+---+
   |            NE                |
   |  +-----------------------+   |
   |  |  EMF / Collection     |   |
   |  |  (this document)      |   |
   |  +-----------------------+   |
   +------------------------------+

   OS:  Operations System
   NDT: Network Digital Twins
   APP: Application
]]></artwork></figure>

<t>The YANG data model specified in this document is implemented within
the Equipment Management Function (EMF) of an NE, as defined in
ITU-T G.7710 Section 6.2. It is exposed at the NE's management
interface and is consumed by remote clients such as operations
systems (OS), Physical Network Controllers (PNCs), network digital
twins (NDT), and AI-driven applications. Throughout this document
the term "client" refers to any such consumer of the Collection
Measurement interface, regardless of whether it acts as a controller,
an analytics engine, or an operator-facing management system.</t>

</section>
<section anchor="relationship-to-the-ietf-performance-metric-framework"><name>Relationship to the IETF Performance Metric Framework</name>

<t>The three-stage pipeline described above aligns with the framework
for performance metric development given in <xref target="RFC6390"/>. The
Collection stage modelled in this document corresponds to the
Computed Performance Metrics described in Section 5.3 of
<xref target="RFC6390"/>: the Counts and Tidemarks collection types are temporal
aggregations (Section 5.3.1 of <xref target="RFC6390"/>) of base metrics over a
collection interval, while the Snapshot collection type is a
sampled value organised as a singleton in the sense of Section 5.6
of <xref target="RFC6390"/> and the IPPM framework <xref target="RFC2330"/>.</t>

<t><xref target="fig-collection-rfc-mapping"/> summarises how the three collection
types map onto the result organization of the IPPM framework.</t>

<figure title="Collection types mapped to RFC 6390 Computed Performance Metrics and the RFC 2330 result organization" anchor="fig-collection-rfc-mapping"><artwork type="ascii-art"><![CDATA[
+--------------------------------------------------------------------+
| Collection (G.7710):  counts | snapshot | tidemarks                |
|                                                                    |
|  +--------------+   +-------------------------------------------+  |
|  |  Snapshot    |   | Computed Performance Metrics              |  |
|  |              |   | (RFC 6390 Sec 5.3 / 5.3.1 aggregation)    |  |
|  | singleton    |   |                                           |  |
|  |              |   |   +---------------+    +----------------+ |  |
|  | (directly    |   |   |   Counts      |    |  Tidemarks     | |  |
|  |  sampled)    |   |   | statistic     |    |  statistic     | |  |
|  |              |   |   |    (sum)      |    | (min / max)    | |  |
|  |              |   |   |               |    |                | |  |
|  +--------------+   |   +---------------+    +----------------+ |  |
|                     +-------------------------------------------+  |
|                                                                    |
+--------------------------------------------------------------------+

RFC 2330 Sec 11 / RFC 6390 Sec 5.6 organize results as:
  singleton = elementary "atomic" value        -> Snapshot
  sample    = a set of singletons (one interval)
  statistic = value computed from a sample      -> Counts, Tidemarks
]]></artwork></figure>

<t>The base metrics aggregated by this model are produced in Stage 1
(Sampling) and are expected to be specified following the
Performance Metric Specification of Section 5.4 of <xref target="RFC6390"/>.
This document does not define or redefine those base metrics, nor
does it introduce new performance metrics or parameters; following
ITU-T G.7710, it identifies the operationally important subset
(counts, snapshot, and tidemarks) and defines the YANG structures
that compute, retain, and expose their
aggregated values over the configured collection intervals. The
acceptable ranges of sampling and collection intervals, and the
required timing accuracy called for in Section 5.4.2 of
<xref target="RFC6390"/>, are determined by the referenced ITU-T G.7710
recommendation and by the parameter profiles defined in this
document, rather than being fixed by the YANG model itself.</t>

<t>Except where <xref target="RFC6390"/> is explicitly referenced, this document
uses the term "Sampling" for the Stage 1 activity described above
and "Collection" for the Stage 2 activity. A collection interval
(YANG node collection-interval) is the window over which sampled
values are aggregated within the Collection stage; it is distinct
from the sampling interval at which raw values are produced, and
both retain the meaning derived from ITU-T G.7710.</t>

</section>
<section anchor="motivation-and-scope"><name>Motivation and Scope</name>

<t>The legacy SNMP-based collection conventions <xref target="RFC3593"/>
<xref target="RFC3705"/> and the associated pull-based polling architecture
limit real-time visibility and flexible interval design at the scale
of modern networks. The push-based subscription mechanisms
<xref target="RFC8639"/> <xref target="RFC8640"/> <xref target="RFC8641"/> provide an efficient and
scalable alternative for streaming management data, but those
specifications define only the subscription and notification
mechanisms themselves and do not prescribe the structure of the PM
data being carried. A standardised YANG data model is therefore
needed at the Collection stage to bridge low-level measurement data
and high-level streaming subscriptions, since existing YANG models
tend to focus on static configuration or simple state data and do
not offer the structures required to express counts, snapshot, and
tidemarks collection together with profile-based parameter grouping
and threshold semantics aligned with ITU-T G.7710.</t>

<t>A further motivation concerns which performance information to
collect and in what form. The IETF performance metric framework
<xref target="RFC6390"/> provides methods for defining and computing metrics,
but the space of possible computed metrics is effectively unbounded
(for example, averages, variances, or percentiles could all be
derived). ITU-T G.7710 instead reflects several decades of
operational experience by fixing a deliberately small set of
collection forms and parameters: per clause 10.1.6.2 of <xref target="G7710"/>,
gauge measurements are limited to snapshots (an instantaneous value)
and tidemarks (the maximum and minimum), and counts to a simple
accumulation, rather than general statistical aggregations; and per
clause 10.1.6.4 of <xref target="G7710"/>, the collected parameters are confined
to an operational set such as ES, SES, BBE, BBC, and UAS for
maintenance and quality-of-service purposes. The collection types
are themselves defined as the form in which results are stored,
independent of the collection interval. This document adopts that
operationally-validated minimal set, rather than attempting to
enumerate all statistically possible metrics, so that the resulting
YANG model expresses what network operators actually need to retain
and expose for fault management, maintenance, and SLA evaluation.
This is also why the model is parameter-agnostic in structure: it
standardises the collection forms (counts, snapshot, tidemarks) and
leaves the specific parameters to be referenced from <xref target="G7710"/> and
related Recommendations.</t>

<t>The scope of this document is therefore limited to the Collection
stage. Within that scope, this document specifies YANG data models
that enable: (a) flexible processing of performance metrics beyond
simple counts, including Snapshot and Tidemarks, as defined in
ITU-T G.7710; (b) configurable sampling and collection intervals
that are not restricted to the legacy 15-minute or 24-hour windows;
and (c) data and notification structure that supports flexible
delivery of processed PM data to management systems, compatible
with both pull-based retrieval and push-based subscription
mechanisms.</t>

<t>The data model defined in this document realizes the Collection-stage
functions described in <xref target="G7710"/>, in particular
performance-monitoring data, collection types, and threshold
reporting.</t>

<t>The Collection-stage data and notifications defined here are
compatible with the existing YANG-Push framework
(<xref target="RFC8639"/>, <xref target="RFC8640"/>, <xref target="RFC8641"/>) for push-based delivery
as well as with traditional pull-based retrieval via NETCONF or
RESTCONF; this document does not define any new subscription or
notification.</t>

</section>
</section>
<section anchor="pm-parameters"><name>PM parameters</name>

<section anchor="types"><name>Types</name>

<t>Performance monitoring (PM) in networks encompasses a wide variety
of parameters that reflect operational health, service quality,
reliability, and environmental conditions. These parameters are
used across many technologies, network layers, and functional
domains to enable fault management, SLA compliance, trend analysis,
predictive maintenance, and operational optimization.</t>

<t>PM parameter types include but are not limited to:</t>

<t><list style="symbols">
  <t>Classical transport and packet layer metrics: such as errored
seconds (ES), severely errored seconds (SES), unavailable seconds
(UAS), background block errors (BBE), background block counts
(BBC), delay, jitter, and packet loss, as defined in standards
like ITU-T G.7710, and others.</t>
  <t>Layer-specific metrics:  <list style="symbols">
      <t>Physical layer: optical power levels, laser bias current, loss
of signal</t>
      <t>Data link layer: Ethernet frame errors, FCS errors</t>
      <t>Network layer: dropped packets, route flaps</t>
      <t>Transport/Service layers: MPLS LSP statistics, OTN TCM/BIP
counters</t>
    </list></t>
  <t>Network environment parameters: including temperature, humidity,
fan speed, voltage, and airflow. These are essential for equipment
safety, energy management, and predictive failure analysis.</t>
  <t>Energy and sustainability metrics: such as power consumption,
energy efficiency indicators, and cooling utilization, aligned
with emerging sustainability standards and operational efficiency
goals.</t>
  <t>Security and integrity parameters: such as pointer justification
events (PJE), synchronization loss, or intrusion anomaly flags.</t>
  <t>Application-aware or SLA metrics: such as service availability,
throughput consistency, and application-layer latency.</t>
  <t>Mobile network-specific metrics: including radio link failures,
handover success/failure rates, RRC connection setup time, PDCP
discard rate, and throughput per bearer. These metrics are
critical for monitoring the performance of RAN, core, and edge
network components in 4G/5G mobile environments.</t>
</list></t>

<t>These parameters may be grouped flexibly within the YANG model
using parameter profiles that reflect shared characteristics,
purpose, or applicable network domains. The architecture supports
extension through identity-based typing to accommodate future
parameter definitions introduced by standard bodies like ITU-T,
IEEE, IETF, MEF, and TM Forum.</t>

<t>The data model defined in this document is parameter-agnostic: it
specifies how performance parameters are collected, aggregated, and
exposed, rather than defining the parameters themselves. The network
and transport performance parameters listed above (for example, ES,
SES, UAS, BBE, BBC) are the primary parameters in scope, and each is
expected to be specified following the Performance Metric
Specification template of Section 5.4.4 of <xref target="RFC6390"/> (metric
name, description, method of measurement or calculation, units,
measurement point, and measurement timing). The remaining categories
(network environment, energy and sustainability, security, mobile
network, and application-aware parameters) are listed as
illustrative examples of the model's extensibility and are not
themselves defined by this document; the specification of any such
parameter is left to the relevant standards body.</t>

</section>
<section anchor="profiles"><name>Profiles</name>

<figure title="Parameter Profile Subtree" anchor="fig-profile-tree"><artwork type="ascii-art"><![CDATA[
+--rw parameter-profile* [name]
   +--rw name              profile-names
   +--rw pm-parameter* [name]
      +--rw name           string
]]></artwork></figure>

<t>The YANG model defines the concept of a parameter profile to
logically group performance parameters that are commonly measured
together for a specific operational purpose. Each parameter profile
is represented as a list entry keyed by a name of type
profile-names (a string conforming to the format defined in the
model). These profiles serve as named collections of performance
parameters and are intended to facilitate streamlined configuration,
management, and reporting of measurement data across network
elements and management systems.</t>

<t>The use of parameter profiles improves operational efficiency by
allowing operators, applications, and controllers to activate or
reference a coherent set of parameters using a single profile
identifier. For example, the <spanx style="verb">itu-transport-maintenance-15min</spanx>
profile may include parameters such as errored seconds (ES),
severely errored seconds (SES), and unavailable seconds (UAS),
which are typically monitored together for network maintenance and
fault detection purposes. Similarly, the <spanx style="verb">example-ip-qos-24hr</spanx>
profile may include delay, jitter, and loss parameters used in
service quality reporting. Parameter profiles support role-based
access control, operational alignment, and measurement policy
abstraction, enabling network operators and analytics systems to
tailor data collection and reporting according to the needs of
different users and services. The profile abstraction also aligns
with ITU-T G.7710, which identifies multiple classes of performance
monitoring (e.g., maintenance, service-level, and compliance
monitoring), each requiring specific sets of performance parameters.</t>

<t>By modeling profiles as list entries keyed by a structured name
(profile-names type), the YANG design ensures extensibility and
vendor interoperability, allowing future profiles to be defined
without changes to the core data structures. This approach promotes
consistent configuration and integration across multi-vendor
environments and supports dynamic service assurance use cases where
parameter sets may vary by service type, SLA, or operational
context.</t>

<section anchor="naming"><name>Naming</name>

<t>Parameter profiles are named to reflect their operational purpose,
origin, applicable network domain, and, optionally, the primary
collection interval. This naming structure supports clarity,
modularity, and automation across diverse network and service
layers.</t>

<t>The naming follows this format:</t>

<figure><sourcecode type="txt"><![CDATA[
<source>-<network>-<purpose>[-<characteristic>]
]]></sourcecode></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>&lt;source&gt;: Standards body or organization
  <list style="symbols">
      <t>Examples: itu, ieee, ietf, example, vendorX</t>
    </list></t>
  <t>&lt;network&gt;: Network domain or layer
  <list style="symbols">
      <t>Examples: transport, access, core, ip, mpls, ethernet, otn,
wdm, flexo</t>
    </list></t>
  <t>&lt;purpose&gt;: Intended use or function
  <list style="symbols">
      <t>Examples: maintenance, qos, availability, sla, compliance,
analytics</t>
    </list></t>
  <t>&lt;characteristic&gt; (optional): Optional qualifying information
  <list style="symbols">
      <t>Examples: 15min, 24hr, high-priority</t>
    </list></t>
</list></t>

<t>Examples:</t>

<t><list style="symbols">
  <t>itu-transport-maintenance-15min</t>
  <t>itu-transport-qos-24hr</t>
  <t>ieee-access-availability</t>
  <t>example-ip-qos-24hr</t>
  <t>vendorx-otn-sla</t>
</list></t>

<t>Note: profile names that begin with <spanx style="verb">ietf-</spanx> are reserved for
profiles that IETF actually defines; placeholder examples in this
document use <spanx style="verb">example-</spanx> to avoid implying IETF endorsement of
profiles not yet specified.</t>

<t>The term 'transport' means that the profile applies to multiple
technologies (e.g., OTN, MPLS-TP, Transport Ethernet, etc.).</t>

<t>The 15-minute interval provides granular, real-time monitoring,
allowing network operators to quickly detect and address short-term
issues such as spikes in latency or packet loss. It is particularly
useful for ensuring compliance with Service-Level Agreements (SLAs)
and for managing highly dynamic networks where rapid changes can
occur. In contrast, the 24-hour interval is used for long-term
performance monitoring and trend analysis, helping operators
understand overall network health, detect slow-developing issues,
and plan for future capacity needs. This longer interval offers a
broader view of the network's performance over a full day, making
it ideal for strategic planning and infrastructure maintenance.
Together, these intervals enable both immediate responses to
network conditions and long-term network optimization.</t>

</section>
</section>
</section>
<section anchor="periodic-collection"><name>Periodic Collection</name>

<section anchor="interval-timing"><name>Interval Timing</name>

<figure title="Sampling and Collection Intervals Subtree" anchor="fig-interval-tree"><artwork type="ascii-art"><![CDATA[
+--rw sampling-interval* [id]
   +--rw id                  string
   +--rw interval-value?     uint32
   +--rw unit?               time-interval-unit
   +--rw collection-interval* [id]
      +--rw id                string
      +--rw interval-value?   uint32
      +--rw unit?             time-interval-unit
]]></artwork></figure>

<t>Interval timing parameters are key components of network
performance management, offering standardized definitions for the
time-related aspects of sampling, collection, and reporting
performance data. These parameters apply to the three main
collection types for network equipment: counts, snapshot, and
tidemarks. They include the sampling interval, collection
interval, and uniform time, all of which support consistent,
accurate, and systematic performance monitoring and management.</t>

<t>Sampling interval defines the period at which network performance
data is collected at consistent, predetermined time points. It
ensures the continuous and timely capture of performance metrics,
enabling accurate assessments of network conditions.</t>

<t>Collection interval specifies the duration over which sampled
performance data is aggregated or statistically processed. It helps
manage large volumes of data by summarizing it into meaningful
indicators for analysis, anomaly detection, and resource
management.</t>

<t>Uniform time is a fixed, predefined point within each collection
interval at which a snapshot measurement is taken. It enables a
consistent and instantaneous view of network performance across
intervals, without requiring data aggregation. This approach
facilitates quick diagnostics and synchronization across monitoring
systems.</t>

<t>The acceptable ranges of sampling and collection intervals, and
the timing accuracy required for a given parameter, are not fixed by
this YANG model. As noted in Section 5.4.2 of <xref target="RFC6390"/>, these
constraints are part of the specification of each performance
metric; in this document they are determined by ITU-T G.7710 and by
the parameter profile in use, and a server advertises the intervals
it supports as part of its capabilities.</t>

<section anchor="use-cases"><name>Use Cases</name>

<t>The hierarchical design of the <spanx style="verb">ietf-pm-collection</spanx> YANG module,
where a performance parameter can be associated with one or more
sampling intervals and each sampling interval can be associated
with multiple collection intervals and collection types, supports
a wide range of operational objectives. A key benefit of this
structure is that, even when the sampling interval is fixed,
different collection intervals can be used to derive distinct
operational views of the same parameter. The collection type is
selected to match the semantics of the monitored parameter: counts
for cumulative event parameters, tidemarks for varying parameters
where extremes are operationally significant, and snapshot for
point-in-time operating state.</t>

<t>In a Network Operations Center (NOC), errored seconds (ES) can be
sampled every second and processed with multiple collection
intervals using the counts collection type. A 1-minute collection
interval supports rapid fault indication, enabling fast recognition
of service degradation. A 15-minute collection interval supports
routine maintenance monitoring and aligns with established
operational practices described in ITU-T G.7710. A 24-hour
collection interval supports daily QoS reporting and provides a
broader view of service quality over time.</t>

<t>For latency monitoring in a NOC, a parameter may be sampled every
500 milliseconds and processed using the tidemarks collection type.
A 1-minute collection interval helps detect short-lived delay
spikes. A 30-minute collection interval helps identify recurring
burst patterns that affect path stability. A 24-hour collection
interval provides a daily worst-case view of path quality,
supporting operational assessment of persistent delay behavior.</t>

<t>For digital twin applications, packet delay variation (PDV) may be
sampled every 100 milliseconds and processed using the tidemarks
collection type. A 1-minute collection interval provides a
synchronization stability envelope that helps the digital twin
remain closely aligned with the physical network. A 5-minute
collection interval supports feedback-loop tuning by capturing
short-term variation patterns that influence control adjustments.
A 1-hour collection interval supports model calibration by
providing longer-span information about the range of delay
variation observed in operation.</t>

<t>Environmental monitoring also benefits from the same hierarchical
timing structure. For example, temperature may be sampled every
10 seconds and processed using the snapshot collection type. A
1-minute collection interval supports a current operating state
check. A 15-minute collection interval supports periodic baseline
comparison. A 24-hour collection interval supports daily
fleet-wide correlation at a common observation point, helping
operators compare equipment behavior across systems and sites.</t>

<t>Similar timing structures can also support AI/ML pipelines, where
short, medium, and long collection intervals applied to the same
sampled parameter provide feature sets for anomaly detection,
trend analysis, and model training within a single analytics
application.</t>

<t>These examples show that the same sampling interval can support
multiple operational purposes when paired with different
collection intervals, and that the collection type should match
the semantics of the monitored parameter. The hierarchical list
structure, where parameters contain multiple sampling intervals
and each sampling interval defines one or more collection
intervals and collection types, supports operational flexibility,
avoids configuration duplication, and enables fine-grained control
of measurement strategies. The use cases summarized in
<xref target="tab-usecases"/> are consistent with the collection types defined
in <xref target="collection-types"/>, where counts represent cumulative event
occurrences, snapshot represents point-in-time values, and
tidemarks represent interval extremes.</t>

<texttable title="Use cases by sampling interval, collection interval, and collection type" anchor="tab-usecases">
      <ttcol align='left'>Client (param)</ttcol>
      <ttcol align='left'>Samp.</ttcol>
      <ttcol align='left'>Meas.</ttcol>
      <ttcol align='left'>Coll.</ttcol>
      <ttcol align='left'>Purpose</ttcol>
      <c>NOC (ES)</c>
      <c>1s</c>
      <c>1min</c>
      <c>counts</c>
      <c>Rapid fault alert</c>
      <c>&#160;</c>
      <c>1s</c>
      <c>15min</c>
      <c>counts</c>
      <c>Maintenance</c>
      <c>&#160;</c>
      <c>1s</c>
      <c>24hr</c>
      <c>counts</c>
      <c>Daily QoS report</c>
      <c>NOC (latency)</c>
      <c>500ms</c>
      <c>1min</c>
      <c>tidemarks</c>
      <c>Delay spike detect</c>
      <c>&#160;</c>
      <c>500ms</c>
      <c>30min</c>
      <c>tidemarks</c>
      <c>Burst pattern obs.</c>
      <c>&#160;</c>
      <c>500ms</c>
      <c>24hr</c>
      <c>tidemarks</c>
      <c>Daily worst-case</c>
      <c>Digital Twin</c>
      <c>100ms</c>
      <c>1min</c>
      <c>tidemarks</c>
      <c>Sync stability</c>
      <c>(PDV)</c>
      <c>100ms</c>
      <c>5min</c>
      <c>tidemarks</c>
      <c>Feedback tuning</c>
      <c>&#160;</c>
      <c>100ms</c>
      <c>1hr</c>
      <c>tidemarks</c>
      <c>Model calibration</c>
      <c>NOC (temp)</c>
      <c>10s</c>
      <c>1min</c>
      <c>snapshot</c>
      <c>State check</c>
      <c>&#160;</c>
      <c>10s</c>
      <c>15min</c>
      <c>snapshot</c>
      <c>Periodic baseline</c>
      <c>&#160;</c>
      <c>10s</c>
      <c>24hr</c>
      <c>snapshot</c>
      <c>Fleet-wide daily</c>
</texttable>

</section>
</section>
<section anchor="collection-types"><name>Collection Types</name>

<figure title="Collection Types Subtree" anchor="fig-collection-types-tree"><artwork type="ascii-art"><![CDATA[
+--rw collection-types
   +--rw counts
   |  +--rw transient-condition-config
   |  |  +--rw transient-threshold?   uint32
   |  +--rw standing-condition-config
   |  |  +--rw standing-threshold?    uint32
   |  |  +--rw reset-threshold?       uint32
   |  +--ro collection-value?        uint32
   +--rw snapshot
   |  +--rw uniform-time-config
   |  |  +--rw interval-value?        uint32
   |  |  +--rw unit?                  time-interval-unit
   |  +--rw threshold-config
   |  |  +--rw high-threshold?        uint32
   |  |  +--rw low-threshold?         uint32
   |  +--ro collection-value?        uint32
   +--rw tidemarks
      +--rw threshold-config
      |  +--rw high-threshold?        uint32
      |  +--rw low-threshold?         uint32
      +--ro high-collection-value?   uint32
      +--ro low-collection-value?    uint32
]]></artwork></figure>

<t>The collection types defined based on ITU-T G.7710 establish a
focused and efficient framework for network performance monitoring
by specifying three core collection types: counts, snapshot, and
tidemarks.</t>

<t>This intentional limitation supports key objectives such as
implementation simplicity, operational efficiency, and cross-vendor
interoperability. It emphasizes real-time network monitoring,
favoring instantaneous or interval-based metrics over complex
statistical calculations. The counts and snapshot collection types
provide immediate operational data without incurring the processing
overhead associated with metrics like averages and variances. These
statistical measures require significant aggregation logic, which
can vary across implementations and devices. By keeping computation
within network elements minimal, the approach reduces both
processing and memory overhead, maintaining lightweight
implementations. It establishes a clear separation between raw
data collection (handled by network elements) and deeper analysis
(delegated to external management systems). This separation not
only simplifies device requirements but also enables more
consistent and flexible analytics in centralized systems, which
are better equipped to apply standardized analytical frameworks.</t>

<t>Limiting collection types also contributes to energy efficiency by
reducing the operational burden on Network Elements (NEs), while
offloading data analysis to external management applications.
Despite the simplicity, the selected collection types offer
sufficient expressiveness to support comprehensive performance
monitoring without excessive resource use. They are specifically
optimized for the NE-to-client interface -- referred to as the
Southbound Interface (SBI) from a controller perspective (e.g.,
between a Physical Network Controller (PNC) and an NE), or
equivalently as the northbound management interface from the NE's
perspective -- to ensure as follows:</t>

<t><list style="symbols">
  <t>Lightweight to implement</t>
  <t>Consistently supported across vendors</t>
  <t>Efficient for transport and storage in network management systems</t>
</list></t>

<t>The collection types are applicable to a wide range of monitored
objects, including both network topology elements (e.g., links,
tunnels) and physical equipment parameters (e.g., temperature,
voltage).</t>

<t>In terms of the performance metric framework of <xref target="RFC6390"/>, the
three collection types correspond to the following operations, as
summarised in <xref target="tab-collection-rfc6390"/>.</t>

<texttable title="Collection Types Mapped to RFC 6390" anchor="tab-collection-rfc6390">
      <ttcol align='left'>Collection type</ttcol>
      <ttcol align='left'> operation</ttcol>
      <ttcol align='left'>Note</ttcol>
      <c>counts</c>
      <c>Temporal aggregation (Section 5.3.1): cumulative sum over the collection interval</c>
      <c>Resets at the end of each interval</c>
      <c>snapshot</c>
      <c>Sampled value at a uniform time within the interval</c>
      <c>Organised as a singleton (Section 5.6 of <xref target="RFC6390"/>; <xref target="RFC2330"/>)</c>
      <c>tidemarks</c>
      <c>Temporal aggregation (Section 5.3.1): minimum and maximum over the interval</c>
      <c>High and low values retained per interval</c>
</texttable>

<t>The counts and tidemarks types are computed (aggregated) metrics in
the sense of Section 5.3 of <xref target="RFC6390"/>, whereas the snapshot type
is a directly sampled value rather than an aggregation.</t>

<section anchor="counts"><name>Counts</name>

<t>Counts measurement in network performance monitoring tracks the
cumulative occurrences of specific events over a defined
collection interval, such as 15 minutes or 24 hours. This method
captures how frequently certain network activities, like errors or
transmission issues, occur, providing a historical view of
recurring problems. Counts reset at the end of each interval,
ensuring that every period starts with a fresh count for accurate
monitoring.</t>

<t>The primary purpose of counts is to identify trends and patterns in
network behavior over time, helping operators detect anomalies or
areas where issues frequently arise. This type of measurement is
particularly useful for long-term analysis, enabling preventive
maintenance and optimizing network performance. Unlike
instantaneous measurements, counts focus on aggregation over time,
making it easier to understand the persistence or recurrence of
faults. The data gathered through counts helps in fault management
and planning by highlighting repeated errors, congestion, or
performance degradation that may affect service delivery. As a
result, counts provide network operators with actionable insights
for troubleshooting and capacity planning, ensuring smooth
operation and reliability across the network.</t>

</section>
<section anchor="snapshot"><name>Snapshot</name>

<t>Snapshot is an instantaneous measurement taken at a specific point
in time. It captures the instantaneous value of specific
performance parameters at a regular, predefined point (uniform
time) within each time interval. Snapshot provides a "momentary
view" of network conditions, allowing operators to observe the
network's status at specific intervals. The data from these
uniform-time snapshots is then aggregated and analyzed to
understand the immediate state across the entire network. By
taking snapshots simultaneously across all network elements,
operators can correlate data between different parts of the
transport network. Snapshots are collected at pre-determined
uniform times within fixed collection intervals. The uniform
time and fixed intervals can be configured based on the needs of
the network.</t>

</section>
<section anchor="tidemarks"><name>Tidemarks</name>

<t>Tidemarks measurements record the maximum (high tidemarks) and
minimum (low tidemarks) values that a performance parameter
reaches during a specified collection interval. This approach
captures the extreme values and performance fluctuations,
highlighting the best and worst conditions that occur within the
monitoring period. Tidemarks measurements provide deeper insights
by capturing performance spikes or drops that may go unnoticed in
average or cumulative data, enabling precise troubleshooting of
intermittent or extreme conditions. For instance, while the
average error rate over a period may appear acceptable, a high
tidemark could reveal intermittent spikes in errors that require
attention. Conversely, a low tidemark may expose periods of
severely degraded signal quality or throughput.</t>

</section>
</section>
</section>
<section anchor="thresholding"><name>Thresholding</name>

<section anchor="periodic-thresholding"><name>Periodic Thresholding</name>

<t>Periodic threshold events are triggered when the counts or gauge
value reaches a pre-defined threshold during periodic measurements
including counts, snapshot, and tidemarks for performance
parameters.</t>

<t>The counts measurement has two types of threshold reporting
methods: transient and standing condition methods. The transient
condition method treats each measurement period separately. As
soon as a threshold is reached or crossed in a collection
interval for a given performance measurement, a threshold report
(TR) is generated. The standing condition method is optional. The
standing condition is raised, and a TR (Threshold Report) is
generated, when the set threshold is reached or crossed. The
standing condition is cleared, and a reset threshold report (RTR)
is generated at the end of the period when the current value is
below or equal to the reset threshold, provided that there was no
unavailable time during that period.</t>

<t>For gauge measurements ("snapshot" and "tidemarks"), an overflow
condition is determined and an out-of-range report is generated as
soon as the gauge value reaches or crosses the high threshold. An
underflow condition is determined and an out-of-range report is
generated as soon as the gauge value is at or below the low
threshold.</t>

</section>
<section anchor="non-periodic-thresholding"><name>Non-Periodic Thresholding</name>

<t>Non-periodic threshold events are triggered regardless of the
collection types (counts, snapshot, or tidemarks). The following
parameters are used for non-periodic events.</t>

<t><list style="symbols">
  <t>BUT (Begin Unavailable Time): The event marking the start of a
period when a network element or connection is unavailable.</t>
  <t>EUT (End Unavailable Time): The event marking the end of a
period when a network element or connection was unavailable.</t>
  <t>CSES (Consecutive Severely Errored Seconds): A sequence of
severely errored seconds (SES) detected consecutively within a
specified time interval. The reporting metrics include BUT, EUT,
and the count of errors during that period.</t>
</list></t>

</section>
</section>
<section anchor="data-access"><name>Data Access</name>

<t>Clients can access PM parameter values produced by the counts,
snapshot, and tidemarks collection types using either pull-based
retrieval or push-based subscription mechanisms. This section
provides practical examples for both access patterns. This document
does not define any new retrieval operation or subscription
mechanism; the examples below use only standard NETCONF operations
and YANG-Push RPCs and notifications. The data retrieved or
delivered is used for maintenance and Quality of Service (QoS)
monitoring in networks.</t>

<section anchor="polling"><name>Pull-Based Polling</name>

<t>The operational state data defined in this document can be
retrieved by clients using standard NETCONF or RESTCONF operations,
providing a pull-based access pattern analogous to traditional SNMP
polling.</t>

<t>In traditional SNMP-based PM collection, a management system
periodically issues GET or GET-BULK requests to retrieve counter
values from the agent's MIB, such as the performance-history MIBs
defined in <xref target="RFC3593"/> and <xref target="RFC3705"/>. The YANG data model
defined here provides equivalent data structures accessible via
NETCONF <spanx style="verb">&lt;get-data&gt;</spanx> operations against the operational datastore
<xref target="RFC8342"/>, or via RESTCONF HTTP GET requests, at any polling
interval chosen by the client.</t>

<t>The <spanx style="verb">collection-value</spanx> leaf (config false) in the counts
collection type, and the corresponding measurement leaves in
snapshot and tidemarks, are read-only operational state nodes that
reflect the current accumulated or instantaneous PM values within
the active collection interval. These leaves are the YANG
equivalents of SNMP counter and gauge objects in classical PM MIBs.</t>

<t><xref target="fig-polling-example"/> shows a NETCONF <spanx style="verb">&lt;get-data&gt;</spanx> request that
retrieves the current errored-seconds (ES) count for the
<spanx style="verb">itu-transport-maintenance-15min</spanx> profile, sampled every second
over a 15-minute collection interval. A client may issue this
request at any time to read the in-progress counter value, or at
the end of each collection interval to collect the final result,
replicating the behavior of a traditional SNMP polling cycle.</t>

<figure title="Pull-Based Polling Request Example (NETCONF get-data)" anchor="fig-polling-example"><sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:pm-coll=
       "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
     message-id="401">
  <get-data
      xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda">
    <datastore
        xmlns:ds=
          "urn:ietf:params:xml:ns:yang:ietf-datastores">
      ds:operational
    </datastore>
    <subtree-filter>
      <pm-coll:pm-periodic-collection>
        <parameter-profile>
          <name>itu-transport-maintenance-15min</name>
          <pm-parameter>
            <name>es</name>
            <sampling-interval>
              <id>1s</id>
              <collection-interval>
                <id>15min</id>
                <collection-types>
                  <counts>
                    <collection-value/>
                  </counts>
                </collection-types>
              </collection-interval>
            </sampling-interval>
          </pm-parameter>
        </parameter-profile>
      </pm-coll:pm-periodic-collection>
    </subtree-filter>
  </get-data>
</rpc>
]]></sourcecode></figure>

<t><xref target="fig-polling-reply"/> shows the corresponding reply, in which the
server returns the current ES count of 7 accumulated during the
collection interval in progress. This is equivalent to the value
that a classical SNMP GET would retrieve from a performance-history
MIB object.</t>

<figure title="Pull-Based Polling Reply Example (NETCONF get-data)" anchor="fig-polling-reply"><sourcecode type="xml"><![CDATA[
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
           xmlns:pm-coll=
             "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
           message-id="401">
  <data>
    <pm-coll:pm-periodic-collection>
      <parameter-profile>
        <name>itu-transport-maintenance-15min</name>
        <pm-parameter>
          <name>es</name>
          <sampling-interval>
            <id>1s</id>
            <collection-interval>
              <id>15min</id>
              <collection-types>
                <counts>
                  <collection-value>7</collection-value>
                </counts>
              </collection-types>
            </collection-interval>
          </sampling-interval>
        </pm-parameter>
      </parameter-profile>
    </pm-coll:pm-periodic-collection>
  </data>
</rpc-reply>
]]></sourcecode></figure>

</section>
<section anchor="periodic-events"><name>Periodic Events</name>

<t>The YANG-Push subscription model, as defined in <xref target="RFC8641"/>,
enables clients to subscribe to periodic performance measurement
data from network elements. This model supports dynamic
subscription establishment, modification, and termination for
real-time streaming of PM data. Clients can specify subscription
parameters including the target datastore (operational), encoding
format (XML/JSON), and filtering criteria to receive only relevant
performance metrics. The subscription mechanism allows for
configurable update periods, enabling both high-frequency
monitoring and long-term trend analysis (e.g., 24-hour intervals).
Network elements generate periodic event notifications containing
the requested PM data, which clients can process for real-time
monitoring, historical analysis, or triggering automated responses
based on performance thresholds.</t>

<t><xref target="fig-periodic-sub-example"/> shows a subscription request for the
ES parameter in the <spanx style="verb">itu-transport-maintenance-15min</spanx> profile. It
requests counts measurement data sampled every second and
aggregated over a 15-minute interval. The reporting period is set
to 900 seconds, so a notification is sent at the end of each
collection interval.</t>

<figure title="Periodic Event Subscription Example" anchor="fig-periodic-sub-example"><sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:sn=
       "urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications"
     xmlns:pm-coll=
       "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
     message-id="101">
  <sn:establish-subscription>
    <sn:stream>YANG-PUSH</sn:stream>
    <sn:encoding>encode-xml</sn:encoding>
    <sn:filter>
      <sn:datastore>operational</sn:datastore>
      <sn:xpath-filter>
        /pm-coll:pm-periodic-collection/
          parameter-profile[name='itu-transport-maintenance-15min']/
          pm-parameter[name='es']/
          sampling-interval[id='1s']/
          collection-interval[id='15min']/
          collection-types/counts/collection-value
      </sn:xpath-filter>
    </sn:filter>
    <sn:period>900</sn:period>
    <sn:anchor-time>2024-07-01T00:00:00Z</sn:anchor-time>
  </sn:establish-subscription>
</rpc>
]]></sourcecode></figure>

<t><xref target="fig-periodic-notif-example"/> shows a notification for the ES
parameter in the <spanx style="verb">itu-transport-maintenance-15min</spanx> profile. It
reports the counts measurement value sampled every second and
aggregated over a 15-minute interval. The measured value (10)
represents the total errored seconds in that period.</t>

<figure title="Periodic Event Notification Example" anchor="fig-periodic-notif-example"><sourcecode type="xml"><![CDATA[
<notification
    xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"
    xmlns:pm-coll=
      "urn:ietf:params:xml:ns:yang:ietf-pm-collection">
  <eventTime>2024-07-01T00:15:00Z</eventTime>
  <pm-coll:pm-periodic-collection>
    <parameter-profile>
      <name>itu-transport-maintenance-15min</name>
      <pm-parameter>
        <name>es</name>
        <sampling-interval>
          <id>1s</id>
          <interval-value>1</interval-value>
          <unit>second</unit>
          <collection-interval>
            <id>15min</id>
            <interval-value>15</interval-value>
            <unit>minute</unit>
            <collection-types>
              <counts>
                <collection-value>10</collection-value>
              </counts>
            </collection-types>
          </collection-interval>
        </sampling-interval>
      </pm-parameter>
    </parameter-profile>
  </pm-coll:pm-periodic-collection>
</notification>
]]></sourcecode></figure>

</section>
<section anchor="threshold-events"><name>Threshold Events</name>

<t>Threshold event subscriptions enable clients to receive immediate
notifications when performance metrics cross predefined
thresholds, providing proactive monitoring capabilities. This
subscription type uses standard YANG-Push <xref target="RFC8639"/>
<xref target="RFC8641"/> datastore change notifications to deliver the
threshold events defined in this document.</t>

<section anchor="periodic-threshold-events"><name>Periodic Threshold Events</name>

<figure title="Periodic Threshold Events Subtree" anchor="fig-periodic-thr-tree"><artwork type="ascii-art"><![CDATA[
+--ro counts-transient
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro counts-standing
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro snapshot
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro tidemarks
   +--ro event-type?       enumeration
   +--ro event-occurred?   boolean
   +--ro event-time?       yang:date-and-time
]]></artwork></figure>

<t>When a performance parameter exceeds or falls below configured
thresholds for the periodic collection types of counts, snapshot,
and tidemarks, the network element generates event-driven
notifications containing the threshold crossing event type and
occurrence time (parameter values at the time of the event can be
read from the operational datastore if needed). This mechanism
supports four types of threshold events: count-transient-event
for immediate threshold crossings, count-standing-event for
persistent threshold violations, snapshot-event for instantaneous
value threshold crossings, and tidemark-event for extreme value
threshold crossings. These events enable rapid response to network
performance degradation and automated fault management. The
threshold event subscription complements periodic subscriptions by
providing real-time alerts for critical performance issues that
require immediate attention.</t>

<t><xref target="fig-threshold-sub-example"/> shows an example of the NETCONF
request to subscribe to all pm-threshold-events notifications in
the <spanx style="verb">ietf-pm-collection</spanx> model.</t>

<figure title="Threshold Event Subscription Example" anchor="fig-threshold-sub-example"><sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:sn=
       "urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications"
     xmlns:pm-coll=
       "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
     message-id="202">
  <sn:establish-subscription>
    <sn:stream>YANG-PUSH</sn:stream>
    <sn:encoding>encode-xml</sn:encoding>
    <sn:filter>
      <sn:datastore>operational</sn:datastore>
      <sn:xpath-filter>
        /pm-coll:pm-threshold-events
      </sn:xpath-filter>
    </sn:filter>
    <sn:period>1</sn:period>
    <sn:anchor-time>2024-07-01T00:00:00Z</sn:anchor-time>
  </sn:establish-subscription>
</rpc>
]]></sourcecode></figure>

<t><xref target="fig-threshold-notif-example"/> reports a high-OOR-event threshold
crossing for the snapshot measurement of the ES parameter in the
<spanx style="verb">itu-transport-maintenance-15min</spanx> profile, with 1-second sampling
and 15-minute collection interval. It shows the event type,
occurrence, and timestamp as defined in the YANG model.</t>

<figure title="Threshold Event Notification Example" anchor="fig-threshold-notif-example"><sourcecode type="xml"><![CDATA[
<notification
    xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"
    xmlns:pm-coll=
      "urn:ietf:params:xml:ns:yang:ietf-pm-collection">
  <eventTime>2024-07-01T00:05:23Z</eventTime>
  <pm-coll:pm-threshold-events>
    <periodic-events>
      <parameter-profile>
        <name>itu-transport-maintenance-15min</name>
        <pm-parameter>
          <name>es</name>
          <sampling-interval>
            <id>1s</id>
            <interval-value>1</interval-value>
            <unit>second</unit>
            <collection-interval>
              <id>15min</id>
              <interval-value>15</interval-value>
              <unit>minute</unit>
              <event-types>
                <snapshot>
                  <event-type>High-OOR-event</event-type>
                  <event-occurred>true</event-occurred>
                  <event-time>2024-07-01T00:05:23Z</event-time>
                </snapshot>
              </event-types>
            </collection-interval>
          </sampling-interval>
        </pm-parameter>
      </parameter-profile>
    </periodic-events>
  </pm-coll:pm-threshold-events>
</notification>
]]></sourcecode></figure>

</section>
<section anchor="non-periodic-threshold-events"><name>Non-Periodic Threshold Events</name>

<figure title="Non-Periodic Threshold Events Subtree" anchor="fig-nonperiodic-tree"><artwork type="ascii-art"><![CDATA[
+--ro non-periodic-events
   +--ro BUT-event
   |  +--ro event-occurred?   boolean
   |  +--ro event-time?       yang:date-and-time
   +--ro EUT-event
   |  +--ro event-occurred?   boolean
   |  +--ro event-time?       yang:date-and-time
   |  +--ro duration?         uint32
   +--ro CSES-event
      +--ro event-occurred?   boolean
      +--ro start?            yang:date-and-time
      +--ro end?              yang:date-and-time
      +--ro duration?         uint32
      +--ro error-count?      uint32
]]></artwork></figure>

<t>Non-periodic threshold event subscriptions provide immediate
notifications for critical network availability and error
conditions that occur independently of regular collection
intervals. These subscriptions monitor for specific events such as
BUT, EUT, and CSES that indicate significant network performance
degradation or service interruptions. When these events occur, the
network element generates immediate notifications containing event
details, timing information, and duration data. This subscription
type enables proactive network management by providing real-time
awareness of critical network conditions that require immediate
operator attention or automated intervention. Non-periodic
threshold events complement periodic monitoring by capturing
exceptional conditions that may not be detected through regular
interval-based measurements.</t>

</section>
</section>
</section>
<section anchor="yang-data-model"><name>YANG Data Model</name>

<t>The YANG module for PM measurements is defined below:</t>

<figure><sourcecode type="yang" markers="true" name="ietf-pm-collection@2026-05-02.yang"><![CDATA[
module ietf-pm-collection {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-pm-collection";
  prefix pm-coll;

  import ietf-yang-types {
    prefix yang;
    reference "RFC 6991: Common YANG Data Types";
  }

  organization
    "IETF IP Performance Metrics (ippm) Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ippm/>
     Editor: Bin Yeong Yoon <mailto:byyun@etri.re.kr>";
  description
    "This YANG module defines a data model for Collection
     Measurement of performance management (PM) data in network
     equipment, based on ITU-T G.7710. It specifies three core
     collection types: counts (cumulative events), snapshot
     (instantaneous values), and tidemarks (extreme values), as
     defined in ITU-T G.7710.

     The module enables proactive network monitoring through
     configurable sampling and collection intervals, supporting
     both high-frequency real-time monitoring and long-term trend
     analysis. It provides threshold event notifications for both
     periodic measurements and non-periodic events (BUT, EUT,
     CSES).

     The collected data can be retrieved by clients via
     pull-based mechanisms (e.g., NETCONF get-data) or delivered
     via push-based subscription mechanisms (e.g., YANG-Push).
     The design supports AI-driven applications, network digital
     twins, and dynamic network environments by enabling multiple
     simultaneous views of the same performance parameter with
     different temporal resolutions. This hierarchical structure
     allows operators, analytics systems, and digital twin
     platforms to access performance data at appropriate
     granularities while maintaining operational efficiency and
     cross-vendor interoperability.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.";

  revision 2026-05-02 {
    description
      "Renamed the module from ietf-pm-measurements to
       ietf-pm-collection (including namespace and prefix).

       Terminology and model alignment: prior wording and the
       measurement-methods container for counts, snapshot, and
       tidemarks were replaced by collection types and the
       collection-types container, per ITU-T G.7710 collection-
       type concepts.";
    reference
      "RFC XXXX: A YANG Data Model for Collection Measurement";
  }

  /*
   * TYPEDEFs
   */
  typedef profile-names {
    type string {
      pattern '[a-zA-Z][a-zA-Z0-9_-]*-[a-zA-Z][a-zA-Z0-9_-]*-'
            + '[a-zA-Z][a-zA-Z0-9_-]*(-[a-zA-Z][a-zA-Z0-9_-]*)?';
    }
    description
      "Parameter profile name following the format:
       <source>-<network>-<purpose>[-<characteristic>]

       Where:
       - <source>: Standards body or organization
         (e.g., itu, ieee, ietf)
       - <network>: Network domain or layer
         (e.g., transport, access, core)
       - <purpose>: Intended use or function
         (e.g., maintenance, qos, availability)
       - <characteristic>: Optional qualifying information
         (e.g., 15min, 24hr, high-priority)

       Examples:
       - itu-transport-maintenance-15min
       - itu-transport-maintenance-24hr
       - itu-transport-qos-24hr
       - ieee-access-availability";
  }

  typedef time-interval-unit {
    type enumeration {
      enum millisecond {
        description "Time interval in milliseconds.";
      }
      enum second {
        description "Time interval in seconds.";
      }
      enum minute {
        description "Time interval in minutes.";
      }
      enum hour {
        description "Time interval in hours.";
      }
    }
    description "Units for expressing time intervals.";
  }

  /*
   * IDENTITIES
   */
  identity periodic-events {
    description
      "Base identity for periodic event notifications.";
  }

  identity counts-transient {
    base periodic-events;
    description
      "Notification for transient threshold events in counts
       measurements.";
  }

  identity counts-standing {
    base periodic-events;
    description
      "Notification for standing threshold events in counts
       measurements.";
  }

  identity snapshot {
    base periodic-events;
    description
      "Notification for snapshot measurement threshold events.";
  }

  identity tidemarks {
    base periodic-events;
    description
      "Notification for tidemarks measurement threshold events.";
  }

  identity non-periodic-events {
    description
      "Base identity for non-periodic event notifications.";
  }

  identity but {
    base non-periodic-events;
    description
      "Notification for Begin Unavailable Time (BUT) events.";
  }

  identity eut {
    base non-periodic-events;
    description
      "Notification for End Unavailable Time (EUT) events.";
  }

  identity cses {
    base non-periodic-events;
    description
      "Notification for Consecutive Severely Errored Seconds
       (CSES) events.";
  }

  /*
   * COMMON GROUPINGS
   */
  grouping threshold-config {
    description
      "Common threshold configuration for snapshot and tidemarks
       measurement types (high and low thresholds).";
    leaf high-threshold {
      type uint32;
      description
        "High threshold that triggers alerts when exceeded.";
    }
    leaf low-threshold {
      type uint32;
      description
        "Low threshold that triggers alerts when performance
         falls below acceptable levels.";
    }
  }

  grouping transient-threshold-config {
    description
      "Threshold configuration for transient conditions.
       Transient thresholds only support high threshold crossings
       and report immediately when the count value reaches or
       crosses the configured transient threshold value.
       Transient thresholds do not support low threshold
       (underflow) conditions, unlike snapshot and tidemarks
       measurements which support both high and low thresholds.";
    leaf transient-threshold {
      type uint32;
      description
        "Transient threshold that triggers alerts when exceeded.
         Transient thresholds report immediately when the count
         value reaches or crosses this threshold value.";
    }
  }

  grouping event-state-info {
    description
      "Common event state information for all event types.";
    leaf event-occurred {
      type boolean;
      description
        "Indicates whether a threshold crossing or performance
         event has occurred.";
    }
    leaf event-time {
      type yang:date-and-time;
      description
        "Precise timestamp of when the event occurred.";
    }
  }

  grouping oor-event-type {
    description
      "Common out-of-range event type definition.";
    leaf event-type {
      type enumeration {
        enum High-OOR-event {
          description "High OOR threshold exceeded.";
        }
        enum Low-OOR-event {
          description "Low OOR threshold crossed.";
        }
      }
      description
        "Specifies whether the high or low OOR threshold was
         crossed.";
    }
  }

  grouping triggered-oor-event-info {
    description
      "Combined threshold event type and event information.";
    uses oor-event-type;
    uses event-state-info;
  }

  grouping count-transient-event-type {
    description
      "Transient threshold event type definition for counts
       measurements. Transient thresholds report immediately when
       the count value reaches or crosses a configured threshold
       value.";
    leaf event-type {
      type enumeration {
        enum Threshold-Crossed-Event {
          description
            "Threshold crossing event generated when count value
             reaches or crosses the configured threshold value.";
        }
      }
      description
        "Specifies that a threshold crossing event occurred.";
    }
  }

  grouping triggered-count-transient-event-info {
    description
      "Combined transient threshold event type and event
       information for counts measurements. Transient thresholds
       are independent threshold mechanisms that report
       immediately when count values cross configured threshold
       values.";
    uses count-transient-event-type;
    uses event-state-info;
  }

  grouping time-interval-config {
    description "Common time interval configuration.";
    leaf interval-value {
      type uint32;
      description "Numeric value for the interval.";
    }
    leaf unit {
      type time-interval-unit;
      description "Time unit for the interval value.";
    }
  }

  /*
   * COLLECTION TYPE GROUPINGS
   */
  grouping count-collection-gr {
    description
      "Counts measurement for cumulative event tracking over a
       collection interval. Supports transient and standing
       threshold reporting, as defined in G.7710.";
    container counts {
      description
        "Contains counts measurement values and configuration.";
      container transient-condition-config {
        description
          "Configuration for transient threshold conditions.
           Transient thresholds report immediately when the
           count value reaches or crosses the configured
           transient threshold value. Transient thresholds do
           not support low threshold (underflow) conditions,
           unlike snapshot and tidemarks measurements which
           support both high and low thresholds.";
        uses transient-threshold-config;
      }
      container standing-condition-config {
        must "not(standing-threshold and reset-threshold) or "
           + "standing-threshold >= reset-threshold" {
          error-message
            "Standing threshold must be >= reset threshold.";
        }
        description
          "Configuration for standing condition monitoring.
           When both thresholds are set, standing-threshold
           must be greater than or equal to reset-threshold
           (hysteresis).";
        leaf standing-threshold {
          type uint32;
          description
            "Threshold value that triggers standing condition
             alerts.";
        }
        leaf reset-threshold {
          type uint32;
          description
            "Reset threshold value that clears standing
             conditions.";
        }
      }
      leaf collection-value {
        type uint32;
        config false;
        description
          "Current cumulative count value for the collection
           interval.";
      }
    }
  }

  grouping snapshot-collection-gr {
    description
      "Snapshot measurements for instantaneous values at uniform
       time within each collection interval. Supports high/low
       OOR threshold reporting, as defined in G.7710.";
    container snapshot {
      description
        "Contains snapshot measurement configuration and values.";
      container uniform-time-config {
        description
          "Configuration for uniform time intervals between
           snapshots.";
        leaf interval-value {
          type uint32;
          default 1;
          description
            "Numeric value for the sampling interval between
             snapshots.";
        }
        leaf unit {
          type time-interval-unit;
          description
            "Time unit for the snapshot sampling interval.";
        }
      }
      container threshold-config {
        description
          "Configuration for snapshot threshold monitoring.";
        uses threshold-config;
      }
      leaf collection-value {
        type uint32;
        config false;
        description
          "Current instantaneous snapshot value.";
      }
    }
  }

  grouping tidemarks-collection-gr {
    description
      "Tidemarks measurements for maximum and minimum values
       over the collection interval. Supports high/low OOR
       threshold reporting, as defined in G.7710.";
    container tidemarks {
      description
        "Contains tidemarks measurement values and threshold
         configuration.";
      container threshold-config {
        description
          "Configuration for tidemarks threshold monitoring.";
        uses threshold-config;
      }
      leaf high-collection-value {
        type uint32;
        config false;
        description
          "Current maximum value recorded during the collection
           interval.";
      }
      leaf low-collection-value {
        type uint32;
        config false;
        description
          "Current minimum value recorded during the collection
           interval.";
      }
    }
  }

  grouping collection-types-gr {
    description
      "Grouping for the three core collection types (counts,
       snapshot, tidemarks) per ITU-T G.7710.";
    container collection-types {
      description
        "Container for the counts, snapshot, and tidemarks
         collection types.";
      uses count-collection-gr;
      uses snapshot-collection-gr;
      uses tidemarks-collection-gr;
    }
  }

  /*
   * EVENT GROUPINGS
   */
  grouping counts-transient-event-gr {
    description
      "Transient threshold events for counts measurements.
       Transient thresholds are independent threshold mechanisms
       that report immediately when count values cross configured
       threshold values.";
    container counts-transient {
      description
        "Contains information about transient threshold events
         for counts.";
      uses triggered-count-transient-event-info;
    }
  }

  grouping counts-standing-event-gr {
    description
      "Standing condition events for counts measurements.";
    container counts-standing {
      description
        "Contains information about standing threshold events
         for counts.";
      leaf event-type {
        type enumeration {
          enum Threshold-Report {
            description
              "Threshold Report (TR) generated when the count
               value reaches or exceeds the standing-threshold
               configured in standing-condition-config.";
          }
          enum Reset-Threshold-Report {
            description
              "Reset Threshold Report (RTR) generated at the end
               of the period when the count value is at or below
               the reset-threshold (G.7710 standing condition
               clear).";
          }
        }
        description
          "Specifies the type of standing threshold event that
           occurred, as defined in G.7710. A Threshold-Report
           (TR) is generated when the collection-value reaches
           or exceeds the standing-threshold. A
           Reset-Threshold-Report (RTR) is generated at the end
           of the period when the collection-value is at or
           below the reset-threshold.";
      }
      uses event-state-info;
    }
  }

  grouping snapshot-events-gr {
    description
      "Threshold events for snapshot measurements.";
    container snapshot {
      description
        "Contains snapshot threshold event information.";
      uses triggered-oor-event-info;
    }
  }

  grouping tidemarks-events-gr {
    description
      "Threshold events for tidemarks measurements.";
    container tidemarks {
      description
        "Contains tidemarks threshold event information.";
      uses triggered-oor-event-info;
    }
  }

  /*
   * COLLECTION INTERVAL STRUCTURES
   */
  grouping periodic-collection-intervals {
    description
      "Hierarchical structure for periodic measurement timing
       and collection types.";
    list sampling-interval {
      key "id";
      description
        "List of sampling intervals defining data collection
         frequency.";
      leaf id {
        type string;
        description
          "Unique identifier for this sampling interval
           configuration.";
      }
      leaf interval-value {
        type uint32;
        default 1;
        description "Numeric value for the sampling interval.";
      }
      leaf unit {
        type time-interval-unit;
        default second;
        description "Time unit for the sampling interval value.";
      }
      list collection-interval {
        key "id";
        description
          "List of collection intervals defining aggregation
           periods.";
        leaf id {
          type string;
          description
            "Unique identifier for this collection interval
             configuration.";
        }
        leaf interval-value {
          type uint32;
          default 15;
          description
            "Numeric value for the collection interval.";
        }
        leaf unit {
          type time-interval-unit;
          default minute;
          description
            "Time unit for the collection interval value.";
        }
        uses collection-types-gr;
      }
    }
  }

  grouping non-periodic-events-gr {
    description
      "Grouping for non-periodic performance event parameters
       (BUT, EUT, CSES).";
    container BUT-event {
      description "Begin Unavailable Time (BUT) event.";
      uses event-state-info;
    }
    container EUT-event {
      description "End Unavailable Time (EUT) event.";
      uses event-state-info;
      leaf duration {
        type uint32;
        units "seconds";
        description
          "Total duration of unavailability in seconds.";
      }
    }
    container CSES-event {
      description
        "Consecutive Severely Errored Seconds (CSES) event.";
      leaf event-occurred {
        type boolean;
        description
          "Indicates whether a CSES event was generated.";
      }
      leaf start {
        type yang:date-and-time;
        description
          "Timestamp indicating when the CSES period began.";
      }
      leaf end {
        type yang:date-and-time;
        description
          "Timestamp indicating when the CSES period ended.";
      }
      leaf duration {
        type uint32;
        units "seconds";
        description "Duration of the CSES period in seconds.";
      }
      leaf error-count {
        type uint32;
        description
          "Number of errors during the CSES period.";
      }
    }
  }

  grouping pm-periodic-collection-gr {
    description
      "Hierarchical structure for periodic performance
       measurements.";
    list parameter-profile {
      key "name";
      description "List of performance parameter profiles.";
      leaf name {
        type profile-names;
        description "Name of the parameter profile.";
      }
      list pm-parameter {
        key "name";
        description
          "List of PM parameters within the parameter profile.";
        leaf name {
          type string;
          description
            "Name of the performance parameter being measured.";
        }
        uses periodic-collection-intervals;
      }
    }
  }

  /*
   * MAIN CONTAINER
   */
  container pm-periodic-collection {
    description
      "Main container for periodic performance measurements.";
    uses pm-periodic-collection-gr;
  }

  /*
   * NOTIFICATIONS
   */
  notification pm-threshold-events {
    description
      "Notification for periodic threshold crossing events and
       non-periodic performance events (BUT, EUT, CSES).";
    container periodic-events {
      description "Container for periodic threshold events.";
      list parameter-profile {
        key "name";
        description
          "List of performance parameter profiles for event
           monitoring.";
        leaf name {
          type profile-names;
          description "Name of the parameter profile.";
        }
        list pm-parameter {
          key "name";
          description
            "List of PM parameters within the parameter
             profile.";
          leaf name {
            type string;
            description
              "Name of the performance parameter being
               monitored.";
          }
          list sampling-interval {
            key "id";
            description
              "List of sampling intervals for event monitoring.";
            leaf id {
              type string;
              description
                "Unique identifier for this sampling interval
                 configuration.";
            }
            uses time-interval-config;
            list collection-interval {
              key "id";
              description
                "List of collection intervals for event
                 aggregation.";
              leaf id {
                type string;
                description
                  "Unique identifier for this collection
                   interval configuration.";
              }
              uses time-interval-config;
              container event-types {
                description
                  "Container for different threshold event
                   types.";
                uses counts-transient-event-gr;
                uses counts-standing-event-gr;
                uses snapshot-events-gr;
                uses tidemarks-events-gr;
              }
            }
          }
        }
      }
    }

    container non-periodic-events {
      description
        "Container for non-periodic performance events (BUT,
         EUT, CSES).";
      uses non-periodic-events-gr;
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="yang-data-trees"><name>YANG Data Trees</name>

<figure title="Tree of pm measurements module" anchor="fig-ni-tree"><artwork type="ascii-art"><![CDATA[
module: ietf-pm-collection
  +--rw pm-periodic-collection
     +--rw parameter-profile* [name]
        +--rw name              profile-names
        +--rw pm-parameter* [name]
           +--rw name                 string
           +--rw sampling-interval* [id]
              +--rw id                 string
              +--rw interval-value?    uint32
              +--rw unit?              time-interval-unit
              +--rw collection-interval* [id]
                 +--rw id              string
                 +--rw interval-value? uint32
                 +--rw unit?           time-interval-unit
                 +--rw collection-types
                    +--rw counts
                    |  +--rw transient-condition-config
                    |  |  +--rw transient-threshold?   uint32
                    |  +--rw standing-condition-config
                    |  |  +--rw standing-threshold?    uint32
                    |  |  +--rw reset-threshold?       uint32
                    |  +--ro collection-value?        uint32
                    +--rw snapshot
                    |  +--rw uniform-time-config
                    |  |  +--rw interval-value?   uint32
                    |  |  +--rw unit?             time-interval-unit
                    |  +--rw threshold-config
                    |  |  +--rw high-threshold?   uint32
                    |  |  +--rw low-threshold?    uint32
                    |  +--ro collection-value?   uint32
                    +--rw tidemarks
                       +--rw threshold-config
                       |  +--rw high-threshold?   uint32
                       |  +--rw low-threshold?    uint32
                       +--ro high-collection-value?   uint32
                       +--ro low-collection-value?    uint32

  notifications:
    +---n pm-threshold-events
       +--ro periodic-events
       |  +--ro parameter-profile* [name]
       |     +--ro name              profile-names
       |     +--ro pm-parameter* [name]
       |        +--ro name                 string
       |        +--ro sampling-interval* [id]
       |           +--ro id                 string
       |           +--ro interval-value?    uint32
       |           +--ro unit?              time-interval-unit
       |           +--ro collection-interval* [id]
       |              +--ro id              string
       |              +--ro interval-value? uint32
       |              +--ro unit?           time-interval-unit
       |              +--ro event-types
       |                 +--ro counts-transient
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro counts-standing
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro snapshot
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro tidemarks
       |                    +--ro event-type?      enumeration
       |                    +--ro event-occurred?  boolean
       |                    +--ro event-time?      yang:date-and-time
       +--ro non-periodic-events
          +--ro BUT-event
          |  +--ro event-occurred?   boolean
          |  +--ro event-time?       yang:date-and-time
          +--ro EUT-event
          |  +--ro event-occurred?   boolean
          |  +--ro event-time?       yang:date-and-time
          |  +--ro duration?         uint32
          +--ro CSES-event
             +--ro event-occurred?   boolean
             +--ro start?            yang:date-and-time
             +--ro end?              yang:date-and-time
             +--ro duration?         uint32
             +--ro error-count?      uint32
]]></artwork></figure>

</section>
<section anchor="manageability-considerations"><name>Manageability Considerations</name>

<t>This section will be completed in a future revision of this
document. Considerations to be addressed include the operational
impact of large numbers of concurrent YANG-Push subscriptions for
PM data, alignment of collection intervals with NE clock sources,
and interaction with existing fault and configuration management
workflows.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section will be completed in a future revision of this
document. The YANG module defined in this document defines data
nodes that are designed to be accessed via network management
protocols such as NETCONF <xref target="RFC6241"/> or RESTCONF. The lowest
NETCONF layer is the secure transport layer, and the mandatory-
to-implement secure transport is Secure Shell (SSH). The Network
Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides
the means to restrict access for particular NETCONF or RESTCONF
users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content. Detailed analysis of
sensitive readable nodes, writable nodes, and RPC operations
will be added in a future revision.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to register the following URI in
the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>:</t>

<t>URI: urn:ietf:params:xml:ns:yang:ietf-pm-collection
   Registrant Contact: The IESG.
   XML: N/A; the requested URI is an XML namespace.</t>

<t>This document also requests IANA to register the following YANG
module in the "YANG Module Names" registry <xref target="RFC6020"/>:</t>

<t>Name:         ietf-pm-collection
   Namespace:    urn:ietf:params:xml:ns:yang:ietf-pm-collection
   Prefix:       pm-coll
   Reference:    RFC XXXX</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="G7710" target="https://www.itu.int/rec/T-REC-G.7710">
  <front>
    <title>Common Equipment Management Function Requirements</title>
    <author >
      <organization>ITU-T</organization>
    </author>
    <date year="2025" month="November"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation G.7710"/>
</reference>


<reference anchor="RFC8639">
  <front>
    <title>Subscription to YANG Notifications</title>
    <author fullname="E. Voit" initials="E." surname="Voit"/>
    <author fullname="A. Clemm" initials="A." surname="Clemm"/>
    <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
    <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
    <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
    <date month="September" year="2019"/>
    <abstract>
      <t>This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams. Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8639"/>
  <seriesInfo name="DOI" value="10.17487/RFC8639"/>
</reference>
<reference anchor="RFC8641">
  <front>
    <title>Subscription to YANG Notifications for Datastore Updates</title>
    <author fullname="A. Clemm" initials="A." surname="Clemm"/>
    <author fullname="E. Voit" initials="E." surname="Voit"/>
    <date month="September" year="2019"/>
    <abstract>
      <t>This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore. Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8641"/>
  <seriesInfo name="DOI" value="10.17487/RFC8641"/>
</reference>
<reference anchor="RFC8640">
  <front>
    <title>Dynamic Subscription to YANG Events and Datastores over NETCONF</title>
    <author fullname="E. Voit" initials="E." surname="Voit"/>
    <author fullname="A. Clemm" initials="A." surname="Clemm"/>
    <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
    <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
    <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
    <date month="September" year="2019"/>
    <abstract>
      <t>This document provides a Network Configuration Protocol (NETCONF) binding to the dynamic subscription capability of both subscribed notifications and YANG-Push.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8640"/>
  <seriesInfo name="DOI" value="10.17487/RFC8640"/>
</reference>
<reference anchor="RFC8342">
  <front>
    <title>Network Management Datastore Architecture (NMDA)</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
    <author fullname="P. Shafer" initials="P." surname="Shafer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="R. Wilton" initials="R." surname="Wilton"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8342"/>
  <seriesInfo name="DOI" value="10.17487/RFC8342"/>
</reference>
<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>
<reference anchor="RFC6020">
  <front>
    <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <date month="October" year="2010"/>
    <abstract>
      <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6020"/>
  <seriesInfo name="DOI" value="10.17487/RFC6020"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC4656">
  <front>
    <title>A One-way Active Measurement Protocol (OWAMP)</title>
    <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
    <author fullname="B. Teitelbaum" initials="B." surname="Teitelbaum"/>
    <author fullname="A. Karp" initials="A." surname="Karp"/>
    <author fullname="J. Boote" initials="J." surname="Boote"/>
    <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
    <date month="September" year="2006"/>
    <abstract>
      <t>The One-Way Active Measurement Protocol (OWAMP) measures unidirectional characteristics such as one-way delay and one-way loss. High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA). OWAMP enables the interoperability of these measurements. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4656"/>
  <seriesInfo name="DOI" value="10.17487/RFC4656"/>
</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="RFC9197">
  <front>
    <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
    <author fullname="F. Brockners" initials="F." role="editor" surname="Brockners"/>
    <author fullname="S. Bhandari" initials="S." role="editor" surname="Bhandari"/>
    <author fullname="T. Mizrahi" initials="T." role="editor" surname="Mizrahi"/>
    <date month="May" year="2022"/>
    <abstract>
      <t>In situ Operations, Administration, and Maintenance (IOAM) collects operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document discusses the data fields and associated data types for IOAM. IOAM-Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6. IOAM can be used to complement OAM mechanisms based on, e.g., ICMP or other types of probe packets.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9197"/>
  <seriesInfo name="DOI" value="10.17487/RFC9197"/>
</reference>
<reference anchor="RFC3593">
  <front>
    <title>Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals</title>
    <author fullname="K. Tesink" initials="K." role="editor" surname="Tesink"/>
    <date month="September" year="2003"/>
    <abstract>
      <t>This document defines a set of Textual Conventions for MIB modules that make use of performance history data based on 15 minute intervals. This memo replaces RFC 2493. Changes relative to RFC 2493 are summarized in the MIB module's REVISION clause. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3593"/>
  <seriesInfo name="DOI" value="10.17487/RFC3593"/>
</reference>
<reference anchor="RFC3705">
  <front>
    <title>High Capacity Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals</title>
    <author fullname="B. Ray" initials="B." surname="Ray"/>
    <author fullname="R. Abbi" initials="R." surname="Abbi"/>
    <date month="February" year="2004"/>
    <abstract>
      <t>This document presents a set of High Capacity Textual Conventions for use in MIB modules which require performance history based upon 15 minute intervals. The Textual Conventions defined in this document extend the conventions presented in RFC 3593 to 64 bit resolution using the conventions presented in RFC 2856. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3705"/>
  <seriesInfo name="DOI" value="10.17487/RFC3705"/>
</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="RFC2330">
  <front>
    <title>Framework for IP Performance Metrics</title>
    <author fullname="V. Paxson" initials="V." surname="Paxson"/>
    <author fullname="G. Almes" initials="G." surname="Almes"/>
    <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
    <author fullname="M. Mathis" initials="M." surname="Mathis"/>
    <date month="May" year="1998"/>
    <abstract>
      <t>The purpose of this memo is to define a general framework for particular metrics to be developed by the IETF's IP Performance Metrics effort. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2330"/>
  <seriesInfo name="DOI" value="10.17487/RFC2330"/>
</reference>
<reference anchor="RFC8341">
  <front>
    <title>Network Configuration Access Control Model</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
      <t>This document obsoletes RFC 6536.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="91"/>
  <seriesInfo name="RFC" value="8341"/>
  <seriesInfo name="DOI" value="10.17487/RFC8341"/>
</reference>
<reference anchor="RFC3688">
  <front>
    <title>The IETF XML Registry</title>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="81"/>
  <seriesInfo name="RFC" value="3688"/>
  <seriesInfo name="DOI" value="10.17487/RFC3688"/>
</reference>



    </references>

</references>


    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="K." surname="Lee" fullname="Kwangkoog Lee">
      <organization>KT</organization>
      <address>
        <email>kwangkoog.lee@kt.com</email>
      </address>
    </contact>
    <contact initials="J." surname="Shin" fullname="Jongyoon Shin">
      <organization>SK Telecom</organization>
      <address>
        <email>jongyoon.shin@sk.com</email>
      </address>
    </contact>
    <contact initials="S." surname="Nam" fullname="Sungyong Nam">
      <organization>LGU+</organization>
      <address>
        <email>sy.nam@lguplus.co.kr</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+V9a3cbx5Xg9/oVvdQHgzFA6mHZMSUroWjK5kSkOCI1Tibj
s24CTbIjAI10N0Qxlva3731V1a3qagCUNcnZWZ5EJoHuqltVt+77MRqNTFu2
02Iv29rP/rJ/8kP2fd7m2XE1KabZZVVnB9V0Wozbsppnx0XeLOtiVszbLZNf
XNTFO3gt/QCNtWXGeVtcVfXtXta0E2Mm1Xiez2CySZ1ftqPbqpqPysViNhq7
QUYzHmR0/75plhezsmng0/Z2AW8dHZ6/MPPl7KKo98wEht4z42reFPNm2exl
l/m0KQyA9MjcVPXbq7paLuCd09Pj7Cf4u5xfZT/gZ+ZtcQsPTPZMNsoWRQ2r
nOXzcZHBv/kVQY/feJDwr5lfmjHvivkS5s6yq7K9Xl7AJlyU89uiml/xior2
chf/GcHKmrYu8hlMvgXPTwHmpoXnr9t20ezt7nbe2+Ehd8qqO8Lu+l3buW5n
0y1j8mV7XdUI4gj+n2W868/LefYXnC77S4XLgp+qvtrLDs9fH9FfxSwvp3vZ
xe3tcv7Hoq3LHRjybR0N85dqOb96W07xFz/ITVXV5WhetHqkW3z0j+6rnXE1
M3hmMPTFsu1C+KebHIauqqvsZVH4sf90rgd9ax/amRbFH9/yqOE4/yZ7mp1d
l2qhZ3/KzgvYMnrejfc3eXingYf/2LxNjHe2xEdg407ymR/u5Q9vvtQDNbc7
8Pgfp1fLxXTZwDC4d2aO+NWW7whjfvjmmwf39+gluXcH1WwGgB7+fVku6OYc
OzTMXiznfLNeF/A1o19DL/sDdtAcnb8Z8T7R1cge3n/4ePTgAc+V11cFIJ7F
u5ubm52yXe6U83a3Lsa756PXhwejH3YQOnqhKeqyaMr5ZWXnoOH3ABLYHYAD
5kDA5BWDT7plmtFolOUXgLj5GK7L+XXZZHD1l7SmZlGMy0sYPMuZ4EyQ4MwS
BMdoenKRN8Ukgxnb6yI7VbdWbdfg9Hhbv39pt69W25dNistyDmPBZaA1yRp2
snMYmeFY1NW4aJqiMXV+E9AIArbJZ4spjJC3sAZAayQ32RzezPL5BF+eLOF1
A+tfjltYwIRfa6/hhXE+zy4KgAiuQPEOvrq4zcbTkiB7V+bZYjmdjmixZlaM
r/N52cwaOGAAewqbi4PxY801P5apx5rl+DrLG9rX0Sk8shNt/qSCfZ9XrWwC
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
fM2bKf0P6DvXKeP/AgNkqB+uOAEA

-->

</rfc>

