ALTO Working Group                                                 Q. Wu
Internet-Draft                                                    Huawei
Intended status: Standards Track                                 Y. Yang
Expires: December 29, 2014                               Yale University
                                                                  Y. Lee
                                                                D. Dhody
                                                                  Huawei
                                                          S. Randriamasy
                                                          Alcatel-Lucent
                                                           June 27, 2014


                 ALTO Traffic Engineering Cost Metrics
                      draft-wu-alto-te-metrics-03

Abstract

   Cost Metric is a basic concept in Application-Layer Traffic
   Optimization (ALTO).  It is used in both the Cost Map Service and the
   Endpoint Cost Service.  Future extensions to ALTO may also use Cost
   Metric.

   Different applications may benefit from different Cost Metrics.  For
   example, a Resource Consumer may prefer Resource Providers that have
   low delay to the Resource Consumer.  However the base ALTO protocol
   [ALTO] has defined only a single cost metric, i.e., the generic
   "routingcost" metric (Sec. 14.2 of ALTO base specification [ALTO]).

   In this document, we define eleven Cost Metrics, derived from OSPF-TE
   and ISIS-TE, to measure network delay, jitter, packet loss, hop
   count, and bandwidth.  The metrics defined in this document provide a
   relatively comprehensive set of Cost Metrics for ALTO focusing on
   traffic engineering (TE).  Additional Cost Metrics such as financial
   cost metrics may be defined in other documents.

   Requirements Language The key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
   and "OPTIONAL" in this document are to be interpreted as described in
   RFC 2119 [RFC2119].

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




Wu, et al.              Expires December 29, 2014               [Page 1]


Internet-Draft               ALTO TE Metrics                   June 2014


   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://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."

   This Internet-Draft will expire on December 29, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://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.  Data sources, computation of defined cost metrics . . . . . .   4
     2.1.  Data sources  . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  Computation of metrics  . . . . . . . . . . . . . . . . .   4
   3.  Metric: Delay . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  Metric: Delay Jitter  . . . . . . . . . . . . . . . . . . . .   6
   5.  Metric: Packet Loss . . . . . . . . . . . . . . . . . . . . .   8
   6.  Metric: Hop Count . . . . . . . . . . . . . . . . . . . . . .  10
   7.  Metric: Bandwidth . . . . . . . . . . . . . . . . . . . . . .  12
   8.  Metric: Maximum Bandwidth . . . . . . . . . . . . . . . . . .  13
   9.  Metric: Maximum Reserved Bandwdith  . . . . . . . . . . . . .  14
   10. Metric: Unavailable Reserved Bandwidth  . . . . . . . . . . .  16
   11. Metric: Residue Bandwidth . . . . . . . . . . . . . . . . . .  19
   12. Metric: Available Bandwidth . . . . . . . . . . . . . . . . .  20
   13. Metric: Utilized Bandwidth  . . . . . . . . . . . . . . . . .  22
   14. Security Considerations . . . . . . . . . . . . . . . . . . .  24
   15. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  25
   16. References  . . . . . . . . . . . . . . . . . . . . . . . . .  25
     16.1.  Normative References . . . . . . . . . . . . . . . . . .  25
     16.2.  Informative References . . . . . . . . . . . . . . . . .  26
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  26



Wu, et al.              Expires December 29, 2014               [Page 2]


Internet-Draft               ALTO TE Metrics                   June 2014


