<?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.6.26 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-contreras-alto-service-edge-07" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title>Use of ALTO for Determining Service Edge</title>
    <seriesInfo name="Internet-Draft" value="draft-contreras-alto-service-edge-07"/>
    <author fullname="Luis M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.conterasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Sabine Randriamasy">
      <organization>Nokia Bell Labs</organization>
      <address>
        <email>sabine.randriamasy@nokia-bell-labs.com</email>
      </address>
    </author>
    <author fullname="Jordi Ros-Giralt">
      <organization>Qualcomm Europe, Inc.</organization>
      <address>
        <email>jros@qti.qualcomm.com</email>
      </address>
    </author>
    <author fullname="Danny Lachos">
      <organization>Benocs</organization>
      <address>
        <email>dlachos@benocs.com</email>
      </address>
    </author>
    <author fullname="Christian Rothenberg">
      <organization>Unicamp</organization>
      <address>
        <email>chesteve@dca.fee.unicamp.br</email>
      </address>
    </author>
    <date year="2023" month="March" day="13"/>
    <area>AREA</area>
    <workgroup>ALTO</workgroup>
    <keyword>ALTO</keyword>
    <keyword>compute</keyword>
    <keyword>edge computing</keyword>
    <abstract>
      <t>Service providers are starting to deploy computing capabilities
across the network for hosting applications such as AR/VR, vehicle
networks, IoT, and AI training, among others.
In these distributed computing
environments, knowledge about computing and communication resources
is necessary to determine the proper deployment location of
each application. This document proposes an initial approach
towards the use of ALTO to expose such information to the
applications and assist the selection of their deployment
locations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://giralt.github.io/draft-contreras-alto-service-edge/#go.draft-contreras-alto-service-edge.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-contreras-alto-service-edge/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:alto@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/alto/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/alto/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/giralt/draft-contreras-alto-service-edge"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>With the advent of network virtualization, operators
can make use of dynamic instantiation of network functions and
applications by using different techniques on top of
commoditized computation infrastructures, permitting
a flexible and on-demand deployment of services, aligned
with the actual needs as demanded by the users.</t>
      <t>Operators are starting to deploy distributed computing
environments in different parts of the network with the
objective of addressing different service needs including
latency, bandwidth, processing capabilities, storage, etc.
This is translated in the emergence of a number of data
centers (both in the cloud and at the edge)
of different sizes (e.g., large, medium, small)
characterized by distinct dimension of CPUs, memory, and
storage capabilities, as well as bandwidth capacity for
forwarding the traffic generated in and out of the
corresponding data center.</t>
      <t>The proliferation of the edge computing paradigm
further increases the potential footprint
and heterogeneity of the environments where a function
or application can be deployed, resulting in different
unitary cost per CPU, memory,
and storage. This increases the complexity of deciding
the location where a given function or application should
be best deployed, as this decision should be
influenced not only by the available resources
in a given computing
environment, but also by the network capacity of the
path connecting the traffic source with the destination.</t>
      <t>It is then essential for a network operator to have
mechanisms assisting this decision by considering
a number of constraints related to the function or
application to be deployed, understanding how a
given decision on the computing environment
for the service edge affects the transport network
substrate. This would enable the integration of network
capabilities in the function placement decision
and further optimize performance of the deployed
application.</t>
      <t>This document proposes the use of ALTO <xref target="RFC7285"/>
for assisting such a decision.</t>
    </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>
    </section>
    <section anchor="computing-needs">
      <name>Computing Needs</name>
      <t>A given network function or application typically
shows certain requirements in terms of processing
capabilities (i.e., CPU), as well as
volatile memory (i.e., RAM) and storage capacity.
Cloud computing providers such as Amazon Web Services
or Microsoft Azure, typically structure their offerings
of computing capabilities by bundling CPU, RAM and
storage units as quotas, instances, and flavors that
can be consumed in an ephemeral fashion,
during the actual lifetime of the required function
or application.</t>
      <t>This same approach is being taken for
