<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc strict="no" ?>
<?rfc symrefs="yes" ?>

<rfc category="exp" ipr="trust200811" docName="draft-dreibholz-rserpool-asap-hropt-04.txt">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>


<front>

<title abbrev="Handle Resolution Option">
Handle Resolution Option for ASAP
</title>

<author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz">
<organization abbrev="University of Duisburg-Essen">University of Duisburg-Essen, Institute for Experimental Mathematics</organization>
<address>
<postal>
   <street>Ellernstrasse 29</street>
   <city>45326 Essen</city>
   <region>Nordrhein-Westfalen</region>
   <country>Germany</country>
</postal>
<phone>+49-201-1837637</phone>
<facsimile>+49-201-1837673</facsimile>
<email>dreibh@iem.uni-due.de</email>
<uri>http://www.iem.uni-due.de/~dreibh/</uri>
</address>
</author>

<date day="7" month="January" year="2009" />
<keyword>Internet-Draft</keyword>

<abstract>
<t>This document describes the Handle Resolution option for the ASAP protocol.</t>
</abstract>


</front>

<middle>


<section title="Introduction">
<t>Reliable Server Pooling defines protocols for providing highly available
   services. The Aggregate Server Access Protocol (ASAP) provides session
   management and server selection for applications. Upon request for a server
   selection -- denoted as handle resolution -- an ENRP server returns a
   list of selected PE identities. The number of PE identities to be returned
   is not specified by RSerPool. Furthermore the ASAP protocol does not contain
   a way for letting the requesting instance specify it.</t>

<t>As shown in <xref target="Dre2006" />, <xref target="IJHIT2008" />,
   selecting too many entries does not make sense for the application, but on
   the other hand also result in significant processing and network overhead.
   Furthermore, it has been shown in <xref target="LCN2005" /> that the
   number of requested elements is usually 1, but there are application cases
   where more PE identities have to be returned. That is, there should be a
   possibility to specify the number of requested PE items upon a handle
   resolution.</t>


<section title="Scope">
<t>The Handle Resolution option defined in this draft simply
   defines an option to let the PU-side specify the desired number of PE
   identities from the ENRP server.</t>
</section>


<section title="Terminology">
<t>The terms are commonly identified in related work and can be found
   in the Aggregate Server Access Protocol and Endpoint Handlespace Redundancy
   Protocol Common Parameters document
   <xref target="RFC5354">RFC 5354</xref>.</t>
</section>


<section title="Conventions">
<t>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
   <xref target="RFC2119"/>.</t>
</section>
</section>


<section title="Handle Resolution Option">

<section title="Definition">
<t>The Handle Resolution MAY be used once in an ASAP Handle Resolution
   message sent from a PU to an ENRP server. It is defined as follows.
</t>
<figure>
   <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Type = 0x803f         |            Length=8            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Items                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   </artwork>
</figure>
<t>
   Items: 32 bits (unsigned integer)
</t>
<t>
   Contains the number of PE identities to be selected by the ENRP server.
   Setting it to 0xffffffff denotes to obtain as many PE identities as
   possible. A setting of 0 denotes to use the ENRP server's default value;
   this default MUST be used if there is no Handle Resolution option given.
   The ENRP server SHOULD try to fulfil the request for the given number of
   items.
</t>
<t>
   Note, that the high-order bits of the type field are set to 10, which means
   "skip this parameter and continue processing" if this parameter type is
   not supported by the ENRP server. This allows for interoperability with
   old implementations.
</t>

</section>

</section>


<section title="Reference Implementation">
<t>The RSerPool reference implementation RSPLIB can be found at
   <xref target="RSerPoolPage" />. It supports the functionalities
   defined by
   <xref target="RFC5351" />,
   <xref target="RFC5352" />,
   <xref target="RFC5353" />,
   <xref target="RFC5354" /> and
   <xref target="RFC5356" /> as well as the options
   <xref target="I-D.dreibholz-rserpool-delay" />,
   <xref target="I-D.dreibholz-rserpool-enrp-takeover" />
   and of course the option defined by this document.
   An introduction to this implementation is provided in
   <xref target="Dre2006" />.</t>
</section>


<section title="Security Considerations">
<t>Security considerations for RSerPool systems are described by
   <xref target="RFC5355" />.</t>
</section>


<section title="IANA Considerations">
<t>This document does not require additional IANA actions beyond those
   already identified in the ENRP and ASAP protocol specifications.</t>
</section>


<section title="Acknowledgments">
<t>
   The author would like to thank
   Nihad Cosic, Dirk Hoffstadt, Michael Kohnen, Jobin Pulinthanath and Xing Zhou
   for their support.
</t>
</section>


</middle>


<back>

<references title='Normative References'>
 <?rfc include="reference.RFC.2119" ?>

 <?rfc include="reference.RFC.5351" ?>
 <?rfc include="reference.RFC.5352" ?>
 <?rfc include="reference.RFC.5353" ?>
 <?rfc include="reference.RFC.5354" ?>
 <?rfc include="reference.RFC.5355" ?>
 <?rfc include="reference.RFC.5356" ?>
</references>

<references title='Informative References'>
 <?rfc include="reference.RSerPoolPage" ?>
 <?rfc include="reference.Dre2006" ?>
 <?rfc include="reference.LCN2005" ?>
 <?rfc include="reference.IJHIT2008" ?>
 <?rfc include="reference.I-D.dreibholz-rserpool-enrp-takeover" ?>
 <?rfc include="reference.I-D.dreibholz-rserpool-delay" ?>
</references>

</back>


</rfc>
