<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wqb-tvr-applicability-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title abbrev="Applicability Statement">Applicability of YANG Data Models for Scheduling of Network Resources</title>
    <seriesInfo name="Internet-Draft" value="draft-wqb-tvr-applicability-00"/>
    <author fullname="Li Zhang">
      <organization>Huawei</organization>
      <address>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author fullname="Qiufang Ma">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>maqiufang1@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2024" month="September" day="11"/>
    <area>AREA</area>
    <workgroup>TVR</workgroup>
    <keyword>schedule</keyword>
    <keyword>framework</keyword>
    <keyword>YANG module</keyword>
    <keyword>applicability</keyword>
    <abstract>
      <?line 70?>

<t>This document provides an applicability statement on how the Time-Variant Routing (TVR)
data model may be used for scheduling in specific time variant network cases, to meet
the requirements of a set of representative use cases described in the
"TVR (Time-Variant Routing) Requirements" (I-D.ietf-tvr-requirements).</t>
      <t>It also presents a framework that elucidates various scheduling scenarios
and identifies the entities involved in requesting scheduled changes of
network resources.</t>
    </abstract>
  </front>
  <middle>
    <?line 82?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Scheduling-related tasks are usually considered for efficient and deterministic
network management. Such scheduling may be characterized as simple recurrent tasks
such as planned activation/deactivation of some network accesses, or can be
more complex such as scheduling placement of requests and planned invocation
of resources to satisfy service demands or adhere to local networks policies.
Many common building blocks are required for all these cases for adequate
management of schedules and related scheduled actions.</t>
      <t>This document provides an applicability statement on how the Time-Variant Routing (TVR) data model may
be used for scheduling in specific time variant network cases, to meet the requirements
of a set of representative TVR use cases described in
<xref target="I-D.ietf-tvr-requirements"/>. By leveraging a reference framework presented in this
document, it shows how IETF data models in <xref target="I-D.ietf-tvr-schedule-yang"/> can fit into
this framework and streamline the management and orchestration of network resources
based on precise date and time parameters.</t>
      <t>The document also provides guidelines for implementing
scheduling capabilities across diverse network architectures, ensuring
that resources are allocated and utilized in a timely and effective manner.</t>
      <t>In addition, the document outlines several challenges that must be considered when
deploying control mechanisms for scheduling network resources, including:</t>
      <ul spacing="normal">
        <li>
          <t>Discover where and what scheduling state is held.</t>
        </li>
        <li>
          <t>Specify to apply schedule policies and detect and resolve conflicts.</t>
        </li>
        <li>
          <t>Ensure synchronization of scheduled resources across distributed systems.</t>
        </li>
        <li>
          <t>Establish a scalable and resilient scheduling system.</t>
        </li>
        <li>
          <t>Ensure that a scheduling system can scale to accommodate complex networks
with numerous resources and scheduling requests.</t>
        </li>
        <li>
          <t>Ensure that the a scheduling system remains operational and can recover from
failures or disruptions, providing redundancy, failover mechanisms, and
robust error handling.</t>
        </li>
        <li>
          <t>Secure scheduled resources.</t>
        </li>
        <li>
          <t>Identify what mechanisms and policies could be applied to protect scheduling data
and operations from unauthorized access and ensuring that only authorized
entities can create, modify, or retrieve schedules.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editors Note: pointers to sections where each of these items is described will
be provided in future version.</t>
        </li>
      </ul>
      <t>Key use cases highlight how the proposed framework can be used for scheduling
scenarios. The applicable IETF YANG modules are described, as well as
other dependencies that are needed.</t>
      <!--
## Problem Statement

Efficient and coordinated use of resources
is paramount for maintaining optimal performance and reliability of many network environments. Networks are
increasingly complex, supporting a wide variety of services and applications that
require precise timing and resource allocation. Despite advancements in networking
techniques and the richness of protocols machinery, there is still a lack of reference architectures for scheduling
resources based on specific date and time parameters. This gap often leads to
inefficiencies, conflicts, and suboptimal utilization of network capabilities.

Typically, network administrators rely upon disparate and often proprietary tools
to manage scheduling for various network activities such as maintenance events,
policy enforcement, and resource allocation. These tools genrally operate in
isolation, lacking interoperability and integration with other network management
systems. As a result, administrators face significant challenges in coordinating
schedules, resolving conflicts, and ensuring that critical tasks are executed
without disruption. The absence of a unified scheduling framework exacerbates
these issues, leading to increased operational overhead and potential service
degradation (e.g., lack of integration with service impact analysis).

Furthermore, the dynamic nature of some networks demands a flexible and adaptive
scheduling solution that can respond to changing conditions and requirements.
Existing scheduling approaches are often rigid and static, unable to accommodate
the fluid demands of network services and applications. This rigidity hinders the
ability to optimize resource use and respond proactively to network events,
impacting the overall efficiency and effectiveness of network
operations.

To address these challenges, there is a clear need for a standardized framework
that can provide a cohesive approach to scheduling network resources. Such a
framework leverages existing YANG models to ensure compatibility and ease
of integration with current network management practices. By standardizing the
scheduling process, network operators can achieve greater predictability,
reduce conflicts, and optimize the use of network resources, thereby
enhancing the performance and reliability of their networks.

## Background

There is an existing framework {{RFC8413}} for the use of scheduled resources.
This document outlines a framework detailing the architecture for supporting
the scheduled reservation of Traffic Engineering (TE) resources. It focuses
on the conceptual and architectural aspects, without delving into
specific protocols or protocol extensions required to implement this
service.

More recently, several specifications include a provision for scheduling.
Examples of such specifications are (but not limited to) {{I-D.ietf-opsawg-ucl-acl}},
{{I-D.contreras-opsawg-scheduling-oam-tests}}, and {{I-D.ietf-tvr-schedule-yang}}.
The development of {{I-D.ietf-netmod-schedule-yang}} is intended to be served
as common building blocks and provides a common schedule YANG module that can be
reused in scheduling contexts such as event, policy, services, or resources based
on date and time.

