X.500 URI Attribute Types and Object Class                   Mark Smith
INTERNET-DRAFT                                   University of Michigan
                                                        11 October 1995

    Definition of X.500 Attribute Types and an Object Class to Hold
                  Uniform Resource Identifiers (URIs)
               Filename: draft-ietf-asid-x500-url-02.txt

Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents 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 ds.internic.net (US East Coast),
   nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or
   munnari.oz.au (Pacific Rim).

   Distribution of this memo is unlimited.  Editorial comments should be
   sent to the author (mcs@umich.edu).  Technical discussion will take
   place on the IETF ASID mailing list (ietf-asid@umich.edu).

   This Internet Draft expires April 11, 1995.


Abstract

   Uniform Resource Locators (URLs) are being widely used to specify the
   location of Internet resources.  There is an urgent need to be able
   to include URLs in the X.500 directory, and a desire to include other
   types of Uniform Resource Identifiers (URIs) as they are defined.  A
   number of independent groups are already experimenting with the
   inclusion of URLs in the X.500 directory.  This document builds on
   the experimentation to date and defines two new attribute types and
   an auxiliary object class to allow URIs, including URLs, to be stored
   in directory entries in a standard way.






Smith                   IETF ASID Working Group                 [Page 1]


INTERNET-DRAFT    URI Attribute Types and Object Class   11 October 1995


Background and Intended Usage

   Uniform Resource Locators (URLs) as defined by [1] are the first of
   several types of Uniform Resource Identifiers (URIs) being defined by
   the IETF.  This document defines two X.500 [2,3] attribute types
   (labeledURI and labeledURL) and an auxiliary object class
   (labeledURIObject) to hold all types of URIs, including URLs.  It is
   assumed that as other kinds of URIs are defined, additional attribute
   types may be created to support storing them in directory entries.

   The rationale for adding separate attribute types for the different
   kinds of URIs is to support efficient programmatic access to specific
   types of URIs.  For example, if an indexing service is only
   interested in URLs, having them available in their own attribute
   makes pulling them out of a directory entry straightforward and
   efficient.

   It is intended that the schema elements defined in this document will
   be progressed according to the process defined by the Internet X.500
   Schema Working Group [4].


Schema Definition of the labeledURL Attribute Type

   Name:             labeledURL
   ShortName:        None
   Description:      Uniform Resource Locator with optional label
   OID:              umichAttributeType.41 (1.3.6.1.4.1.250.1.41)
   Syntax:           caseExactString
   SizeRestriction:  None
   SingleValued:     False


Discussion of the labeledURL Attribute Type

   The labeledURL attribute type has the caseExactString syntax (since
   URLs are case-sensitive) and it is multivalued.  Values placed in the
   attribute should consist of a URL as defined in [1] optionally
   followed by one or more space characters and a label.  Since space
   characters are not allowed to appear un-encoded in URLs, there is no
   ambiguity about where the label begins.  Multiple labeledURL values
   will generally indicate different resources that are all related to
   the X.500 object, but may indicate different locations for the same
   resource.







Smith                   IETF ASID Working Group                 [Page 2]


INTERNET-DRAFT    URI Attribute Types and Object Class   11 October 1995


   The label is used to describe the resource to which the URL points,
   and is intended as a friendly name fit for human consumption.  This
   document does not propose any specific syntax for the label part.
   Note that in some cases it may be helpful to include in the label
   some indication of the kind and/or size of the resource referenced by
   the URL.

   Note that the label may include any characters allowed by the
   caseExactString syntax, but that the use of non-IA5 (non-ASCII)
   characters is discouraged as not all directory clients may handle
   them in the same manner.

   Some examples of valid labeledURL values (the first does not have a
   label):

     ftp://ds.internic.net/rfc/rfc822.txt

     http://www.umich.edu/ University of Michigan Home Page

     http://champagne.inria.fr/Unites/rennes.gif Rennes [photo]


Schema Definition of the labeledURI Attribute Type

   Name:             labeledURI
   ShortName:        None
   Description:      Uniform Resource Identifier with optional label
   OID:              umichAttributeType.57 (1.3.6.1.4.1.250.1.57)
   Syntax:           caseExactString
   SizeRestriction:  None
   SingleValued:     False


Discussion of the labeledURI Attribute Type

   The labeledURI attribute type has the caseExactString syntax (since
   URIs are case-sensitive) and it is multivalued.  Values placed in the
   attribute should consist of a URI (at the present time, a URL)
   optionally followed by one or more space characters and a label.
   Since space characters are not allowed to appear un-encoded in URIs,
   there is no ambiguity about where the label begins.  At the present
   time, the URI portion must comply with the URL specification [1].
   Multiple labeledURI values will generally indicate different
   resources that are all related to the X.500 object, but may indicate
   different locations for the same resource.






Smith                   IETF ASID Working Group                 [Page 3]


INTERNET-DRAFT    URI Attribute Types and Object Class   11 October 1995


   The label is used to describe the resource to which the URI points,
   and is intended as a friendly name fit for human consumption.  This
   document does not propose any specific syntax for the label part.
   Note that in some cases it may be helpful to include in the label
   some indication of the kind and/or size of the resource referenced by
   the URI.

   Note that the label may include any characters allowed by the
   caseExactString syntax, but that the use of non-IA5 (non-ASCII)
   characters is discouraged as not all directory clients may handle
   them in the same manner.


Schema Definition of the labeledURIObject Object Class

   Name:              labeledURIObject
   Description:       object that contains the URI attribute types
   OID:               umichObjectClass.15 (1.3.6.1.4.1.250.3.15)
   SubclassOf:        top
   MustContain:
   MayContain:        labeledURI, labeledURL


Discussion of the labeledURIObject Object Class

   The labeledURIObject class is a subclass of top and may contain the
   labeledURI and labeledURL attributes.  The intent is that this object
   class can be added to existing directory objects to allow for
   inclusion of URI values.  This approach does not preclude including
   the labeledURI and labeledURL attribute types directly in other
   object classes as appropriate.


References

   [1] Berners-Lee, T., Masinter, L., and McCahill, M., "Uniform
   Resource Locators (URL)", RFC 1738, CERN, Xerox Corporation,
   University of Minnesota, December 1994,
   <URL:ftp://ds.internic.net/rfc/rfc1738.txt>

   [2] The Directory: Overview of Concepts, Models and Service.  CCITT
   Recommendation X.500, 1988.

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





Smith                   IETF ASID Working Group                 [Page 4]


INTERNET-DRAFT    URI Attribute Types and Object Class   11 October 1995


   [4] Howes, T., Rossen, K., Sataluri, S., and Wright, R., "Procedures
   for Formalizing, Evolving, and Maintaining the Internet X.500
   Directory Schema", Internet Draft (Work In Progress) of the Schema
   Working Group, <URL:ftp://ds.internic.net/internet-drafts/
   draft-howes-x500-schema-03.txt>


Security Considerations

   Security considerations are not discussed in this memo.


Acknowledgments

   Paul-Andre Pays, Martijn Koster, Tim Howes, Rakesh Patel, and Russ
   Wright provided invaluable assistance in the creation of this
   document.

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


Author's Address

   Mark Smith
   University of Michigan
   Information Technology Division
   535 W. William St.
   Ann Arbor, MI 48103-4943, USA
   Phone:  +1 313 764-2277
   Fax:    +1 313 765-5140
   EMail:  mcs@umich.edu

                This Internet Draft expires April 11, 1995.

















Smith                   IETF ASID Working Group                 [Page 5]