1.  Introduction

   Cost Metric is a basic concept in Application-Layer Traffic
   Optimization (ALTO).  It is used in both the Cost Map Service and the
   Endpoint Cost Service.  In particular, applications may benefit from
   knowing network performance measured on several Cost Metrics.  For
   example, a more delay sensitive application may focus on latency, and
   a more bandwidth-sensitive application may focus on available
   bandwidth.

   The objective of this document is to define eleven cost metrics,
   listed in Table 1, to support the aforementioned applications.
   Hence, this document extends the base ALTO protocol [ALTO], which
   defines only a single cost metric, i.e., the generic "routingcost"
   metric (Sec. 14.2 of ALTO base specification [ALTO]).

      +-----------+--------------+------------------------+
      | Namespace | Property     | Reference              |
      +-----------+--------------+------------------------+
      |           | delay        | [RFCxxxx], Section 3   |
      |           | jitter       | [RFCxxxx], Section 4   |
      |           | pktloss      | [RFCxxxx], Section 5   |
      |           | hopcount     | [RFCxxxx], Section 6   |
      |           | bandwidth    | [RFCxxxx], Section 7   |
      |           | maxbw        | [RFCxxxx], Section 8   |
      |           | maxresbw     | [RFCxxxx], Section 9   |
      |           | unresdbw     | [RFCxxxx], Section 10  |
      |           | residbw      | [RFCxxxx], Section 11  |
      |           | availbw      | [RFCxxxx], Section 12  |
      |           | utilbw       | [RFCxxxx], Section 13  |
      +-----------+--------------+------------------------+
                          Table 1.

   An ALTO server may provide a subset of the cost metrics defined in
   this document.  When an ALTO server supports a cost metric defined in
   this document, the server SHOULD announce the metric in its IRD.

   The definitions of a set of cost metrics can allow us to extend the
   ALTO base protocol (e.g., allowing output and constraints use
   different cost metrics), but such extensions are not in the scope of
   this document.

   One challenge in defining the metrics is that performance metrics
   often depend on configuration parameters.  For example, the value of
   packet loss rate depends on the measurement interval and varies over
   time.  To handle this issue, ALTO server may collect data on time
   periods covering the past, present or only collect data on present
   time.



Wu, et al.              Expires December 29, 2014               [Page 3]


Internet-Draft               ALTO TE Metrics                   June 2014


   Following the ALTO base protocol, this document uses JSON to specify
   the value type of each defined metric.  See [RFC4627] for JSON data
   type specification.

2.  Data sources, computation of defined cost metrics

   The cost metrics defined in this document are similar, in that they
   may use similar data sources and have similar issues in their
   calculation.  Hence, instead of specifying such issues for each
   metric individually, we specify the common issue in this section.

2.1.  Data sources

   An ALTO server needs data sources to compute the cost metrics defined
   in this document.  This document does not define the exact data
   sources.  For example, the ALTO server may use log servers or the OAM
   system as its data source [ALTO-DEPLOYMENT].  In particular, the cost
   metrics defined in this document can be computed using routing
   systems as the data sources.  Mechanisms defined in [RFC3630],
   [RFC3784], [OSPF-TE], [ISIS-TE], [BGP-LS] and [BGP-PM] that allow an
   ALTO Server to retrieve and derive the necessary information to
   compute the metrics that we define in this document.

2.2.  Computation of metrics

   An ALTO server process measurements from data sources to compute
   exposed metrics.  It may need performance data processing tasks such
   as aggregating the results across multiple systems, removing
   outliers, and creating additional statistics.

   One specific challenge in defining the metrics in this document is
   that these performance metrics depend on some configuration
   parameters.  For example, the value of packet loss rate depends on
   the measurement interval and varies over time.  If the ALTO server
   uses aforementioned routing protocol based mechanisms as data
   sources, then the measurement interval may be preconfigured by the
   routing protocol.  For example, Section 5 of [ISIS-TE] defines a
   default measurement interval of 30 seconds.  This document uses the
   term Measurement Interval to refer to the measurement interval used
   by the data sources.  The Measurement Interval(s) of the data sources
   can be different from the interval that this document defines the
   metric.  Hence, an ALTO server needs to resolve the mismatch, when it
   happens.  [TODO: Need more specification.]

   Another issue of converting from data source measurements to ALTO
   exposed metric values is that the measurement results that the ALTO
   Server retrieves may be defined for only links, and hence, the server
   will need to compose the link metrics to obtain path metrics used in



Wu, et al.              Expires December 29, 2014               [Page 4]


Internet-Draft               ALTO TE Metrics                   June 2014


   services such as the Cost Map Service.  In this definition, we define
   the metrics to be independent of link or path, considering that
   future ALTO extensions may define link-based services, and hence the
   defined metrics should still be usable.