Combined, {{I-D.ietf-netmod-schedule-yang}} and other documents built on top of
it (e.g., {{I-D.ietf-opsawg-ucl-acl}}, {{I-D.contreras-opsawg-scheduling-oam-tests}},
and {{I-D.ietf-tvr-schedule-yang}}) provide powerful capabilities for the control and
scheduling of network resources for several use cases, including key examples
outlined in this document.
-->

</section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used in this document:</t>
      <ul spacing="normal">
        <li>
          <dl>
            <dt>Schedule Service Requester:</dt>
            <dd>
              <t>An entity that issues a scheduling request of network events, policies, services,
and resources.</t>
            </dd>
          </dl>
        </li>
        <li>
          <dl>
            <dt>Schedule Service Responder:</dt>
            <dd>
              <t>An entity that handles scheduling requests from a Schedule Service Requester.</t>
            </dd>
          </dl>
        </li>
        <li>
          <dl>
            <dt>Schedule Manager:</dt>
            <dd>
              <t>A functional entity that is managing the scheduling operations.</t>
            </dd>
          </dl>
        </li>
        <li>
          <dl>
            <dt>Policy Engine:</dt>
            <dd>
              <t>A functional entity that is responsible for enforcing a set of polices or rules
in the network.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="architecture">
      <name>A Reference Architecture</name>
      <t><xref target="arch"/> presents a reference architecture for the control scheduling of
network resources.</t>
      <figure anchor="arch">
        <name>An Architecture for the Scheduled Network Scenarios</name>
        <artwork align="center"><![CDATA[
          +-------------------------------------------------+
          |            Schedule Service Requester           |
          +-----+------------------------------------^------+
                |                                    |
                |Request                             |Response
                |                                    |
          +-----v------------------------------------+------+
          |            Schedule Service Responder           |
          |                                                 |
          |   +---------+                     +---------+   |
          |   |         |                     |         |   |
          |   | Schedule|                     | Conflict|   |
          |   | Manager |                     | Resolver|   |
          |   |         |                     |         |   |
          |   +---------+                     +---------+   |
          |                                                 |
          |   +---------+                     +---------+   |
          |   |         |                     |         |   |
          |   | Resource|                     | Policy  |   |
          |   | Manager |                     | Engine  |   |
          |   |         |                     |         |   |
          |   +---------+                     +---------+   |
          |                                                 |
          +----------------------+--------------------------+
                                 |
                                 |
                                 |
                                 |
     +---------------------------+-----------------------------+
     |              Network Resources and Inventory            |
     +---------------------------------------------------------+
]]></artwork>
      </figure>
      <section anchor="functional-components">
        <name>Functional Components</name>
        <section anchor="scheduled-service-requester">
          <name>Scheduled Service Requester</name>
          <t>The entity requesting a resource schedule change can vary widely. For example,
a network administrator may seek to restrict or limit access to specific network
resources based on day or time to optimize performance and enhance security.</t>
          <t>Additionally, higher-layer Operations Support System (OSS) components may impose
restrictions on network resources in response to changing network conditions,
ensuring service continuity and compliance with operational policies. Automated
systems and AI-driven components can also request dynamic adjustments based on
real-time data, facilitating predictive maintenance and optimizing resource
usage to maintain peak network efficiency.</t>
        </section>
        <section anchor="scheduled-service-responder">
          <name>Scheduled Service Responder</name>
          <t>This component is responsibile handling scheduling orders. That is, this entity manages and coordinates
all network scheduling activities. The extact internal structure of this entity is deployment-specific; however this
document describes an example internla decomposition of this entity:</t>
          <ul spacing="normal">
            <li>
              <dl>
                <dt>Resource Manager:</dt>
                <dd>
                  <t>Manages the network resources that are subject to scheduling.</t>
                </dd>
              </dl>
            </li>
            <li>
              <dl>
                <dt>Schedule Manager:</dt>
                <dd>
                  <t>Handles creation, modification, deletion, and querying of schedules.</t>
                </dd>
              </dl>
            </li>
            <li>
              <dl>
                <dt>Conflict Resolver:</dt>
                <dd>
                  <t>Detects and resolves scheduling conflicts based on predefined
policies and priorities.</t>
                </dd>
              </dl>
            </li>
            <li>
              <dl>
                <dt>Policy Engine:</dt>
                <dd>
                  <t>Enforces scheduling policies and rules, ensuring compliance with
organizational requirements.</t>
                </dd>
              </dl>
            </li>
          </ul>
          <t>Examples of a schedule service responder may be a network controller, network
management system or the network device itself.</t>
        </section>
      </section>
      <section anchor="functional-interfaces">
        <name>Functional Interfaces</name>
        <t>To support the scheduling of network resources effectively, several
functional interfaces are required. These interfaces interconnect
different components of the network scheduling
system, ensuring seamless integration and operation, these include:</t>
        <ul spacing="normal">
          <li>
            <dl>
              <dt>Schedule Service Requester and Responder API:</dt>
              <dd>
                <t>Schedule resource order creation,
order modification, and deletion requests and responses. Querying of
current and upcoming schedules, conflict and alert notifications.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Schedule Service Responder and Network API:</dt>
              <dd>
                <t>Manages interactions with
the network resources, inventory systems, planning systems, etc. Capable of querying
available resources, allocating and deallocating resources based on
current schedule plan, and monitoring resource utilization.</t>
              </dd>
            </dl>
          </li>
        </ul>
      </section>
      <section anchor="data-sources">
        <name>Data Sources</name>
        <t>When scheduling network resources, a variety of data sources are
required to accurately assess the network state and make informed
scheduling decisions. Here are some example data sources that will be
required:</t>
        <ul spacing="normal">
          <li>
            <dl>
              <dt>Network Topology Information:</dt>
              <dd>
                <t>Connection details about the physical
and logical layout of the network, including nodes, ports/links,
and interconnections.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Network Resource Inventory:</dt>
              <dd>
                <t>A comprehensive list of deployed network
