Network Working Group                                          A. Newton
Internet-Draft                                            VeriSign, Inc.
Expires: December 29, 2003                                 June 30, 2003


     IRIS - A Domain Registry (dreg) Type for the Internet Registry
                          Information Service
                     draft-ietf-crisp-iris-dreg-03

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 29, 2003.

Copyright Notice

   Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

   This document describes an IRIS (draft-ietf-crisp-iris-core-02.txt )
   registry schema for registered DNS information. The schema extends
   the necessary query and result operations of IRIS to provide the
   functional information service needs for syntaxes and results used by
   domain registries and registrars.










Newton                 Expires December 29, 2003                [Page 1]


Internet-Draft                 iris-dreg                       June 2003


Table of Contents

   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.    Document Terminology . . . . . . . . . . . . . . . . . . . .  4
   3.    Schema Description . . . . . . . . . . . . . . . . . . . . .  5
   3.1   Query Derivatives  . . . . . . . . . . . . . . . . . . . . .  5
   3.1.1 <listRegistrars> Query . . . . . . . . . . . . . . . . . . .  5
   3.1.2 <findDomainsByRegistrant> Query  . . . . . . . . . . . . . .  5
   3.1.3 <findDomainsByName> Query  . . . . . . . . . . . . . . . . .  5
   3.1.4 <findDomainsByI18NName> Query  . . . . . . . . . . . . . . .  6
   3.1.5 <findContacts> Query . . . . . . . . . . . . . . . . . . . .  6
   3.1.6 <findDomainsByHost> Query  . . . . . . . . . . . . . . . . .  6
   3.1.7 Contact Search Group . . . . . . . . . . . . . . . . . . . .  7
   3.2   Result Derivatives . . . . . . . . . . . . . . . . . . . . .  7
   3.2.1 Omission Types . . . . . . . . . . . . . . . . . . . . . . .  7
   3.2.2 <domain> Result  . . . . . . . . . . . . . . . . . . . . . .  8
   3.2.3 <domainVariant>  . . . . . . . . . . . . . . . . . . . . . . 10
   3.2.4 <host> Result  . . . . . . . . . . . . . . . . . . . . . . . 11
   3.2.5 <contact> Result . . . . . . . . . . . . . . . . . . . . . . 12
   3.2.6 <registrationAuthority>  . . . . . . . . . . . . . . . . . . 13
   3.3   Generic Code Derivatives . . . . . . . . . . . . . . . . . . 13
   3.3.1 <searchTooWide>  . . . . . . . . . . . . . . . . . . . . . . 13
   3.3.2 <languageNotSupported> . . . . . . . . . . . . . . . . . . . 13
   3.4   Support for <iris:lookupEntity>  . . . . . . . . . . . . . . 14
   4.    Formal XML Syntax  . . . . . . . . . . . . . . . . . . . . . 15
   5.    BEEP Transport Compliance  . . . . . . . . . . . . . . . . . 37
   5.1   Message Pattern  . . . . . . . . . . . . . . . . . . . . . . 37
   5.2   Server Authentication  . . . . . . . . . . . . . . . . . . . 37
   6.    URI Resolution . . . . . . . . . . . . . . . . . . . . . . . 38
   6.1   Application Service Label  . . . . . . . . . . . . . . . . . 38
   6.2   Bottom-Up Resolution . . . . . . . . . . . . . . . . . . . . 38
   6.3   Top-Down Resolution  . . . . . . . . . . . . . . . . . . . . 38
   7.    Internationalization Considerations  . . . . . . . . . . . . 40
   8.    IANA Considerations  . . . . . . . . . . . . . . . . . . . . 41
   9.    Security Considerations  . . . . . . . . . . . . . . . . . . 42
         References . . . . . . . . . . . . . . . . . . . . . . . . . 43
         Author's Address . . . . . . . . . . . . . . . . . . . . . . 44
   A.    Example Requests and Responses . . . . . . . . . . . . . . . 45
   A.1   Example 1  . . . . . . . . . . . . . . . . . . . . . . . . . 45
   A.2   Example 2  . . . . . . . . . . . . . . . . . . . . . . . . . 46
   B.    An Example Database Serialization  . . . . . . . . . . . . . 50
   C.    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 53
         Intellectual Property and Copyright Statements . . . . . . . 54








Newton                 Expires December 29, 2003                [Page 2]


Internet-Draft                 iris-dreg                       June 2003


1. Introduction

   This document describes an IRIS registry schema for Internet domain
   registries using an XML Schema [4] derived from and using the IRIS
   [5] schema. The query and result types outlined in this document are
   based on the functional requirements described in CRISP [11].

   The schema given is this document is specified using the Extensible
   Markup Language (XML) 1.0 as described in XML [1], XML Schema
   notation as described in XML_SD [3] and XML_SS [4], and XML
   Namespaces as described in XML_NS [2].

   Examples of client/server XML exchanges with this registry type are
   available in Appendix A.





































Newton                 Expires December 29, 2003                [Page 3]


Internet-Draft                 iris-dreg                       June 2003


2. Document Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC2119 [13].














































Newton                 Expires December 29, 2003                [Page 4]


Internet-Draft                 iris-dreg                       June 2003


3. Schema Description

   IRIS requires the derivation of both query and result elements by a
   registry schemas. These descriptions follow.

   References to XML elements with no namespace qualifier are from the
   schema defined in Section 4. References to elements with the "iris"
   XML namespace qualifier are from the schema defined in IRIS [5].

   The descriptions contained within this section refer to XML elements
   and attributes and their relation to the exchange of data within the
   protocol. These descriptions also contain specifications outside the
   scope of the formal XML syntax. Therefore, this section will use
   terms defined by RFC 2119 [13] to describe the specification outside
   the scope of the formal XML syntax. While reading this section,
   please reference Section 4 for needed details on the formal XML
   syntax.

3.1 Query Derivatives

3.1.1 <listRegistrars> Query

   This query MUST return a result set of zero or more
   <registrationAuthority> elements.  See Section 3.2.6.

3.1.2 <findDomainsByRegistrant> Query

   <findDomainsByRegistrant> finds domains by searches on fields
   associated with a domain's registrant. A search constraint of
   <baseDomain> MUST restrict the results to domains only underneath the
   domain specified by its content if it is present.

   The allowable search fields are handled with either the
   <contactHandle> element or one of the elements in the
   "contactSearchGroup" (see Section 3.1.7). The <contactHandle> element
   allows for the domains to be selected based on the registrant having
   the specified contact handle.

   This query also provides optional <language> elements containing
   language tags.  Clients may use these elements to inform the server
   of a desired search algorithm that may benefit from the determination
   of the desired languages.  Servers MAY use this information in
   processing the query, such as input to normalization routines to aid
   in more effective searches.

