# New URN draft

Chris Weider (clw@mocha.bunyip.com)
Thu, 28 Jul 94 13:19:24 -0400

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Larry Masinter: "DIFFS of version 5.3 vs. 5.2"
- Previous message: Roy T. Fielding: "Appendix B: Relative URLs"

    Date: Thu, 28 Jul 94 13:19:24 -0400

    From: Chris Weider <clw@mocha.bunyip.com>

    Message-Id: <9407281719.AA00807@mocha.bunyip.com>

    To: internet-draft@cnri.reston.va.us, peterd@bunyip.com, uri@bunyip.com

    Subject: New URN draft

INTERNET--DRAFT Chris Weider
IETF URI Working Group Bunyip Information
Systems, Inc.
Peter Deutsch
Bunyip Information
Systems, Inc.
July, 1994

Uniform Resource Names

Status of this Memo

In this paper, the authors propose an identifier, called the Uniform Resource
Name (URN), which is designed to provide persistent naming for resources
and objects on the Internet.

This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.

Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted
by other documents at any time. It is not appropriate to use
Internet Drafts as reference material or to cite them other than
as a "working draft" or "work in progress."

Please check the I-D abstract listing contained in each Internet
Draft directory to learn the current status of this or any
other Internet Draft.

This Internet Draft expires January 28, 1995.

1: Introduction

A Uniform Resource Name (URN) is an identifier which can be used to uniquely
identify a resource, and is designed to provide persistent naming for
networked objects. This name would stay the same no matter what the
current location(s) of the object was.

2: Motivation

This work comes out of the discussions held at the Uniform Resource Identifier
meetings at the IETF, and from further discussions among interested parties.
Currently, the only standard identification scheme for resources on the Net is
the Uniform Resource Locator (URL) [Berners-Lee 1993]. This "Locator"
is designed to provide a uniform way of specifying location and retrieval
information for networked objects. The URL, however, will not provide a stable,
long-lived reference to a resource as the resources have a bad habit of moving
out from under the locator. Also, a given resource may have multiple URLs if
it resides at a number of different locations on the net, or is available
under a number of different access methods. Thus it is difficult to tell,
given two different URLs, whether the resources they point to are the same
or different without retrieving both of them. The Uniform Resource Name, or
URN, has been designed to alleviate these problems.

INTERNET--DRAFT Uniform Resource Names Weider, Deutsch

3: The Uniform Resource Name (URN)

3.1 Functionality

The URN is designed to provide persistent naming for objects on the net. It
is intended to be used in conjunction with a directory service, which can
provide a URN -> URL mapping [Weider 1994]. This URN-URL architecture allows
permanent references to be made to resources without worrying about their
current locations. It is also intended to provide some detection of duplicates
in responses to queries of various resource location services.

3.2 What URNs are *not*

URNs are not required to be human-readable in the sense that a human could
look at the URN and determine anything about the contents of the resource.
While the Naming Authority (q.v.) has the final determination of the contents
(subject to the syntax constraints), the Naming Authority is STRONGLY
discouraged from placing metainformation about the resource into the resource's
URN, as the URNs are not expected to be read, and because this paper will
specify only five consistent components of the URN. Although there have been a
number of proposals placing extensive semantics on the contents of the URN
[Spero 1992, Kunze 1993], it was decided by the authors of all the proposals
that all metainformation should be conveyed using another mechanism, and that
the Naming Authority should assume that humans will never look at the contents
of the URN to determine qualities of the resource they are retrieving, and
would not be required to guess from a given URN the URN of a document which
might be related.

3.3 Components of the URN

There are four components to the URN, separated by colons; the keyword
'URN', a naming authority scheme identifier, a naming authority identifier, and an
opaque string. Each part is described below.

3.3.1 URN examples

<URN:IANA:merit.edu:1929642>

<URN:ISBN:0_201_12:xyzxmnopq>

<URN:IANA:12456:1.34.2345>

INTERNET--DRAFT Uniform Resource Names Weider, Deutsch

3.3.2 The naming authority scheme identifier

The naming authority scheme identifier is a string which is the name of a
protocol or organization which guarantees the uniqueness of the naming
authority identifier which follows. Naming authority scheme identifiers defined
at this time are

IANA
ISBN
ISSN

3.3.4 The naming authority identifier

This string, along with the naming authority scheme identifier, identifies a
naming authority that may assign URNs to resources. This string may have
internal syntax depending on the naming authority scheme identifier associated
with it; for example, the naming authority identifier space associated with IANA
may be hierarchical and multi-leveled.