resources that are not currently in service, but may be available if
enabled.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Current Network Utilization:</dt>
              <dd>
                <t>Real-time data on the current usage of
network resources, including bandwidth consumption, CPU load,
memory usage, and power consumption.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Historic Network Utilization:</dt>
              <dd>
                <t>Past data on the current usage of network
resources, including bandwidth consumption, CPU load, memory usage,
and power consumption.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Scheduled Maintenance and Planned Outages:</dt>
              <dd>
                <t>Information on planned
maintenance activities, scheduled downtimes, and service windows.</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>It is critical to leverage these diverse data sources, so network
administrators and automated systems can make well-informed scheduling
decisions that optimize resource utilization, maintain network
performance, and ensure service reliability.</t>
      </section>
      <section anchor="state-management">
        <name>State Management</name>
        <t>The scheduling state is maintained in the schedule manager, which is responsible
for the creation, deletion, modification, and query of scheduling information.</t>
        <t>Groupings "schedule-status" and "schedule-status-with-name" in the "ietf-schedule"
YANG module <xref target="I-D.ietf-netmod-schedule-yang"/> define common parameters for scheduling
management, including status exposure.</t>
      </section>
      <section anchor="policy-and-enforcement">
        <name>Policy and Enforcement</name>
        <t>Policies are a set of rules to administer, manage, and control access to network
resources. For example, the following shows an example of a scheduled interface policy:</t>
        <artwork><![CDATA[
Disable interface ethernet0/1/1 time 2025-12-01T08:00:00Z
/2025-12-15T18:00:00Z
]]></artwork>
        <t>A set of scheduling policies and rules are maintained by the policy engine,
which is responsible for the policy enforcement. Policies are triggered to execute
at a certain time based on the scheduling parameters. Each policy might be executed
multiple times, depending on the its scheduling type (one-shot vs. recurrence).</t>
      </section>
      <section anchor="synchronization">
        <name>Synchronization</name>
        <t>It is critical to ensure all network schedule entities, including
controllers and management systems are synchronized to a common time
reference. System instability and unpredictability might be caused if
there is any time inconsistencies between entities that request/respond to
policies or events based on time-varying parameters. Several methods are
available to achieve this.</t>
        <!--
# Procedures and Other Dependencies


## YANG Data Models {#schedule-modules}

This document is not intended to define any YANG modules, but shows how existing
schedule-related YANG modules could fit into this framework. The following provides
a list of applicable YANG modules that can be used to exchange data between schedule
service requester and responder:


  * {{I-D.ietf-netmod-schedule-yang}} defines "ietf-schedule" YANG
    module for scheduling that works as common building blocks for YANG modules
    described in this section. The module doesn't define any
    protocol-accessible nodes but a set of reusable groupings applicable to be used
    in any scheduling contexts.

 * The "ietf-ucl-acl" YANG module defined in {{I-D.ietf-opsawg-ucl-acl}} augments
   the IETF Access Ccontrol List (ACL) model {{RFC8519}} with schedule parameters to allow each Access
   Control Entry (ACE) to be activated based on date and time conditions.

 * The "ietf-tvr-node" YANG module in {{I-D.ietf-tvr-schedule-yang}} which is
   a device model, is designed to manage a single node with scheduled
   attributes (e.g., powered on/off).

 * The "ietf-tvr-topology" YANG module in {{I-D.ietf-tvr-schedule-yang}} is used
   to manage the network topology with time-varying attributes
   (e.g., node/link availability, link bandwidth, or delay).

 * The "ietf-oam-unitary-test" in {{I-D.contreras-opsawg-scheduling-oam-tests}}
   defines how to perform scheduled network diagnosis using
   (Operations, Administration, and Maintenance) OAM unitary test.

 * The "ietf-oam-test-sequence" in {{I-D.contreras-opsawg-scheduling-oam-tests}}
   is defined to perform a collection of OAM unitary tests based on date and time
   constraints.

## Procedures

### Generating Schedule

TODO

### Distributing Schedule

Schedules distribution means that network schedules are distributed to the execution
devices by YANG model. Schedules distribution is not mandatory. This depends on the
location where the schedules are executed. If the schedules are generated and executed
on the same device, schedules distribution is not required. If schedules are generated
and executed on different devices, the schedules distribution is needed. Note that if
a schedule affects topology and a distributed routing protocol is used, then the schedule
needs to be distributed to all the nodes in the topology, so that other nodes can consider
the impact of the schedule when calculating routes.

### Executing Schedule

Schedules execution means that a component (e.g., device) undertakes an action (e.g., allocates and deallocates resources) at specified
time points. The schedule executor should fully understand the consequences of the schedule execution. For example, when a schedule's execution affects the network topology, the addition
and deletion of the topology need to be considered carefully.

A link coming up or a node joining a topology should not have any functional change until the
change is proven to be fully operational. The routing tables or paths could be pre-computed
but should not be installed before all of the topology changes are confired to be operational.
The benefits of this pre-computation appear to be very small. The network may choose to not do
any pre-installation or pre-computation in reaction to topological additions, at a small cost
of some operational efficiency.

Topological deletions are an entirely different matter. If a link or node is to be removed from
the topology, then the network should act before the anticipated change to route traffic around
the expected topological loss. Specifically, at some point before the topology change, the routing
tables or paths should be pre-computated and installed before the topology change take place.
The time necessary will vary depending on the exact network and configuration. When using IGP or other
distributed routing protocols, the affected links may be set to a high metric to direct traffic
to alternate paths. This type of change does require some time to propagate through the network,
so the metric change should be initiated far enough in advance that the network converges before the
actual topological change.

## Other Dependencies

This sections presents some outstanding dependencies that need to be considered
when deploying the scheduling mechanism. This may not be exhaustive.

### Access Control

Access control ensures only authorized control entities can have access to schedule
information, including querying, creation, modification, and deletion of schedules.
Unauthorized access may lead to unintended consequences.

The Network Access Control Model (NACM) {{RFC8341}} provides standard mechanisms
to restrict access for particular uses to a preconfigured subset of all available
NETCONF or RESTCONF protocol operations and content.

