Vijay K. Gurbani | 2 May 2012 21:09
Favicon

WGLC review of draft-ietf-alto-protocol-11

Folks: Enrico and I had requested Ted to perform a joint review of
the ALTO protocol that will serve as a WGLC review as well as an
APPSDIR review.

The detailed review Ted posted is available at
http://www.ietf.org/mail-archive/web/apps-discuss/current/msg05406.html
(Thanks, Ted).

We will request the authors to post further followups and comments on
the review to the ALTO mailing list as well as the APPSIDR mailing list.

Thanks,

- vijay
--

-- 
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)
Email: vkg <at> {bell-labs.com,acm.org} / vijay.gurbani <at> alcatel-lucent.com
Web:   http://ect.bell-labs.com/who/vkg/
Ben Niven-Jenkins | 2 May 2012 21:29
Picon

Re: [apps-discuss] Review of draft-ietf-alto-protocol-11.txt

cc'ing ALTO as Vijay suggested. Ben

On 2 May 2012, at 20:24, Ben Niven-Jenkins wrote:

> Rich, Ted,
> 
> On 2 May 2012, at 18:49, Richard Alimi wrote:
> 
>> On Wed, May 2, 2012 at 10:39 AM, Ben Niven-Jenkins
>> <ben <at> niven-jenkins.co.uk> wrote:
>>> 
>>> On 2 May 2012, at 17:28, Ted Hardie wrote:
>>>> 
>>>> It is not the cacheability of the results of post request that I was
>>>> referring to, but
>>>> the cacheability of the results of a 303.
>>> 
>>> Ah, I see. Yes I see your issue with the text now.
>>> 
>>> I believe there is an implicit assumption on the part of the authors that in this model (receive a POST and
return a 303) that the ALTO server could be doing some level of "ALTO-application level caching" to avoid
repeating expensive queries by determining that a given POST would execute the same query as a previous
POST and therefore rather than run the query again, just return a 303 to a resource on the ALTO server that
contains the results of the previous (identical) query.
>>> 
>> 
>> The word 'caching' was meant to apply to the response the ALTO Client
>> that actually contained the data it was looking for (that is, the
>> following GET).  An ALTO Server could also internally cache the
>> results to avoid repeated computation, but that was meant to be
(Continue reading)

Richard Alimi | 3 May 2012 07:22

Re: [apps-discuss] Review of draft-ietf-alto-protocol-11.txt

On Wed, May 2, 2012 at 12:29 PM, Ben Niven-Jenkins
<ben <at> niven-jenkins.co.uk> wrote:
> cc'ing ALTO as Vijay suggested. Ben
>
> On 2 May 2012, at 20:24, Ben Niven-Jenkins wrote:
>
>> Rich, Ted,
>>
>> On 2 May 2012, at 18:49, Richard Alimi wrote:
>>
>>> On Wed, May 2, 2012 at 10:39 AM, Ben Niven-Jenkins
>>> <ben <at> niven-jenkins.co.uk> wrote:
>>>>
>>>> On 2 May 2012, at 17:28, Ted Hardie wrote:
>>>>>
>>>>> It is not the cacheability of the results of post request that I was
>>>>> referring to, but
>>>>> the cacheability of the results of a 303.
>>>>
>>>> Ah, I see. Yes I see your issue with the text now.
>>>>
>>>> I believe there is an implicit assumption on the part of the authors that in this model (receive a POST
and return a 303) that the ALTO server could be doing some level of "ALTO-application level caching" to
avoid repeating expensive queries by determining that a given POST would execute the same query as a
previous POST and therefore rather than run the query again, just return a 303 to a resource on the ALTO
server that contains the results of the previous (identical) query.
>>>>
>>>
>>> The word 'caching' was meant to apply to the response the ALTO Client
>>> that actually contained the data it was looking for (that is, the
(Continue reading)

Vijay K. Gurbani | 3 May 2012 15:38
Favicon

Re: [apps-discuss] Review of draft-ietf-alto-protocol-11.txt

On 05/03/2012 01:59 AM, Ben Niven-Jenkins wrote:
>> This seems reasonable to me, except would it be appropriate to
>> have this kind of document dependency?  Would it be more
>> appropriate to just reference RFC2616?
>
> Up to you. HTTPBIS is in the process of putting the HTTPBIS specs
> through WG LC so there is light at the end of the tunnel for them
> popping out as RFCs. I referred to the HTTPBIS document because it's
> easier to find an appropriate reference but similar material is in
> 2616.

If the reference to HTTPBIS is informative, then we are not gated
by HTTPBIS reaching the terminal state of RFC assignment.

So the question to Rich A. would be whether he thinks that the
reference we put in fits better as Informative or Normative.
If the former, then we can move ahead without any delays.

Thanks,

- vijay
--

-- 
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60563 (USA)
Email: vkg <at> {bell-labs.com,acm.org} / vijay.gurbani <at> alcatel-lucent.com
Web:   http://ect.bell-labs.com/who/vkg/
Richard Alimi | 5 May 2012 02:34
Picon
Favicon

Re: [apps-discuss] Review of draft-ietf-alto-protocol-11.txt

On Thu, May 3, 2012 at 6:38 AM, Vijay K. Gurbani <vkg <at> bell-labs.com> wrote:
> On 05/03/2012 01:59 AM, Ben Niven-Jenkins wrote:
>>>
>>> This seems reasonable to me, except would it be appropriate to
>>> have this kind of document dependency?  Would it be more
>>> appropriate to just reference RFC2616?
>>
>>
>> Up to you. HTTPBIS is in the process of putting the HTTPBIS specs
>> through WG LC so there is light at the end of the tunnel for them
>> popping out as RFCs. I referred to the HTTPBIS document because it's
>> easier to find an appropriate reference but similar material is in
>> 2616.
>
>
> If the reference to HTTPBIS is informative, then we are not gated
> by HTTPBIS reaching the terminal state of RFC assignment.
>
> So the question to Rich A. would be whether he thinks that the
> reference we put in fits better as Informative or Normative.
> If the former, then we can move ahead without any delays.

Based on my understanding, this seems like a normative reference.  If
someone thinks otherwise, please say so and I'll be happy to add a
reference to HTTPbis instead :)