3.  Metric: Delay

   Cost Metric name:

      Delay


   Cost Metric string:

      US-ASCII string 'delay'


   Metric Description:

      To specify spatial and temporal aggregated delay between the
      specified source and destination or the time that the packet
      spends to travel from source to destination.  The spatial
      aggregation unit is specified in the query context (e.g., PID to
      PID, or endpoint to endpoint); and the temporal unit is specified
      as the measurement interval in the query context.


   Metric Unit:

      The unit is microsecond.


   Metric Value Type:

      A single 'JSONNumber' type value containing a non-negative integer
      component that may be followed by an exponent part.















Wu, et al.              Expires December 29, 2014               [Page 5]


Internet-Draft               ALTO TE Metrics                   June 2014


 Example 1: Delay value on source-destination endpoint pairs
  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

 {
   "cost-type": {"cost-mode" : "numerical",
                 "cost-metric" : "delay"},
   "endpoints" : {
     "srcs": [ "ipv4:192.0.2.2" ],
     "dsts": [
       "ipv4:192.0.2.89",
       "ipv4:198.51.100.34",
       "ipv4:203.0.113.45"
     ]
   }
 }

 HTTP/1.1 200 OK
 Content-Length: TBA
 Content-Type: application/alto-endpointcost+json
 {
   "meta" :{
     "cost-type": {"cost-mode" : "numerical",
                   "cost-metric" : "delay"
      }
    },
     "endpoint-cost-map" : {
       "ipv4:192.0.2.2": {
         "ipv4:192.0.2.89"    : 10,
         "ipv4:198.51.100.34" : 20,
         "ipv4:203.0.113.45"  : 30,
     }
   }
 }

4.  Metric: Delay Jitter

   Cost Metric name:

      Delay jitter


   Cost Metric string:

      US-ASCII string 'jitter'



Wu, et al.              Expires December 29, 2014               [Page 6]


Internet-Draft               ALTO TE Metrics                   June 2014


   Metric Description:

      To specify spatial and temporal aggregated jitter (latency
      variation) over the specified source and destination.  The spatial
      aggregation unit is specified in the query context (e.g., PID to
      PID, or endpoint to endpoint); and the temporal unit is specified
      as the measurement interval in the query context.


   Metric Unit:

      The unit is microsecond.


   Metric Value Type:

      A single 'JSONumber' type value containing an integer component
      that may be followed by exponent part.

































Wu, et al.              Expires December 29, 2014               [Page 7]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 2: Delayjitter value on source-destination endpoint pairs
  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

  {
    "cost-type": {"cost-mode" : "numerical",
     "cost-metric" : "jitter"},
    "endpoints" : {
      "srcs": [ "ipv4:192.0.2.2" ],
      "dsts": [
        "ipv4:192.0.2.89",
        "ipv4:198.51.100.34",
        "ipv4:203.0.113.45"
      ]
    }
  }
  HTTP/1.1 200 OK
   Content-Length: TBA
   Content-Type: application/alto-endpointcost+json
  {
    "meta": {
             "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"jitter"
      }
     },
    "endpoint-cost-map": {
             "ipv4:192.0.2.2": {
             "ipv4:192.0.2.89"    : 0
             "ipv4:198.51.100.34" : 1
             "ipv4:203.0.113.45"  : 5
           }
        }
     }

5.  Metric: Packet Loss

   Cost Metric name:

      Packet loss


   Cost Metric string:

      US-ASCII string 'pktloss'



Wu, et al.              Expires December 29, 2014               [Page 8]


Internet-Draft               ALTO TE Metrics                   June 2014


   Metric Description:

      To specify spatial and temporal aggregated packet loss over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endpoint to
      endpoint); and the temporal unit is specified as the measurement
      interval in the query context.


   Metric Unit:

      The unit is percentile.


   Metric Value Type:

      A single number value containing an integer component that may be
      followed by a fraction part and/or an exponent part.

































Wu, et al.              Expires December 29, 2014               [Page 9]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 3: pktloss value on source-destination endpoint pairs
  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
      "cost-type": {"cost-mode" : "numerical",
       "cost-metric" : "pktloss"},
      "endpoints" : {
        "srcs": [ "ipv4:192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
      }
    }
  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
      "meta": {
                 "cost type": {
               "cost-mode": "numerical",
               "cost-metric":"pktloss"}
         }
      },
     "endpoint-cost-map": {
             "ipv4:192.0.2.2": {
             "ipv4:192.0.2.89"   : 0,
             "ipv4:198.51.100.34": 1,
             "ipv4:203.0.113.45" : 2,
                               }
               }
   }

