URN Requirements

Andrew Pam (avatar@notebook.aus.xanadu.com)
Sun, 15 May 94 11:28:31 EST

Message-Id: <9405142343.AA0106@notebook.aus.xanadu.com>
In-Reply-To: <199405142227.PAA27231@osiris.ac.hmc.edu>
Date: Sun, 15 May 94 11:28:31 EST
From: avatar@notebook.aus.xanadu.com (Andrew Pam)
To: Jared_Rhine@hmc.edu
Subject: URN Requirements

Jared> Poorly.

Exactly what I suspected, and why I raised the issue. If URNs are supposed to
grandfather other schemes, Xanadu might have to be an exception; we might have
to grandfather URNs instead.

Jared> Although interesting, I do not see a great deal of utility for amount of
Jared> hassle this would be. You can certainly organize naming authorities
Jared> regardless of their connectivity; what does your model buy us?

Guaranteed uniqueness without any knowledge of other identifiers, and with no
need to modify identifiers in any way when systems are connected together. No
need to organise naming authorities at all, since everyone can automatically be
their own naming authority.

Andrew> I believe that this could be implemented by ensuring that the resource
Andrew> identifiers are always stored relative to the local server, and are
Andrew> canonicalised immediately whenever transferred from another server.

Jared> I'm having trouble coming up with any "canonicalization" algorithm that
Jared> would work quickly and deterministically.

I believe I have one.

Jared> Any comparision operation would need to canonicalize both URNs, anyway
Jared> (so a server can see if it has a copy of an object cached locally); why
Jared> not just store them in their canonical form in the first place?

Exactly what I was saying. All Xanadu identifiers would be canonicalised (I
use the term to mean translated to be relative to the current server) at the
moment of their arrival, and thus could be freely compared. On every server
they would always be stored in canonical form, ie relative to that server.

Jared> Without loss of generality, I think we can assume that something,
Jared> somewhere, must guarantee uniqueness. The URN requirements document
Jared> leaves this rather open, postulating "naming authorities", but no
Jared> "central" authority. The URI scheme could model what you suggest by
Jared> calling each server a naming authority, but such a scheme would horribly
Jared> cripple other parts of the model, including freedom to move objects
Jared> around.

Actually, that might be workable; it would mean that only Xanadu software
could access distributed Xanadu resources, but that's likely to be the case
anyway. Other software will almost certainly have to use a local Xanadu server
to access Xanadu resources, so the gateway could just produce locally valid
URNs. Of course, I raised the issue because I think "locally valid URNs" would
kind of spoil the point of the whole scheme...

Share and enjoy,
*** AVATAR ***

Andrew Pam avatar@notebook.aus.xanadu.com
Manager, Serious Cybernetics avatar@jolt.mpx.com.au
Coordinator, Xanadu Australia <http://www.aus.xanadu.com/>
P.O. Box 409, Canterbury VIC 3126 Australia gopher gopher.aus.xanadu.com