3.1.3 <findDomainsByName> Query

   The <findDomainsByName> query finds domains by the name of a domain



Newton                 Expires December 29, 2003                [Page 5]


Internet-Draft                 iris-dreg                       June 2003


   as it is known in DNS. A search constraint of <baseDomain> MUST
   restrict the results to domains only underneath the domain specified
   by its content if it is present. The content of this element MUST be
   a valid domain name according to RFC 1035 [12]. The <namePart>
   element restricts the scope of the query with its child elements. The
   <beginsWith> element specifies the beginning of the domain name. The
   <endsWith> element specifies the end of the domain name. The contents
   of <beginsWith> and <endsWith> elements MUST be ASCII.

3.1.4 <findDomainsByI18NName> Query

   The <findDomainsByI18NName> query finds a domains by the name of the
   domain as it is known in DNS. It differs from the <findDomainsByName>
   query by allowing the scope of the query to take into consideration
   internationalized domain names.

   A search constraint of <baseDomain> MUST restrict the results to
   domains only underneath the domain specified by its content if it is
   present. The content of this element MUST be a valid domain name
   according to RFC 1035 [12]. The <namePart> element restricts the
   scope of the query with its child elements. The <beginsWith> element
   specifies the beginning of the domain name. The <endsWith> element
   specifies the end of the domain name.

   This query also provides optional <language> elements containing
   language tags.  Clients may use these elements to inform the server
   of a desired search algorithm that may benefit from the determination
   of the desired languages.  Servers MAY use this information in
   processing the query, such as input to normalization routines to aid
   in more effective searches.

3.1.5 <findContacts> Query

   <findContacts> searches for contacts given search constraints.

   The allowable search fields are handled by one of the elements in the
   "contactSearchGroup" (see Section 3.1.7).

   This query also provides optional <language> elements containing
   language tags.  Clients may use these elements to inform the server
   of a desired search algorithm that may benefit from the determination
   of the desired languages.  Servers MAY use this information in
   processing the query, such as input to normalization routines to aid
   in more effective searches.

3.1.6 <findDomainsByHost> Query

   This query does a simple search for the domains being hosted by a



Newton                 Expires December 29, 2003                [Page 6]


Internet-Draft                 iris-dreg                       June 2003


   name server. The search is constrained using either the host name,
   host handle, IPv4 address, or IPv6 address of the name server.

3.1.7 Contact Search Group

   Some of the queries above have similar query constraints for
   searching on contacts.  This section describes those common
   parameters.

   <commonName> allows the query to be constrained based on the common
   name of the contact.  The constraint can either constrain the query
   by an exact match using the <exactMatch> element, or it may constrain
   the query by a subset of the common name using the <startsWith> and
   <endsWith> elements.

   <organization> allows the query to be constrained based on the
   organization name of the contact.  It has the same semantics as the
   <commonName> element.

   <eMail> constrains the query based on the e-mail address of the
   contact.  This may be done by an exact e-mail address using the
   <exactMatch> element or by any e-mail address in a domain using the
   <inDomain> element.  The <inDomain> MUST only contain a valid domain
   according to RFC 1035 [12] (i.e. no '@' symbol).

   The <city>, <region>, and <postalCode> elements restrict the scope of
   the query based on the city, region, or postal code of the contact,
   respectively.  Each one must only contain an <exactMatch> element
   containing the exact city, region, or postal code (i.e. no substring
   searches).

3.2 Result Derivatives

3.2.1 Omission Types

   Several of the results in this registry type have values that cannot
   be given but must be specified as present. In order to achieve this,
   some of the results use the following element types:

   o  "dateTimeOmissionType" - contains the XML Schema [3] data type
      "dateTime".

   o  "stringOmissionType" - contains the XML Schema [3] data type
      "string".

   o  "normalizedStringOmissionType" - contains the XML Schema [3] data
      type "normalizedString".




Newton                 Expires December 29, 2003                [Page 7]


Internet-Draft                 iris-dreg                       June 2003


   o  "tokenOmissionType" - contains the XML Schema [3] data type
      "token".

   As specified, they are nillable and therefore may be present with
   empty content or present with their specified content. And their
   specified cardinality allows their absence.

   Each of these element types MUST have one or more of the following
   boolean attributes if they are present without content:

   o  'private' - if true, this specifies that the content is absent
      because it may never be published.

   o  'denied' - if true, this specifies that the content is absent
      because policy does not allow it to be given under the current
      level of access.

   o  'unspecified' - if true, this specifies that the content is absent
      for an unspecified reason.


3.2.2 <domain> Result

   The <domain> result represents an instance of a domain assignment.
   The children of the <domain> element are as follows:

   o  <domainName> - the full name of the domain as it is in DNS. The
      contents of this element MUST be a domain name as specified by RFC
      1035 [12].

   o  <domainHandle> - a registry unique assigned identifier to a
      domain.

   o  <nameServers> - an element containing multiple children. Each
      child is an <iris:entity> element as described by IRIS [5].  The
      referent of each <iris:entity> element MUST be a <host> (Section
      3.2.4) result.

   o  <registrant> - an element containing a <iris:entity> reference to
      the registrant of this domain. The referent MUST be a <contact>
      (Section 3.2.5) result.

   o  Domain contacts - the following elements contain contacts with a
      relationship to the domain. The children of these elements are
      <iris:entity> elements as described by IRIS [5].  The referent of
      each <iris:entity> element MUST be a <contact> (Section 3.2.5)
      result.




Newton                 Expires December 29, 2003                [Page 8]


Internet-Draft                 iris-dreg                       June 2003


      *  <billingContacts>

      *  <technicalContacts>

      *  <administrativeContacts>

      *  <legalContacts>

      *  <zoneContacts>

      *  <abuseContacts>

      *  <securityContacts>

      *  <otherContacts>

   o  <lastContactModificationDateTime> - specifies the last time a
      contact for the domain was added or removed.

   o  <lastContactModificationBy> - an element with a child of
      <iris:entity>. The referent is a <contact> (Section 3.2.5) result
      responsible for the last addition or removal of a contact for this
      domain.

   o  One of the following status elements:

      *  <reservedDelegationStatus> - permanently inactive

      *  <assignedAndActiveStatus> - normal state

      *  <assignedAndInactiveStatus> - new delegation

      *  <assignedAndOnHoldStatus> - dispute

      *  <revokedStatus> - database purge pending

      *  <unspecifiedStatus>

   o  <delegationReference> - an element containing an <iris:entity>
      element, the referent of which is a <domain> (Section 3.2.2).  The
      intention of this element is to point to the downstream delegation
      reference.  Therefore, if this is a result given back by a domain
      registry, it should point to the domain in the domain registrar or
      registrant service.

   o  <registry> - contains a child of <iris:entity> specifying the
      domain registry operator for this domain represented by a
      <registrationAuthority> (Section 3.2.6) result.



