Network Working Group                                          A. Newton
Internet-Draft                                            VeriSign, Inc.
Expires: December 9, 2005                                   June 7, 2005


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

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 9, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document describes a lightweight domain availability service
   using the IRIS framework and the data model of the IRIS Domain
   Registry service.








Newton                  Expires December 9, 2005                [Page 1]


Internet-Draft                  iris-dchk                      June 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Document Terminology . . . . . . . . . . . . . . . . . . . . .  4
   3.  DCHK Registry  . . . . . . . . . . . . . . . . . . . . . . . .  5
     3.1   Schema Description . . . . . . . . . . . . . . . . . . . .  5
       3.1.1   The <domain> Result  . . . . . . . . . . . . . . . . .  5
       3.1.2   Support for <iris:lookupEntity>  . . . . . . . . . . .  7
     3.2   DCHK Formal XML Syntax . . . . . . . . . . . . . . . . . .  7
     3.3   BEEP Transport Compliance  . . . . . . . . . . . . . . . . 10
       3.3.1   Message Pattern  . . . . . . . . . . . . . . . . . . . 11
       3.3.2   Server Authentication  . . . . . . . . . . . . . . . . 11
     3.4   URI Resolution . . . . . . . . . . . . . . . . . . . . . . 11
       3.4.1   Application Service Label  . . . . . . . . . . . . . . 11
       3.4.2   Bottom-Up Resolution . . . . . . . . . . . . . . . . . 11
       3.4.3   Top-Down Resolution  . . . . . . . . . . . . . . . . . 11
   4.  Internationalization Considerations  . . . . . . . . . . . . . 12
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
     5.1   XML Namespace URN Registration . . . . . . . . . . . . . . 13
     5.2   S-NAPTR Registration . . . . . . . . . . . . . . . . . . . 13
     5.3   BEEP Registration  . . . . . . . . . . . . . . . . . . . . 13
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     7.1   Normative References . . . . . . . . . . . . . . . . . . . 15
     7.2   Informative References . . . . . . . . . . . . . . . . . . 15
       Author's Address . . . . . . . . . . . . . . . . . . . . . . . 16
       Intellectual Property and Copyright Statements . . . . . . . . 17
























Newton                  Expires December 9, 2005                [Page 2]


Internet-Draft                  iris-dchk                      June 2005


1.  Introduction

   This document describes a lightweight service for checking the
   availability of domain names.  This service is based on the IRIS
   framework and uses the data model defined by DREG.  By doing this,
   the domain availability service has the advantages provided by IRIS
   and DREG, such as well-known methods for server navigation,
   structured queries and results, and layered extensibility.

   The use of IRIS for this service also allows seamless integration
   between the domain availability service and the service provided by
   DREG.  This allows a user to find the availability status of domain
   and reference the full registration information in DREG.

   The data model in this service (called a registry schema in IRIS
   terms) is a strict subset of the DREG data model.  This enables
   implementors to directly reuse DREG code paths and allows operators
   to deploy the service in either the same server processes as a DREG
   service (same host and port) or in a different server process
   (different port) or machine (different host).

   As an example, an operator may wish to deploy both types of service
   on the same set of machines.  As time goes on, the operator may then
   decide to segregate the services, placing the domain availability
   service on one set of machines and the DREG service on a separate set
   of machines with a stricter set of controls.  Either deployment
   scenario is transparent to the end user and always appear to be
   seamlessly complementary.

   When coupled with [10], this domain availability service is
   lightweight and extremely effecient for high-volume, public-facing
   service.



















Newton                  Expires December 9, 2005                [Page 3]


Internet-Draft                  iris-dchk                      June 2005


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 [7].














































Newton                  Expires December 9, 2005                [Page 4]


Internet-Draft                  iris-dchk                      June 2005


3.  DCHK Registry

   The data model used for the domain availability check (DCHK) service
   is a strict subset of the DREG data model.  This section describes
   the DCHK registry type.  See [3].

3.1  Schema Description

   References to XML elements with no namespace qualifier are from the
   schema defined in Section 3.2.  References to elements and attributes
   with the "iris" XML namespace qualifier are from the schema defined
   in IRIS [3].

   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 [7] to describe the specification outside
   the scope of the formal XML syntax.  While reading this section,
   please reference Section 3.2 for needed details on the formal XML
   syntax.

