Skip to main content

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

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Qin Wu , Young Lee , Dhruv Dhody , Sabine Randriamasy
Last updated 2013-10-20
Replaced by draft-ietf-alto-performance-metrics, RFC 9439
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wu-alto-te-metrics-00
ALTO Working Group                                                 Q. Wu
Internet-Draft                                                    Y. Lee
Intended status: Standards Track                                D. Dhody
Expires: April 24, 2014                                           Huawei
                                                          S. Randriamasy
                                                          Alcatel-Lucent
                                                        October 21, 2013

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

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 latency 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 XXX 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.  Additional Cost Metrics such as financial cost
   metrics may be defined in other documents.

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 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 April 24, 2014.

Wu, et al.               Expires April 24, 2014                 [Page 1]
Internet-Draft               ALTO TE Metrics                October 2013

Copyright Notice

   Copyright (c) 2013 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.  Conventions used in this document  . . . . . . . . . . . . . .  4
   3.  Metric: delay  . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Metric: delayjitter  . . . . . . . . . . . . . . . . . . . . .  7
   5.  Metric: pktloss  . . . . . . . . . . . . . . . . . . . . . . .  9
   6.  Cost Metric: hopcount  . . . . . . . . . . . . . . . . . . . . 11
   7.  Metrics: bandwidth . . . . . . . . . . . . . . . . . . . . . . 12
   8.  Metric: maxbw  . . . . . . . . . . . . . . . . . . . . . . . . 14
   9.  Maximum Reserved Bandwdith: maxreservbw  . . . . . . . . . . . 15
   10. Metric: unreservbw . . . . . . . . . . . . . . . . . . . . . . 16
   11. Metric: residuebw  . . . . . . . . . . . . . . . . . . . . . . 17
   12. Metric: availbw  . . . . . . . . . . . . . . . . . . . . . . . 18
   13. Metric: utilbw . . . . . . . . . . . . . . . . . . . . . . . . 19
   14. Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   15. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
   16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
     16.1.  Normative References  . . . . . . . . . . . . . . . . . . 22
     16.2.  Informative References  . . . . . . . . . . . . . . . . . 22
   Appendix A.  Filtering constraint Extensions . . . . . . . . . . . 23
   Appendix B.  Contributing Authors Addresses  . . . . . . . . . . . 25
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26

Wu, et al.               Expires April 24, 2014                 [Page 2]
Internet-Draft               ALTO TE Metrics                October 2013

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 in 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.

   In this document, we define X Cost Metrics, extending the base ALTO
   protocol [ALTO], which has defined only a single Cost Metric, i.e.,
   the generic "routingcost" metric (Sec. 14.2 of ALTO base
   specification [ALTO]).

   The Cost Metrics that we define in this document focus on traffic
   engineering.  Additional metrics may be defined in other documents.
   In particular, the Cost Metrics that we define in this document can
   be gathered from routing systems; [OSPF-TE], [ISIS-TE], [BGP-LS] and
   [BGP-PM] define mechanisms that allow an ALTO Server to retrieve and
   derive the necessary information to provide the metrics that we
   define in this document.

   Note that the metrics 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 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.

   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.  We handle this
   issue [YRY: IMPORTANT TO SOLVE]

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

Wu, et al.               Expires April 24, 2014                 [Page 3]
Internet-Draft               ALTO TE Metrics                October 2013

2.  Conventions used in this document

   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 RFC2119 [RFC2119].

   Syntax specifications shown here use the augmented Backus-Naur Form
   (ABNF) as described in [RFC5234], and are specified as in the base
   JSON specification [RFC4627].

Wu, et al.               Expires April 24, 2014                 [Page 4]
Internet-Draft               ALTO TE Metrics                October 2013

3.  Metric: delay

 Cost Metric name:  delay

 Metric Description:  To specify spatial and temporal aggregated
           delay 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.

 Metric Unit:  The unit is microseconds.

 Metric Value Type:
            A single 'JSONNumber' type value containing a non-negative
            integer component that may be followed by a fraction part
            and/or an exponent part.

 Cost Mode:  A Cost Mode is encoded as a US-ASCII string.
 The string MUST either have the value 'numerical' or 'ordinal'.

 Measurement details: YRY: SPECIFY MORE DETAILS.

 Example 1:
  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",