Rich

>
> Thanks,
(Continue reading)

Martin Stiemerling | 11 May 2012 09:30
Picon
Favicon

Re: WGLC: draft-ietf-alto-protocol-11

Hi there,

An important note on the ALTO protocol as part of the WGLC:

The ALTO requirements have been discussed in the 2012-05-10 IESG 
telechat and one point raised which is actually of importance for the 
ALTO protocol is this:

There is/was a DISCUSS on the ALTO requirements about operations and 
management (OAM) of the ALTO protocol.
RFC 5706 (http://tools.ietf.org/html/rfc5706) gives an overview of 
points to be checked for new protocols.

However, we have not considered RFC 5706 (at least to my knowledge) in 
the ALTO protocol that discusses operations and management of the ALTO 
protocol.

The outcome of the IESG discussion is that the ALTO protocol must cover 
the aspect of OAM and discuss what is potentially needed and what is 
potentially not needed.

For instance:
- the support of logging at the server for failure detection is a 
potentially a good idea, though it might become touchy in the p2p use case.
- discussion of what clients are supposed to do when a server fails for 
various reasons. This is probably already covered in the current ALTO 
protocol draft.

Regards,

(Continue reading)

Benoit Claise | 10 May 2012 19:37
Picon
Favicon

IPFIX Information Element in the ALTO protocol

Dear all, I've been reviewing draft-ietf-alto-reqs-14 and the following requirement got me thinking:  REQ. ARv14-5: An ALTO client protocol MUST be extensible to enable support of other host group descriptor types in future. An ALTO client protocol specification MUST define an appropriate procedure for adding new host group descriptor types, e.g., by establishing an IANA registry. Why don't you reuse an existing registry, in which you will have all the Information Elements already defined instead of defining a new one? WhatI have in mind: the IPFIX I.E. IANA registry. The piece of information I see in draft-ietf-alto-reqs-14 are IP address, prefix, BGP AS: they're in IANA. And many other IEs are already present, for future ALTO extensions, if required. This would not only save one registry (ALTO Endpoint Property in draft-ietf-alto-protocol-10), but offers a bigger advantage. Let me explain.... When you will control your applications with ALTO, you will anyway want to apply a flow measurement to monitor your changes, and to serve as a feedback loop for more optimizations. And the chances are high that you will using a NetFlow/IPFIX based mechanism. Both NetFlow and IPFIX use the IPFIX I.E. IANA registry. Therefore, it would make sense to have consistent data models between ALTO and IPFIX, and avoid a data model proxy if we want to compare the data. Proposal: reuse the ElementIDs found in the IPFIX I.E. IANA registry somewhere in your protocol. Disclaimer: I have not read the protocol details Regards, Benoit.
<div>
    Dear all,

I've been reviewing draft-ietf-alto-reqs-14 and the following requirement got me thinking:

&nbsp;REQ.  ARv14-5: An ALTO client protocol MUST be extensible to enable
   support of other host group descriptor types in future.  An ALTO
   client protocol specification MUST define an appropriate procedure
   for adding new host group descriptor types, e.g., by establishing an
   IANA registry.

Why don't you reuse an existing registry, in which you will have all the
Information Elements already defined instead of defining a new one? 
WhatI have in mind: <a href="http://www.iana.org/assignments/ipfix/ipfix.xml">the IPFIX I.E. IANA registry</a>.
The piece of information I see in draft-ietf-alto-reqs-14 are IP address, prefix, BGP AS: they're in IANA.
And many other IEs are already present, for future ALTO extensions, if required.

This would not only save one registry (ALTO Endpoint Property in draft-ietf-alto-protocol-10), but offers a bigger advantage.
Let me explain.... When you will control your applications with ALTO, you will anyway want to apply a flow measurement to monitor your changes, and to serve as a feedback loop for more optimizations.
And the chances are high that you will using a NetFlow/IPFIX based mechanism. Both NetFlow and IPFIX use <a href="http://www.iana.org/assignments/ipfix/ipfix.xml">the IPFIX I.E. IANA registry</a>.

Therefore, it would make sense to have consistent data models between ALTO and IPFIX, and avoid a data model proxy if we want to compare the data.
Proposal: reuse the ElementIDs found in <a href="http://www.iana.org/assignments/ipfix/ipfix.xml">the IPFIX I.E. IANA registry</a> somewhere in your protocol.

Disclaimer: I have not read the protocol details

Regards, Benoit. 

  </div>
David Harrington | 11 May 2012 19:37
Picon

Re: WGLC: draft-ietf-alto-protocol-11

Hi,

As the author of rfc5706, and a long-time participant in the OPS area, let
me make some comments and provide some advice.

First, 
OAM and "Operations and Management" are not the same thing.
There is an RFC that discusses OAM terminology, and I recommend reading it
to understand the distinction (which still is NOT unambiguous).

Generally, 1) OAM happens inline as part of the protocol, 2) operations
includes consideration of the environment in which the protocol will
operate, and 3) management tends to be a combination of layer 7 protocols
that provide monitoring/management capabilities combined with
protocol-layer-specific information, such as MIB objects or ipfix
information elements or syslog structured data, etc. IETF management
protocols typically keep a clear distinction between the protocols used to
carry management information and the data models used to model the managed
functionality. 

