A Yang Data Model for Operations, Administration, and Maintenance of ALTO Protocol
draft-zhang-alto-oam-yang-00

Document Type Active Internet-Draft (individual)
Authors Jingxuan Zhang  , Dhruv Dhody  , Kai Gao 
Last updated 2021-07-12
Stream (None)
Intended RFC status (None)
Formats pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
ALTO WG                                                         J. Zhang
Internet-Draft                                         Tongji University
Intended status: Informational                                  D. Dhody
Expires: 13 January 2022                             Huawei Technologies
                                                                  K. Gao
                                                      Sichuan University
                                                            12 July 2021

  A Yang Data Model for Operations, Administration, and Maintenance of
                             ALTO Protocol
                      draft-zhang-alto-oam-yang-00

Abstract

   This document defines a YANG data model for the operations and
   management of Application-Layer Traffic Optimization (ALTO) Protocol.
   The operator can use the data model to create and update ALTO
   information resources, manage the access control, configure server-
   to-server communication and server discovery, and collect statistical
   data.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the ALTO Working Group
   mailing list (alto@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/alto/.

   Source for this draft and an issue tracker can be found at
   https://github.com/openalto/draft-alto-oam-yang.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

Zhang, et al.            Expires 13 January 2022                [Page 1]
Internet-Draft                ALTO OAM YANG                    July 2021

   This Internet-Draft will expire on 13 January 2022.

Copyright Notice

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

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Tree Diagrams . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Prefixes in Data Node Names . . . . . . . . . . . . . . .   3
   4.  Objectives  . . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Design of ALTO OAM Data Model . . . . . . . . . . . . . . . .   4
     5.1.  Overview of ALTO OAM Data Model . . . . . . . . . . . . .   4
     5.2.  Meta Information of ALTO Server . . . . . . . . . . . . .   6
     5.3.  Intent-based Interfaces for ALTO Information Resources
           Management  . . . . . . . . . . . . . . . . . . . . . . .   7
       5.3.1.  Information Resource Creation Algorithm Example . . .   9
     5.4.  Data Sources  . . . . . . . . . . . . . . . . . . . . . .  10
       5.4.1.  Internal Data Source  . . . . . . . . . . . . . . . .  11
       5.4.2.  External Data Source  . . . . . . . . . . . . . . . .  11
     5.5.  Model for ALTO Server-to-server Communication . . . . . .  11
     5.6.  Model for ALTO Statistics . . . . . . . . . . . . . . . .  11
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  12
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Appendix A.  The Full ALTO OAM Data Model . . . . . . . . . . . .  14
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

Zhang, et al.            Expires 13 January 2022                [Page 2]
Internet-Draft                ALTO OAM YANG                    July 2021

1.  Introduction

   This document defines a YANG data model for the operations and
   management of Application-Layer Traffic Optimization (ALTO) Protocol.
   The basic propose of this YANG data model is discussed in Section 16
   of [RFC7285].  The operator can use the data model to create and
   update ALTO information resources, manage the access control,
   configure server-to-server communication and server discovery, and
   collect statistical data.

   The basic structure of this YANG data model is guided by Section 16
   of [RFC7285] and [RFC7971].  Although the scope of the YANG data
   model in this document mainly focuses on the support of the base ALTO
   protocol [RFC7285] and the existing ALTO standard extensions
   (including [RFC8189], [RFC8895] and [RFC8896]), the design will also
   be extensible for future standard extensions (e.g.,
   [I-D.ietf-alto-path-vector], [I-D.ietf-alto-unified-props-new],
   [I-D.ietf-alto-cost-calendar], and
   [I-D.ietf-alto-performance-metrics]).

2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.  When the words appear in lower case, they
   are to be interpreted with their natural language meanings.

3.  Terminology

3.1.  Tree Diagrams

   A simplified graphical representation of the data model is used in
   this document.  The meaning of the symbols in these diagrams is
   defined in [RFC8340].

3.2.  Prefixes in Data Node Names

   In this document, names of data nodes and other data model objects
   are often used without a prefix, as long as it is clear from the
   context in which YANG module each name is defined.  Otherwise, names
   are prefixed using the standard prefix associated with the
   corresponding YANG module, as shown in Table 1.

Zhang, et al.            Expires 13 January 2022                [Page 3]
Internet-Draft                ALTO OAM YANG                    July 2021

                 +========+=================+===========+
                 | Prefix | YANG module     | Reference |
                 +========+=================+===========+
                 | yang   | ietf-yang-types | [RFC6991] |
                 +--------+-----------------+-----------+
                 | inet   | ietf-inet-types | [RFC6991] |
                 +--------+-----------------+-----------+

                   Table 1: Prefixes and corresponding
                               YANG modules

4.  Objectives

   This section describes the design objectives for the YANG data model:

   *  The data model should provide intent-based interfaces for
      administrators to create, update and remove ALTO information
      resources.

      -  The data model should be extensible for new ALTO information
         resources.

      -  The data model should allow developers to augment new APIs for
         ALTO information resource generation.

   *  The data model should support access control at the information
      resource level.

   *  The data model should collect statistics information of the
      requests to each ALTO information resource.

   NOTE: The data model supporting configuration for the ALTO client and
   the communication between the administrated ALTO server and other
   ALTO servers will be considered in a future version of the document.

5.  Design of ALTO OAM Data Model

5.1.  Overview of ALTO OAM Data Model

   The ALTO YANG module defined in this document has all the common
   building blocks for ALTO OAM.

   NOTE: So far, the ALTO YANG module only focuses on the ALTO server
   related configuration.  The ALTO client related configuration will be
   added in a future version of the document.

Zhang, et al.            Expires 13 January 2022                [Page 4]
Internet-Draft                ALTO OAM YANG                    July 2021

   The container "alto-server" in the ALTO yang module contains all the
   configured and operational parameters of the adminstrated ALTO server
   instance.

   module: ietf-alto
     +--rw alto-server
        +--rw hostname  inet:host
        +--rw cost-type* [cost-type-name]
        |   +--rw cost-type-name string
        |   +--rw cost-mode      cost-mode
        |   +--rw cost-metric    cost-metric
        |--rw meta* [meta-key]
        |   +--rw meta-key       string
        |   +--rw meta-value     string
        +--rw resource* [resource-id]
        |   +--rw resource-id    resource-id
        |   +--rw resource-type  identityref
        |   +--rw description?   string
        |   +--rw accepted-group* [user-group]
        |   +--rw dependency*    resource-id
        |   |  ...
        |   +--rw (resource-params)
        |      +--:(ird)
        |      |  +--rw alto-ird-params
        |      |     +--rw delegation         inet:uri
        |      +--:(networkmap)
        |      |  +--rw alto-networkmap-params
        |      |     +--rw is-default?        boolean
        |      |     +--rw filtered?          boolean
        |      |     +--rw (algorithm)
        |      +--:(costmap)
        |      |  +--rw alto-costmap-params
        |      |     +--rw filtered?          boolean
        |      |     +--rw cost-type-names*   string
        |      |     +--rw cost-constraints?  boolean
        |      |     +--rw max-cost-types?    uint32 {multi-cost}?
        |      |     +--rw testable-cost-type-names*
        |      |             string {multi-cost}?
        |      |     +--rw calendar?          boolean {cost-calendar}?
        |      |     +--rw (algorithm)
        |      +--:(endpointcost)
        |      |  +--rw alto-endpointcost-params
        |      |     +--rw cost-type* [cost-mode,cost-metric]
        |      |     |  +--rw cost-mode       cost-mode
        |      |     |  +--rw cost-metric     cost-metric
        |      |     +--rw cost-constraints?  boolean
        |      |     +--rw max-cost-types?    uint32 {multi-cost}?
        |      |     +--rw testable-cost-type-names*

Zhang, et al.            Expires 13 January 2022                [Page 5]
Internet-Draft                ALTO OAM YANG                    July 2021

        |      |             string {multi-cost}?
        |      |     +--rw calendar?          boolean {cost-calendar}?
        |      |     +--rw (algorithm)
        |      +--:(endpointprop)
        |      |  +--rw alto-endpointprop-params
        |      |     +--rw (algorithm)
        |      +--:(propmap) {propmap}?
        |      |  +--rw alto-propmap-params
        |      |     +--rw (algorithm)
        |      +--:(cdni) {cdni}?
        |      |  +--rw alto-cdni-params
        |      |     +--rw (algorithm)
        |      +--:(update) {incr-update}?
        |         +--rw alto-update-params
        |            +--rw (algorithm)
        +--rw data-source* [source-id]
           +--rw source-id   string
           +--rw source-type identityref
           +--rw (update-policy)
           |  +--:(reactive)
           |  |  +--rw reactive         boolean
           |  +--:(proactive)
           |     +--rw poll-interval    uint32
           +--rw (source-params)
              +--:(internal)
              |  +--rw internal-source-params
              |     +--rw source-path   yang:xpath1.0
              +--:(external)
                 +--rw external-source-params
                    +--rw source-uri    inet:uri
                    +--rw query-data?   string

5.2.  Meta Information of ALTO Server

   The ALTO server instance contains the following basic configurations
   for the server setup.

   The hostname is the name that is used to access the ALTO server.  It
   will be also used in the URI of each information resource provided by
   the ALTO server.

   The cost type list is the registry for the cost types that can be
   used in the ALTO server.

   The "meta" list contains the customized meta data of the ALTO server.
   It will be populated into the meta field of the default Information
   Resource Directory (IRD).

Zhang, et al.            Expires 13 January 2022                [Page 6]
Internet-Draft                ALTO OAM YANG                    July 2021

   module: ietf-alto
     +--rw alto-server
        +--rw hostname  inet:host
        +--rw cost-type* [cost-type-name]
        |   +--rw cost-type-name string
        |   +--rw cost-mode      cost-mode
        |   +--rw cost-metric    cost-metric
        |--rw meta* [meta-key]
        |   +--rw meta-key       string
        |   +--rw meta-value     string
        ...

5.3.  Intent-based Interfaces for ALTO Information Resources Management

   The ALTO server instance contains a list of "resource" entries.  Each
   "resource" entry contains the configurations of an ALTO information
   resource (See Section 8.1 of [RFC7285]).  The operator of the ALTO
   server can use this model to create, update, and remove the ALTO
   information resource.

   Each "resoruce" entry is considered as an intent to create or update
   an ALTO information resource.  Adding a new "resource" entry will
   submit an ALTO information resource creation intent to the intent
   system to create a new ALTO information resource.  Updating an
   existing "resource" entry will update the corresponding ALTO
   information resource creation intent.  Removing an existing
   "resource" entry will remove the corresponding ALTO information
   resource creation intent and also the created ALTO information
   resource.

   The parameter of the intent interface defined by a "resource" entry
   MUST include a unique "resource-id" and a "resource-type".

   It can also include an "accepted-group" node containing a list of
   "user-group"s that can access this ALTO information resource.

   For some "resource-type", the parameter of the intent interface MUST
   also include the a "dependency" node containing the "resource-id" of
   the dependent ALTO information resources (See Section 9.1.5 of
   [RFC7285]).

   For each type of ALTO information resource, the creation intent MAY
   also need type-specific parameters.  These type-specific parameters
   include two categories:

Zhang, et al.            Expires 13 January 2022                [Page 7]
Internet-Draft                ALTO OAM YANG                    July 2021

   1.  One categories of the type-specific parameters are common for the
       same type of ALTO information resource.  They declare the
       Capabilities of the ALTO information resource (See Section 9.1.3
       of [RFC7285]).

   2.  The other categories of the type-specific parameters are
       algorithm-specific.  The developer of the ALTO server can
       implement their own creation altorithms and augment the
       "algorithm" node to declare algorithm-specific input parameters.

   Except for the "ird" resource, all the other types of "resource"
   entries have augmented "algorithm" node.  The augmented "algorithm"
   node can reference data sources subscribed by the "data-source"
   entries (See Section 5.4).

   The developer cannot customize the creation algorithm of the "ird"
   resource.  The default "ird" resource will be created automatically
   based on all the added "resource" entries.  The delegated "ird"
   resource will be created as a static ALTO information resource (See
   Section 9.2.4 of [RFC7285]).

   module: ietf-alto
     +--rw alto-server
        ...
        +--rw resource* [resource-id]
        |   +--rw resource-id    resource-id
        |   +--rw resource-type  identityref
        |   +--rw description?   string
        |   +--rw accepted-group* [user-group]
        |   +--rw dependency*    resource-id
        |   |  ...
        |   +--rw (resource-params)
        |      +--:(ird)
        |      |  +--rw alto-ird-params
        |      |     +--rw delegation         inet:uri
        |      +--:(networkmap)
        |      |  +--rw alto-networkmap-params
        |      |     +--rw is-default?        boolean
        |      |     +--rw filtered?          boolean
        |      |     +--rw (algorithm)
        |      +--:(costmap)
        |      |  +--rw alto-costmap-params
        |      |     +--rw filtered?          boolean
        |      |     +--rw cost-type-names*   string
        |      |     +--rw cost-constraints?  boolean
        |      |     +--rw max-cost-types?    uint32 {multi-cost}?
        |      |     +--rw testable-cost-type-names*
        |      |             string {multi-cost}?

Zhang, et al.            Expires 13 January 2022                [Page 8]
Internet-Draft                ALTO OAM YANG                    July 2021

        |      |     +--rw calendar?          boolean {cost-calendar}?
        |      |     +--rw (algorithm)
        |      +--:(endpointcost)
        |      |  +--rw alto-endpointcost-params
        |      |     +--rw cost-type* [cost-mode,cost-metric]
        |      |     |  +--rw cost-mode       cost-mode
        |      |     |  +--rw cost-metric     cost-metric
        |      |     +--rw cost-constraints?  boolean
        |      |     +--rw max-cost-types?    uint32 {multi-cost}?
        |      |     +--rw testable-cost-type-names*
        |      |             string {multi-cost}?
        |      |     +--rw calendar?          boolean {cost-calendar}?
        |      |     +--rw (algorithm)
        |      +--:(endpointprop)
        |      |  +--rw alto-endpointprop-params
        |      |     +--rw (algorithm)
        |      +--:(propmap) {propmap}?
        |      |  +--rw alto-propmap-params
        |      |     +--rw (algorithm)
        |      +--:(cdni) {cdni}?
        |      |  +--rw alto-cdni-params
        |      |     +--rw (algorithm)
        |      +--:(update) {incr-update}?
        |         +--rw alto-update-params
        |            +--rw (algorithm)
        ...

5.3.1.  Information Resource Creation Algorithm Example

   The following example shows how the developer can augment a creation
   algorithm for the network map resource.

     augment /alto:alto-server/alto:resource/alto:resource-params
               /alto:networkmap/alto:alto-networkmap-params
               /alto:algorithm:
       +--rw l3-unicast-cluster-algorithm
          +--rw l3-unicast-topo
          |       -> /alto:alto-server/data-source/source-id
          +--rw depth?    uint32

   This example defines a creation algorithm called "l3-unicast-cluster-
   algorithm" for the network map resource.  It takes two algorithm-
   specific parameters:

   l3-unicast-topo  This parameter refers to the source id of a data
      source node subscribed in the "data-source" list (See
      Section 5.4).  The corresponding data source is assumed to be an
      internel data source (See Section 5.4.1) for an IETF layer 3

Zhang, et al.            Expires 13 January 2022                [Page 9]
Internet-Draft                ALTO OAM YANG                    July 2021

      unicast topology defined in [RFC8346].  The algorithm uses the
      topology data from this data source to compute the ALTO network
      map resource.

   depth  This optional parameter sets the depth of the clustering
      algorithm.  For example, if the depth sets to 1, the algorithm
      will generate PID for every l3-node in the topology.

   The creation algorithm can be reactively called once the referenced
   data source updates.  Therefore, the ALTO network map resource can be
   updated dynamically.  The update of the reference data source depends
   on the used "update-policy" (See Section 5.4).

5.4.  Data Sources

   The ALTO server instance contains a list of "data-source" entries to
   subscribe the data sources from which ALTO information resources are
   derived (See Section 16.2.4 of [RFC7285]).

   A "data-source" entry MUST include:

   *  a unique "source-id" for resource creation algorithms to
      reference,

   *  the "source-type" attribute to declare the type of the data
      source,

   *  the "update-policy" to specify how to get the data update from the
      data source,

   *  the "source-params" to specify where and how to query the data.

   The update policy can be either reactive or proactive.  For the
   reactive update, the ALTO server gets the update as soon as the data
   source changes.  For the proactive update, the ALTO server has to
   proactively fetch the data source periodically.

   To use the reactive update, the "reactive" attribute MUST be set
   true.  To use the proactive update, the "poll-interval" attribute
   MUST be greater than zero.  The value of "poll-interval" specifies
   the interval of fetching the data in milliseconds.  If "reactive" is
   false or "poll-interval" is zero, the ALTO server will not update the
   data source.

   The target of the data source can be either internal or external.

Zhang, et al.            Expires 13 January 2022               [Page 10]
Internet-Draft                ALTO OAM YANG                    July 2021

   module: ietf-alto
     +--rw alto-server
        ...
        +--rw data-source* [source-id]
           +--rw source-id   string
           +--rw source-type identityref
           +--rw (update-policy)
           |  +--:(reactive)
           |  |  +--rw reactive         boolean
           |  +--:(proactive)
           |     +--rw poll-interval    uint32
           +--rw (source-params)
              +--:(internal)
              |  +--rw internal-source-params
              |     +--rw source-path   yang:xpath1.0
              +--:(external)
                 +--rw external-source-params
                    +--rw source-uri    inet:uri
                    +--rw query-data?   string

5.4.1.  Internal Data Source

   The "internal-source-params" is used to subscribe the internel data
   source which is located in the same YANG model-driven data store
   supplying the current ALTO OAM data model.  The "source-path" is used
   to specify the XPath of the data source node.

5.4.2.  External Data Source

   The "external-source-params" is sued to subscribe the external data
   source which is located in other database systems, e.g., an SNMP
   server, a prometheus monitor, or a SQL database.  The "source-uir" is
   used to establish the connection with the external data source.  The
   "query-data" is used to speficify the potential query expression.

5.5.  Model for ALTO Server-to-server Communication

   TBD.

5.6.  Model for ALTO Statistics

   TBD.

6.  Security Considerations

   TBD.

7.  References

Zhang, et al.            Expires 13 January 2022               [Page 11]
Internet-Draft                ALTO OAM YANG                    July 2021

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7285]  Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
              Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
              "Application-Layer Traffic Optimization (ALTO) Protocol",
              RFC 7285, DOI 10.17487/RFC7285, September 2014,
              <https://www.rfc-editor.org/info/rfc7285>.

   [RFC7286]  Kiesel, S., Stiemerling, M., Schwan, N., Scharf, M., and
              H. Song, "Application-Layer Traffic Optimization (ALTO)
              Server Discovery", RFC 7286, DOI 10.17487/RFC7286,
              November 2014, <https://www.rfc-editor.org/info/rfc7286>.

   [RFC7971]  Stiemerling, M., Kiesel, S., Scharf, M., Seidel, H., and
              S. Previdi, "Application-Layer Traffic Optimization (ALTO)
              Deployment Considerations", RFC 7971,
              DOI 10.17487/RFC7971, October 2016,
              <https://www.rfc-editor.org/info/rfc7971>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8189]  Randriamasy, S., Roome, W., and N. Schwan, "Multi-Cost
              Application-Layer Traffic Optimization (ALTO)", RFC 8189,
              DOI 10.17487/RFC8189, October 2017,
              <https://www.rfc-editor.org/info/rfc8189>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8571]  Ginsberg, L., Ed., Previdi, S., Wu, Q., Tantsura, J., and
              C. Filsfils, "BGP - Link State (BGP-LS) Advertisement of
              IGP Traffic Engineering Performance Metric Extensions",
              RFC 8571, DOI 10.17487/RFC8571, March 2019,
              <https://www.rfc-editor.org/info/rfc8571>.