6.  Metric: Hop Count

   The metric hopcount is mentioned in [ALTO] as an example.  This
   section further clarifies its properties.

   Cost Metric name:

      Hop count





Wu, et al.              Expires December 29, 2014              [Page 10]


Internet-Draft               ALTO TE Metrics                   June 2014


   Cost Metric string:

      US-ASCII string 'hopcount'


   Metric Description:

      To specify the number of hops in the path between the source
      endpoint and the destination endpoint.

      [Editor Note: Need to specify which level (AS, IP perhaps),
      details TBD for multiple-layer aspect.]

   Metric Unit:

      The unit is integer number.


   Metric Value Type:

      A single 'JSONNumber' type value containing an integer component.






























Wu, et al.              Expires December 29, 2014              [Page 11]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 4: hopcount value on source-destination endpoint pairs
  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
      "cost-type": {"cost-mode" : "numerical",
       "cost-metric" : "hopcount"},
      "endpoints" : {
        "srcs": [ "ipv4:192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
      }
    }
  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
      "meta": {
                 "cost type": {
               "cost-mode": "numerical",
               "cost-metric":"hopcount"}
         }
      },
     "endpoint-cost-map": {
             "ipv4:192.0.2.2": {
             "ipv4:192.0.2.89"   : 5,
             "ipv4:198.51.100.34": 3,
             "ipv4:203.0.113.45" : 2,
                               }
               }
   }

7.  Metric: Bandwidth

   Cost Metric name:

      Bandwidth


   Cost Metric string:

      US-ASCII string 'bandwidth'



Wu, et al.              Expires December 29, 2014              [Page 12]


Internet-Draft               ALTO TE Metrics                   June 2014


   Metric Description:

      To specify spatial and temporal aggregated bandwidth over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endhost to
      endhost); and the temporal unit is specified as the measurement
      interval in the query context.

      This is just a definition of a class of cost metric 'bandwidth'.
      The use of this cost metric is always in conjunction with what it
      represents, which could be Max Bandwidth (maxbw), Residual
      Bandwidth (residuebw) etc.


   Metric Unit:

      The units are bytes per second.


   Metric Value Type:

      A single 'JSONNumber' type value containing an integer component ,
      which may be followed by a fraction part and/or an exponent part.


8.  Metric: Maximum Bandwidth

   Cost Metric name:

      Maximum Bandwidth


   Cost Metric string:

      US-ASCII string 'maxbw'


   Metric Description:

      To specify spatial and temporal maximum bandwidth over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endhost to
      endhost); and the temporal unit is specified as the measurement
      interval in the context interval.


    Metric Unit and Metric Value Type:




Wu, et al.              Expires December 29, 2014              [Page 13]


Internet-Draft               ALTO TE Metrics                   June 2014


      See definition for the Bandwidth Cost Metric.


  Example 5: maxbw value on source-destination endpoint pairs

  POST/ endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

  {
     "cost-type": { "cost-mode":  "numerical",
     "cost-metric":  "maxbw"},
     "endpoints":  {
        "srcs": [ "ipv4 : 192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
      }
    }

  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
      "meta": {
             "cost-type": {
             "cost-mode": "numerical",
             "cost-metric": "maxbw"
             }
      },
  "endpoint-cost-map": {
            "ipv4:192.0.2.2": {
            "ipv4:192.0.2.89":    0,
            "ipv4:198.51.100.34" : 2000,
            "ipv4:203.0.113.45":  5000,
                          }
          }
  }

9.  Metric: Maximum Reserved Bandwdith

   Cost Metric name:

      Maximum Reserved Bandwidth



Wu, et al.              Expires December 29, 2014              [Page 14]


