RFC 1727 INFORMATIONAL ARCHITECTURE · INFORMATION SYSTEMS

A Vision of an Integrated Internet Information Service

A blueprint for tying Gopher, WAIS, the Web and the rest into one information service.

On rfc-editor.org ↗
PUBLISHED
December 1994
AUTHORS
C. Weider, P. Deutsch
STREAM
IETF
DOCUMENT TYPE
Informational RFC, an opinion paper
ARCHITECTURE LEVELS
4
SERVICES NAMED IN THE FIGURE
Gopher, WAIS, WWW and Archie
PERMANENT IDENTIFIER
A URN, mapped to URLs by a directory service
DOI
10.17487/RFC1727

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          C. Weider
Request for Comments: 1727                                    P. Deutsch
Category: Informational                       Bunyip Information Systems
                                                           December 1994


         A Vision of an Integrated Internet Information Service

Status of this Memo

   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.

Abstract

   This paper lays out a vision of how Internet information services
   might be integrated over the next few years, and discusses in some
   detail what steps will be needed to achieve this integration.

Acknowledgments

   Thanks to the whole gang of information service wonks who have
   wrangled with us about the future of information services in
   countless bar bofs (in no particular order): Cliff Lynch, Cliff
   Neuman, Alan Emtage, Jim Fullton, Joan Gargano, Mike Schwartz, John
   Kunze, Janet Vratny, Mark McCahill, Tim Berners-Lee, John Curran,
   Jill Foster, and many others. Extra special thanks to George Brett of
   CNIDR and Anders Gillner of RARE, who have given us the opportunity
   to start tying together the networking community and the librarian
   community.

1. Disclaimer

   This paper represents only the opinions of its authors; it is not an
   official policy statement of the IIIR Working Group of the IETF, and
   does not represent an official consensus.

2. Introduction

   The current landscape in information tools is much the same as the
   landscape in communications networks in the early 1980's.  In the
   early 80's, there were a number of proprietary networking protocols
   that connected large but autonomous regions of computers, and it was
   difficult to coalesce these regions into a unified network. Today, we
   have a number of large but autonomous regions of networked
   information.  We have a vast set of FTPable files, a budding WAIS
   network, a budding GOPHER network, a budding World Wide Web network,
   etc.  Although there are a number of gateways between various
   protocols, and information service providers are starting to use
   GOPHER to provide a glue between various services, we are not yet in
   that golden age when all human information is at our fingertips. (And
   we're even farther from that platinum age when the computer knows
   what we're looking for and retrieves it before we even touch the
   keyboard.)

   In this paper, we'll propose one possible vision of the information
   services landscape of the near future, and lay out a plan to get us
   there from here.

3. Axioms of information services

   There are a number of unspoken assumptions that we've used in our
   discussions.  It might be useful to lay them out explicitly before we
   start our exploration.

   The first is that there is no unique information protocol that will
   provide the flexibility, scale, responsiveness, worldview, and mix of
   services that every information consumer wants.  A protocol designed
   to give quick and meaningful access to a collection of stock prices
   might look functionally very different from one which will search
   digitized music for a particular musical phrase and deliver it to
   your workstation. So, rather than design the information protocol to
   end all information protocols, we will always need to integrate new
   search engines, new clients, and new delivery paradigms into our
   grand information service.

   The second is that distributed systems are a better solution to
   large-scale information systems than centralized systems.  If one
   million people are publishing electronic papers to the net, should
   they all have to log on to a single machine to modify the central
   archives? What kind of bandwidth would be required to that central
   machine to serve a billion papers a day?  If we replicate the central
   archives, what sort of maintenance problems would be encountered?
   These questions and a host of others make it seem more profitable at
   the moment to investigate distributed systems.

   The third is that users don't want to be bothered with the details of
   the underlying protocols used to provide a given service. Just as
   most people don't care whether their e-mail message gets split up
   into 20 packets and routed through Tokyo to get to its destination,
   information service users don't care whether the GOPHER server used
   telnet to get to a WAIS database back-ended by an SQL database.  They
   just want the information. In short, they care very much about how
   they interact with the client; they just don't want to know what goes
   on behind.

   These axioms force us to look at solutions which are distributed,
   support multiple access paradigms, and allow information about
   resources to be handed off from one system (say Gopher) to another
   (say WWW).

