Subject: [alto] Ambiguity in ALTO draft 25

From: Wendy Roome <[email-masked]>
Date: Tue, 25 Feb 2014 10:06:02 -0500

I just noticed that draft 25 says that an Endpoint Cost Service MAY be
declared as depending on a network/cost map:

> 11.5.1.5. Uses
> It is important to note that although this resource allows an ALTO
> Server to reveal costs between individual endpoints, an ALTO Server
> is not required to do so. A simple implementation of an ECS resource
> may compute the cost between two endpoints as the cost between the
> PIDs corresponding to the endpoints, using one of the exposed network
> and cost maps defined by the server. However, to preserve
> flexibility, the ECS resource MAY omit declaring in the "uses"
> attribute the network map and/or cost map on which it depends.
> 
The ambiguity is whether the ECS uses a Network Map, a Cost Map, or both.
ECS is a post-mode service, and can return one of several different cost
types, as selected by the client. So if an ECS uses a Cost Map, it would
have to use several Cost Maps, one for each cost-type it ca return.

The IRD example doesn¹t help, because that ECS resource doesn¹t have a
³uses² attribute.

My suggestion: say that if ECS uses anything, it just uses the Network Map.
The client can infer the related Cost Maps ‹ they¹re the ones that use that
Network Map.  Eg, change the last sentence to:

> Accordingly, the ECS resource MAY declare a Network Map resource in its ³uses²
> attribute. If the ECS does so, the ECS costs should be consistent with those
> returned by the Cost Map resources associated with that Network Map.
> 
and maybe add a ³uses² attribute to the ECS IRD example in 9.2.3, as in:

> "endpoint-cost" : {
> 
>     "uri" : "http://alto.example.com/endpointcost/lookup",
> 
>     "media-type" : "application/alto-endpointcost+json",
> 
>     "accepts" : "application/alto-endpointcostparams+json²,
> 
>     "capabilities" : {
> 
>         "cost-constraints" : true,
> 
>         "cost-type-names" : [ "num-routing", "num-hop",
> 
>                               "ord-routing", "ord-hop"]
> 
>     },
> 
>     ³uses² : [ ³my-default-network-map² ]
> 
> }
> 
> 

If y¹all agree, can we get this in the rfc, or does it need to wait for an
errata?

- Wendy Roome

---

From: "Y. Richard Yang" <[email-masked]>
Date: Tue, 25 Feb 2014 10:52:23 -0500

Hi Wendy,

Good discussion. I believe that the previous conclusion is that ECS does
not reveal any dependency. Hence, a simple change will be the last sentence:

"...However, to preserve flexibility, there is no need for the ECS resource
to declare the network map and/or cost map on which it depends."

How does this sound?

Richard

On Tue, Feb 25, 2014 at 10:06 AM, Wendy Roome <[email-masked]>wrote:

> The IRD example doesn't help, because that ECS resource doesn't have a
> "uses" attribute.
>
> My suggestion: say that if ECS uses anything, it just uses the Network
> Map. The client can infer the related Cost Maps -- they're the ones that use
> that Network Map.  Eg, change the last sentence to:
>
>
> Accordingly, the ECS resource MAY declare a Network Map resource in its
> "uses" attribute. If the ECS does so, the ECS costs should be consistent
> with those returned by the Cost Map resources associated with that Network
> Map.
>
> and maybe add a "uses" attribute to the ECS IRD example in 9.2.3, as in:
>
> "endpoint-cost" : {
>
>     "accepts" : "application/alto-endpointcostparams+json",
>
>     "capabilities" : {
>
>     "uses" : [ "my-default-network-map" ]
>
> }
>
>
>
> If y'all agree, can we get this in the rfc, or does it need to wait for an
> errata?
>
> - Wendy Roome
>
> _______________________________________________
> alto mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/alto
>
>

-- 
-- 
 =====================================
| Y. Richard Yang <[email-masked]>   |
| Professor of Computer Science       |
| http://www.cs.yale.edu/~yry/        |
 =====================================

---

From: Wendy Roome <[email-masked]>
Date: Tue, 25 Feb 2014 15:25:14 -0500

Richard,

I don¹t like that language ‹ it¹s too wishy-washy. If an ECS can ³use² a
Network Map, we need to spell out what that means.

So I support either of two alternatives.

(1) Say that an ECS MAY ³use² a Network Map, and spell out what that means.
E..g., if an ECS ³uses² a Network Map, then that ECS is equivalent to a
Filtered Cost Map resource on that Network Map, using the PIDs of the source
and destination endpoint addresses. This means the client can assume the ECS
will return the same cost for any endpoint in the source PID to any endpoint
in the destination PID (modulo cost updates).

If an ECS does not ³use² a Network Map, then the client can make no
assumptions about how the ECS costs relate to the costs for any PIDs or
endpoints.

(2) Say that ECS MUST NOT ³use² a Network or Cost Map. The ECS cost is the
cost from the source to destination endpoint; the client cannot draw any
conclusions about costs for PIDs or other endpoints.

BTW, I thought we¹d agreed on #2, until a colleague pointed out that
11.5.1.5 says an ECS can use a map.

- Wendy Roome

From:  "Y. Richard Yang" <[email-masked]>
Date:  Tue, February 25, 2014 at 10:52
To:  Wendy Roome <[email-masked]>
Cc:  IETF ALTO <[email-masked]>
Subject:  Re: [alto] Ambiguity in ALTO draft 25

Hi Wendy,

Good discussion. I believe that the previous conclusion is that ECS does not
reveal any dependency. Hence, a simple change will be the last sentence:

How does this sound?

Richard

---

From: "Y. Richard Yang" <[email-masked]>
Date: Tue, 25 Feb 2014 15:38:14 -0500

Wendy,

Thanks for clarifying the alternatives. I also thought that we agreed on #2, and the sentence at 11.5.1.5 is a left over. I think a clean, simple change is #2: "ECS MUST NOT use a Network or Cost Map. Hence, the ECS cost is the cost from the source to destination endpoint. A future extension may allow ECS to state that it “uses” a Network Map. The extension then will need to define the semantics.” Does this work for you?

Richard

On Feb 25, 2014, at 3:25 PM, Wendy Roome <[email-masked]> wrote:

> Richard,
> 
> I don’t like that language — it’s too wishy-washy. If an ECS can “use” a Network Map, we need to spell out what that means.
> 
> (1) Say that an ECS MAY “use” a Network Map, and spell out what that means. E..g., if an ECS “uses” a Network Map, then that ECS is equivalent to a Filtered Cost Map resource on that Network Map, using the PIDs of the source and destination endpoint addresses. This means the client can assume the ECS will return the same cost for any endpoint in the source PID to any endpoint in the destination PID (modulo cost updates).
> 
> If an ECS does not “use” a Network Map, then the client can make no assumptions about how the ECS costs relate to the costs for any PIDs or endpoints.
> 
> (2) Say that ECS MUST NOT “use” a Network or Cost Map. The ECS cost is the cost from the source to destination endpoint; the client cannot draw any conclusions about costs for PIDs or other endpoints.
> 
> BTW, I thought we’d agreed on #2, until a colleague pointed out that 11.5.1.5 says an ECS can use a map.
> 
> 	- Wendy Roome
> 
> Good discussion. I believe that the previous conclusion is that ECS does not reveal any dependency. Hence, a simple change will be the last sentence:
> 
> "...However, to preserve flexibility, there is no need for the ECS resource to declare the network map and/or cost map on which it depends."
> 
> How does this sound?
> 
> Richard
>

---

From: Wendy Roome <[email-masked]>
Date: Tue, 25 Feb 2014 15:45:02 -0500

That¹s perfect!!

I¹m glad to hear that you also thought we¹d agreed on #2. For a while I was
afraid that I¹d had a major ³senior moment".

- Wendy

Date:  Tue, February 25, 2014 at 15:38

Wendy,

Thanks for clarifying the alternatives. I also thought that we agreed on #2,
and the sentence at 11.5.1.5 is a left over. I think a clean, simple change
is #2: "ECS MUST NOT use a Network or Cost Map. Hence, the ECS cost is the
cost from the source to destination endpoint. A future extension may allow
ECS to state that it ³uses² a Network Map. The extension then will need to
define the semantics.² Does this work for you?

Richard

On Feb 25, 2014, at 3:25 PM, Wendy Roome <[email-masked]> wrote:

> BTW, I thought we¹d agreed on #2, until a colleague pointed out that 11.5.1.5
> says an ECS can use a map.
> 
> - Wendy Roome
> 
> "...However, to preserve flexibility, there is no need for the ECS resource to
> declare the network map and/or cost map on which it depends."
> 
> How does this sound?
> 
> Richard
>

---

From: "Y. Richard Yang" <[email-masked]>
Date: Tue, 25 Feb 2014 15:55:53 -0500

Great !!  Let’s fix the sentence in the next version as we address remaining IESG comments.

Thanks a lot!

Richard

On Feb 25, 2014, at 3:45 PM, Wendy Roome <[email-masked]> wrote:

> That’s perfect!!
> 
> I’m glad to hear that you also thought we’d agreed on #2. For a while I was afraid that I’d had a major “senior moment".
> 
> 	- Wendy
>