Internet-Draft               ALTO TE Metrics                   June 2014


   Cost Metric string:

      US-ASCII string 'maxresbw'


   Metric Description:

      To specify spatial and temporal maximum reserved bandwidth over
      the specified source and destination.  The spatial aggregation
      unit is specified in the query context (e.g., PID to PID, or
      endpoint to endpoint); and the temporal unit is specified as the
      measurement interval in the query context.


   Metric Unit and Value Type:

      See definition of the Bandwidth Cost Metric.


































Wu, et al.              Expires December 29, 2014              [Page 15]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 6: maxresbw value on source-destination endpoint pairs

  POST/ endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
      "cost-type" { "cost-mode":  "numerical",
      "cost-metric":  "maxresbw"},
      "endpoints":  {
        "srcs": [ "ipv4 : 192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
      }
    }
  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
      "meta": {
             "cost-type": {
             "cost-mode": "numerical",
             "cost-metric": "maxresbw"
             }
      },
    " endpoint-cost-map": {
            "ipv4:192.0.2.2" {
            "ipv4:192.0.2.89" :    0,
            "ipv4:198.51.100.34": 2000,
            "ipv4:203.0.113.45":  5000,
                              }
             }
  }

10.  Metric: Unavailable Reserved Bandwidth

   Cost Metric name:

      Unavailable Reserved Bandwidth


   Cost Metric string:




Wu, et al.              Expires December 29, 2014              [Page 16]


Internet-Draft               ALTO TE Metrics                   June 2014


      US-ASCII string 'unresbw'


   Metric Description:

      To specify spatial and temporal unavailable reserved bandwidth
      over the specified source and destination.  The values correspond
      to the bandwidth that can be reserved with a setup priority of 0
      through 7.  Therefore this metric is endcoded as an array of 8
      values.  The spatial aggregation unit is specified in the query
      context (e.g., PID to PID, or endpoint to endpoint); and the
      temporal unit is specified as the measurement interval in the
      query context.


   Metric Unit and Value Type:

      See definition for the bandwidth Cost Metric.

































Wu, et al.              Expires December 29, 2014              [Page 17]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 7: unresbw value on source-destination endpoint pairs
  In this example, the Collection method specifies that the
  'unresbw' values are defined as the 'unavailable bandwidth' specified
  in section 2.5.8 of RFC3630: 8 unavailable bandwidth value are
  reported in the same OSPF message using the same TLV. Each value
  is corresponding to the bandwidth that can be reserved with a setup
  priority of 0 through 7.

  POST/ endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
     "cost-type" { "cost-mode":  "numerical",
     "cost-metric":  "unresbw[1,8]" },
     "endpoints":  {
        "srcs": [ "ipv4:192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
      }
    }

  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
     "meta": {
            "cost-type": {
            "cost-mode": "numerical",
            "cost-metric": "unresbw[1,8]"
          }
    },
  "endpoint-cost-map" {
             "ipv4:192.0.2.2" {
             "ipv4:192.0.2.89" :   [0,0,0,0,0,0,0,0],
             "ipv4:198.51.100.34": [0,0,0,0,0,0,0,2000],
             "ipv4:203.0.113.45":  [0,0,0,0,0,0,0,5000],
                            }
         }
  }






Wu, et al.              Expires December 29, 2014              [Page 18]


Internet-Draft               ALTO TE Metrics                   June 2014


11.  Metric: Residue Bandwidth

   Cost Metric name:

      Residue Bandwidth


   Cost Metric string:

      US-ASCII string 'residbw'


   Metric Description:

      To specify spatial and temporal residual bandwidth over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endpoint to
      endpoint); and the temporal unit is specified as the measurement
      interval in the query context.


   Metric Unit and Value Type:

      See definition of the general Bandwidth.



























Wu, et al.              Expires December 29, 2014              [Page 19]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 8: residuebw value on source-destination endpoint pairs

  POST/ endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
     "cost-type": { "cost-mode":  "numerical",
     "cost-metric":  "residubw"},
     "endpoints":  {
       "srcs": [ "ipv4 : 192.0.2.2" ],
       "dsts": [
         "ipv4:192.0.2.89",
         "ipv4:198.51.100.34",
         "ipv4:203.0.113.45"
       ]
     }
  }

  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
     "meta": {
            "cost-type" {
            "cost-mode": "numerical",
            "cost-metric": "residubw"
          }
      },
  "endpoint-cost-map" {
           "ipv4:192.0.2.2" {
           "ipv4:192.0.2.89" :    0,
           "ipv4:198.51.100.34": 2000,
           "ipv4:203.0.113.45":  5000,
                         }
          }
  }