4. An architecture to provide interoperability and integration.

   The basic architecture outlined in this paper splits up into 4 levels
   [Fig. 1].

   At the lowest level, we have the resources themselves. These are such
   things as files, telnet sessions, online library catalogs, etc. Each
   resource can have a resource transponder attached [Weider 94a], and
   should have a Uniform Resource Name (URN) [Weider 94b] associated
   with it to uniquely identify its contents. If a resource transponder
   is attached, it will help maintain the information required by the
   next level up.

   At the next level, we have a 'directory service' that takes a URN and
   returns Uniform Resource Locators (URLs) [Berners-Lee 94] for that
   resource. The URL is a string which contains location information,
   and can be used by a client to access the resource pointed to by the
   URL.  It is expected that a given resource may be replicated many
   times across the net, and thus the client would get a number of URLs
   for a given resource, and could choose between them based on some
   other criteria.

     ______________________________________________________________
     |           |              |       |               |
     |           |              |       |               |
     |  Gopher   |  WAIS        | WWW   | Archie        | Others ...
     |           |              |       |               |
     |___________|______________|_______|_______________|___________
          |                                |
          |                       _________|____________
          |                      |                      |
          |                      | Resource Discovery   |
          |                      |  System (perhaps     |
          |                      |  based on whois++)   |
          |                      |______________________|
          |                                |
          |                                |
     _____|________________________________|____
    |                                           |
    | Uniform resource name to uniform resource |
    | locator mapping system (perhaps based on  |
    | whois++ or X.500)                         |
    |___________________________________________|
                        |
                        |
        ________________|______________________________________
        |                  |                 |                 |
  ______|______     _______|_____      ______|______     ______|______
 |             |   |             |    |             |   |             |
 | Transponder |   | Transponder |    | Transponder |   | Transponder |
 |_____________|   |_____________|    |_____________|   |_____________|
 |             |   |             |    |             |   |             |
 |             |   |             |    |             |   |             |
 |             |   |             |    |             |   |             |
 |  Resource   |   |  Resource   |    |  Resource   |   |  Resource   |
 |             |   |             |    |             |   |             |
 |             |   |             |    |             |   |             |
 |_____________|   |_____________|    |_____________|   |_____________|


        Figure 1: Proposed architecture of an integrated information
                        service

   The third level of the architecture is a resource discovery system.
   This would be a large, distributed system which would accept search
   criteria and return URNs and associated information for every
   resource which matched the criteria. This would provide a set of URLs
   which the information service providers (GOPHER servers, etc.) could
   then select among for incorporation.

   The fourth level of the architecture is comprised of the various
   information delivery tools.  These tools are responsible for
   collating pointers to resources, informing the user about the
   resources to which they contain pointers, and retrieving the
   resources when the user wishes.

   Let's take a look in greater detail at each of these levels.

4.1 Resource layer

   The resources at this layer can be any collection of data a publisher
   wishes to catalog. It might be an individual text file, a WAIS
   database, the starting point for a hypertext web, or anything else.
   Each resource is assigned a URN by the publisher, and the URL is
   derived from the current location of the resource. The transponder is
   responsible for updating levels 2 and 3 with the appropriate
   information as the resource is published and moves around.

4.2 URN -> URL mapping

   This level takes a URN and returns a number of URLs for the various
   instantiations of that resource on the net.  It will also maintain
   the URN space. Thus the only functionality required of this level is
   the ability to maintain a global namespace and to provide mappings
   from that namespace to the URLs. Consequently, any of the distributed
   'directory service' protocols would allow us to provide that service.
   However, there may be some benefit to collapsing levels 2 and 3 onto
   the same software, in which case we may need to select the underlying
   protocol more carefully. For example, X.500 provides exactly the
   functionality required by level 2, but does not (yet) have the
   functionality required to provide the level 3 service.  In addition,
   the service at level 2 does not necessarily have to be provided by a
   monolithic system. It can be provided by any collection of protocols
   which can jointly satisfy the requirements and also interoperate, so
   that level 2 does appear to level 3 to be universal in scope.

