[rec.ham-radio.packet] Directory Service Outline for Amateur Packet Radio Draft 1

n2dsy@hou2d.ATT.COM (J. Gordon Beattie, Jr.) (03/22/89)

FORWARDED FROM AMATEUR RADIO:
 
Date: 22 Mar 89 04:09:30 GMT (Wed)
From: n2dsy@n2dsy.nj.usa.hamradio.org.iso (Gordon Beattie)
Reply-To: n2dsy@kd6th.nj.usa.hamradio.org.iso
Message-ID: <446@n2dsy.nj.usa.hamradio.org.iso>
To: all
Subject: Directory Service Description Draft 1

I have enclosed Draft 1 of a Directory Service Outline for
your comments.  for now I am sending this to the following
individuals: ka2bqe kd6th w0rli wa7mbl k3rli wd6cmu n6vv kb7uv
wa1lou wb2mnf w2vy ve3gyq w4ri, w2jup, kb1bd ka2usu and n2ids.
Feel free to circulate this as you see fit.  If you would like
others added to the list please let me know.  I will be posting
this to the packet BBSs, netnews rec.ham-radio.packet and CI$.
After getting comments I will be adding fields, formats and
validation criteria to the fields.  Thanks for your interest.

Gordon Beattie, N2DSY
201-387-8896(H)
201-615-4168(O)
...!att!hou2d!n2dsy
 --------------------

               Directory Service Outline  -  DRAFT 1

                     J. Gordon Beattie, Jr., N2DSY

             The Radio Amateur Telecommunications Society


For the last several years packet system software developers and
users in the Amateur Radio Service have been experimenting with
simple directory servers.  These usually provide callbook and/or
"home BBS" data through local transactions or a remote mail
interface.  These systems include WD6CMU's WP, the W0RLI server
and the WA4ONG Callbook servers.

The user base has expanded and with it the interests and
associated information needs.  many activities would be
supported if a directory server contained information on network
addresses, frequencies, e-mail addresses in forms other than
what is currently used by packet BBSs and possibly even
organizational data.  Organizational data might allow mail to be
directed to "ARRL Hudson Division Director" or "ARRL Northern
New Jersey Section Manager".

The objective of this discussion is to facilitate interoperation
between directory systems which support the advanced
capabilities required by this evolving environment.

In order to determine what specific steps need to be taken to
produce these systems, some basic questions need to be
addressed.  The first deals with directory data elements.  The
directory data elements may vary from system to system, but some
common specification is required including:

1. The format of individual data elements;

2. A minimal subset of data elements that must be selected and
   supported on all systems;

3. The use of aliases for some data elements must be permitted
   and defined;

4. Relationship(s) of the data elements must be defined;

5. A mechanism to control access to a data element and its value
   is needed.



The second question deals with functional requirements of the
systems.  Each item may be broken up into several items, and
then either fully or partially supported.

1. There are operations which may be used by users and/or
   systems.  These operations may be invoked with parameters
   arranged as a filter.  Filter constructs such as "equal to
   xxx" or "greater/less than xxx" are provided.  Several of
   these constructs can be used to qualify an operation.  

 * Basic operations should include:

   Read - one or more attributes of a particular entry

   Compare - one or more attributes of a particular entry

   List - of entries subordinate to the entry selected

   Search - of the directory based on selected filter attributes

   Abandon - a previously invoked request of the directory

 * Advanced operations should include:

   Add - an entry to the directory

   Remove - an entry from the directory

   Modify Entry - attributes and/or attribute values

   Modify Name - of an entry in the directory

 * Results of these operations can come in one of four ways:

   Complete Results - in which case the request is fully
                      satisfied

   Partial Results - in which case the request is satisfied
                     without an indication of possible further
                     action

   Referred Results - in which case the request is satisfied
                      with an indication of possible further
                      action

   Errors - in which case something was wrong with the semantics
            of the request.  

   The operations may be concatenated together to produce a 
   specific request.  An example would be a wildcard search
   of all BBSs in New Jersey with an indication that the
   resultant response include callsigns, network addresses
   and a list of supported distribution lists.  This would 
   use the "Search" and "Read" operations.

2. Proposed user sematics should be defined solely for the 
   purposes of understanding specific requests of the directory.
   We should not try to impose a set of sematics on a particular
   developer or user community.

3. Remote or local use for each of the functions should be
   defined.

4. Automatic referral of requests to another system(s)
   supporting data elements requested but not available on the
   receiving system.

5. Some mechanism is needed for transport of remote requests -
   any of the standard mail formats perhaps?

6. For remote use of advanced operations (at least) we will need
   a method for authenticating the user and/or message.


Summary

Now let us get practical for a moment.  First, the systems you
have may already do some of these functions.  Second, the system
outlined above is complex to implement, and probably unrealistic
to expect in the short-term.  I am asking that we work toward
building interoperable systems by doing a bit of up-front,
collective high-level design.  This will provide developers with
a common "blueprint" for directory system implementation.  From
this "blueprint" will be able to identify additional functions
and data elements.


Appendix A

These section outlines a proposed set of directory elements
which might be supported by a directory system.  This directory
system would provide support for the following services:

1. Standard packet BBS mail routing (WP-type)

2. Domain-based mail routing for X.400 and Internet systems

3. Network routing for OSI systems based on the Network Service
   Access Point Identifier (NSAP-ID).

4. Network routing for DoD Internet systems.

5. Net/Rom or other network node

6. Organizational Role Alias for ARRL Officials so that mail can
   be directed to a Director, Section Manager, etc.

7. Organizational Role Alias for officials of other
   organizations

8. Organizational entries to support referral of inquiries to
   organizational directory databases

8. Postal Address lookup


There will be directory entries for people, organizations,
devices and applications.  In order to get the crew thinking
about possible elements I have created a sample set of data
elements for a directory entry of a "Person" are outlined below:


ENTRY ::= Person

POSSIBLE SUPERIORS{
    Top
    Country
    Organization
    }
   
MUST CONTAIN{
    Common Name (Amateur Callsign)
    Begin Time DEFAULT (Time of Entry)
    End Time DEFAULT NULL
    }
  
MAY CONTAIN{
    Amateur Radio Specific Attributes
      CONTAINS{
        Surname
        Given Name
        Nickname
        Message Handling Attribute Set
           CONTAINS{
             Home PBBS
             X.400 Address
             Internet Address (SMTP)
             }
        OSI Domain
        NSAP-ID
        Internet Domain
        Internet Address
        Node Name
        Organizational Role
          CONTAINS{
            Organization Name
            Organizational Unit
            Title
            }
        }
       
    Locale Attribute Set
      CONTAINS{
        Street Address
        Locality Name
        State/Province Name
        }
    
    Postal Address Set 
      CONTAINS{
        Physical Delivery Office Name
        Postal Address
        Post Office Box
        Street Address
        Postal Code
        }
     
    Telecommunications Address Set
      CONTAINS{
        Telephone Number
        Facsimile Telephone Number
        X.121 Address
        }