
Aaron Brown wrote:
Things had gotten a bit quiet so I figure I should open up a can of worms :-) .
Indeed you have, I can't help but respond now...But before I do, I'd like to point out that a discussion such as this one is not complete without the required citations of Schoch's "A note on Inter-Network Naming, Addressing, and Routing"[1] The 'name' of a resource indicates *what* we seek, an 'address' indicates *where* it is, and a 'route' tells us *how to get there*. And Chiappa's "Endpoints and Endpoint Names"[2], which elaborates on the quote above.
If we mandate that *all* naming is completely context independent, then when given a random identifier, users are completely at a loss (since no context implies no domain information) as to where to get information on an element.
We are not advocating random identifiers. We're saying that when using names we need to separate lookup and other metadata. For example, we do not want to forbid names such as "http://www.internet2.org/i2.rdf#packrat:eth0". But the only thing you should conclude from that name is that there is an object called "packrat:eth0" in the Internet2 namespace, and that you can probably get more information at http://www.internet2.org/i2.rdf. But you can not directly conclude from this string that there is a device called "packrat", which has an interface called "eth0". Of course in day-to-day conversation you'll use it like that, but you really should not design your program to work like that.
[It] has the added benefit of allowing you to summarize a list of interfaces on packrat as "urn:ogf:network:domain=Internet2:node=packrat:port=*" which would be impossible without the hierarchy.
You know as well as I do that making a query like that is completely implementation dependent. You can just as easily create a similar, simple query for XML, RDF, or plain text even.
The issue I have with meaningless, globally-unique names comes in constructing the lookup service. If we have one global lookup service, it's easy. If i want to know about a random id, i lookup the id in that central service to find the authoritative topology service for that element, and then I go look up the element's information there.
Meaningless, globally unique names do not necessitate a central lookup service. I believe BGP works perfectly fine for distributing information about the completely meaningless IP numbers. To be fair, BGP uses abstraction during the distribution. But we're planning to do abstraction before distribution anyway. We have demonstrated several times that it is very easy to create a distributed lookup network with NDL, using pointers to other descriptions. This even provides a small level of security, since pointers to descriptions can only enter the lookup network when they are linked to. Jeroen. [1]: J. Schoch, "A note on Inter-Network Naming, Addressing, and Routing", http://ana-3.lcs.mit.edu/~jnc/tech/ien/ien19.txt [2]: J.N. Chiappa, "Endpoints and Endpoint Names", http://ana.lcs.mit.edu/~jnc//tech/endpoints.txt