### Atomic Operations

Atomic operations are guaranteed to be either executed completely or not executed
at all. Deployments based on scheduling must ensure schedule changes based on
recurrence rules are applied as atomic transactions. Either all changes are
successfully applied, or none at all. For example, a network policy may be
scheduled to be active every Tuesday in January of 2025. If the schedule is changed
to every Wednesday in January 2025, the recurrence set is changed from
January 7, 14, 21, 28 to January 1, 8, 15, 22, 29. If some occurrences can
not be applied successfully (e.g., January 1 cannot be scheduled because of conflict),
the others in the recurrence set will not be applied as well.

In addition, the scheduling management of network events, policies, services, and
resources may involve operations that are performed at particular future time(s).
Multiple operations might be involved for each instance in the recurrence set,
either all operations are successfully performed, or none at all.

### Rollback Mechanism

Rollback mechanism is useful to ensure that in case of an error, the system can
revert back to its previous state. Deployments are required to save the
checkpoints (manually or automatically) of network scheduling activities that
can be used for rollback when necessary, to maintain network stability.

### Inter-dependency

Enfrocement of some secheduled actions may depend on other schedules actions.
Means to identify such dependency are needed.
-->

</section>
    </section>
    <section anchor="uc">
      <name>TVR Use Case: Tidal Network</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>Tidal network is a typical scenario of Energy Efficient case (<xref section="3" sectionFormat="of" target="I-D.ietf-tvr-use-cases"/>). The tidal network
means that the volume of traffic in the network changes
periodically like the ocean tide. These changes are mainly affected by
human activities. Therefore, this tidal effect is obvious in human-populated
areas, such as campuses and airports.</t>
        <t>In the context of a tidal network, if the network maintains all the devices
up to guarantee a maximum throughput all the time, a lot of power will be
wasted. The energy-saving methods may include the deactivation of some or all
components of network nodes. These activities have the potential to alter
network topology and impact data routing/forwarding in a variety of ways.  Interfaces on
network nodes can be selectively disabled or enabled based on traffic patterns,
thereby reducing the energy consumption of nodes during periods of low network
traffic.</t>
      </section>
      <section anchor="tvr-arch">
        <name>Architecture Example</name>
        <t>As described in <xref section="3.1.2" sectionFormat="of" target="I-D.ietf-tvr-requirements"/>, the locality of
schedule generation can be centralized or distributed. Depending on different
localities of schedule generation, the architecture depicted in <xref target="arch"/>
may be applicable in tidal network in two different ways, described in <xref target="centralized"/>
and <xref target="distributed"/>, respectively.</t>
        <section anchor="centralized">
          <name>Centralized Architecture</name>
          <t>In the centralized schedule generation, the Schedule Service Requester in <xref target="arch"/>
