Request for Comments: Xerox Corporation December Functional Requirements for Uniform Resource Names

Similar documents
Naming and Addressing

Request for Comments: 2276 Category: Informational January Architectural Principles of Uniform Resource Name Resolution

Network Working Group Request for Comments: 2141 Category: Standards Track May URN Syntax

draft-ietf-urn-req-frame-01.txt Expires September 28, 1997 March 28, 1997 Requirements and a Framework for URN Resolution Systems

Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999

Expires six months from November draft-ietf-urn-resolution-services-04.txt. URI Resolution Services Necessary for URN Resolution

Expires six months from July 1997

Internet Mail: The SMTP Model

Network Working Group. Obsoletes: 2717, Category: Best Current Practice Adobe Systems February 2006

Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational June 2000

Internet Engineering Task Force (IETF) Category: Informational March 2016 ISSN:

Network Working Group Request for Comments: 1679 Category: Informational K. O Donoghue NSWC-DD August 1994

Network Working Group. R. Iannella DSTC Pty Ltd P. Faltstrom Tele2/Swipnet June 1999

Reference Models. 7.3 A Comparison of the OSI and TCP/IP Reference Models

J. Zawinski Netscape Communications July 1998

Internet Engineering Task Force (IETF) Obsoletes: 7302 September 2016 Category: Informational ISSN:

Digital Preservation. Unique Identifiers

Internet Engineering Task Force (IETF) Request for Comments: 8069 Category: Informational February 2017 ISSN:

The goal of the Pangaea project, as we stated it in the introduction, was to show that

Network Working Group. Category: Experimental June A Trivial Convention for using HTTP in URN Resolution

Unique Identifiers Assessment: Results. R. Duerr

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

Network Working Group. November 1999

Uniform Resource Identifiers (URI): Generic Syntax

Use and Interpretation of HTTP Version Numbers

Persistent Identifiers for Earth Science Provenance

ISO/IEC Information technology Open Systems Interconnection The Directory. Part 6: Selected attribute types

Computer Networks. Wenzhong Li. Nanjing University

Persistent Identifiers for Digital Resources

Category: Standards Track Cisco Systems, Inc. A. Mutz Jutvision Corporation K. Holtman TUE March 1999

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track April 2017 ISSN:

2. Introduction to Internet Applications

Request for Comments: TIS Labs March Storing Certificates in the Domain Name System (DNS)

Introduction to Web Services & SOA

Network Working Group. Category: Informational April A Uniform Resource Name (URN) Namespace for the Open Geospatial Consortium (OGC)

Introduction to Distributed Systems

Interlaken Look-Aside Protocol Definition

Introduction to TCP/IP

Network Working Group. Category: Informational October 2005

Request for Comments: 3764 Category: Standards Track April enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record

Category: Standards Track August POP URL Scheme. Status of this Memo

Supporting the Information Mesh

General requirements for ID/locator separation in NGN

Lesson 3 SOAP message structure

The Unicode Standard Version 11.0 Core Specification

Slide 1 & 2 Technical issues Slide 3 Technical expertise (continued...)

Hypertext Transport Protocol HTTP/1.1

SOME TYPES AND USES OF DATA MODELS

Recursively invoking Linnaeus: A Taxonomy for Naming Systems Karen R. Sollins

Request for Comments: Obsoletes: 2095 September IMAP/POP AUTHorize Extension for Simple Challenge/Response

Managing Web Resources for Persistent Access

Teiid Designer User Guide 7.5.0

Troubleshooting Guide: SAP NetWeaver Gateway

Expires: August 1998 February DNS Operational Security Considerations Status of This Document

Internet Engineering Task Force (IETF) Category: Informational. June A Uniform Resource Name (URN) Namespace for CableLabs

Netsweeper Reporter Manual

Introduction to Web Services & SOA

Obsoletes: RFC 930 February 1989

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Panzura White Paper Panzura Distributed File Locking

Internet Engineering Task Force (IETF) Category: Informational April 2012 ISSN:

Briefing Paper: developing the DOI Namespace

white paper EPC Tag Data Specification abstract David Brock, Chris Cummins

Rudy Nedved Carnegie-Mellon University December 1984

Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries

Draft Proposal for the Allocation of Congestion Revenue Rights to Merchant Transmission