4.3 Resource discovery

   This is the level which requires the most work, and where the
   greatest traps lurk to entangle the unwary. This level needs to serve
   as a giant repository of all information about every publication,
   except for that which is required for the URI -> URL mapping. Since
   this part is the least filled in at the moment, we will propose a
   mechanism which may or may not be the one which is eventually used.

   When a new resource is created on the network, it is assigned a URN
   determined by the publisher of the resource. Section 4.1 discusses in
   more detail the role of the publisher on the net, but at the moment
   we can consider only 2 of the publisher's functions. The publisher is
   responsible for assigning a URN out of the publishers namespace, and
   is responsible for notifying a publishing agent [Deutsch 92] that a
   new resource has been created; that agent will either be a part of
   the resource location service or will then take the responsibility
   for notifying an external resource location service that the resource
   has been created. Alternatively, the agent can use the resource
   location service to find parts of the RLS which should be notified
   that this resource has been created.

   To give a concrete example, let's say that Peter and Chris publish a
   multi- media document titled, "Chris and Peter's Bogus Journey",
   which talks about our recent trip to the Antarctic, complete with
   video clips. P & C would then ask their publishing agent to generate
   a URN for this document. They then ask their publishing agent to
   attach a transponder to the document, and to look around and see if
   anyone a) has asked that our agent notify them whenever anything we
   write comes out; or b) is running any kind of server of 'trips to
   Antarctica'. Janet has posted a request that she be notified, so the
   agent tells her that a new resource has been created. The agent also
   finds 3 servers which archive video clips of Antarctica, so the agent
   notifies all three that a new resource on Antarctica has come out,
   and gives out the URN and a URL for the local copy.

4.4 Information delivery tools

   One of the primary functions of an information delivery tool is to
   collect and collate pointers to resources. A given tool may provide
   mechanisms to group those pointers based on other information about
   the resource, e.g.  a full-text index allows one to group pointers to
   resources based on their contents; archie can group pointers based on
   filenames, etc. The URLs which are being standardized in the IETF are
   directly based on the way World Wide Web built pointers to resources,
   by creating a uniform way to specify access information and location
   for a resource on the net. With just the URLs, however, it is
   impossible without much more extensive checking to tell whether two
   resources with different URLs have the same intellectual content or
   not. Consequently, the URN is designed to solve this problem.

   In this architecture, the pointers that a given information delivery
   tool would keep to a resource will be a URN and one or more cached
   URLs. When a pointer to a resource is first required (i.e. when a new
   resource is linked in a Gopher server), level 2 will provide a set of
   URLs for that URN, and the creator of the tool can then select which
   of those will be used. As it is expected that the URLs will
   eventually become stale (the resource moves, the machine goes down,
   etc.) the URN can be used to get a set of current URLs for the
   resource and an appropriate one can then be selected. Since the cost
   of using the level 2 service is probably greater than the cost of
   simply resolving a URL, both the URN and the URL are cached to
   provide speedy access unless something has moved.

4.5 Using the architecture to provide interoperability between services

   In the simplest sense, each interaction that we have with an
   information delivery service does one of two things: it either causes
   a pointer to be resolved (a file to be retrieved, a telnet session to
   be initiated, etc.) or causes some set of the pointers available in
   the information service to be selected. At this level, the
   architecture outlined above provides the core implementation of
   interoperability. Once we have a means of mapping between names and
   pointers, and we have a standard method of specifying names and
   pointers, the interoperation problem becomes one of simply handing
   names and pointers around between systems. Obviously with such a
   simplistic interoperability scheme much of the flavor and
   functionality of the various systems are lost in transition. But,
   given the pointers, a system can either a) present them to the user
   with no additional functionality or b) resolve the pointers, examine
   the resources, and then run algorithms designed to tie these
   resources together into a structure appropriate for the current
   service. Let's look at one example (which just happens to be the
   easiest to resolve); interoperation between World Wide Web and
   Gopher.

   Displaying a Gopher screen as a WWW document is trivial with these
   pointers.  Every Gopher screen is simply a list of menu items with
   pointers behind them (we'll ignore the other functionality Gopher
   provides for a moment), so is an extremely simple form of a hypertext
   document. Consequently with this architecture it is easy to show and
   resolve a Gopher screen in WWW.  For a WWW to Gopher map, the
   simplest method would be that when one accesses a WWW document, all
   the pointers associated with links off to other documents are brought
   in with the document. Gopher could then resolve the links and read
   the first line of each document to provide a Gopher style screen
   which contains everything in the WWW document. When a link is
   selected, all of the WWW links for the new document are brought in
   and the process repeats. Obviously we're losing a lot with the WWW ->
   Gopher mapping; some might argue that we are losing everything.
   However, this does provide a trivial interoperability capacity, and
   one can argue that the 'information content' has been preserved
   across the gateway.

   In addition, the whole purpose of gatewaying is to provide access to
   resources that lie outside the reach of your current client. Since
   all resources are identifiable and accessible through layers 2 and 3,
   it will be easy to copy resources from one protocol to another since
   all we need to do is to move the pointers and reexpress the
   relationships between the pointers in the new paradigm.