can be a network orchestrator, and the Scheduled Service Responder can be network
controller(s), the applied architecture with the orchestrator and controller(s) is
shown in <xref target="arch-cen-example"/>. The readers may refer to <xref section="4" sectionFormat="of" target="RFC8309"/> for an overview
of "orchestrator" and "controller" in an SDN system.
After generating schedules, the controller needs to determine whether to distribute these schedules based
on the schedule Execution Locality defined in <xref section="3.1.3" sectionFormat="of" target="I-D.ietf-tvr-requirements"/>.</t>
          <figure anchor="arch-cen-example">
            <name>An Architecture Example for Centralized Schedule Generation Scenario</name>
            <artwork align="center"><![CDATA[
 +-------------------------------------------------+
 |                  Orchestrator                   |
 +-----+------------------------------------^------+
       |                                    |
       |Request                             |Response
       |                                    |
 +-----v------------------------------------+------+
 |               Network Controller(s)             |
 |                                                 |
 |   +---------+                     +---------+   |
 |   |         |                     |         |   |
 |   | Schedule|                     | Conflict|   |
 |   | Manager |                     | Resolver|   |
 |   |         |                     |         |   |
 |   +---------+                     +---------+   |
 |                                                 |
 |   +---------+                     +---------+   |
 |   |         |                     |         |   |
 |   | Resource|                     | Policy  |   |
 |   | Manager |                     | Engine  |   |
 |   |         |                     |         |   |
 |   +---------+                     +---------+   |
 |                                                 |
 +-------------------------------------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="distributed">
          <name>Distributed Architecture</name>
          <t>In the distributed schedule generation，the Schedule Service Requester in <xref target="arch"/>
can be a network controller, and the Scheduled Service Responders are the network
devices, the applied architecture with the network controller and devices is shown in
<xref target="arch-example"/>. In this mode, the generation and execution of schedules are both
on the same devices, so it does not involve the schedule distribution process.</t>
          <figure anchor="arch-example">
            <name>An Architecture Example for Distributed Schedule Generation Scenario</name>
            <artwork align="center"><![CDATA[
      +-----------------------------------------------------+
      |              Network Controller(s)                  |
      +-+--------------^------------------+---------------^-+
        |              |                  |               |
        |Request       |Response          |Request        |Response
        |              |                  |               |
+-------v--------------+-------+    +-----v---------------+--------+
|       Network Device A       |    |       Network Device B       |
|                              |    |                              |
|   +---------+  +---------+   |    |   +---------+  +---------+   |
|   | Schedule|  | Conflict|   |    |   | Schedule|  | Conflict|   |
|   | Manager |  | Resolver|   |    |   | Manager |  | Resolver|   |
|   +---------+  +---------+   |    |   +---------+  +---------+   |  …
|                              |    |                              |
|   +---------+  +---------+   |    |   +---------+  +---------+   |
|   | Resource|  | Policy  |   |    |   | Resource|  | Policy  |   |
|   | Manager |  | Engine  |   |    |   | Manager |  | Engine  |   |
|   +---------+  +---------+   |    |   +---------+  +---------+   |
|                              |    |                              |
+------------------------------+    +------------------------------+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="example-procedures">
        <name>Example Procedures</name>
        <section anchor="building-traffic-profiles">
          <name>Building Traffic Profiles</name>
          <t>The first step to perform schedules in a tidal network is to analyze the traffic patterns at different
network devices and links comprehensively and then establish clear tidal points for lower and upper
network traffic. It should be noted that the change regularity of traffic may be different at different time
(for example, the traffic regularity in workday and weekend may totally be different), the selection of tidal
points should take full count of these factors. How to analyze the traffic patterns and determine the
tidal points are outside the scope of this document.</t>
        </section>
        <section anchor="establish-minimum-and-peak-topology">
          <name>Establish Minimum and Peak Topology</name>
          <t>An algorithm is required to calculate the minimum and peak topology to service expected demand at different
time slot. Such calculation algorithm for the topology is outside the scope of this document.</t>
        </section>
        <section anchor="generating-schedule">
          <name>Generating Schedule</name>
          <t>The schedule request is generated by the Schedule Service Requester according to the switching regularity
of the minimum and peak topology and sent to the Schedule Service Responder.
For example, the minimum topology enables from 1 AM to 7 AM everyday, then
the network administrator need to shutdown some links or devices from 1 AM to 7 AM.</t>
          <t>When the Scheduled Service Responder receives the schedule request, it handles
it with following procedures:</t>
          <ul spacing="normal">
            <li>
              <t>The Conflict Resolver checks whether the current schedule request conflicts with other
schedules. If there is no conflict, then go to the next step. Otherwise, an error message is
returned to the Schedule Service Requester, indicating that the conflict check fails.
A typical failure scenario is that the resource triggered by the current schedule is
occupied by another schedule. For example, there is an existing schedule
that requests a link to be available from 5 AM to 10 AM every day, but the new schedule
disconnects it from 2 AM to 6 AM every two days.</t>
            </li>
            <li>
              <t>The Schedule Manager creates a list of schedule and holds it in a schedule database.
For a recurrence schedule, the effective range of occurrence instances will be generated
by Schedule Manager. It also handles the modification, deletion, and querying of schedule information.</t>
            </li>
            <li>
              <t>The Policy Engine maintains the received scheduling policies and rules. It enforces
the predefined policies when a time trigger maintained in the schedule database
indicates each scheduled time occurs. Policy enforcement may also require the
interaction with other components, e.g., the Resource Manager.</t>
            </li>
            <li>
              <t>The Resource Manager allocates or reclaims network resources (in this example the resources are
the detailed interfaces related to the links) when a request from Policy Engine
is received, and it also holds the network resource in a resource database.
The allocation of network resources may require a variety of data resources, such as
network topology information, network resource inventory, current network utilization, etc.</t>
            </li>
          </ul>
        </section>
        <section anchor="distributing-schedule">
          <name>Distributing Schedule</name>
          <t>Schedules distribution means that network schedules are distributed to the execution
devices via dedicated management interfaces. Schedules distribution is not mandatory. This depends on the
location where the schedules are executed. If the schedules are generated and executed
on the same device, schedules distribution is not required. If schedules are generated
and executed on different devices, the schedules distribution is then needed. Note that if
a schedule affects topology and a distributed routing protocol is used, then the schedule
needs to be distributed to all the nodes in the topology, so that other nodes can consider
the impact of the schedule when calculating and selecting routes.</t>
        </section>
        <section anchor="executing-schedule">
          <name>Executing Schedule</name>
          <t>Schedules execution means that a component (e.g., device) undertakes an action
(e.g., allocates and deallocates resources) at specified time points. In a tidal network,
the schedule execution indicates to power on/off specific network components
(such as interfaces or entire network devices) directly or by commands.</t>
          <t>The schedule executor should understand the consequences of the schedule execution.
The power on/off of network components usually affects the network topology, the
addition and deletion of the topology need to be considered separately.</t>
          <t>A link coming up or a node joining a topology should not have any functional change until the
change is proven to be fully operational. The routing paths may be pre-computed
but should not be installed before all of the topology changes are confired to be operational.
The benefits of this pre-computation appear to be very small. The network may choose to not do
any pre-installation or pre-computation in reaction to topological additions, at a small cost
of some operational efficiency.</t>
          <t>Topological deletions are an entirely different matter. If a link or node is to be removed from
the topology, then the network should act before the anticipated change to route traffic around
the expected topological change. Specifically, at some point before the planned topology change, the routing
paths should be pre-computated and installed before the topology change takes place.
The required time to perform such planned action will vary depending on the exact network and configuration. When using an IGP or other
distributed routing protocols, the affected links may be set to a high metric to direct traffic
to alternate paths. This type of change does require some time to propagate through the network,
so the metric change should be initiated far enough in advance that the network converges before the
actual topological change.</t>
        </section>
      </section>
      <section anchor="applicable-models">
        <name>Applicable Models</name>
        <t>The following provides a list of applicable YANG modules that can be used to
exchange data between schedule service requester and responder specified in <xref target="tvr-arch"/>:</t>
        <ul spacing="normal">
          <li>
            <t>The "ietf-tvr-topology" YANG module in <xref target="I-D.ietf-tvr-schedule-yang"/> is used
to manage the network topology with time-varying attributes
(e.g., node/link availability, link bandwidth, or delay).</t>
          </li>
          <li>
            <t>The "ietf-tvr-node" YANG module in <xref target="I-D.ietf-tvr-schedule-yang"/> which is
a device model, is designed to manage a single node with scheduled
attributes (e.g., powered on/off).</t>
          </li>
          <li>
            <t><xref target="I-D.ietf-netmod-schedule-yang"/> defines "ietf-schedule" YANG
module for scheduling that works as common building blocks for YANG modules
described in this section. The module doesn't define any
protocol-accessible nodes but a set of reusable groupings applicable to be used
in any scheduling contexts.</t>
          </li>
        </ul>
      </section>
      <section anchor="code-examples">
        <name>Code Examples</name>
        <t><xref target="ex-inf"/> indicates the example of a scheduling node that is powered on from 12 AM, December 1, 2025 to 12 AM, December 1, 2026 in UTC and its interface named "interface1" is scheduled to be enabled at 7:00 AM and disabled at 1:00 AM, every day, from December 1, 2025 to December 1, 2026 in UTC.
The JSON encoding is used only for illustration purposes.</t>
        <figure anchor="ex-inf">
          <name>An Example of Interface Activation Scheduling</name>
          <artwork align="center"><![CDATA[
{
   "ietf-tvr-node:node-schedule":[
      {
         "node-id":12345678,
         "node-power-schedule":{
            "power-default":false,
            "schedules":[
               {
                  "schedule-id":111111,
                  "period-start":"2025-12-01T00:00:00Z",
                  "period-end":"2026-12-01T00:00:00Z",
                  "attr-value":{
                     "power-state":true
                  }
               }
            ]
         },
         "interface-schedule":[
            {
               "name":"interace1",
               "default-available":false,
               "default-bandwidth":1000000000,
               "attribute-schedule":{
                  "schedules":[
                     {
                        "schedule-id":222222,
                        "recurrence-first":{
                           "utc-start-time":"2025-12-01T07:00:00Z",
                           "duration":64800
                        },
                        "utc-until":"2026-12-01T00:00:00Z",
                        "frequency":"ietf-schedule:daily",
                        "interval":1,
                        "attr-value":{
                           "available":true
                        }
                     }
                  ]
               }
            }
         ]
      }
   ]
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="other-dependencies">
      <name>Other Dependencies</name>
      <t>This sections presents some outstanding dependencies that need to be considered
when deploying the scheduling mechanism.</t>
      <section anchor="access-control">
        <name>Access Control</name>
        <t>Access control ensures only authorized control entities can have access to schedule
information, including querying, creation, modification, and deletion of schedules.
Unauthorized access may lead to unintended consequences.</t>
        <t>The Network Access Control Model (NACM) <xref target="RFC8341"/> provides standard mechanisms
to restrict access for particular uses to a preconfigured subset of all available
NETCONF or RESTCONF protocol operations and content.</t>
      </section>
      <section anchor="atomic-operations">
        <name>Atomic Operations</name>
        <t>Atomic operations are guaranteed to be either executed completely or not executed
at all. Deployments based on scheduling must ensure schedule changes based on
recurrence rules are applied as atomic transactions. Either all changes are
successfully applied, or none at all. For example, a network policy may be
scheduled to be active every Tuesday in January of 2025. If the schedule is changed
to every Wednesday in January 2025, the recurrence set is changed from
January 7, 14, 21, 28 to January 1, 8, 15, 22, 29. If some occurrences can
not be applied successfully (e.g., January 1 cannot be scheduled because of conflict),
the others in the recurrence set will not be applied as well.</t>
        <t>In addition, the scheduling management of network events, policies, services, and
resources may involve operations that are performed at particular future time(s).
Multiple operations might be involved for each instance in the recurrence set,
either all operations are successfully performed, or none at all.</t>
      </section>
      <section anchor="rollback-mechanism">
        <name>Rollback Mechanism</name>
        <t>Rollback mechanism is useful to ensure that in case of an error, the system can
revert back to its previous state. Deployments are required to save the
checkpoints (manually or automatically) of network scheduling activities that
can be used for rollback when necessary, to maintain network stability.</t>
      </section>
      <section anchor="inter-dependency">
        <name>Inter-dependency</name>
        <t>Enfrocement of some secheduled actions may depend on other schedules actions.
Means to identify such dependency are needed.</t>
      </section>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <section anchor="multiple-schedule-service-requesters">
        <name>Multiple Schedule Service Requesters</name>
        <t>This document does not make any assumption about the number of schedule service
requester entities that interact with schedule service responder. This means that
multiple schedule service requesters may send requests to the responder to schedule
the same network resources, which may lead to conflicts. If scheduling conflicts
occur, some predefined policies or priorities may be useful to reflect how
schedules from different sources should be prioritized.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Time synchronization may potentially lead to security threats, e.g., attackers
may modify the system time and it thus causes time inconsistencies and affects the
normal functionalities for managing and coordinating network scheduling activities.
In addition, care must be taken when defining recurrences occurring very often and
frequent that can be an additional source of attacks by keeping the
system permanently busy with the management of scheduling.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-tvr-requirements">
          <front>
            <title>TVR (Time-Variant Routing) Requirements</title>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Brian Sipos" initials="B." surname="Sipos">
              <organization>JHU/APL</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   Time-Variant Routing (TVR) refers to the calculation of a path or
   subpath through a network where the time of message transmission (or
   receipt) is part of the overall route computation.  This means that,
   all things being equal, a TVR computation might produce different
   results depending on the time that the computation is performed
   without other detectable changes to the network topology or other
   cost functions associated with the route.

   This document introduces requirements where TVR computations could
   improve message exchange in a network.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tvr-requirements-03"/>
        </reference>
        <reference anchor="I-D.ietf-tvr-schedule-yang">
          <front>
            <title>YANG Data Model for Scheduled Attributes</title>
            <author fullname="Yingzhen Qu" initials="Y." surname="Qu">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Acee Lindem" initials="A." surname="Lindem">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <author fullname="Eric Kinzie" initials="E." surname="Kinzie">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <author fullname="Don Fedyk" initials="D." surname="Fedyk">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <author fullname="Marc Blanchet" initials="M." surname="Blanchet">
              <organization>Viagenie</organization>
            </author>
            <date day="22" month="July" year="2024"/>
            <abstract>
              <t>   The YANG model in this document includes three modules, and can be
   used to manage network resources and topologies with scheduled
   attributes, such as predictable link loss and link connectivity as a
   function of time.  The intent is to have this information be utilized
   by Time-Variant Routing systems.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tvr-schedule-yang-02"/>
        </reference>
        <reference anchor="RFC8413">
          <front>
            <title>Framework for Scheduled Use of Resources</title>
            <author fullname="Y. Zhuang" initials="Y." surname="Zhuang"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="H. Chen" initials="H." surname="Chen"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Time-Scheduled (TS) reservation of Traffic Engineering (TE) resources can be used to provide resource booking for TE Label Switched Paths so as to better guarantee services for customers and to improve the efficiency of network resource usage at any moment in time, including network usage that is planned for the future. This document provides a framework that describes and discusses the architecture for supporting scheduled reservation of TE resources. This document does not describe specific protocols or protocol extensions needed to realize this service.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8413"/>
          <seriesInfo name="DOI" value="10.17487/RFC8413"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ucl-acl">
          <front>
            <title>A YANG Data Model and RADIUS Extension for Policy-based Network Access Control</title>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <date day="25" month="June" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for policy-based network
   access control, which provides consistent and efficient enforcement
   of network access control policies based on group identity.
   Moreover, this document defines a mechanism to ease the maintenance
   of the mapping between a user group identifier and a set of IP/MAC
   addresses to enforce policy-based network access control.

   In addition, the document defines a Remote Authentication Dial-in
   User Service (RADIUS) attribute that is used to communicate the user
   group identifier as part of identification and authorization
   information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ucl-acl-05"/>
        </reference>
        <reference anchor="I-D.contreras-opsawg-scheduling-oam-tests">
          <front>
            <title>A YANG Data Model for Network Diagnosis by Scheduling Sequences of OAM Tests</title>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for network diagnosis on-
   demand using Operations, Administration, and Maintenance (OAM) tests.
   This document defines both 'oam-unitary-test' and 'oam-test-sequence'
   data models to enable activation of network diagnosis procedures.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-contreras-opsawg-scheduling-oam-tests-02"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-schedule-yang">
          <front>
            <title>A Common YANG Data Model for Scheduling</title>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <date day="25" month="June" year="2024"/>
            <abstract>
              <t>   This document defines a common schedule YANG module which is designed
   to be applicable for scheduling purposes such as event, policy,
   services, or resources based on date and time.  For the sake of
   better modularity, the module includes basic, intermediate, and
   advanced versions of recurrence related groupings.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-schedule-yang-02"/>
        </reference>
        <reference anchor="RFC8519">
          <front>
            <title>YANG Data Model for Network Access Control Lists (ACLs)</title>
            <author fullname="M. Jethanandani" initials="M." surname="Jethanandani"/>
            <author fullname="S. Agarwal" initials="S." surname="Agarwal"/>
            <author fullname="L. Huang" initials="L." surname="Huang"/>
            <author fullname="D. Blair" initials="D." surname="Blair"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document defines a data model for Access Control Lists (ACLs). An ACL is a user-ordered set of rules used to configure the forwarding behavior in a device. Each rule is used to find a match on a packet and define actions that will be performed on the packet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8519"/>
          <seriesInfo name="DOI" value="10.17487/RFC8519"/>
        </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="I-D.ietf-tvr-use-cases">
          <front>
            <title>TVR (Time-Variant Routing) Use Cases</title>
            <author fullname="Edward J. Birrane" initials="E. J." surname="Birrane">
              <organization>JHU/APL</organization>
            </author>
            <author fullname="Nicolas Kuhn" initials="N." surname="Kuhn">
              <organization>Thales Alenia Space</organization>
            </author>
            <author fullname="Yingzhen Qu" initials="Y." surname="Qu">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Rick Taylor" initials="R." surname="Taylor">
              <organization>Ori Industries</organization>
            </author>
            <author fullname="Li Zhang" initials="L." surname="Zhang">
              <organization>Huawei</organization>
            </author>
            <date day="29" month="February" year="2024"/>
            <abstract>
              <t>   This document introduces use cases where Time-Variant Routing (TVR)
   computations (i.e. routing computations taking into considerations
   time-based or scheduled changes to a network) could improve routing
   protocol convergence and/or network performance.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tvr-use-cases-09"/>
        </reference>
        <reference anchor="RFC8309">
          <front>
            <title>Service Models Explained</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The IETF has produced many modules in the YANG modeling language. The majority of these modules are used to construct data models to model devices or monolithic functions.</t>
              <t>A small number of YANG modules have been defined to model services (for example, the Layer 3 Virtual Private Network Service Model (L3SM) produced by the L3SM working group and documented in RFC 8049).</t>
              <t>This document describes service models as used within the IETF and also shows where a service model might fit into a software-defined networking architecture. Note that service models do not make any assumption of how a service is actually engineered and delivered for a customer; details of how network protocols and devices are engineered to deliver a service are captured in other modules that are not exposed through the interface between the customer and the provider.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8309"/>
          <seriesInfo name="DOI" value="10.17487/RFC8309"/>
        </reference>
      </references>
    </references>
    <?line 852?>

<!--
# Use Cases with detailed Code Examples

## Scheduling OAM Tests (Attestation)

Operations, Administration, and Maintenance (OAM) are important networking functions
for network monitoring and troubleshooting, as well as service-level agreements
and performance monitoring. Some actions might need to be executed repeatedly or
at a specific future time to carry out diagnostics. Scheduling-based OAM tools
are able to invoke a specific OAM unitary test or a sequence of OAM tests based
on some time-varying parameters, e.g., at a precise future time or repeatedly
occur at specific intervals.

Suppose the following fictional module is used:

~~~~
module example-oam-tests {
  yang-version 1.1;
  namespace "urn:example:oam-tests";
  prefix "ex-oam";

  import ietf-schedule {
    prefix "schedule";
  }
  list oam-test {
    key "test-name";
    leaf test-name {
      type string;
    }
    uses schedule:recurrence-utc;
  }
}
~~~~

The following indicates the example of a scheduling OAM traceroute test that is
executed at 3:00 AM, every other day, from December 1, 2025 in UTC.
The JSON encoding is used only for illustration purposes.

~~~~
{
    "example-oam-tests:oam-test": [
        {
            "test-name": "traceroute",
            "recurrence-first": {
                "utc-start-time": "2025-12-01T03:00:00Z"
            },
            "frequency": "ietf-schedule:daily",
            "interval": 2
        }
    ]
}
~~~~

## Time Variant Networking (Energy Efficient)

Tidal network is a typical scenario of Energy Efficient case. The tidal network
means the volume of traffic in the network changes
periodically like the ocean tide. This changes are mainly affected by
human activities. Therefore, this tidal effect is obvious in human-populated
areas, such as campuses and airport.

In the context of a tidal network, If the network maintains all the devices
up to guarantee the maximum throughput all the time, a lot of power will be
wasted. The energy-saving methods may include the deactivation of some or all
components of network nodes. These activities have the potential to alter
network topology and impact data routing in a variety of ways.  Interfaces on
network nodes can be selectively disabled or enabled based on traffic patterns,
thereby reducing the energy consumption of nodes during periods of low network
traffic.

The controlling of the interface states of each node can be achieved by using the ietf-tvr-node YANG module defined in {{I-D.ietf-tvr-schedule-yang}}.

The following indicates the example of a scheduling node that is powered on from 12 AM, December 1, 2025 to 12 AM, December 1, 2026 in UTC and its interface named interface1 is scheduled to enable at 7:00 AM and disabled at 1:00 AM, every day, from December 1, 2025 to December 1, 2026 in UTC.
The JSON encoding is used only for illustration purposes.

~~~~
{
   "ietf-tvr-node:node-schedule":[
      {
         "node-id":12345678,
         "node-power-schedule":{
            "power-default":false,
            "schedules":[
               {
                  "schedule-id":111111,
                  "period-start":"2025-12-01T00:00:00Z",
                  "period-end":"2026-12-01T00:00:00Z",
                  "attr-value":{
                     "power-state":true
                  }
               }
            ]
         },
         "interface-schedule":[
            {
               "name":"interace1",
               "default-available":false,
               "default-bandwidth":1000000000,
               "attribute-schedule":{
                  "schedules":[
                     {
                        "schedule-id":222222,
                        "recurrence-first":{
                           "utc-start-time":"2025-12-01T07:00:00Z",
                           "duration":64800
                        },
                        "utc-until":"2026-12-01T00:00:00Z",
                        "frequency":"ietf-schedule:daily",
                        "interval":1,
                        "attr-value":{
                           "available":true
                        }
                     }
                  ]
               }
            }
         ]
      }
   ]
}
~~~~
-->

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Daniel King">
        <organization>Lancaster University</organization>
        <address>
          <postal>
            <country>United Kingdom</country>
          </postal>
          <email>d.king@lancaster.ac.uk</email>
        </address>
      </contact>
      <contact fullname="Charalampos (Haris) Rotsos">
        <organization>Lancaster University</organization>
        <address>
          <email>c.rotsos@lancaster.ac.uk</email>
        </address>
      </contact>
      <contact fullname="Peng Liu">
        <organization>China Mobile</organization>
        <address>
          <email>liupengyjy@chinamobile.com</email>
        </address>
      </contact>
      <contact fullname="Tony Li">
        <organization>Juniper Networks</organization>
        <address>
          <email>tony.li@tony.li</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923Ybx5Xoe31FDfQwZAzApCxfgtxMU7TNjG4RqWRlZmXW
ajQKRFuNbqQvpGBZZ50PmI+Yp/mKeZpPmR84v3D2rW7dDYiiNYknEVYcEY3u
ql27du373j2ZTFSTNbmZ6dHJZpNnaTLP8qzZ6nKp/3jy5Bv9MGkS/bhcmLzW
y7LSF+nKLNo8K67wliemuSmrl/q5qcu2Sk09Usl8Xpnr3ngXTdKYtSmakUrh
r6uy2s50VixLpRZlWiRrAGFRJctmcvPn+aS5riZJ+Pzk6EjV7Xyd1XVWFs12
A7efn11+rfU9neR1CfNlxcJsDPwfzDHWI7PImrLKkhy/nJ98Bf8A+KPz55df
j1TRruemmqkFgDJTaVnUpqjbeqabqjUKoP9EJZVJZvrk+dmJwiVeVWW7gVku
f/98pF6aLVxbzJSe6JoRYvDvZQXrwLvxC6FvXdrfouUolbTNqgQIJkrrZZvn
jIFHmf7nVVJcwcWyukqK7PukgfXO9LdtcmMyuGzWSZbP9Pd4V5598uDBlyv6
aZqWaxosGO13WbuE2/TjBK/vGFDXTWVMM9PHR8f6olw2N7ByfXJtitaM9R9b
GF4/zOCmLG3w9hTAn+knSfEd0MBY/zaDGeqWfgEqmen7x0dHx/f5e1s0uM2n
q6wgEAT4dfJnhux4L/CF/kP70wIcNi+f3rR7oH5cruDfhf6qbNNkkWRVfwFP
K5jYhOjgZ6Zz+8yXJd1C4yNxwhLmbdOnlocwqsn1P2UDBPMoKdKkbkylXxTZ
talqpLpgaXC1ATjx2QVM44BZTF/CpS9z+/g0Safty87Ep6ukSvJkvSlrffBt
UmX1oX5eNnVZ3xYOmS2dVvTYW+Z7ZoCKH2Vtb3TaIEA6bIzxo+ZZC4zgavvd
9ssUb1jT7267/LiXZbGFcXvD/rYtsg2ALOyt9kM38MQ0z76Uf5UqymoNT10D
G1HIzvw3NZnAqZ8DASZAgOpyldUaWF2LTFBvqvI6W5haJ0XMGYCqhVHqstCr
8kY3K6Mvs7WZ/B4QncD152XbIP89AF50iCwsQTYDhLBOtnpudFvDxiKvrj2v
hsNUb0yaLbNUNzCYvpbBCuHggH1Tj2F9eg2HSuGklflzm1UES43MPtG1afCP
ymwqAxyzoaXifPy4hgWlQKswPcwHQyhklwDnAPRAMMHwI31wPnk4zUyzJN4f
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
GAvF94aAsLR3mqn6/88h/i7SqgAA

-->

</rfc>