Wu, et al.               Expires April 24, 2014                 [Page 5]
Internet-Draft               ALTO TE Metrics                October 2013

                   "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,
     }
   }
 }

Wu, et al.               Expires April 24, 2014                 [Page 6]
Internet-Draft               ALTO TE Metrics                October 2013

4.  Metric: delayjitter

  Cost Metric name:  delayjitter

  Metric Description:   To specify the average delay variation over
            a configurable interval for each source/destination pair
            between two endpoints (network locations) in the network.
            It could be either end to end jitter or the jitter
            associated with a link (linkjitter). The unit is
            microseconds.

  Cost Metric Value type:
            A single 'JSONumber' type value containing an integer
            component that may be prefixed with an optional minus
            sign, which may be followed by a fraction part and/or
            an exponent part.

  Purpose: This is intended to be a constraint attribute value
  It could be used as a cost metric constraint attribute used
  together with cost metric attribute 'routingcost' or on its
  own or as a returned cost metric in the response.

  Cost mode:  A Cost Mode is encoded as a US-ASCII string.
  The string MUST either have the value 'numerical' or 'ordinal'.

  Measurement timing: Gather and update at the configurable interval
  if it is link attribute. See [OSPF-TE] for configurable
  interval. The configurable interval for end to end jitter could
  be same as link.

  Measurement points with Potential Measurement Domain:
  The measurement point could be at any endpoint between
  source and destination in the network.

  Examples:
  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" : "delayjitter"},
    "endpoints" : {
      "srcs": [ "ipv4:192.0.2.2" ],
      "dsts": [
        "ipv4:192.0.2.89",

Wu, et al.               Expires April 24, 2014                 [Page 7]
Internet-Draft               ALTO TE Metrics                October 2013

        "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":"delayjitter"
      }
     },
    "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
           }
        }
     }

Wu, et al.               Expires April 24, 2014                 [Page 8]
Internet-Draft               ALTO TE Metrics                October 2013

5.  Metric: pktloss

  Cost Metric name:  pktloss

  Metric Description:  To specify a percentage of the total traffic
            sent over a configurable interval for each
            source/destination pair between two endpoints(network
            locations) in the network. It could be either end to
            end packet loss or the packet loss associated with a link
            (linkloss).

  Cost Metric Value type:
            A single number value containing an integer component that
            may be prefixed with an optional minus sign, which may
            be followed by a fraction part and/or an exponent part.

  Purpose: This is intended to be a constraint attribute value
  It could be used as a cost metric constraint attribute used
  together with cost metric attribute 'routingcost' or on its
  own or as a returned cost metric in the response.

  Cost mode:  A Cost Mode is encoded as a US-ASCII string.
  The string MUST either have the value 'numerical' or 'ordinal'.

  Measurement timing: Gather and update at the configurable interval
  if it is link attribute. See [OSPF-TE] for configurable
  interval. The configurable interval for end to end packet loss
  could be same as link.

  Measurement points with Potential Measurement Domain:
  The measurement point could be at any endpoint between
  source and destination in the network.

  Examples:
  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",

Wu, et al.               Expires April 24, 2014                 [Page 9]
Internet-Draft               ALTO TE Metrics                October 2013

          "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" : 0,
                               }
               }
   }

Wu, et al.               Expires April 24, 2014                [Page 10]
Internet-Draft               ALTO TE Metrics                October 2013

6.  Cost Metric: hopcount

  Cost Metric name:  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 layer (IP perhaps), details TBD for
  multiple-layer aspect.

  Cost Metric Value type:
          A single 'JSONNumber' type value containing an
          integer component that may be prefixed with an
          optional minus sign.

  Purpose: This is intended to be a constraint attribute value
  It could be used as a cost metric constraint attribute used
  together with cost metric attribute 'routingcost' or on its
  own or as a returned cost metric in the response.

  Cost mode:  A Cost Mode is encoded as a US-ASCII string.
  string MUST either have the value 'numerical' or 'ordinal'.

Wu, et al.               Expires April 24, 2014                [Page 11]
Internet-Draft               ALTO TE Metrics                October 2013

