Re: URI-protocol mapping (was Re: How to add new "protocols" ?)

Ron Daniel Jr. (rdaniel@acl.lanl.gov)
Fri, 21 Feb 1997 09:43:27 -0700


Message-Id: <3.0.32.19970221094252.0096fab0@acl.lanl.gov>
Date: Fri, 21 Feb 1997 09:43:27 -0700
To: Dan Connolly <connolly@w3.org>
From: "Ron Daniel Jr." <rdaniel@acl.lanl.gov>
Subject: Re: URI-protocol mapping (was Re: How to add new "protocols" ?)
Cc: uri@bunyip.com

At 01:40 AM 2/21/97 -0600, Dan Connolly wrote:
>Ron Daniel Jr. wrote:
>
>> Well, there is at least one place where I think a useful technical
>> distinction can be made. URNs are to be location-independent. Not
>> only is the notion of a "location-independent locator" a bit
>> tortured, I would have a hard time calling
>>   http://www.foo.com/whatever
>> a URN since it clearly has a preferred location for resolution.
>
>OK, I'll bite: how is it that "location-dependent" vs.
>"location-independent" is a technical distinction?

Let me start with an example and set some background...

Once upon a time there was a site called info.cern.ch.
Essentially all the seminal web documents were accesible there.
You accessed those documents using URLs of the form
  http://info.cern.ch/pub/WWW/something-or-the-other
All those old URLs are now broken because all the web
documents moved to www.w3.org - a different location. For awhile
CERN ran a redirection service, but they don't seem to do that
anymore.

Those identifiers were, and still are, location dependent.

I'll be the first to agree that the notion of the "location"
of a domain name does not have to map onto a unique location
in physical space. We can use something like
Cisco's Director to hide lots of machines behind the same IP
address. We can provide multiple A records for the same
domain name. Now that the SRV record exists we can map one
domain name to several.

However, in the space of possible domain names, one domain name
identifies a particular "location". That location is *strongly*
correlated to the structure of organizations. Further, it is correlated
(but not so strongly) to the physical spaces under the control of
those organizations and the organizations with whom they have
established agreements. (I'm not sure what kind of a metric one can
use in organization-space, but domain name space has a definite metric
due to its hierarchical organization. Its just a strange space since
CNAMEs, SRVs, and MXs make so many "wormholes". But I digress.) 

With all that background in place, let me answer your question:

>how is it that "location-dependent" vs.
>"location-independent" is a technical distinction?

http://www.foo.com/whatever identifies one location in domain name space,
just as info.cern.ch does. Those locations are under the control of
particular organizations who can decide if they do or do not want to
keep those locations distinct. In the case of info.cern.ch and
www.w3.org, they were kept distinct.
A location-independent identifier does not carry around resolution-system
specific information, such as a domain name.

>What mechanism depends on or uses the distinction in
>any way?

Current URL resolution mechanisms. All the major ones are
defined to contain a domain name, which is a location in the
space of domain names. Their specifications say what to do with
that domain name. (Lookup an A record or an MX record, etc.).

>What's the test for "location dependent"?

Does the identifier embed resolution-system-specific hints, such as
a domain name?

>For 20 points: tell me the location of http://www.w3.org/.

In domain-same space, that is a point.

It maps in organizational space to the parts of MIT, INRIA, ... that
have a particular business relation with W3C. Those organizations will
have provided a set of machines to fulfill their part of that business
relation, and we can discover the IP addresses for those machines through
DNS.

Physically, I would expect those IP addresses to route to about 20
machines in Cambridge and France that are under direct control of W3C
staff. There maybe a few others scattered around. 

Those domain names cannot legally route to, for example, any of the
machines on the floor below me. I have no way of conforming to the
specification for various URL schemes and doing the resolution on the
machines downstairs. Those identifiers are location-dependent. This
is a technical distinction.

>The evidence you give -- that you would have a hard time calling
>it a URN -- is exactly the sort of _non-technical_ difference
>in perspective that I'm talking about.

Well, I disagree.

I'll admit that one *could* resolve current URLs in a location-independent
fashion. However, one cannot do it in a manner conformant to existing
standards. We can do anything if we change the definitions of our terms.

Regards,

Ron Daniel Jr.              voice:+1 505 665 0597
Advanced Computing Lab        fax:+1 505 665 4939
MS B287                     email:rdaniel@lanl.gov
Los Alamos National Lab      http://www.acl.lanl.gov/~rdaniel
Los Alamos, NM, USA, 87545