4.6 Other techniques for interoperability

   One technique for interoperability which has recently received some
   serious attention is the technique of creating one client which
   speaks the protocols of all the information delivery tools. This
   approach has been taken in particular by the UNITE (User's Network
   Interface To Everything) group in Europe. This client would sit on
   the top level of the architecture in Figure 1. This technique is best
   exemplified by the recent work which has gone into Mosaic, a client
   which can speak almost all of the major information services
   protocols. This technique has a lot of appeal and has enjoyed quite a
   bit of success; however, there are several practical difficulties
   with this approach which may hinder its successful implementation.

   The first difficulty is one that is common to clients in general; the
   clients must be constantly updated to reflect changes in the
   underlying protocols and to accommodate new protocols. If the
   increase in the number of information services is very gradual, or if
   the underlying protocols do not change very rapidly, this may not be
   an insuperable difficulty. In addition, old clients must have some
   way of notifying their user that they are no longer current;
   otherwise they will no longer be able to access parts of the
   information mesh.

   The second problem is one which may prove more difficult. Each of the
   currently deployed information services provides information in a
   fundamentally different way. In addition, new information services
   are likely to use completely new paradigms for the organization and
   display of the information they provide. The various clients of these
   information services provide vastly different functionality from each
   other because the underlying protocols allow different techniques. It
   may very well prove impossible to create a single client which allows
   access to the full functionality of each of the underlying protocols
   while presenting a consistent user interface to the user.

   Much of the success of Mosaic and other UNITE tools is due to the
   fact that Gopher, WWW, and other tools are still primarily text
   based. When new tools are deployed which depend more on visual cues
   than textual cues, it may be substantially more difficult to
   integrate all these services into a single client.

   We will continue to follow this work and may include it in future
   revisions of this architecture if it bears fruit.

5. Human interactions with the architecture

   In this section we will look at how humans might interact with an
   information system based on the above architecture.

5.1 Publishing in this architecture

   When we speak of publishing in this section, we are referring only to
   the limited process of creating a resource on the net, assigning it a
   URN, and spreading the information around that we have created a new
   resource.

   We start with the creation of a resource. Simple enough; a creative
   thought, a couple of hours typing, and a few cups of coffee and we
   have a new resource.  We then wish to assign it a URN. We can talk to
   whichever publishing agent we would like; whether it is our own
   personal publishing agent or some big organization that provides URN
   and announcement services to a large number of authors.  Once we have
   a URN, we can provide the publishing agent with a URL for our local
   copy of the resource and then let it do its thing.  Alternatively, we
   can attach a transponder to the resource, let it determine a local
   URL for the resource, and let it contact the publishing agent and set
   up the announcement process. One would expect a publishing agent to
   prompt us for some information as to where it should announce our new
   resource.

   For example, we may just wish a local announcement, so that only
   people in our company can get a pointer to the resource. Or we may
   wish some sort of global announcement (but it will probably cost us a
   bit of money!)

   Once the announcement has been made, the publishing agent will be
   contacted by a number of pieces of the resource location system. For
   example, someone running a WAIS server may decide to add the resource
   to their index. So they can retrieve the resource, index it, and add
   the indexes to their tables along with a URI - URL combination. Then
   when someone uses that WAIS server, it can go off and retrieve the
   resource if necessary. Or, the WAIS server could create a local copy
   of the resource; if it wished other people to find their local copy
   of the resource, it could provide the URI -> URL mapper with a URL
   for the local copy. In any case, publication becomes a simple matter.

   So, where does this leave the traditional publisher? Well, there are
   a number of other functions which the traditional publisher provides
   in addition to distribution. There are editorial services, layout and
   design, copyright negotiations, marketing, etc.  The only part of the
   traditional role that this system changes is that of distributing the
   resource; this architecture may make it much cheaper for publishers
   to distribute their wares to a much wider audience.

   Although copying of resources would be possible just as it is in
   paper format, it might be easier to detect republication of the
   resource in this system, and if most people use the original URN for
   the resource, there may be a reduced monetary risk to the publisher.