Some Lessons Learned from Designing the Resource PKI

Request for Comments: 2218 Category: Standards Track Sandia National Laboratory October A Common Schema for the Internet White Pages Service

November 1998 Expires May Storing Certificates in the Domain Name System (DNS)

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

An Archive Service with Persistent Naming for Objects

CIP Cyber Security Configuration Change Management and Vulnerability Assessments

DATA COMMUNICATOIN NETWORKING

X.509. CPSC 457/557 10/17/13 Jeffrey Zhu

Some important concepts relating to identifiers are uniqueness, resolution, interoperability, and persistence.

Towards persistent resource identification with the uniform resource name

Internet Engineering Task Force (IETF) Request for Comments: 6061 Category: Informational January 2011 ISSN:

Network Protocols. Terms you ll need to understand: Techniques you ll need to master:

Chapter 3: Uniform Resource Identifiers References:

ITU-T Y Next generation network evolution phase 1 Overview

ISO/IEC Information technology Multimedia framework (MPEG-21) Part 3: Digital Item Identification

Core Engine. R XML Specification. Version 5, February Applicable for Core Engine 1.5. Author: cappatec OG, Salzburg/Austria

Veeam Cloud Connect. Version 8.0. Administrator Guide

draft-ietf-lager-specification Status Update November 2015 Kim Davies

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

PIDs for CLARIN. Daan Broeder CLARIN / Max-Planck Institute for Psycholinguistics

Request for Comments: 3403 Obsoletes: 2915, 2168 October 2002 Category: Standards Track

CHAPTER 22 DISTRIBUTED APPLICATIONS ANSWERS TO QUESTIONS ANSWERS TO PROBLEMS

Internet Engineering Task Force (IETF) Request for Comments: 5983 Category: Experimental October 2010 ISSN:

Teiid Designer User Guide 7.7.0

Category: Standards Track December 2006

A Survey Paper on Grid Information Systems

Information Network Systems The application layer. Stephan Sigg

Introduction to Distributed Systems

National Computerization Agency Category: Informational July 2004

VMware BCDR Accelerator Service

Application-layer Protocols

ISO/IEC INTERNATIONAL STANDARD. Information technology Multimedia framework (MPEG-21) Part 21: Media Contract Ontology

September General Characterization Parameters for Integrated Service Network Elements. Status of this Memo

Transcription:

Network Working Group Request for Comments: 1737 Category: Informational K. Sollins MIT/LCS L. Masinter Xerox Corporation December 1994 Status of this Memo Functional Requirements for Uniform Resource Names This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. 1. Introduction This document specifies a minimum set of requirements for a kind of Internet resource identifier known as Uniform Resource Names (URNs). URNs fit within a larger Internet information architecture, which in turn is composed of, additionally, Uniform Resource Characteristics (URCs), and Uniform Resource Locators (URLs). URNs are used for identification, URCs for including meta-information, and URLs for locating or finding resources. It is provided as a basis for evaluating standards for URNs. The discussions of this work have occurred on the mailing list uri@bunyip.com and at the URI Working Group sessions of the IETF. The requirements described here are not necessarily exhaustive; for example, there are several issues dealing with support for replication of resources and with security that have been discussed; however, the problems are not well enough understood at this time to include specific requirements in those areas here. Within the general area of distributed object systems design, there are many concepts and designs that are discussed under the general topic of "naming". The URN requirements here are for a facility that addresses a different (and, in general, more stringent) set of needs than are frequently the domain of general object naming. The requirements for Uniform Resource Names fit within the overall architecture of Uniform Resource Identification. In order to build applications in the most general case, the user must be able to discover and identify the information, objects, or what we will call in this architecture resources, on which the application is to operate. Beyond this statement, the URI architecture does not define "resource." As the network and interconnectivity grow, the ability to make use of remote, perhaps independently managed, resources will Sollins & Masinter [Page 1]

