home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1862 < prev    next >
Text File  |  1995-11-03  |  62KB  |  1,516 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        M. McCahill
  8. Request For Comments: 1862                       University of Minnesota
  9. Category: Informational                                J. Romkey, Editor
  10.                                                              M. Schwartz
  11.                                                   University of Colorado
  12.                                                               K. Sollins
  13.                                                                      MIT
  14.                                                            T. Verschuren
  15.                                                                  SURFnet
  16.                                                                C. Weider
  17.                                         Bunyip Information Systems, Inc.
  18.                                                            November 1995
  19.  
  20.  
  21.    Report of the IAB Workshop on Internet Information Infrastructure,
  22.                           October 12-14, 1994
  23.  
  24. Status of this Memo
  25.  
  26.    This memo provides information for the Internet community.  This memo
  27.    does not specify an Internet standard of any kind.  Distribution of
  28.    this memo is unlimited.
  29.  
  30. Abstract
  31.  
  32.    This document is a report on an Internet architecture workshop,
  33.    initiated by the IAB and held at MCI on October 12-14, 1994.  This
  34.    workshop generally focused on aspects of the information
  35.    infrastructure on the Internet.
  36.  
  37. 1. Introduction
  38.  
  39.    The Internet Architecture Board (IAB) holds occasional workshops
  40.    designed to consider long-term issues and strategies for the
  41.    Internet, and to suggest future directions for the Internet
  42.    architecture.  This long-term planning function of the IAB is
  43.    complementary to the ongoing engineering efforts performed by working
  44.    groups of the Internet Engineering Task Force (IETF), under the
  45.    leadership of the Internet Engineering Steering Group (IESG) and area
  46.    directorates.
  47.  
  48.    An IAB-initiated workshop on the architecture of the "information
  49.    infrastructure" of the Internet was held on October 12-14, 1994 at
  50.    MCI in Tysons Corner, Virginia.
  51.  
  52.    In addition to the IAB members, attendees at this meeting included
  53.    the IESG Area Directors for the relevant areas (Applications, User
  54.    Services) and a group of other experts in the following areas:
  55.  
  56.  
  57.  
  58. McCahill, et al              Informational                      [Page 1]
  59.  
  60. RFC 1862                  IAB Workshop Report              November 1995
  61.  
  62.  
  63.    gopher, the World Wide Web, naming, WAIS, searching, indexing, and
  64.    library services.  The IAB explicitly tried to balance the number of
  65.    attendees from each area of expertise.  Logistics limited the
  66.    attendance to about 35, which unfortunately meant that many highly
  67.    qualified experts were omitted from the invitation list.
  68.  
  69.    The objectives of the workshop were to explore the architecture of
  70.    "information" applications on the Internet, to provide the IESG with
  71.    a solid set of recommendations for further work, and to provide a
  72.    place for communication between the communities of people associated
  73.    with the lower and upper layers of the Internet protocol suite, as
  74.    well as allow experience to be exchanged between the communities.
  75.  
  76.    The 34 attendees divided into three "breakout groups" which met for
  77.    the second half of the first day and the entire second day. Each
  78.    group wrote a report of its activities. The reports are contained in
  79.    this document, in addition to a set of specific recommendations to
  80.    the IESG and IETF community.
  81.  
  82. 2. Summary
  83.  
  84.    Although there were some disagreements between the groups on specific
  85.    functionalities for architectural components, there was broad
  86.    agreement on the general shape of an information architecture and on
  87.    general principles for constructing the architecture. The discussions
  88.    of the architecture generalized a number of concepts that are
  89.    currently used in deployed systems such as the World Wide Web, but
  90.    the main thrust was to define general architectural components rather
  91.    than focus on current technologies.
  92.  
  93.    Research recommendations include:
  94.  
  95.   -  increased focus on a general caching and replication architecture
  96.  
  97.   -  a rapid deployment of name resolution services, and
  98.  
  99.   -  the articulation of a common security architecture for information
  100.      applications.
  101.  
  102.    Procedural recommendations for forwarding this work in the IETF
  103.    include:
  104.  
  105.   -  making common identifiers such as the IANA assigned numbers
  106.      available in an on-line database
  107.  
  108.   -  tightening the requirements on Proposed Standards to insure that
  109.      they adequately address security
  110.  
  111.  
  112.  
  113.  
  114. McCahill, et al              Informational                      [Page 2]
  115.  
  116. RFC 1862                  IAB Workshop Report              November 1995
  117.  
  118.  
  119.   -  articulating the procedures necessary to facilitate joining IETF
  120.      working group meetings, and
  121.  
  122.   -  reviewing the key distribution infrastructure for use in
  123.      information applications
  124.  
  125. 3. Group 1 report: The Distributed Database Problem
  126.  
  127.    Elise Gerich, Tim Berners-Lee, Mark McCahill, Dave Sincoskie, Mike
  128.    Schwartz, Mitra, Yakov Rekhter, John Klensin, Steve Crocker, Ton
  129.    Verschuren
  130.  
  131.    Editors: Mark McCahill, Mike Schwartz, Ton Verschuren
  132.  
  133. 3.1 Problem and Needs
  134.  
  135.    Because of the increasing popularity of accessing networked
  136.    information, current Internet information services are experiencing
  137.    performance, reliability, and scaling problems.  These are general
  138.    problems, given the distributed nature of the Internet.  Current and
  139.    future applications would benefit from much more widespread use of
  140.    caching and replication.
  141.  
  142.    For instance, popular WWW and Gopher servers experience serious
  143.    overloading, as many thousands of users per day attempt to access
  144.    them simultaneously.  Neither of these systems was designed with
  145.    explicit caching or replication support in the core protocol.
  146.    Moreover, because the DNS is currently the only widely deployed
  147.    distributed and replicated data storage system in the Internet, it is
  148.    often used to help support more scalable operation in this
  149.    environment -- for example, storing service-specific pointer
  150.    information, or providing a means of rotating service accesses among
  151.    replicated copies of NCSA's extremely popular WWW server.  In most
  152.    cases, such uses of the DNS semantically overload the system.  The
  153.    DNS may not be able to stand such "semantic extensions" and continue
  154.    to perform well.  It was not designed to be a general-purpose
  155.    replicated distributed database system.
  156.  
  157.    There are many examples of systems that need or would benefit from
  158.    caching or replication.  Examples include key distribution for
  159.    authentication services, DHCP, multicast SD, and Internet white
  160.    pages.
  161.  
  162.    To date there have been a number of independent attempts to provide
  163.    caching and replication facilities.  The question we address here is
  164.    whether it might be possible to define a general service interface or
  165.    protocol, so that caches and replica servers (implemented in a
  166.    variety of ways to support a range of different situations) might
  167.  
  168.  
  169.  
  170. McCahill, et al              Informational                      [Page 3]
  171.  
  172. RFC 1862                  IAB Workshop Report              November 1995
  173.  
  174.  
  175.    interoperate, and so that we might reduce the amount of wasted re-
  176.    implementation effort currently being expended.  Replication and
  177.    caching schemes could form a sort of network "middleware" to fulfill
  178.    a common need of distributed services.
  179.  
  180.    It should be noted that it is an open question whether it would be
  181.    feasible to define a unified interface to all caching and replication
  182.    problems.  For example, very different considerations must go into
  183.    providing a system to support a nationwide video service for
  184.    1,000,000 concurrent users than would be needed for supporting
  185.    worldwide accesses to popular WWW pages.  We recommend research and
  186.    experimentation to address this more general issue.
  187.  
  188. 3.2 Characteristics of Solutions
  189.  
  190.    While on the surface caching and replication may appear to occupy two
  191.    ends of a spectrum, further analysis shows that these are two
  192.    different approaches with different characteristics. There are cases
  193.    where a combination of the two techniques is the optimal solution,
  194.    which further complicates the situation.
  195.  
  196.    We can roughly characterize the two approaches as follows:
  197.  
  198.    Caching:
  199.  
  200.         - a cache contains a partial set of data
  201.  
  202.         - a cache is built on demand
  203.  
  204.         - a cache is audience-specific, since the cache is built in
  205.           response to demands of a community
  206.  
  207.    Replication:
  208.  
  209.         - replicated databases contain the entire data set or a
  210.           server-defined subset of a given database
  211.  
  212.         - a replicated database can return an authoritative answer about
  213.           existence of an item
  214.  
  215.         - data is pushed onto the replicating server rather than pulled on
  216.           demand
  217.  
  218.    While there are important differences between caches and replicated
  219.    databases, there are some issues common to both, especially when
  220.    considering how updates and data consistency can be handled.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. McCahill, et al              Informational                      [Page 4]
  227.  
  228. RFC 1862                  IAB Workshop Report              November 1995
  229.  
  230.  
  231.    A variety of methods can be used to update caches and replicas:
  232.  
  233.         - master-slave
  234.  
  235.         - peer-to-peer
  236.  
  237.         - flooding techniques (such as that used by NNTP).
  238.  
  239.    Which strategy one chooses influences important characteristics of
  240.    the cache or replicated database, such as:
  241.  
  242.         - consistency of data
  243.  
  244.         - is locking used to achieve consistency? this influences
  245.           performance...
  246.  
  247.         - are there a priori guarantees of existence of an item in the
  248.           database (is the answer authoritative, do you detect conflicts
  249.           after the fact, or is there no guarantee on authoritativeness of
  250.           the answer?)
  251.  
  252.    Consistency guarantees depend on the granularity of synchronization
  253.    (ms, sec, hr, day), and there are cases where it is acceptable to
  254.    trade consistency for better performance or availability. Since there
  255.    is a range of qualities of service with respect to consistency and
  256.    performance, we would like to be able to tune these parameters for a
  257.    given application. However, we recognize that this may not be
  258.    possible in all cases since it is unlikely one can implement a high
  259.    performance solution to all of these problems in a single system.
  260.  
  261.    Beyond simply performing replication or caching, there is a need for
  262.    managing cache and replication servers. There are several models for
  263.    organizing groups of caches/replication servers that range from
  264.    totally adaptive to a rigidly administered, centrally controlled
  265.    model:
  266.  
  267.     - a club model. Minimal administrative overhead to join the club.
  268.       Participation is a function of disk space, CPU, available
  269.       network bandwidth.
  270.  
  271.     - centrally coordinated service. Here administrators can take
  272.       advantage of their knowledge of the system's topology and the
  273.       community they intend to serve. There may be scaling problems
  274.       with this model.
  275.  
  276.     - hybrid combinations of the club and centrally coordinated models
  277.  
  278.  
  279.  
  280.  
  281.  
  282. McCahill, et al              Informational                      [Page 5]
  283.  
  284. RFC 1862                  IAB Workshop Report              November 1995
  285.  
  286.  
  287.    There are a couple of models for how to organize the management of a
  288.    group of cooperating servers, but this does not address the question
  289.    of what sorts of commands the manager (be it a person or a program)
  290.    issues to a cache or replicated server. A manager needs to be able to
  291.    address issues on a server such as:
  292.  
  293.     - control of caching algorithms, defining how information is aged
  294.       out of the cache based on disk space, usage demands, etc. This is
  295.       where you would control time-to-live and expiry settings.
  296.  
  297.     - flushing the cache. There are circumstances where the
  298.       information source has become inaccessible and the normal cache
  299.       aging strategy is inappropriate since you will not be able to
  300.       get the information again for an indeterminate amount of time.
  301.  
  302.     - management control might also be a way for information providers
  303.       to control how information is pushed on servers for maintaining
  304.       data consistency, but this raises tricky problems with trust and
  305.       authentication.
  306.  
  307.    Given a common set of management controls needed, a common protocol
  308.    would allow for simplified management of a collection of caching and
  309.    replicating servers since you would be able to both control them with
  310.    a single set of commands and query them about their capabilities. A
  311.    common language/protocol would also allow different implementations
  312.    to interoperate.
  313.  
  314.    Replicating or caching information immediately raises issues of
  315.    billing, access control and authentication. Ignoring authentication
  316.    and access control issues simplifies the replication and caching
  317.    problem a great deal. Exactly who is running the replication or
  318.    caching server makes a big difference in how you approach this issue.
  319.    If the information publisher runs a set of servers, they can easily
  320.    handle billing and authentication. On the other hand, if an
  321.    organization is running a cache on its firewall (a boundary cache),
  322.    and purchasing information from a vendor, there are sticky issues
  323.    regarding intellectual property in this scenario.
  324.  
  325.    Selecting an appropriate cache or replica of a database is simple in
  326.    the case of a captive user group (for instance a company behind a
  327.    firewall). In this case, configuring the user's software to go
  328.    through one or more boundary caches/replication servers directs the
  329.    users to the closest server. In the more general case, there are
  330.    several replicated/cached copies of an object, so you may receive
  331.    several URLs when you resolve a URN. How do you select the best URL?
  332.  
  333.    Either client developers create ad hoc performance metrics or (in an
  334.    ideal world) the lower level protocols would give the client
  335.  
  336.  
  337.  
  338. McCahill, et al              Informational                      [Page 6]
  339.  
  340. RFC 1862                  IAB Workshop Report              November 1995
  341.  
  342.  
  343.    application some guidance about the "closest" copy of the object.  In
  344.    other words, if better information about network performance was
  345.    available from lower levels of the protocol stack, applications would
  346.    not have to build ad hoc models of network topology
  347.  
  348.    We did not model the functions of a cache/replication server in
  349.    detail, but we did an (incomplete) model of some of the functions
  350.    (see Figure 1). The idea here was to start work on a general form
  351.    which might include features such as a push function for use in both
  352.    maintaining consistency and in preloading information that the
  353.    information publisher believes will be requested in the near future.
  354.  
  355.    Preloading information via a push command might be a function of
  356.    observed behavior patterns (when you ask for A you'll probably want B
  357.    and C). The decision about what to preload can be made either by the
  358.    information publisher or by the cache server. The cache server has
  359.    the advantage that it has better knowledge of the use patterns of its
  360.    community. The distributed nature of links to other servers also
  361.    limit the knowledge of a single information publisher. In any case,
  362.    being able to accurately predict usage patterns can result in
  363.    significant performance enhancements for caches.
  364.  
  365. Figure 1: a rough cut at functions
  366.  
  367.                  requests from client (in)
  368.                            |
  369.                            |
  370.                            |
  371.                           \|/
  372.                   +---------------------+
  373.                   |                     |     (management)
  374.                   | cache/replicated db |<--- commands from admins,
  375.                   |                     |     publishers, caches
  376.                   +---------------------+
  377.                            |
  378.                            |
  379.                            |
  380.                           \|/
  381.          requests sent to information providers (out)
  382.  
  383.          in: (requests from a client)
  384.  
  385.    - give me meta-info about cached object (how up-to-date,
  386.      ttl, expiry, signatures/checksum, billing information )
  387.  
  388.    - give me the object
  389.  
  390.    - go get the object from the net
  391.  
  392.  
  393.  
  394. McCahill, et al              Informational                      [Page 7]
  395.  
  396. RFC 1862                  IAB Workshop Report              November 1995
  397.  
  398.  
  399.    - cache, what objects should I pre-fetch?
  400.      (this assumes that the client software believes that the
  401.      cache/replica has some knowledge of use patterns and can
  402.      predict what the user will do next)
  403.  
  404.    out: (requests sent to an information publisher or a
  405.         cache further up the food chain)
  406.  
  407.  
  408.  
  409.    - server, do I have latest copy of this object?
  410.  
  411.    - give me object x and the meta data for object x
  412.  
  413.    - I have a copy of object x (announcing you have a copy
  414.      of object x to other caches or URN to URL server)
  415.  
  416.    - info publisher, what objects should I pre-fetch?
  417.      (this assumes that the information publisher has some
  418.      knowledge of use patterns and can predict what the user
  419.      will do next)
  420.  
  421.    management: (commands from administrators, other
  422.                cooperating caches, and object publishers)
  423.  
  424.  
  425.    - turn parameters (e.g. consistency) on/off
  426.  
  427.    - flush the cache
  428.  
  429.    - there's a new version of object x, take it
  430.  
  431. 3.3 Recommendations
  432.  
  433.    Caching and replication are important pieces of Internet middleware,
  434.    and solutions need to be found soon. Caches and replicas have
  435.    different performance characteristics, and there are cases where a
  436.    combination of the two provides the best solution. There are also
  437.    many strategies for updating and maintaining consistency of caches
  438.    and replicated databases, and we do not believe any single
  439.    implementation can suffice for the broad range of needs in the
  440.    Internet.  One possible solution would be to define a general
  441.    protocol for a replicated distributed database and for caching so
  442.    that different information application implementations can
  443.    interoperate and be managed via a common management interface.  A
  444.    common protocol would provide a framework for future protocols (e.g.,
  445.    URN2URL, DHCP) or existing protocols (e.g., Gopher or WWW) that
  446.    presently lack a consistent solution.
  447.  
  448.  
  449.  
  450. McCahill, et al              Informational                      [Page 8]
  451.  
  452. RFC 1862                  IAB Workshop Report              November 1995
  453.  
  454.  
  455. 4. Group 2A report: Building an Information Architecture
  456.  
  457.    Karen Sollins, Abel Weinrib, Barry Leiner, Clifford Neuman, Dan
  458.    LaLiberte, Erik Huizer, John Curran, John Klensin, Lixia Zhang,
  459.    Michael Mealling, Mitchell Charity, Mike St. Johns, Paul Mockapetris
  460.  
  461.    This group took as its central agenda exploring an information
  462.    architecture, the services that would instantiate such an
  463.    architecture, and the functional interfaces between a realization of
  464.    such an architecture and both layers on which it would sit and the
  465.    layers that would sit on it.  In order to describe an architecture,
  466.    one must describe not only what it includes, but also what it
  467.    excludes.
  468.  
  469. 4.1. The core model and service structure
  470.  
  471.    The general architecture has as its centerpiece objects, or as they
  472.    are known in the Uniform Resource Identifier Working Group,
  473.    resources.  An object in this architecture has several
  474.    characteristics.  First, it has an identifier, assigned within the
  475.    context of some namespace.  Such an identifier is globally unique and
  476.    will not be reassigned to another object.  Thus, it can be said to be
  477.    globally unique for a long time. Because such an identifier must
  478.    remain unique for all time, it cannot contain location-relevant
  479.    information ... locations can and will be reused. Also, since
  480.    resources may appear in zero, one, or many locations simultaneously,
  481.    location-dependent information can lead to a vast number of
  482.    identifiers for an object, which will make it difficult to identify
  483.    separately retrieved copies of an object as being the same object.
  484.    These locations are defined by the supporting layers that provide
  485.    transport and access. Therefore the definition of locations is not
  486.    within the architecture, although their existence is accepted.
  487.    Second, an object will support one or more abstract types.  Further
  488.    determination beyond this statement was not made.  One can conclude
  489.    from these two points that an object cannot be part of such an
  490.    architected universe without having at least one such identifier and
  491.    without supporting at least one type if it has at least one location.
  492.  
  493.    In addition, the architecture contains several other components.
  494.    First, there will be a prescribed class of objects called links that
  495.    express a relationship among other objects including the nature of
  496.    that relationship.  It is through links that composite objects
  497.    composed of related objects can be created and managed.  Finally,
  498.    there is a need for several sorts of meta-information, both in order
  499.    to discover identifiers (e.g. for indices and in support of
  500.    searching) and to aid in the process of mapping an identifier to one
  501.    or more potential locations.  Both of these sorts of meta-information
  502.    are associated with objects, although they will be used and therefore
  503.  
  504.  
  505.  
  506. McCahill, et al              Informational                      [Page 9]
  507.  
  508. RFC 1862                  IAB Workshop Report              November 1995
  509.  
  510.  
  511.    most likely managed differently, to support their distinctive access
  512.    and update requirements.
  513.  
  514.    Given this architecture of information objects, one can identify
  515.    several boundary points.  First, something that does not have an
  516.    identifier or type is outside the architecture.  Second, the
  517.    architecture does not, at this point, include any statement about
  518.    computations, or communications paradigms other than second-handedly
  519.    by assuming that traversal of links will occur.  Third, although
  520.    pre-fetching, caching, and replication are important, such details
  521.    may be hidden from higher level software components, and thus are not
  522.    part of the data model exposed to the application in the normal case
  523.    (though some applications may want to specify such characteristics).
  524.  
  525.    Now one can ask how such a model fits into a layered network model,
  526.    how it might be modularized and realized.  We envisioned this
  527.    information layer as an information "wholesale" layer.  It provides
  528.    the general, broad model and provision of shared, network-based
  529.    information.  Above this sit the "retailers," the marketers or
  530.    providers of information to the marketplace of applications users.
  531.    Below the "wholesalers" lie the providers of "raw materials."  Here
  532.    will be the provision of supporting mechanisms and architecture from
  533.    which information objects can come.
  534.  
  535.    The remainder of this group's report describes the modular
  536.    decomposition of the wholesale layer, including the interactions
  537.    among those modules, separate discussions of the interactions first
  538.    between the retail and wholesale layers and then between the
  539.    wholesale and raw material layers.  The report concludes with
  540.    recommendations for where the most effective immediate efforts could
  541.    be made to provide for the wholesale layer and make it useful.
  542.  
  543. 4.2. The Wholesale Layer
  544.  
  545.    In order to realize the information architecture in the network a
  546.    variety of classes of services or functionality must be provided.  In
  547.    each case, there will be many instances of a sort of service,
  548.    coordinating to a lesser or greater degree, but all within the
  549.    general Internet model of autonomy and loose federation.  There also
  550.    may be variants of any sort of service, to provide more specialized
  551.    or constrained service.  In addition, services may exist that will
  552.    provide more than one of these services, where that is deemed useful.
  553.    Each such service will reside in one or more administrative domains
  554.    and may be restricted or managed based on policies of those domains.
  555.    The list of core services is described below.  Because there are many
  556.    interdependencies, there may often be forward references in
  557.    describing a service and its relationships to other services.
  558.  
  559.  
  560.  
  561.  
  562. McCahill, et al              Informational                     [Page 10]
  563.  
  564. RFC 1862                  IAB Workshop Report              November 1995
  565.  
  566.  
  567.    * RESOURCE DISCOVERY: Much of the activity of resource discovery,
  568.    indexing and searching, will be in the domain of the retailers,
  569.    although there are supporting hooks that can be provided by the
  570.    wholesaler layer as well.  A resource discovery service will hold
  571.    mappings from descriptions to identifiers of objects.  They will need
  572.    to be queried.  Thus there is a general functionality for a wholesale
  573.    layer service that answers queries formulated in certain ways and
  574.    responds with identifiers.  The business of on what basis indices are
  575.    computed or how they are managed will be domain specific.
  576.  
  577.    * NAMING or IDENTIFICATION: There are two aspects to assigning an
  578.    identifier to an object, one in the wholesale layer, and one,
  579.    arguably, in the retail layer.  In the wholesale layer, one can
  580.    generate identifiers that are guaranteed to be unique.  In the retail
  581.    layer one might ask the question about whether two objects are the
  582.    same or different by the rules of an identification authority that
  583.    therefore would determine whether they should bear the same or
  584.    different identification from that authority.  It should be noted
  585.    that the URI Working Group has included these two functions in the
  586.    requirements document for URNs.
  587.  
  588.    An identification service will obviously provide functionality to the
  589.    uniqueness authority.  It will also provide identification in the
  590.    process of publication of objects, as will be discussed below, in the
  591.    management of resource discovery information, object location and
  592.    storage services, as well as cache and replication management.
  593.  
  594.    * NAME or IDENTIFICATION RESOLUTION: Since identifiers are presumed
  595.    to be location independent, there is a need for a resolution service.
  596.    Such a service may sometimes return other identifiers at this same
  597.    level of abstraction (the equivalent of aliases) or location
  598.    information, the information delivered to a transport service to
  599.    access or retrieve an object.
  600.  
  601.    * OBJECT RETRIEVAL: Object retrieval is tightly coupled to
  602.    resolution, because without resolution it cannot proceed.  Object
  603.    retrieval provides the functionality of causing a representation of
  604.    an object to be provided locally to the requester of an object
  605.    retrieval.  This may involve the functionality of object publication
  606.    (see below) and object storage, caching and replication services as
  607.    well as the supporting transport facilities.
  608.  
  609.    * OBJECT PUBLICATION: When an object comes into existence in the
  610.    universe of the information infrastructure, it is said to be
  611.    "published."  There will be two common scenarios in publication.  One
  612.    will be the use of tools to directly enter and create the information
  613.    that comprises an object in the information infrastructure.  Thus
  614.    there may be object creation tools visible to users in applications.
  615.  
  616.  
  617.  
  618. McCahill, et al              Informational                     [Page 11]
  619.  
  620. RFC 1862                  IAB Workshop Report              November 1995
  621.  
  622.  
  623.    In contrast there may also be tools outside the information
  624.    infrastructure (for example word processing or text editing tools)
  625.    that provide for the entry of data separately from the operation of
  626.    assigning an object an identifier and causing it to support
  627.    information infrastructure definitions of objects.  Thus, there will
  628.    also be visible at the interface between the wholesale and retail
  629.    layers the ability to cause some pre-existing data to become one or
  630.    more objects.  In addition to interacting with the identification
  631.    service, publication is likely to cause interaction with object
  632.    storage, and possibly caching and replication.
  633.  
  634.    * DEFINITIONS: If the information infrastructure is to both survive
  635.    and evolve over a long time period, we must be prepared for a wide
  636.    variety and growing number of different sorts of information with
  637.    different functionalities that each supports.  For objects available
  638.    on the net, the functionality that each provides must be exposed or
  639.    able to be learned.  To do this objects must be able to indicate by
  640.    name or identifier the types of functionality they are supporting.
  641.    Given such an identifier, an object is only useful to a client, if
  642.    the client can discover the definition and perhaps a useful
  643.    implementation of the type in question.  This will be acquired from a
  644.    definitions service, which will be used in conjunction with
  645.    applications themselves directly, object publication, and object
  646.    retrieval.
  647.  
  648.    * ATTRIBUTE MANAGEMENT: The attributes considered here relate to
  649.    policy, although any understanding of that policy will be above the
  650.    wholesale level.  There are, for example, access management and
  651.    copyright attributes.  There is a question here about whether there
  652.    is or should be any access time enforcement or only after the fact
  653.    enforcement.  The information is likely to be in the form of
  654.    attribute-value pairs and must be able to capture copyright knowledge
  655.    effectively.
  656.  
  657.    * ACCOUNTING: An accounting service provides metering of the use of
  658.    resources.  The resources wholly contained in the wholesale layer are
  659.    the services discussed here.  It will also be important to provide
  660.    metering tools in the wholesale layer to be used by the retail layer
  661.    to meter usage or content access in that layer.  Metering may be used
  662.    for a variety of purposes ranging from providing better utilization
  663.    or service from the resources to pricing and billing.  Hence
  664.    accounting services will be used by object storage, caching and
  665.    replication, lower layer networking services, as well as pricing and
  666.    billing services.  In the form of content metering it will also
  667.    interact with attribute management.
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. McCahill, et al              Informational                     [Page 12]
  675.  
  676. RFC 1862                  IAB Workshop Report              November 1995
  677.  
  678.  
  679.    * PRICING, BILLING and PAYMENT: Pricing and payment services straddle
  680.    two layers in the information infrastructure.  Servers that maintain
  681.    account balances and with which users interact to retrieve and edit
  682.    account information are applications that will be built on top of
  683.    wholesale layer services.  Pricing will be determined in the
  684.    applications environment for application level activities.  However,
  685.    it must be possible for middle layer services to process payment
  686.    instruments analogous to cash, credit card slips, and checks, without
  687.    an understanding of the specific implementation of the payment
  688.    mechanism.  Application programming interfaces supporting payment
  689.    should be provided, and a common tagged representation of payment
  690.    instruments should allow instruments from a variety of payment
  691.    systems to be presented within middle layer protocols.
  692.  
  693.    * OBJECT STORAGE, CACHING and REPLICATION: There is a recognition
  694.    that caching and replication are important, but the discussion of
  695.    that was left to another group that had taken that as the focus of
  696.    their agenda.  Object storage will take an object and put it
  697.    somewhere, while maintaining both the identity and nature of the
  698.    object.  It is tightly coupled to caching and replication, as well as
  699.    accounting, often in order to determine patterns of caching and
  700.    replication.  It is also tightly coupled to object publication,
  701.    translation, and provides interfaces to both supporting storage
  702.    facilities such as local file systems, as well as direct access from
  703.    applications, needing access to objects.
  704.  
  705.    * TRANSLATION: A translation service allows an object to behave with
  706.    a nature different than that it would otherwise support.  Thus, for
  707.    example, it might provide a WYSIWYG interface to an object whose
  708.    functionality might not otherwise support that, or it might generate
  709.    text on the fly from an audio stream.  Translation services will be
  710.    used by object publication (allowing for identification of an object
  711.    including a translation of it) and with object storage, providing an
  712.    interface only within the wholesale or to the retail layers.
  713.  
  714.    * SERVER AND SERVICE LOCATION: It will be necessary as part of the
  715.    infrastructure to be able to find services of the kinds described
  716.    here and the servers supporting them.  This service has direct
  717.    contact with the lower layer of raw materials, in that it will
  718.    provide, in the final analysis, the addresses needed to actually
  719.    locate objects and services using lower level protocols, such as the
  720.    existing access protocols in use today, for example FTP, SMTP, HTTP,
  721.    or TCP.  This service will provide functionality directly to resource
  722.    discovery as well as remote object storage services.
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. McCahill, et al              Informational                     [Page 13]
  731.  
  732. RFC 1862                  IAB Workshop Report              November 1995
  733.  
  734.  
  735.    * ADAPTIVE GLUE: This is not a single service as much as a
  736.    recognition that there must be a path for a flow of information
  737.    between the network layers and the applications.  The application may
  738.    have constraints, based both on its own needs as well as needs of the
  739.    objects in the wholesale layer.  Only the application can really know
  740.    what compromises in services provided below are acceptable to it.  At
  741.    the same time, the supporting network layers understand what
  742.    qualities of service are available at what price.  Hence there is the
  743.    potential for flow of information both up and down through the
  744.    wholesale layer, perhaps mediated by the wholesale layer.  Hence the
  745.    adaptive glue has hooks into all three levels.
  746.  
  747.    * SECURITY: Security services will be a critical piece of the
  748.    infrastructure architecture.  For any real business to be conducted,
  749.    organizations must make their information available over the network,
  750.    yet they require the ability to control access to that information on
  751.    a per user and per object basis.  To account properly for the use of
  752.    higher level services, organization must be able to identify and
  753.    authenticate their users accurately.  Finally, payment services must
  754.    be based on security to prevent fraudulent charges, or disclosure of
  755.    compromising information.
  756.  
  757.    The two biggest problems in providing security services at the
  758.    wholesale layer are poor infrastructure and multiple security
  759.    mechanisms that need to be individually integrated with applications.
  760.    The poor state of the infrastructure is the result of a lack of an
  761.    accepted certification hierarchy for authentication.  A commonly held
  762.    position is that there will not be a single hierarchy, but there must
  763.    be established authorities whose assertions are widely accepted, who
  764.    indirectly certify the identities of individuals with which one has
  765.    not had prior contact.
  766.  
  767.    Integration with applications is made difficult because, though
  768.    security services are themselves layered upon one another, such
  769.    services do not fit into the information architecture at a single
  770.    layer.  By integrating security services with lower layers of the
  771.    information infrastructure, security can be provided to higher
  772.    layers, but some security information, such as client's identity, may
  773.    be needed at higher layers, so such support will not be completely
  774.    transparent.  Further, the security requirements for each middle
  775.    layer information service, and of the application itself, must be
  776.    considered and appropriate use must be made of the middle-layer
  777.    security services applied.
  778.  
  779.    Integration with applications will require user demand for security,
  780.    together with common interfaces such as the GSS-API, so that
  781.    applications and middle layer information services can utilize the
  782.    security services that are available, without understanding the
  783.  
  784.  
  785.  
  786. McCahill, et al              Informational                     [Page 14]
  787.  
  788. RFC 1862                  IAB Workshop Report              November 1995
  789.  
  790.  
  791.    details of the specific security mechanism that is employed.
  792.  
  793.    * BOOTSTRAPPING: In order for a newly participating machine to join
  794.    the infrastructure, it must have some way of finding out about at
  795.    least one instance of many of the services described here.  This can
  796.    be done either by providing it with some form of configuration
  797.    provided by the human bringing it up or by a bootstrapping service.
  798.    The bootstrapping service is more flexible and manageable; it is
  799.    included here in recognition that this information must be provided
  800.    in some form or other.  The bootstrapping service will sit directly
  801.    on the raw materials layer and will have contact with all the
  802.    services described here.
  803.  
  804.    This completes the description of the services as identified by this
  805.    group in the wholesale layer.  Although this section suggests which
  806.    services have interfaces to the retail and raw materials layers, each
  807.    of these topics will need to be described separately as well, to
  808.    clarify the functionality expected by each layer of the layer below.
  809.  
  810. 3. Interface to retail layer
  811.  
  812.    The interface to the retail layer is the embodiment of the object
  813.    model and attendant services.  Thus the interface provides the
  814.    application environment with a collection of objects having
  815.    identifiers for distinguishing them within the wholesale layer and
  816.    support for a typing or abstract functionality model.  It provides
  817.    for the ability to create or import objects into this object world by
  818.    the publication paradigm, and allows objects to evolve to support new
  819.    or evolving functionality through the translation paradigm.  Access
  820.    to the objects is provided by object storage, enhanced with caching
  821.    and replication services and mediated by the attributes managed by
  822.    attribute management and accounting or content metering.  Discovery
  823.    of resources (figuring out which identifier to be chasing) is
  824.    provided by resource discovery services.  Types are registered and
  825.    hence available both as definitions and perhaps in the form of
  826.    implementations from a definition service.  Lastly, there is a
  827.    vertical model of providing the two-way services of adaptive glue for
  828.    quality of service negotiation and for security constraints and
  829.    requirements, with access and services at all three layers.
  830.  
  831. 4. Interface to the raw materials layer
  832.  
  833.    The raw materials layer falls into networking and operating systems.
  834.    Hence it provides all those services currently available from current
  835.    networking and operating systems.  Wholesale services such as object
  836.    management will be dependent on local operating system support such
  837.    as a file system, as well as perhaps transport protocols.  In fact,
  838.    all instances of any of the above services will be dependent on local
  839.  
  840.  
  841.  
  842. McCahill, et al              Informational                     [Page 15]
  843.  
  844. RFC 1862                  IAB Workshop Report              November 1995
  845.  
  846.  
  847.    storage, process management, local access control and other security
  848.    mechanisms, as well as general transport protocols for communications
  849.    both often among services of the same sort and among services
  850.    dependent on each other that may not be collocated.  In addition the
  851.    group identified a set of issues that appear important for the
  852.    networking components of the raw materials layer to provide to the
  853.    wholesale layer in addition to the basic best effort transmission
  854.    services that are commonly available.  These take the form of a wish
  855.    list with the recognition that they are not all equally easy or
  856.    possible.
  857.  
  858.    * Connectivity: It is useful and important for the operation of
  859.    applications and the wholesale services to understand what
  860.    connectivity is currently available.  The group identified four
  861.    categories of connectivity that it would be useful to know about
  862.    represented by four questions:
  863.  
  864.         1) Is there a wire out of the back of my machine?
  865.  
  866.         2) Am I connected to a router?
  867.  
  868.         3) Am I connected to the global internet?  (Can I get beyond
  869.            my own domain?)
  870.  
  871.         4) Am I connected to a specific host?
  872.  
  873.    These are probably in increasing difficulty of knowing.
  874.  
  875.    * Connectivity forecast: Although this is recognized as either
  876.    extremely difficult or impossible to do, some form of connectivity
  877.    forecast would be very useful to the upper layers
  878.  
  879.    * Bandwidth availability and reservation: It is useful for the
  880.    application to know both what bandwidth might be available to it and,
  881.    better yet, for it to be able to make some form of reservation.
  882.  
  883.    * Latency availability and reservation: It is useful for the
  884.    application to know both what latency the network is experiencing
  885.    and, better yet, be able to set limits on it by means of a
  886.    reservation.
  887.  
  888.    * Reliability availability and reservation: Again, reliability
  889.    constraints are important for many applications, although they may
  890.    have differing reliability constraints and may be able to adapt
  891.    differently to different circumstances.  But, if the application
  892.    could make a statement (reservation) about what level of
  893.    unreliability it can tolerate, it might be able to make tradeoffs.
  894.  
  895.  
  896.  
  897.  
  898. McCahill, et al              Informational                     [Page 16]
  899.  
  900. RFC 1862                  IAB Workshop Report              November 1995
  901.  
  902.  
  903.    * Burstiness support: Although it is unlikely that the network can
  904.    make predictions about the burstiness of its services, if the
  905.    application can predict to the network its burstiness behavior, the
  906.    network might be able to take advantage of that knowledge.
  907.  
  908.    * Service envelope: It is possible that, as an alternative to the
  909.    above four issues, the raw materials layer could negotiate a whole
  910.    service envelope with the layers it is supporting.
  911.  
  912.    * Security availability: In many cases, it will be important for the
  913.    upper layers to be able to know what sorts and levels of security are
  914.    available from the raw materials layer.  This is true of both any
  915.    operating system support as well as transmission.
  916.  
  917.    * Cost: If there is to be usage charging at other than fixed flat
  918.    rates, it will be important for applications and users to understand
  919.    what those costs or at least estimates of them will be.
  920.  
  921.    * Policy routing: If it will be important for transport services to
  922.    support policy routing, it will be important for users of the
  923.    transport services to identify into which policy classes they might
  924.    fall.
  925.  
  926. 4.5. Recommendations
  927.  
  928.    This group has two categories of recommendations.  One is those
  929.    services in the wholesale layer that will both be especially useful
  930.    and readily achieved because work is soon to be or already underway.
  931.    The other set of recommendations was a three item rank ordering of
  932.    services that are most important for the lower layer to provide to
  933.    the wholesale layer.
  934.  
  935.    Within the wholesale layer, the first services that should be
  936.    provided are:
  937.  
  938.         * Object retrieval,
  939.  
  940.         * Name resolution,
  941.  
  942.         * Caching and replication.
  943.  
  944.    In addition, the group rank ordered three areas in which there would
  945.    be quick payoff if the raw materials layer could provide them.  They
  946.    are:
  947.  
  948.         1. Connectivity
  949.  
  950.         2. Bandwidth, latency, and reliability or service envelope
  951.  
  952.  
  953.  
  954. McCahill, et al              Informational                     [Page 17]
  955.  
  956. RFC 1862                  IAB Workshop Report              November 1995
  957.  
  958.  
  959.         3. Security constraints on communication and transactions
  960.  
  961. 5. Group 2B Report: Components of an Internet Information Architecture
  962.  
  963.    Cecilia Preston, Chris Weider, Christian Huitema, Cliff Lynch, John
  964.    Romkey, Joyce Reynolds, Larry Masinter, Mitra, Jill Foster
  965.  
  966.    Group 2B discussed various aspects of problems in the Internet
  967.    Information Infrastructure, thinking about recommendations to the
  968.    IESG to focus on particular areas, and also paying attention to some
  969.    of the philosophical and economic backgrounds to some of the
  970.    problems. Economics can dictate some points of architecture: one can
  971.    see economically why a publisher might bear the burden of the costs
  972.    of publishing, or a consumer might bear the burden of costs
  973.    associated with consumption, but not how some free-floating third
  974.    party would necessarily bear the costs of providing services (such as
  975.    third-party translators).
  976.  
  977.    The group discussed the following topics:
  978.  
  979.    access(URL)
  980.  
  981.    gateways
  982.  
  983.    URN resolution
  984.  
  985.    definitions
  986.  
  987.    updates
  988.  
  989.    service location
  990.  
  991.    cache & replication
  992.  
  993.    security & authentication
  994.  
  995.    payments, charging
  996.  
  997.    presentation
  998.  
  999.    search & index
  1000.  
  1001.    metainformation
  1002.  
  1003.    boot service
  1004.  
  1005.    general computation
  1006.  
  1007.  
  1008.  
  1009.  
  1010. McCahill, et al              Informational                     [Page 18]
  1011.  
  1012. RFC 1862                  IAB Workshop Report              November 1995
  1013.  
  1014.  
  1015. 5.1 URNs
  1016.  
  1017.    There are several issues in the use of Uniform Resource Names and
  1018.    Uniform Resource Locators. URN resolution is a database lookup that
  1019.    returns the URLs associated with a URN. The architecture must take
  1020.    into account not only how the lookup is performed, but how the
  1021.    database is maintained. Both the lookup problem and the update
  1022.    problem must be solved at the same time to allow deployment of URNs.
  1023.  
  1024.    There are at least two problems in human interaction with unique
  1025.    names. First, the notion of a unique name is a fallacy. Unique naming
  1026.    cannot be enforced. Names may be forged or may simply be duplicated
  1027.    due to human error. The architecture must accept this observation and
  1028.    still operate in the face of it. Designing for global uniqueness, but
  1029.    not requiring it, was adequate. Errors based on names not being
  1030.    unique are likely to be insignificant compared to other errors.
  1031.  
  1032.    Also, people frequently make assertions and assumptions about names
  1033.    rather than the documents that are being named. Making assertions
  1034.    about names is working at the wrong level of indirection. Making
  1035.    assumptions about names, such as determining the contents of the
  1036.    named object from the syntax of the name, can lead to nasty
  1037.    surprises.
  1038.  
  1039.    Having a single, unified naming system is vital. While it is healthy
  1040.    to have multiple competing forms of other aspects of the information
  1041.    architecture, the naming system is what ties it all together. There
  1042.    must be only one naming system. If there is more than one, it may not
  1043.    be possible to compare names or to lookup locations based on names,
  1044.    and we will continue (to our detriment) to use locators rather than
  1045.    names.
  1046.  
  1047. 5.2 Global Service Location
  1048.  
  1049.    The IANA has become the central switch point for service
  1050.    identification.  and recommended that numbers that are formally
  1051.    defined and kept in documents for use in distributed information
  1052.    systems (for instance, Assigned Numbers) should also be distributed
  1053.    online in some kind of database for use by applications. This
  1054.    distribution requires both an access method (perhaps multiple access
  1055.    methods) and an update method.
  1056.  
  1057. 5.3 Security
  1058.  
  1059.    Issues involving security arose over and over again. Security
  1060.    includes things like validation of authority, confidentiality,
  1061.    integrity of data, integrity of services, access control. The group
  1062.    agreed that, although often overlooked, confidentiality is important,
  1063.  
  1064.  
  1065.  
  1066. McCahill, et al              Informational                     [Page 19]
  1067.  
  1068. RFC 1862                  IAB Workshop Report              November 1995
  1069.  
  1070.  
  1071.    and, more strongly: anonymity is important. It should be possible to
  1072.    access documents or objects without the architecture requiring you to
  1073.    leave digital fingerprints all over the place.
  1074.  
  1075.    Security must occur on an end-to-end basis. Documents or objects used
  1076.    on the Internet may not only traverse the Internet. Relying on
  1077.    security mechanisms in the underlying protocol suite does not
  1078.    necessarily provide end-to-end authentication or confidentiality.
  1079.  
  1080.    Currently lower layer security is ill-defined and widely
  1081.    unimplemented. Designers building information applications atop the
  1082.    Internet currently receive little guidance in how to design security
  1083.    features into their applications, leading to weak ad hoc or
  1084.    nonexistent security in new applications. Designers are also unclear
  1085.    as to how to deal with the "security considerations" section that is
  1086.    mandatory in RFCs, and often fill them with boilerplate text.
  1087.  
  1088.    Furthermore, retrofitting security into existing architectures does
  1089.    not work well. The best systems are built considering security from
  1090.    the very beginning. Some systems are being designed that, for
  1091.    instance, have no place for a digital signature to authenticate the
  1092.    data they pass.  These issues apply to data management as well.
  1093.  
  1094.    The group makes the following recommendations to the IESG regarding
  1095.    security:
  1096.  
  1097.    A. Develop and communicate a security model usable by designers of
  1098.    information applications - current models are not considered usable.
  1099.  
  1100.    B. RFC authors should be given advice on what security considerations
  1101.    need to be outlined and how to write them. The IESG security area
  1102.    should prepare guidelines for writing security considerations.
  1103.  
  1104.    C. Proposed Standards should not be accepted by the IESG unless they
  1105.    really consider security. This will require that recommendations A
  1106.    and B have been implemented and that the guidelines have received
  1107.    enough visibility to reasonably expect authors to know of their
  1108.    existence.
  1109.  
  1110.    D. Develop security modules usable by the implementors of information
  1111.    clients and servers - reusable across many different, heterogeneous
  1112.    applications and platforms.
  1113.  
  1114.    E. Make clear what security services you can expect from the lower
  1115.    layers.
  1116.  
  1117.    F. Make sure that the key distribution infrastructure is reviewed for
  1118.    usability by information applications.
  1119.  
  1120.  
  1121.  
  1122. McCahill, et al              Informational                     [Page 20]
  1123.  
  1124. RFC 1862                  IAB Workshop Report              November 1995
  1125.  
  1126.  
  1127. 5.4 Search and Index
  1128.  
  1129.    Searching is looking through directories that point to information.
  1130.    Indexing is scanning information to create directories. A "unified
  1131.    directory" is the result of combining several indices.
  1132.  
  1133.    Indexing is currently done on the Internet via many mechanisms. Given
  1134.    the current ad hoc nature of the indexing, information is frequently
  1135.    indexed multiple times. This is wasteful, but due to the current
  1136.    economics of the Internet, it tends not to cost more money. If the
  1137.    Internet (or parts of thereof) transitions to usage based charging,
  1138.    it may cost the information provider too much to allow the
  1139.    information to be indexed. In general, the provider should have
  1140.    control over how the information they control is indexed.
  1141.  
  1142.    Above all, the architecture should not encourage a situation where
  1143.    information is normally not indexed. It should encourage the
  1144.    collection of indexing data only a single time. Having a local
  1145.    computation of a summary which is sent to a search/index server is
  1146.    vastly preferable to having that server "walk the net" to discover
  1147.    information to index.
  1148.  
  1149.    Indexing and search techniques are quite varied. It is quite likely
  1150.    that index and search are too close to general computation to try to
  1151.    standardize on a single protocol for either. Instead, it is important
  1152.    that the architecture allow multiple search techniques. There are
  1153.    currently certain types of indices that can only be generated by
  1154.    humans because of their level of semantic content. There are large
  1155.    differences in the quality and usability of indices that are
  1156.    machine-generated vs. human generated.
  1157.  
  1158.    Unified directories tend to combine indexing results from quite
  1159.    different techniques. The architecture should constrain indexing so
  1160.    that it remains possible to merge the results of two searches done by
  1161.    different protocols or indexing systems. Returning information in
  1162.    standard formats such as URNs can help this problem.
  1163.  
  1164.    Vocabulary issues in search and index are very difficult. The library
  1165.    and information services communities do not necessarily use
  1166.    vocabulary that is consistent with the IETF community, which can lead
  1167.    to difficult misunderstandings.
  1168.  
  1169.    "Searching the Internet" is an inappropriate attempt to categorize
  1170.    the information you're attempting to search. Instead, we search
  1171.    certain public spaces on the Internet. The concept of public space
  1172.    vs. private space on the Internet deserves further investigation.
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. McCahill, et al              Informational                     [Page 21]
  1179.  
  1180. RFC 1862                  IAB Workshop Report              November 1995
  1181.  
  1182.  
  1183.    Indexing can run afoul of access control considerations. Access
  1184.    control must be done at the object, but access control information
  1185.    should be propagated through indices as well. The index should be
  1186.    able to say "you're not allowed to ask that" rather than the user
  1187.    attempting to retrieve the object and being denied.
  1188.  
  1189.    An architectural point was raised that an index query should return
  1190.    the same result independent of who is asking. This is an important
  1191.    notion in the Domain Name System. This is inconsistent with some
  1192.    real-world indexing (for instance, corporate record management
  1193.    systems) which doesn't want to admit that some documents exist if
  1194.    you're not allowed to read them.
  1195.  
  1196. 5.5 Miscellaneous
  1197.  
  1198.    Electronic mail, netnews, FTP and the web are frequently used to
  1199.    access information on the net today. Each protocol seems to provide a
  1200.    consistent view of the information on the Internet. In addition, the
  1201.    recent popularity of multi-protocol clients such as Mosaic seem to
  1202.    imply that the information content of the Internet is uniformly
  1203.    retrievable and manageable.  This perception is misleading because
  1204.    most protocols are used for other applications than they were
  1205.    originally designed for. In addition, Telnet, which has no concept of
  1206.    information retrieval and management, is often used to access
  1207.    information as well, for example in DIALOG and card file accesses.
  1208.    Since each protocol has different access and management capabilities,
  1209.    the inconsistencies show up in erratic search and retrieval results,
  1210.    puzzling error messages, and a basic lack of standard techniques for
  1211.    dealing with information. A consistent underlying information
  1212.    architecture will go a long way towards alleviating these problems.
  1213.  
  1214.    As the information architecture develops we should reconsider the
  1215.    electronic mail and netnews architecture in terms of the new
  1216.    architecture.
  1217.  
  1218.    The group noted that there have been difficulties in scheduling joint
  1219.    working group meetings and recommends that there be a clearly defined
  1220.    process inside the IETF to facilitate scheduling such meetings.
  1221.  
  1222. 6. Conclusions and Recommendations
  1223.  
  1224.    The workshop provided an opportunity for ongoing conversations about
  1225.    the architecture to continue and also provided space for focused
  1226.    examination of some issues and for some new voices and experience
  1227.    from other areas of Internet growth to participate in the
  1228.    architectural process.
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. McCahill, et al              Informational                     [Page 22]
  1235.  
  1236. RFC 1862                  IAB Workshop Report              November 1995
  1237.  
  1238.  
  1239.    Part of the conclusion of the workshop is a set of recommendations to
  1240.    the IESG and IETF community.
  1241.  
  1242.    Recommendations on research/implementation directions:
  1243.  
  1244.    1. Caching and replication are important and overlooked pieces of
  1245.    Internet middleware. We should do something about it as soon as
  1246.    possible, perhaps by defining an architecture and service model for
  1247.    common implementation.
  1248.  
  1249.    2. Within the 'wholesale' layer, i.e. within the layer which provides
  1250.    a consistent view of the information resources available on the
  1251.    Internet, the first services that should be provided are:
  1252.  
  1253.         * Object retrieval,
  1254.  
  1255.         * Name resolution,
  1256.  
  1257.         * Caching and replication.
  1258.  
  1259.    3. There would be quick payoff if the raw materials layer, i.e. the
  1260.    layer in which information resources are physically transmitted to
  1261.    computers, could provide the following services:
  1262.  
  1263.         * Connectivity
  1264.  
  1265.         * Bandwidth, latency, and reliability or  a service envelope
  1266.  
  1267.         * Security constraints on communication and transactions
  1268.  
  1269.    4. Develop security modules usable by the implementors of information
  1270.    clients and servers - reusable across many different, heterogeneous
  1271.    applications and platforms
  1272.  
  1273. Recommendations to the IESG, IETF, and IANA
  1274.  
  1275.    1. Numbers that are formally defined and kept in documents in
  1276.    distributed information systems (for instance, Assigned Numbers)
  1277.    should be available in some kind of database for use by applications.
  1278.  
  1279.    2. Develop and communicate a security model usable by designers of
  1280.    information applications - current models are not considered usable
  1281.    or are not widely accepted on the Internet.
  1282.  
  1283.    3. RFC authors should be given advice on how security considerations
  1284.    need to be written. The IESG security area should prepare guidelines
  1285.    for writing security considerations.
  1286.  
  1287.  
  1288.  
  1289.  
  1290. McCahill, et al              Informational                     [Page 23]
  1291.  
  1292. RFC 1862                  IAB Workshop Report              November 1995
  1293.  
  1294.  
  1295.    4. Proposed Standards should not be accepted by the IESG unless they
  1296.    really consider security. This will require recommendations 2 and 3
  1297.    to be implemented first.
  1298.  
  1299.    5. Make clear what security services you can expect from the lower
  1300.    layers.
  1301.  
  1302.    6. Make sure that the key distribution infrastructure is reviewed for
  1303.    usability by information applications.
  1304.  
  1305.    7. There needs to be a process inside the IETF for scheduling a joint
  1306.    meeting between two working groups - for example, so that the key
  1307.    distribution WG can meet jointly with IIIR.
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. McCahill, et al              Informational                     [Page 24]
  1347.  
  1348. RFC 1862                  IAB Workshop Report              November 1995
  1349.  
  1350.  
  1351. APPENDIX A - Workshop Organization
  1352.  
  1353.    The workshop was held at MCI's facility in Tyson Corners, Virginia.
  1354.    The workshop organizers and attendees wish to thank MCI for the use
  1355.    of their facilities to host the workshop.
  1356.  
  1357.    All attendees met in joint session for the first half of October 12.
  1358.    They then split into three groups. The first group considered the
  1359.    "distributed database" problem which has arisen over and over again
  1360.    in the design of parts of the Internet. The two other groups met to
  1361.    consider a list of issues pertaining to the information
  1362.    infrastructure. The groups ran independently until the morning of
  1363.    October 14, when they met again in joint session.
  1364.  
  1365.    The following people attended the workshop:
  1366.  
  1367.    Abel Weinrib            abel@bellcore.com
  1368.  
  1369.    Barry Leiner            BLeiner@ARPA.MIL
  1370.  
  1371.    Cecilia Preston         cpreston@info.berkeley.edu
  1372.  
  1373.    Chris Weider            clw@bunyip.com
  1374.  
  1375.    Christian Huitema       Christian.Huitema@SOPHIA.INRIA.FR
  1376.  
  1377.    Cliff Lynch             calur@uccmvsa.ucop.edu
  1378.  
  1379.    Clifford Neuman         bcn@isi.edu
  1380.  
  1381.    Dan LaLiberte           liberte@ncsa.uiuc.edu
  1382.  
  1383.    Dave Sincoskie          sincos@THUMPER.BELLCORE.COM
  1384.  
  1385.    Elise Gerich            epg@MERIT.EDU
  1386.  
  1387.    Erik Huizer             Erik.Huizer@SURFnet.nl
  1388.  
  1389.    Jill Foster             Jill.Foster@newcastle.ac.uk
  1390.  
  1391.    John Curran             jcurran@near.net
  1392.  
  1393.    John Klensin            klensin@infoods.mit.edu
  1394.  
  1395.    John Romkey             romkey@asylum.sf.ca.us
  1396.  
  1397.    Joyce Reynolds          jkrey@isi.edu
  1398.  
  1399.  
  1400.  
  1401.  
  1402. McCahill, et al              Informational                     [Page 25]
  1403.  
  1404. RFC 1862                  IAB Workshop Report              November 1995
  1405.  
  1406.  
  1407.    Karen Sollins           sollins@lcs.mit.edu
  1408.  
  1409.    Larry Masinter          masinter@parc.xerox.com
  1410.  
  1411.    Lixia Zhang             LIXIA@PARC.XEROX.COM
  1412.  
  1413.    Mark McCahill           mpm@boombox.micro.umn.edu
  1414.  
  1415.    Michael Mealling        Michael.Mealling@oit.gatech.edu
  1416.  
  1417.    Mitchell Charity        mcharity@lcs.mit.edu
  1418.  
  1419.    Mike Schwartz           schwartz@cs.colorado.edu
  1420.  
  1421.    Mike St. Johns          stjohns@DARPA.MIL
  1422.  
  1423.    Mitra                   mitra@pandora.sf.ca.us
  1424.  
  1425.    Paul Mockapetris        pvm@zephyr.isi.edu
  1426.  
  1427.    Steve Crocker           Crocker@TIS.COM
  1428.  
  1429.    Tim Berners-Lee         tbl@info.cern.ch
  1430.  
  1431.    Ton Verschuren          Ton.Verschuren@surfnet.nl
  1432.  
  1433.    Yakov Rekhter           yakov@WATSON.IBM.COM
  1434.  
  1435. Security Considerations
  1436.  
  1437.    This memo discusses certain aspects of security and the information
  1438.    infrastructure. It contains general recommendations about security
  1439.    enhancements required by information applications on the Internet.
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. McCahill, et al              Informational                     [Page 26]
  1459.  
  1460. RFC 1862                  IAB Workshop Report              November 1995
  1461.  
  1462.  
  1463. Authors' Addresses
  1464.  
  1465.    Mark McCahill
  1466.    University of Minnesota
  1467.    room 190 Shepherd Labs
  1468.    100 Union Street SE
  1469.    Minneapolis, MN 55455
  1470.    EMail: mpm@boombox.micro.umn.edu
  1471.  
  1472.  
  1473.    John Romkey [Editor]
  1474.    1770 Massachusetts Ave. #331
  1475.    Cambridge, MA  02140
  1476.    EMail: romkey@apocalypse.org
  1477.  
  1478.  
  1479.    Michael F.  Schwartz
  1480.    Department of Computer Science
  1481.    University of Colorado
  1482.    Boulder, CO 80309-0430
  1483.    EMail: schwartz@cs.colorado.edu
  1484.  
  1485.  
  1486.    Karen Sollins
  1487.    MIT Laboratory for Computer Science
  1488.    545 Technology Square
  1489.    Cambridge, MA 02139-1986
  1490.    EMail: sollins@lcs.mit.edu
  1491.  
  1492.  
  1493.    Ton Verschuren
  1494.    SURFNet
  1495.    P.O. Box 19035
  1496.    3501 DA Utrecht
  1497.    The Netherlands
  1498.    EMail: Ton.Verschuren@surfnet.nl
  1499.  
  1500.  
  1501.    Chris Weider
  1502.    Bunyip Information Systems
  1503.    310 St. Catherine St. West
  1504.    Suite 300
  1505.    Montreal, PQ H2A 2X1
  1506.    CANADA
  1507.    EMail: clw@bunyip.com
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. McCahill, et al              Informational                     [Page 27]
  1515.  
  1516.