home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1100s / rfc1107.txt < prev    next >
Text File  |  1989-07-06  |  51KB  |  1,067 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         K. Sollins
  8. Request for Comments:  1107       M.I.T. Laboratory for Computer Science
  9.                                                                July 1989
  10.  
  11.  
  12.                  A Plan for Internet Directory Services
  13.  
  14.  
  15.                            Table of Contents
  16.  
  17.    1. Introduction                                                  1
  18.         1.1. The Issues                                             1
  19.         1.2. Project Summary                                        3
  20.    2. Goals and Requirements for a White Pages Service              6
  21.    3. Pre-existing Services                                         9
  22.    4. Proposed Approach                                            11
  23.         4.1. Stage 1: The Field Test                               12
  24.         4.2. Stage 2: Implementation                               17
  25.         4.3. Stage 3: Deployment                                   17
  26.    5. Conclusion                                                   18
  27.  
  28. Status of this Memo
  29.  
  30.    This memo proposes a program to develop a directory service for the
  31.    Internet.  It reports the results of a meeting held in February 1989,
  32.    which was convened to review requirements and options for such a
  33.    service.  This proposal is offered for comment, and does not
  34.    represent a committed research activity of the Internet community.
  35.    Activity in this area is anticipated, and comments should be provided
  36.    promptly.  Distribution of this memo is unlimited.
  37.  
  38. 1. Introduction
  39.  
  40. 1.1. The Issues
  41.  
  42.    As part of the planned growth of the Internet (in particular, in
  43.    support of the full science research community in the U.S.), an
  44.    increasing need is anticipated for various sorts of directory
  45.    services.  The increase in the size of the community served by the
  46.    Internet and the burgeoning demands for electronic mail lead to the
  47.    need for a service to find people's computer mailboxes and other
  48.    relevant facts, a so-called "White Pages" service.  At the user level
  49.    to date, there have been no such national or international white
  50.    pages services in general use.  As part of building the National
  51.    Research Network (NRN), it is important that such a service exist,
  52.    not only within the NRN community, but also crossing the boundaries
  53.    from the NRN to the more global network community.  This will enhance
  54.    communication not only among computer scientists, but also among
  55.  
  56.  
  57.  
  58. Sollins                                                         [Page 1]
  59.  
  60. RFC 1107         A Plan for Internet Directory Services        July 1989
  61.  
  62.  
  63.    scientists and engineers in other fields as well.  Also important and
  64.    related is a so-called "Yellow Pages" service, which permits the
  65.    location of Internet resources based on their attributes.
  66.  
  67.    A "White Pages" service is one in which one can look up people in
  68.    order to learn information about them for finding them.  In its
  69.    simplest form, a white pages service provides what the white pages
  70.    telephone book provides.  Based on a name, one can find an address
  71.    and a telephone number.  In a network environment, there may be many
  72.    other kinds of location information, such as electronic mailbox,
  73.    electronic calendar, or file server, where one might leave a file for
  74.    the recipient.  In addition, the electronic white pages may support a
  75.    much more sophisticated set of mechanisms for lookup.  One might
  76.    match on a more complex set of attributes than first and last name.
  77.    In addition, the searching might span more than one local white pages
  78.    service.  There are a number of naming and directory service
  79.    specifications and implementations in the field.  They have differing
  80.    functionality and mechanisms to address that functionality.
  81.  
  82.    Within the the world of networking today, there are a number of
  83.    partial solutions to the directory service problem.  Examples of
  84.    these are the Internet Domain Naming Service (DNS), Clearinghouse,
  85.    DECnet Network Architecture Naming Service (DNANS), Profile, and
  86.    X.500.  The Domain Naming Service provides a directory service most
  87.    commonly used for host naming and mail delivery.  Clearinghouse and
  88.    DNANS are respectively the Xerox and DEC corporate naming services,
  89.    originally for mail delivery, although having other uses as well, in
  90.    both cases.  Profile is part of the work of Larry Peterson to explore
  91.    descriptive naming in a non-hierarchical structure.
  92.  
  93.    There is a CCITT recommendation X.500 (ISO DIS 9594), which defines a
  94.    general directory service.  One of its primary goals is the naming
  95.    service needed for message handling (X.400).  While X.500 is still
  96.    developing, and would need further evolution to cover all the
  97.    requirements of a service for the Internet, it will have an important
  98.    impact on the Internet community.  It will form the basis of
  99.    commercial products, and it will almost certainly be the directory
  100.    service of many parts of the network world, which implies a need to
  101.    interoperate at a minimum.  There is some concern that despite the
  102.    fact that X.500 is a recognized standard, there are a number of gaps
  103.    and limitations of the approach, that in turn will cause it to be
  104.    inadequate for the needs of the NRN.
  105.  
  106.    In this context, a meeting was held to review current requirements
  107.    and solutions for directory services.  This RFC reports the results
  108.    of that meeting, including the possibilities for a program of work in
  109.    this area.
  110.  
  111.  
  112.  
  113.  
  114. Sollins                                                         [Page 2]
  115.  
  116. RFC 1107         A Plan for Internet Directory Services        July 1989
  117.  
  118.  
  119.    For two days, a group representing academic, commercial, and
  120.    government interests in directory services discussed both alternative
  121.    candidates for a white pages service and the issues in building any
  122.    such service.  The meeting was kept small by inviting only a small
  123.    number of representatives of each perspective.  By the conclusion of
  124.    the second day, a consensus was reached on how one could achieve a
  125.    white pages service in three years.  This is summarized in the next
  126.    section.
  127.  
  128. 1.2. Project Summary
  129.  
  130.    The consensus of the meeting can be summarized in the following five
  131.    points:
  132.  
  133.       1. The standards and implementations are close enough to being
  134.          complete that it is reasonable to undertake provision of an NRN
  135.          "White Pages" service.
  136.  
  137.       2. Although we are close, an effort is needed to experiment with
  138.          different levels of service, to flesh out the standards, and to
  139.          develop code.
  140.  
  141.       3. An initial evaluation experiment is needed before making final
  142.          detailed plans for a production version of the service.
  143.  
  144.       4. With strong funding and encouragement, a production service is
  145.          possible in three years.
  146.  
  147.       5. It is important to act now to provide a coherent solution.
  148.          This means both having an impact on the evolving standards
  149.          and providing a unified, wide-spread solution before a plethora
  150.          of differing solutions appear.
  151.  
  152.    Although it has clearcut drawbacks, X.500 was identified as the most
  153.    likely candidate directory service.  The reasons for this are that it
  154.    has rich semantics and is becoming the accepted international
  155.    standard.  However, there are problems with its incompleteness and
  156.    with its strict hierarchy.  Therefore, in order to explore these and
  157.    become convinced of its viability, the consensus at the meeting was
  158.    to propose field trials, as the project's first stage.  The field
  159.    trials would be limited in the user community, perhaps restricted to
  160.    computer science departments because of their familiarity with the
  161.    problems, and would be based on experimental or new software.  They
  162.    would include experiments with at least an X.500 implementation,
  163.    Profile, and DNANS.  Each of these services has strong points that
  164.    must be considered as part of the evaluation.  They are:
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Sollins                                                         [Page 3]
  171.  
  172. RFC 1107         A Plan for Internet Directory Services        July 1989
  173.  
  174.  
  175.       X.500:  International standard, hierarchy, search rules and
  176.               filters for searching attributed based names.
  177.  
  178.       Profile:  Descriptive naming with a richer semantics for
  179.                 describing search criteria, an arbitrary network
  180.                 of servers.
  181.  
  182.       DNANS:  Access control, replication, caching, hierarchy.
  183.  
  184.    In summary, the plan would fall into three stages as follows:
  185.  
  186.       - Stage 1:  Field Trials.
  187.  
  188.          There are two aspects to the field trials.  The first is to
  189.          explore several different architectures for a white pages
  190.          service.  To this end, implementations of X.500, Profile, and
  191.          DNANS should be included.  The second aspect of the field
  192.          trials is to distinguish issues inherent in the X.500
  193.          specification from artifacts of a particular implementation of
  194.          it.  Therefore, if possible, two implementations of X.500
  195.          should be included.  Only one such implementation, Quipu, was
  196.          identified as developed enough to be included in a field trial
  197.          at present, but others are under way, and will follow.  This
  198.          stage must also include a careful and objective review of the
  199.          field trials.
  200.  
  201.       - Stage 2:  Implementation.
  202.  
  203.          This stage will include work on both the service and user
  204.          interfaces.  The field trials could result in one of a variety
  205.          of conclusions about the service.  These may range from
  206.          concluding that one or another of the services suits the needs
  207.          of the NRN to proposing a compromise position based on a
  208.          combination of shortcomings of any one service and the features
  209.          of others to address those shortcomings.  Because X.500 will
  210.          become the standard in other domains, an interface to X.500
  211.          will be necessary.  Since all of these implementations are
  212.          still under development, in order to provide production quality
  213.          code, more implementation work will be needed.
  214.  
  215.          Although some work will have been done on the user interfaces,
  216.          much more will be needed in this stage to provide a variety of
  217.          interfaces.  Much emphasis should be placed on this in Stage 2.
  218.  
  219.       - Stage 3:  Deployment.
  220.  
  221.          Deployment of the full white pages service requires information
  222.          gathering in order to fill the directory service, placement of
  223.  
  224.  
  225.  
  226. Sollins                                                         [Page 4]
  227.  
  228. RFC 1107         A Plan for Internet Directory Services        July 1989
  229.  
  230.  
  231.          servers, distribution of and training for use of client code,
  232.          placement and management of services, and delegation of
  233.          authority within the service for authority over the contents.
  234.          Data collection and some delegation of authority as well as
  235.          training for users of the client code would begin during the
  236.          field trial.  This stage would begin concurrently with the
  237.          other two.  During the second year, detailed planning for
  238.          deployment must take place.  This stage would conclude in three
  239.          years, at which time widespread deployment would have occurred.
  240.  
  241.    In order to undertake this three stage program effectively, the group
  242.    identified the following major projects:
  243.  
  244.       - Further implementation of code for the field trials.
  245.  
  246.          In each case (e.g., Quipu, Profile, and DNANS), programs exist,
  247.          although modifications are likely to be necessary.  For
  248.          example, each will need to be modified to utilize the common
  249.          file format into which the input data about users will be
  250.          gathered.
  251.  
  252.       - Design, development and evaluation of user interfaces.
  253.  
  254.       - Design and development of data gathering and management tools.
  255.  
  256.       - Oversight and evaluation of the field trials.
  257.  
  258.          Careful thought and planning must go into the field trials, to
  259.          guarantee that we learn what is needed to make an evaluation
  260.          and to plan for the white pages service.  The evaluation must
  261.          also produce a document that is both a general specification
  262.          (assuming no one alternative is chosen wholesale) and profiling
  263.          information, in order for later interoperability and
  264.          conformance testing.
  265.  
  266.       - Detailed planning and later management of deployment.
  267.  
  268.          This includes delegation of authority over parts of the
  269.          namespace and arbitrating the shape of the namespace
  270.          (addressing the questions about who gets what sorts of names).
  271.          This is in addition to the continued and extended data
  272.          collection and management, distributing the data, placing the
  273.          code, documentation and user education.
  274.  
  275.       - Standards participation is an important part of the program.
  276.  
  277.          It is critical as X.500 changes during the next 4 year study
  278.          period that the United States take a strong stand on any
  279.  
  280.  
  281.  
  282. Sollins                                                         [Page 5]
  283.  
  284. RFC 1107         A Plan for Internet Directory Services        July 1989
  285.  
  286.  
  287.          changes we envision.  It is encumbant on us to utilize
  288.          effectively the results of the largest field trials of this
  289.          work in the international arena.  The group agreed that this
  290.          could take up to one half of one person's time in a year.
  291.  
  292.       - A task force or working group is necessary to provide a forum
  293.         for communication and discussion.
  294.  
  295.    It is important to pursue this path now, both to architect a unified
  296.    solution before a collection of ad hoc solutions is deployed, and to
  297.    provide effective input into the X.500 standards work based on the
  298.    field trials.
  299.  
  300. 2. Goals and Requirements for a White Pages Service
  301.  
  302.    The requirements of a white pages service are the following:
  303.  
  304.       - Functionality:
  305.  
  306.          The simple form of a white pages service is straightforward;
  307.          one should be able to query the service with the name of a
  308.          person, and have returned attributes of the person such as
  309.          network mail address and phone number.
  310.  
  311.       - Correctness of information:
  312.  
  313.          The information in a white pages service is useless and
  314.          untrusted if it is not updated regularly.  A white pages
  315.          service will not be used, if the information it provides is out
  316.          of date or incorrect.  This will require a set of management
  317.          tools.  Data integrity is an especially difficult challenge in
  318.          this area, in contrast with information that is syntactically
  319.          correct.
  320.  
  321.       - Size:
  322.  
  323.          The science and research community has been estimated at ten
  324.          million users.  The number of organizations in the United
  325.          States is on the order of ten to one hundred thousand.
  326.  
  327.       - Usage and query rate:
  328.  
  329.          In comparison with the typical telephone book pattern of about
  330.          one lookup a week per person, users of electronic mail in the
  331.          science and research community will send more electronic mail
  332.          messages than they currently make phone calls, leading to an
  333.          estimate of ten searches a week per user for electronic as well
  334.          as paper mail and telephone information.  This leads to a query
  335.  
  336.  
  337.  
  338. Sollins                                                         [Page 6]
  339.  
  340. RFC 1107         A Plan for Internet Directory Services        July 1989
  341.  
  342.  
  343.          rate of 10**8 queries per week or 170 per second on average,
  344.          with much higher peak rates.  The average could probably be
  345.          handled by a single server, but not the peak rates and this
  346.          would leave little room for growth.  Therefore, a distributed,
  347.          multiple server solution is the only one that make sense.
  348.  
  349.       - Response time:
  350.  
  351.          The issue of overall query behavior must be considered
  352.          carefully.  The issue arises when queries, in particular
  353.          searches, are not limited to tightly constrained sets of
  354.          entries.  Since the number of queries generated will be
  355.          proportional to the number of users (and the size of the
  356.          system), the white pages design must avoid costs per query that
  357.          are related to the size of the system.  The consequence,
  358.          otherwise, will be quadratic behavior in response time.
  359.  
  360.          The response time of the service must also reflect the expected
  361.          usage.  A phone book style query must respond in the waiting
  362.          time tolerable to a user, perhaps ten seconds maximum, or one
  363.          second desirable.  If the service is incorporated as a
  364.          component of a larger service, then the needs of that service
  365.          determine the response time.
  366.  
  367.       - Partitioned Authority:
  368.  
  369.          The white pages service under discussion would be used by a
  370.          wide variety of organizations, ranging from small and large
  371.          companies, to network service providers, to government
  372.          agencies.  Many of these would find it unacceptable to delegate
  373.          the authority over their namespaces to some other organization.
  374.          Therefore, partitioned authority including some access control,
  375.          name assignment, and information management must be possible.
  376.  
  377.       - Access Control:
  378.  
  379.          The access control required by the white pages falls into two
  380.          categories, read access control, and write or modify access
  381.          control.  There are at least two reasons that read access
  382.          control must be available.  One is that organizations may
  383.          require limiting the access to the actual entries or parts of
  384.          them.  This would be comparable to organizations not being
  385.          willing to distribute their corporate phone books or personnel
  386.          records.  The other reason is that some organizations do not
  387.          want to publicize or make public their organizational
  388.          structure.  Write and modify access control is necessary
  389.          because both individuals and organizations may want to prevent
  390.          inadvertent or malicious creation or modification of
  391.  
  392.  
  393.  
  394. Sollins                                                         [Page 7]
  395.  
  396. RFC 1107         A Plan for Internet Directory Services        July 1989
  397.  
  398.  
  399.          information.  Access control is an issue for both organizations
  400.          wanting to retain local control of personnel information and
  401.          individuals wanting to control access to private information
  402.          about themselves.
  403.  
  404.       - Multiple Transport Protocol Support:
  405.  
  406.          Within the next three years, one cannot expect all the
  407.          organizations in the USA to convert to the OSI protocols.  On
  408.          the other hand, some will.  It is therefore important that any
  409.          white pages service provide interfaces on top of both OSI
  410.          protocols and TCP/IP.  There currently exists a partial OSI
  411.          suite know as ISODE on top of TCP.  This is being distributed
  412.          widely enough that perhaps this should also be supported.
  413.  
  414.    In addition to these requirements, there are a number of features
  415.    that would make a white pages service more useful.  These are:
  416.  
  417.       - Additional Functionality:
  418.  
  419.          Descriptive naming with sophisticated searching based on
  420.          attributes would support a more flexible human interface than
  421.          simple name translation.  Descriptive naming also would support
  422.          a general yellow pages style service.
  423.  
  424.          The form of a yellow pages service is less certain.  One
  425.          definition of a yellow pages service is a directory that stores
  426.          a number of pre-computed inversions of the directory database,
  427.          so that entries can be retrieved very efficiently using these
  428.          predetermined attributes of the data.  Another definition of a
  429.          yellow pages service is one that provides a very powerful set
  430.          of search primitives, somewhat in common with a relational
  431.          query language, to support retrieval of entries that match
  432.          complex attribute conditions.  In other words, one view of a
  433.          yellow pages service is that it is constructed to avoid
  434.          expensive searches, the other is that it is to facilitate
  435.          general searches.
  436.  
  437.       - Accountability:
  438.  
  439.          Accountability is important both for allocation and recovery of
  440.          costs.  Vendors may provide commercial directory services,
  441.          therefore depending on accounting as part of their successful
  442.          commercial ventures.
  443.  
  444.       - Multiple Interfaces:
  445.  
  446.          There should be both human and programming interfaces to the
  447.  
  448.  
  449.  
  450. Sollins                                                         [Page 8]
  451.  
  452. RFC 1107         A Plan for Internet Directory Services        July 1989
  453.  
  454.  
  455.          white pages.  For example, in addition to human lookups, mail
  456.          services could effectively use a naming service allow users to
  457.          include human oriented names than the current electronic mail
  458.          addresses that are required, such as full domain names.
  459.  
  460.       - Multiple Clients:
  461.  
  462.          Several different clients should exist both to provide for a
  463.          variety of styles of human usage, and to support selection of
  464.          the most commonly used computer environments (e.g., UNIX, VMS,
  465.          MSDOS, OS2, MAC/OS).
  466.  
  467. 3. Pre-existing Services
  468.  
  469.    This section identifies other naming services that have been proposed
  470.    or implemented for naming people.  Implementations of all of these
  471.    exist, although some are still only experimental.
  472.  
  473.       Internet Domain Naming Service
  474.  
  475.          The Internet Domain Name Service [6,1] is used today to name
  476.          host machines.  It is implemented to address the query rates
  477.          and database sizes consistent with looking up hosts as part of
  478.          mail delivery.  It provides a hierarchy with delegation of
  479.          authority within the hierarchy.  Aliases are also available.
  480.          There is no access control, and the service is widely
  481.          distributed throughout the Internet.  It supports management of
  482.          distribution, replication and caching.  It is operational, and
  483.          provides a rich base of practical experience.  It was
  484.          originally intended to be extensible to cover naming of people.
  485.          It runs on a variety of different operating systems and
  486.          utilizes the TCP/IP protocol suite.
  487.  
  488.       The DECnet Network Architecture Naming Service (DNANS)
  489.  
  490.          There is a rather well developed specification [5,3] for a
  491.          naming service that is part of the DECnet architecture, which
  492.          in turn arose from work at the DEC SRC in Palo Alto.  This
  493.          architecture addresses some problems not yet covered by X.500,
  494.          such as access control, replication, and caching.  It was
  495.          explicitly defined to have great scalability and management
  496.          features.  It provides a global hierarchy of names, which are
  497.          mapped into properties.  Therefore, operations of searching
  498.          based on properties or attributes may be expensive and
  499.          difficult.  At present it is only implemented on VMS using the
  500.          DNA protocols, but will be moved to UNIX and TCP in the next
  501.          year.
  502.  
  503.  
  504.  
  505.  
  506. Sollins                                                         [Page 9]
  507.  
  508. RFC 1107         A Plan for Internet Directory Services        July 1989
  509.  
  510.  
  511.       Clearinghouse
  512.  
  513.          This service [7,2] is part of the Xerox network environment.
  514.          It operates today as a global service for Xerox.  They have
  515.          considerable experience with its operation, including problems
  516.          of scale.  Clearinghouse provides a three-level hierarchy of
  517.          names that are mapped to sets of properties.  Loose consistency
  518.          is provided through slow propagation of updates.  Both this
  519.          service and the DEC service mentioned above are to some extent
  520.          based on an earlier Xerox service called Grapevine.
  521.  
  522.       Profile
  523.  
  524.          A project at the University of Arizona run by Larry Peterson
  525.          [8] has produced a white pages name service called Profile.  It
  526.          supports descriptive naming and sophisticated lookup tools.
  527.          Profile assumes the existence of some other service such as the
  528.          DNS to navigate among Profile servers.  This navigation service
  529.          need not restrict the relationship among Profile servers to a
  530.          hierarchical organization; Profile supports a non-hierarchical
  531.          global structure.  Names in Profile consist of sets of
  532.          attributes.  Experimental implementations are in operation
  533.          today, and the largest site currently contains about 10,000
  534.          entries.  The Profile code has been available for long enough
  535.          that it has become stable.  The implementation is UNIX-based
  536.          only and uses TCP.
  537.  
  538.       X.500
  539.  
  540.          X.500 is the CCITT recommendation (also ISO/IEC/DIS 9594) [4]
  541.          for a directory service.  Because it is a CCITT recommendation,
  542.          it evolves in four year study periods, one of which has
  543.          recently come to a close.  Thus, X.500 has a stable definition
  544.          for the next four years.
  545.  
  546.          In X.500, the set of all objects forms a single hierarchy, with
  547.          each object being named relative to its parent and a single
  548.          root as the topmost parent.  An object consists of a set of
  549.          attributes.  Searching can be done by use of a logical
  550.          combination of attribute values, known as a filter.  A subset
  551.          of these attributes comprise an object's distinguished name
  552.          relative to its parent.  The hierarchy as described in the
  553.          CCITT recommendation is geographic at its top level and
  554.          organizational within that.  Alternatives can also be defined,
  555.          although they are not part of the CCITT or ISO documents.  In
  556.          addition, there is no proposed mechanisms for distributing
  557.          information about other attribute types or object classes.  As
  558.          with the other services, X.500 is a distributed service.  It
  559.  
  560.  
  561.  
  562. Sollins                                                        [Page 10]
  563.  
  564. RFC 1107         A Plan for Internet Directory Services        July 1989
  565.  
  566.  
  567.          specifies cooperating servers or Directory Server Agents (DSAs)
  568.          under local control and management each of which knows about
  569.          one or more parts of the hierarchy.  The clients are known as
  570.          Directory User Agents (DUAs).  It is defined to run on top of
  571.          the OSI protocol stack.  The demonstrations of X.500 in the
  572.          context of Internet run on top of the ISODE package, which
  573.          provides OSI transport on top of TCP.
  574.  
  575.          X.500 is incomplete in that there are a number of identifiable
  576.          areas in which the standard says nothing, but that need to be
  577.          specified for a successful implementation.  Some examples of
  578.          these are: access control (although authentication is
  579.          supported), replication, caching, the database itself (the
  580.          shape of the hierarchy), tools to limit the scope and cost of
  581.          searching, and database management tools.
  582.  
  583.          There are currently a small number of implementations of X.500
  584.          in progress at such locations as University College London (the
  585.          Quipu project, on UNIX using ISODE), the University of British
  586.          Columbia (UNIX based using their own full OSI suite), MIT
  587.          (experimental, Symbolics Lisp Machine based, Lisp using TCP),
  588.          The Wollongong Group (offshoot of Quipu), The Retix
  589.          Corporation, NIST, and at least several underway in Italy and
  590.          Japan.  There are probably others and a number of other
  591.          American corporations have discussed building their own.  Each
  592.          of these must make its own decision in the areas in which X.500
  593.          is silent.  Quipu is probably the most complete implementation
  594.          of X.500 to date.  The pilot version has about 20 DUAs in seven
  595.          countries with an estimated 20,000 entries total.
  596.  
  597. 4. Proposed Approach
  598.  
  599.    The conclusion of this report is that some form of X.500 is the most
  600.    likely candidate.  The reasons for this decision are that it has a
  601.    rich semantics and will become the international de facto standard.
  602.    There are, however, serious problems with its incompleteness and with
  603.    its strict hierarchy.  Therefore, in order to explore these and
  604.    become convinced of its viability, the attendees at the meeting
  605.    agreed on field trials, as a first stage.  Initially, this would
  606.    include experiments with at least one X.500 implementation (Quipu),
  607.    Profile to explore a non-hierarchical structure and richer
  608.    descriptive naming, and DNANS in order to explore some of the
  609.    incomplete aspects of X.500 for which DNANS has architected
  610.    solutions.
  611.  
  612.    A three-stage plan, with all three stages beginning coincidentally
  613.    and as soon as possible, would provide such a service within the NRN.
  614.    The first stage should be complete in a year, the second in two, and
  615.  
  616.  
  617.  
  618. Sollins                                                        [Page 11]
  619.  
  620. RFC 1107         A Plan for Internet Directory Services        July 1989
  621.  
  622.  
  623.    the third in three.  Stage 1 would be field trials of three
  624.    approaches to naming with an emphasis on distinguishing between the
  625.    specification and a particular implementation of X.500, as well.
  626.    Stage 2 would be a more complete implementation of a white pages
  627.    service base on the conclusions from Stage 1.  Stage 3 would be
  628.    widespread deployment of the implementation developed in Stage 2.
  629.    The planning for Stage 3 is not outlined here in detail, because that
  630.    plan would be part of the proposed work to be done.  If the field
  631.    trials were to lead to the conclusion that none of the services is
  632.    adequate, the plan for the remainder of the work would need to be
  633.    rescheduled.
  634.  
  635.    If the Internet community is to adopt X.500 (or any other standard),
  636.    it is necessary to make a number of design and management decisions,
  637.    above and beyond the implementation decisions for the DSA.  Since
  638.    there are a number of such decisions to be resolved, and some of
  639.    these are significant, the group recommended that this planning and
  640.    management function should be recognized as a distinct activity.
  641.  
  642. 4.1. Stage 1: The Field Test
  643.  
  644.    It was agreed that field trials would be a valuable form in which to
  645.    explore the issues of building a white pages service for two reasons.
  646.    First, the software is still in early stages of development or
  647.    deployment.  Some of it is production code, but still first release;
  648.    the rest is part of research projects.  Second, it is important to
  649.    learn from experience with a limited and sympathetic community.  The
  650.    suggested community was the computer science community, in
  651.    particular, computer science departments.  That will not be the case
  652.    completely, since the computer science community in general does not
  653.    use DECnet.  Therefore, for experiments with the DNANS, the NASA/DOE
  654.    community was recommended.  They will be using DNANS in any case, as
  655.    they move to DECnet Phase V.
  656.  
  657.    The twofold purpose of the field trials is to explore differing
  658.    directory service architectures and to refine the study of X.500
  659.    specifically, to distinguish architectural aspects of it from
  660.    features of a particular implementation of X.500.  Initially, the
  661.    trials would include the Quipu implementation of X.500, Profile, and
  662.    the DNANS.  A second implementation of X.500 should be identified and
  663.    included as soon as possible.  Part of the emphasis of the field
  664.    trials would be on gathering and maintenance of naming information.
  665.    To ease this, a single common file format for storage of and access
  666.    to the naming information and use of a single set of data management
  667.    tools was recommended, although no particular set was identified.
  668.    The various directory services would need to be retrofitted to this
  669.    file format.  Such consistency in file format would mean that the
  670.    services could all be co-resident, sharing files, thus permitting
  671.  
  672.  
  673.  
  674. Sollins                                                        [Page 12]
  675.  
  676. RFC 1107         A Plan for Internet Directory Services        July 1989
  677.  
  678.  
  679.    single locations to participate in several parts of the field trials.
  680.    This, in turn, would allow for direct comparisons.
  681.  
  682.    There are a number of issues, which are not addressed in X.500, that
  683.    would need to be resolved for a large scale deployment such as a
  684.    white pages for the NRN.  In particular, these are: clients of the
  685.    service; data collection and maintenance; distribution, replication
  686.    and caching of information; access control, accountability, and
  687.    information integrity; and support by non-OSI protocols.  Each of the
  688.    name services included in the field trials would include decisions in
  689.    these areas, albeit different ones.  The field trials will allow for
  690.    evaluation of these different mechanisms.
  691.  
  692.    There are two other major issues that must also be addressed:
  693.    functionality and size.  Functionality encompasses both the first
  694.    point of the nature of the interfaces to the service as well as the
  695.    structure of the namespace (e.g., hierarchy).  A discussion of size
  696.    must include not only the number of entries handled by the service as
  697.    a whole, but how those entries are distributed and the query and
  698.    update patterns.
  699.  
  700.    In general, all of these issues are tightly coupled, but are
  701.    separated here for the purposes of understanding the field trials and
  702.    its potential effectiveness.  They would also be the issues that
  703.    would be the basis for the work done in Stage 2 of the project.
  704.  
  705.       - Functionality:
  706.  
  707.          X.500 and DNANS make strong statements about the organization
  708.          of the namespace.  In both cases, it is a single, absolute
  709.          hierarchy with soft links or aliases and attribute-based naming
  710.          useful both in searches of subtrees of the hierarchy and for
  711.          storing information about the objects in the hierarchy.  The
  712.          searches are based on logical combinations of attribute values.
  713.          Quipu implements the naming structure and search functionality
  714.          as specified in X.500.  In contrast, Profile, provides a more
  715.          general facility that supports any form of relative names, not
  716.          just hierarchical, and a small programming language to express
  717.          the functions for searching.  By including Profile in the field
  718.          trials, these more general facilities can be tested.
  719.  
  720.          X.500 specifies that the service is separated into two parts
  721.          for implementation of the service, known as the Directory
  722.          Service Agent (DSA), and the client, known as the Directory
  723.          User Agent (DUA).  DUAs can be implemented independently of the
  724.          implementation of the white pages service.  Quipu, Profile, and
  725.          DNANS have taken different approaches to the presentation model
  726.          for DUAs, so the three implementations will allow for
  727.  
  728.  
  729.  
  730. Sollins                                                        [Page 13]
  731.  
  732. RFC 1107         A Plan for Internet Directory Services        July 1989
  733.  
  734.  
  735.          additional experience.
  736.  
  737.       - Size:
  738.  
  739.          As discussed earlier, a white pages service must be prepared to
  740.          handle a minimum of 10**7 entries, although they may be
  741.          distributed, and a query rate of hundreds per second.  It must
  742.          also be prepared to handle much higher peak rates.  If the
  743.          address lookup that is presently provided by the DNS is also
  744.          supported by the white pages service, the query rate will be
  745.          much higher.  The designers of the field trials must determine
  746.          whether or not such usage will be part of the final service and
  747.          therefore must be examined in the field trials.  If so, caching
  748.          may be part of the solution.  In addition, the response time
  749.          for DUAs must be reasonable for a human sitting at a console.
  750.          Furthermore, modifications to the data should occur in
  751.          reasonably short periods of time, although this could be
  752.          measured in hours.
  753.  
  754.          The field trials must allow for experimentation under such
  755.          stressful conditions.  The environment for testing must have
  756.          both large and small nodes, as well as both heavy and light
  757.          load querying and situations in which reorganization can be
  758.          tested.  Such reorganization may be a simple as moving one
  759.          piece of the hierarchy to another point and handling naming
  760.          conflicts in the new environment.  X.500 does not address this
  761.          issue, but it will be needed by the NRN.
  762.  
  763.       - Distribution, replication, and caching:
  764.  
  765.          These are areas in which X.500 has very little to say, but a
  766.          great deal of work has been done in other distributed, network
  767.          naming services, in particular both the DNS and DNANS.  There
  768.          seems to be general agreement that distribution of naming
  769.          services should be done on the basis of nodes in the naming
  770.          structure, which also provide the basis for administrative
  771.          partitioning.  All the naming services described here support
  772.          distribution, partitioning of the information for placement on
  773.          cooperating servers.  Neither X.500 (and therefore Quipu) nor
  774.          Profile is prepared to redistribute portions of the namespace,
  775.          for reallocation of administrative responsibilities or load
  776.          balancing, although this should be possible and DNANS is
  777.          prepared to do so.  Replication is necessary for accessibility
  778.          in a large-scale or global namespace, although again X.500 does
  779.          not address this issue.  Quipu has taken a stand on this, by
  780.          defining master and slave copies of the data; it is similar to,
  781.          but not the same as, the approach taken in the DNS.  Caching is
  782.          barely touched on in X.500 and not at all in Profile, but our
  783.  
  784.  
  785.  
  786. Sollins                                                        [Page 14]
  787.  
  788. RFC 1107         A Plan for Internet Directory Services        July 1989
  789.  
  790.  
  791.          experience with the DNS indicates that caching is critical to
  792.          effective operation of a distributed name service.  The DNANS
  793.          has an architected solution based on objects in the namespace
  794.          as the unit of distribution and replication.  Again, the DNANS
  795.          solution should be explored in the field test environment.
  796.  
  797.       - Access control, accountability, and integrity:
  798.  
  799.          Access control and accountability require some degree of
  800.          authentication.  X.500 supports authentication based on using
  801.          an RSA public key algorithm, but does not address issues of
  802.          universal registration, nor issues of access control or
  803.          accountability themselves.  These are left as a local issue,
  804.          although depending on the design of the system, they may have
  805.          global implications.  The problem of integrity of the
  806.          information in the name service is nowhere addressed.  Profile
  807.          also does not address these issues, although it uses
  808.          authentication based on UNIX authentication, involving user ids
  809.          and passwords.  DNANS takes a strong stand on access control,
  810.          architecting it in at the level of individual entries.  Field
  811.          trials will force these issues out into the open.
  812.  
  813.       - Structure of the naming tree:
  814.  
  815.          In the deployment of the DNS, about one year was lost to
  816.          arguments about the actual structure of the naming hierarchy.
  817.          People form strong opinions about their name, and fight for or
  818.          against certain hierarchical structures.  The same issue will
  819.          arise here, and advanced planning to deal with the problem is
  820.          required.
  821.  
  822.          In this case, the problem is made harder by the fact that the
  823.          hierarchy will be global; X.500 is an international standard,
  824.          based on the assumption that there is only one example of the
  825.          tree, partitioned by country.  Probably the American White
  826.          Pages Service, at least at its root, will be run by the NIST or
  827.          its contractor.  We must deal with the problem that in the
  828.          short term, various implementations may not interwork, and we
  829.          must work with NIST to support the needed services.
  830.  
  831.          Specific issues that come up related to the naming tree are:
  832.  
  833.             * How is delegation of control of the tree managed?
  834.               For example, who decides what DSA holds what parts
  835.               of the tree?
  836.  
  837.             * How is the creation of new parts of the tree
  838.               (e.g., an organizational entry) controlled?
  839.  
  840.  
  841.  
  842. Sollins                                                        [Page 15]
  843.  
  844. RFC 1107         A Plan for Internet Directory Services        July 1989
  845.  
  846.  
  847.       - Support for Tree Search:
  848.  
  849.          Regardless of the defintion of the white pages service in the
  850.          NRN, it will need to interface to the X.500 world.  The X.500
  851.          naming hierarchy can be expected to become very large, and
  852.          guidance is needed for users to help them navigate the tree.
  853.          Users need help to find their way to unknown parts of the
  854.          namespace.  As in other naming services, a feature of X.500 is
  855.          that additional entries, aliases (similar to links in file
  856.          systems) can be installed to provide an easy path for a user in
  857.          one part of the tree to find other interesting parts of the
  858.          tree.  By establishing a consistent policy for the use of alias
  859.          entries, learning how to navigate the tree can be made much
  860.          easier for a user.  As part of setting up the tree, therefore,
  861.          these sorts of policies need to be defined.
  862.  
  863.       - Definition of database structures:
  864.  
  865.          There are a number of data structures that need to be defined
  866.          as part of setting up each of the services.  These include, for
  867.          example, the types of information stored for the entry about a
  868.          person.  This information must be stored in the servers, and
  869.          passed to the clients.  These structures must thus be
  870.          specified.  In other words, the schema defining attributes and
  871.          object classes must be specified for the NRN.
  872.  
  873.       - Load balancing:
  874.  
  875.          The dynamic performance of the Internet system must be
  876.          estimated, so that the servers can be sized properly.
  877.          Especially at the root of the tree, the query rate must be
  878.          estimated carefully.  Caching will have a strong influence on
  879.          this.  Therefore, traffic patterns are very dependent on the
  880.          details of implementation.
  881.  
  882.       - Supporting multiple protocol suites:
  883.  
  884.          At least three protocol suites are and will continue to be used
  885.          in the NRN environment.  They are DECnet, TCP/IP, and the OSI
  886.          suite of protocols.  Since the white pages service is at the
  887.          applications layer, it must run on top of at least these three
  888.          protocol suites.  It is important to understand the
  889.          requirements of the white pages service for its transport
  890.          protocols.
  891.  
  892.    By addressing these issues within the field trials, we will be
  893.    preparing for the further development of Stage 2.  A result of Stage
  894.    1 will be a detailed specification of the white pages service,
  895.  
  896.  
  897.  
  898. Sollins                                                        [Page 16]
  899.  
  900. RFC 1107         A Plan for Internet Directory Services        July 1989
  901.  
  902.  
  903.    possibly an extension to or modification of X.500.  This should
  904.    dovetail with the activities specifying the details required for
  905.    implementation (known as "profiling") by the NIST Workshop for
  906.    Implementors of OSI.  In addition, in order to run the field trial,
  907.    the information capture problem must be addressed, providing the some
  908.    of the preliminary work of Stage 3.
  909.  
  910. 4.2. Stage 2: Implementation
  911.  
  912.    If the evaluation of Stage 1 concludes that some form of X.500 is
  913.    acceptable, at least one of the two X.500 implementations included in
  914.    the field trials should provide the basis for a production quality
  915.    implementation of X.500 for general deployment.  Further work will
  916.    likely be needed on the basis of the evaluations of the field trials.
  917.    A production version of an implementation requires both reliable
  918.    servers as well as a variety of clients to provide differing
  919.    interfaces on a mixture of hardware and operating systems.
  920.  
  921.    In addition, especially because of the inclusion of Profile and
  922.    DNANS, a variety of different DUAs will be explored by definition.
  923.    Further investigation into the DUAs should begin in parallel with or
  924.    in conjunction with the field trials.  There should be distinct DUAs
  925.    for both programs and humans.  In addition, there probably should be
  926.    human-user DUAs geared both to the naive user with simple usage
  927.    patterns and the more sophisticated user who wants to perform complex
  928.    queries.  It is also important to design DUAs that do not require a
  929.    great deal of computing power for the small machines still in use in
  930.    great quantity.  Much of the user community may not be able to afford
  931.    expensive equipment upgrades.
  932.  
  933.    Assuming that X.500 is deemed to be the specification of the service,
  934.    the field trials will address many issues not included in X.500 as of
  935.    1989.  Since it is important for the NRN to support interconnectivity
  936.    beyond its own bounds, it behooves us to feed what has been learned
  937.    back into the standards activities.  This was identified as a
  938.    separate activity because of the intellectual as well as time
  939.    commitment that must be made to do this effectively.
  940.  
  941. 4.3. Stage 3: Deployment
  942.  
  943.    A plan is required to develop the schedule of service introduction,
  944.    and to co-ordinate the deployment as it is undertaken.  This includes
  945.    mediating service problems, a significant task in its own right.
  946.  
  947.    The details of deployment were not discussed at the meeting, although
  948.    several of the seeds of deployment lie in Stages 1 and 2.  The first
  949.    of these is the capture and management of information.  The second is
  950.    DUA development.  Both of these must be included Stage 1 in order to
  951.  
  952.  
  953.  
  954. Sollins                                                        [Page 17]
  955.  
  956. RFC 1107         A Plan for Internet Directory Services        July 1989
  957.  
  958.  
  959.    support a usable environment for the trials.  In addition, the
  960.    information that will have been captured in Stage 1 could be printed
  961.    producing a hard copy of the white pages information.  That could be
  962.    distributed to all scientists and engineers involved; such a project
  963.    would provide an early white pages service.  During the initial
  964.    periods of both Stages 1 and 2, planning for deployment would also
  965.    have to proceed, in order to provide a smooth transition to this
  966.    third stage in the project.
  967.  
  968. 5. Conclusion
  969.  
  970.    The consensus of the meeting was that following a path that included
  971.    X.500 was both the correct direction and feasible, although X.500
  972.    needs further elaboration.  There were several important items for
  973.    further study.  The first is that there are many issues left
  974.    unresolved in X.500 that have been addressed in other naming
  975.    services, and the NRN should take advantage of the solutions in those
  976.    other services.  The second is that there was some reservation about
  977.    certain features of X.500, especially in the area of the imposition
  978.    of a hierarchy for naming, and only limited flexibility in
  979.    descriptive naming.  The participants believe that is important
  980.    understand whether X.500 provides enough mechanisms to work around
  981.    such problems by finding a higher common ground that includes the
  982.    best features of all the naming services included in the field
  983.    trials.  The final issue with respect to X.500 was that there was
  984.    agreement that X.500 will be an accepted and utilized standard in at
  985.    least part of the networked community and therefore interfacing to it
  986.    will be necessary.  Given that, and the other reasons for choosing
  987.    X.500, the consensus was that the plan described above would bring
  988.    the NRN and its community of users a useful and usable white pages
  989.    service.
  990.  
  991. References
  992.  
  993.    1.  Austein, R., "The Internet Domain Name System", Proceedings of
  994.        USA Decus, Massachusetts Institute Technology/LCS, 1987.
  995.  
  996.    2.  Demers, A., D. Greene, C. Hauser, W. Irish, J. Larson, S.
  997.        Shenker, H. Sturgis, D. Swinehart, and D. Terry, "Epidemic
  998.        algorithms for replicated database maintenance", Proceedings of
  999.        the 6th Symposium on Principles of Distributed Computing, ACM,
  1000.        Vancouver, B.C., Canada, pp. 12-21, August 1987.
  1001.  
  1002.    3.  Digital Equipment Corporation, "DNA Naming Service Functional
  1003.        Specification Version 1.0.1", Order number: EK-DNANS-FS-001,
  1004.        Digital Equipment Corporation, 1988.
  1005.  
  1006.    4.  International Organization for Standardization, "Information
  1007.  
  1008.  
  1009.  
  1010. Sollins                                                        [Page 18]
  1011.  
  1012. RFC 1107         A Plan for Internet Directory Services        July 1989
  1013.  
  1014.  
  1015.        Processing Systems - Open Systems Interconnection - The
  1016.        Directory", Draft Standard (In 8 parts), Also CCITT
  1017.        Recommendation X.500, 1988.
  1018.  
  1019.    5.  Lampson, B., "Desiging a Global Name Service," Proceedings of the
  1020.        5th Symposium on Principles of Distribute Computing, ACM,
  1021.        Calgary, Alberta, Canada, pp. 1-10, August 1986.
  1022.  
  1023.    6.  Mockapetris, P., "Domain Names - Concept and Facilities", RFC
  1024.        1034, USC/Information Sciences Institute, November 1987.
  1025.  
  1026.    7.  Oppen, D., and Y. Dalal, "The Clearinghouse:  A Decentralized
  1027.        Agent for Locating Named Objects in a Distributed Environment",
  1028.        Tech. Rept. OPD-T8103, Xerox Corporation, Palo Alto, CA, October
  1029.        1981.
  1030.  
  1031.    8.  Peterson, L., "Profile: A System for Naming Internet Resources",
  1032.        Tech. Rept. 20, Department of Computer Science, University of
  1033.        Arizona, June 1987.
  1034.  
  1035. Author's Address
  1036.  
  1037.        Karen R. Sollins
  1038.        Massachusetts Institute of Technology
  1039.        Laboratory for Computer Science
  1040.        545 Technology Square
  1041.        Cambridge, MA 02139-1986
  1042.  
  1043.        Phone: (617) 253-6006
  1044.  
  1045.        EMail: SOLLINS@XX.LCS.MIT.EDU
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Sollins                                                        [Page 19]
  1067.