Newton                 Expires December 29, 2003                [Page 9]


Internet-Draft                 iris-dreg                       June 2003


   o  <registrar> - contains a child of <iris:entity> specifying the
      domain registrar operator for this domain represented by a
      <registrationAuthority> (Section 3.2.6).

   o  <initialDelegationDateTime> - an element containing the date and
      time of the initial delegation of this domain.

   o  <lastRenewalDateTime> - an element containing the date and time of
      last renewal of this domain.

   o  <expirationDateTime> - an element containing the date and time of
      the expiration of this domain.

   o  <lastDelegationModificationDateTime> - an element containing the
      date and time of the last time one of the nameservers was added or
      removed for the delegation of this domain.

   o  <lastDelegationModificationBy> - an element with a child of
      <iris:entity>. The referent MUST be a <contact> (Section 3.2.5)
      result and be responsible for the last addition or removal of a
      nameserver for this domain.

   o  <lastVerificationDateTime> - an element containing the date and
      time of the last time the data for this domain was verified by the
      responsible registration authority.

   o  <iris:seeAlso> - an element containing <iris:entity> elements
      specifying entities that are indirectly associated with this
      domain.


3.2.3 <domainVariant>

   The <domainVariant> result represents an instance of a
   internationalized domain name variant. The children of the
   <domainVariant> element are as follows:

   o  <domainName> - the full name of the domain as it is in DNS. The
      contents of this element MUST be a domain name as specified by RFC
      1035 [12].

   o  <domainVariantHandle> - a registry unique assigned identifier to a
      domain variant..

   o  <variantOf> - an element with a child of <iris:entity>. The
      referent MUST be a <domain> (Section 3.2.2) result and be the
      internationalized domain name for which this is a variant.




Newton                 Expires December 29, 2003               [Page 10]


Internet-Draft                 iris-dreg                       June 2003


   o  <blockedStatus> - an element indicating that this variant is
      blocked from registration.

   o  <unblockedStatus> - an element indicating that this variant is not
      blocked from registration.

   o  <registeredDomain> - an element with a child of <iris:entity>. The
      referent MUST be a <domain> (Section 3.2.2) result and be the
      domain representation if this variant is registered. The
      <registeredDomain> element is only allowed if the
      <unblockedStatus> element is present, but it is not required.


3.2.4 <host> Result

   The <host> element represents an instance of a host registration. The
   children of the <host> element are as follows:

   o  <hostHandle> - a registry unique assigned identifier for the host.

   o  <hostName> - the fully qualified domain name of the host. The
      contents of this element are a domain name and MUST conform to RFC
      1035 [12].

   o  <ipV4Addresses> - contains a list of <ipV4Address> elements, the
      content of which MUST conform to the a valid IP version 4 host
      address as specified by RFC 791 [8].

   o  <ipV6Addresses> - contains a list of <ipV6Address> elements, the
      content of which MUST conform to the a valid IP version 6 host
      address as specified by RFC 2373 [7].

   o  <hostContact> - a list of <iris:entity> elements specifying
      contacts associated with this host. The referents MUST be
      <contact> (Section 3.2.5) results.

   o  <createdDateTime> - an element containing the date and time this
      host was created.

   o  <lastModificationDateTime> - an element containing the date and
      time this host was last modified.

   o  <iris:seeAlso> - an element containing <iris:entity> elements
      specifying entities that are indirectly associated with this host.







Newton                 Expires December 29, 2003               [Page 11]


Internet-Draft                 iris-dreg                       June 2003


3.2.5 <contact> Result

   The <contact> element represents an instance of a contact
   registration. The children of the <contact> element are as follows:

   o  <contactHandle> - a registry unique assigned identifier for this
      contact.

   o  <commonName> - the name of the contact.

   o  <language> - a specification of the language code to use to
      localize the data in this result.

   o  <organization> - an element containing the organization name of
      the contact.

   o  <eMail> - elements containing the e-mail address for this contact.

   o  <address> - an element containing the street address for this
      contact.

   o  <city> - an element containing the city for this contact.

   o  <region> - an element containing the national region for this
      contact.

   o  <postalCode> - an element containing the postal code for this
      contact.

   o  <country> - an element containing the country for this contact.
      This must be compliant with ISO 3166 [14].

   o  <phone> - an element containing the voice phone number for this
      contact.

   o  <fax> - an element containing the facsimile phone number for this
      contact.

   o  <createdDateTime> - an element containing the date and time this
      contact was created.

   o  <lastModificationDateTime> - an element containing the date and
      time this contact was last modified.

   o  <lastVerificationDateTime> - an element containing the date and
      time this data for this contact was last verified to be correct by
      the appropriate registration authority.




Newton                 Expires December 29, 2003               [Page 12]


Internet-Draft                 iris-dreg                       June 2003


   o  <translatedContacts> - an element containing <iris:entity>
      elements specifying equivalents of this result that have been
      translated into other languages. The referents MUST be <contact>
      (Section 3.2.5) results.

   o  <iris:seeAlso> - an element containing <iris:entity> elements
      specifying entities that are indirectly associated with this
      contact.


3.2.6 <registrationAuthority>

   The <registrationAuthority> result represents an entity capable of
   registering domains.

   The <serviceInstance> child element of <registrationAuthority>
   contains an <entity> element pointing to the entity "id" in the
   entity class "service-definition". The authority areas found in the
   referent MUST be domains and are the domains for which a given
   registration authority has control.

   The registration authority type child elements, <registry>,
   <registrar>, and <other>, determine the role in which this
   registration authority plays in the process of registering domains.
   The intent of this element is to explain the various roles a
   registration authority may have with regards to the authority areas
   pointed to by the <serviceInstance> element.  A client MAY understand
   the relationship of a registration authority with respect to a domain
   by the placement of the reference in the domain (e.g. <registry> or
   <registrar>).