Second, 
as the WG starts to consider how to address O&M requirements and/or OAM
requirements, I recommend starting with an understanding of the difference
between information models and data models, as described in RFC3444 (IIRC).

OPSAWG is doing a lot of work at making sure the information used by one
protocol can be correlated and/or translated between data models for use
with other management protocols.

I recommend developing a management-protocol-independent information
model, plus at least one management-protocol-specific data model (which
helps serve as a proof that the information model is viable).

Third,
The IETF currently has four main standards in the "management protocol
toolkit": SNMP (monitoring and tweaking), IPFIX (flow monitoring), Netconf
(configuration), and Syslog (logging). These are widely supported by
operators, and standard data models should be available so operators can
use these IETF management protocols to manage IETF protocols when possible.

Fourth,
RFC5706 discusses things to consider when developing a management
information model (and subsequent data models).
For example, for ALTO, an operator might want to be able to monitor what
sources are being used to gather physical network information, what
transform algorithms are being applied to the source data to produce ALTO
application-level information, and to monitor who is getting that
processed information from the ALTO server.
You might want to consider whether protocol errors are being detected
between the server and the data sources, or between the server and
specific consumers. This might be important to understand whether certain
sources or consumers are putting an unnecessary strain on the server, so a
server might choose to stop communicating with that error-generating
connection (and whether that decision should be standardized). That
infomation also might help detect why certain consumers might choose
non-optimal optimizations.

RFC5706 also discusses operational requirements. If BGP will be used to
gather source data, then BGP must be supported in the environment, and
that has operational considerations. Will all ALTO servers operate in BGP
environments? If an operator decides BP is not important to the physical
network they run, or choose not tp provide BGP data for security reasosn,
how will the ALTO environment be affected, and will this affect
interoperability across ALTO servers?

And so on ...

--
David Harrington
Internet Engineering Task Force (IETF)
Ietfdbh <at> comcast.net
+1-603-828-1401

On 5/11/12 12:30 AM, "Martin Stiemerling" <martin.stiemerling <at> neclab.eu>
wrote:

>Hi there,
>
>An important note on the ALTO protocol as part of the WGLC:
>
>The ALTO requirements have been discussed in the 2012-05-10 IESG
>telechat and one point raised which is actually of importance for the
>ALTO protocol is this:
>
>There is/was a DISCUSS on the ALTO requirements about operations and
>management (OAM) of the ALTO protocol.
>RFC 5706 (http://tools.ietf.org/html/rfc5706) gives an overview of
>points to be checked for new protocols.
>
>However, we have not considered RFC 5706 (at least to my knowledge) in
>the ALTO protocol that discusses operations and management of the ALTO
>protocol.
>
>The outcome of the IESG discussion is that the ALTO protocol must cover
>the aspect of OAM and discuss what is potentially needed and what is
>potentially not needed.
>
>For instance:
>- the support of logging at the server for failure detection is a
>potentially a good idea, though it might become touchy in the p2p use
>case.
>- discussion of what clients are supposed to do when a server fails for
>various reasons. This is probably already covered in the current ALTO
>protocol draft.
>
>Regards,
>
>   Martin
>
>-- 
>IETF Transport Area Director
>
>martin.stiemerling <at> neclab.eu
>
>NEC Laboratories Europe - Network Research Division NEC Europe Limited
>Registered Office: NEC House, 1 Victoria Road, London W3 6BL
>Registered in England 283
>_______________________________________________
>alto mailing list
>alto <at> ietf.org
>https://www.ietf.org/mailman/listinfo/alto

Sabine Randriamasy | 11 May 2012 20:15
Favicon

Re: WGLC: draft-ietf-alto-protocol-11


Hi all,

Below is my review of document "draft-ietf-alto-protocol-11.txt". At 
least Part I, until section 7.7.3.1.5 included. I will send Part II in a 
couple of hours.

Thanks,
Sabine

===============================================================================================

Document: draft-ietf-alto-protocol-11.txt
Title: ALTO Protocol
Reviewer: Sabine Randriamasy
Review Date: May 11, 2012
Part I

-----------------------------------------------------
GENERAL COMMENTS
-----------------------------------------------------

This document seems geared towards P2P applications, although the 
abstract mentions CDN and "those that have a choice in connection 
endpoints". In some places, see detailed comments, "peer" should be 
replaced by "endpoints" when referring to a content location. In Section 
8 Use Cases, some text should be added to recall this.

There was a discussion on whether to specify the MUST of the protocol. 
Is it possible to have a section listing the MUST of the protocol 
specified in this document?

-----------------------------------------------------
DETAILED COMMENTS
-----------------------------------------------------

Section 1.1 Background and Problem Statement

A couple of additional explanations would help better positioning and 
motivating ALTO. For example:

- § 1 after 1st sentence "Today, network information available to 
applications is mostly from
the view of endhosts.": I suggest to add 1 or 2 sentences on what is 
wrong with this, e.g. the fact that overlay based endpoint choice leads 
to uselessly use expensive links and lower performance due to too long 
paths.
- §1, 2nd sentence "There is no clear mechanism to convey information 
about the network (e.g., preferences) to applications": could be 
specified by saying that some sparse tools may exist but there is a need 
to have a generic and standardized mechanism accessible to all.
- §2last sentence "The mechanism should include abstractions to achieve 
concise, flexible network information expression.": is it the only 
motivation for abstraction or does abstraction also serve other purposes 
such as security/privacy for ISPs?

Section 1.3.1 Service Providers
This section is hard to understand without a hint on what kind of 
information is provided by ALTO. I suggest to add a sentence including 
abstracted network maps, asociated costs between the locations of the 
map or specific properties or access costs to these locations.

- in 1st sentence: "... the peer selection process ... " ==> "peer" 
shoud be replaced by "connection endpoints such as peers"

Section 2.1 Terminology

- in §2: the term "Endpoint" should be added
- a first section "2.1.X Endpoint" should be inserted before section 
2.1.1 Endpoint Address to better introduce Endpoint Adress and Network 
Location mentioning "Endpoint" with no prior definition.

Section 2.2 ALTO Service and Protocol Scope
- §3 "... The ALTO Information provided by the ALTO Server can be 
updated dynamically based on network conditions ...": a sentence would 
be good here to recall that ALTO does by no means replace real time 
network performance measurement services.

Section 3 Protocol Structure
- §3 3rd sentence "ALTO-Core provides the Map Service, which provides 
the core ALTO informtion to
clients". The term "ALTO-Core" should be introduced ans besides it does 
not appear again in the document.
Also replace "informtion" ==> "information".

Section 4 Network Map
- §2: "The Network Location endpoint property": i suggest "The Network 
Location Endpoint Property"

Section 7.2.1 Discovering Information Resources
- §1 "To discover available resources, an ALTO Client may request the 
Information Resource Directory": what are other means? There seem to be 
a contradiction with Section 6.2 Protocol design where item "o 
Information Resource Directory" says that "This directory is the single 
entry point to an ALTO Service."

Section 7.2.7 Parsing
- last sentence "ALTO implementations MUST ignore...": i suggest an 
insertion: "base protocol ALTO implementations MUST ignore...", or if it 
has been previously defined, the term "ALTO-core" could be used here.

Section 7.4 ALTO Errors
- §3 2nd sentence: "... information about the why a particular ...": i 
suggest to remove "the" => "... information about why a particular ..."

Section 7.4.1 Media Type
"... The media type for an Error Resource ...": does it mean "The media 
type for an ALTO Error Resource" ?

Section 7.4.2
- 1st sentence "An Error Resource has the format:": is the answer to my 
previous question is yes, then "An ALTO ALTO Error Resource has the 
format:" reads easier.

Section 7.4.3 Error Codes
- §2 last sentence: "... Table 1in the HTTP response." : blank space is 
needed after "1" ==> "... Table 1 in the HTTP response."

Section 7.6.2 Encoding
- §3 1st sentence "Any URI ... the format of an Information Resource 
Directory.": i suggest to append "request" ==> "Any URI ... the format 
of an Information Resource Directory request."
- §4 - item "capabilities": i didin't understand the sentence "or assume 
its default value", although the protocol is not expected to guide the 
ALTO Client's behavior.

Section 7.6.3 Example

In the first IRD example the last URI called 
"http://alto.example.com/endpointcost/lookup" includes the following 
capabilities:

"cost-modes" : [ "ordinal", "numerical" ],
"cost-types" : [ "routingcost", "hopcount" ]

In the second example listing URIs available in a subdomain, we have the 
same capabilities for the URI called 
"http://custom.alto.example.com/costmap/filtered"

There is a need for the ALTO Server to disambiguate this encoding. As an 
ALTO client, I don't know how to figure what Cost Mode is applied 
respectively to the Cost Type "routingcost" and "hopcount". Is it both 
modes for each cost type?

Also, as a server, how do I encode that for example "routingcost" is 
available in both "ordinal" and "numerical" modes and "hopcount" in 
"numerical" only? I guess separate URIs would be the way...

Section 7.7.1.2.4 Capabilities

- Object CostMapCapability has member "CostType cost-types<0..*>;". the 
description says: "If not present, this member MUST be interpreted as an 
empty array." On the other hand, Section 7.7.1.2 Cost Map in its §1 says 
"This resource MUST be provided for at least the ’routingcost’ Cost Type 
and ’numerical’ Cost Mode."
So would "CostType cost-types<1..*>" be more consistent?
Likewise, as the 'numerical' mode MUST be available, why not have 
CostMode cost-modes<1..*> ?
See also §7.7.3.1.3 Input Parameters, where encoding "EndpointProperty 
properties<1..*>" is used, because 'pid' MUST be available.

Section 7.7.2.2.3 Input Parameters
- item "constraints" use term "numerical cost". Onthe other hand, 
Section 7.7.2.4.4 Capabilities in its item "cost-constraints" says (last 
sentence) "... constraints may not have the intended effect for cost 
maps with the ’ordinal’ Cost Mode... ".
Although it intuitively make more sens to have constraints on numerical 
values, one may imagine that for some reasons an application clien may 
look for alternative paths that have a poorer rank but not worse that a 
given value and accordingly encode a constraint on 'ordinal' costs.
Therefore, I suggest to use term "cost value" instead of "numerical cost".

Section 7.7.3.1.3 Input Parameters
- §1 2nd sentence: "... data format of input parameteres...": typo ==> 
"... data format of input parameters..."
- item "properties": "List of endpoint properties to returned... " i 
suggest "List of endpoint properties to be returned... ". I also suggest 
to add that property 'pid' MUST be provided.

Section 7.7.3.1.4 Capabilities
- object "EndpointPropertyCapability;" has a member "EndpointProperty 
prop-types<0..*>". As 'pid' MUST be provided why not encode as 
"EndpointProperty prop-types<1..*>" ?

-----------------------------------------------------
NITS
-----------------------------------------------------

Abstract
- §3: ".... be provided by the network ..." => I suggest ".... be 
provided by the network operator ..." or any applicable term

Section 1.1 Background and Problem Statement
- 2nd sentence "... about the network ..." => I suggest "... about the 
network infrastructure ..."

Section 2.1 Terminology
- the typography should be harmonized between "endpoint address" and 
"Endpoint Address".

Section 2.2 ALTO Service and Protocol Scope

- §1 last sentence: "... deployment scenario and discovery mechanism 
..." ==> I suggest to complete as follows "... ALTO deployment scenario 
and ALTO service discovery mechanism ..."
- §2 1st sentence: "... the overall system architecture ..." ==> I 
suggest "the overall ALTO system architecture"
- §4 last sentence: "... figure for completeness but outside ..." ==> I 
suggest "... figure for completeness but are outside ..."

Section 3 Protocol Structure
- §3: i suggest to replace "functionality" by "functionalities"

Section 3.1.1 Map Service
- §1: replace "endpoints" by "Endpoints"

Section 7.4 ALTO Errors
- §3 2nd sentence: "... information about the why a particular ...": i 
suggest to remove "the" => "... information about why a particular ..."

Enrico Marocco a écrit :
> The chairs would like to declare a Working Group Last Call for
> draft-ietf-alto-protocol-11, ending Friday May 11th.
>
> Please do review the latest version of the draft, and send any comments
> to the list before the expiry of WGLC so we can get this document ready
> for the IESG.
>
>   

Sabine Randriamasy | 12 May 2012 01:17
Favicon

Re: WGLC: draft-ietf-alto-protocol-11 - Part II + Part I


Hi all,

Below is Part II of my review of document 
"draft-ietf-alto-protocol-11.txt", starting at section 7.7.3.1.5 
included until end of document. I have put Part II on top of my previous 
e-mail with Part I, to have both gathered in 1 e-mail.

Thanks,
Sabine

===============================================================================================

Document: draft-ietf-alto-protocol-11.txt
Title: ALTO Protocol
Reviewer: Sabine Randriamasy
Review Date: May 11, 2012
Part II - starting section 7.7.3.1.5 included until end of document

-----------------------------------------------------
GENERAL COMMENTS ON THE DOCUMENT (Review Part II and Part I)
-----------------------------------------------------

This document is clear and well structured and provides enough 
information to specify and implement basic ALTO protocol transactions. 
Clarifications however are needed for some particular cases. The 
corresponding requests  are listed  in the  "Detailed  comments" section 
of Part I and Part II of this review.

This document seems geared towards P2P applications, although the 
abstract mentions CDN and "those that have a choice in connection 
endpoints". In some places, see detailed comments, "peer" should be 
replaced by "endpoints" when referring to a content location. In Section 
8 Use Cases, some text should be added to recall this.

There was a discussion on whether to specify the MUST of the protocol. 
Is it possible to have a section listing the MUST of the protocol 
specified in this document?

-----------------------------------------------------
DETAILED COMMENTS
-----------------------------------------------------

Section 7.7.3.1.5 Response
- §3 describing InfoResourceEndpointProperty: last sentence "... 
property values encoded as JSON Strings". Encoding property values as 
JSON strings may be too restrictive. It may as well be a constant 
number, or an array. Why not a JSON Value?

- §5 "If the ALTO Server does not define a requested property for a 
particular endpoint, then it MUST omit it from the response for only 
that endpoint.": does this mean that the corresponding pair 
{"prop-type": prop-type-value} does not appear in the array of 
EndpointProperty objects associated to this endpoint?

If an ALTO server defines a property for an endpoint but no value, what 
happens? Is simply the prop-type-value omitted?

 
Section 7.7.3.1.6 Example
An example of request/response with several properties would be good here.

Section 7.7.4.1.5 Response
- § of description of member "EndpointCostMapData" sentence "An 
implementation of the
protocol in this document SHOULD assume that the cost is a JSONNumber 
... ": I suggest using "cost value" rather than "cost". Same for 
sentence "If the ALTO Server does not define a cost from ..."

Section 8 Use Cases
There should be a couple of sentences recalling that ALTO supports a 
wider range of applications, namely "those that have a choice in 
connection endpoints" as said in Abstract although the use cases focus 
on P2P.

Section 8.1 ALTO ALTO Client Embedded in P2P Tracker
- §1 1st sentence "Many P2P currently-deployed P2P systems... ": ==>  
"Many currently-deployed P2P systems... "

Section 9.4 Mapping IPs to ASNs
- §4: The mapping could also be done for Endpoints and ASN be an 
Endpoint Property.

-----------------------------------------------------
NITS & TYPOS
-----------------------------------------------------

Section 9.3
- §2 1st sentence "The protocol specified ... (i.e., the the Endpoint 
Cost Service) ... " ==> remove one of the 2 "the"

