Network Working Group                                        Tim Howes
INTERNET DRAFT                                              Mark Smith
draft-ietf-asid-mime-centroid-00.txt            University of Michigan


      An Application/Directory MIME Content-Type Centroid Profile



1.  Status of this Memo

This document is an Internet-Draft.  Internet-Drafts are  working  docu-
ments  of the Internet Engineering Task Force (IETF), its areas, and its
working groups.  Note that other  groups  may  also  distribute  working
documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum  of  six  months
and  may  be  updated,  replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as ``work in progress.''

To learn the current status of  any  Internet-Draft,  please  check  the
``1id-abstracts.txt''  listing  contained in the Internet- Drafts Shadow
Directories   on   ftp.is.co.za   (Africa),   nic.nordu.net    (Europe),
munnari.oz.au   (Pacific  Rim),  ds.internic.net  (US  East  Coast),  or
ftp.isi.edu (US West Coast).

2.  Abstract

This memo defines an directory profile for carrying  centroid  or  other
indexing information pertaining to one or more directory entities within
an application/directory MIME Content-Type. The profile consists of type
definitions,  what the types are allowed to contain, and rules for their
use and interpretation within the application/directory body part.

The scheme is fairly general and with a few extensions could be used  to
handle directory modification information pertaining to a single entity,
or sets of modifications pertaining to  many  entries,  in  addition  to
updates  to centroid or other index information that apply to many enti-
ties.

3.  Overview

The application/directory MIME Content-Type  defined  in  [MIME-DIR]  is
used for representing directory information in MIME format. It defines a
general framework for carrying "type: value"-style  information  in  the
body  part,  but does not define specific types or values. This document
defines a profile containing the types and corresponding  value  formats



Howes & Smith                                                   [Page 1]


Expires July 1996                                         INTERNET DRAFT


for representing centroid or other directory indexing information.

The goal of this scheme is to represent changes to directory information
to  support  indexing.  In  this scheme, a directory server might send a
MIME message containing centroid or other indexing information to one or
more  other  servers  providing  wide-area search service. The wide-area
search server  can  use  the  index  information  to  provide  efficient
searches  over  many servers, contacting only those servers likely to be
able to answer a query.

The scheme described here defines types and  profiles  for  representing
changes   to   centroid   or   other   indexing  information  within  an
application/directory  MIME  content  type.   Types  are   defined   for
representing the type of update and the specific update to be performed.

4.  The Centroid Profile

This profile is used to represent a change to a  directory  centroid  or
other  collection  of index information.  The profile is defined as fol-
lows, using the profile registration template from Section 8  of  [MIME-
DIR].

4.1.  Centroid Profile Definition

   To: ietf-mime-direct@umich.edu
   Subject: Registration of application/directory MIME profile centroid

   Profile name: centroid

   Profile purpose: to hold information about a change to a centroid  or
   other collection of index information

   Profile types: time, changetype, indextype, indexparm

   Profile special notes:

      The types used in the centroid profile must adhere to  a  specific
      ordering.  If  given, the "time" line must come first, followed by
      one or more "changetype" lines. The ordering is given by the  fol-
      lowing grammar.

         changelist := changelist changes | changes

         changes := [ time CRLF ] [ indextype CRLF ]
                    [ indexparm CRLF ] 1*( change CRLF )

         time := "time" ":" date-time ; from Section 5.1 of [RFC-822] (see below)




Howes & Smith                                                   [Page 2]


Expires July 1996                                         INTERNET DRAFT


         indextype := "indextype" ":" ( "word" / "value" / x-token )

         indexparm := "indexparm" ":" ( "weights" / x-token )

         change := "changetype" ":" changeinfo

         changeinfo := "add" CRLF mods
                     / "delete" CRLF [ mods ]
                     / "replace" CRLF mods

         mods := content ; from Section 5 of [MIME-DIR]

      Changes to multiple index entities may be  included  in  the  same
      MIME  message  by  specifying  multiple application/directory body
      parts wrapped inside a multipart/parallel body part.

      The name and source of the centroid can optionally be  taken  from
      the  application/directory  MIME  Content-Type "name" and "source"
      header parameters.