3.3 Generic Code Derivatives

3.3.1 <searchTooWide>

   Servers MAY use the <searchTooWide> error code when a query capable
   of using one of the elements from the contact search group (Section
   3.1.7) must be narrowed to yield a result set acceptable to the
   policies of the server operator.

3.3.2 <languageNotSupported>

   The queries <findDomainsByRegistrant>, <findDomainsByI18NName>, and
   <findContacts> support optional language tags that allow a client to
   suggest to a server the languages in which to scope the queries.  If
   a client passes to the server a language which the server does not
   support, the server MAY use this error code to indicate that one of
   the languages is not supported.



Newton                 Expires December 29, 2003               [Page 13]


Internet-Draft                 iris-dreg                       June 2003


3.4 Support for <iris:lookupEntity>

   The following types of entity classes are recognized by the
   <lookupEntity> query of IRIS for this registry:

   o  host-name - the fully qualified domain name of a nameserver.
      Yields a <host> (Section 3.2.4) in the response.

   o  host-handle - the registry unique identifier given a nameserver.
      Yields a <host> (Section 3.2.4) in the response.

   o  domain-name - the fully qualified name of a domain. This a domain
      name as specified by RFC 1035 [12]. Yields a <domain> (Section
      3.2.2) in the response.

   o  domain-handle - the registry unique identifier given a domain.
      Yields a <domain> (Section 3.2.2) in the response.

   o  domainvariant-name - the fully qualified name of a domain variant.
      This a domain name as specified by RFC 1035 [12].  Yields a
      <domainVariant> (Section 3.2.3) in the response.

   o  domainvariant-handle - the registry unique identifier given a
      domain variant.  Yields a <domainVariant> (Section 3.2.3) in the
      response.

   o  contact-handle - the registry unique identifier given a contact.
      Yields a <contact> (Section 3.2.5) in the response.

   o  ipv4-address - the IPv4 address of a nameserver. Yields a <host>
      (Section 3.2.4) in the response.

   o  ipv6-address - the IPv6 address of a nameserver. Yields a <host>
      (Section 3.2.4) in the response.

   o  registration-authority - the name of a registration authority.
      Yields a <registrationAuthority> (Section 3.2.6) in the response.

   o  All names in these entity classes are case insensitive.












Newton                 Expires December 29, 2003               [Page 14]


Internet-Draft                 iris-dreg                       June 2003


4. Formal XML Syntax

   This registry schema is specified in the XML Schema notation. The
   formal syntax presented here is a complete schema representation
   suitable for automated validation of an XML instance when combined
   with the formal schema syntax of IRIS.


   <?xml version="1.0"?>
   <schema xmlns="http://www.w3.org/2001/XMLSchema"
     xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
     xmlns:iris="urn:ietf:params:xml:ns:iris1"
     targetNamespace="urn:ietf:params:xml:ns:dreg1"
     elementFormDefault="qualified" >

     <import namespace="urn:ietf:params:xml:ns:iris1" />

     <annotation>
       <documentation>
         Domain registry schema
         derived from IRIS schema
       </documentation>
     </annotation>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Query Types                               -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- List Registrars                           -->
     <!--                                           -->

     <complexType
       name="listRegistrarsType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>



Newton                 Expires December 29, 2003               [Page 15]


Internet-Draft                 iris-dreg                       June 2003


     <element
       name="listRegistrars"
       type="dreg:listRegistrarsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Registrant                -->
     <!--                                           -->

     <complexType
       name="findDomainsByRegistrantType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <choice>
               <group
                 ref="dreg:contactSearchGroup" />
               <element
                 name="contactHandle"
                 type="dreg:exactMatchParameter" />
             </choice>
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByRegistrant"
       type="dreg:findDomainsByRegistrantType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Name                      -->
     <!--                                           -->

     <complexType
       name="findDomainsByNameType">
       <complexContent>



Newton                 Expires December 29, 2003               [Page 16]


Internet-Draft                 iris-dreg                       June 2003


         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="namePart"
               type="dreg:partialMatchParameter" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByName"
       type="dreg:findDomainsByNameType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Internationalized Name    -->
     <!--                                           -->

     <complexType
       name="findDomainsByI18NNameType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="namePart"
               type="dreg:partialMatchParameter" />
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element



Newton                 Expires December 29, 2003               [Page 17]


Internet-Draft                 iris-dreg                       June 2003


       name="findDomainsByI18NName"
       type="dreg:findDomainsByI18NNameType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Contacts                             -->
     <!--                                           -->

     <complexType
       name="findContactsType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <group
               ref="dreg:contactSearchGroup" />
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="unbounded"/>
            </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findContacts"
       type="dreg:findContactsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Host                      -->
     <!--                                           -->

     <complexType
       name="findDomainsByHostType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <choice>
               <element
                 name="hostName"



Newton                 Expires December 29, 2003               [Page 18]


Internet-Draft                 iris-dreg                       June 2003


                 type="dreg:exactMatchParameter" />
               <element
                 name="hostHandle"
                 type="dreg:exactMatchParameter" />
               <element
                 name="ipV4Address"
                 type="dreg:exactMatchParameter" />
               <element
                 name="ipV6Address"
                 type="dreg:exactMatchParameter" />
             </choice>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByHost"
       type="dreg:findDomainsByHostType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Contact Search Group                      -->
     <!--                                           -->

     <group
       name="contactSearchGroup">
       <choice>
         <element
           name="commonName"
           type="dreg:exactOrPartialMatchParameter" />
         <element
           name="organization"
           type="dreg:exactOrPartialMatchParameter" />
         <element
           name="eMail"
           type="dreg:domainResourceParameter" />
         <element
           name="city"
           type="dreg:exactMatchParameter" />
         <element
           name="region"
           type="dreg:exactMatchParameter" />
         <element
           name="postalCode"
           type="dreg:exactMatchParameter" />
       </choice>
     </group>



Newton                 Expires December 29, 2003               [Page 19]


Internet-Draft                 iris-dreg                       June 2003


     <complexType
       name="exactOrPartialMatchParameter">
       <choice>
         <group
           ref="dreg:partialMatchGroup" />
         <group
           ref="dreg:exactMatchGroup" />
       </choice>
     </complexType>

     <complexType
       name="exactMatchParameter">
       <group
         ref="dreg:exactMatchGroup" />
     </complexType>

     <complexType
       name="partialMatchParameter">
       <sequence>
         <group
           ref="dreg:partialMatchGroup" />
       </sequence>
     </complexType>

     <complexType
       name="domainResourceParameter" >
       <choice>
         <group
           ref="dreg:exactMatchGroup" />
         <element
           name="inDomain"
           type="token" />
       </choice>
     </complexType>

     <element
       name="baseDomain"
       type="normalizedString" />

     <group
       name="partialMatchGroup">
       <sequence>
         <element
           name="beginsWith"
           minOccurs="1"
           maxOccurs="1" >
           <simpleType>
             <restriction