12.  Metric: Available Bandwidth

   Cost Metric name:

      Available Bandwidth


   Cost Metric string:



Wu, et al.              Expires December 29, 2014              [Page 20]


Internet-Draft               ALTO TE Metrics                   June 2014


      US-ASCII string 'availbw'


   Metric Description:

      To specify spatial and temporal availaible bandwidth over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endpoint to
      endpoint); and the temporal unit is specified as the measurement
      interval in the query context.


   Metric Unit and Value Type:

      See definition of the general Bandwidth.




































Wu, et al.              Expires December 29, 2014              [Page 21]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 9: availbw value on source-destination endpoint pairs

  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

    {
     "cost-type": { "cost-mode":  "numeric",
     "cost-metric":  "availbw"},
      "endpoints":  {
        "srcs": [ "ipv4 : 192.0.2.2" ],
        "dsts": [
          "ipv4:192.0.2.89",
          "ipv4:198.51.100.34",
          "ipv4:203.0.113.45"
        ]
     }
       }

  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
  {
     "meta": {
            "cost-type": {
            "cost-mode": "numeric",
            "cost-metric": "availbw"
           }
     },

    "endpoint-cost-map": {
              "ipv4:192.0.2.2" {
             "ipv4:192.0.2.89" : [6,5,7,8,4,10,7,6],
             "ipv4:198.51.100.34" : [7,4,6,8,5,9,6,7],
             "ipv4:203.0.113.45" : [7,6,8,5,7,9,6,8],
                            }
           }
    }

13.  Metric: Utilized Bandwidth

   Cost Metric name:

      Utilized Bandwidth





Wu, et al.              Expires December 29, 2014              [Page 22]


Internet-Draft               ALTO TE Metrics                   June 2014


   Cost Metric string:

      US-ASCII string 'utilbw'


   Metric Description:

      To specify spatial and temporal utilized bandwidth over the
      specified source and destination.  The spatial aggregation unit is
      specified in the query context (e.g., PID to PID, or endpoint to
      endpoint); and the temporal unit is specified as the measurement
      interval in the query context.


   Metric Unit and Value Type:

      See definition of the general Bandwidth.


































Wu, et al.              Expires December 29, 2014              [Page 23]


Internet-Draft               ALTO TE Metrics                   June 2014


  Example 10: utilbw value on source-destination endpoint pairs

  POST /endpointcost/lookup HTTP/1.1
  Host: alto.example.com
  Content-Length: TBA
  Content-Type: application/alto-endpointcostparams+json
  Accept: application/alto-endpointcost+json,application/alto-error+json

   {
    "cost-type": {"cost-mode" : "numerical",
    "cost-metric" :  "utilbw"},
    "endpoints":  {
         "srcs" : [ "ipv4 : 192.0.2.2" ],
         "dsts" : [
           "ipv4:192.0.2.89",
           "ipv4:198.51.100.34",
           "ipv4:203.0.113.45"
        ]
      }
   }

  HTTP/1.1 200 OK
  Content-Length: TBA
  Content-Type: application/alto-endpointcost+json
   {
    "meta": {
           "cost type": {
           "cost-mode": "numerical",
           "cost-metric": "utilbw"
          }
    },
  "endpoint-cost-map": {
             "ipv4:192.0.2.2" {
             "ipv4:192.0.2.89" :   0,
             "ipv4:198.51.100.34" : 2000,
             "ipv4:203.0.113.45" :  5000,
                            }
           }
  }

14.  Security Considerations

   The properties defined in this document present no security
   considerations beyond those in Section 15 of the base ALTO
   specification [ALTO].

   However concerns addressed in Sections "15.1 Authenticity and
   Integrity of ALTO Information", "15.2 Potential Undesirable Guidance



Wu, et al.              Expires December 29, 2014              [Page 24]


