Re: The Path URN Specification

michael rabinovich (misha@research.att.com)
Thu, 23 Mar 95 19:01:38 EST

Message-Id: <9503240004.AA08251@mocha.bunyip.com>
Date: Thu, 23 Mar 95 19:01:38 EST
From: misha@research.att.com (michael rabinovich)
To: mshapiro@ncsa.uiuc.edu, uri@bunyip.com
Subject: Re: The Path URN Specification

From research!bunyip.com!owner-uri Tue Mar 21 15:12:27 1995
Received: from research (research.att.com) by allegra.tempo.att.com; id AA06639; Tue, 21 Mar 95 15:12:26 EST
Received: by research.att.com; Tue Mar 21 15:11 EST 1995
Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id MAA02519 for uri-out; Tue, 21 Mar 1995 12:42:20 -0500
Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id MAA02512 for <uri@services.bunyip.com>; Tue, 21 Mar 1995 12:42:12 -0500
Received: from newton.ncsa.uiuc.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
id AA09158 (mail destined for uri@services.bunyip.com) on Tue, 21 Mar 95 12:41:53 -0500
Received: from void.ncsa.uiuc.edu by newton.ncsa.uiuc.edu with SMTP id AA08584
(5.65a/IDA-1.4.2 for uri@bunyip.com); Tue, 21 Mar 95 11:39:24 -0600
Received: by void.ncsa.uiuc.edu (4.1/NCSA-4.1)
id AA02162; Tue, 21 Mar 95 11:38:15 CST
From: mshapiro@ncsa.uiuc.edu (Michael Shapiro)
Message-Id: <9503211738.AA02162@void.ncsa.uiuc.edu>
Subject: Re: The Path URN Specification
To: uri@bunyip.com
Date: Tue, 21 Mar 1995 11:38:15 -0600 (CST)
In-Reply-To: <9503202219.AA29164@mocha.bunyip.com> from "michael rabinovich" at Mar 20, 95 05:11:40 pm
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 6728
Sender: owner-uri@bunyip.com
Precedence: bulk
Status: RO

But you point out a real problem. With the path scheme, if you can move
part of the hierarchy to a new server and put the info into DNS, scheme
you have to contact the original server that used to serve the document
and it tells you to contact another (ie returns forwarding info). Plus
if the ability of a server to serve even the forwarding info degrades -
were stuck.

I think this may be a fundamental flaw with hierarchical names.

No, I think this is only a problem if you make server hierarchy part of the
name hierarchy.

However, flat namespaces have their problems.

Lets simplify the discussion and assume that a URN should resolve into
a URL (rather than the document itself). If a URN is a flat namespace
(no hierarchy) then how do we find the server that knows how to
translate the URN into a URL.

One such system is the handles system from CNRI
<http://www.cnri.reston.va.us/home/cstr/handle-intro.html>.
This system maps a flat namespace to URLs by having a suite of servers
each of which that knows part of the namespace. The URNs are
distributed among the servers to attempt to reduce the load on any one
server. (The URNs are assigned, perhaps by some hashing mechanism).
If the namespace grows beyond the capacity of the suite of servers, new
servers are added and the namespace redistributed among the new suite.

Clients figure out which server to contact by forming a hash on the URN
and looking up a server in a list of servers (that it downloads from
somewhere - a detail). The client then contacts the server and either
gets the URL, or it is told that it has contacted the wrong server but
is given the name of the server to contact. If it is the wrong server,
the client probably downloads a new server hash list so it has a
correct list. This allows more servers to be added and clients to
adjust to the new number of servers.

However, this means that clients may have to contact servers that are
very remote - or that (a hierarchy of?) caches that replicate the
namespace would have to be introduced.

If there is no caching or replication, clients will have to contact remote
URN/URL resolution servers anyway, be it a flat or hierarchical namespace.
So, I do not see this to be a problem particular to the flat namespace.
This handles system seems rather close to our own approach, except we
deal with name server overloading differently, and we also do dynamic
replication of end documents.

I would point out that phone numbers are not flat - if you allow them
to be global phone numbers. When you add area-codes and country-codes
you not only get large namespaces but you have a hierarchy that is used
to find the service that knows about the phone number. Also, within
organization you have extensions, which also looks to me like
part of a hierarchy.

I agree.
--
Michael Shapiro mshapiro@ncsa.uiuc.edu
NCSA (217) 244-6642
605 E Springfield Ave. RM 152CAB
Champaign, IL 61820

Michael Rabinovich