Zhang, et al.            Expires 13 January 2022               [Page 12]
Internet-Draft                ALTO OAM YANG                    July 2021

   [RFC8686]  Kiesel, S. and M. Stiemerling, "Application-Layer Traffic
              Optimization (ALTO) Cross-Domain Server Discovery",
              RFC 8686, DOI 10.17487/RFC8686, February 2020,
              <https://www.rfc-editor.org/info/rfc8686>.

   [RFC8895]  Roome, W. and Y. Yang, "Application-Layer Traffic
              Optimization (ALTO) Incremental Updates Using Server-Sent
              Events (SSE)", RFC 8895, DOI 10.17487/RFC8895, November
              2020, <https://www.rfc-editor.org/info/rfc8895>.

   [RFC8896]  Randriamasy, S., Yang, R., Wu, Q., Deng, L., and N.
              Schwan, "Application-Layer Traffic Optimization (ALTO)
              Cost Calendar", RFC 8896, DOI 10.17487/RFC8896, November
              2020, <https://www.rfc-editor.org/info/rfc8896>.

7.2.  Informative References

   [I-D.ietf-alto-cost-calendar]
              Randriamasy, S., Yang, R., Wu, Q., Deng, L., and N.
              Schwan, "Application-Layer Traffic Optimization (ALTO)
              Cost Calendar", Work in Progress, Internet-Draft, draft-
              ietf-alto-cost-calendar-21, 17 March 2020,
              <https://www.ietf.org/archive/id/draft-ietf-alto-cost-
              calendar-21.txt>.

   [I-D.ietf-alto-path-vector]
              Gao, K., Lee, Y., Randriamasy, S., Yang, Y. R., and J. J.
              Zhang, "ALTO Extension: Path Vector", Work in Progress,
              Internet-Draft, draft-ietf-alto-path-vector-14, 22
              February 2021, <https://www.ietf.org/archive/id/draft-
              ietf-alto-path-vector-14.txt>.

   [I-D.ietf-alto-performance-metrics]
              Wu, Q., Yang, Y. R., Lee, Y., Dhody, D., Randriamasy, S.,
              and L. M. Contreras, "ALTO Performance Cost Metrics", Work
              in Progress, Internet-Draft, draft-ietf-alto-performance-
              metrics-16, 11 July 2021,
              <https://www.ietf.org/archive/id/draft-ietf-alto-
              performance-metrics-16.txt>.

   [I-D.ietf-alto-unified-props-new]
              Roome, W., Randriamasy, S., Yang, Y. R., Zhang, J. J., and
              K. Gao, "ALTO Extension: Entity Property Maps", Work in
              Progress, Internet-Draft, draft-ietf-alto-unified-props-
              new-17, 16 April 2021, <https://www.ietf.org/archive/id/
              draft-ietf-alto-unified-props-new-17.txt>.

Zhang, et al.            Expires 13 January 2022               [Page 13]
Internet-Draft                ALTO OAM YANG                    July 2021

   [RFC8346]  Clemm, A., Medved, J., Varga, R., Liu, X.,
              Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model
              for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346,
              March 2018, <https://www.rfc-editor.org/info/rfc8346>.

Appendix A.  The Full ALTO OAM Data Model

   TODO: The complete tree diagram and YANG modules will be updated
   soon.

Authors' Addresses

   Jingxuan Jensen Zhang
   Tongji University
   4800 Cao'An Hwy
   Shanghai
   201804
   China

   Email: jingxuan.n.zhang@gmail.com

   Dhruv Dhody
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore 560066
   Karnataka
   India

   Email: dhruv.ietf@gmail.com

   Kai Gao
   Sichuan University
   No.24 South Section 1, Yihuan Road
   Chengdu
   610000
   China

   Email: kaigao@scu.edu.cn

Zhang, et al.            Expires 13 January 2022               [Page 14]