
This is a good discussion. Jeff W. Boote wrote:
My point is that I don't want a single phone book because that does not scale well and does not allow each 'publisher' the ability to control who they share addresses with.
Fascinating that we both have this same premises (do not create a global phonebook) we end up with different rules for identifiers.
Therefore, the name needs to have enough information to direct you to the correct phone book. This is not about finding the address (yet), it is about finding the correct phone book.
So beside the unique identifier itself, we need information where to get more information about what the identifier means, who owns it, and where some sort of status information about this thing can be retrieved. Which of this additional information should be part of the identifier, and which can be sent along with that information (in the same message, but in a different field, and not formally part of the identifier, as Jeroen suggested). 1) type information (is it is link, or a path, or a domain?) 2) owner name? (the domain prefix) 3) publisher name? (is that the same as the owner?) (*) 4) location of the phonebook (http://glif.is/webservice/status.cgi?) 5) type of interface for the phonebook (webservice?) Surely, we want to avoid an identifier which include all, like "urn:ogf:network:identifier:type=path:domain=glif.is:sequence=2678:statustype=webservice:statusurl=https://idc.internet2.edu/ws/status.cgi" If I would follow the (otherwise excellent) article Jeroen sent, I would have an identifier like "JtsGuE5NBhHmlj6LuhC4" which requires messages like <message><path><identifier>JtsGuE5NBhHmlj6LuhC4</identifier><identifier><domain>glif.is</domain><status><type>webservice</type><url>https://idc.internet2.edu/ws/status.cgi</url></status></path></message> or a least <message><path><identifier>JtsGuE5NBhHmlj6LuhC4</identifier><identifier><domain>glif.is</domain></path></message> In my view, a good compromise would be to include the owner, but not the location of the phone book in an identifier. And nothing else either. Thus the identifier would be "glif.is:2678", which signifies "glif.is" as the owner. Then there is an indirection saying that glif.is has a lookup service of type webservice, located at https://idc.internet2.edu/ws/status.cgi. I really like this indirection to be explicit (not derived from the syntax of the owner). This additional information can either be given along with the identifier (eliminating an additional RTT) or it can be retrieved once and cached. The important thing is that both are possible without changing the anatomy of the identifier. Regards, Freek (*) I always like to make a distinction between whoever "owns" a policy; the policy maker, and the "operator", the policy implementer. I'm not sure if it relevant here, but I can imagine that owner delegates the information publishing service to someone else.