5.2 A librarian role in this architecture

   We've been in a number of discussions with librarians over the past
   year, and one question that we're frequently asked is "Does Peter
   talk this rapidly all the time?". The answer to that question is
   "Yes". But another question we are frequently asked is "If all these
   electronic resources are going to be created, supplanting books and
   journals, what's left for the librarians?".  The answer to that is
   slightly more complex, but just as straightforward.  Librarians have
   excelled at obtaining resources, classifying them so that users can
   find them, weeding out resources that don't serve their communities,
   and helping users navigate the library itself. None of these roles
   are supplanted by this architecture. The only differences are that
   instead of scanning publisher's announcements for new resources their
   users might be interested in, they will have to scan the
   announcements on the net. Once they see something interesting, they
   can retrieve it (perhaps buying a copy just as they do now), classify
   it, set up a navigation system for their classification scheme, show
   users how to use it, and provide pointers (or actual copies) of the
   resource to their users. The classification and selection processes
   in particular are services which will be badly needed on a net with a
   million new 'publications' a day, and many will be willing to pay for
   this highly value added service.

5.3 Serving the users

   This architecture allows users to see the vast collection of
   networked resources in ways both familiar and unfamiliar. Bookstores,
   record shops, and libraries can all be constructed on top of this
   architecture, with a number of different access methods. Specialty
   shops and research libraries can be easily built, and then tailored
   to a thousand different users.  One never need worry that a book has
   been checked out, that a CD is out of stock, that a copy of Xenophon
   in the original Greek isn't available locally.  In fact, a user could
   even engage a proxy server to translate resources into forms that her
   machine can use, for example to get a text version of a Postscript
   document although her local machine has no Postscript viewer, or to
   obtain a translation of a sociology paper written in Chinese.

   In any case, however the system looks in three, five, or fifty years,
   we believe that the vision we've laid out above has the flexibility
   and functionality to start tying everything together without forcing
   everyone to use the same access methods or to look at the net the
   same way. It allows new views to evolve, new resources to be created
   out of old, and for people to move from today to tomorrow with all
   the comforts of home but all the excitement of exploring a new world.

6. References

   [Berners-Lee 93] Berners-Lee, T., Masinter, L., and M. McCahill,
   Editors, "Universal Resource Locators", RFC 1738, CERN, The Xerox
   Corporation, University of Minnesota, December 1994.

   Deutsch, P., Master's Thesis, June 1992.
   Available for anonymous FTP as
   <ftp://archives.cc.mcgill.ca/pub/peterd/peterd.thesis>.

   [Weider 94a] Weider, C., "Resource Transponders", RFC 1728, Bunyip
   Information Systems, December 1994.

   [Weider 94b] Weider, C. and P. Deutsch, "Uniform Resource Names",
   Work in Progress.

Security Considerations

   Security issues are not discussed in this memo.

7. Authors' Addresses

   Chris Weider
   Bunyip Information Systems, Inc.
   2001 S. Huron Parkway #12
   Ann Arbor, MI 48104

   Phone: +1 313-971-2223
   EMail: clw@bunyip.com


   Peter Deutsch
   Bunyip Information Systems, Inc.
   310 Ste. Catherine St. West, Suite 202
   Montreal, Quebec, CANADA

   Phone: +1 514-875-8611
   EMail: peterd@bunyip.com

ISO Plain Language

On this page
PROBLEMBy 1994 the Internet held a vast set of files and a budding Gopher network, a budding WAIS network and a budding World Wide Web, all separate from one another and hard to search across.
MECHANISMRFC 1727 proposes four levels: the resources themselves, a service that maps a permanent name to the addresses where a resource currently lives, a distributed system that searches for resources, and the delivery tools that users actually touch.
WHAT IT ISIt is an Informational paper that represents only the opinions of its authors and specifies no standard of any kind. Its Security Considerations section says only that security issues are not discussed in it.

