Документ взят из кэша поисковой машины. Адрес оригинального документа : http://mirror.msu.net/pub/rfc-editor/internet-drafts/draft-yang-alto-general-cost-type-00.txt
Дата изменения: Tue Oct 20 01:08:31 2015
Дата индексирования: Sun Apr 10 07:44:27 2016
Кодировка:




ALTO WG Y. Yang
Internet-Draft Yale University
Intended status: Standards Track October 19, 2015
Expires: April 21, 2016


ALTO Extension: General Cost Types
draft-yang-alto-general-cost-type-00.txt

Abstract

The Application-Layer Traffic Optimization (ALTO) Service has defined
both the endpoint cost service (ECS) and cost maps to provide
information to applications about network path properties (e.g.,
routingcost) from a set of source network points to a set of
destination network points, where each network point can be a single
endpoint (in ECS) or a PID which represents a set of endpoints (in a
cost map). Considering, conceptually, both ECS and cost map as
returning a matrix, indexed by sources and destinations as row and
column, the current ALTO protocol [RFC7285] allows the elements in
the matrix to be only scalar (i.e., numerical or ordinal). This,
however, is limiting in many use cases. This document discuss
multiple use cases where scalar-elements can be limitations. It then
defines new cost types to allow general cost types, such as vectors
to represent use cases such path vectors.

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
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 21, 2016.



Yang Expires April 21, 2016 [Page 1]

Internet-Draft ALTO Extension: Path Vector October 2015


Copyright Notice

Copyright (c) 2015 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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Generic Cost Types . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6

1. Introduction

Both ECS and cost maps, the two basic services of ALTO, can be
considered as returning a matrix, indexed by sources and destinations
as row and column, where each element in the matrix represents a path
property (called cost) from a source to a destination. Although
[RFC7285] recognizes the need to allow flexible cost values, and
hence defines each element in the cost matrix as the generic
JSONValue type, for the two defined cost modes, 'numerical' and
'ordinal', the type can be only scalars. This, however, can be
limiting.

There are multiple use cases where the elements are not simple
scalars. In [draft-randriamasy-alto-calendar], each element is an
array representing a cost calendar. In a simple case, each element
of the calendar is a scalar, e.g., src1->dst1: [1, 1.5, 1.1]. In a
general case (e.g., representing statistics such as min, max, and
average), the calendar can be: src1->dst1: [ [0.9, 1.1, 1.0], [1.4,
1.5, 1.6], [1.0, 1.1, 1.2]]. In [draft-randriamasy-alto-multi-cost],
each element is a vector, to define a value for each cost metric; in



Yang Expires April 21, 2016 [Page 2]

Internet-Draft ALTO Extension: Path Vector October 2015


[draft-yang-alto-path-vector], each element is a vector representing
the sequence of network elements traversed in the path.

The goal of this extension is to go beyond the scalar-element
limitation to accommodate the preceding use cases.

The organization of this document is organized as follows. Section 2
specifies generic cost types. Sections 4 and 5 discuss security and
IANA considerations.

2. Background

[RFC7285] already introduces the 'cost-type' meta data to indicate
the type of each element in the cost matrix. The specific definition
of cost-type is:

object {
CostMetric cost-metric;
CostMode cost-mode;
[JSONString description;]
} CostType;


Both cost maps and ECS use cost type to parse map data. The
definition of a cost map is:

object {
CostMapData cost-map;
} InfoResourceCostMap : ResponseEntityBase;

object-map {
PIDName -> DstCosts;
} CostMapData;

object-map {
PIDName -> JSONValue;
} DstCosts;


The definition of an endpoint cost map is:











Yang Expires April 21, 2016 [Page 3]

Internet-Draft ALTO Extension: Path Vector October 2015


object {
EndpointCostMapData endpoint-cost-map;
} InfoResourceEndpointCostMap : ResponseEntityBase;

object-map {
TypedEndpointAddr -> EndpointDstCosts;
} EndpointCostMapData;

object-map {
TypedEndpointAddr -> JSONValue;
} EndpointDstCosts;


For both (network) cost map and endpoint cost service map, one can
think of the JSONValue element as value component () of
a JSON object {'': }. For example,
suppose the cost-metric is 'routingcost', then each element
(JSONValue) is routingcost-value of the JSON object
{'routingcost':routingcost-value}.

3. Generic Cost Types

Given the preceding generalization, we define generic cost-type
values by using 'cost-mode' to indicate the schema type, 'cost-
metric' as a name for the schema, and 'description' providing a link
or inline text to the schema defined. Each element in the cost map
or endpoint cost service map is just JSON encoding of the JSON value.

Specifically, For 'cost-mode' being 'numerical', the schema is JSON
number; For 'cost-mode' being 'ordinal', the schema is JSON integer.

We define a new 'cost-mode' as 'YANG', and hence we can define the
type of elements in the cost map or endpoint cost service map using
YANG. For example, to define 'pathvector', we define

module alto-cost-metric {
namespace "http://example.com/alto-cost-metrics";
prefix alto;
leaf-list pathvector {
type string;
min-elements "1";
}
}


Native JSON encoding of the YANG model is





Yang Expires April 21, 2016 [Page 4]

Internet-Draft ALTO Extension: Path Vector October 2015


{
"pathvector" : []
}


The specification is that each element in a cost map or an endpoint
cost service map uses the value of the attribute (cost-metric name)
defined.

4. Security Considerations

This document has not conducted its security analysis.

5. IANA Considerations

Final version of this document wil require definitions of new cost-
mode such as yang.

6. Acknowledgments

The author thanks his ALTO collaborators that motivated this design.

7. References

7.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997,
.

7.2. Informative References

[I-D.amante-i2rs-topology-use-cases]
Medved, J., Previdi, S., Lopez, V., and S. Amante,
"Topology API Use Cases", draft-amante-i2rs-topology-use-
cases-01 (work in progress), October 2013.

[I-D.clemm-i2rs-yang-network-topo]
Clemm, A., Medved, J., Tkacik, T., Varga, R., Bahadur, N.,
and H. Ananthakrishnan, "A YANG Data Model for Network
Topologies", draft-clemm-i2rs-yang-network-topo-01 (work
in progress), October 2014.








Yang Expires April 21, 2016 [Page 5]

Internet-Draft ALTO Extension: Path Vector October 2015


[I-D.lee-alto-app-net-info-exchange]
Lee, Y., Bernstein, G., Choi, T., and D. Dhody, "ALTO
Extensions to Support Application and Network Resource
Information Exchange for High Bandwidth Applications",
draft-lee-alto-app-net-info-exchange-02 (work in
progress), July 2013.

[I-D.roome-alto-unified-props]
Roome, W., "Extensible Property Maps for the ALTO
Protocol", draft-roome-alto-unified-props-00 (work in
progress), July 2015.

[RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
"Application-Layer Traffic Optimization (ALTO) Protocol",
RFC 7285, DOI 10.17487/RFC7285, September 2014,
.

Author's Address

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

Email: yry@cs.yale.edu
























Yang Expires April 21, 2016 [Page 6]