characterizing bundles of resources on the
so-called Network Function Virtualization
Infrastructure Points of Presence (NFVI-PoPs)
being deployed by the telco operators.
For instance, the Common Network Function
Virtualization Infrastructure Telecom Taskforce
(CNTT) <xref target="CNTT"/>, jointly hosted by GSMA
<xref target="GSMA"/> and the Linux Foundation, intends to harmonize
the definition of
instances and flavors for abstracting capabilities
of the underlying NFVI, facilitating a
more efficient utilization of the infrastructure
and simplifying the integration and certification
of functions. (Here certification means the assessment
of the expected behavior for a given function
according to the level of resources determined by
a given flavor.) An evolution of this initiative is
Anuket <xref target="Anuket"/>, which works to consolidate
different architectures for well-known tools
such as OpenStack and Kubernetes.</t>
      <t>Taking CNTT as an example, the flavors or instances
can be characterized according to:</t>
      <ul spacing="normal">
        <li>
          <em>Type of instance (T):</em> Used to specify the type of instances,
which are characterized as B (Basic), or N (Network Intensive).
The latter includes network acceleration extensions
for offloading network intensive operations to hardware.</li>
        <li>
          <em>Interface Option (I):</em> Used to specify the associated
bandwidth of the network interface.</li>
        <li>
          <em>Compute flavor (F):</em> Used to specify a given predefined
combination of resources in terms of virtual CPU, RAM,
disk, and bandwidth for the management interface.</li>
        <li>
          <em>Optional storage extension (S):</em> Used to specify additional storage capacity.</li>
        <li>
          <em>Optional hardware acceleration characteristics (A):</em>
Used to specify acceleration capabilities for
improving the performance of the application.</li>
      </ul>
      <t>The naming convention of an instance is thus encoded as TIFSA.</t>
    </section>
    <section anchor="usage-of-alto-for-service-placement">
      <name>Usage of ALTO for Service Placement</name>
      <t>ALTO can assist the deployment of a service on a
specific flavor or instance of
the computing substrate by taking into consideration
network cost metrics.
A generic and primary approach is to take into
account metrics related to the computing environment,
such as availability of resources, unitary cost
of those resources, etc.
Nevertheless, the function or application to be
deployed on top of a given flavor must also be
interconnected outside the computing
environment where it is deployed,
therefore requiring the necessary network
resources to satisfy application performance
requirements such as bandwidth or latency.</t>
      <t>The objective then is to leverage ALTO to
provide information about the more convenient
execution environments to deploy virtualized
network functions or applications, allowing
the operator to get a coordinated service edge
and transport network recommendation.</t>
      <section anchor="integrating-compute-information-in-alto">
        <name>Integrating Compute Information in ALTO</name>
        <t>CNTT proposes the existence of a catalogue
of compute infrastructure profiles collecting
the computing capability instances available
to be consumed. Such a catalogue could be
communicated to ALTO or even incorporated to it.</t>
        <t>ALTO server queries could support
TIFSA encoding in order to retrieve proper
maps from ALTO. Additionally, filtered queries
for particular characteristics of a flavor
could also be supported.</t>
      </section>
      <section anchor="association-of-compute-capabilities-to-network-topology">
        <name>Association of Compute Capabilities to Network Topology</name>
        <t>It is required to associate the location of the
available instances with topological information
to allow ALTO construct the overall map. The
expectation is that the management of the network and
cloud capabilities will be performed by the same entity,
producing an integrated map to handle both network and
compute abstractions jointly. While this can be
straightforward when an ISP owns both the network
and the cloud infrastructure, it can in general require
collaboration between multiple administrative domains.
Details on potential scenarios will be provided
in future versions of this document.</t>
        <t>At this stage, four potential solutions could be
considered:</t>
        <ul spacing="normal">
          <li>To leverage (and possibly extend)
<xref target="I-D.ietf-teas-sf-aware-topo-model"/> for
disseminating topology information together
with the notion of function location (that would
require to be adapted to the existence of available
compute capabilities). A recent effort in this
direction can be found in
<xref target="I-D.llc-teas-dc-aware-topo-model"/>.</li>
          <li>To extend BGP-LS <xref target="RFC7752"/>,
which is already considered as a mechanism for
feeding topology information in ALTO, in order
to also advertise computing capabilities
as well.</li>
          <li>To combine information from the infrastructure