Internet-Draft               ALTO TE Metrics                   June 2014


   from Authenticated ALTO Information" and "15.3 Confidentiality of
   ALTO Information" remain of utmost importance.  Indeed, TE
   performance is a highly sensitive ISP information and sharing TE
   metric values in numerical mode requires full mutual confidence
   between the entities managing the ALTO Server and Client.  Numerical
   TE performance information will most likely be distributed by ALTO
   Servers to Clients under strict and formal mutual trust agreements.
   One the other hand, ALTO Clients must be cognizant on the risks
   attached to such information that they would have acquired outside
   formal conditions of mutual trust.

15.  IANA Considerations

   IANA has added the following entries to the ALTO cost map Properties
   registry, defined in Section 3 of [RFCXXX].

      +-----------+--------------+------------------------+
      | Namespace | Property     | Reference              |
      +-----------+--------------+------------------------+
      |           | delay        | [RFCxxxx], Section 3   |
      |           | jitter       | [RFCxxxx], Section 4   |
      |           | pktloss      | [RFCxxxx], Section 5   |
      |           | hopcount     | [RFCxxxx], Section 6   |
      |           | bandwidth    | [RFCxxxx], Section 7   |
      |           | maxbw        | [RFCxxxx], Section 8   |
      |           | maxresbw     | [RFCxxxx]  Section 9   |
      |           | unresdbw     | [RFCxxxx], Section 10  |
      |           | residbw      | [RFCxxxx], Section 11  |
      |           | availbw      | [RFCxxxx], Section 12  |
      |           | utilbw       | [RFCxxxx], Section 13  |
      +-----------+--------------+------------------------+


16.  References

16.1.  Normative References

   [ALTO]     Alimi, R., "ALTO Protocol", ID draft-ietf-alto-protocol-
              16, May 2013.

   [BGP-LS]   Gredler, H., "North-Bound Distribution of Link-State and
              TE Information using BGP", ID draft-ietf-idr-ls-
              distribution-03, May 2013.

   [BGP-PM]   Wu, Q., "BGP attribute for North-Bound Distribution of
              Traffic Engineering (TE) performance Metrics", ID draft-
              wu-idr-te-pm-bgp-02, October 2013.




Wu, et al.              Expires December 29, 2014              [Page 25]


Internet-Draft               ALTO TE Metrics                   June 2014


   [ISIS-TE]  Giacalone, S., "ISIS Traffic Engineering (TE) Metric
              Extensions", ID draft-ietf-isis-te-metric-extensions-01,
              October 2013.

   [OSPF-TE]  Giacalone, S., "OSPF Traffic Engineering (TE) Metric
              Extensions", ID draft-ietf-ospf-te-metric-extensions-04,
              June 2013.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

   [RFC4627]  Crockford, D., "The application/json Media Type for
              JavaScript Object Notation (JSON)", RFC 4627, July 2006.

   [RFC5234]  Crocker, D., "Augmented BNF for Syntax Specifications:
              ABNF", RFC 5234, January 2008.

16.2.  Informative References

   [ALTO-DEPLOYMENT]
              Stiemerling, M., Kiesel, S., Previdi, S., and M. Scharf,
              "ALTO Deployment Considerations", ID draft-ietf-alto-
              deployments-08, October 2013.

   [RFC6390]  Clark, A. and B. Claise, "Framework for Performance Metric
              Development", RFC 6390, July 2011.

Authors' Addresses

   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: sunseawq@huawei.com


   Y. Richard Yang
   Yale University
   51 Prospect St
   New Haven, CT  06520
   USA

   Email: yry@cs.yale.edu






Wu, et al.              Expires December 29, 2014              [Page 26]


Internet-Draft               ALTO TE Metrics                   June 2014


   Young Lee
   Huawei
   1700 Alma Drive, Suite 500
   Plano, TX  75075
   USA

   Email: leeyoung@huawei.com


   Dhruv Dhody
   Huawei
   Leela Palace
   Bangalore, Karnataka  560008
   INDIA

   Email: dhruv.ietf@gmail.com


   Sabine Randriamasy
   Alcatel-Lucent
   Route de Villejust
   Nozay  91460
   FRANCE

   Email: Sabine.Randriamasy@alcatel-lucent.com


























Wu, et al.              Expires December 29, 2014              [Page 27]