Newton                 Expires December 29, 2003               [Page 20]


Internet-Draft                 iris-dreg                       June 2003


               base="token">
               <minLength
                 value="1"/>
             </restriction>
           </simpleType>
         </element>
         <element
           name="endsWith"
           minOccurs="0"
           maxOccurs="1" >
           <simpleType>
             <restriction
               base="token">
               <minLength
                 value="1"/>
             </restriction>
           </simpleType>
         </element>
       </sequence>
     </group>

     <group
       name="exactMatchGroup">
       <sequence>
         <element
           name="exactMatch"
           type="normalizedString" />
       </sequence>
     </group>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Result Types                              -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- Domain                                    -->
     <!--                                           -->

     <complexType
       name="domainType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="domainName"



Newton                 Expires December 29, 2003               [Page 21]


Internet-Draft                 iris-dreg                       June 2003


               type="normalizedString" />
             <element
               name="domainHandle"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="nameServers"
               minOccurs="0"
               maxOccurs="1" >
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="registrant"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="1" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="billingContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="technicalContacts"



Newton                 Expires December 29, 2003               [Page 22]


Internet-Draft                 iris-dreg                       June 2003


               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="administrativeContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="legalContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="zoneContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>



Newton                 Expires December 29, 2003               [Page 23]


Internet-Draft                 iris-dreg                       June 2003


               </complexType>
             </element>
             <element
               name="abuseContacts"
               minOccurs="0" maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="securityContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="otherContacts"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="lastContactModificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastContactModificationBy"



Newton                 Expires December 29, 2003               [Page 24]


Internet-Draft                 iris-dreg                       June 2003


               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>
             <choice
               minOccurs="0"
               maxOccurs="1">
               <element
                 name="reservedDelegationStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <element
                 name="assignedAndActiveStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <element
                 name="assignedAndInactiveStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <element
                 name="assignedAndOnHoldStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <element
                 name="revokedStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <element
                 name="unspecifiedStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
             </choice>
             <element
               name="delegationReference"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>



Newton                 Expires December 29, 2003               [Page 25]


Internet-Draft                 iris-dreg                       June 2003


             <element
               name="registry"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="registrar"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="0"
                     maxOccurs="1" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="initialDelegationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastRenewalDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="expirationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastDelegationModificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />



Newton                 Expires December 29, 2003               [Page 26]


Internet-Draft                 iris-dreg                       June 2003


             <element
               name="lastDelegationModificationBy"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="lastVerificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="1" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="domain"
       type="dreg:domainType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Domain Variant                            -->
     <!--                                           -->

     <complexType
       name="domainVariantType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="domainName"
               type="normalizedString" />
             <element
               name="domainVariantHandle"
               type="dreg:normalizedStringOmissionType"
               nillable="true"



Newton                 Expires December 29, 2003               [Page 27]


Internet-Draft                 iris-dreg                       June 2003


               minOccurs="0"
               maxOccurs="1" />
             <element
               name="variantOf"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>
             <choice
               minOccurs="0"
               maxOccurs="1">
               <element
                 name="blockedStatus"
                 nillable="true"
                 type="dreg:dateTimeOmissionType" />
               <sequence>
                 <element
                   name="unblockedStatus"
                   nillable="true"
                   type="dreg:dateTimeOmissionType" />
                 <element
                   name="registeredDomain"
                   minOccurs="0"
                   maxOccurs="1">
                   <complexType>
                     <sequence>
                       <element
                         ref="iris:entity" />
                     </sequence>
                   </complexType>
                 </element>
               </sequence>
             </choice>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="domainVariant"
       type="dreg:domainVariantType"
       substitutionGroup="iris:result" />




Newton                 Expires December 29, 2003               [Page 28]


Internet-Draft                 iris-dreg                       June 2003


     <!--                                           -->
     <!-- Host                                      -->
     <!--                                           -->

     <complexType
       name="hostType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="hostHandle"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="hostName"
               type="normalizedString" />
             <element
               name="ipV4Addresses"
               minOccurs="0"
               maxOccurs="1" >
               <complexType>
                 <sequence>
                   <element
                     name="ipV4Address"
                     type="token"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="ipV6Addresses"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     name="ipV6Address"
                     type="token"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element



Newton                 Expires December 29, 2003               [Page 29]


Internet-Draft                 iris-dreg                       June 2003


               name="hostContacts"
               minOccurs="0"
               maxOccurs="1" >
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="createdDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastModificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastVerificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="1" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="host"
       type="dreg:hostType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Contact                                   -->
     <!--                                           -->




Newton                 Expires December 29, 2003               [Page 30]


Internet-Draft                 iris-dreg                       June 2003


     <complexType
       name="contactType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="contactHandle"
               type="normalizedString" />
             <element
               name="commonName"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1"/>
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="organization"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="eMail"
               type="dreg:stringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="2" />
             <element
               name="address"
               type="dreg:stringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="city"
               type="dreg:stringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="region"
               type="dreg:stringOmissionType"
               nillable="true"



Newton                 Expires December 29, 2003               [Page 31]


Internet-Draft                 iris-dreg                       June 2003


               minOccurs="0"
               maxOccurs="1" />
             <element
               name="postalCode"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="country"
               type="dreg:tokenOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="phone"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="fax"
               type="dreg:normalizedStringOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="createdDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastModificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastVerificationDateTime"
               type="dreg:dateTimeOmissionType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="translatedContacts"
               type="iris:seeAlsoType"
               nillable="true"



Newton                 Expires December 29, 2003               [Page 32]


Internet-Draft                 iris-dreg                       June 2003


               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="1" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="contact"
       type="dreg:contactType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Registration Authority                    -->
     <!--                                           -->

     <complexType
       name="registrationAuthorityType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="serviceInstance">
               <complexType>
                 <sequence>
                   <element
                     ref="iris:entity" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="organizationName"
               type="string"
               minOccurs="0"
               maxOccurs="1" />
             <choice
               minOccurs="0"
               maxOccurs="3">
               <element
                 name="registry">
                 <complexType/>
               </element>
               <element