Section 10.1 application/alto-* Media Types
- item "Published specification", last part "... see Table 2for ..." : 
blank space needed ==> "... see Table 2 for ..."

Sabine Randriamasy a écrit :
> Hi all,
>
> Below is my review of document "draft-ietf-alto-protocol-11.txt". At
> least Part I, until section 7.7.3.1.5 included. I will send Part II in a
> couple of hours.
>
> Thanks,
> Sabine
>
> ===============================================================================================
>
>
> Document: draft-ietf-alto-protocol-11.txt
> Title: ALTO Protocol
> Reviewer: Sabine Randriamasy
> Review Date: May 11, 2012
> Part I
>
> -----------------------------------------------------
> GENERAL COMMENTS
> -----------------------------------------------------
>
> This document seems geared towards P2P applications, although the
> abstract mentions CDN and "those that have a choice in connection
> endpoints". In some places, see detailed comments, "peer" should be
> replaced by "endpoints" when referring to a content location. In Section
> 8 Use Cases, some text should be added to recall this.
>
> There was a discussion on whether to specify the MUST of the protocol.
> Is it possible to have a section listing the MUST of the protocol
> specified in this document?
>
> -----------------------------------------------------
> DETAILED COMMENTS
> -----------------------------------------------------
>
> Section 1.1 Background and Problem Statement
>
> A couple of additional explanations would help better positioning and
> motivating ALTO. For example:
>
> - § 1 after 1st sentence "Today, network information available to
> applications is mostly from
> the view of endhosts.": I suggest to add 1 or 2 sentences on what is
> wrong with this, e.g. the fact that overlay based endpoint choice leads
> to uselessly use expensive links and lower performance due to too long
> paths.
> - §1, 2nd sentence "There is no clear mechanism to convey information
> about the network (e.g., preferences) to applications": could be
> specified by saying that some sparse tools may exist but there is a need
> to have a generic and standardized mechanism accessible to all.
> - §2last sentence "The mechanism should include abstractions to achieve
> concise, flexible network information expression.": is it the only
> motivation for abstraction or does abstraction also serve other purposes
> such as security/privacy for ISPs?
>
>
> Section 1.3.1 Service Providers
> This section is hard to understand without a hint on what kind of
> information is provided by ALTO. I suggest to add a sentence including
> abstracted network maps, asociated costs between the locations of the
> map or specific properties or access costs to these locations.
>
> - in 1st sentence: "... the peer selection process ... " ==> "peer"
> shoud be replaced by "connection endpoints such as peers"
>
>
> Section 2.1 Terminology
>
> - in §2: the term "Endpoint" should be added
> - a first section "2.1.X Endpoint" should be inserted before section
> 2.1.1 Endpoint Address to better introduce Endpoint Adress and Network
> Location mentioning "Endpoint" with no prior definition.
>
>
> Section 2.2 ALTO Service and Protocol Scope
> - §3 "... The ALTO Information provided by the ALTO Server can be
> updated dynamically based on network conditions ...": a sentence would
> be good here to recall that ALTO does by no means replace real time
> network performance measurement services.
>
>
> Section 3 Protocol Structure
> - §3 3rd sentence "ALTO-Core provides the Map Service, which provides
> the core ALTO informtion to
> clients". The term "ALTO-Core" should be introduced ans besides it does
> not appear again in the document.
> Also replace "informtion" ==> "information".
>
>
> Section 4 Network Map
> - §2: "The Network Location endpoint property": i suggest "The Network
> Location Endpoint Property"
>
>
> Section 7.2.1 Discovering Information Resources
> - §1 "To discover available resources, an ALTO Client may request the
> Information Resource Directory": what are other means? There seem to be
> a contradiction with Section 6.2 Protocol design where item "o
> Information Resource Directory" says that "This directory is the single
> entry point to an ALTO Service."
>
>
> Section 7.2.7 Parsing
> - last sentence "ALTO implementations MUST ignore...": i suggest an
> insertion: "base protocol ALTO implementations MUST ignore...", or if it
> has been previously defined, the term "ALTO-core" could be used here.
>
>
> Section 7.4 ALTO Errors
> - §3 2nd sentence: "... information about the why a particular ...": i
> suggest to remove "the" => "... information about why a particular ..."
>
>
> Section 7.4.1 Media Type
> "... The media type for an Error Resource ...": does it mean "The media
> type for an ALTO Error Resource" ?
>
>
> Section 7.4.2
> - 1st sentence "An Error Resource has the format:": is the answer to my
> previous question is yes, then "An ALTO ALTO Error Resource has the
> format:" reads easier.
>
>
> Section 7.4.3 Error Codes
> - §2 last sentence: "... Table 1in the HTTP response." : blank space is
> needed after "1" ==> "... Table 1 in the HTTP response."
>
>
> Section 7.6.2 Encoding
> - §3 1st sentence "Any URI ... the format of an Information Resource
> Directory.": i suggest to append "request" ==> "Any URI ... the format
> of an Information Resource Directory request."
> - §4 - item "capabilities": i didin't understand the sentence "or assume
> its default value", although the protocol is not expected to guide the
> ALTO Client's behavior.
>
>
>
> Section 7.6.3 Example
>
> In the first IRD example the last URI called
> "http://alto.example.com/endpointcost/lookup" includes the following
> capabilities:
>
> "cost-modes" : [ "ordinal", "numerical" ],
> "cost-types" : [ "routingcost", "hopcount" ]
>
> In the second example listing URIs available in a subdomain, we have the
> same capabilities for the URI called
> "http://custom.alto.example.com/costmap/filtered"
>
> There is a need for the ALTO Server to disambiguate this encoding. As an
> ALTO client, I don't know how to figure what Cost Mode is applied
> respectively to the Cost Type "routingcost" and "hopcount". Is it both
> modes for each cost type?
>
> Also, as a server, how do I encode that for example "routingcost" is
> available in both "ordinal" and "numerical" modes and "hopcount" in
> "numerical" only? I guess separate URIs would be the way...
>
>
> Section 7.7.1.2.4 Capabilities
>
> - Object CostMapCapability has member "CostType cost-types<0..*>;". the
> description says: "If not present, this member MUST be interpreted as an
> empty array." On the other hand, Section 7.7.1.2 Cost Map in its §1 says
> "This resource MUST be provided for at least the ’routingcost’ Cost Type
> and ’numerical’ Cost Mode."
> So would "CostType cost-types<1..*>" be more consistent?
> Likewise, as the 'numerical' mode MUST be available, why not have
> CostMode cost-modes<1..*> ?
> See also §7.7.3.1.3 Input Parameters, where encoding "EndpointProperty
> properties<1..*>" is used, because 'pid' MUST be available.
>
>
> Section 7.7.2.2.3 Input Parameters
> - item "constraints" use term "numerical cost". Onthe other hand,
> Section 7.7.2.4.4 Capabilities in its item "cost-constraints" says (last
> sentence) "... constraints may not have the intended effect for cost
> maps with the ’ordinal’ Cost Mode... ".
> Although it intuitively make more sens to have constraints on numerical
> values, one may imagine that for some reasons an application clien may
> look for alternative paths that have a poorer rank but not worse that a
> given value and accordingly encode a constraint on 'ordinal' costs.
> Therefore, I suggest to use term "cost value" instead of "numerical cost".
>
>
> Section 7.7.3.1.3 Input Parameters
> - §1 2nd sentence: "... data format of input parameteres...": typo ==>
> "... data format of input parameters..."
> - item "properties": "List of endpoint properties to returned... " i
> suggest "List of endpoint properties to be returned... ". I also suggest
> to add that property 'pid' MUST be provided.
>
>
> Section 7.7.3.1.4 Capabilities
> - object "EndpointPropertyCapability;" has a member "EndpointProperty
> prop-types<0..*>". As 'pid' MUST be provided why not encode as
> "EndpointProperty prop-types<1..*>" ?
>
>
>
> -----------------------------------------------------
> NITS
> -----------------------------------------------------
>
> Abstract
> - §3: ".... be provided by the network ..." => I suggest ".... be
> provided by the network operator ..." or any applicable term
>
>
> Section 1.1 Background and Problem Statement
> - 2nd sentence "... about the network ..." => I suggest "... about the
> network infrastructure ..."
>
>
> Section 2.1 Terminology
> - the typography should be harmonized between "endpoint address" and
> "Endpoint Address".
>
>
> Section 2.2 ALTO Service and Protocol Scope
>
> - §1 last sentence: "... deployment scenario and discovery mechanism
> ..." ==> I suggest to complete as follows "... ALTO deployment scenario
> and ALTO service discovery mechanism ..."
> - §2 1st sentence: "... the overall system architecture ..." ==> I
> suggest "the overall ALTO system architecture"
> - §4 last sentence: "... figure for completeness but outside ..." ==> I
> suggest "... figure for completeness but are outside ..."
>
>
> Section 3 Protocol Structure
> - §3: i suggest to replace "functionality" by "functionalities"
>
>
> Section 3.1.1 Map Service
> - §1: replace "endpoints" by "Endpoints"
>
>
> Section 7.4 ALTO Errors
> - §3 2nd sentence: "... information about the why a particular ...": i
> suggest to remove "the" => "... information about why a particular ..."
>
>
>
> Enrico Marocco a écrit :
>   
>> The chairs would like to declare a Working Group Last Call for
>> draft-ietf-alto-protocol-11, ending Friday May 11th.
>>
>> Please do review the latest version of the draft, and send any comments
>> to the list before the expiry of WGLC so we can get this document ready
>> for the IESG.
>>
>>
>>     
>
> _______________________________________________
> alto mailing list
> alto <at> ietf.org
> https://www.ietf.org/mailman/listinfo/alto
>   

--

-- 

---------------------------------------------------------
Sabine RANDRIAMASY 
Alcatel-Lucent Bell Labs France 
Centre de Villarceau
Route de Villejust - 91620 NOZAY - FRANCE

E-MAIL : Sabine.Randriamasy <at> alcatel-lucent.com
TEL: +33 (0)1 30 77 27 45 
         (On Net) 2 103 27 45
---------------------------------------------------------


Gmane