<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902" docName="draft-dreibholz-rserpool-asap-hropt-38" obsoletes="" updates="" submissionType="IETF" consensus="true" xml:lang="en" tocInclude="true" symRefs="false" version="3">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <front>
    <title abbrev="Handle Resolution Option">
Handle Resolution Option for ASAP
</title>
    <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-asap-hropt-38"/>
    <!-- ************** THOMAS DREIBHOLZ *************** -->
    <author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz">
      <organization abbrev="SimulaMet">Simula Metropolitan Centre for Digital Engineering</organization>
      <address>
        <postal>
          <street>Stensberggata 27</street>
          <city>0170 Oslo</city>
          <country>Norway</country>
        </postal>
        <email>dreibh@simula.no</email>
        <uri>https://www.simula.no/people/dreibh</uri>
      </address>
    </author>
    <date day="15" month="March" year="2026" />
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes the Handle Resolution option for the ASAP protocol.</t>
    </abstract>
  </front>
  <middle>
    <section toc="default">
      <name>Introduction</name>
      <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" format="default"/>, <xref target="IJAIT2009" format="default"/>, <xref target="IJHIT2008" format="default"/>,
   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" format="default"/> 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 toc="default">
        <name>Scope</name>
        <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 toc="default">
        <name>Terminology</name>
        <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" format="default">RFC 5354</xref>.</t>
      </section>
      <section toc="default">
        <name>Conventions</name>
        <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" format="default"/>.</t>
      </section>
    </section>
    <section toc="default">
      <name>Handle Resolution Option</name>
      <section toc="default">
        <name>Definition</name>
        <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>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   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>
        <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 toc="default">
      <name>Reference Implementation</name>
      <t>The RSerPool reference implementation RSPLIB can be found at
   <xref target="RSerPool-Website" format="default"/>. It supports the functionalities
   defined by
   <xref target="RFC5351" format="default"/>,
   <xref target="RFC5352" format="default"/>,
   <xref target="RFC5353" format="default"/>,
   <xref target="RFC5354" format="default"/> and
   <xref target="RFC5356" format="default"/> as well as the options
   <xref target="I-D.dreibholz-rserpool-delay" format="default"/>,
   <xref target="I-D.dreibholz-rserpool-enrp-takeover" format="default"/>
   and of course the option defined by this document.
   An introduction to this implementation is provided in
   <xref target="Dre2006" format="default"/>.</t>
    </section>
    <section toc="default">
      <name>Testbed Platform</name>
      <t>A large-scale and realistic Internet testbed platform with support for the multi-homing feature of the underlying SCTP protocol is NorNet. A description of NorNet is provided in <xref target="PAMS2013-NorNet" format="default"/>, some further information can be found on the project website <xref target="NorNet-Website" format="default"/>.</t>
    </section>
    <section toc="default">
      <name>Security Considerations</name>
      <t>Security considerations for RSerPool systems are described by
   <xref target="RFC5355" format="default"/>.</t>
    </section>
    <section toc="default">
      <name>IANA Considerations</name>
      <t>This document does not require additional IANA actions beyond those
   already identified in the ENRP and ASAP protocol specifications.</t>
    </section>
    <section toc="default">
      <name>Acknowledgments</name>
      <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>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5351" target="https://www.rfc-editor.org/info/rfc5351" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5351.xml">
          <front>
            <title>An Overview of Reliable Server Pooling Protocols</title>
            <author initials="P." surname="Lei" fullname="P. Lei">
              <organization/>
            </author>
            <author initials="L." surname="Ong" fullname="L. Ong">
              <organization/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization/>
            </author>
            <author initials="T." surname="Dreibholz" fullname="T. Dreibholz">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>The Reliable Server Pooling effort (abbreviated "RSerPool") provides an application-independent set of services and protocols for building fault-tolerant and highly available client/server applications.  This document provides an overview of the protocols and mechanisms in the Reliable Server Pooling suite.  This memo provides information for the  Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5351"/>
          <seriesInfo name="DOI" value="10.17487/RFC5351"/>
        </reference>
        <reference anchor="RFC5352" target="https://www.rfc-editor.org/info/rfc5352" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5352.xml">
          <front>
            <title>Aggregate Server Access Protocol (ASAP)</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization/>
            </author>
            <author initials="Q." surname="Xie" fullname="Q. Xie">
              <organization/>
            </author>
            <author initials="M." surname="Stillman" fullname="M. Stillman">
              <organization/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>Aggregate Server Access Protocol (ASAP; RFC 5352), in conjunction with the Endpoint Handlespace Redundancy Protocol (ENRP; RFC 5353), provides a high-availability data transfer mechanism over IP networks.  ASAP uses a handle-based addressing model that isolates a logical communication endpoint from its IP address(es), thus effectively eliminating the binding between the communication endpoint and its physical IP address(es), which normally constitutes a single point of failure.</t>
              <t>In addition, ASAP defines each logical communication destination as a pool, providing full transparent support for server pooling and load sharing.  It also allows dynamic system scalability -- members of a server pool can be added or removed at any time without interrupting the service.</t>
              <t>ASAP is designed to take full advantage of the network level redundancy provided by the Stream Transmission Control Protocol (SCTP; RFC 4960).  Each transport protocol, other than SCTP, MUST have an accompanying transport mapping document.  It should be noted that ASAP messages passed between Pool Elements (PEs) and ENRP servers MUST use the SCTP transport protocol.</t>
              <t>The high-availability server pooling is gained by combining two protocols, namely ASAP and ENRP, in which ASAP provides the user interface for Pool Handle to address translation, load sharing management, and fault management, while ENRP defines the high- availability Pool Handle translation service.  This memo defines an  Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5352"/>
          <seriesInfo name="DOI" value="10.17487/RFC5352"/>
        </reference>
        <reference anchor="RFC5353" target="https://www.rfc-editor.org/info/rfc5353" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5353.xml">
          <front>
            <title>Endpoint Handlespace Redundancy Protocol (ENRP)</title>
            <author initials="Q." surname="Xie" fullname="Q. Xie">
              <organization/>
            </author>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization/>
            </author>
            <author initials="M." surname="Stillman" fullname="M. Stillman">
              <organization/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization/>
            </author>
            <author initials="A." surname="Silverton" fullname="A. Silverton">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>The Endpoint Handlespace Redundancy Protocol (ENRP) is designed to work in conjunction with the Aggregate Server Access Protocol (ASAP) to accomplish the functionality of the Reliable Server Pooling (RSerPool) requirements and architecture.  Within the operational scope of RSerPool, ENRP defines the procedures and message formats of a distributed, fault-tolerant registry service for storing, bookkeeping, retrieving, and distributing pool operation and membership information.  This memo defines an Experimental Protocol  for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5353"/>
          <seriesInfo name="DOI" value="10.17487/RFC5353"/>
        </reference>
        <reference anchor="RFC5354" target="https://www.rfc-editor.org/info/rfc5354" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5354.xml">
          <front>
            <title>Aggregate Server Access Protocol (ASAP) and Endpoint Handlespace Redundancy Protocol (ENRP) Parameters</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization/>
            </author>
            <author initials="Q." surname="Xie" fullname="Q. Xie">
              <organization/>
            </author>
            <author initials="M." surname="Stillman" fullname="M. Stillman">
              <organization/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>This document details the parameters of the Aggregate Server Access Protocol (ASAP) and Endpoint Handlespace Redundancy Protocol (ENRP) defined within the Reliable Server Pooling (RSerPool) architecture.   This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5354"/>
          <seriesInfo name="DOI" value="10.17487/RFC5354"/>
        </reference>
        <reference anchor="RFC5355" target="https://www.rfc-editor.org/info/rfc5355" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5355.xml">
          <front>
            <title>Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats</title>
            <author initials="M." surname="Stillman" fullname="M. Stillman" role="editor">
              <organization/>
            </author>
            <author initials="R." surname="Gopal" fullname="R. Gopal">
              <organization/>
            </author>
            <author initials="E." surname="Guttman" fullname="E. Guttman">
              <organization/>
            </author>
            <author initials="S." surname="Sengodan" fullname="S. Sengodan">
              <organization/>
            </author>
            <author initials="M." surname="Holdrege" fullname="M. Holdrege">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>Reliable Server Pooling (RSerPool) is an architecture and set of protocols for the management and access to server pools supporting highly reliable applications and for client access mechanisms to a server pool.  This document describes security threats to the RSerPool architecture and presents requirements for security to thwart these threats.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5355"/>
          <seriesInfo name="DOI" value="10.17487/RFC5355"/>
        </reference>
        <reference anchor="RFC5356" target="https://www.rfc-editor.org/info/rfc5356" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5356.xml">
          <front>
            <title>Reliable Server Pooling Policies</title>
            <author initials="T." surname="Dreibholz" fullname="T. Dreibholz">
              <organization/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization/>
            </author>
            <date year="2008" month="September"/>
            <abstract>
              <t>This document describes server pool policies for Reliable Server Pooling (RSerPool) including considerations for implementing them at Endpoint Handlespace Redundancy Protocol (ENRP) servers and pool users.  This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5356"/>
          <seriesInfo name="DOI" value="10.17487/RFC5356"/>
        </reference>
        <reference anchor="I-D.dreibholz-rserpool-delay" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-delay.xml" target="https://www.ietf.org/archive/id/draft-dreibholz-rserpool-delay-28.txt">
          <front>
            <title>Definition of a Delay Measurement Infrastructure and Delay-Sensitive Least-Used Policy for Reliable Server Pooling</title>
            <author fullname="Thomas Dreibholz">
              <organization>SimulaMet</organization>
            </author>
            <author fullname="Xing Zhou">
              <organization>Hainan University</organization>
            </author>
            <date month="September" day="6" year="2021"/>
            <abstract>
              <t>   This document contains the definition of a delay measurement
   infrastructure and a delay-sensitive Least-Used policy for Reliable
   Server Pooling.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-delay-28"/>
        </reference>
        <reference anchor="I-D.dreibholz-rserpool-enrp-takeover" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-enrp-takeover.xml" target="https://www.ietf.org/archive/id/draft-dreibholz-rserpool-enrp-takeover-26.txt">
          <front>
            <title>Takeover Suggestion Flag for the ENRP Handle Update Message</title>
            <author fullname="Thomas Dreibholz">
              <organization>SimulaMet</organization>
            </author>
            <author fullname="Xing Zhou">
              <organization>Hainan University</organization>
            </author>
            <date month="September" day="6" year="2021"/>
            <abstract>
              <t>   This document describes the Takeover Suggestion Flag for the
   ENRP_HANDLE_UPDATE message of the ENRP protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-enrp-takeover-26"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="Dre2006" target="https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-16326/Dre2006_final.pdf">
          <front>
            <title>Reliable Server Pooling – Evaluation, Optimization and Extension of a Novel IETF Architecture</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <date day="7" month="March" year="2007"/>
          </front>
        </reference>
        <reference anchor="IJAIT2009" target="https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/IJAIT2009.pdf">
          <front>
            <title>Overview and Evaluation of the Server Redundancy and Session Failover Mechanisms in the Reliable Server Pooling Framework</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb"/>
            <date month="June" year="2009"/>
          </front>
          <seriesInfo name="International Journal on Advances in Internet Technology&nbsp;(IJAIT)" value="Number 1, Volume 2, Pages 1-14, ISSN&nbsp;1942-2652"/>
        </reference>
        <reference anchor="IJHIT2008" target="https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/IJHIT2008.pdf">
          <front>
            <title>An Evaluation of the Pool Maintenance Overhead in Reliable Server Pooling Systems</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb"/>
            <date month="April" year="2008"/>
          </front>
          <seriesInfo name="SERSC International Journal on Hybrid Information Technology&nbsp;(IJHIT)" value="Number 2, Volume 1, Pages 17-32, ISSN&nbsp;1738-9968"/>
        </reference>
        <reference anchor="LCN2005" target="https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/LCN2005.pdf">
          <front>
            <title>On the Performance of Reliable Server Pooling Systems</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb"/>
            <date day="16" month="November" year="2005"/>
          </front>
          <seriesInfo name="Proceedings of the IEEE Conference on Local Computer Networks&nbsp;(LCN) 30th Anniversary" value="Pages 200-208, ISBN&nbsp;0-7695-2421-4, DOI&nbsp;10.1109/LCN.2005.98"/>
        </reference>
        <reference anchor="PAMS2013-NorNet" target="https://www.simula.no/file/threfereedinproceedingsreference2012-12-207643198512pdf/download">
          <front>
            <title>Design and Implementation of the NorNet Core Research Testbed for Multi-Homed Systems</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <author initials="E.&nbsp;G." surname="Gran" fullname="Ernst Gunnar&nbsp;Gran"/>
            <date day="27" month="March" year="2013"/>
          </front>
          <seriesInfo name="Proceedings of the 3nd International Workshop on Protocols and Applications with Multi-Homing Support&nbsp;(PAMS)" value="Pages 1094-1100, ISBN&nbsp;978-0-7695-4952-1, DOI&nbsp;10.1109/WAINA.2013.71"/>
        </reference>
        <reference anchor="RSerPool-Website" target="https://www.nntb.no/~dreibh/rserpool/">
          <front>
            <title>Thomas Dreibholz's RSerPool Page</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="NorNet-Website" target="https://www.nntb.no/">
          <front>
            <title>NorNet – A Real-World, Large-Scale Multi-Homing Testbed</title>
            <author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz"/>
            <date year="2022"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
</rfc>