Newton                 Expires December 29, 2003               [Page 33]


Internet-Draft                 iris-dreg                       June 2003


                 name="registrar">
                 <complexType/>
               </element>
               <element
                 name="other">
                 <complexType/>
               </element>
             </choice>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="registrationAuthority"
       type="dreg:registrationAuthorityType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Data Omission Types                       -->
     <!--                                           -->

     <attributeGroup
       name="omissionAttributeGroup">
       <attribute
         name="private"
         type="boolean" />
       <attribute
         name="denied"
         type="boolean" />
       <attribute
         name="unspecified"
         type="boolean" />
     </attributeGroup>

     <complexType
       name="dateTimeOmissionType">
       <simpleContent>
         <extension
           base="dateTime">
           <attributeGroup
             ref="dreg:omissionAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="stringOmissionType">



Newton                 Expires December 29, 2003               [Page 34]


Internet-Draft                 iris-dreg                       June 2003


       <simpleContent>
         <extension
           base="string">
           <attributeGroup
             ref="dreg:omissionAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="normalizedStringOmissionType">
       <simpleContent>
         <extension
           base="normalizedString">
           <attributeGroup
             ref="dreg:omissionAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="tokenOmissionType">
       <simpleContent>
         <extension
           base="token">
           <attributeGroup
             ref="dreg:omissionAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Error Codes                               -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- Search Too Wide                           -->
     <!--                                           -->

     <element
       name="searchTooWide"
       type="iris:codeType"
       substitutionGroup="iris:genericCode" />

     <!--                                           -->
     <!-- Language Not Supported                    -->



Newton                 Expires December 29, 2003               [Page 35]


Internet-Draft                 iris-dreg                       June 2003


     <!--                                           -->

     <element
       name="languageNotSupported"
       type="iris:codeType"
       substitutionGroup="iris:genericCode" />

   </schema>

                           Figure 1: dreg.xsd









































Newton                 Expires December 29, 2003               [Page 36]


Internet-Draft                 iris-dreg                       June 2003


5. BEEP Transport Compliance

   IRIS allows several extensions of the core capabilities. This section
   outlines those extensions allowable by IRIS-BEEP [6].

5.1 Message Pattern

   This registry type uses the default message pattern as described in
   IRIS-BEEP [6].

5.2 Server Authentication

   This registry type uses the default server authentication method as
   described in IRIS-BEEP [6].





































Newton                 Expires December 29, 2003               [Page 37]


Internet-Draft                 iris-dreg                       June 2003


6. URI Resolution

6.1 Application Service Label

   The application service label associated with this registry type MUST
   be "DREG1".  This is the abbreviated form the URN for this registry
   type, urn:ietf:params:xml:ns:dreg1.

6.2 Bottom-Up Resolution

   The bottom-up alternative resolution method MUST be identified as
   'bottom' in IRIS URI's.

   The process for this resolution method differs from the
   direct-resolution method if the authority is only a domain name (i.e.
   without the port number). The process for this condition is as
   follows:

   1.  The IRIS [5] direct resolution process is tried on the domain
       name (e.g. "example.com" ).

   2.  If no records are found, then the left-most component of the
       domain name is removed, and the first step is repeated again
       (e.g. "com" ).

   3.  If all the components of the domain name are removed and no
       records are found, then the DNS is queried for the A records
       corresponding to the original domain name and the port used is
       the well-known port for the default protocol of IRIS.


6.3 Top-Down Resolution

   The top-down alternative resolution method MUST be identified as
   'top' in IRIS URI's.

   The process for this resolution method differs from the
   direct-resolution method if the authority is only a domain name (i.e.
   without the port number). The process for this condition is as
   follows:

   1.  The domain name is reduced to its leftmost component. This is
       always '.'.

   2.  The IRIS [5] direct resolution process is tried on the domain
       name.

   3.  If no records are found, then the original component to the right



Newton                 Expires December 29, 2003               [Page 38]


Internet-Draft                 iris-dreg                       June 2003


       of the left-most component of the domain name is prepended, and
       the second step is repeated again (e.g. if "." then "com", if
       "com" then "example.com").

   4.  If all the components of the original domain are present and no
       records are found, then the DNS is queried for the A records
       corresponding to the original domain name and the port used is
       the well-known port for the default protocol of IRIS.











































Newton                 Expires December 29, 2003               [Page 39]


Internet-Draft                 iris-dreg                       June 2003


7. Internationalization Considerations

   Implementers should be aware of considerations for
   internationalization in IRIS [5].

   In addition, this document specifies the lookup of domain names, both
   the traditional ASCII form and the IDN form.  In addition, the social
   data associated with contacts may also be in Unicode. Server
   implementations should take care with normalization processes of
   Unicode during searches.  The <language> element is provided in
   queries that have potential to traverse such data.  Clients should
   use these elements to indicate to the server the target languages
   desired, and servers should use these elements to better enable
   normalization and search processes.

   Clients needing to localize the data tags in this protocol should
   take note that localization is only needed on the names of XML
   elements and attributes.  The schema for this registry has been
   designed so that clients need not interpret the content of elements
   or attributes for localization.

   Clients should also make use of the <language> elements provided in
   many of the results.  Results containing data that may be in Unicode
   are accompanied by these elements in order to aid better presentation
   of the data to the user.


























Newton                 Expires December 29, 2003               [Page 40]


Internet-Draft                 iris-dreg                       June 2003


8. IANA Considerations

   The following URN will need to be registered with IANA according to
   the IANA considerations defined in IRIS [5]:

      urn:ietf:params:xml:ns:dreg1

   The following NAPSTR application service label will need to be
   registered with IANA according to the IANA considerations defined in
   IRIS [5]:

      DREG1







































Newton                 Expires December 29, 2003               [Page 41]


Internet-Draft                 iris-dreg                       June 2003


9. Security Considerations

   This document lays out no new considerations for security precautions
   beyond that specified in IRIS [5].















































Newton                 Expires December 29, 2003               [Page 42]


Internet-Draft                 iris-dreg                       June 2003