become more and more important. This activity of discovering and utilizing resources can be broken down into those activities where one of the primary constraints is human utility and facility and those in which human involvement is small or nonexistent. Human naming must have such characteristics as being both mnemonic and short. Humans, in contrast with computers, are good at heuristic disambiguation and wide variability in structure. In order for computer and network based systems to support global naming and access to resources that have perhaps an indeterminate lifetime, the flexibility and attendant unreliability of human-friendly names should be translated into a naming infrastructure more appropriate for the underlying support system. It is this underlying support system that the Internet Information Infrastructure Architecture (IIIA) is addressing. Within the IIIA, several sorts of information about resources are specified and divided among different sorts of structures, along functional lines. In order to access information, one must be able to discover or identify the particular information desired, determined both how and where it might be used or accessed. The partitioning of the functionality in this architecture is into uniform resource names (URN), uniform resource characteristics (URC), and uniform resource locators (URL). A URN identifies a resource or unit of information. It may identify, for example, intellectual content, a particular presentation of intellectual content, or whatever a name assignment authority determines is a distinctly namable entity. A URL identifies the location or a container for an instance of a resource identified by a URN. The resource identified by a URN may reside in one or more locations at any given time, may move, or may not be available at all. Of course, not all resources will move during their lifetimes, and not all resources, although identifiable and identified by a URN will be instantiated at any given time. As such a URL is identifying a place where a resource may reside, or a container, as distinct from the resource itself identified by the URN. A URC is a set of meta-level information about a resource. Some examples of such meta-information are: owner, encoding, access restrictions (perhaps for particular instances), cost. With this in mind, we can make the following statement: o The purpose or function of a URN is to provide a globally unique, persistent identifier used for recognition, for access to characteristics of the resource or for access to the resource itself. Sollins & Masinter [Page 2]

More specifically, there are two kinds of requirements on URNs: requirements on the functional capabilities of URNs, and requirements on the way URNs are encoded in data streams and written communications. 2. Requirements for functional capabilities These are the requirements for URNs functional capabilities: o Global scope: A URN is a name with global scope which does not imply a location. It has the same meaning everywhere. o Global uniqueness: The same URN will never be assigned to two different resources. o Persistence: It is intended that the lifetime of a URN be permanent. That is, the URN will be globally unique forever, and may well be used as a reference to a resource well beyond the lifetime of the resource it identifies or of any naming authority involved in the assignment of its name. o Scalability: URNs can be assigned to any resource that might conceivably be available on the network, for hundreds of years. o Legacy support: The scheme must permit the support of existing legacy naming systems, insofar as they satisfy the other requirements described here. For example, ISBN numbers, ISO public identifiers, and UPC product codes seem to satisfy the functional requirements, and allow an embedding that satisfies the syntactic requirements described here. o Extensibility: Any scheme for URNs must permit future extensions to the scheme. o Independence: It is solely the responsibility of a name issuing authority to determine the conditions under which it will issue a name. o Resolution: A URN will not impede resolution (translation into a URL, q.v.). To be more specific, for URNs that have corresponding URLs, there must be some feasible mechanism to translate a URN to a URL. 3. Requirements for URN encoding In addition to requirements on the functional elements of the URNs, there are requirements for how they are encoded in a string: Sollins & Masinter [Page 3]

o Single encoding: The encoding for presentation for people in clear text, electronic mail and the like is the same as the encoding in other transmissions. o Simple comparison: A comparison algorithm for URNs is simple, local, and deterministic. That is, there is a single algorithm for comparing two URNs that does not require contacting any external server, is well specified and simple. o Human transcribability: For URNs to be easily transcribable by humans without error, they should be short, use a minimum of special characters, and be case insensitive. (There is no strong requirement that it be easy for a human to generate or interpret a URN; explicit human-accessible semantics of the names is not a requirement.) For this reason, URN comparison is insensitive to case, and probably white space and some punctuation marks. o Transport friendliness: A URN can be transported unmodified in the common Internet protocols, such as TCP, SMTP, FTP, Telnet, etc., as well as printed paper. o Machine consumption: A URN can be parsed by a computer. o Text recognition: The encoding of a URN should enhance the ability to find and parse URNs in free text. 4. Implications For a URN specification to be acceptible, it must meet the previous requirements. We draw a set of conclusions, listed below, from those requirements; a specification that satisfies the requirments without meetings these conclusions is deemed acceptable, although unlikely to occur. o To satisfy the requirements of uniqueness and scalability, name assignment is delegated to naming authorities, who may then assign names directly or delegate that authority to sub-authorities. Uniqueness is guaranteed by requiring each naming authority to guarantee uniqueness. The names of the naming authorities themselves are persistent and globally unique and top level authorities will be centrally registered. o Naming authorities that support scalable naming are encouraged, but not required. Scalability implies that a scheme for devising names may be scalable both at its terminators as well as within the structure; e.g., in a hierarchical naming scheme, a naming authority might have an extensible mechanism for adding new sub-registries. Sollins & Masinter [Page 4]