§2Why an Integrated Information Service

The memo opens with an analogy. The landscape in information tools was much the same as the landscape in communications networks in the early 1980s: there were a number of proprietary networking protocols connecting large but autonomous regions of computers, and it was difficult to coalesce those regions into a unified network. By late 1994 there were a number of large but autonomous regions of networked information: a vast set of FTPable files, a budding WAIS network, a budding GOPHER network and a budding World Wide Web network. Although there were gateways between various protocols, and information service providers were starting to use Gopher as a glue between services, the memo says they were not yet in the golden age when all human information is at your fingertips, and were even further from the platinum age when the computer knows what you are looking for and retrieves it before you touch the keyboard.

The paper then proposes one possible vision of the information services landscape of the near future, and lays out a plan to get there. Section 1 is a disclaimer: the paper represents only the opinions of its authors, it is not an official policy statement of the IIIR Working Group of the IETF, and it does not represent an official consensus.

The parallel the authors draw is with the early 1980s, when every computer network was its own island. The Internet had become one network, but its information had not: the files, the Gopher menus, the WAIS databases and the Web pages were all separate worlds.

§3Three Axioms of Information Services

The memo lays out the assumptions behind its thinking before exploring them. The first is that there is no unique information protocol that will provide the flexibility, scale, responsiveness, worldview and mix of services that every information consumer wants. A protocol designed to give quick and meaningful access to a collection of stock prices might look functionally very different from one that searches digitized music for a particular phrase and delivers it to your workstation. Rather than design the information protocol to end all information protocols, new search engines, new clients and new delivery paradigms will always have to be integrated into the grand information service.

The second axiom is that distributed systems are a better solution to large-scale information systems than centralised ones. The memo asks whether a million people publishing electronic papers to the net should all have to log on to a single machine to modify the central archives, what bandwidth that machine would need to serve a billion papers a day, and what maintenance problems replicating the archives would raise. It concludes that it seems more profitable to investigate distributed systems.

The third axiom is that users do not want to be bothered with the details of the underlying protocols used to provide a service. Just as most people do not care whether their mail message is split into 20 packets and routed through Tokyo to reach its destination, information service users do not care whether the Gopher server used telnet to get to a WAIS database back-ended by an SQL database. They care very much about how they interact with the client, and they do not want to know what goes on behind.

These axioms force the search for solutions that are distributed, support multiple access paradigms, and allow information about resources to be handed off from one system to another, say from Gopher to the Web.

Three beliefs shape the whole design. There will never be one protocol that suits everyone. Spreading the work across many machines is more sensible than gathering it in one. And the people using the tools should not have to know or care how the tools reach the data.

THE THREE AXIOMS THE DESIGN RESTS ON
  • No single protocolThere is no unique information protocol that gives every consumer the flexibility, scale and mix of services they want, so new search engines, clients and delivery paradigms must always be integrated.
  • Distributed beats centralFor large-scale information systems, distributing the work across many machines is a better solution than gathering everything on one machine.
  • Users want the front endPeople care very much about how they interact with the client, and do not want to know what goes on behind it.

§4The Four Levels of the Architecture

The architecture has four levels. At the lowest are the resources themselves, such things as files, telnet sessions and online library catalogues. Each resource can have a resource transponder attached, and should have a Uniform Resource Name associated with it to uniquely identify its contents; where a transponder is attached it helps maintain the information required by the next level up.

At the next level is a directory service that takes a URN and returns Uniform Resource Locators for that resource. The URL is a string containing location information that a client can use to reach the resource. Because a resource is expected to be replicated many times across the net, the client would get a number of URLs for a given resource and could choose between them on some other criterion.

The third level is a resource discovery system: a large, distributed system that accepts search criteria and returns URNs and associated information for every resource matching them, providing a set of URLs that the information service providers, such as Gopher servers, could then select among for incorporation.

The fourth level is made up of the various information delivery tools, responsible for collating pointers to resources, telling the user about the resources those pointers refer to, and retrieving the resources when the user wants them.