References

   [1]   World Wide Web Consortium, "Extensible Markup Language (XML)
         1.0", W3C XML, February 1998, <http://www.w3.org/TR/1998/
         REC-xml-19980210>.

   [2]   World Wide Web Consortium, "Namespaces in XML", W3C XML
         Namespaces, January 1999, <http://www.w3.org/TR/1999/
         REC-xml-names-19990114>.

   [3]   World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C
         XML Schema, October 2000, <http://www.w3.org/TR/2001/
         REC-xmlschema-2-20010502/>.

   [4]   World Wide Web Consortium, "XML Schema Part 1: Structures", W3C
         XML Schema, October 2000, <http://www.w3.org/TR/2001/
         REC-xmlschema-1-20010502/>.

   [5]   Newton, A., "Internet Registry Information Service",
         draft-ietf-crisp-iris-core-01 (work in progress), November
         2002.

   [6]   Newton, A., "Internet Registry Information Service (IRIS) over
         Blocks Extensible Exchange Protocol (BEEP)",
         draft-ietf-crisp-iris-beep-01 (work in progress), November
         2002.

   [7]   Hinden, R. and S. Deering, "IP Version 6 Addressing
         Architecture", RFC 2373, July 1998.

   [8]   Postel, J., "Internet Protocol", STD 5, RFC 791, September
         1981.

   [9]   Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD
         2, October 1994.

   [10]  Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
         Considerations Section in RFCs", RFC 2434, BCP 26, October
         1998.

   [11]  Newton, A., "Cross Registry Internet Service Protocol (CRISP)
         Requirements", draft-ietf-crisp-requirements-00 (work in
         progress), August 2002.

   [12]  Mockapetris, P., "Domain names - implementation and
         specification", STD 13, RFC 1035, November 1987.

   [13]  Bradner, S., "Key words for use in RFCs to Indicate Requirement



Newton                 Expires December 29, 2003               [Page 43]


Internet-Draft                 iris-dreg                       June 2003


         Levels", RFC 2119, BCP 14, March 1997.

   [14]  International Organization for Standardization, "Codes for the
         representation of names of countries, 3rd edition", ISO
         Standard 3166, August 1988.


Author's Address

   Andrew L. Newton
   VeriSign, Inc.
   21345 Ridgetop Circle
   Sterling, VA  20166
   USA

   Phone: +1 703 948 3382
   EMail: anewton@verisignlabs.com; anewton@ecotroph.net
   URI:   http://www.verisignlabs.com/

































Newton                 Expires December 29, 2003               [Page 44]


Internet-Draft                 iris-dreg                       June 2003


Appendix A. Example Requests and Responses

   The examples in this section use the string "C:" to denote data sent
   by a client to a server and the string "S:" to denote data sent by a
   server to a client.

A.1 Example 1

   The following is an example of an entity lookup in a dreg1 registry
   for the contact-handle of 'mak21'. The response shows the ability to
   specify data as being withheld because it is private.

   C: <?xml version="1.0"?>
   C: <request xmlns="urn:ietf:params:xml:ns:iris1"
   C:   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   C:   xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
   C:
   C:   <searchSet>
   C:
   C:     <lookupEntity
   C:       registryType="urn:ietf:params:xml:ns:dreg1"
   C:       entityClass="contact-handle"
   C:       entityName="mak21" />
   C:
   C:   </searchSet>
   C:
   C: </request>

   S: <?xml version="1.0"?>
   S: <iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1"
   S:   xmlns="urn:ietf:params:xml:ns:dreg1"
   S:   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   S:   xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd
   S:     urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
   S:
   S:   <iris:resultSet>
   S:     <iris:answer>
   S:
   S:       <contact
   S:         authority="com" registryType="dreg1"
   S:         entityClass="contact-handle" entityName="mak21" >
   S:
   S:         <contactHandle>mak21</contactHandle>
   S:
   S:         <commonName>
   S:           Mark Kosters
   S:         </commonName>
   S:



Newton                 Expires December 29, 2003               [Page 45]


Internet-Draft                 iris-dreg                       June 2003


   S:         <organization>
   S:           VeriSign, Inc.
   S:         </organization>
   S:
   S:         <eMail>markk@verisignlabs.com</eMail>
   S:
   S:         <phone private="true" xsi:nil="true" />
   S:
   S:       </contact>
   S:
   S:     </iris:answer>
   S:   </iris:resultSet>
   S:
   S: </iris:response>

                          Figure 2: Example 1


A.2 Example 2

   The following is an example of a domain search based on a
   registrant's name beginning with the string 'The Cobbler Shoppe'.
   This example also shows the use of bags.

   C: <?xml version="1.0"?>
   C: <request xmlns="urn:ietf:params:xml:ns:iris1"
   C:          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   C:          xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
   C:
   C:   <searchSet>
   C:     <dreg:findDomainsByRegistrant
   C:       xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   C:       xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
   C:       <dreg:baseDomain>com</dreg:baseDomain>
   C:       <dreg:commonName>
   C:         <dreg:beginsWith>
   C:           The Cobbler Shoppe
   C:         </dreg:beginsWith>
   C:       </dreg:commonName>
   C:     </dreg:findDomainsByRegistrant>
   C:     <bag>
   C:        AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ
   C:        c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn
   C:        T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48
   C:        Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8=
   C:     </bag>
   C:   </searchSet>
   C:



Newton                 Expires December 29, 2003               [Page 46]


Internet-Draft                 iris-dreg                       June 2003


   C: </request>

   S: <?xml version="1.0"?>
   S: <response xmlns="urn:ietf:params:xml:ns:iris1"
   S:           xmlns:iris="urn:ietf:params:xml:ns:iris1"
   S:           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   S:           xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd">
   S:
   S:   <resultSet>
   S:     <answer>
   S:       <dreg:domain
   S:         xmlns="urn:ietf:params:xml:ns:dreg1"
   S:         xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   S:         xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
   S:         authority="com" registryType="dreg1"
   S:         entityClass="domain-handle" entityName="tcs-com-1" >
   S:         <domainName>thecobblershoppe.com</domainName>
   S:         <nameServers>
   S:           <iris:entity
   S:             authority="com" registryType="dreg1"
   S:             entityClass="host-handle" entityName="research7" />
   S:           <iris:entity
   S:             authority="com" registryType="dreg1"
   S:             entityClass="host-handle" entityName="nsol184" />
   S:         </nameServers>
   S:         <registrant>
   S:           <iris:entity
   S:             authority="com" registryType="dreg1"
   S:             entityClass="contact-handle" entityName="beb140">
   S:             <iris:displayName language="en">
   S:               Bill Eckels
   S:             </iris:displayName>
   S:           </iris:entity>
   S:         </registrant>
   S:         <technicalContacts>
   S:           <iris:entity
   S:             bagRef="x1"
   S:             authority="com" registryType="dreg1"
   S:             entityClass="contact-handle" entityName="mak21">
   S:             <iris:displayName language="en">
   S:               Mark Kosters
   S:             </iris:displayName>
   S:           </iris:entity>
   S:         </technicalContacts>
   S:         <assignedAndActiveStatus denied="true" xsi:nil="true" />
   S:         <iris:seeAlso>
   S:           <iris:entity
   S:             authority="com" registryType="dreg1"