o It is strongly recommended that there be a mapping between the names generated by each naming authority and URLs. At any specific time there will be zero or more URLs into which a particular URN can be mapped. The naming authority itself need not provide the mapping from URN to URL. o For URNs to be transcribable and transported in mail, it is necessary to limit the character set usable in URNs, although there is not yet consensus on what the limit might be. In assigning names, a name assignment authority must abide by the preceding constraints, as well as defining its own criteria for determining the necessity or indication of a new name assignment. 5. Other considerations There are three issues about which this document has intentionally not taken a position, because it is believed that these are issues to be decided by local determination or other services within an information infrastructure. These issues are equality of resources, reflection of visible semantics in a URN, and name resolution. One of the ways in which naming authorities, the assigners of names, may choose to make themselves distinctive is by the algorithms by which they distinguish or do not distinguish resources from each other. For example, a publisher may choose to distinguish among multiple printings of a book, in which minor spelling and typographical mistakes have been made, but a library may prefer not to make that distinction. Furthermore, no one algorithm for testing for equality is likely to applicable to all sorts of information. For example, an algorithm based on testing the equality of two books is unlikely to be useful when testing the equality of two spreadsheets. Thus, although this document requires that any particular naming authority use one algorithm for determining whether two resources it is comparing are the same or different, each naming authority can use a different such algorithm and a naming authority may restrict the set of resources it chooses to identify in any way at all. A naming authority will also have some algorithm for actually choosing a name within its namespace. It may have an algorithm that actually embeds in some way some knowledge about the resource. In turn, that embedding may or may not be made public, and may or may not be visible to potential clients. For example, an unreflective URN, simply provides monotonically increasing serial numbers for resources. This conveys nothing other than the identity determined by the equality testing algorithm and an ordering of name assignment by this server. It carries no information about the resource itself. Sollins & Masinter [Page 5]

An MD5 of the resource at some point, in and of itself may be reflective of its contents, and, in fact, the naming authority may be perfectly willing to publish the fact that it is using MD5, but if the resource is mutable, it still will be the case that any potential client cannot do much with the URN other than check for equality. If, in contrast, a URN scheme has much in common with the assignment ISBN numbers, the algorithm for assigning them is public and by knowing it, given a particular ISBN number, one can learn something more about the resource in question. This full range of possibilities is allowed according to this requirements document, although it is intended that naming authorities be discouraged from making accessible to clients semantic information about the resource, on the assumption that that may change with time and therefore it is unwise to encourage people in any way to depend on that semantics being valid. Last, this document intentionally does not address the problem of name resolution, other than to recommend that for each naming authority a name translation mechanism exist. Naming authorities assign names, while resolvers or location services of some sort assist or provide URN to URL mapping. There may be one or many such services for the resources named by a particular naming authority. It may also be the case that there are generic ones providing service for many resources of differing naming authorities. Some may be authoritative and others not. Some may be highly reliable or highly available or highly responsive to updates or highly focussed by other criteria such as subject matter. Of course, it is also possible that some naming authorities will also act as resolvers for the resources they have named. This document supports and encourages third party and distributed services in this area, and therefore intentionally makes no statements about requirements of URNs or naming authorities on resolvers. Security Considerations Applications that require translation from names to locations, and the resources themselves may require the resources to be authenticated. It seems generally that the information about the authentication of either the name or the resource to which it refers should be carried by separate information passed along with the URN rather than in the URN itself. Sollins & Masinter [Page 6]

Authors Addresses Larry Masinter Xerox Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, CA 94304 Phone: (415) 812-4365 Fax: (415) 812-4333 EMail: masinter@parc.xerox.com Karen Sollins MIT Laboratory for Computer Science 545 Technology Square Cambridge, MA 02139 Voice: (617) 253-6006 Phone: (617) 253-2673 EMail: sollins@lcs.mit.edu Sollins & Masinter [Page 7]