next up previous
Next: What do we need Up: How Many Varieties of Previous: Names or Addresses?

   
Mechanisms

When discussing any kind of object identifier problem, many people want to get straight in to discussing whether their favourite implementation mechanism will do what is required. There are basically two mechanisms for creating unique identifiers and the second comes in two main types:
1.
Pseudo random generation
2.
Federated hierarchical organisations
(a)
where the same grammar is used by the subsidiary authorities
(b)
where each subsidiary authority defines its own subsidiary adressing scheme
Pseudo-random generation is the surprisingly effective technique of generation a large random number from some local source of entropy, e.g. timing of keystrokes on a keyboard or a short analysis of network traffic coupled with an absolute clock value. The probability of two separately generated identifiers being the same can be reduced to arbitrarily low levels by ensuring that the number is large enough and the entropy unbiased enough [15]. Microsoft's COM GUIDs use this method.

Federated naming schemes use a unique central authority which administers some top-level prefixes which it distributes to a number of other authorities, each of which adds something sequentially to the prefix and distributes further.

Conceptually, the identifer in a federated system gets longer and longer as the depth of the subsidiary tree gets deeper, but in practice it is quite possible to work within a maximum defined length so long as this is increased universally every few decades. The Internet Protocol (IP), Domain Name Service (DNS) and Ethernet card numbering systems work like this. Some naming protocols put an explicit depth on the tree.

The subsidiary naming systems may be subject to separate international standards, e.g. the service type names of the Service Location Prototocl (SLP) are registered with the Internet Assigned Numbers Authgority (IANA) [10].

The World-Wide Web architecture assumes that resource identifiers (URIs) are identifiable by their scheme name which determines the subsidiary naming scheme. This applies to all URNs and URIs (including URLs) [13]. A URN in absolute form consists of:


     <scheme> : <scheme-specific-encoding>

where the scheme name usually contains usually only lowercase letters and digits. The scheme name identifies the naming service and, implicitly, the resolution service, which would be used to resolve the identifier [12,13]. A subset of schemes use a common generic syntax:


     <scheme> : <authority><path>?<query>

The familiar ``http:'' URL uses a DNS machine-name (and optional port number) as the authority. Note that the query option means even the http: scheme can be extended to arbitrary encodings using cgi scripts and ``?'' parameter separators. The Handle System architecture can be defined with a scheme name ``hdl:''. Thus a particular document has the persistent name hdl:cnri.dlib/february96-urn_implementors which (currently) resolves to the address: http://www.dlib.org/dlib/february96/02arms.html [14].

Given the existence of one universal naming system for organisations (DNS), there is no great reason to invent and maintain another. In the past, individual industries have had to organise their own hierarchical organisation naming systems, e.g. the International Article Numbering Association (EAN) which assigns manufacturer identification numbers for barcodes for retail goods and much else besides (http://www.ean.be).

Today the naming systems for extensions to multimedia email formats, Java packages, URIs and no doubt much else are ``piggy-backed'' onto DNS. Thus if an individual has a personal website http://smith.demon.co.uk he can be sure that he can create a unique name for his collection of Java utilities by calling the package uk.co.demon.smith.utils.

It has been suggested that feature identifiers should use their geographic location and feature type as part of their unique identity. Unfortunately this runs into so many problems with different resolutions, projections, datums, accuracies and Feature Class Codes that this approach is not now being seriously followed.


next up previous
Next: What do we need Up: How Many Varieties of Previous: Names or Addresses?
Tom Conversion Service