Newton                 Expires December 29, 2003               [Page 47]


Internet-Draft                 iris-dreg                       June 2003


   S:             entityClass="service-definition" entityName="notice" />
   S:         </iris:seeAlso>
   S:       </dreg:domain>
   S:     </answer>
   S:     <additional>
   S:       <dreg:contact
   S:         xmlns="urn:ietf:params:xml:ns:dreg1"
   S:         xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   S:         xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
   S:         authority="com" registryType="dreg1"
   S:         entityClass="contact-handle" entityName="beb140" >
   S:         <contactHandle>beb140</contactHandle>
   S:         <commonName>
   S:           Bill Eckels
   S:         </commonName>
   S:         <organization>
   S:           The Cobbler Shoppe
   S:         </organization>
   S:         <eMail private="true" xsi:nil="true" />
   S:         <address>
   S:           21 North Main Street
   S:         </address>
   S:         <city>
   S:           Britt
   S:         </city>
   S:         <region>
   S:           IA
   S:         </region>
   S:         <postalCode>
   S:           50423
   S:         </postalCode>
   S:         <country>
   S:           US
   S:         </country>
   S:         <phone>
   S:           515-843-3521
   S:         </phone>
   S:       </dreg:contact>
   S:       <simpleEntity
   S:         authority="com" registryType="dreg1"
   S:         entityClass="service-definition" entityName="notice" >
   S:         <property name="legal" language="en">
   S:           It is illegal to use information from this service
   S:           for the purposes of sending unsolicited bulk email.
   S:         </property>
   S:       </simpleEntity>
   S:     </additional>
   S:     <bags>



Newton                 Expires December 29, 2003               [Page 48]


Internet-Draft                 iris-dreg                       June 2003


   S:       <bag id="x1">
   S:          AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ
   S:          c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn
   S:          T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48
   S:          Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8=
   S:       </bag>
   S:     </bags>
   S:   </resultSet>
   S:
   S: </response>

                          Figure 3: Example 2







































Newton                 Expires December 29, 2003               [Page 49]


Internet-Draft                 iris-dreg                       June 2003


Appendix B. An Example Database Serialization

   The following is an example of serializing domain data.

   This example shows the serialization of a domain, a host, and some
   named queries.


   <iris:serialization
     xmlns:iris="urn:ietf:params:xml:ns:iris1"
     xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd
       urn:ietf:params:xml:ns:dreg1 dreg.xsd" >

     <dreg:domain
       xmlns="urn:ietf:params:xml:ns:dreg1"
       authority="com" registryType="dreg1"
       entityClass="domain-handle" entityName="tcs-com-1" >
       <domainName>thecobblershoppe.com</domainName>
       <nameServers>
         <iris:serializedEntity
           authority="com" registryType="dreg1"
           entityClass="host-handle" entityName="research7" />
         <iris:serializedEntity
           authority="com" registryType="dreg1"
           entityClass="host-handle" entityName="nsol184" />
       </nameServers>
       <registrant>
         <iris:entity
           authority="net" registryType="dreg1"
           entityClass="contact-handle" entityName="beb140" />
       </registrant>
       <technicalContacts>
         <iris:entity
           authority="net" registryType="dreg1"
           entityClass="contact-handle"
           entityName="mak21" >
           <iris:displayName language="en">
             Mark Kosters
           </iris:displayName>
         </iris:entity>
       </technicalContacts>
     </dreg:domain>

     <dreg:host
       xmlns="urn:ietf:params:xml:ns:dreg1"
       authority="com" registryType="dreg1"



Newton                 Expires December 29, 2003               [Page 50]


Internet-Draft                 iris-dreg                       June 2003


       entityClass="host-handle" entityName="nsol184" >
       <hostHandle>nsol184</hostHandle>
       <hostName>ns1.netsol.com</hostName>
       <ipV4Addresses>
         <ipV4Address>216.168.224.200</ipV4Address>
       </ipV4Addresses>
       <hostContacts>
         <iris:serializedEntity
           authority="com" registryType="dreg1"
           entityClass="contact-handle"
           entityName="dblacka" >
           <iris:displayName language="en">
             David Blacka
           </iris:displayName>
         </iris:serializedEntity>
       </hostContacts>
     </dreg:host>

     <iris:searchContinuation
       authority="com" registryType="dreg1"
       entityClass="contact-handle" entityName="dblacka" >
       <iris:authority> net </iris:authority>

       <dreg:listRegistrars>
         <dreg:baseDomain>com</dreg:baseDomain>
       </dreg:listRegistrars>

     </iris:searchContinuation>

     <iris:serializedNamedQuery
       registryType="dreg1" entityClass="named-query"
       entityName="my-servers" >
       <iris:resultSet>
         <iris:answer>

           <iris:serializedEntity
             authority="verisignlabs.com" registryType="dreg1"
             entityClass="host-handle" entityName="nsol184" />

           <iris:serializedEntity
             authority="verisignlabs.com" registryType="dreg1"
             entityClass="host-handle" entityName="research7" />

           <iris:serializedEntity
             authority="verisignlabs.com" registryType="dreg1"
             entityClass="host-handle" entityName="scooter" />

         </iris:answer>



Newton                 Expires December 29, 2003               [Page 51]


Internet-Draft                 iris-dreg                       June 2003


       </iris:resultSet>
     </iris:serializedNamedQuery>

   </iris:serialization>


                    Figure 4: dreg-serialization.xml












































Newton                 Expires December 29, 2003               [Page 52]


Internet-Draft                 iris-dreg                       June 2003


Appendix C. Acknowledgements

   Many of the concepts concerning the use of SRV records for step-wise
   refinement towards finding authoritative servers and many of the
   details of result objects in this draft were originally created by
   Eric A. Hall in his memos regarding the use of LDAP to satisfy the
   CRISP requirements. These concepts have contributed significantly to
   the development of this protocol.











































Newton                 Expires December 29, 2003               [Page 53]


Internet-Draft                 iris-dreg                       June 2003


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Newton                 Expires December 29, 2003               [Page 54]


Internet-Draft                 iris-dreg                       June 2003


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Newton                 Expires December 29, 2003               [Page 55]