The associated type definitions follow, using the type registration tem-
plate from Section 9 of [MIME-DIR].

4.2.  Time Type Definition

   To: ietf-mime-direct@umich.edu
   Subject: Registration of application/directory MIME type time

   Type name: time

   Type purpose: to hold a time.

   Type encoding: a string containing a time as defined in  section  5.1
   of [RFC-822] for "date-time".

4.3.  Changetype Type Definition

   To: ietf-mime-direct@umich.edu
   Subject: Registration of application/directory MIME type changetype

   Type name: changetype

   Type purpose: to hold the type of change to make to the named  direc-
   tory entity

   Type encoding: one of the strings "add", "delete", or "replace".

   Type special notes:



Howes & Smith                                                   [Page 3]


Expires July 1996                                         INTERNET DRAFT


      The changetypes have the following meanings, which pertain to sub-
      sequent  information  in the application/directory body part. Also
      given are the subsequent information the body part must contain to
      accomplish the change.

      add       Add additional index information, or create the informa-
                tion  if  none yet exists. The "changetype: add" line is
                followed by one or more "type: value"  lines  indicating
                the information to add.

      delete    Delete existing index information. If  the  "changetype:
                delete"  line  is not followed by any additional parame-
                ters (i.e., the end of the body part, or the next change
                record  comes next), the entire set of index information
                is to be deleted. Otherwise,  additional  "type:  value"
                lines  follow  indicating the index values to be removed
                from the index information.

      replace   Change an existing set of index information by replacing
                any  information  currently  in the index, or creating a
                new index if none yet exists. The "changetype:  replace"
                line  is  followed  by  one  or more "type: value" lines
                indicating the information that should be placed in  the
                index in place of any existing information with the same
                type name. Types that are not mentioned are not changed.

4.4.  Indextype Type Definition

   To: ietf-mime-direct@umich.edu
   Subject: Registration of application/directory MIME type indextype

   Type name: indextype

   Type purpose: to hold the type of index information contained in  the
   body part

   Type encoding: a string defined as follows.

      indextype := x-token / "word" / "value"

      x-token := <The two characters "X-" or "x-" followed, with
                  no intervening white space, by any token>

   The "x-token" indextype construct  is  to  be  used  for  bilaterally
   agreed upon types of index information.

   Type special notes:




Howes & Smith                                                   [Page 4]


Expires July 1996                                         INTERNET DRAFT


      The "indextype" line is used to indicate the type of index  infor-
      mation  contained  in  the  body part. A value of "word" indicates
      that values are LWSP-delimited words. A value of "value" indicates
      that  values  are  entire values. Future versions of this document
      may define other values for this parameter.

4.5.  Indexparm Type Definition

   To: ietf-mime-direct@umich.edu
   Subject: Registration of application/directory MIME type indexparm

   Type name: indexparm

   Type purpose: to hold additional parameters describing  the  type  of
   index information contained in the body part.

   Type encoding: a string defined as follows.

      indexparm := x-token / "weights"

      x-token := <The two characters "X-" or "x-" followed, with
                  no intervening white space, by any token>

   The "x-token" indexparm construct is to be used for bilaterally agree
   upon types of index information.

   Type special notes:

      The "indexparm" line is used to indicate any  additional  informa-
      tion  transmitted  with  the index. A value of "weights" indicates
      that values are accompanied by weights indicating  their  relative
      frequencies  in the source data. A future version of this document
      may define additional values of this parameter and will define the
      use of the "weights" parameter in more detail.

5.  Centroid Examples

The    following    example    illustrates    simple    use    of    the
application/directory MIME Content-Type with the "centroid" profile, for
value-based index information. Note the use  of  the  "changetype:  add"
line  to  indicate  that  the index information is an update to existing
information.

   From: Whomever
   To: Someone
   Subject: whatever
   MIME-Version: 1.0
   Message-ID: <id1@host.net>



