Subject: Re: DNS based URI without any set access semantics?

From: "Clark C . Evans" <[email-masked]>
Date: Thu, 25 Jul 2002 15:24:19 -0400

----- Forwarded message from "Clark C . Evans" <[email-masked]> -----
Date: Thu, 25 Jul 2002 15:17:05 -0400
From: "Clark C . Evans" <[email-masked]>
To: [email-masked]
Subject: Re: [xml-dev] DNS based URIs that don't imply access method

Ok.  I've also asked this question on the ietf list and appears 
that there does not exist a URI scheme with these properties:

  - it uses DNS to gaurentee uniqueness
  - it does not imply any sort of access protocol (http/ftp/etc.)
  - two instances of the scheme are unique iff their strings are unique

So.  I'm now asking if we should create a URI scheme with these
properties.  Let's call it "pkg" for now, but any sufficiently 
generic name should work.   Here is the proposal:

  - the scheme starts with "pkg://"
  - next is a domain name in *small caps*
  - optionally followed by:
    - a slash '/'
    - a standard httpish path per URI specification.
  - no relative forms
  - no fragments

Examples:

   pkg://clarkevans.com
   pkg://clarkevans.com/data-type
   pkg://clarkevans.com/2002/my-data

The end goal is (a) to have a DNS based URN and (b) not have
this URN imply any sort of access mechanism (http,ftp,etc.)

For XML-DEV people...  What do you think?   Pretend for a moment that 
this is 1997 and XML is just about to emerge.  Would something like this 
have helped?   Please limit comments to what the URI change will impact,
not about general problems with XML namespaces and such soap boxes.
Ok.  Now, given today, if it took a while to catch on would it improve 
the situation (mod other namespace problems)?  If not, why?

Anyway, if you are interested, I'm going to attempt to carry
out this conversation over on the ietf's discussion list at
http://www1.ietf.org/mail-archive/ietf/Current/index.html
in a manner independent of XML.  I'll be observant of replys 
to the xml-dev list, but I'm not at all interested in the
xml-namespace soapbox.  ;)

Best,

Clark

-- 
Clark C. Evans                   Axista, Inc.
http://www.axista.com            800.926.5525
XCOLLA Collaborative Project Management Software
----- End forwarded message -----

----- End forwarded message -----

-- 
Clark C. Evans                   Axista, Inc.
http://www.axista.com            800.926.5525
XCOLLA Collaborative Project Management Software

---

From: "Clark C . Evans" <[email-masked]>
Date: Thu, 25 Jul 2002 17:01:45 -0400

On Thu, Jul 25, 2002 at 01:31:11PM -0700, Karl Auerbach wrote:
| On Thu, 25 Jul 2002, Clark C . Evans wrote:
| 
| >   - it uses DNS to gaurentee uniqueness
| 
| That's not a solid foundation for uniqueness.  There are multiple DNS 
| spaces in use.  One is almost completely dominant, but others do exist.

It's good enough.

| The object identifier space used for MIBS is much more usable for 
| uniqueness.

Too obscure.  With the Internet DNS system I can go to one
of many sites, pay my $11 ransom and rent a domain name 
for a year.  Even my aged aunt grocks DNS.  ;)

Clark

---

From: [email-masked]
Date: Thu, 25 Jul 2002 17:25:53 -0400

> | spaces in use.  One is almost completely dominant, but others do exist.

OK... why do we want to datestamp it in case it changes owners, but
it's "good enough" to discard the existence of alternate DNS roots?

Remember to discuss what semantics  you wish to assign that would make
the different  1997 and 2001 values of 'wwww.foobar.com' important to
distinguish (given that quite possibly *both* values are no longer valid
in the DNS) but you don't care about disambiguating two syntactically
identical names that *are* valid in different namespaces.
-- 
				Valdis Kletnieks
				Computer Systems Senior Engineer
				Virginia Tech

---

From: Ted Hardie <[email-masked]>
Date: Thu, 25 Jul 2002 14:36:05 -0700

>   - it uses DNS to gaurentee uniqueness

The DNS does not guarantee uniqueness outside of a TTL;
you need a timestamp to accomplish this.