The memo then looks at each level in more detail. At the resource layer, a resource is any collection of data a publisher wishes to catalogue, an individual text file, a WAIS database, the starting point for a hypertext web or anything else. Each resource is assigned a URN by the publisher, the URL is derived from the current location of the resource, and the transponder is responsible for updating levels 2 and 3 with the appropriate information as the resource is published and moves around.

The URN to URL mapping level takes a URN and returns a number of URLs for the various instantiations of that resource on the net, and maintains the URN space. Its only required function is therefore the ability to maintain a global namespace and to provide mappings from that namespace to the URLs, so any of the distributed directory service protocols could supply it. X.500 provides exactly the functionality this level needs but does not yet have the functionality for level 3, and the memo notes that the level 2 service need not be provided by a monolithic system: any collection of protocols that jointly satisfies the requirements and interoperates will do, so that level 2 appears to level 3 to be universal in scope.

The resource discovery level is the one that requires the most work and where the memo says the greatest traps lurk. It needs to serve as a giant repository of all information about every publication, except that required for the URN to URL mapping, and since this part is the least filled in at the moment the memo proposes a mechanism which may or may not be the one eventually used. When a new resource is created it is assigned a URN determined by the publisher. The publisher is responsible for assigning the URN from the publisher's namespace and for notifying a publishing agent that a new resource has been created; that agent either forms part of the resource location service or takes on the responsibility of notifying an external resource location service, or it can use the resource location service to find the parts of it that should be told.

The memo gives a worked example: Peter and Chris publish a multimedia document about their trip to the Antarctic with video clips, ask their publishing agent to generate a URN for it, and ask the agent to attach a transponder and to look around for anyone who has asked to be notified whenever they publish something, or who runs a server of trips to Antarctica. Janet has posted such a request, so the agent tells her a new resource has been created, and the agent also finds three servers archiving video clips of Antarctica and notifies all three, giving out the URN and a URL for the local copy.

The design has four shelves. At the bottom sit the actual documents. Above them is a directory that maps a permanent name to wherever the document lives today. Above that is a search service that finds documents by their contents. At the top are the tools people use, such as Gopher and the Web.

THE FOUR LEVELS OF THE PROPOSED ARCHITECTURE
  1. Information delivery toolsGopher, WAIS, the Web and others: they collate pointers, tell the user about them and fetch what is asked for.
  2. Resource discovery systemA large distributed system that accepts search criteria and returns URNs and associated information for every matching resource.
  3. Directory serviceTakes a URN and returns URLs for the places where that resource currently lives, and maintains the URN space.
  4. ResourcesFiles, telnet sessions, library catalogues, each with a URN and a transponder to keep the levels above informed.

§4.4How the Delivery Tools Use the Architecture

An information delivery tool has as one of its primary functions the collection and collation of pointers to resources, and a given tool may group those pointers on other information about the resource: a full-text index groups pointers by their contents, and Archie groups them by filename. The memo notes that the URLs being standardised in the IETF are directly based on the way the World Wide Web built pointers to resources, by creating a uniform way to specify access information and location. With just the URLs, however, it is impossible without much more extensive checking to tell whether two resources with different URLs have the same intellectual content, and the URN is designed to solve that problem.

The pointers a given delivery tool keeps to a resource are therefore a URN and one or more cached URLs. When a pointer is first required, for instance when a new resource is linked in a Gopher server, level 2 provides a set of URLs for that URN and the creator of the tool selects which of them will be used. Because the URLs will eventually become stale, as the resource moves or the machine goes down, the URN can be used to get a set of current URLs and an appropriate one selected. Since using the level 2 service is probably more costly than simply resolving a URL, both the URN and the URL are cached to provide speedy access unless something has moved.

The memo then shows what interoperability looks like in practice. Each interaction with an information service either causes a pointer to be resolved, a file retrieved or a telnet session initiated, or causes some set of available pointers to be selected. Once there is a means of mapping between names and pointers, and a standard method of specifying both, the interoperation problem becomes one of handing names and pointers around between systems, although much of the flavour and functionality of the various systems is lost in transition. A system given the pointers can either present them to the user with no additional functionality, or resolve them, examine the resources and run algorithms that tie them together into a structure appropriate for the current service.