profiles catalogue with topological information
by leveraging the IP prefixes allocated to
the gateway providing connectivity to the NFVI PoP.</li>
          <li>To integrate with Cloud Infrastructure
Managers that could expose cloud infrastructure
capabilities as in <xref target="CNTT"/> and <xref target="GSMA"/>.</li>
        </ul>
        <t>The viability of these options will be explored
in future versions of this document.</t>
      </section>
      <section anchor="alto-architecture-for-determining-serve-edge">
        <name>ALTO Architecture for Determining Serve Edge</name>
        <t>The following logical architecture defines the
usage of ALTO for determining service edges.</t>
        <figure anchor="EdgeArchitecture">
          <name>Service Edge Information Exchange.</name>
          <artwork><![CDATA[
                         +--------+   Topological   +---------+
                         |        |   Information   |         |
                         |        |<--------------->| e.g.BGP |
                ALTO     |        |                 |         |
  +--------+  protocol   |        |                 +---------+
  | Client |<----------->|  ALTO  |
  +--------+             | Server |
                         |        |    Computing    +---------+
                         |        |   Information   |  e.g.,  |
                         |        |<--------------->|  Infra. |
                         |        |                 |Catalogue|
                         +--------+                 +---------+
]]></artwork>
        </figure>
        <t>In order to select the optimal edge server
from both the network (e.g.,
the path with lower latency and/or higher bandwidth)
and the cloud perspectives (e.g., number of CPUs/GPUs,
available RAM and storage capacity),
there is a need to see the edge server as
both an IP entity (as in <xref target="RFC7285"/>)
and an Abstract Network Element (ANE)
entity (as in <xref target="RFC9275"/>).</t>
        <t>Currently there is no mechanism (neither in <xref target="RFC9275"/> nor
<xref target="RFC9240"/>) to see the same edge server as an entity
in both domains. The design of ALTO, however,
allows extensions that could be used to identify
that an entity can be defined in several domains.
These different domains and their related properties
can be specified in extended ALTO property maps,
as proposed in the next sections.</t>
      </section>
    </section>
    <section anchor="alto-design-considerations-for-determining-service-edge">
      <name>ALTO Design Considerations for Determining Service Edge</name>
      <t>This section is in progress and gathers the
ALTO features that are needed to support the
exposure of both networking capabilities and
compute capabilities in ALTO Maps.</t>
      <t>In particular, ALTO Entity Property Maps defined in
<xref target="RFC9240"/> can be extended. <xref target="RFC9240"/> generalizes
the concept of endpoint properties to domains of other
entities through property maps. Entities can be
defined in a wider set of entity domains such as IPv4,
IPv6, PID, AS, ISO3166-1 country codes or ANE.
In addition, RFC 9240 specifies how properties can be
defined on entities of each of these domains.</t>
      <section anchor="example-of-entity-definition-in-different-domains">
        <name>Example of Entity Definition in Different Domains</name>
        <t>As there can be applications that do not
necessarily need both compute and networking information,
it is fine to keep the entity domains separate, each with
their own native properties.
However, some applications need information
on both topics, and a scalable and flexible
solution consists in defining an ALTO property
type, that:</t>
        <ul spacing="normal">
          <li>Indicates that an entity can be defined in
several domains;</li>
          <li>Specifies, for an entity, the other domains
where this entity is defined.</li>
        </ul>
        <t>For instance, one possible approach is to
introduce entity properties that
list other entity domains where an
edge server is identified. This property
type should be usable in all entity
domains types. The following provides an
example where the property "entity domain mapping"
lists the other domains in which an entity is defined.</t>
        <t>Suppose an edge server is identified as follows:</t>
        <ul spacing="normal">
          <li>In the IPV4 domain, with an IP address, e.g., ipv4:1.2.3.4;</li>
          <li>In the ANE domain, with an identifier, e.g., ane:DC10-HOST1.</li>
        </ul>
        <t>To get information on this edge server as an
