home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-asid-whois-schema-00.txt < prev    next >
Text File  |  1996-11-26  |  46KB  |  1,233 lines

  1.  
  2. ASID Working Group                                      Patrik Faltstrom
  3. INTERNET-DRAFT                                             Tele2/Swipnet
  4. Expires May 1997                                         Martin Hamilton
  5.                                                  Loughborough University
  6.                                                         Leslie L. Daigle
  7.                                         Bunyip Information Systems, Inc.
  8.                                                               Jon Knight
  9.                                                  Loughborough University
  10.                                                            November 1996
  11.  
  12.  
  13.                            WHOIS++ templates
  14.  
  15.              Filename: draft-ietf-asid-whois-schema-00.txt
  16.  
  17.  
  18.                           Status of this Memo
  19.  
  20.       This document is an Internet-Draft.  Internet-Drafts are working
  21.       documents of the Internet Engineering Task Force (IETF), its
  22.       areas, and its working groups.  Note that other groups may also
  23.       distribute working documents as Internet-Drafts.
  24.  
  25.       Internet-Drafts are draft documents valid for a maximum of six
  26.       months and may be updated, replaced, or obsoleted by other
  27.       documents at any time.  It is inappropriate to use Internet-
  28.       Drafts as reference material or to cite them other than as ``work
  29.       in progress.''
  30.  
  31.       To learn the current status of any Internet-Draft, please check
  32.       the ``1id-abstracts.txt'' listing contained in the Internet-
  33.       Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
  34.       (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
  35.       Coast), or ftp.isi.edu (US West Coast).
  36.  
  37.       Distribution of this document is unlimited.
  38.  
  39. Abstract
  40.  
  41.      WHOIS++ is a simple Internet search and retrieval protocol,
  42.      specified in RFC 1835, which allows clients and servers to exchange
  43.      structured data objects known as templates.  In the interests of
  44.      interoperability it is desirable to have a common base schema for
  45.      these templates.  This document suggests a schema drawn from
  46.      implementation and deployment experience to date with WHOIS++.
  47.  
  48.  
  49.    Table of Contents:
  50.  
  51.  
  52.  
  53.                                                                 [Page 1]
  54.  
  55. INTERNET-DRAFT                                             November 1996
  56.  
  57.  
  58.        1. Purpose and motivation
  59.        2. Scope of this document
  60.        3. What we did
  61.        4. Templates and clusters
  62.        5. Cluster definitions
  63.        6. Template definitions
  64.        7. System templates
  65.        8. Security considerations
  66.        9. Conclusions
  67.       10. Acknowledgements
  68.       11. References
  69.       12. Authors' addresses
  70.        A. APPENDIX A: Description of elementary attribute values
  71.        B. APPENDIX B: Representing the Dublin Core in WHOIS++
  72.  
  73. 1. Purpose and motivation
  74.  
  75.    The goal of this document is to stimulate discussion on the issue of
  76.    templates for WHOIS++ [1] databases.
  77.  
  78.    In particular we would like to recommend a few typical templates and
  79.    a set of attributes for them.  By recommending the use of particular
  80.    templates, we hope to standardize WHOIS++ databases and thus make
  81.    them easier to search.
  82.  
  83.    Of course we cannot demand that everyone use the same templates, but
  84.    it is still a good idea to recommend that people derive their own
  85.    templates from well known exemples. Amongst other things this allows
  86.    clients to behave rationally for all fields in a "base class".
  87.  
  88. 2. Scope of this document
  89.  
  90.    Note that we are not trying to describe all possible information that
  91.    could be put in a database but rather to cover common and useful
  92.    elements.
  93.  
  94. 3. What we did
  95.  
  96.    We looked at IETF drafts, the content of deployed WHOIS++ servers,
  97.    other White and Yellow Pages servers, and at the work of the Dublin
  98.    Core group [2] on cataloguing on-line document-like objects.
  99.  
  100.    The proposed templates are a mix of all these things but are most
  101.    strongly influenced by the templates defined by the IAFA working
  102.    group of the IETF [3]. In fact some of the text in this document is
  103.    taken verbatim from IAFA documents.
  104.  
  105.    We should also mention that wherever we though it was necessary we
  106.  
  107.  
  108.  
  109.                                                                 [Page 2]
  110.  
  111. INTERNET-DRAFT                                             November 1996
  112.  
  113.  
  114.    tried improving on existing ways of doing things, in particular we
  115.    tried to improve on the consistency of attribute naming and of the
  116.    general nomenclature.
  117.  
  118. 4. Templates and clusters
  119.  
  120.    To ease the understanding of how the templates are defined, consider
  121.    that each template is defined by attributes and clusters. Each
  122.    cluster is in turn also defined by attributes and clusters.  This
  123.    clustering principle is only used in this specification to make it
  124.    easier to describe what attributes should be grouped together, and
  125.    what attributes are required in a template.
  126.  
  127.    One can see the clustering principle we use in this document as a
  128.    sort of grammar.
  129.  
  130.    As an example, one can have the following cluster definition:
  131.  
  132.      Cluster INGREDIENTS
  133.  
  134.        Name:
  135.        Color:
  136.        Weight:
  137.        Volume:
  138.  
  139.    If the template definition then is
  140.  
  141.      Template DESSERT
  142.  
  143.        Desert:
  144.        Ingredients-(INGREDIENTS*):
  145.  
  146.    Then the following record is legal:
  147.  
  148.        Dessert: Chocolate Mousse
  149.        Ingredients-Name: Chocolate
  150.        Ingredients-Color: Brown
  151.        Ingredients-Weight: 150g
  152.        Ingredients-Name: Cream
  153.        Ingredients-Color: White
  154.        Ingredients-Weight: 2.5dl
  155.  
  156.    Each attribute may be repeated within one record (as you can see
  157.    above).
  158.  
  159.    It is important to note that the WHOIS++ protocol imposes ordering on
  160.    the attributes within the templates.  For example - if there were two
  161.    ADDRESS clusters included in an ORGANIZATION template, the attributes
  162.  
  163.  
  164.  
  165.                                                                 [Page 3]
  166.  
  167. INTERNET-DRAFT                                             November 1996
  168.  
  169.  
  170.    from each ADDRESS cluster would be grouped together.
  171.  
  172.    In the tables of attributes which follow, the "Rec. ?" heading is
  173.    used to indicate whether an attribute is recommended.
  174.  
  175. 5. Cluster definitions
  176.  
  177.    ADDRESS cluster
  178.  
  179.    This cluster describes the physical address of an object.
  180.  
  181.    If any of the more detailed Address-* attributes are specified, they
  182.    should mirror the content of the Address attribute which should
  183.    always be specified.
  184.  
  185.  
  186.        +------------------+--------+--------------------------------+
  187.        |Name              | Rec. ? | Description                    |
  188.        +------------------+--------+--------------------------------+
  189.        |Address:          | R      | Full address                   |
  190.        |Address-Type:     |        | Type of address, e.g. Work or  |
  191.        |                  |        |   Home                         |
  192.        |Address-City:     | R      | City                           |
  193.        |Address-Country:  | R      | Country                        |
  194.        |Address-Room:     |        | Room                           |
  195.        |Address-State:    |        | State, departement or province |
  196.        |Address-Street:   |        | Street                         |
  197.        |Address-Zip-Code: |        | Zip code                       |
  198.        +------------------+--------+--------------------------------+
  199.  
  200.  
  201.    CERTNAME cluster
  202.  
  203.    This cluster is used to describe the name of an organization issuing
  204.    a certificate, Certificate Revocation List (CRL) or the name of a
  205.    certificate holder.
  206.  
  207.  
  208.                +------------+--------+---------------------+
  209.                |Name        | Rec. ? | Description         |
  210.                +------------+--------+---------------------+
  211.                |Country:    | R      | Country             |
  212.                |Name:       | R      | Organization name   |
  213.                |Department: |        | Organizational unit |
  214.                |CommonName: |        | Common name         |
  215.                +------------+--------+---------------------+
  216.  
  217.  
  218.  
  219.  
  220.  
  221.                                                                 [Page 4]
  222.  
  223. INTERNET-DRAFT                                             November 1996
  224.  
  225.  
  226.    CERTVALID cluster
  227.  
  228.    This cluster is used to describe validity period of a certifi-
  229.    cate/CRL.
  230.  
  231.  
  232.         +----------------------+--------+--------------------------+
  233.         |Name                  | Rec. ? | Description              |
  234.         +----------------------+--------+--------------------------+
  235.         |Date-Valid-NotBefore: | R      | Start of validity period |
  236.         |Date-Valid-NotAfter:  | R      | End of validity period   |
  237.         +----------------------+--------+--------------------------+
  238.  
  239.  
  240.    EMAIL cluster
  241.  
  242.    This cluster describes the email address of an object.
  243.  
  244.    Separate forms are given for Internet and X.400/MHS style email
  245.    addresses, so as to avoid confusion between the two.
  246.  
  247.  
  248.              +------------+--------+-------------------------+
  249.              |Name        | Rec. ? | Description             |
  250.              +------------+--------+-------------------------+
  251.              |Email:      |        | Electronic mail address |
  252.              |Email-X400: |        | X.400 mail address      |
  253.              +------------+--------+-------------------------+
  254.  
  255.  
  256.    NAME cluster
  257.  
  258.    This cluster may be used to describe a person's name.  Several permu-
  259.    tations are provided, to cater for the various approaches to writing
  260.    names in different cultures.
  261.  
  262.    If any of the more detailed Name-* attributes are specified, they
  263.    should mirror the content of the Name attribute which should always
  264.    be specified.
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.                                                                 [Page 5]
  278.  
  279. INTERNET-DRAFT                                             November 1996
  280.  
  281.  
  282.         +-------------+--------+-----------------------------------+
  283.         |Name         | Rec. ? | Description                       |
  284.         +-------------+--------+-----------------------------------+
  285.         |Name:        | R      | Full name                         |
  286.         |Name-First:  |        | First name                        |
  287.         |Name-Last:   |        | Last name                         |
  288.         |Name-Middle: |        | Middle name or initial            |
  289.         |Name-Prefix: |        | Includes idenfitiers such as Dr., |
  290.         |             |        |   Ms., Prof.                      |
  291.         |Name-Suffix: |        | Includes identifiers such as Jr., |
  292.         |             |        |   Sr., ...                        |
  293.         +-------------+--------+-----------------------------------+
  294.  
  295.  
  296.    ORGANIZATION cluster
  297.  
  298.    This cluster is used to describe an organization in a particular tem-
  299.    plate.
  300.  
  301.  
  302.         +-----------+--------+-------------------------------------+
  303.         |Name       | Rec. ? | Description                         |
  304.         +-----------+--------+-------------------------------------+
  305.         |(ADDRESS*) |        | Address of organization             |
  306.         |(EMAIL*)   |        | Electronic mail address(es) of      |
  307.         |           |        |   organization                      |
  308.         |Name:      | R      | Name of organization                |
  309.         |(PHONE*)   |        | Telephone number(s) of organization |
  310.         |Type:      |        | Type of organization (University,   |
  311.         |           |        |   commercial, etc.)                 |
  312.         |URI:       |        | Uniform Resource Identifier of      |
  313.         |           |        |   organization                      |
  314.         +-----------+--------+-------------------------------------+
  315.  
  316.  
  317.    PERSON cluster
  318.  
  319.    This cluster is used to describe Homo Sapiens.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.                                                                 [Page 6]
  334.  
  335. INTERNET-DRAFT                                             November 1996
  336.  
  337.  
  338.   +-----------------------------+--------+-------------------------------+
  339.   |Name                         | Rec. ? | Description                   |
  340.   +-----------------------------+--------+-------------------------------+
  341.   |Appointment-Time:            |        | Appointment time              |
  342.   |Department:                  | R      | Department to which person    |
  343.   |                             |        |   belongs in organization     |
  344.   |(EMAIL*)                     |        | Electronic mail address(es)   |
  345.   |                             |        |   of person                   |
  346.   |(ADDRESS*)                   |        | Address of person             |
  347.   |(PHONE*)                     |        | Telephone contact information |
  348.   |                             |        |   of person                   |
  349.   |(NAME*)                      | R      | Name of person                |
  350.   |Organization-(ORGANIZATION*) | R      | Information                   |
  351.   |                             |        |   about organization where    |
  352.   |                             |        |   person works                |
  353.   |Title:                       |        | Title of person within        |
  354.   |                             |        |   organization                |
  355.   |Homepage-URI:                |        | Uniform Resource              |
  356.   |                             |        |   Identifier of person's      |
  357.   |                             |        |   home page                   |
  358.   |Picture-URI:                 |        | Uniform Resource              |
  359.   |                             |        |   Identifier of person's      |
  360.   |                             |        |   picture                     |
  361.   +-----------------------------+--------+-------------------------------+
  362.  
  363.  
  364.    PHONE cluster
  365.  
  366.    This cluster is used to hold telephone contact details for an object.
  367.  
  368.  
  369.          +------------+--------+----------------------------------+
  370.          |Name        | Rec. ? | Description                      |
  371.          +------------+--------+----------------------------------+
  372.          |Phone-Type: |        | Type of phone, e.g. Work or Home |
  373.          |Cellular:   |        | Cellular telephone number        |
  374.          |Fax:        |        | Fax telephone number             |
  375.          |Pager:      |        | Pager telephone number           |
  376.          |Phone:      |        | Telephone number                 |
  377.          +------------+--------+----------------------------------+
  378.  
  379.  
  380.    PGP-PUBLIC-KEY cluster
  381.  
  382.    This cluster is used to include or refer to a PGP [4] public key.
  383.  
  384.    If included directly, the PGP public key should be base64 encoded
  385.    ("ASCII armored") for portability.
  386.  
  387.  
  388.  
  389.                                                                 [Page 7]
  390.  
  391. INTERNET-DRAFT                                             November 1996
  392.  
  393.  
  394.         +--------------------+--------+----------------------------+
  395.         |Name                | Rec. ? | Description                |
  396.         +--------------------+--------+----------------------------+
  397.         |PGP-Version:        | R      | PGP version, e.g. 2.6.3i   |
  398.         |PGP-Key-ID:         |        | Public key ID              |
  399.         |PGP-Key-Name:       |        | Name associated with PGP   |
  400.         |                    |        |   public key               |
  401.         |PGP-Public-Key:     | R      | base64 encoded PGP         |
  402.         |                    |        |   public key               |
  403.         |PGP-Public-Key-URI: |        | Uniform Resource           |
  404.         |                    |        |   Identifier of public key |
  405.         +--------------------+--------+----------------------------+
  406.  
  407.  
  408.    RECORD cluster
  409.  
  410.    This cluster is used to hold administrative information about a
  411.    record.
  412.  
  413.  
  414.    +---------------------------------------+--------+-------------------+
  415.    |Name                                   | Rec. ? | Description       |
  416.    +---------------------------------------+--------+-------------------+
  417.    |Record-Creation-Contact-(PERSON*)      |        | Contact           |
  418.    |                                       |        |   information for |
  419.    |                                       |        |   person who      |
  420.    |                                       |        |   created this    |
  421.    |                                       |        |   record          |
  422.    |Record-Creation-Date:                  |        | The date this     |
  423.    |                                       |        |   record was      |
  424.    |                                       |        |   created         |
  425.    |Record-Last-Modified-Contact-(PERSON*) |        | Contact           |
  426.    |                                       |        |   information for |
  427.    |                                       |        |   person who last |
  428.    |                                       |        |   modified this   |
  429.    |                                       |        |   record          |
  430.    |Record-Last-Modified-Date:             | R      | The date this     |
  431.    |                                       |        |   record was last |
  432.    |                                       |        |   modified        |
  433.    |Record-Last-Verified-Contact-(PERSON*) |        | Contact           |
  434.    |                                       |        |   information for |
  435.    |                                       |        |   person who last |
  436.    |                                       |        |   verified this   |
  437.    |                                       |        |   record          |
  438.    |Record-Last-Verified-Date:             |        | The date this     |
  439.    |                                       |        |   record was last |
  440.    |                                       |        |   verified        |
  441.    +---------------------------------------+--------+-------------------+
  442.  
  443.  
  444.  
  445.                                                                 [Page 8]
  446.  
  447. INTERNET-DRAFT                                             November 1996
  448.  
  449.  
  450. 6. Template definitions
  451.  
  452.  
  453.  
  454.    DOCUMENT template
  455.  
  456.    This template is used to hold information about document-like
  457.    objects.
  458.  
  459.    Note that an expanded set of attributes may be used to fully repre-
  460.    sent Dublin Core objects, as per Appendix B.  At the time of writing
  461.    these were still under development.
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.                                                                 [Page 9]
  502.  
  503. INTERNET-DRAFT                                             November 1996
  504.  
  505.  
  506.  +--------------------------+--------+------------------------------------+
  507.  |Name                      | Rec. ? | Description                        |
  508.  +--------------------------+--------+------------------------------------+
  509.  |Subject:                  |        | The topic addressed by the work    |
  510.  |Title:                    |        | The name of the object             |
  511.  |Author:                   |        | The person(s) primarily            |
  512.  |                          |        |   responsible for the intellectual |
  513.  |                          |        |   content of the object            |
  514.  |Author-(PERSON*)          |        | See Author:                        |
  515.  |Publisher:                |        | The agent or agency                |
  516.  |                          |        |   responsible for                  |
  517.  |                          |        |   making the object available      |
  518.  |Publisher-(ORGANIZATION*) |        | See Publisher:                     |
  519.  |Other-Agent               |        | The person(s), such as editors     |
  520.  |                          |        |   and transcribers, who have made  |
  521.  |                          |        |   other significant intellectual   |
  522.  |                          |        |   contributions to the work        |
  523.  |Other-Agent-(PERSON*)     |        | See Other-Agent:                   |
  524.  |Date:                     |        | The date of publication            |
  525.  |Object-Type:              |        | The genre of the object, such as   |
  526.  |                          |        |   novel, poem, or dictionary       |
  527.  |Form:                     |        | The physical manifestation of the  |
  528.  |                          |        |   object, such as Postscript file  |
  529.  |                          |        |   or Windows executable file       |
  530.  |Identifier:               |        | String or number used to uniquely  |
  531.  |                          |        |   identify the object              |
  532.  |Relation:                 |        | Relationship to other objects      |
  533.  |Source:                   |        | Objects, either print or           |
  534.  |                          |        |   electronic, from which this      |
  535.  |                          |        |   object is derived, if            |
  536.  |                          |        |   applicable                       |
  537.  |Language:                 |        | Language of the intellectual       |
  538.  |                          |        |   content                          |
  539.  |Coverage:                 |        | The spatial locations and temporal |
  540.  |                          |        |   durations characteristic of the  |
  541.  |                          |        |   object                           |
  542.  |(RECORD*)                 |        | Record information                 |
  543.  +--------------------------+--------+------------------------------------+
  544.  
  545.  
  546.    ORGANIZATION template
  547.  
  548.    This template is used to hold details about an organisation.
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.                                                                [Page 10]
  558.  
  559. INTERNET-DRAFT                                             November 1996
  560.  
  561.  
  562.    +--------------------------+--------+---------------------------------+
  563.    |Name                      | Rec. ? | Description                     |
  564.    +--------------------------+--------+---------------------------------+
  565.    |Keywords:                 |        | Any keywords which might        |
  566.    |                          |        |   facilitate finding this       |
  567.    |                          |        |   record                        |
  568.    |Internet-Domain:          |        | Organization's Internet         |
  569.    |                          |        |   domain name                   |
  570.    |Domain-Contact-(PERSON*): |        | Admin contact for this          |
  571.    |                          |        |   domain                        |
  572.    |(ORGANIZATION*)           |        | Actual organization information |
  573.    |(RECORD*)                 |        | Record information              |
  574.    +--------------------------+--------+---------------------------------+
  575.  
  576.  
  577.    SERVICE template
  578.  
  579.    This template is used to describe an on-line service.
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.                                                                [Page 11]
  614.  
  615. INTERNET-DRAFT                                             November 1996
  616.  
  617.  
  618.   +---------------------------+--------+---------------------------------+
  619.   |Name                       | Rec. ? | Description                     |
  620.   +---------------------------+--------+---------------------------------+
  621.   |Title:                     | R      | Title of object                 |
  622.   |Category:                  |        | Type of object                  |
  623.   |Short-Title:               |        | Summary title                   |
  624.   |Alternative-Title:         |        | An alternative to the Title     |
  625.   |                           |        |   or Short-Title fields         |
  626.   |Source:                    |        | Information as to the           |
  627.   |                           |        |   definitive version            |
  628.   |Discussion:                |        | Appropriate discussion forums   |
  629.   |Language:                  |        | The language of the object      |
  630.   |ISSN:                      |        | International Standard Serial   |
  631.   |                           |        |   Number if appropriate         |
  632.   |URI:                       | R      | Uniform Resource Identifier     |
  633.   |Admin-(USER*)              |        | Admin contact information       |
  634.   |Owner-(ORGANIZATION*)      |        | The organization                |
  635.   |                           |        |   sponsoring the service        |
  636.   |Sponsoring-(ORGANIZATION*) |        | The                             |
  637.   |                           |        |   sponsoring organization       |
  638.   |Publisher-(ORGANIZATION*)  |        | The organisation                |
  639.   |                           |        |   publishing the service        |
  640.   |Description:               | R      | Free text description           |
  641.   |Authentication:            |        | Authentication information      |
  642.   |Registration:              |        | How to register for this        |
  643.   |                           |        |   service                       |
  644.   |Charging-Policy:           |        | Description of any              |
  645.   |                           |        |   charging mechanism in place   |
  646.   |Access-Policy:             |        | Policies and restrictions       |
  647.   |                           |        |   for using this service        |
  648.   |Access-Times:              |        | Time ranges for mandatory       |
  649.   |                           |        |   or preferred access           |
  650.   |Keywords:                  | R      | Keywords appropriate for        |
  651.   |                           |        |   describing this service       |
  652.   |Subject-Descriptor-Scheme: |        | Name of                         |
  653.   |                           |        |   classification scheme         |
  654.   |Subject-Descriptor:        |        | A classification                |
  655.   |                           |        |   mark for this resource        |
  656.   |To-Be-Reviewed-Date:       |        | Date on which the               |
  657.   |                           |        |   resource is to be re-assessed |
  658.   |Comments:                  |        | Comments by the template        |
  659.   |                           |        |   creators                      |
  660.   |Destination:               |        | Which database the              |
  661.   |                           |        |   template is destined for      |
  662.   |(PGP-PUBLIC-KEY*)          |        | PGP public key(s)               |
  663.   |(RECORD*)                  |        | Record information              |
  664.   +---------------------------+--------+---------------------------------+
  665.  
  666.  
  667.  
  668.  
  669.                                                                [Page 12]
  670.  
  671. INTERNET-DRAFT                                             November 1996
  672.  
  673.  
  674.    USER template
  675.  
  676.    This template is used to hold details about a person.
  677.  
  678.  
  679.     +------------------+--------+-------------------------------------+
  680.     |Name              | Rec. ? | Description                         |
  681.     +------------------+--------+-------------------------------------+
  682.     |Keywords:         |        | Any keywords which might facilitate |
  683.     |                  |        |   finding this record               |
  684.     |(PERSON*)         |        | Actual user information             |
  685.     |(PGP-PUBLIC-KEY*) |        | Their PGP public                    |
  686.     |                  |        |   key(s)                            |
  687.     |(RECORD*)         |        | Record information                  |
  688.     +------------------+--------+-------------------------------------+
  689.  
  690.  
  691.    X509-CERT template
  692.  
  693.    This template is used to describe an X.509 [5] certificate.
  694.  
  695.  
  696.       +--------------------+--------+--------------------------------+
  697.       |Name                | Rec. ? | Description                    |
  698.       +--------------------+--------+--------------------------------+
  699.       |X509-Version:       |        | Certificate version number     |
  700.       |SerialNumber:       | R      | Certificate serial number      |
  701.       |Signature:          |        | Signature of issuer            |
  702.       |Issuer-(CERTNAME*)  | R      | Issuer of certificate          |
  703.       |(CERTVALID*)        |        | Validity period of certificate |
  704.       |Subject-(CERTNAME*) |        | Subject of certificate         |
  705.       |Subject-PublicKey:  |        | Public key of subject          |
  706.       |Certificate:        | R      | The certificate                |
  707.       |(RECORD*)           |        | Record information             |
  708.       +--------------------+--------+--------------------------------+
  709.  
  710.  
  711.    X509-CRL template.
  712.  
  713.    This template is used to describe a Certificate Revocation List.
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.                                                                [Page 13]
  726.  
  727. INTERNET-DRAFT                                             November 1996
  728.  
  729.  
  730.           +-------------------+--------+------------------------+
  731.           |Name               | Rec. ? | Description            |
  732.           +-------------------+--------+------------------------+
  733.           |Signature:         |        | Signature of issuer    |
  734.           |Issuer-(CERTNAME*) |        | Issuer of CRL          |
  735.           |(CERTVALID*)       |        | Validity period of CRL |
  736.           |CRL:               | R      | The CRL                |
  737.           |(RECORD*)          |        | Record information     |
  738.           +-------------------+--------+------------------------+
  739.  
  740.  
  741. 7. System templates
  742.  
  743.  
  744.  
  745.    CONSTRAINT template
  746.  
  747.    This template is used by the "constraints" command to list valid con-
  748.    straints supported by the server.
  749.  
  750.  
  751.      +------------+--------+------------------------------------------+
  752.      |Name        | Rec. ? | Description                              |
  753.      +------------+--------+------------------------------------------+
  754.      |Default:    | R      | The default value for this constraint    |
  755.      |Constraint: | R      | The constraint described                 |
  756.      |Range:      |        | A list of values supported by the server |
  757.      |(RECORD*)   |        | Record information                       |
  758.      +------------+--------+------------------------------------------+
  759.  
  760.  
  761.    HELP template
  762.  
  763.    This template is used by the "help" command to access a simple help
  764.    subsystem giving information about the available commands.
  765.  
  766.  
  767.            +-------------+--------+----------------------------+
  768.            |Name         | Rec. ? | Description                |
  769.            +-------------+--------+----------------------------+
  770.            |Command:     | R      | Command name               |
  771.            |Description: | R      | Description of the command |
  772.            |Topic:       | R      | Command category           |
  773.            |Usage:       | R      | Command usage              |
  774.            |(RECORD*)    |        | Record information         |
  775.            +-------------+--------+----------------------------+
  776.  
  777.  
  778.  
  779.  
  780.  
  781.                                                                [Page 14]
  782.  
  783. INTERNET-DRAFT                                             November 1996
  784.  
  785.  
  786.    SERVERHANDLE template
  787.  
  788.    This template describes a WHOIS++ server.
  789.  
  790.  
  791.   +-----------------------------+--------+-------------------------------+
  792.   |Name                         | Rec. ? | Description                   |
  793.   +-----------------------------+--------+-------------------------------+
  794.   |Administrator-(PERSON*)      |        | Contact information about     |
  795.   |                             |        |   the person administering    |
  796.   |                             |        |   the server                  |
  797.   |City:                        |        | City where the server resides |
  798.   |Country:                     |        | Country where the server      |
  799.   |                             |        |   resides                     |
  800.   |Description:                 |        | Human readable information    |
  801.   |                             |        |   about the server            |
  802.   |Host-Name:                   | R      | Host name                     |
  803.   |Host-Port:                   | R      | Port name used by server      |
  804.   |Organization-(ORGANIZATION*) |        | Organization responsible for  |
  805.   |                             |        |   the server                  |
  806.   |Server-Handle:               | R      | Registered server handle      |
  807.   |State:                       |        | State, departement or         |
  808.   |                             |        |   province where the server   |
  809.   |                             |        |   resides                     |
  810.   |(PGP-PUBLIC-KEY*)            |        | Server's PGP key              |
  811.   |(RECORD*)                    |        | Record information            |
  812.   +-----------------------------+--------+-------------------------------+
  813.  
  814.  
  815.    VERSION template
  816.  
  817.    This template is used by the "version" command to obtain the current
  818.    version of the WHOIS++ protocol supported by the server.
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.                                                                [Page 15]
  838.  
  839. INTERNET-DRAFT                                             November 1996
  840.  
  841.  
  842.    +-------------------------+--------+---------------------------------+
  843.    |Name                     | Rec. ? | Description                     |
  844.    +-------------------------+--------+---------------------------------+
  845.    |Database-Name:           |        | Name of the underlying database |
  846.    |                         |        |   program                       |
  847.    |Database-Version:        |        | Version of the underlying       |
  848.    |                         |        |   database program              |
  849.    |Program-Author-(PERSON*) |        | Information about the server    |
  850.    |                         |        |   programmer                    |
  851.    |Program-Name:            |        | Name of the server program      |
  852.    |Program-Version:         |        | Version of the server program   |
  853.    |Version:                 | R      | Version of the WHOIS++ protocol |
  854.    |(RECORD*)                |        | Record information              |
  855.    +-------------------------+--------+---------------------------------+
  856.  
  857.  
  858. 8. Security considerations
  859.  
  860.    The proposed common set of WHOIS++ templates does not introduce any
  861.    new security related issues.
  862.  
  863.    One of the main uses to which the WHOIS++ templates are expected to
  864.    be put is in the cataloguing of on-line information.  Implementations
  865.    which manipulate externally produced cataloguing data should treat it
  866.    with caution - for example, to avoid buffer overrun problems and
  867.    unexpected evaluation of metacharacters.
  868.  
  869. 9. Conclusions
  870.  
  871.    This document has outlined a number of template definitions which it
  872.    is appropriate to use within a WHOIS++ based system.  Whilst it is
  873.    not going to be possible to satisfy everyone's requirements in a sin-
  874.    gle schema, we believe that the above templates cater for the major-
  875.    ity of cases.
  876.  
  877.    Further discussion of this work is directed to the WHOIS++ schema
  878.    mailing list - whoispp-schema@bunyip.com.  Send mail to major-
  879.    domo@bunyip.com with the message body "subscribe whoispp-schema" to
  880.    join the list.
  881.  
  882. 10. Acknowledgements
  883.  
  884.    Thanks to Lorcan Dempsey and Rachel Heery for their comments on draft
  885.    versions of this document.
  886.  
  887.    This work was supported by UK Electronic Libraries Programme (eLib)
  888.    grant 12/39/01, the European Commission's Telematics for Research
  889.    Programme grant RE 1004, and National Science Foundation grant
  890.  
  891.  
  892.  
  893.                                                                [Page 16]
  894.  
  895. INTERNET-DRAFT                                             November 1996
  896.  
  897.  
  898.    NCR-9521074.
  899.  
  900. 11. References
  901.  
  902. Request for Comments (RFC) documents and Internet Drafts are available
  903. from <URL:ftp://ftp.internic.net/rfc/>, and numerous mirror sites.
  904.  
  905.  
  906.      [1] P. Deutsch, R. Schoultz, P. Faltstrom and C.  Weider.  "Archi-
  907.      tecture of the WHOIS++ service", RFC 1835. August 1995.
  908.  
  909.      [2] S. Weibel.  "Metadata: The Foundations of Resource Descrip-
  910.      tion", D-Lib Magazine, July 1995.
  911.      <URL:http://www.ukoln.ac.uk/dlib/dlib/July95/07weibel.html>
  912.      <URL:http://www.dlib.org/dlib/July95/07weibel.html>
  913.  
  914.      [3] P. Deutsch, A. Emtage, M. Koster, and M. Stumpf.  "Publishing
  915.      Information on the Internet with Anonymous FTP", Internet Draft
  916.      (work in progress), June 1995.
  917.  
  918.      [4] D. Atkins, W. Stallings, P. Zimmermann.  "PGP Message Exchange
  919.      Formats", RFC 1991.  August 1996.
  920.  
  921.      [5] ITU-T Recommendation X.509 (1993) | ISO/IEC 9594-8: 1993,
  922.      Information Technology - Open Systems Interconnection - The Direc-
  923.      tory: Authentication Framework.
  924.  
  925.      [6] D. Crocker.  "Standard for the format of ARPA Internet text
  926.      messages", RFC 822.  August 1982.
  927.  
  928.      [7] R. Braden.  "Requirements for Internet hosts - application and
  929.      support", RFC 1123.  October 1989.
  930.  
  931.      [8] BibTeX(1) Manual Page, Oren Patashnik, June 1984.
  932.  
  933.      [9] S. Weibel, E. Miller.  Dublin Core Home Page.
  934.      <URL:http://purl.org/metadata/dublin_core>
  935.  
  936.      [10] L. Dempsey, S. Weibel.  "The Warwick Metadata Workshop: A
  937.      Framework for the Deployment of Resource Description", D-Lib Maga-
  938.      zine, July/August 1996.
  939.      <URL:http://www.ukoln.ac.uk/dlib/dlib/july96/07weibel.html>
  940.      <URL:http://www.dlib.org/dlib/july96/07weibel.html>
  941.  
  942. 12. Authors' addresses
  943.  
  944.    Patrik Faltstrom
  945.    Tele2/Swipnet
  946.  
  947.  
  948.  
  949.                                                                [Page 17]
  950.  
  951. INTERNET-DRAFT                                             November 1996
  952.  
  953.  
  954.    Box 62
  955.    Borgarfjordsgatan 16
  956.    S-164 94 Kista
  957.    Sweden
  958.  
  959.    Email: paf@swip.net
  960.  
  961.  
  962.    Leslie L. Daigle
  963.    Bunyip Information Systems Inc.
  964.    310 Ste. Catherine St. West
  965.    Suite 300
  966.    Montreal, Quebec, Canada
  967.    H2X 2A1
  968.  
  969.    Email: leslie@bunyip.com
  970.  
  971.  
  972.    Martin Hamilton
  973.    Department of Computer Studies
  974.    Loughborough University of Technology
  975.    Leics. LE11 3TU, UK
  976.  
  977.    Email: m.t.hamilton@lut.ac.uk
  978.  
  979.  
  980.    Jon Knight
  981.    Department of Computer Studies
  982.    Loughborough University of Technology
  983.    Leics. LE11 3TU, UK
  984.  
  985.    Email: j.p.knight@lut.ac.uk
  986.  
  987.  
  988. APPENDIX A: Description of elementary attribute values
  989.  
  990.    The IAFA draft and RFC822 [6] already define formats for:
  991.  
  992.      email addresses
  993.      hostnames
  994.      IP addresses
  995.      numeric values
  996.      dates
  997.      times
  998.      time ranges
  999.      telephone numbers
  1000.      latitude and longitudes
  1001.      person names
  1002.  
  1003.  
  1004.  
  1005.                                                                [Page 18]
  1006.  
  1007. INTERNET-DRAFT                                             November 1996
  1008.  
  1009.  
  1010.    Here is a reminder of what those elementary data elements should look
  1011.    like according to IAFA:
  1012.  
  1013.    All electronic mail (Email addresses must be as defined in RFC 822,
  1014.    Section 6.  Names and comments may be included in the Email address.
  1015.    For example, both "John Doe" <jd@ftp.bar.org> and jd@ftp.bar.org are
  1016.    valid email addresses.
  1017.  
  1018.    All hostnames are to be given as Fully Qualified Domain Names as
  1019.    defined in RFC 1034, Section 3.  For example: "foo.bar.com"
  1020.  
  1021.    All host IP addresses are given in "dotted-quad" (or "dotted-
  1022.    decimal") notation.  For example: "127.0.0.1"
  1023.  
  1024.    All numeric values are in decimal unless otherwise stated.
  1025.  
  1026.    Dates/times must be given as defined in RFC 822, Section 5.1 and mod-
  1027.    ified in RFC 1123 [7], Section 5.2.14:
  1028.  
  1029.    date-time   =  [ day "," ] date [time]
  1030.    day         =  "Mon"  / "Tue" /  "Wed"  / "Thu"
  1031.                /  "Fri"  / "Sat" /  "Sun"
  1032.    date        = 1*2DIGIT month 2*4DIGIT
  1033.                                          ; day month year
  1034.                                          ;  e.g. 20 Jun 1982
  1035.    month       =  "Jan"  /  "Feb" /  "Mar"  /  "Apr"
  1036.                        /  "May"  /  "Jun" /  "Jul"  /  "Aug"
  1037.                        /  "Sep"  /  "Oct" /  "Nov"  /  "Dec"
  1038.    time        =  hour zone              ; ANSI
  1039.    hour        =  2DIGIT ":" 2DIGIT [":" 2DIGIT]
  1040.                                          ; 00:00:00 - 23:59:59
  1041.    zone        =  "UT"  / "GMT"          ; Universal Time
  1042.                                          ; North American : UT
  1043.                /  "EST" / "EDT"          ;  Eastern:  - 5/ - 4
  1044.                /  "CST" / "CDT"          ;  Central:  - 6/ - 5
  1045.                /  "MST" / "MDT"          ;  Mountain: - 7/ - 6
  1046.                /  "PST" / "PDT"          ;  Pacific:  - 8/ - 7
  1047.                                          ;
  1048.                / ( ("+" / "-") 4DIGIT )  ; Local differential
  1049.                                          ;  hours+min. (HHMM)
  1050.  
  1051.    For example the string "Sat, 18 Jun 1993 12:36:47 -0500" is a valid
  1052.    date, and the string "12:36:47 GMT" is a valid time.  Quoting from
  1053.    RFC 1123, Section 5.2.14: "There is a strong trend towards the use of
  1054.    numeric timezone indicators, and implementations SHOULD use numeric
  1055.    timezones instead of timezone names.  However, all implementations
  1056.    MUST accept either notation.  If timezone names are used, they MUST
  1057.    be exactly as defined in RFC 822."
  1058.  
  1059.  
  1060.  
  1061.                                                                [Page 19]
  1062.  
  1063. INTERNET-DRAFT                                             November 1996
  1064.  
  1065.  
  1066.    Time ranges (or periods) must be specified as pairs of time values
  1067.    (as defined above in note (5)), separated by a "/".  Multiple time
  1068.    ranges are separated by whitespace.  All times in a range should be
  1069.    specified with the same timezone.  For example 12:00 GMT / 05:45 GMT.
  1070.  
  1071.    "whitespace" is defined as one or more blank (hex 0x20) and/or tab
  1072.    (octal 11) ASCII characters.
  1073.  
  1074.    References to "UT" mean Universal Time (also known as Greenwich Mean
  1075.    Time or "GMT").
  1076.  
  1077.    All telephone numbers are to be given as a minimum in full, with a
  1078.    leading '+' and country and routing codes without non-space separa-
  1079.    tors.  The number should be given assuming someone calling interna-
  1080.    tionally (without local access codes).  The number given in the local
  1081.    convention may optionally be specified in brackets. For example,
  1082.    Telephone: +44 71 732 8011 or Telephone: +1 514 875 8189
  1083.    (0514-875-8611).
  1084.  
  1085.    Latitude and longitude are specified in that order as
  1086.    CDD.MM.SS/CDD.MM.SS where
  1087.  
  1088.      DD is in degrees
  1089.      MM is in minutes
  1090.      SS is in seconds
  1091.      C is the direction designator which is for latitude
  1092.  
  1093.    "+" is north of the equator and "-" is south of the equator. For lon-
  1094.    gitude "+" is west of the Greenwich meridian and "-" is east of the
  1095.    Greenwich meridian. The double quotes (") are not part of the desig-
  1096.    nator, but are used here to delimit the symbols.
  1097.  
  1098.    Person name fields should conform to a particular format (based on
  1099.    BibTeX [8]), so that they can be parsed into parts.  A name can have
  1100.    four parts: first, von, last, junior, each of which can consist of
  1101.    more than one word.  For example, "John Paul von Braun, Jr." has
  1102.    "John Paul" as the first part, "von" as the von part, "Braun" as the
  1103.    last part, and "Jr." as the junior part Use one of these formats for
  1104.    a name:
  1105.  
  1106.      First von Last
  1107.      von Last, First
  1108.      von Last, Junior, First
  1109.  
  1110.    The last part is assumed to be one word, or all the words after the
  1111.    von part.  Anything in braces will be treated as one word, so use
  1112.    braces to surround last names that contain more than one word. The
  1113.    von part is recognized by looking for words that begin with lowercase
  1114.  
  1115.  
  1116.  
  1117.                                                                [Page 20]
  1118.  
  1119. INTERNET-DRAFT                                             November 1996
  1120.  
  1121.  
  1122.    letters.  When possible, enter the full first name(s).  Actually, the
  1123.    rules for isolating the name parts are a bit more complicated, so
  1124.    they do the right thing for names like "de la Grand Round, Chuck".
  1125.    If there are multiple authors or editors, they should all be sepa-
  1126.    rated by the word and.
  1127.  
  1128.  
  1129. APPENDIX B: Representing Dublin Core in WHOIS++
  1130.  
  1131.    The Dublin Core is a simple resource description format which arose
  1132.    out of a loose grouping of "librarians, archivists, humanities schol-
  1133.    ars and geographers, as well as standards makers in the Internet,
  1134.    Z39.50 and Standard Generalized Markup Language (SGML) communities"
  1135.    [2].
  1136.  
  1137.    This document proposes a mapping from the abstract model of the
  1138.    Dublin Core to WHOIS++.  We suggest that the Dublin Core element set
  1139.    [9] (with the above punctuation) be used as WHOIS++ attributes, and
  1140.    that the template type "DOCUMENT" be used to represent a WHOIS++ tem-
  1141.    plate which uses the Dublin Core element set.  For example, a "Title"
  1142.    element which had the value "Cities of The Red Night" would be repre-
  1143.    sented within WHOIS++ as the attribute/value pair:
  1144.  
  1145.      Title: Cities of The Red Night
  1146.  
  1147.    One aspect of the Dublin Core does not translate directly to WHOIS++
  1148.    - each element may have additional qualifying sub-elements, such as
  1149.    "scheme" and "type" associated with it.  This provides the creator of
  1150.    the record with a way of indicating additional semantics, e.g.  the
  1151.    classification scheme being used in the "Subject" element.
  1152.  
  1153.    Since WHOIS++, like most Internet based search and retrieval proto-
  1154.    cols, is attribute/value oriented, it is necessary to find a place to
  1155.    put this extra information.  We propose that it be placed in an addi-
  1156.    tional attribute/value pair which precedes the main information about
  1157.    the element.  For example, if the subject classification for the
  1158.    above book were 813 in the Dewey Decimal system, the resulting Dublin
  1159.    Core elements expressed via WHOIS++ might look like this:
  1160.  
  1161.      Subject-Scheme: DDC
  1162.      Subject: 813
  1163.  
  1164.    Since the order of the attribute/value pairs in a WHOIS++ record is
  1165.    significant, this provides a simple and easily implemented mechanism
  1166.    for grouping together elements and their qualifying information.
  1167.  
  1168.    Needless to say, scheme information should only appear in the WHOIS++
  1169.    record if the attribute it qualifies also appears!
  1170.  
  1171.  
  1172.  
  1173.                                                                [Page 21]
  1174.  
  1175. INTERNET-DRAFT                                             November 1996
  1176.  
  1177.  
  1178.    It is important to note that the Dublin Core element set is intended
  1179.    for use in describing document-like objects, and not as a means of
  1180.    describing arbitrary objects.  Furthermore, the number of elements is
  1181.    strictly limited in the interests of interoperability.
  1182.  
  1183.    Work is ongoing on the Warwick Framework [10], which attempts to pro-
  1184.    vide a mechanism for packaging together collections of descriptive
  1185.    information.  It is envisaged that this would be used in cases where
  1186.    the Dublin Core element set did not provide enough descriptive capa-
  1187.    bility.  This is a subject for further study.
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.                                                                [Page 22]
  1230.  
  1231.  
  1232.  
  1233.