For the IRD, there are a couple of ways we could go.

[ In the examples, I'll use the proposal where we add "cost metrics";
adjust as necessary depending on the outcome of that discussion. ]

In the first, we have the cost-types expanded in each of the individual
resource entries:

resources = [
   {
    "uri" : "http://alto.example.com/costmap/num/somemaps";,
    "media-types" : [ "application/alto-costmap+json" ],
    "capabilities" : {
        "cost-types" : [
          {"mode" : "numerical", "metric": ”routingcost"},
          {"mode" : "numerical", "metric": ”hopcount"}
        ]
  }
]


A second way is that we could have a lookup table accompanying the IRD:

"cost-types": {
  "num-routing": {"mode" : "numerical", "metric": ”routingcost"},
  "num-hop": {"mode" : "numerical", "metric": ”hopcount"}
}

"resources" = [
   {
    "uri" : "http://alto.example.com/costmap/num/somemaps";,
    "media-types" : [ "application/alto-costmap+json" ],
    "capabilities" : {
        "cost-types" : [ "num-routing", "num-hop" ]
  }
]

Some benefits I see to this second approach is that it makes the IRD as a
whole more concise when there are multiple cost maps and just generally
seems "cleaner" to me.  It remains concise if we add more descriptors to a
"cost metric" in the future.  The identifiers are opaque and local to the
IRD so there is no need to register them or even require them to be
consistent between IRDs delivered to a client.

Thanks,
Rich
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto

Reply via email to