3.1.1  The <domain> Result

   An example of a <domain> result:

   <domain
     authority="iana.org" registryType="dchk1"
     entityClass="domain-name" entityName="example.com">
     <domainName>example.com</domainName>
     <status><activeAndAssigned/></status>
   </domain>

   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 [6].

   o  <idn> - the name of the domain in nameprep form if applicable.
      See RFC  3491 [8].

   o  <status> - may contain at least one of the following elements of
      type 'domainStatusType' (see Section 3.1.1.1), but none of these
      elements may appear more than once.





Newton                  Expires December 9, 2005                [Page 5]


Internet-Draft                  iris-dchk                      June 2005


      *  <reservedDelegation> - permanently inactive

      *  <assignedAndActive> - normal state

      *  <assignedAndInactive> - registration assigned but delegation
         inactive

      *  <assignedAndOnHold> - dispute

      *  <revoked> - database purge pending

      *  <transferPending> - change of authority pending

      *  <registryLock> - on hold by registry

      *  <registrarLock> - on hold by registrar

   o  <domainVariant> - contains an entity reference, the referent of
      which MUST be a <domain> (Section 3.1.1).

   o  <registrationReference> - an element containing an entity
      reference, the referent of which MUST be either a <domain>
      (Section 3.1.1) or a <domain> as defined by DREG [4].  The intent
      of this element is to point to the downstream registration
      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  <initialDelegationDateTime> - an element containing the date and
      time of the initial delegation 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  <iris:seeAlso> - an element containing an entity reference
      specifying a referent that is indirectly associated with this
      domain.


3.1.1.1  Domain Status Type

   Each element that is of the 'domainStatusType' may have an optional
   <appliedDate> element and one or more <description> elements, the
   text contents of which may be used to describe the status in natural
   language.  Each <description> element must have a 'language'
   attribute describing the language of the description element.




Newton                  Expires December 9, 2005                [Page 6]


Internet-Draft                  iris-dchk                      June 2005


3.1.2  Support for <iris:lookupEntity>

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

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

   o  idn - the fully qualified name of a domain in nameprep form (see
      RFC 3491 [8]).  Yields a <domain> (Section 3.1.1) in the response.


3.2  DCHK Formal XML Syntax

   This registry schema is specified in the XML Schema notation (see [1]
   and [2]).  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:dchk="urn:ietf:params:xml:ns:dchk1"
     xmlns:iris="urn:ietf:params:xml:ns:iris1"
     targetNamespace="urn:ietf:params:xml:ns:dchk1"
     elementFormDefault="qualified" >

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

     <annotation>
       <documentation>
         Domain availability check schema
         derived from IRIS schema
       </documentation>
     </annotation>

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

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

     <complexType



Newton                  Expires December 9, 2005                [Page 7]


Internet-Draft                  iris-dchk                      June 2005


       name="domainType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="domainName"
               type="token" />
             <element
               name="idn"
               type="token"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="status"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <all>
                   <element
                     name="reservedDelegation"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="assignedAndActive"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="assignedAndInactive"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="assignedAndOnHold"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="revoked"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="transferPending"
                     minOccurs="0"
                     maxOccurs="1"



Newton                  Expires December 9, 2005                [Page 8]


Internet-Draft                  iris-dchk                      June 2005


                     type="dchk:domainStatusType" />
                   <element
                     name="registryLock"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="registrarLock"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                   <element
                     name="other"
                     minOccurs="0"
                     maxOccurs="1"
                     type="dchk:domainStatusType" />
                 </all>
               </complexType>
             </element>
             <element
               name="domainVariant"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="registrationReference"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="initialDelegationDateTime"
               type="dateTime"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastDelegationModificationDateTime"
               type="dateTime"
               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="unbounded" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>




Newton                  Expires December 9, 2005                [Page 9]


Internet-Draft                  iris-dchk                      June 2005


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

     <complexType
       name="domainStatusType">
       <sequence>
         <element
           name="appliedDate"
           type="dateTime"
           minOccurs="0"
           maxOccurs="1" />
         <element
           name="description"
           minOccurs="0"
           maxOccurs="unbounded">
           <complexType>
             <simpleContent>
               <extension
                 base="string">
                 <attribute
                   name="language"
                   type="language"
                   use="required" />
               </extension>
             </simpleContent>
           </complexType>
         </element>
       </sequence>
       <attribute
         name="scope"
         type="string" />
     </complexType>

   </schema>

                            Figure 2: dchk.xsd