7.  Metrics: bandwidth

  Cost Metric name:  bandwidth

  Metric Description:  To specify Bandwidth over a configurable
            interval for each source/destination pair between
            two endpoints (network locations)in the network.
            It could be either aggregated bandwidth for end to end
            path or the bandwidth associated with a link. The units
            are bytes per second.

  Cost Metric Value type:
            A single 'JSONNumber' type value containing an integer
            component that may be prefixed with an optional minus
            sign, which may be followed by a fraction part and/or
            an exponent part.

  Purpose: This is intended to be a constraint attribute value
  It could be used as a cost metric constraint attribute used
  together with cost metric attribute 'routingcost' or on its
  own or as a returned cost metric in the response.

  Cost mode:  A Cost Mode is encoded as a US-ASCII string.
  The string MUST either have the value 'numerical' or 'ordinal'.

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

  Examples: (based on Residual Bandwidth (residuebw))

  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"
        ]

Wu, et al.               Expires April 24, 2014                [Page 12]
Internet-Draft               ALTO TE Metrics                October 2013

      }
    }
  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,
                                }
               }
  }

Wu, et al.               Expires April 24, 2014                [Page 13]
Internet-Draft               ALTO TE Metrics                October 2013

8.  Metric: maxbw

   A maxbw is gathered using [RFC3630], [RFC3784] or [BGP-LS].  It could
   be either maximum bandwidth for end to end path or the bandwidth
   associated with a link.  It is extended from Bandwidth Cost metric
   and defined as:

 Object {
 BWType     max;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw;
 }maxbw;

Wu, et al.               Expires April 24, 2014                [Page 14]
Internet-Draft               ALTO TE Metrics                October 2013

9.  Maximum Reserved Bandwdith: maxreservbw

   A maxreservbw is gathered using [RFC3630], [RFC3784] or [BGP-LS].  It
   could be either maximum reserved bandwidth for end to end path or the
   bandwidth associated with a link.  It is extended from Bandwidth Cost
   metric and defined as:

 Object {
 BWType     maxreserved;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw;
 }maxreservbw;

Wu, et al.               Expires April 24, 2014                [Page 15]
Internet-Draft               ALTO TE Metrics                October 2013

10.  Metric: unreservbw

   A unreservbw is gathered using [RFC3630], [RFC3784] or [BGP-LS].  It
   could be either unreserved bandwidth for end to end path or the
   bandwidth associated with a link.  It is extended from Bandwidth Cost
   metric and defined as:

 Object {
 BWType unreserved;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw<1,8>
 }unreservbw;

 //This bandwidth is per priority [TBD].

Wu, et al.               Expires April 24, 2014                [Page 16]
Internet-Draft               ALTO TE Metrics                October 2013

11.  Metric: residuebw

   A residuebw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM].  It
   could be either residual bandwidth for end to end path or the
   bandwidth associated with a link.  It is extended from Bandwidth Cost
   metric and defined as:

 Object {
 BWType Residue;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw;
 }rediduebw;

Wu, et al.               Expires April 24, 2014                [Page 17]
Internet-Draft               ALTO TE Metrics                October 2013

12.  Metric: availbw

   A availbw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM].  It
   could be either available bandwidth for end to end path or the
   bandwidth associated with a link.  It is extended from Bandwidth Cost
   metric and defined as:

 Object {
 BWType Available;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw;
 }availbw;

Wu, et al.               Expires April 24, 2014                [Page 18]
Internet-Draft               ALTO TE Metrics                October 2013

13.  Metric: utilbw

   A utilbw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM].  It
   could be either utilized bandwidth for end to end path or the
   bandwidth associated with a link.  It is extended from Bandwidth Cost
   metric and defined as:

 Object {
 BWType Utilized;
 [PIDName  srcPID;]
 [PIDName  dstPID;]
 [JSONBool state;] //TRUE = not steady for src/dst pair; FALSE = steady;
 Bandwidth bw;
 }utilbw;

Wu, et al.               Expires April 24, 2014                [Page 19]
Internet-Draft               ALTO TE Metrics                October 2013

14.  Security Considerations

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

Wu, et al.               Expires April 24, 2014                [Page 20]
Internet-Draft               ALTO TE Metrics                October 2013

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.1 |
      |           | jitter       | [RFCxxxx], Section 3.2 |
      |           | pktloss      | [RFCxxxx], Section 3.3 |
      |           |  bandwidth   | [RFCxxxx], Section 3.4 |
      |           |  hopcount    | [RFCxxxx], Section 3.5 |
      |           |   maxbw      |[RFCxxxx],  Section 3.6 |
      |           |  maxresbw    |[RFCxxxx], Section 3.7  |
      |           |  unresdbw    |[RFCxxxx], Section 3.8  |
      |           |  residbw     |[RFCxxxx], Section 3.9  |
      |           |  availbw     |[RFCxxxx], Section 3.10 |
      |           |   utilbw     |[RFCxxxx], Section 3.11 |
      +-----------+--------------+------------------------+

