URN Requirements

Andrew Pam (avatar@notebook.aus.xanadu.com)
Sun, 15 May 94 14:19:45 EST

Message-Id: <9405150230.AA0128@notebook.aus.xanadu.com>
In-Reply-To: <199405150359.UAA06682@osiris.ac.hmc.edu>
Date: Sun, 15 May 94 14:19:45 EST
From: avatar@notebook.aus.xanadu.com (Andrew Pam)
To: Jared_Rhine@hmc.edu
Subject: URN Requirements

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

Andrew> I believe I have one.

Jared> Then I'm sure we would love to see it. As usual when I'm discussing
Jared> with Xandadu folks (well, just you; I've never seen any other members of
Jared> that rare species),

If appropriate, I could supply you with the email addresses of a number of
Xanadu folks. However, as far as I'm aware I am the first really net.active
person on the team. Mind you, Ted did say in his 1981 Creative Computing
magazine feature article on email that the ARPANET at-sign addressing scheme
might solve many email problems and could prove to be very significant in the
future... :-)

Jared> it may very well be the case that my conception of the terms and issues
Jared> may be different than yours.

Indeed. This is what Ted constantly refers to as the "paradigm problem". We
are both approaching the same issues with different - and to some degree
mutually incompatible - mental perspectives. Luckily I have a fair background
in the non-Xanadu viewpoint, so I hope I am able to follow your comments.

Andrew> Other software will almost certainly have to use a local Xanadu
Andrew> server to access Xanadu resources, so the gateway could just produce
Andrew> locally valid URNs. Of course, I raised the issue because I think
Andrew> "locally valid URNs" would kind of spoil the point of the whole
Andrew> scheme...

Jared> Actually, upon a rereading of your response, I'm almost sure we have
Jared> different ideas. How could you possibly produce a "locally valid URN"?

Well, the other alternative (which may have been what you were getting at in
the first place) is that Xanadu URNs are globally valid, but are then not
unique, since each document may be referred to by an infinite number of URNs -
one for each server. This is no hardship to Xanadu software, which can resolve
all the URNs to the local form if the origin of each URN is known, but might be
of some concern to other software. :-)

Jared> With that kind of concept barrier, the publication of your algorithm is
Jared> probably the only way I'll be able to grasp what you're getting at.

Well, here's the relevant section from my draft on the subject:

When a server address is retrieved from storage on another server, the
address will need to be made relative to the server which has retrieved
it. This address normalisation procedure can be carried out as follows:

Call the current server "X", the highest ancestor node of which X is
aware "R", the server from which the address was retrieved "Y", and the
server whose address was retrieved "Z". Now let us use the notation
"Y sub X" to indicate the address of Y expressed relative to X. Then we
wish to find Z sub X given Y sub X and Z sub Y.

First find the highest ancestor node common to both Y sub X and Z sub Y
and call it "H". We can now easily compute Z sub H and then simply
remove all child links at the beginning of Z sub H that are already
present in X sub R.

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