/[suikacvs]/webroot/www/2004/id/draft-ietf-iiir-transponders-01.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-iiir-transponders-01.txt

Parent Directory Parent Directory | Revision Log Revision Log


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

1 wakaba 1.1 IETF IIIR Working Group Chris Weider
2     INTERNET--DRAFT Merit Network, Inc.
3     <draft-ietf-iiir-transponders-01.txt> October, 1993
4    
5     Resource Transponders
6    
7     Status of this Memo
8    
9     In this paper, the author describes a mechanism for automatically
10     maintaining resource location systems which contain pointers to
11     resources.
12    
13     This document is an Internet Draft. Internet Drafts are working
14     documents of the Internet Engineering Task Force (IETF), its
15     Areas, and its Working Groups. Note that other groups may also
16     distribute working documents as Internet Drafts.
17    
18     Internet Drafts are draft documents valid for a maximum of six
19     months. Internet Drafts may be updated, replaced, or obsoleted
20     by other documents at any time. It is not appropriate to use
21     Internet Drafts as reference material or to cite them other than
22     as a "working draft" or "work in progress."
23    
24     Please check the I-D abstract listing contained in each Internet
25     Draft directory to learn the current status of this or any
26     other Internet Draft.
27    
28     This Internet Draft expires April 22, 1993.
29    
30     Abstract
31    
32     Although a number of systems have been created in the last several years
33     to provide resource location and navigation on the Internet, the
34     information contained in these systems must be maintained and updated by
35     hand. This paper describes an automatic mechanism, the resource
36     transponder, for maintaining resource location information.
37    
38     Author's note:
39    
40     This document is being circulated as a research paper; consequently
41     there are no protocol specifications or anything of the sort. I hope
42     that we can go from here and actually get some implementation
43     experience.
44    
45     1. Introduction
46    
47     In the past few years, we've seen the invention and growth of a number
48     of information location systems on the Internet, e.g. archie, Gopher,
49     and WAIS. However, as these systems have become widely deployed, a
50     number of maintenance and security problems have arisen with them. Some
51     of the major ones
52    
53     INTERNET--DRAFT Resource Transponders Weider
54    
55     1) Out of necessity, most of these systems contain pointers to the
56     desired resources rather than the resources themselves. Therefore,
57     if a resource becomes obsolete, is modified, or is moved, the
58     location system must be updated by hand. Some systems, such as
59     Archie and Veronica, proactively create updated indexes by
60     contacting every resource on a certain time schedule. However, this
61     means that the system can be wildly out of date, depending on the
62     interval between polls of the resources. This process can be highly
63     inefficient depending on the percentage of information that has
64     changed.
65    
66     2) Conversely, anyone who maintains a resource that they wish indexed
67     must keep track of every directory which contains a pointer to that
68     resource, so that if it is modified, all the directories can be
69     updated. This obviously is an optimistic scenario.
70    
71     3) Many organizations which have installed these systems do not have
72     the available resources or expertise to maintain the information in
73     the systems. Thus we have long periods where the information
74     drifts, then a short period when the information is updated again.
75    
76     4) Even though these systems are almost always out of date today, this
77     problem will become increasingly harder for humans to manage by
78     hand as everyone on the net becomes their own publisher. Also, as
79     the net speeds up and people rely more and more on accurate
80     information, human-induced delays in updates of these systems will
81     become increasingly intolerable.
82    
83     5) Most, if not all, of these systems provide no security whatsoever;
84     if a pointer to a resource appears in a locator system, then it is
85     assumed to be meant for public consumption. There are many
86     potential information providers who would like to use publicly
87     deployed information systems to publish to a very selected
88     clientele, and do not wish to allow the whole net access to their
89     resources.
90    
91     2: Requirements for a solution
92    
93     There are several objectives which must be met by any proposed solution
94     to these problems:
95    
96     1) We need to decrease the personnel resources needed for indexing and
97     pointer maintenance.
98    
99     2) We need to increase the reliability and accuracy of the information
100     held in resource location systems.
101    
102     3) We need to provide some mechanisms for security, particularly by
103     mediating access to the resources
104    
105     INTERNET--DRAFT Resource Transponders Weider
106    
107    
108     4) We need to make it easy for non-experts, such as librarians,
109     archivists, and database maintainers, to announce their new
110     resources to the various resource location services.
111    
112     Many of these problems can be solved by a 'resource transponder'
113     mechanism.
114    
115     3: Resource Transponders
116    
117     The resource transponder system works by adding two new layers to every
118     resource: metainformation and an agent to update a resource location
119     system (RLS) with that metainformation. The metainformation layer is
120     physically attached to every resource, so that when the resource is
121     moved or altered, the metainformation is immediately available to update
122     the RLS. The agent layer may also be attached to the resource or may not
123     be; the implications of both of these options are discussed in detail
124     below.
125    
126     3.1: Metainformation
127    
128     The metainformation layer of a given resource contains any information
129     which might be required to create a pointer to this resource, and any
130     information which may be useful for indicating how to catalog or index
131     the resource. For example, the metainformation layer of a text document
132     might contain such things as the Uniform Resource Name (URN) of the
133     document [Weider 1993], the title of the document, a Uniform Resource
134     Locator (URL) for the document [Berners-Lee 1993], the size of the
135     document, etc. Thus the metainformation layer contains data _about_ the
136     resource to which it is attached.
137    
138     This metainformation is expected to be modifiable. For example, the
139     metainformation layer may contain a history of where this particular
140     copy of a resource has been. Let's say that a resource/transponder pair
141     has been moved. When it gets to its new location, the agent can then
142     attempt to contact the resource at its old location to determine whether
143     the resource is still there (in which case the agent will simply cause
144     the new location to be added to the RLS) or whether the resource is not
145     there (in which case the agent can tell the RLS to add the current
146     pointer and delete the old one).
147    
148     A number of other possibilities for the contents of the metainformation
149     level are contained in section 4.1.
150    
151     3.2: Agents
152    
153     The agent layer of a given resource contains an executable program which
154     is responsible for reading the metainformation attached to the resource
155     and using that information to update a RLS. It is also responsible for
156    
157     INTERNET--DRAFT Resource Transponders Weider
158    
159     updating the metainformation where necessary and for running any
160     indexing programs required by the RLS it is attempting to update.
161    
162     When the tools required to build agents are constructed and deployed,
163     the author expects the agents to begin mediating access to the resource,
164     particularly for agents attached to resources which are not currently
165     considered active processes, such as text files and digitized images.
166     In this futuristic model, someone wishing to read a given document would
167     have to first negotiate access to the data with the agent; the agent
168     would then be responsible for delivering the data to the client.
169     However, it is expected that this type of agent will not be widely
170     deployed for some time.
171    
172     Different ways of implementing agents are discussed in section 4.2.
173    
174     4: Models for implementations of resource transponders
175    
176     4.1: Models for implementations of the metainformation layer
177    
178     The metainformation layer can be implemented in a number of ways,
179     depending on the resource with which it is associated. For an 'active'
180     resource, such as an on-line catalog or a mail-based service, the
181     metainformation can be stored in a file with a well-known name in the
182     software distribution. Alternatively, the metainformation could be
183     stored as a record in the data which the resource serves. For a text
184     document, the metainformation could be stored as the first or last N
185     bytes of the document (which would break a number of editors and file
186     display techniques, but would guarantee that the metainformation is
187     moved with the resource), or perhaps as a file with a logically
188     associated name (paper2.meta associated with paper2.txt, for example).
189     The problem with this second approach is that the user must know that
190     they have to move the metainformation with the file itself, or things
191     will start breaking. If an agent is explicitly attached to the resource,
192     the agent could contain the metainformation internally.
193    
194     In any case, the resource transponder system must be able to guarantee
195     that the metainformation is moved when the resource is moved.
196    
197     4.2: Models for implementations of the agents
198    
199     The agent layer can also be implemented in a number of ways, depending
200     on such things as system loads, desired sizes of resources, multitasking
201     capabilities, etc.
202    
203     The easiest and for many unitasking systems the cleanest way of
204     implementing an agent is to have one agent per computer. Then when a
205     resource is moved onto that computer, the agent is explicitly activated
206     and notified where the new resource is. For example, let's say that
207     someone wishes to download a copy of a resource and then let the RLS
208     know that that resource is available for public consumption. She would
209     download the resource and then run the agent, which would then notify
210    
211     INTERNET--DRAFT Resource Transponders Weider
212    
213     the RLS and update the metainformation attached to the resource. This
214     model could also be used to track files on a LAN, or to provide local
215     location services with no need to run a larger RLS.
216    
217     Another model for implementation of the agent is to have one agent per
218     resource. In this model, the agent would be moved along with the
219     resource and the metainformation. The agent could be implemented in a
220     file which would be associated with the resource; in that case the agent
221     would have to be explicitly activated when the resource was moved.
222     Alternatively, the agent/metainformation/resource system could be
223     implemented as one system, or in one file. In this case, the agent
224     itself would always be active, and would be responsible for mediating
225     access to the resource. When one did a 'telnet' to a resource with an
226     active agent, the agent would accept the telnet connection and be
227     responsible for providing security and translation for the data. This
228     could provide great security for resources while still allowing pointers
229     to them to be placed in public RLS's; the data in the resource could be
230     encrypted, with the agent responsible for decrypting it. This option is
231     explored more fully in Section 5.
232    
233     5: Transponders and Objects
234    
235     Section 4.2 details several methods of implementing resource transponder
236     agents. The technique of encapsulating the metainformation *and* the
237     data for the resource 'inside' the agent brings up several interesting
238     possibilities. As noted, once the data is encapsulated in the agent, all
239     actions on the resource are mediated by the agent. In essence,
240     encapsulating the resource this way allows the resource to be treated as
241     an active, 'animate' object on the network. With the appropriate
242     functionality in the agent, the resource could also maintain additional
243     information about where it has been, and can also provide large subsets
244     of the general maintenance functionality required by a rapidly changing
245     information mesh.
246    
247     5.1: Possible Functionality of Active Resources
248    
249     This is an exploration of several possible functions which may be
250     available on resource objects; this is not intended to be an exhaustive
251     list.
252    
253     5.1.1: Replicate
254    
255     Sending this command to a resource object causes it to attempt to create
256     a copy of itself at a given location in the network. To achieve this,
257     the resource will have to negotiate permissions with the target system.
258     This functionality would allow:
259    
260     Automatic mirroring of resource objects. If a transponder is attached to
261     a resource which is being updated frequently, and that resource is being
262     mirrored in a number of other places, the transponder agent could use
263     this function to maintain the other copies
264    
265     INTERNET--DRAFT Resource Transponders Weider
266    
267     Load balancing. In the resource object model, access to a resource is
268     gained by negotiation with the attached transponder agent. Thus, as a
269     part of the metainformation, the agent can maintain load information,
270     such as a history of access information, elapsed time for given
271     operations, etc. The agent can then determine if there is an access or
272     load problem because of heavy demand for the data in the resource. If
273     there is a load problem, it can then replicate itself and notify the
274     resource location system that a new copy has been created.
275    
276     5.1.2: Annotate
277    
278     In the resource object model, every resource exists on the net as an
279     independent entity, moving around, copying itself, or perhaps just
280     sitting still. Many of these resources will be academic papers, books,
281     journal articles, even interorganizational memos. Discovery of a given
282     resource will require a sophisticated resource location system, which we
283     are just now starting to build with the various information delivery
284     tools available. However, once we've found an interesting resource, it
285     will be a much more difficult task to find the body of commentary and
286     annotation on this resource. The resource object can alleviate this
287     problem by maintaining a pointer to a body of commentary in the
288     metainformation of the resource. When someone wishes to annotate a given
289     resource, or to retrieve annotations created by other people, they would
290     then send an 'annotate' command to the resource object, and the resource
291     object would then return the pointer to the resource which contains the
292     annotations. Since the resource object which contains the annotations
293     would also have a transponder mechanism, annotations could then be added
294     and the resource location system would be updated.
295    
296     5.1.3: Destroy
297    
298     This function would cause the resource object to be deleted after the
299     resource location system was updated. The agent would be responsible for
300     verifying that the requester had the proper permissions to delete the
301     resource; in addition, the resource object could determine how many
302     other copies of itself existed and could inform the requester, asking
303     for a confirmation before deleting itself.
304    
305     6: Conclusion
306    
307     As shown in sections 3 and 4, the resource transponder or something like
308     it could be enormously valuable no matter how it is implemented. In
309     addition, active resource objects allow for additional functionality
310     which will be very helpful for the next phases of the Internet
311     Information Infrastructure. Therefore, I wish to encourage the reader to
312     look at implementation strategies and help build this.
313    
314     INTERNET--DRAFT Resource Transponders Weider
315    
316     7: References
317    
318     [Berners-Lee 1993] Berners-Lee, Tim, 'Uniform Resource Locators',
319     Internet Draft, July 1993. Available as
320     <ftp://nic.merit.edu/documents/ietf/draft-ietf-uri-url-01.txt>
321    
322     [Weider 1993] Weider, Chris, and Peter Deutsch, 'Uniform Resource
323     Names', Internet Draft, October 1993. Available as
324     <ftp://nic.merit.edu/documents/ietf/draft-ietf/uri-resource-names-
325     01.txt>
326    
327     8: Author's address
328    
329     Chris Weider, clw@merit.edu
330     Merit Network, Inc.
331     2901 Hubbard, Pod G
332     Ann Arbor, MI 48105
333    
334     Phone: (313) 747-2730
335     Fax: (313) 747-3185
336    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24