Subject: [alto] Question about EPS IRD entries

From: Wendy Roome <[email-masked]>
Date: Mon, 10 Aug 2015 11:01:40 -0400

The pid property has the name of the PID for an endpoint. That is specific
to a Network Map, of course, so an Endpoint Property Service (EPS) which
returns pid properties depends on the associated Network Maps.

The Information Resource Directory (IRD) specification (Section 9.2.2 of RFC
7285) says:

> uses: A list of resource IDs, defined in the same IRD, that
> 
> define the resources on which this resource directly
> 
> depends. Š

So according to that, the IRD entry for an EPS should have a "uses" field
for the Network Maps for its pid resources. But it does not. Instead, the
dependent Network Maps are implicit in the property list. E.g, here is the
EPS IRD example from the RFC:

  "endpoint-property" : {
      "uri" : "http://alto.example.com/endpointprop/lookup",

      "media-type" : "application/alto-endpointprop+json",

      "accepts" : "application/alto-endpointpropparams+json",

      "capabilities" : {

         "prop-types" : [ "my-default-network-map.pid",

                          "priv:ietf-example-prop" ]

      },

   },

My question: Was that just an oversight, because we added resource-specific
properties at the last minute? Or was that a deliberate design decision? And
if so, can anyone remember why?

Why this matters: The proposed Incremental Update Service has a similar
issue with respect to the resources the Update Stream updates. An Update
Stream depends on other resources, and we can indicate that either directly
with the "uses" field or implicitly with capabilities. I prefer the direct
approach, but it there is a good reason for the indirect approach, please
let's discuss it!

- Wendy Roome