entity in the "ipv4" entity domain, an ALTO
client can query the properties "pid" and
"entity-domain-mappings" and obtain a response as follows:</t>
        <artwork><![CDATA[
POST /propmap/lookup/dc-ip HTTP/1.1
Host: alto.example.com
Accept: application/alto-propmap+json,application/alto-error+json
Content-Length: TBC
Content-Type: application/alto-propmapparams+json
{
"entities" : ["ipv4:1.2.3.4"],
"properties" : [ "pid", "entity-domain-mappings"]
}


HTTP/1.1 200 OK
Content-Length: TBC
Content-Type: application/alto-propmap+json
{
"meta" : {},

"property-map":  {
    "ipv4:1.2.3.4" :
      {"pid" : DC10,
        "entity-domain-mappings" : ["ane"]}
    }
}
]]></artwork>
        <t>To get information on this edge server as an
  entity in the "ane" entity domain, an ALTO
  client can query the properties "entity-domain-mappings"
  and "network-address" and obtain a response as follows:</t>
        <artwork><![CDATA[
POST /propmap/lookup/dc-ane HTTP/1.1
Host: alto.example.com
Accept: application/alto-propmap+json,application/alto-error+json
Content-Length: TBC
Content-Type: application/alto-propmapparams+json
{
"entities" : ["ane:DC10-HOST1"],
"properties" : [ "entity-domain-mappings", "network-address"]
}

HTTP/1.1 200 OK
Content-Length: TBC
Content-Type: application/alto-propmap+json
{
"meta" : {},

"property-map":  {
  "ane:DC10-HOST1"
      {"entity domain mappings :  ["ipv4"]",
        "network-address" :  ipv4:1.2.3.4}
      }
}
]]></artwork>
        <t>Thus, if the ALTO Client sees the edge server
as an entity with a network address, it knows
that it can see the server as an ANE on which
it can query relevant properties.</t>
        <t>Further elaboration will be provided in future
versions of this document.</t>
      </section>
      <section anchor="definition-of-flavors-in-alto-property-map">
        <name>Definition of Flavors in ALTO Property Map</name>
        <t>The ALTO Entity Property Maps <xref target="RFC9240"/>
generalize the concept of endpoint properties
to domains of other entities through
property maps. The term "flavor" or "instance"
refers to an abstracted set of computing
resources, with well-specified properties such as
CPU, RAM and Storage. Thus, a flavor can be
seen as an ANE with properties defined in terms
of TIFSA. A flavor or instance
is a group of 1 or more elements that can be
reached via one or more network addresses. So
an instance can also be seen as a PID that
groups one or more IP addresses. In a context
such as the one defined in CNTT, an ALTO
property map could be used to expose TIFSA
information of potential candidate flavors, i.e.,
potential NFVI-PoPs where an application or
service can be deployed.</t>
        <t><xref target="table_PropertyMap"/> below shows an example
of an ALTO property map with property values
grouped by flavor name.</t>
        <figure anchor="table_PropertyMap">
          <name>ALTO Property Map.</name>
          <artwork><![CDATA[
  +--------+------------+-------+-----+------+------+-----+---+---+
  | flavor |  type (T)  | inter | f-c | f-ra | f-di | f-b | S | A |
  | -name  |            |  face |  pu |  m   |  sk  |  w  |   |   |
  |        |            |  (I)  | (F) | (F)  | (F)  | (F) |   |   |
  +--------+------------+-------+-----+------+------+-----+---+---+
  | small- |   basic    |   1   |  1  | 512  | 1 GB | 1 G |   |   |
  |   1    |            |  Gbps |     |  MB  |      | bps |   |   |
  .................................................................
  | small- |  network-  |   9   |  1  | 512  | 1 GB | 1 G |   |   |
  |   2    | intensive  |  Gbps |     |  MB  |      | bps |   |   |
  .................................................................
  | medium |  network-  |   25  |  2  | 4 GB |  40  | 1 G |   |   |
  |   -1   | intensive  |  Gbps |     |      |  GB  | bps |   |   |
  .................................................................
  | large- |  compute-  |   50  |  4  | 8 GB |  80  | 1 G |   |   |
  |   1    | intensive  |  Gbps |     |      |  GB  | bps |   |   |
  .................................................................
  | large- |  compute-  |  100  |  8  |  16  | 160  | 1 G |   |   |
  |   2    | intensive  |  Gbps |     |  GB  |  GB  | bps |   |   |
  +--------+------------+-------+-----+------+------+-----+---+---+
]]></artwork>
        </figure>
        <t>The following example uses ALTO's filtered property map