3.3.5 The Opaque String

The opaque string component of the URN is any string the Naming Authority
wishes to assign to a given resource, subject only to the constraints of the
allowed character set.

As mentioned above, the Naming Authority should not assume that a
human will ever read the URN. Also, the Naming Authority, in assigning an
opaque string to a given resource, should keep the following guidelines in
mind:

1: A given opaque string must be case-insensitive.

2: A given opaque string, once assigned, must never be reused. These
are expected to be persistent names for resources (think in terms
of decades).

3: In assigning an opaque string, and thus creating a URN, the Naming
Authority should make provisions for a URN -> URL mapping
function. This need be nothing more than finding an organization
which is already providing this service for other URNs and making
arrangements to have them translate for the new URN, or could
be as involved as creating a new software agent to provide this
service. Remember that a name is no good without some way of
getting a location.

4: URNs will be returned as pointers from a resource location service.
(See [Weider 1994]). Consequently, a Naming Authority should give
some thought to the assignation of new URNs for resources which
are derived in some fashion from other resources to which that
Authority has already assigned URNs. For example, should the
Postscript version and the ASCII version of a paper have the
same URN? While there are no universally applicable answers to
questions like these (for example, should the Russian and English
versions of a scientific paper have the same URN?) an Authority
should keep in mind that users will want to weed out duplicate
resources in the lists of URNs returned by a resource location
service, and consequently will be doing a lot of equality testing
on the URNs.

Several of these requirements are specified by the URN Requirements Document
[Sollins 1994] and must be adhered to.
INTERNET--DRAFT Uniform Resource Names Weider, Deutsch

4: Setting up as a Naming Authority

There are 2 scheme identifiers listed here; others will no doubt be suggested
and added as this draft circulates. They are:

IANA
ISBN
ISSN

To set one's organization up as a Naming Authority, one can use the ISBN
publisher ID one has been assigned, or one can apply for an Enterprise
Number from the IANA (Internet Assigned Number Authority) if the organization
does not already have one. The general syntax is listed in section 5.

5: Syntax

Below is a BNF like description of the syntax of the URN. Spaces have
been used here to separate components for readability, spaces are NOT ALLOWED
in a syntactically correct URN unless they are escaped with the '\' character.
Square brackets '[' and ']' are used to indicate optional parts;
a vertical line "|" indicates alternatives. Single letters and digits stand
for themselves. All words of more than one letter are either expanded further
in the syntax or represent themselves.

urn <URN: Authority_Id : opaque_string >

Authority_Id Scheme_ID : [Individual ]
Scheme_ID IANA | ISBN | ISSN
Individual xalphas
xalphas xalpha [ xalphas ]
xalpha a | b | c | d | e | f | g | h | i | j | k | l |
m | n | o | p | q | r | s | t | u | v | w | x |
y | z | A | B | C | D | E | F | G | H | I | J |
K | L | M | N | O | P | Q | R | S | T | U | V |
W | X | Y | Z | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 0 | - | _ | . | @

6: References

[Kunze 1993] Kunze, John, Resource Citations for Electronic Discovery and
Retrieval, March, 1993. Circulated to ietf-uri mailing list.

[Sollins 1994] Sollins, K, and Masinter, L. Requirements for Uniform Resource
Names, Internet Draft, June, 1994. Available as

ftp://nic.merit.edu/documents/internet-drafts/draft-sollins-urn-01.txt

[Spero 1992] Spero, Simon, Uniform Resource Numbers, November 1992.
Circulated to ietf-uri mailing list.

[Weider 1994] Weider, Chris and Deutsch, Peter. A Vision of an Integrated
Internet Information Service, July, 1994. Available as

ftp://nic.merit.edu/documents/internet-drafts/draft-ietf-iiir-vision-01.txt

INTERNET--DRAFT Uniform Resource Names Weider, Deutsch

7: Author's addresses

Chris Weider
clw@bunyip.com
Bunyip Information Systems, Inc.
2001 S. Huron Parkway #12
Ann Arbor, MI 48104
Phone: +1 (313) 971-2223
Fax: +1 (313) 971-2223

Peter Deutsch
peterd@bunyip.com
Bunyip Information Systems, Inc.
310 St-Catherine St West
suite 202,
Montreal, Quebec H2X 2A1
CANADA

- Next message: Larry Masinter: "DIFFS of version 5.3 vs. 5.2"
- Previous message: Roy T. Fielding: "Appendix B: Relative URLs"