Howes & Smith                                                   [Page 5]


Expires July 1996                                         INTERNET DRAFT


   Content-Type: application/directory;
                 profile="centroid";
                 source="ldap://ldap.itd.umich.edu/o=U%20of%20M"
   Content-ID: <id2@host.com>

   time: Wed, 10 Jan 1996 09:45:38 EST
   indextype: value
   changetype: add
   cn: Babs Jensen
   cn: Barbara Jensen
   cn: Bjorn Jensen
   cn: Bob Jensen

The next example illustrates the  use  of  the  "centroid"  profile  for
word-based  index information. Note the use of the "defaulttype" parame-
ter to avoid duplicating type names, and the "changetype: replace"  line
to  indicate  the  index  information  should  be  replaced,  instead of
updated.

   From: Whomever
   To: Someone
   Subject: whatever
   MIME-Version: 1.0
   Message-ID: <id1@host.net>
   Content-Type: application/directory;
                 profile="centroid";
                 source="ldap://ldap.itd.umich.edu/o=U%20of%20M";
                 defaulttype="cn"
   Content-ID: <id2@host.com>

   time: Wed, 10 Jan 1996 09:45:38 EST
   indextype: value
   changetype: replace
   : Jensen
   : Babs
   : Barbara
   : Bjorn
   : Bob

6.  Security Considerations

Internet mail is subject to many well known security attacks,  including
monitoring,  replay, and forgery. Applications should also be aware that
there may be privacy and security implications associated with releasing
index information.






Howes & Smith                                                   [Page 6]


Expires July 1996                                         INTERNET DRAFT


7.  Acknowledgements

This material is based upon work supported by the National Science Foun-
dation under Grant No. NCR-9416667.

8.  Bibliography

[RFC-1777]Yeong, W., Howes, T., Kille, S., "Lightweight Directory Access
          Protocol", Request for Comment (RFC) 1777, March 1995.

[RFC-1778]Howes, T., Kille, S., Yeong, W., Robbins,  C.J.,  "The  String
          Representation  of  Standard  Attribute Syntaxes", Request for
          Comment (RFC) 1778, March 1995.

[RFC-822] Crocker, D., "Standard for the Format of  ARPA  Internet  Text
          Messages", STD 11, RFC 822, August 1982.

[RFC-1521]Borenstein, N., Freed, N., "MIME (Multipurpose  Internet  Mail
          Extensions) Part One: Mechanisms for Specifying and Describing
          the Format of Internet Message Bodies",  RFC  1521,  September
          1993.

[RFC-1522]Moore, K., "MIME (Multipurpose Internet Mail Extensions)  Part
          Two:  Message Header Extensions for Non-ASCII Text", RFC 1522,
          September 1993.

[x500]    "Information Processing Systems - Open Systems Interconnection
          -  The  Directory: Overview of Concepts, Models and Services",
          ISO/IEC JTC 1/SC21, International Standard 9594-1, 1988.

[RFC-1835]Deutsch, P., Schoultz, R., Faltstrom, P., Weider, C.,  "Archi-
          tecture of the WHOIS++ service", August 1995.

[MIME-DIR]Howes, T., Smith,  M.,  "A  MIME  Content-Type  for  Directory
          Information,"    Internet-Draft   draft-ietf-asid-mime-direct-
          01.txt, January, 1996.

[RFC-1738]Berners-Lee, T., Masinter, L., McCahill, M., "Uniform Resource
          Locators (URL)", RFC 1738, December 1994.

9.  Author's Address

   Tim Howes
   University of Michigan
   535 W William St.
   Ann Arbor, MI 48103-4943
   USA
   +1 313 747-4454



Howes & Smith                                                   [Page 7]


Expires July 1996                                         INTERNET DRAFT


   tim@umich.edu

   Mark Smith
   University of Michigan
   535 W William St.
   Ann Arbor, MI 48103-4943
   USA
   +1 313 764-2277
   mcs@umich.edu










































Howes & Smith                                                   [Page 8]