3.3  BEEP Transport Compliance

   Though it is envisioned that a DCHK service will be deployed with a
   lightweight transport such as [10], it is still possible to use DCHK
   with the [5] transport.  The use of this transport is completely at
   the descretion of the server operator.

   IRIS allows several extensions of the core capabilities.  This



Newton                  Expires December 9, 2005               [Page 10]


Internet-Draft                  iris-dchk                      June 2005


   section outlines those extensions allowable by IRIS-BEEP [5].

3.3.1  Message Pattern

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

3.3.2  Server Authentication

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

3.4  URI Resolution

3.4.1  Application Service Label

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

3.4.2  Bottom-Up Resolution

   The bottom-up alternative resolution method MUST be identified as
   'bottom' in IRIS URI's.  Its process is identical to the 'bottom'
   process described by DREG [4].

3.4.3  Top-Down Resolution

   The top-down alternative resolution method MUST be identified as
   'top' in IRIS URI's.  Its process is identical to the 'top' process
   described by DREG [4].




















Newton                  Expires December 9, 2005               [Page 11]


Internet-Draft                  iris-dchk                      June 2005


4.  Internationalization Considerations

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

   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 with the exception of elements containing
   date and time information.  The schema for this registry has been
   designed so that clients need not interpret the content of elements
   or attributes for localization, other than those elements containing
   date and time information.

   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.

   The "appliedDate" element contains the XML Schema [1] data type
   "dateTime".  The contents of this element MUST be specified using the
   'Z' indicator for Coordinated Universal Time (UTC).






























Newton                  Expires December 9, 2005               [Page 12]


Internet-Draft                  iris-dchk                      June 2005


5.  IANA Considerations

5.1  XML Namespace URN Registration

   This document makes use of a proposed XML namespace and schema
   registry specified in XML_URN [9].  Accordingly, the following
   registration information is provided for the IANA:

   o  URN/URI:

      *  urn:ietf:params:xml:ns:dchk1

   o  Contact:

      *  Andrew  Newton <andy@hxr.us>

   o  XML:

      *  The XML Schema specified in Section 3.2


5.2  S-NAPTR Registration

   The following S-NAPTR application service label will need to be
   registered with IANA according to the IANA considerations defined in
   IRIS [3]:

      DCHK1


5.3  BEEP Registration

   The following BEEP Profile URI is to be registeried with IANA, in
   addition to the registration provided in IRIS-BEEP [5].

      http://iana.org/beep/iris1/dchk1















Newton                  Expires December 9, 2005               [Page 13]


Internet-Draft                  iris-dchk                      June 2005


6.  Security Considerations

   Being a proper subset of DREG [4], the registry described in this
   document has the same security considerations.















































Newton                  Expires December 9, 2005               [Page 14]


Internet-Draft                  iris-dchk                      June 2005


7.  References

7.1  Normative References

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

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

   [3]  Newton, A. and M. Sanz, "Internet Registry Information Service",
        RFC 3891, January 2005.

   [4]  Newton, A. and M. Sanz, "A Domain Registry (dreg) Type for the
        Internet Registry Information Service (IRIS)", RFC 3892,
        January 2005.

   [5]  Newton, A. and M. Sanz, "Internet Registry Information Service
        (IRIS) over  Blocks Extensible Exchange Protocol (BEEP)",
        RFC 3893, January 2005.

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

   [7]  Bradner, S., "Key words for use in RFCs to  Indicate Requirement
        Levels", RFC 2119, BCP 14, March 1997.

   [8]  Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile for
        Internationalized  Domain Names (IDN)", RFC 3491, March 2003.

   [9]  Mealling, M., "The IETF XML Registry",
        draft-mealling-iana-xmlns-registry-03 (work in progress),
        November 2001.

7.2  Informative References

   [10]  Newton, A., "A Lightweight UDP Transport for IRIS",
         draft-ietf-crips-iris-lwz-01 (work in progress), January 2005.











Newton                  Expires December 9, 2005               [Page 15]


Internet-Draft                  iris-dchk                      June 2005


Author's Address

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

   Phone: +1 703 948 3382
   Email: anewton@verisignlabs.com; andy@hxr.us
   URI:   http://www.verisignlabs.com/








































Newton                  Expires December 9, 2005               [Page 16]


Internet-Draft                  iris-dchk                      June 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights 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; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

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




Newton                  Expires December 9, 2005               [Page 17]