home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1564 < prev    next >
Text File  |  1994-01-13  |  46KB  |  1,180 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          P. Barker
  8. Request for Comments: 1564                     University College London
  9. Category: Informational                                       R. Hedberg
  10.                                               Technical University Delft
  11.                                                             January 1994
  12.  
  13.  
  14.                               DSA Metrics
  15.                             (OSI-DS 34 (v3))
  16.  
  17. Status of this Memo
  18.  
  19.    This memo provides information for the Internet community.  This memo
  20.    does not specify an Internet standard of any kind.  Distribution of
  21.    this memo is unlimited.
  22.  
  23. Abstract
  24.  
  25.    This document defines a set of criteria by which a DSA implementation
  26.    may be judged.  Particular issues covered include conformance to
  27.    standards; performance; demonstrated interoperability.  The intention
  28.    is that the replies to the questions posed provide a fairly full
  29.    description of a DSA. Some of the questions will yield answers which
  30.    are purely descriptive; others, however, are intended to elicit
  31.    answers which give some measure of the utility of the DSA. The marks
  32.    awarded for a DSA in each particular area should give a good
  33.    indication of the DSA's capabilities, and its suitability for
  34.    particular uses.
  35.  
  36.    Please send comments to the authors or to the discussion group
  37.    <osi-ds@CS.UCL.AC.UK>.
  38.  
  39. Table of Contents
  40.  
  41.    1.   Overview                                                      2
  42.    2.   General Information                                           3
  43.    3.   Conformance to OSI Standards                                  4
  44.         3.1    Directory protocols.............................       4
  45.         3.2    Implementors' agreements and profiles  .........       6
  46.         3.3    Protocol stacks.................................       6
  47.         3.4    DIT structure  .................................       7
  48.    4.   Other protocols                                               7
  49.    5.   Extensions to the 1988 Standard                               7
  50.         5.1    Schema .........................................       7
  51.         5.2    Support for replication.........................       8
  52.         5.3    Support for access control .....................       8
  53.         5.4    Miscellaneous  .................................       9
  54.    6.   Miscellaneous characteristics                                10
  55.  
  56.  
  57.  
  58. Barker & Hedberg                                                [Page 1]
  59.  
  60. RFC 1564                      DSA Metrics                   January 1994
  61.  
  62.  
  63.    7.   Management tools                                             11
  64.         7.1    Dynamic system management  .....................      11
  65.         7.2    Static system management  ......................      12
  66.         7.3    Data management.................................      12
  67.    8.   Operational Use                                              12
  68.    9.   Interoperability                                             12
  69.    10.  Performance                                                  13
  70.         10.1   Speed for various operations  ..................      14
  71.             10.1.1   Bind .....................................      14
  72.             10.1.2   List .....................................      15
  73.             10.1.3   Search  ..................................      15
  74.             10.1.4   Read .....................................      16
  75.             10.1.5   Add entry.................................      16
  76.             10.1.6   Modify entry .............................      16
  77.             10.1.7   Modify RDN  ..............................      16
  78.             10.1.8   Query rate  ..............................      17
  79.         10.2   The results.....................................      17
  80.         10.3   Environment used for benchmarking  .............      17
  81.    11. Security Considerations                                       21
  82.    12. Authors' Addresses                                            21
  83.  
  84. 1.  Overview
  85.  
  86.    The purpose of this document is to define some metrics by which DSA
  87.    products can be measured.  Such metrics are valuable as whilst an
  88.    X.500 DSA must conform to the specification in the standard - this is
  89.    a sine qua non - protocol conformance is not in itself the hallmark
  90.    of a usable implementation.  A DSA must perform operations within a
  91.    reasonable time; a DSA must offer good throughput of queries; a DSA
  92.    must be able to handle a reasonable volume of data; if modification
  93.    operations are provided, some sort of access control must be
  94.    provided; a DSA and its data must be manageable.
  95.  
  96.    In many respects, it is almost impossible to say that one DSA is
  97.    better than other from looking at the responses to questions in this
  98.    document.  For some, the cost or level of support will be the key
  99.    criterion.  For another user, the flexibility of the schema
  100.    management facilities, or the feasibility of running the DSA over an
  101.    existing relational database, will be of prime importance.  In many
  102.    respects DSAs will just be different, rather than better or worse.
  103.    However, all other things being equal, the look-up speed of a DSA is
  104.    very obviously measurable, and there is a substantial number of
  105.    questions on the speed of the various X.500 operations, and in
  106.    particular on the look-up operations.
  107.  
  108.    Throughout this document, some of the questions posed are annotated
  109.    with a square-bracketed points score and an explanation as to how the
  110.    points should be allocated.  For example, a question might be
  111.  
  112.  
  113.  
  114. Barker & Hedberg                                                [Page 2]
  115.  
  116. RFC 1564                      DSA Metrics                   January 1994
  117.  
  118.  
  119.    appended with "[2 if yes]", indicating score 2 points for an
  120.    affirmative answer to that question.  These points scores should be
  121.    collated in Table 1 at the end of the document.  The questions on DSA
  122.    performance are judged to be important enough to have a separate
  123.    table for those results:  they appear in Table 2 (and optionally
  124.    Table 3).  Together, these tables constitute a measure of the DSA.
  125.  
  126.    The metrics are on a section by section basis, which should help the
  127.    reader who is seeking, for example, a DSA with fast look-up
  128.    capabilities and extensive access control facilities, to focus on the
  129.    critical aspects of a DSA for their particular requirement.  No
  130.    conclusions should be inferred from adding the scores together into
  131.    one overall grand total and comparing such totals for different DSAs,
  132.    as no attempt is made to assign weights to the different
  133.    characteristics.
  134.  
  135.    Whilst much of this document should usually be completed by the
  136.    developers or suppliers of an implementation, the section on
  137.    performance could be completed by anyone running the implementation.
  138.    Indeed, it will be beneficial if several sets of performance figures
  139.    can be gathered for each implementation, for a variety of hardware
  140.    platforms.
  141.  
  142. 2.  General Information
  143.  
  144.    This section contains general information about the implementation
  145.    under discussion.
  146.  
  147.    1.  Name of the information provider ................................
  148.     ....................................................................
  149.  
  150.    2.  Name of the implementation ......................................
  151.  
  152.    3.  Version number of the DSA described in this document ............
  153.  
  154.    4.  Are there plans to implement the additional features describe in
  155.        the 1992/3 standard?  [6 for full implementation, 4 if both
  156.        access control and replication to be implemented, 2 for some
  157.        1992 features] ..................................................
  158.  
  159.    5.  Name and address of supplier or person to contact ...............
  160.     ....................................................................
  161.     ....................................................................
  162.     ....................................................................
  163.     ....................................................................
  164.     ....................................................................
  165.     ....................................................................
  166.  
  167.  
  168.  
  169.  
  170. Barker & Hedberg                                                [Page 3]
  171.  
  172. RFC 1564                      DSA Metrics                   January 1994
  173.  
  174.  
  175.    6.  Describe the hardware and software platforms supported by the DSA
  176.        [up to 4 points may be awarded for this question]
  177.  
  178.       (a)  Hardware (If appropriate, can summarise as, for example
  179.            "generic UNIX platform") ..................................
  180.  
  181.       (b)  O/S (state version if critical)
  182.  
  183.            i.  UNIX) (be sure to indicate which flavour - e.g.,
  184.                SYSV [1], BSD [1], SUNOS, etc) ..........................
  185.  
  186.           ii.  VMS) [1] ................................................
  187.  
  188.          iii.  MS-DOS [1] ..............................................
  189.  
  190.           iv.  Macintosh [1] ...........................................
  191.  
  192.            v.  Other) [1] ..............................................
  193.  
  194.    7.  Name any other software required to run the system which is not
  195.        supplied with the operating system or with the DSA software
  196.        itself.  Examples might include a database package, or
  197.        communications software .........................................
  198.     ....................................................................
  199.  
  200.    8.  Is this DSA an integrated part of a software package, and in such
  201.        case which ?  ...................................................
  202.     ....................................................................
  203.  
  204.    9.  Is the software free?  If the DSA needs other packages, are these
  205.        also freely available?  [3 if completely free, 1 if requires
  206.        commercial software package] ....................................
  207.     ....................................................................
  208.  
  209.    10. Is commercial support available for this implementation?  [3] ...
  210.  
  211.    11. Is free, best effort support available from the developers?  [2].
  212.  
  213.    12. Is free support available via user groups or email lists?  [2] ..
  214.  
  215. 3.  Conformance to OSI Standards
  216.  
  217. 3.1  Directory protocols
  218.  
  219.    13. Does the DSA implement DAP?
  220.  
  221.       (a)  Read ASE? [2] ...............................................
  222.  
  223.  
  224.  
  225.  
  226. Barker & Hedberg                                                [Page 4]
  227.  
  228. RFC 1564                      DSA Metrics                   January 1994
  229.  
  230.  
  231.       (b)  Search ASE? [2] .............................................
  232.  
  233.       (c)  Modify ASE? [2] .............................................
  234.  
  235.    14. Does the DSA implement DSP?
  236.  
  237.       (a)  Chained read ASE? [2] .......................................
  238.  
  239.       (b)  Chained search ASE? [2] .....................................
  240.  
  241.       (c)  Chained modify ASE? [2] .....................................
  242.  
  243.    15. Statement requirements according to section 9.2.1 in X.519.
  244.  
  245.       (a)  Supported application-contexts?  ............................
  246.  
  247.       (b)  Capable of acting as first-level DSA? [1] ...................
  248.  
  249.       (c)  Chained mode supported?  [1] ................................
  250.  
  251.       (d)  Security-level(s) supported?  [1 for strong + 1 for protected
  252.            simple + 1 for simple authentication] .......................
  253.  
  254.       (e)  All attribute types according to X.520?  [1] ................
  255.  
  256.       (f)  All object classes according to X.521?  [1] .................
  257.  
  258.    16. Does the implementation meet the conformance clauses in section
  259.        9.2.2 and 9.2.3 of X.519?
  260.        Static requirements [2 if yes on all]
  261.  
  262.       (a)  Abstract syntaxes of application contexts ...................
  263.  
  264.       (b)  Abstract syntaxes of information framework ..................
  265.  
  266.       (c)  Minimal knowledge ...........................................
  267.  
  268.       (d)  Support of root context .....................................
  269.  
  270.       (e)  Abstract syntax - attribute types ...........................
  271.  
  272.       (f)  Abstract syntax - object classes ............................
  273.  
  274.        Dynamic requirements [2 if yes on all]
  275.  
  276.       (a)  Mapping onto underlying services ............................
  277.  
  278.       (b)  Distributed operations - referrals ..........................
  279.  
  280.  
  281.  
  282. Barker & Hedberg                                                [Page 5]
  283.  
  284. RFC 1564                      DSA Metrics                   January 1994
  285.  
  286.  
  287.       (c)  DirectoryAccessAC - referrals ...............................
  288.  
  289.       (d)  DirectorySystemAC - referrals ...............................
  290.  
  291.       (e)  Chained mode ................................................
  292.  
  293.    17. Please list all conformance testing work applied to the
  294.        implementation (specify conformance test version number).  [2 if
  295.        any testing]
  296.     ....................................................................
  297.     ....................................................................
  298.     ....................................................................
  299.     ....................................................................
  300.  
  301. 3.2  Implementors' agreements and profiles
  302.  
  303.    Does the DSA conform to the following implementors' agreements?  If
  304.    so, state parts and version numbers.
  305.  
  306.    18. EWOS? [1] .......................................................
  307.     ....................................................................
  308.     ....................................................................
  309.  
  310.    19. OIW? [1] ........................................................
  311.     ....................................................................
  312.     ....................................................................
  313.  
  314.    Does the DSA conform to the following profiles?  If so, state which
  315.    version numbers.
  316.  
  317.    20. UK GOSIP? [1] ...................................................
  318.  
  319.    21. US GOSIP? [1] ...................................................
  320.  
  321.  
  322.    State any other GOSIP profiles to which the DSA conforms ............
  323.  
  324. 3.3  Protocol stacks
  325.  
  326.    22. Which of the following transport and network layer protocols does
  327.        the DSA support:
  328.  
  329.       (a)  TP.x over CONS (state transport class)?  [2] ................
  330.  
  331.       (b)  TP.4 over CLNS? [2] .........................................
  332.  
  333.       (c)  TP.x over X.25(1980) (state transport class)?  [2] ..........
  334.  
  335.  
  336.  
  337.  
  338. Barker & Hedberg                                                [Page 6]
  339.  
  340. RFC 1564                      DSA Metrics                   January 1994
  341.  
  342.  
  343. 3.4  DIT structure
  344.  
  345.    23. A suggested DIT structure, detailing an object class hierarchy, is
  346.        presented in X.521.  Does the DSA:
  347.  
  348.       (a)  Enforce this hierarchy?  ....................................
  349.  
  350.       (b)  Allow the enforcement of this hierarchy?  ...................
  351.  
  352.    24. Are structure rules optional or mandatory?  .....................
  353.  
  354. 4.  Other protocols
  355.  
  356.    25. Not everybody uses OSI protocols at the network layer.  Does the
  357.        DSA support other "network" layer protocols?
  358.  
  359.       (a)  TP.0 over RFC1006 over TCP/IP [3] ...........................
  360.  
  361.       (b)  State any other options supported.  .........................
  362.         ................................................................
  363.  
  364.    26. Does the DSA also run over any lightweight stack?  If so,
  365.        describe it with reference to the OSI seven layer model [1] .....
  366.  
  367.    27. Can local DUAs access the DSA directly by some method of
  368.        inter-process communications?  [1] ..............................
  369.     ....................................................................
  370.  
  371. 5.  Extensions to the 1988 Standard
  372.  
  373. 5.1  Schema
  374.  
  375.    28. Does the DSA fully support RFC1274, "The COSINE and Internet
  376.        X.500 Schema"?  [2] ............................................
  377.        If not, please supply a list of all those object classes,
  378.        attribute types and attribute syntaxes in RFC1274 which are
  379.        supported on a separate sheet.  This might be summarised by
  380.        saying, for example, "all those with standard attribute
  381.        syntaxes", or "all except fooBar".
  382.  
  383.    29. Does the DSA implement the schema management defined in the 1992
  384.        standard?  [2] ..................................................
  385.  
  386.    30. If not, is the schema stored in the Directory?  In a distributed
  387.        manner[2] or centralised[1] ?  ..................................
  388.  
  389.    31. Can a DSA manager extend the schema and add new
  390.  
  391.  
  392.  
  393.  
  394. Barker & Hedberg                                                [Page 7]
  395.  
  396. RFC 1564                      DSA Metrics                   January 1994
  397.  
  398.  
  399.       (a)  Attribute types with existing syntaxes?  With compilation
  400.            [1], or without compilation [2] .............................
  401.  
  402.       (b)  Attribute syntaxes?  With compilation [1], or without
  403.            compilation [2] .............................................
  404.  
  405.       (c)  Attribute sets?  With compilation [1], or without compilation
  406.            [2] .........................................................
  407.         ................................................................
  408.  
  409.       (d)  Object classes?  With compilation [1], or without compilation
  410.            [2] .........................................................
  411.         ................................................................
  412.  
  413.    32. Is it possible to add in or modify DIT structure rules, with
  414.        compilation [1], without compilation [2] ........................
  415.  
  416. 5.2  Support for replication
  417.  
  418.    33. Does the DSA support the replication mechanisms as described in
  419.        the 1992 standard [2]?
  420.     ....................................................................
  421.  
  422.    34. Does the DSA support any other replication mechanisms?  .........
  423.  
  424.       (a)  Replication part of RFC1276 [2] .............................
  425.  
  426.       (b)  Other (please give a reference to any description of the
  427.            mechanisms, and indicate whether these mechanisms are used by
  428.            any other implementations) [1 for any mechanism] ............
  429.         ................................................................
  430.         ................................................................
  431.         ................................................................
  432.  
  433.    35. If the DSA supports replication, does it support:
  434.  
  435.       (a)  Replication of a single entry?  [2] .........................
  436.  
  437.       (b)  Replication of a set of sibling entries?  [2] ...............
  438.  
  439.       (c)  Replication of a subtree?  [2] ..............................
  440.  
  441. 5.3  Support for access control
  442.  
  443.    36. Does the DSA support access control as described in the 1992
  444.        standard [3]?  ..................................................
  445.  
  446.    37. If not, does the DSA have any access control mechanisms at all?
  447.  
  448.  
  449.  
  450. Barker & Hedberg                                                [Page 8]
  451.  
  452. RFC 1564                      DSA Metrics                   January 1994
  453.  
  454.  
  455.        [2] .............................................................
  456.  
  457.    38. If yes, does the access control scheme support the following:
  458.  
  459.       (a)  Allow a user to maintain their own entry?  [1] ..............
  460.  
  461.       (b)  Allow a user to maintain some attributes in their own entry,
  462.            but not all attributes?  [1] ................................
  463.  
  464.       (c)  Give management rights to a DSA manager in a fashion analogous
  465.            to the privileges given to a UNIX super-user?  [1] ..........
  466.  
  467.       (d)  Give management rights to a data manager on a per subtree
  468.            basis?  [1] .................................................
  469.  
  470.       (e)  Give management rights (to an entry, group of entries,
  471.            subtree, etc) to a group of users?  [1] .....................
  472.  
  473.       (f)  Give access rights to users on the basis of the leading
  474.            portion of their Distinguished Name?  [1] ...................
  475.  
  476.       (g)  Is it possible to define a protection mechanism for each
  477.            individual attribute type in one entry?  [1] ................
  478.  
  479.       (h)  Maximum number of Distinguished Names that can be defined for
  480.            one access right to one attribute in one entry? If unlimited,
  481.            state the constraints.  [1 if more than 6 DNs are feasible] :
  482.  
  483.       (i)  Does the DSA support the extended access control techniques
  484.            described in "An Access Control approach for Searching and
  485.            Listing" by Hardcastle-Kille and Howes, in the Internet
  486.            Draft, OSI-DS 21?  [2]
  487.         ................................................................
  488.  
  489.       (j)  If there are features of the access control mechanisms which
  490.            are not brought out by the above questions, please describe
  491.            these additional features [up to 2 for wonderful additional
  492.            features!]  .................................................
  493.         ................................................................
  494.         ................................................................
  495.         ................................................................
  496.  
  497. 5.4  Miscellaneous
  498.  
  499.    39. Does the DSA fully support RFC1276, "Replication and Distributed
  500.        Operations extensions to provide an Internet Directory using
  501.        X.500"?  [2] .... If not, please give a list of features that are
  502.        supported.
  503.  
  504.  
  505.  
  506. Barker & Hedberg                                                [Page 9]
  507.  
  508. RFC 1564                      DSA Metrics                   January 1994
  509.  
  510.  
  511.     ....................................................................
  512.     ....................................................................
  513.  
  514.    40. If the DSA uses RFC1006 and/or X.25(1980) at the network layer,
  515.        does the DSA conform to RFC1277, "Encoding Network Addresses to
  516.        support operation over non-OSI lower layers" [3] ...............
  517.  
  518. 6.  Miscellaneous characteristics
  519.  
  520.    41. Does the DSA use its own database, or can it be used in
  521.        conjunction with a general-purpose database package such as
  522.        Oracle?  [1 for own, 1 for ability to map onto general purpose
  523.        databases, 1 if any such mappings have been made] ...............
  524.     ....................................................................
  525.  
  526.    42. If the DSA runs as a static server, state the start-up time for a
  527.        DSA with a database of 20000 entries.  If this varies widely
  528.        according to configuration options, give figures for the various
  529.        options.  .......................................................
  530.     ....................................................................
  531.  
  532.    43. What is the maximum number of simultaneous associations that the
  533.        DSA may have open?  [1 if more than 15 associations] ............
  534.  
  535.    44. Maximum database size, in entries, megabytes, or as appropriate.
  536.        If none, state what the constraints are.  [1 if a database of
  537.        more than 100,000 entries is feasible] ..........................
  538.  
  539.    45. What is the run-time size of an entry as specified in section 10
  540.        (on performance)?  This should be the marginal size of an entry
  541.        and thus should include the overhead of default indexes, etc.  ..
  542.  
  543.    46. What is the on-disk database size of an entry as specified in
  544.        section 10 on performance?  .....................................
  545.  
  546.    47. Does the DSA make of indexing?  [2 if yes] ......................
  547.  
  548.        If so:
  549.  
  550.       (a)  Can the database be fully inverted?  [1] ....................
  551.            If not, state for which:
  552.  
  553.            i.  attributes indexes are automatically built ..............
  554.             ............................................................
  555.             ............................................................
  556.  
  557.           ii.  attributes/attribute syntaxes indexes may be built ......
  558.             ............................................................
  559.  
  560.  
  561.  
  562. Barker & Hedberg                                               [Page 10]
  563.  
  564. RFC 1564                      DSA Metrics                   January 1994
  565.  
  566.  
  567.             ............................................................
  568.  
  569.       (b)  Does the index improve performance on:
  570.  
  571.            i.  Exact match [1] .........................................
  572.  
  573.           ii.  Leading substring match [1] .............................
  574.  
  575.          iii.  Approximate match [1] ...................................
  576.  
  577.           iv.  Any substring match [1] .................................
  578.  
  579.            v.  Trailing substring match [1] ............................
  580.  
  581.       (c)  What is the increase in run-time size of an entry when adding
  582.            an index?
  583.         ................................................................
  584.  
  585.       (d)  What is the increase in on-disk database size of adding
  586.            another index?
  587.         ................................................................
  588.  
  589.    48. What sort of approximate match algorithm does the DSA use?
  590.        Describe it briefly .............................................
  591.     ....................................................................
  592.     ....................................................................
  593.     ....................................................................
  594.  
  595.    49. Does the DSA attempt to use relay DSAs (which have access to more
  596.        than one network) in order to achieve connectivity with DSAs
  597.        which are not on the same network?  [2] .........................
  598.  
  599. 7.  Management tools
  600.  
  601. 7.1  Dynamic system management
  602.  
  603.    50. Are there tools for monitoring DSA activity, using:
  604.  
  605.       (a)  DAP? [1] ....................................................
  606.  
  607.       (b)  CMIP? [1] ...................................................
  608.  
  609.       (c)  SNMP? [1] ...................................................
  610.  
  611.    51. Are there tools for controlling a run-time DSA? [2] .............
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Barker & Hedberg                                               [Page 11]
  619.  
  620. RFC 1564                      DSA Metrics                   January 1994
  621.  
  622.  
  623. 7.2  Static system management
  624.  
  625.    52. If knowledge information is stored within the DIT, are there
  626.        tools for knowledge management?  [2] ............................
  627.  
  628.    53. Are there tools for checking that attributes with Distinguished
  629.        Name syntax contain values of entries in the DIT (i.e., they do
  630.        not contain "dangling pointers")?  [1] ........................
  631.  
  632. 7.3  Data management
  633.  
  634.    54. If the DSA doesn't use a general-purpose database package, what
  635.        data management tools are available?  ...........................
  636.     ....................................................................
  637.  
  638.    55. Are there any tools for arboriculture - the moving, copying or
  639.        deleting of DIT subtrees?  [2] ..................................
  640.  
  641. 8.  Operational Use
  642.  
  643.    The DSA may have lots of wonderful features -- on paper!  But has the
  644.    DSA been shown to work in practice?  The following measures are
  645.    intended to give some measure of confidence that the DSA's viability
  646.    has been demonstrated.
  647.  
  648.    56. How many entries in the largest DSA in use in operational use?  :
  649.  
  650.    57. What is the largest set of DSAs supporting an organisation?  ....
  651.  
  652.    58. What is the estimated number of organisations using this
  653.        implementation for service use?  [8 if more than 100
  654.        organisations, 5 if more than 50 organisations, 3 if more than 20
  655.        organisations, 2 if more than 5 organisations, 1 if more than 1
  656.        organisation] ...................................................
  657.  
  658.    59. Is this DSA used commercially with an installed base of more than
  659.        10 customers?  [2] ..............................................
  660.  
  661. 9.  Interoperability
  662.  
  663.    The X.500 Directory is the OSI Directory.  OSI stands for Open
  664.    Systems Interconnection -- DSAs have to be able to inter-operate.
  665.    They also have to be seen to interoperate.
  666.  
  667.    60. Is this DSA in use in X.500 pilots?  ............................
  668.  
  669.       (a)  Is this DSA in use anywhere in the COSINE/Internet Pilot? [3]
  670.  
  671.  
  672.  
  673.  
  674. Barker & Hedberg                                               [Page 12]
  675.  
  676. RFC 1564                      DSA Metrics                   January 1994
  677.  
  678.  
  679.         ................................................................
  680.  
  681.       (b)  Is this DSA in use in any other major pilot?  [2] ...........
  682.  
  683.    61. Name any other systems which you believe the system to
  684.        interoperate with.  (It is not sufficient to say "any system
  685.        which supports the conformance clauses ...")  ..................
  686.     ....................................................................
  687.     ....................................................................
  688.     ....................................................................
  689.  
  690.    62. Please name all interoperability testing applied to the
  691.        implementation, specify test suite and what other implementation
  692.        that was used [1 per implementation, up to maximum of 5] ........
  693.     ....................................................................
  694.     ....................................................................
  695.     ....................................................................
  696.     ....................................................................
  697.     ....................................................................
  698.  
  699. 10.  Performance
  700.  
  701.    This section should give an outline to the expected performance of
  702.    the DSA. A number of operations are timed in order to give a feel for
  703.    the DSA's speed and throughput.  Note that all operations should be
  704.    resolvable within a single DSA. Chaining and referral are not
  705.    assessed, although it should be possible to infer, albeit
  706.    approximately, the speed of distributed operations.
  707.  
  708.    i.  The tests should be made against an organisational database of
  709.        20000 entries.  Some tests are against subsets of this data, and
  710.        so the database should be set up according to the following
  711.        instructions.
  712.  
  713.        Create an organisational DSA with 20000 entries below the
  714.        organisation node.  Sub-divide this data into a number of
  715.        organisational units, one of which should contain 1000 entries,
  716.        another of which should contain 100 entries, and a third which
  717.        should contain just 10 entries.  The entries, which should
  718.        differ, should be created with the following attributes:
  719.  
  720.        (a)  Common Name
  721.  
  722.        (b)  Surname
  723.  
  724.        (c)  Telephone number
  725.  
  726.        (d)  Postal Address (of 100 characters)
  727.  
  728.  
  729.  
  730. Barker & Hedberg                                               [Page 13]
  731.  
  732. RFC 1564                      DSA Metrics                   January 1994
  733.  
  734.  
  735.        (e)  Object class
  736.  
  737.     ii. In all the tests, two timings should be taken.  In order to
  738.         normalise the test results as much as possible, it is suggested
  739.         that these tests be undertaken on an otherwise lightly loaded
  740.         machine.
  741.  
  742.        (a)  A typical "cold start" reading should be given.  In this
  743.             case the system will not have the advantage of any benefits
  744.             that derive from operating system paging, or caching.
  745.  
  746.        (b)  A best possible figure should be given, which indicates the
  747.             upper limit of DSA performance.
  748.  
  749.    iii. The timings should relate to the default set-up, and should be
  750.         entered in Table 2.  If significant performance gains can be made
  751.         by use of configuration options, such as building extra indexes
  752.         to support searches, measures of the improved performance may
  753.         also be given, and should be entered in Table 3.
  754.         Attention should be also drawn to any optimisations, heuristic or
  755.         otherwise, which are not evidenced in the following tests.
  756.  
  757.     iv. Please note that the tests should be made using a DUA and DSA
  758.         with full 7-layer stacks, rather than some lightweight protocol.
  759.  
  760. 10.1  Speed for various operations
  761.  
  762.    The tests are described, one subsection per operation.  The results
  763.    should be entered in Table 2 (and Table 3 if a non-default set-up is
  764.    also measured).
  765.  
  766. 10.1.1  Bind
  767.  
  768.    The time it takes for a DUA to bind to the Directory.  This time
  769.    should include all the initialisation time a DUA process needs before
  770.    it can query the Directory: e.g., reading of tailor files, schema
  771.    information, etc.  Give the bind time for each of the following
  772.    levels of authentication.  State "n/a" if the implementation does not
  773.    support a particular level of authentication.
  774.  
  775.    63. Anonymous
  776.  
  777.    64. Simple
  778.  
  779.    65. Simple protected
  780.  
  781.    66. Strong
  782.  
  783.  
  784.  
  785.  
  786. Barker & Hedberg                                               [Page 14]
  787.  
  788. RFC 1564                      DSA Metrics                   January 1994
  789.  
  790.  
  791. 10.1.2  List
  792.  
  793.    Give the time for listing a set of organisational unit sibling
  794.    entries.
  795.  
  796.    67. 10 entries
  797.  
  798.    68. 1000 entries
  799.  
  800. 10.1.3  Search
  801.  
  802.    In this section, two sets of search operations should be performed on
  803.    the DSA.
  804.  
  805.    i.  A single level search of 100 entries within an organisational
  806.        unit.
  807.  
  808.    ii. An organisation subtree search, on the subtree of 20000 entries.
  809.  
  810.    The following searches should be tried.  Unless otherwise stated, the
  811.    "XXX" or "YYY" part of the search filter should be chosen in such a
  812.    way as to return a single result.  Unless stated otherwise the
  813.    results should return all attributes for the entry.
  814.  
  815.    69. Exact match for a surname:
  816.  
  817.            surname=XXX
  818.  
  819.    70. Leading substring match for a common name:
  820.  
  821.            commonName=XXX*
  822.  
  823.    71. Any substring match for a common name:
  824.  
  825.            commonName=*XXX*
  826.  
  827.    72. Trailing substring match for a common name:
  828.  
  829.            commonName=*XXX
  830.  
  831.    73. Approximate match for a common name:
  832.  
  833.            commonName"=XXX
  834.  
  835.    74. More complex filter, searching by object class and two other
  836.        attribute types:
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Barker & Hedberg                                               [Page 15]
  843.  
  844. RFC 1564                      DSA Metrics                   January 1994
  845.  
  846.  
  847.            objectClass=person AND
  848.            (commonName=XXX* OR telephoneNumber=*YYY)
  849.  
  850.    75. Search returning all entries (i.e., 100 entries in the single
  851.        level search, and all 20000 entries in the subtree search:
  852.  
  853.            objectClass=*
  854.  
  855.        In this case, no attribute values should be returned in the
  856.        result set.
  857.  
  858. 10.1.4  Read
  859.  
  860.    76. A single read operation, returning all attributes.
  861.  
  862. 10.1.5  Add entry
  863.  
  864.    77. Add an entry beneath an entry which has:
  865.  
  866.       (a)  0 children
  867.  
  868.       (b)  10 children
  869.  
  870.       (c)  1000 children
  871.  
  872. 10.1.6  Modify entry
  873.  
  874.    Modify an attribute value, other than an RDN value, for an entry
  875.    which has
  876.  
  877.    1.  10 siblings
  878.  
  879.    2.  1000 siblings
  880.  
  881.    78. Modify an entry
  882.  
  883.       (a)  Add description attribute
  884.  
  885.       (b)  Remove description attribute
  886.  
  887. 10.1.7  Modify RDN
  888.  
  889.    Modify an RDN value for an entry with the following number of
  890.    siblings.
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Barker & Hedberg                                               [Page 16]
  899.  
  900. RFC 1564                      DSA Metrics                   January 1994
  901.  
  902.  
  903.    79. Modify RDN
  904.  
  905.       (a)  10 siblings
  906.  
  907.       (b)  1000 siblings
  908.  
  909. 10.1.8  Query rate
  910.  
  911.    As the time taken for a single read will usually be negligible, the
  912.    following list and set of reads should give a clearer indication of
  913.    the query rate.
  914.  
  915.    80. A list to return 100 entries for persons, and then a read of each
  916.        entry returning all attribute values.
  917.  
  918. 10.2  The results
  919.  
  920.    The results of the tests just described should be entered in Table 2
  921.    (and optionally Table 3), at the end of the document.
  922.  
  923. 10.3  Environment used for benchmarking
  924.  
  925.    Date of test.........................................................
  926.    Name of tester ......................................................
  927.    The results will be directly correlated to the test set-up used, and
  928.    in particular, the hardware.  Please answer the following questions
  929.    to describe the test environment:
  930.  
  931.       (a)  Processor (make and model) ..................................
  932.  
  933.       (b)  Processor speed (MIPS) ......................................
  934.  
  935.       (c)  Primary memory available ....................................
  936.  
  937.       (d)  If disk-based DSA, disk I/O interface and disk speed ........
  938.  
  939.       (e)  O/S version .................................................
  940.  
  941.       (f)  Network type and bandwidth (e.g., 10 Mbit Ethernet) .........
  942.  
  943.       (g)  Protocols in transport layer and below (e.g., TP 0, RFC1006,
  944.            TCP/IP) .....................................................
  945.  
  946.       (h)  How/where timings obtained?
  947.  
  948.             o  C procedural interface ..................................
  949.  
  950.             o  DUA shell (e.g., Quipu's DISH) ..........................
  951.  
  952.  
  953.  
  954. Barker & Hedberg                                               [Page 17]
  955.  
  956. RFC 1564                      DSA Metrics                   January 1994
  957.  
  958.  
  959.           +-------------------------------------------------+
  960.           |             Section            ||    Points     |
  961.           +--------------------------------||---------------+
  962.           | No.||Description               |Maximum|Scored  |
  963.           +----||--------------------------|-------|--------+
  964.           |    ||                          |       |        |
  965.           |   2||General Information       |  20   |        |
  966.           +----||--------------------------|-------|--------+
  967.           |    ||                          |       |        |
  968.           |   3||Conformance to OSI        |  35   |        |
  969.           +----||--------------------------|-------|--------+
  970.           |    ||          |               |       |        |
  971.           |   4||Other protocols           |   5   |        |
  972.           +----||--------------------------|-------|--------+
  973.           |    ||          |               |       |        |
  974.           |   5||Extensions| Schema        |  16   |        |
  975.           +----||          |---------------|-------|--------+
  976.           |    ||          |               |       |        |
  977.           |    ||to the    |Replication    |  10   |        |
  978.           +----||          |---------------|-------|--------+
  979.           |    ||          |               |       |        |
  980.           |    ||1988      |Access Control |  15   |        |
  981.           +----||          |---------------|-------|--------+
  982.           |    ||          |               |       |        |
  983.           |    ||standard  |Miscellaneous  |   5   |        |
  984.           +----||--------------------------|-------|--------+
  985.           |    ||Miscellaneous             |       |        |
  986.           |   6||characteristics           |  15   |        |
  987.           +----||--------------------------|-------|--------+
  988.           |    ||                          |       |        |
  989.           |   7||Management tools          |  10   |        |
  990.           +----||--------------------------|-------|--------+
  991.           |    ||                          |       |        |
  992.           |   8||Operational use           |  10   |        |
  993.           +----||--------------------------|-------|--------+
  994.           |    ||                          |       |        |
  995.           |   9||Interoperability          |  10   |        |
  996.           +----||--------------------------|-------|--------+
  997.           |    ||                          |  see  |        |
  998.           |  10||Performance               |table 2|        |
  999.           +-------------------------------------------------+
  1000.  
  1001.                           Table 1:  DSA Metrics
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Barker & Hedberg                                               [Page 18]
  1011.  
  1012. RFC 1564                      DSA Metrics                   January 1994
  1013.  
  1014.  
  1015.         +------------------------------------------------------+
  1016.         | Operation         ||   Cold DSA    ||     Optimum    |
  1017.         |                   ||               ||   Performance  |
  1018.         +-------------------||---------------||----------------+
  1019.         | Bind              ||               ||                |
  1020.         |    --Anonymous    ||.............. || .............. |
  1021.         |    --Simple       ||.............. || .............. |
  1022.         |    --Simple Prot  ||.............. || .............. |
  1023.         |    --Strong       ||.............. || .............. |
  1024.         +-------------------||---------------||----------------+
  1025.         | List              ||               ||                |
  1026.         |    -- 10 entries  ||.............. || .............. |
  1027.         |    -- 1000 entries||.............. || .............. |
  1028.         +-------------------||---------------||----------------+
  1029.         | Search             |single|subtree |single|subtree   |
  1030.         |                    |level |        |level |          |
  1031.         |                    |------|--------|------|----------|
  1032.         |    -- exact        |....  |......  |..... | ......   |
  1033.         |    -- leading sub  |....  |......  |..... | ......   |
  1034.         |    -- any sub      |....  |......  |..... | ......   |
  1035.         |    -- trailing sub |....  |......  |..... | ......   |
  1036.         |    -- approx       |....  |......  |..... | ......   |
  1037.         |    -- complex      |....  |......  |..... | ......   |
  1038.         |    -- return all   |....  |......  |..... | ......   |
  1039.         +--------------------|------|--------|------|----------|
  1040.         | Read              ||.............. || .............. |
  1041.         +-------------------||---------------||----------------+
  1042.         | Add               ||               ||                |
  1043.         |     0 siblings    ||.............. || .............. |
  1044.         |     10 siblings   ||.............. || .............. |
  1045.         |     1000 siblings ||.............. || .............. |
  1046.         +-------------------||---------------||----------------+
  1047.         | Modify            ||               ||                |
  1048.         |     10 siblings   ||.............. || .............. |
  1049.         |     1000 siblings ||.............. || .............. |
  1050.         +-------------------||---------------||----------------+
  1051.         | Modify RDN        ||               ||                |
  1052.         |     10 siblings   ||.............. || .............. |
  1053.         |     1000 siblings ||.............. || .............. |
  1054.         +-------------------||---------------||----------------+
  1055.         | Query rate        ||.............. || .............. |
  1056.         +-------------------||---------------||----------------+
  1057.  
  1058.             Table 2:  Speed of operations - default set-up
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Barker & Hedberg                                               [Page 19]
  1067.  
  1068. RFC 1564                      DSA Metrics                   January 1994
  1069.  
  1070.  
  1071.         +------------------------------------------------------+
  1072.         | Operation         ||   Cold DSA    ||     Optimum    |
  1073.         |                   ||               ||   Performance  |
  1074.         +-------------------||---------------||----------------+
  1075.         | Bind              ||               ||                |
  1076.         |    --Anonymous    ||.............. || .............. |
  1077.         |    --Simple       ||.............. || .............. |
  1078.         |    --Simple Prot  ||.............. || .............. |
  1079.         |    --Strong       ||.............. || .............. |
  1080.         +-------------------||---------------||----------------+
  1081.         | List              ||               ||                |
  1082.         |    -- 10 entries  ||.............. || .............. |
  1083.         |    -- 1000 entries||.............. || .............. |
  1084.         +-------------------||---------------||----------------+
  1085.         | Search             |single|subtree |single|subtree   |
  1086.         |                    |level |        |level |          |
  1087.         |                    |------|--------|------|----------|
  1088.         |    -- exact        |....  |......  |..... | ......   |
  1089.         |    -- leading sub  |....  |......  |..... | ......   |
  1090.         |    -- any sub      |....  |......  |..... | ......   |
  1091.         |    -- trailing sub |....  |......  |..... | ......   |
  1092.         |    -- approx       |....  |......  |..... | ......   |
  1093.         |    -- complex      |....  |......  |..... | ......   |
  1094.         |    -- return all   |....  |......  |..... | ......   |
  1095.         +--------------------|------|--------|------|----------|
  1096.         | Read              ||.............. || .............. |
  1097.         +-------------------||---------------||----------------+
  1098.         | Add               ||               ||                |
  1099.         |     0 siblings    ||.............. || .............. |
  1100.         |     10 siblings   ||.............. || .............. |
  1101.         |     1000 siblings ||.............. || .............. |
  1102.         +-------------------||---------------||----------------+
  1103.         | Modify            ||               ||                |
  1104.         |     10 siblings   ||.............. || .............. |
  1105.         |     1000 siblings ||.............. || .............. |
  1106.         +-------------------||---------------||----------------+
  1107.         | Modify RDN        ||               ||                |
  1108.         |     10 siblings   ||.............. || .............. |
  1109.         |     1000 siblings ||.............. || .............. |
  1110.         +-------------------||---------------||----------------+
  1111.         | Query rate        ||.............. || .............. |
  1112.         +-------------------||---------------||----------------+
  1113.  
  1114.           Table 3:  Speed of operations - non-default set-up
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Barker & Hedberg                                               [Page 20]
  1123.  
  1124. RFC 1564                      DSA Metrics                   January 1994
  1125.  
  1126.  
  1127. Security Considerations
  1128.  
  1129.    Security issues are not discussed in this memo.
  1130.  
  1131. Authors' Addresses
  1132.  
  1133.    Paul Barker
  1134.    Department of Computer Science
  1135.    University College London
  1136.    Gower Street
  1137.    London
  1138.    WC1E 6BT
  1139.    United Kingdom
  1140.  
  1141.    Phone: +44 71 380 7366
  1142.    Fax:   +44 71 387 1397
  1143.    EMail: P.Barker@cs.ucl.ac.uk
  1144.  
  1145.  
  1146.    Roland Hedberg
  1147.    Rekencentrum
  1148.    Delft Technical University
  1149.    Michiel de Ruyterweg 10-12
  1150.    Postbus 354, 2600 AJ Delft
  1151.    The Netherlands
  1152.  
  1153.    Phone: +31 15 785210
  1154.    EMail: Roland.Hedberg@rc.tudelft.nl
  1155.  
  1156.    OR
  1157.  
  1158.    Roland Hedberg
  1159.    Umdac
  1160.    University of Umea
  1161.    s-901 87 Umea
  1162.    Sweden
  1163.  
  1164.    Phone: +46 90 165204
  1165.    EMail: Roland.Hedberg@umdac.umu.se
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Barker & Hedberg                                               [Page 21]
  1179.  
  1180.