Wu, et al.               Expires April 24, 2014                [Page 21]
Internet-Draft               ALTO TE Metrics                October 2013

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.

   [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

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

Wu, et al.               Expires April 24, 2014                [Page 22]
Internet-Draft               ALTO TE Metrics                October 2013

Appendix A.  Filtering constraint Extensions

   Section 10.2.2.3 of "ALTO: Application Layer Traffic Optimization
   Protocol" [I.D-ietf-alto-protocol] states:
   "
   object {
        CostType   cost-type;
        [JSONString constraints<0..*>;]
        [PIDFilter  pids;]
      } ReqFilteredCostMap;

   object {
        PIDName srcs<0..*>;
        PIDName dsts<0..*>;
      } PIDFilter;

   with members:

   cost-type  The CostType (Section 9.7) for the returned costs.  The
   cost-metric and cost-mode fields MUST match one of the supported
   Cost Types indicated in this resource's capabilities
   (Section 10.2.2.4).  The ALTO Client SHOULD omit the description
   field, and if present, the ALTO Server MUST ignore the description
   field.

   constraints  Defines a list of additional constraints on which
   elements of the Cost Map are returned.  This parameter MUST NOT be
   specified if this resource's capabilities ( Section 10.2.2.4)
   indicate that constraint support is not available.  A constraint
   contains two entities separated by whitespace: (1) an operator,
    'gt' for greater than, 'lt' for less than, 'ge' for greater than
   or equal to, 'le' for less than or equal to, or 'eq' for equal to;
   (2) a target cost value.  The cost value is a number that MUST be
   defined in the same units as the Cost Metric indicated by the
   cost-metric parameter.  ALTO Servers SHOULD use at least IEEE 754
   double-precision floating point [IEEE.754.2008] to store the cost
   value, and SHOULD perform internal computations using double-
   precision floating-point arithmetic.  If multiple 'constraint'
   parameters are specified, they are interpreted as being related to
   each other with a logical AND.
   "

   In the JSON Object of type ReqFilteredCostMap, the constraint
   attribute is expressed as:

   "
   [gt | lt | ge | le | eq ] <value>
   "

Wu, et al.               Expires April 24, 2014                [Page 23]
Internet-Draft               ALTO TE Metrics                October 2013

   In this specification, the constraint attribute is changed to

      "
   <cost-type2>  [gt | lt | ge | le | eq ] <value>
      "

   Accordingly, the constraints definition is changed to:

  "
  constraints  Defines a list of additional constraints on which
  elements of the Cost Map are returned.  This parameter MUST NOT be
  specified if this resource's capabilities ( Section 10.2.2.4)
  indicate that constraint support is not available.  A constraint
  contains three entities separated by whitespace: (1)an cost type
  is by default cost-type in the JSON Object of type ReqFilteredCostMap.
  In addition, it could be another cost-type used for the returned cost
  (2) an operator, 'gt' for greater than, 'lt' for less than, 'ge' for
  greater than or equal to, 'le' for less than or equal to, or 'eq' for
  equal to; (3) a target cost value.  The cost value is a number that
  MUST be defined in the same units as the Cost Metric indicated by the
  cost-metric parameter.  ALTO Servers SHOULD use at least IEEE 754
  double-precision floating point [IEEE.754.2008] to store the cost
  value, and SHOULD perform internal computations using double-
  precision floating-point arithmetic.  If multiple 'constraint'
  parameters are specified, they are interpreted as being related to
  each other with a logical AND.
  "

   Editor-Notes: Filtering constraint extension should move to another
   document defining multi-metrics filtering in the future.

Wu, et al.               Expires April 24, 2014                [Page 24]
Internet-Draft               ALTO TE Metrics                October 2013

Appendix B.  Contributing Authors Addresses

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

      Email: yry@cs.yale.edu

Wu, et al.               Expires April 24, 2014                [Page 25]
Internet-Draft               ALTO TE Metrics                October 2013

Authors' Addresses

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

   Email: sunseawq@huawei.com

   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

Wu, et al.               Expires April 24, 2014                [Page 26]