/[suikacvs]/webroot/www/2004/id/draft-ietf-uri-urn2urc-00.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-uri-urn2urc-00.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Tue Jun 15 08:37:16 2004 UTC (20 years, 10 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1 wakaba 1.1 draft-ietf-uri-urn2urc-00.txt URI working group
2     Expires 16 October 1994 19 Feb 94
3    
4     URN to URC resolution scenario
5     ==============================
6    
7     Abstract
8     ========
9    
10     This document is intended to address the issue of URN to URC resolution
11     at a level between the IIIR Vision document [clw/peterd:1] and the
12     various standards documents such as the URL specification. [timb].
13     This document is also intended to act as some pointers for people who
14     might want to implement URNs in information systems they are building.
15    
16     Status of this Memo
17     ===================
18     This document is an Internet-Draft. Internet-Drafts are
19     working documents of the Internet Engineering Task Force
20     (IETF), its areas, and its working groups. Note that other
21     groups may also distribute working documents as
22     Internet-Drafts.
23    
24     Internet-Drafts are draft documents valid for a maximum of six
25     months. Internet-Drafts may be updated, replaced, or obsoleted
26     by other documents at any time. It is not appropriate to use
27     Internet-Drafts as reference material or to cite them other
28     than as a ``working draft'' or ``work in progress.''
29    
30     To learn the current status of any Internet-Draft, please check
31     the 1id-abstracts.txt listing contained in the Internet-Drafts
32     Shadow Directories on ds.internic.net, nic.nordu.net,
33     ftp.isi.edu, or munnari.oz.au.
34    
35    
36     Sample URC
37     ==========
38     Title: URN to URC resolution scenario
39     Version: 0.3
40     URN: Unknown - how about <urn:ietf/pandora/mitra:urn2urc>
41     URL: ftp://pandora.sf.ca.us/pub/mitra/urn2urc-04.txt
42     URL: ftp://ftp.isi.edu/internet-drafts/draft-ietf-uri-urn-00.txt
43     Format: Text/plain
44     Cost: 0
45     Date: 19 Feb 93
46     Comment: This version has had minor changes since 0.3
47    
48    
49     Note
50     ====
51    
52     {Throughout the document, I've tried to identify places where discussion
53     is still going on that may affect this proposal, and indicate with
54     '{' and '}' }.
55    
56     The first version was written prior to IETF Houston - the discussion has
57     moved along a bit since then, but it isnt worth updating this document
58     until more choices are clarified.
59    
60     Acronym Soup
61     ============
62    
63     I've avoided defining any new acronyms in this document. The following
64     acronyms will be used.
65    
66     URI Uniform Resource Identifier: Any of URN, URL, URC etc
67     URN Uniform Resource Name: A persistant, location independent
68     identifier for an object.
69     URL Uniform Resource Location: The address of an object, contains
70     enough information to identify a protocol and retrieve the object.
71     URC Uniform Resource Characteristics: Any combination of one or more
72     URN's or URLs with meta information. The set of information in
73     a URC is not defined. In some documents this is referred to as
74     URT or URM. [mm]
75     Id Authority That part of a URN which identifiers the authority
76     that issued the URN. In documents written prior to it becoming
77     a hierarchical entity, [clw/peterd:2] it is usually split into
78     two parts "Naming Authority" and "Publisher Id"
79     IIIR Integration of Internet Information Retrieval.
80    
81     General scenario
82     ================
83    
84     The general scenario described here might proceed as follows, although
85     this document is not constrained by the scenario it is usefull to articulate
86     it so that we can check that what we are proposing makes sense.
87    
88     1) A client program, running on a users workstation, receives a
89     hypertext document, menu, or search result etc containing a number of
90     URNs.
91    
92     2) The user selects one of the URNs
93    
94     3) The client locates, a URN->URC resolution service.
95    
96     4) The client contacts the URN->URC resolution service, and
97     retrieves a number of URLs for this document, along with meta
98     information about those URLs (e.g. cost and format) and about the URN
99     itself.
100    
101     5) The user, or the client, pick the "best" URL
102    
103     6) The client either retrieves the URL itself (e.g. via its access
104     library) or if the URL is for a access method it doesnt speak, via a
105     gateway service.
106    
107     7) The client either displays the object, or if its in a format it doesnt
108     handle, launches an appropriate viewer.
109    
110     Technical detail for each step
111     ==============================
112    
113     1) The client program receives the URNs
114    
115     The URNs are embedded in an object, or other data structure, the client
116     needs a way to locate and extract those URNs.
117    
118     The current proposal is that in
119     text they are always of the form <urn:xxx/yyy:ABC123456> where:
120    
121     xxx/yyy is a hierarchical identifier (read left to right) for the ID
122     authority. {Note other proposals are to use one or more ":" as seperators
123     for the hierarchy, or to reverse it to look like a FQDN}
124    
125     ABC123456 is an opaque string assigned by the ID authority.
126    
127     For more information on URNs see the current version of the URN
128     document [clw/peterd:2]
129    
130    
131     2) The user selects one of those URNs.
132    
133     For this to be meaningfull their must be enough meta-information with
134     the URN for the user to make a selection. Depending on the protocol,
135     this might be outside the standardisation process, (e.g. a
136     textual description in a mail message. Or it might be part of another
137     protocol (e.g. the title in gopher or html). Or it might be that the
138     URN is received embedded in a URC
139    
140     3) The client locates a URN->URC resolution service.
141    
142     The URN needs to contain enough information within it to locate the
143     resolution service. The client can extract the ID Authority from the
144     URN in the example above this would be xxx/yyy, this is reversed and
145     ".urn" appended to form a FQDN of yyy.xxx.urn
146    
147     { If other punctuation schemes are adopted, then the process will
148     change, but the principle remain the same. Ditto if we adopt a
149     different top-level domain. This does have implications for the
150     character set allowed in the ID Authority part of a URN, it either has
151     to be those characters allowed in a FQDN, or an escaping scheme
152     chosen}
153    
154     This FQDN, can be passed to the DNS which can resolve it to an address,
155     while this might involve several network accesses to traverse the
156     hierarchy, the standard caching and UDP parts of DNS make this an
157     efficient process. Typically this requires just a call to
158     "gethostbyname" which returns a IP address.
159    
160     There have been some concerns raised about not increasing the load on
161     the fragile DNS system and software. Note also that in this scheme the
162     DNS needs no records changed or added, and only ID authorities are
163     registered - not documents. Total increased load on DNS for any
164     transaction is going to be of a similar order as the load for any
165     document retrieval etc.
166    
167     4) The client contacts the URN->URC service.
168    
169     If we are to avoid mucking with the DNS, then the URN->URC service is
170     going to have to be on a registered port, talking a known protocol.
171    
172     Currently the proposal is to use a subset of the whois++ protocol, but
173     sitting on a different port. The simplest query is of the form:
174    
175     Client->Server: Template=URC;URN="urn:xxx/yyy:ABCD123456"
176    
177     Server->Client: URN: urn:xxx/yyy:ABCD123456
178     Author: Mitra <mitra@path.net>
179     URL: gopher://path.net/00/papers/mitra/urn2urc
180     Format: Text/plain
181     URL: ftp://path.net/pub/docs/urn2urc.ps
182     Format: Application/postscript
183    
184     Decisions are needed about what the minimum set of queries for
185     URN->URC resolution are, also whether the returned information is in
186     whois++ format, or is in URC format, however we define that.
187    
188     However this is defined, it is going to be a subset of the evolving
189     whois++, and is going to have to be an extendable protocol, in the
190     sense that we are going to want to add more functionality to URN
191     servers as time goes by. Therefore, URN->URC servers should fail
192     gracefully if a client requests a function they dont support, and
193     clients should behave gracefully if the server doesnt support a
194     feature they request. Crashing because you see an unrecognised field,
195     or request is NOT conformance with this standard. See the whois++
196     document [peterd:3]
197    
198     {Note: Whois++ needs to add a statement that order can not be arbitrarily
199     rearranged in templates}
200    
201     5) The user, or client chooses the "best" URL
202    
203     In some cases the URC will contain enough information to pick the
204     document without further input from the user. For instance, in the
205     above case, if the client doesnt support Postscript, then it might
206     automatically select the "Text/plain" version.
207    
208    
209     In most cases, the client is going to have to present some kind of
210     menu, or dialog box to a user for him or her to make that decision. This
211     means that the meta-information in a template should ideally be
212     interpretable by the computer, and should if possible be
213     human-readable.
214    
215    
216     It would be usefull to enable experimentation at this time, before
217     agreement on these fields is reached. So for now, template fields
218     shall consist of any registered mime field (e.g. Content type) or any
219     IAFA template field. If these are insufficient then select a field
220     from the report of the "non-existant" Data Elements Working Group
221     [NEDEWG]. If other fields are needed, prepend them with "X-".
222    
223     It is hoped that the URI group, or some other WG can gradually standardize
224     the contents of most of these fields. However in the shifting world of
225     information systems this will never be a complete task, so clients
226     should never choke on an element they dont recognize.
227    
228    
229     6) The client retrieves the URL -
230    
231     The URL theoretically contains enough information for a client to
232     retrieve it. There are three possibilities for what a well-behaved
233     client might do:
234     a) The client is clever enough to understand the protocol, and passes
235     the URL to its access library.
236     b) The client knows about the protocol, but cannot handle it itself,
237     in which case it can pass the URL to a gateway that it knows handles this
238     protocol.
239     c) The client has never heard of the protocol, in which case it should
240     hand the URL to its default gateway, and hope for the best.
241    
242     Of course, accessing this URL involves DNS lookup and other network
243     functionality, but this is a well understood problem.
244    
245    
246     7) The client displays the object
247    
248     The client now has an object - file, menu etc. By virtue of the
249     earlier steps, it also should have enough information to know what to
250     do with it. Typically this will involve either displaying the object
251     itself, or checking in some configuration table for an appropriate
252     application (e.g. xv) to pass the object to.
253    
254    
255     Conclusion
256     ==========
257    
258     Hopefully, this document has outlined a scenario and some ways to
259     achieve, it - I believe the scenario is generic enough to fit many
260     people's needs, if not then lets outline alternative scenarios and
261     determine if the techniques above are sufficient for handling it.
262    
263    
264     Other docs
265     ==========
266     {I'd appreciate URL's etc where these are missing}
267    
268     X-Ref: peterd:3
269     Description: Whois++ protocol spec
270     Author: ??
271     Title: ??
272     URL: ??
273    
274    
275     X-Ref: timbl
276     Title: Unifrom Resource Locators
277     Author: Tim Berners-Lee <timbl@info.cern.ch>
278     Date: March 93
279     URL: ftp://cnri.reston.va.us/internet-drafts/draft-ietf-uri-url-03.txt
280    
281     X-Ref: NEESNWG
282     Description: Report of the "non-existant" Element Set Names Working Group
283     Title: ??
284     URL: ??
285    
286     X-Ref: clw/peterd:1
287     Author: Chris Weider <clw@merit.edu>
288     Author: Peter Deutsch <peterd@bunyip.com>
289     Title: A Vision of an Integrated Information Service
290     Date: Oct 93
291     URL: ftp://cnri.reston.va.us/internet-drafts/draft-ietf-iiir-vision-00.txt
292    
293     X-Ref: clw/peterd:2
294     Author: Chris Weider <clw@merit.edu>
295     Author: Peter Deutsch <peterd@bunyip.com>
296     Title: Uniform Resource Names
297     URL: ftp://cnri.reston.va.us/internet-drafts/draft-ietf-uri-resource-names-01.txt
298    
299     X-Ref: mm
300     Author: Michael Mealing <oit.gatech.edu>
301     Title: Uniform Resource Identifiers: The Grand Menagerie
302     URL: http://www.gatech.edu/urm.paper
303     Date: July 93
304    
305    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24