to request properties "type",
"cpu", "ram", and "disk" on five ANE flavors named
"small-1", "small-2", "medium-1", "large-1", "large-2"
defined in the example before.</t>
        <figure anchor="ane-flavor-name">
          <name>Filtered Property Map query example.</name>
          <artwork><![CDATA[
  POST /propmap/lookup/ane-flavor-name HTTP/1.1
  Host: alto.example.com
  Accept: application/alto-propmap+json,application/alto-error+json
  Content-Length: 155
  Content-Type: application/alto-propmapparams+json
  {
    "entities" : ["small-1",
                  "small-2",
                  "medium-1",
                  "large-1"],
                  "large-2"],
    "properties" : [ "type", "cpu", "ram", "disk"]
  }

  HTTP/1.1 200 OK
  Content-Length: 295
  Content-Type: application/alto-propmap+json
  {
    "meta" : {
    },
    "property-map": {
      "small-1":
        {"type" : "basic", "cpu" : 1,
          "ram" : "512MB", "disk" : 1GB},
      "small-2":
        {"type" : "network-intensive", "cpu" : 1,
          "ram" : "512MB", "disk" : 1GB},
      "medium-1":
        {"type" : "compute-intensive", "cpu" : 2,
          "ram" : "4GB", "disk" : 40GB},
      "large-1":
        {"type" : "compute-intensive", "cpu" : 4,
          "ram" : "8GB", "disk" : 80GB},
      "large-2":
        {"type" : "compute-intensive", "cpu" : 8,
          "ram" : "16GB", "disk" : 160GB},
    }
  }
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <section anchor="open-abstraction-for-edge-computing">
        <name>Open Abstraction for Edge Computing</name>
        <t>As shown in this document, modern applications such as AR/VR,
V2X, or IoT, require bringing compute
closer to the edge in order to meet
strict bandwidth, latency, and jitter requirements.  While this
deployment process resembles the path taken
by the main cloud providers
(notably, AWS, Facebook, Google and Microsoft) to deploy
their large-scale datacenters, the edge presents a
key difference: datacenter clouds (both in terms of their infrastructure
and the applications run by them) are owned and managed by a
single organization,
whereas edge clouds involve a complex ecosystem of operators,
vendors, and application providers, all striving to provide
a quality end-to-end solution to the user. This implies that,
while the traditional cloud has been implemented for the most part
by using vertically optimized and closed architectures, the edge will necessarily need to rely on a complete ecosystem of carefully
designed open standards to enable horizontal interoperability
across all the involved parties.
This document envisions ALTO playing a role as part of the
ecosystem of open standards that are necessary to deploy and
operate the edge cloud.</t>
        <t>As an example, consider a user of an XR
application who arrives at his/her home by car. The application
runs by leveraging compute capabilities from both the
car and the public 5G edge cloud. As the user parks the
car, 5G coverage may diminish (due to building interference)
making the home local Wi-Fi connectivity a better choice.
Further, instead of relying on computational resources from
the car and the 5G edge cloud, latency can be reduced by leveraging
computing devices (PCs, laptops, tablets) available from the home
edge cloud.
The application's decision to switch from one
domain to another, however,
demands knowledge about the compute
and communication resources available both in the 5G and the Wi-Fi
domains, therefore requiring interoperability across multiple
industry standards (for instance, IETF and 3GPP on the public side,
and IETF and LF Edge <xref target="LF-EDGE"/> on the private home side). ALTO
can be positioned to act as an abstraction layer supporting
the exposure of communication and compute information independently
of the type of domain the application is currently residing in.</t>
        <t>Future versions of this document will elaborate further on this
use case.</t>
      </section>
      <section anchor="optimized-placement-of-microservice-components">
        <name>Optimized placement of microservice components</name>
        <t>Current applications are transitioning from a monolithic service architecture towards the composition of microservice components, following cloud-native trends. The set of microservices can have associated SLOs which impose constraints not only in terms of required compute resources (CPU, storage, ...) dependent on the compute facilities available, but also in terms of performance indicators such as latency, bandwidth, etc, which impose restrictions in the networking capabilities connecting the computing facilities. Even more complex constrains, such as affinity among certain microservices components could require complex calculations for selecting the most appropriate compute nodes taken into consideration both network and compute information.</t>
        <t>Thus, service/application orchestrators can benefit from the information exposed by ALTO at the time of deciding the placement of the microservices in the network.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="conclusions">
      <name>Conclusions</name>
      <t>Telco networks will increasingly contain a number
of interconnected data centers and edge
clouds of different sizes
and characteristics, allowing flexibility in the
dynamic deployment of functions and applications
for advanced services. The overall objective of
this document is to begin a discussion in the
ALTO WG regarding the suitability of the ALTO
protocol for determining where to deploy a
function or application in these distributed computing
environments. The result of these discussions
will be reflected in future versions of this draft.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7285" target="https://www.rfc-editor.org/info/rfc7285">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Protocol</title>
            <author initials="R." surname="Alimi" fullname="R. Alimi" role="editor">
              <organization/>
            </author>
            <author initials="R." surname="Penno" fullname="R. Penno" role="editor">
              <organization/>
            </author>
            <author initials="Y." surname="Yang" fullname="Y. Yang" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Kiesel" fullname="S. Kiesel">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization/>
            </author>
            <author initials="W." surname="Roome" fullname="W. Roome">
              <organization/>
            </author>
            <author initials="S." surname="Shalunov" fullname="S. Shalunov">
              <organization/>
            </author>
            <author initials="R." surname="Woundy" fullname="R. Woundy">
              <organization/>
            </author>
            <date year="2014" month="September"/>
            <abstract>
              <t>Applications using the Internet already have access to some topology information of Internet Service Provider (ISP) networks.  For example, views to Internet routing tables at Looking Glass servers are available and can be practically downloaded to many network application clients.  What is missing is knowledge of the underlying network topologies from the point of view of ISPs.  In other words, what an ISP prefers in terms of traffic optimization -- and a way to distribute it.</t>
              <t>The Application-Layer Traffic Optimization (ALTO) services defined in this document provide network information (e.g., basic network location structure and preferences of network paths) with the goal of modifying network resource consumption patterns while maintaining or improving application performance.  The basic information of ALTO is based on abstract maps of a network.  These maps provide a simplified view, yet enough information about a network for applications to effectively utilize them.  Additional services are built on top of the maps.</t>
              <t>This document describes a protocol implementing the ALTO services. Although the ALTO services would primarily be provided by ISPs, other entities, such as content service providers, could also provide ALTO services.  Applications that could use the ALTO services are those that have a choice to which end points to connect.  Examples of such applications are peer-to-peer (P2P) and content delivery networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7285"/>
          <seriesInfo name="DOI" value="10.17487/RFC7285"/>
        </reference>
        <reference anchor="RFC7752" target="https://www.rfc-editor.org/info/rfc7752" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7752.xml">
          <front>
            <title>North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
            <author fullname="H. Gredler" initials="H." role="editor" surname="Gredler"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="S. Ray" initials="S." surname="Ray"/>
            <date month="March" year="2016"/>
            <abstract>
              <t>In a number of environments, a component external to a network is called upon to perform computations based on the network topology and current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a new BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism is applicable to physical and virtual IGP links. The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7752"/>
          <seriesInfo name="DOI" value="10.17487/RFC7752"/>
        </reference>
        <reference anchor="RFC9275" target="https://www.rfc-editor.org/info/rfc9275" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9275.xml">
          <front>
            <title>An Extension for Application-Layer Traffic Optimization (ALTO): Path Vector</title>
            <author fullname="K. Gao" initials="K." surname="Gao"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="S. Randriamasy" initials="S." surname="Randriamasy"/>
            <author fullname="Y. Yang" initials="Y." surname="Yang"/>
            <author fullname="J. Zhang" initials="J." surname="Zhang"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document is an extension to the base Application-Layer Traffic Optimization (ALTO) protocol.  It extends the ALTO cost map and ALTO property map services so that an application can decide to which endpoint(s) to connect based not only on numerical/ordinal cost values but also on fine-grained abstract information regarding the paths.  This is useful for applications whose performance is impacted by specific components of a network on the end-to-end paths, e.g., they may infer that several paths share common links and prevent traffic bottlenecks by avoiding such paths.  This extension introduces a new abstraction called the "Abstract Network Element" (ANE) to represent these components and encodes a network path as a vector of ANEs.  Thus, it provides a more complete but still abstract graph representation of the underlying network(s) for informed traffic optimization among endpoints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9275"/>
          <seriesInfo name="DOI" value="10.17487/RFC9275"/>
        </reference>
        <reference anchor="RFC9240" target="https://www.rfc-editor.org/info/rfc9240" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9240.xml">
          <front>
            <title>An Extension for Application-Layer Traffic Optimization (ALTO): Entity Property Maps</title>
            <author fullname="W. Roome" initials="W." surname="Roome"/>
            <author fullname="S. Randriamasy" initials="S." surname="Randriamasy"/>
            <author fullname="Y. Yang" initials="Y." surname="Yang"/>
            <author fullname="J. Zhang" initials="J." surname="Zhang"/>
            <author fullname="K. Gao" initials="K." surname="Gao"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document specifies an extension to the base Application-Layer Traffic Optimization (ALTO) Protocol that generalizes the concept of "endpoint properties", which have been tied to IP addresses so far, to entities defined by a wide set of objects.  Further, these properties are presented as maps, similar to the network and cost maps in the base ALTO Protocol.  While supporting the endpoints and related Endpoint Property Service defined in RFC 7285, the ALTO Protocol is extended in two major directions.  First, from endpoints restricted to IP addresses to entities covering a wider and extensible set of objects; second, from properties for specific endpoints to entire entity property maps.  These extensions introduce additional features that allow entities and property values to be specific to a given information resource.  This is made possible by a generic and flexible design of entity and property types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9240"/>
          <seriesInfo name="DOI" value="10.17487/RFC9240"/>
        </reference>
        <reference anchor="I-D.ietf-teas-sf-aware-topo-model" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-sf-aware-topo-model-11" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-sf-aware-topo-model.xml">
          <front>
            <title>SF Aware TE Topology YANG Model</title>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>IBM Corporation</organization>
            </author>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung Electronics</organization>
            </author>
            <author fullname="Jim Guichard" initials="J." surname="Guichard">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dmytro Shytyi" initials="D." surname="Shytyi"/>
            <date day="12" month="March" year="2023"/>
            <abstract>
              <t>This document describes a YANG data model for TE network topologies that are network service and function aware.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-sf-aware-topo-model-11"/>
        </reference>
        <reference anchor="I-D.llc-teas-dc-aware-topo-model" target="https://datatracker.ietf.org/doc/html/draft-llc-teas-dc-aware-topo-model-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.llc-teas-dc-aware-topo-model.xml">
          <front>
            <title>DC aware TE topology model</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung Electronics</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>IBM Corporation</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>This document proposes the extension of the TE topology model for including information related to data center resource capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-llc-teas-dc-aware-topo-model-02"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <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>
        <name>Informative References</name>
        <reference anchor="CNTT">
          <front>
            <title>Cloud Infrastructure Telco Taskforce Reference Model</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="June"/>
          </front>
          <seriesInfo name="https://github.com/cntt-n/CNTT/wiki" value=""/>
        </reference>
        <reference anchor="GSMA">
          <front>
            <title>Cloud Infrastructure Reference Model, Version 2.0</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="October"/>
          </front>
          <seriesInfo name="https://www.gsma.com/newsroom/wp-content/uploads//NG.126-v2.0-1.pdf" value=""/>
        </reference>
        <reference anchor="Anuket">
          <front>
            <title>Anuket Project</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="October"/>
          </front>
          <seriesInfo name="https://wiki.anuket.io/" value=""/>
        </reference>
        <reference anchor="LF-EDGE">
          <front>
            <title>Linux Foundation Edge</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="March"/>
          </front>
          <seriesInfo name="https://www.lfedge.org/" value=""/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
OZ5NQkuyVv8Nhf0fdMJfAAA=

-->

</rfc>
