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-acap-options-01.txt < prev    next >
Text File  |  1997-07-30  |  11KB  |  363 lines

  1.  
  2.  
  3. Network Working Group                                            S. Hole
  4. Internet Draft: ACAP                                The Esys Corporation
  5. Document: draft-ietf-acap-options-01.txt                       July 1997
  6.                                                  Expires: December, 1997
  7.  
  8.  
  9.                   ACAP personal options dataset class
  10.  
  11.  
  12. Status of this memo
  13.  
  14.      This document is an Internet Draft.  Internet Drafts are working
  15.      documents of the Internet Engineering Task Force (IETF), its Areas,
  16.      and its Working Groups.  Note that other groups may also distribute
  17.      working documents as Internet Drafts.
  18.  
  19.      Internet Drafts are draft documents valid for a maximum of six
  20.      months.  Internet Drafts may be updated, replaced, or obsoleted by
  21.      other documents at any time.  It is not appropriate to use Internet
  22.      Drafts as reference material or to cite them other than as a
  23.      ``working draft'' or ``work in progress``.
  24.  
  25.      To learn the current status of any Internet-Draft, please check the
  26.      1id-abstracts.txt listing contained in the Internet-Drafts Shadow
  27.      Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or
  28.      munnari.oz.au.
  29.  
  30.      Discussion and suggestions for improvement are requested.  This
  31.      document will expire six months after publication.  Distribution of
  32.      this draft is unlimited.
  33.  
  34.  
  35. 0. Administrivia
  36.  
  37. 0.1.  Changes from Last Internet Draft
  38.  1)  Replaced "list" options with "scalar" options.   This is possible
  39.      because of the new multivalued attributes.
  40.  
  41.  2)  Defined "structured" option to contain "field" attributes.
  42.  
  43.  3)  Defined relationship between structured attributes and content
  44.      specific dataset class definitions.
  45.  
  46.  4)  Tossed the discussion on modelling structured configuration.   It
  47.      should be discussed in a BCP after we have more experience.
  48.  
  49.  5)  Simplified the discussion on hierarchical option storage.
  50.  
  51.  
  52.  
  53.  
  54. Hole                                                            [Page 1]
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Internet Draft                ACAP Options                    April 1997
  62.  
  63.  
  64.  6)  Tossed the section on recommended attribute names.   It really
  65.      doesn't apply here.
  66.  
  67.  7)  Incorporated Chris's description of the standard second level of
  68.      dataset hierarchy.
  69.  
  70.  
  71. 0.2.  Open Issues
  72.  1)  Do we need a registration procedure for common scalar options?
  73.      This would be a lighter weight registration than that required for
  74.      dataset class specifications -- basically a naming convention.
  75.  
  76.  2)  Do we need recommendations on option naming conventions (4.7)?
  77.  
  78.  
  79. 1. Introduction
  80.  
  81.      The Application Configuration Access Protocol (ACAP) is designed to
  82.      support remote storage and access of application option,
  83.      configuration and preference information.  The generalized form of
  84.      this runtime configuration is called "options".  Options consist
  85.      consist of any type of structured or unstructured data that an
  86.      application requires to operate in a user specific manner.
  87.  
  88.      Storage of application options in an ACAP server substantially
  89.      solves the "kiosk user" problem for applications -- serial use of a
  90.      single machine by multiple users.  It also solves the "nomadic
  91.      user" problem -- use of more than one machine on a regular basis by
  92.      a single user.
  93.  
  94.      The specification defines the "option" dataset class for use with
  95.      ACAP.
  96.  
  97.  
  98. 2. Conventions used in this document
  99.  
  100.      The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"
  101.      in this document are to be interpreted as described in RFC xxxx.
  102.  
  103.      The attribute syntax specifications use the Augmented Backus-Naur
  104.      Form (ABNF) notation as specified in [IMAIL].
  105.  
  106.  
  107. 3. ACAP personal options
  108.  
  109. 3.1. ACAP option representation
  110.  
  111.      Individual options are represented as ACAP entries in option
  112.  
  113.  
  114.  
  115. Hole                                                            [Page 2]
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122. Internet Draft                ACAP Options                    April 1997
  123.  
  124.  
  125.      datasets.  The name of the entry, as defined by the "entry"
  126.      attribute for the entry, is the name of option.
  127.  
  128.  
  129. 3.2. Scalar options
  130.  
  131.      Scalar options are ACAP entries that contain simple (unstructured)
  132.      data.  The "option.value" attribute of the entry contains the data
  133.      for the option.  The value can be single or multivalued.
  134.  
  135.      Following is an example of a single and multivalued scalar option:
  136.  
  137.       color.preferred
  138.          entry = "color.preferred"
  139.          option.value = "blue"
  140.       color.list
  141.          entry = "color.list"
  142.          option.value = ("red" "green" "blue" "cyan" "black")
  143.  
  144. Scalar options that are intended to be used by multiple applications
  145. should be registered as defined in <some registration procedure>.
  146.  
  147. 3.3. Structured options
  148.  
  149.      Structured options are ACAP entries that contain multiple related
  150.      items of data in a single option.  Data for the option is contained
  151.      in multiple named attributes collectively called "field
  152.      attributes".  Each field attribute can be single or multivalued.
  153.  
  154.      Following is an example of a structured option:
  155.  
  156.       color.definition
  157.          entry = "color.definition"
  158.          option.color.definition.name  = "blue"
  159.          option.color.definition.rgb   = ("blue=255" "red=0" "green=0")
  160.          option.color.definition.index = "66"
  161.  
  162.  
  163.      By definition, structured options are application specific.  While
  164.      the content of the field attributes can be obtained by any
  165.      application, it's intended use is open to interpretation by the
  166.      application.
  167.  
  168.      Option datasets that that are intended to be used by multiple
  169.      applications and consist entirely of structured options with the
  170.      same field attributes, MUST be defined and registered in their own
  171.      dataset class as per the rules in [ACAP].  Under this definition,
  172.      content specific datasets are multi-application, structured option
  173.  
  174.  
  175.  
  176. Hole                                                            [Page 3]
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183. Internet Draft                ACAP Options                    April 1997
  184.  
  185.  
  186.      sets.
  187.  
  188.  
  189. 3.4. ACAP option hierarchy
  190.  
  191.      Option sets MAY be represented using ACAP hierarchy.  Any entry in
  192.      an option dataset can also be a hierarchy node by setting the
  193.      "subdataset" attribute.   Applications can model arbitrarily
  194.      structured configuration using hierarchical datasets containing
  195.      scalar or structured options.  An option subdataset of scalar
  196.      options models an associative list.   An option subdataset of
  197.      structured options models an array of structures.
  198.  
  199.  
  200. 4. ACAP option namespace
  201.  
  202.      The general ACAP namespace is organized to promote inheritance
  203.      between site, host, group, and user specific configuration
  204.      information, as defined in [ACAP].  It defines a "site", "group",
  205.      "host", and "user" second level hierarchy.   The option dataset
  206.      defines a third level of hierarchy that promotes inheritance from
  207.      second level datasets, and isolates user and application specific
  208.      instances of configuration information.
  209.  
  210.  
  211. 4.1. ACAP "/option" dataset class
  212.  
  213.      The dataset class whose name is "/option" is assumed to contain
  214.      option datasets as defined in this specification.
  215.  
  216.  
  217. 4.2. Third level option datasets
  218.  
  219.      Third level option datasets break the option namespace into generic
  220.      and application specific option sets.   This serves two purposes:
  221.      to promote the creation and inheritance of common options between
  222.      applications, and isolation of application specific configuration
  223.      from other applications.
  224.  
  225.  
  226. 4.2.1. The "common" option namespace
  227.  
  228.      The "common" option namespace is a dataset named "common", that
  229.      contains option entries that are generally applicable to the
  230.      containing namespace.  For example, a "common" option dataset below
  231.      a "user/user_X" dataset are options that are generally applicable
  232.      to the user "user_X" for many applications.
  233.  
  234.  
  235.  
  236.  
  237. Hole                                                            [Page 4]
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244. Internet Draft                ACAP Options                    April 1997
  245.  
  246.  
  247. 4.2.2. The "vendor" option namespace
  248.  
  249.      The "vendor" option namespace is a set of datasets, each named in
  250.      the form "vendor.<product/company>", where "<product/company" is
  251.      the name of a specific application or application vendor.  The
  252.      entries in the vendor namespace enumerate the applications that
  253.      make use of ACAP option storage at that level.  Each vendor dataset
  254.      contains option entries for a specific vendor application.
  255.  
  256.  
  257. 4.3. Example option namespace
  258.  
  259.      The following example demonstrates how the "common" and "vendor"
  260.      namespace isolates application specific and general configuration.
  261.  
  262.                /option/
  263.                     site/
  264.                         common/
  265.                         vendor.{application_1}/
  266.                         vendor.{application_2}/
  267.                         ...
  268.                         ...
  269.                     host/
  270.                         {host_1}/
  271.                             common/
  272.                             vendor.{application_1}/
  273.                             vendor.{application_2}/
  274.                             ...
  275.                             ...
  276.                         {host_2}/
  277.                         ...
  278.                         ...
  279.                     group/
  280.                         {group_1}/
  281.                             common/
  282.                             vendor.{application_1}/
  283.                             vendor.{application_2}/
  284.                             ...
  285.                             ...
  286.                         {group_2}/
  287.                         ...
  288.                         ...
  289.                     user/
  290.                         {user_1}/
  291.                             common/
  292.                             vendor.{application_1}/
  293.                             vendor.{application_2}/
  294.                             ...
  295.                             ...
  296.  
  297.  
  298. Hole                                                            [Page 5]
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305. Internet Draft                ACAP Options                    April 1997
  306.  
  307.  
  308.                         {user_2}/
  309.                         ...
  310.                         ...
  311.  
  312.      4.4.  Option naming conventions
  313.  
  314.      What conventions?   Should there be any?
  315.  
  316.  
  317. 5. References
  318.  
  319.      [ACAP] Newman, C., Myers, J. G., "Application Configuration Access
  320.      Protocol", Work in progress, July 1997.
  321.  
  322.          <ftp://ietf.org/internet-drafts/draft-ietf-acap-spec-04.txt>
  323.  
  324.  
  325. 6. Security Considerations
  326.  
  327.      It is important to make sure that access controls are set correctly
  328.      on personal options.   Sensitive configuration information,
  329.      including application security information, should not be exposed
  330.      to other users without the explicit request of the user.
  331.  
  332.      This specification does not address storing private certificates
  333.      and other security information in the option namespace.  This may
  334.      be added to a future version of this specification when more
  335.      experimentation has been done.
  336.  
  337.  
  338. 7. Authors' Addresses
  339.  
  340. Steve Hole
  341. The Esys Corporation
  342. 900 10040 - 104 St.
  343. Edmonton, Alberta, T5J 0Z2, CANADA
  344.  
  345. Email: Steve.Hole@esys.ca
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359. Hole                                                            [Page 6]
  360.  
  361.  
  362.  
  363.