<?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-enrp-takeover-35" 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="Takeover Suggestion Flag">Takeover Suggestion Flag for the ENRP Handle Update Message</title>
    <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-enrp-takeover-35"/>
    <!-- ************** 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>
    <!-- ****** XING ZHOU ************************************* -->
    <author initials="X." surname="Zhou" fullname="Xing Zhou">
      <organization abbrev="Hainan University">Hainan University, College of Information Science and Technology</organization>
      <address>
        <postal>
          <street>Renmin Avenue 58</street>
          <city>570228 Haikou</city>
          <region>Hainan</region>
          <country>China</country>
        </postal>
        <phone>+86-898-66279141</phone>
        <email>zhouxing@hainanu.edu.cn</email>
        <!-- <uri>https://hd.hainanu.edu.cn/scscs/info/1019/1029.htm</uri> -->
      </address>
    </author>
    <!-- ****************************************************** -->
    <date day="15" month="March" year="2026" />
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes the Takeover Suggestion Flag for the ENRP_HANDLE_UPDATE message of the ENRP protocol.</t>
    </abstract>
  </front>
  <middle>
    <section toc="default">
      <name>Introduction</name>
      <t>Reliable Server Pooling as described in <xref target="RFC5351" format="default"/> defines protocols for providing highly available services. The management component used for pool administration is denoted as ENRP Server or Pool Registrar (PR). Since a single ENRP server constitutes a single point of failure, there must be multiple ENRP servers. Servers, denoted as Pool Elements (PE), use an arbitrary ENRP server for registration into the pool. The chosen ENRP server becomes the Home ENRP Server, also denoted as Home PR (PR-H), of the PE. It is responsible for making the PE identity known to the other ENRP servers (by using ENRP_HANDLE_UPDATE messages) and also to monitor the PE health (by using keep-alive messages).
</t>
      <t>As shown in <xref target="AINA2009" format="default"/>, the following scenario leads to unbalanced ENRP server workload: consider a set of multiple ENRP servers with one subset being unreliable (for example, their network connection has problems) and some reliable ENRP servers. After a while, the reliable ENRP server will get the home ENRP server role for almost all of the PEs, which results in high workload for this ENRP server. Since the home ENRP server role is more computation-intensive (as shown by <xref target="IJHIT2008" format="default"/>), this leads to highly unbalanced workload for large RSerPool setups. This unbalanced workload remains, even when the unreliable ENRP servers become reliable again (for example, when the network problems have been solved).</t>
      <section toc="default">
        <name>Scope</name>
        <t>The Takeover Suggestion Flag defined in this draft defines a flag for the ENRP_HANDLE_UPDATE message. If the flag is set, the receiving ENRP server is suggested to take over the PE specified in the ENRP_HANDLE_UPDATE message.</t>
      </section>
      <section toc="default">
        <name>Terminology</name>
        <t>The terms are commonly identified in related work and can be found in the RSerPool Overview document <xref target="RFC5351" format="default">RFC 5351</xref>.</t>
      </section>
      <section toc="default">
        <name>Conventions</name>
        <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
   appear in all capitals, as shown here.
</t>
      </section>
    </section>
    <section toc="default">
      <name>Takeover Suggestion Flag</name>
      <section toc="default">
        <name>Definition</name>
        <t>In this subsection, only the differences to the ENRP_HANDLE_UPDATE message defined in <xref target="RFC5353" format="default"/> are explained. The following figure shows the ENRP_HANDLE_UPDATE message:
</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 = 0x04 |0|0|0|0|0|0|0|T|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Sending Server's ID                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Receiving Server's ID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Update Action          |        (reserved)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    Pool Element Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ]]></artwork>
        <t>T flag: 1 bit (boolean)</t>
        <t>If set, the receiving ENRP server is suggested to take over the PE specified by the Pool Handle and Pool Element Parameters. It is RECOMMENDED for the receiving ENRP server to perform this takeover if it has the resources to do so.</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-asap-hropt" format="default"/>,
   <xref target="I-D.dreibholz-rserpool-delay" 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>
  </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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </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-asap-hropt" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-asap-hropt.xml" target="https://www.ietf.org/archive/id/draft-dreibholz-rserpool-asap-hropt-29.txt">
          <front>
            <title>Handle Resolution Option for ASAP</title>
            <author fullname="Thomas Dreibholz">
              <organization>SimulaMet</organization>
            </author>
            <date month="September" day="6" year="2021"/>
            <abstract>
              <t>   This document describes the Handle Resolution option for the ASAP
   protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-asap-hropt-29"/>
        </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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="AINA2009" target="https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/AINA2009.pdf">
          <front>
            <title>Evaluation and Optimization of the Registrar Redundancy Handling in Reliable Server Pooling Systems</title>
            <author initials="X." surname="Zhou" fullname="Xing&nbsp;Zhou"/>
            <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz"/>
            <author initials="F." surname="Fa" fullname="Fu&nbsp;Fa"/>
            <author initials="W." surname="Du" fullname="Wencai&nbsp;Du"/>
            <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb"/>
            <date day="26" month="May" year="2009"/>
          </front>
          <seriesInfo name="Proceedings of the IEEE 23rd International Conference on Advanced Information Networking and Applications&nbsp;(AINA)" value="Pages 256-262, ISBN&nbsp;978-0-7695-3638-5, DOI&nbsp;10.1109/AINA.2009.25"/>
        </reference>
        <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="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="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>