The example given is interoperation between the World Wide Web and Gopher, which the memo says happens to be the easiest to resolve. Displaying a Gopher screen as a Web document is trivial with these pointers: a Gopher screen is simply a list of menu items with pointers behind them, which is an extremely simple form of a hypertext document. The other direction is harder: when a user reaches a Web document, all the pointers associated with links off to other documents are brought in with the document; Gopher could then resolve the links and read the first line of each document to provide a Gopher style screen containing everything in the Web document, and when a link is selected the process repeats. The memo is blunt that a lot is lost in this mapping, with some arguing that everything is, but says it does provide a trivial interoperability capacity and that the information content has been preserved across the gateway. Since all resources are identifiable and accessible through levels 2 and 3, it will be easy to copy resources from one protocol to another, since all that is needed is to move the pointers and re-express the relationships between them in the new paradigm.

A tool keeps the permanent name of a document and the addresses where it can be fetched now. When the addresses go stale the name is used to find fresh ones. That is also what makes it possible to show a Gopher menu inside a Web page, or the other way round, at the cost of losing the features of one of the two.

RESOLVING A POINTER WHEN ITS ADDRESSES HAVE GONE STALE
Delivery toolDirectory serviceResource
  1. URNThe tool asks for the current addresses of a resource it knows by its permanent name.
  2. URLSA set of URLs for the various instantiations of the resource on the net; the tool selects which one to use.
  3. RETRIEVEThe selected URL is resolved and the resource fetched.

§5Publishing, Librarians and Users

The memo then considers how people would fit into the architecture. Publishing here means only the limited process of creating a resource on the net, assigning it a URN and spreading the news that it exists. A creator talks to whichever publishing agent they like, whether a personal one or an organisation that provides URN and announcement services to many authors; once a URN exists the creator can give the agent a URL for their local copy and let it do its work, or attach a transponder and let it work out a local URL and set up the announcement. The agent would be expected to ask where the new resource should be announced, which might be a local announcement so that only people in the company can get a pointer to it, or some sort of global announcement, which the memo notes will probably cost a bit of money.

Once the announcement is made, the publishing agent is contacted by parts of the resource location system. Someone running a WAIS server may decide to add the resource to their index: they retrieve it, index it, and add the indexes to their tables along with a URN and URL combination, so that when a user uses that server it can retrieve the resource if necessary. The memo asks where this leaves the traditional publisher. There are a number of other functions the traditional publisher provides besides distribution, such as editorial services, layout and design, copyright negotiations and marketing, and the only part of the traditional role this system changes is distribution, which may make it much cheaper to publish to a much wider audience. Although copying of resources would be possible just as in paper format, it might be easier to detect republication, and if most people use the original URN for the resource there may be a reduced monetary risk to the publisher.

On librarians, the memo reports the questions asked of the authors over a year of discussions. Librarians have excelled at obtaining resources, classifying them so users can find them, weeding out resources that do not serve their communities, and helping users navigate the library itself, and the memo says none of these roles is supplanted by the architecture. The difference is that instead of scanning a publisher's announcements for new resources, they scan the announcements on the net; once they see something interesting they can retrieve it, classify it, set up a navigation system for their classification scheme, show users how to use it and provide pointers or actual copies. The memo says classification and selection in particular are services that will be badly needed on a net with a million new publications a day, and that many will be willing to pay for this highly value added service.

For users, the architecture allows them to see a vast collection of networked resources in ways both familiar and unfamiliar: bookstores, record shops and libraries can all be constructed on top of it with a number of different access methods. One never needs to worry that a book has been checked out, that a CD is out of stock, or that a copy of Xenophon in the original Greek is not available locally, and a user could engage a proxy server to translate resources into forms her machine can use, for example a text version of a Postscript document on a machine with no Postscript viewer, or a translation of a sociology paper written in Chinese. The memo closes by saying that however the system looks in three, five or fifty years, the vision has the flexibility and functionality to start tying everything together without forcing everyone to use the same access methods, and it allows new views to evolve and new resources to be created out of old.

The Security Considerations section is one sentence: security issues are not discussed in this memo.

The memo ends by asking who does what in this world. Publishers still edit and design and hold the copyright; they just distribute more cheaply, and a permanent name makes it easier to spot a copy. Librarians still classify and weed, but now from announcements on the net. Users get a library that never has anything checked out.

§7References