>   - next is a domain name in *small caps*

Do you mean lower-cased?

>     - a standard httpish path per URI specification.

There are a lot of "does this match that" rat holes here.
as an example, are:

pkg://clarkevans.com./
and 
pkg://clarkevans.com/

the same?  How about

pkg://clarkevans.com/data-type
and
pkg://clarkevans.com/data-typ%BC
or
pkg://clarkevans.com/data-type%bc 

Saying something other than "httpish" may be useful here.

> xml-namespace soapbox.  ;)

The URI mailing list may be a better home.

				Ted Hardie

---

From: Keith Moore <[email-masked]>
Date: Thu, 25 Jul 2002 18:45:00 -0400

> it's "good enough" to discard the existence of alternate DNS roots?

"alternate DNS roots" aren't part of DNS.  if someone wants to propose
a URN based on a DNS-like system with its own root zone, they're free
to do so and see if they can get support for it.   For that matter if
someone wants to propose a URN based on some other naming system that
doesn't look like DNS they're free to do that also.  

But trying to make "alternate DNS roots" fit into a DNS URI scheme is 
like trying to make OIDs or some other naming scheme fit into a DNS 
URI scheme.   We don't need to do that - there's a separate scheme for
OIDs.  And trying to do so would make DNS URIs far more complex than 
they need to be -  for no real benefit.  For instance, how do you 
assign names to the alternate roots?  And what happens if people want 
to set up their own registries of names for roots and assign separate 
names to the alternate roots which conflict with other names for those
roots?

All naming systems start with some context; otherwise they'd be trying to
impose a tree structure on the entire universe.  restricting DNS URNs
to the real DNS is a reasonable design compromise.

Keith

---

From: [email-masked]
Date: Fri, 26 Jul 2002 09:27:58 -0400

> to the real DNS is a reasonable design compromise.

Agreed.

The part I obviously am unable to get caffeinated enough to understand is
what purpose the timestamps serve - there's *no* way to know what the
value of turing-police.cc.vt.edu:01July2002 was (don't bother with 'dig',
that will get the the IP address of its docking station, which changed
recently - the laptop's been seen at lots of different IP addresses).

Or is the intent *NOT* to provide something that's resolvable/usable, but
to provide an audit trail of "the URN as it resolved at timestamp FOO" (a
la the Wayback Machine)?
-- 
				Valdis Kletnieks
				Computer Systems Senior Engineer
				Virginia Tech

---

From: Keith Moore <[email-masked]>
Date: Fri, 26 Jul 2002 09:53:18 -0400

> what purpose the timestamps serve - 

A URN is supposed to be uniquely bound to a single resource for all time.
however a DNS name is not uniquely bound to an assigning entity for all time.

say party A holds example.com at time T1, and 
party B holds example.com at time T2.  

if there is a URN scheme based on DNS names without timestamps, then 
unless A and B explciitly coordinate, there's a chance of a collision 
between names assigned by A using example.com and names assigned by
B using example.com.  but if the scheme requires DNS name owners to
include a timestamp in a uniform format, then A uses 
URN:dns:example.com:T1 and B uses URN:dns:example.com:T2 .

also if you're trying to resolve those URNs, it helps if there's an
easy way to distinguish names assigned by A and those assigned by B.

the timestamp doesn't have any significance for the resource itself -
it's just a way of disambiguating potentially-conflicting uses of the
same domain name.

---

From: Michael Mealling <[email-masked]>
Date: Fri, 26 Jul 2002 10:04:31 -0400

> to provide an audit trail of "the URN as it resolved at timestamp FOO" (a

Correct. They very explicitly don't want these things to be resolvable but
are mearly using then as unique tokens for disambiguating pieces of XML
namespaces. They could just as easily use UUIDs but those have issues
with uniqueness if you don't happen to have a MAC address handy. And they're
awfully cryptic and very prone to transcription errors...

-MM

-- 
--------------------------------------------------------------------------------
Michael Mealling	|      Vote Libertarian!       | urn:pin:1
[email-masked]      |                              | http://www.neonym.net