<?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-36" obsoletes="" updates="" 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-36" />
  <!-- ************** 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="16" month="September" 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" /> defines
    protocols for providing highly available services. The management
    component used for pool administration is denoted as an 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 (PEs), use an arbitrary ENRP server for registration with 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
    monitoring PE health (by using keep-alive messages).
   </t>
   <t>
    As shown in <xref target="AINA2009" />, the following scenario leads to an
    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 a high workload for this ENRP server. Since the home ENRP
    server role is more computation-intensive (as shown by
    <xref target="IJHIT2008" />), this leads to a 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>
     This draft defines the Takeover Suggestion 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" />.
    </t>
   </section>
   <section toc="default">
    <name>Conventions</name>
    <t>
     The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
     "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
     NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
     "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
     "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
     to be interpreted as described in BCP 14 <xref target="RFC2119" />
     <xref target="RFC8174" /> 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 from the ENRP_HANDLE_UPDATE
     message defined in <xref target="RFC5353" /> 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
     <bcp14>RECOMMENDED</bcp14> 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" />. 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-asap-hropt" />,
    <xref target="I-D.dreibholz-rserpool-delay" /> and the option defined in
    this document. An introduction to this implementation is provided in
    <xref target="Dre2006" />.
   </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="ComNets2013-Core" />
    and <xref target="PAMS2013-NorNet" />. Further information can be found on
    the project website <xref target="NorNet-Website" />.
   </t>
  </section>
  <section toc="default">
   <name>Security Considerations</name>
   <t>
    Security considerations for RSerPool systems are described in
    <xref target="RFC5355" />.
   </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>Normative References</name>
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5351.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5352.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5353.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5354.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5356.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-asap-hropt.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-delay.xml" />
  </references>
  <references>
   <name>Informative References</name>
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5355.xml" />
   <reference anchor="AINA2009" target="https://web.archive.org/web/20260420112909/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="Fu" fullname="Fa&nbsp;Fu" />
     <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://www.nntb.no/~dreibh/rserpool/Dre2006.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://web.archive.org/web/20260420112909/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://web-backend.simula.no/sites/default/files/publications/threfereedinproceedingsreference.2012-12-20.7643198512.pdf">
    <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 3rd 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="ComNets2013-Core" target="https://web-backend.simula.no/sites/default/files/publications/Simula.simula.2236.pdf">
    <front>
     <title>NorNet Core – A Multi-Homed Research Testbed</title>
     <author initials="E.&nbsp;G." surname="Gran" fullname="Ernst Gunnar&nbsp;Gran" />
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <author initials="A." surname="Kvalbein" fullname="Amund&nbsp;Kvalbein" />
     <date day="14" month="March" year="2014" />
    </front>
    <seriesInfo name="Computer Networks, Special Issue on Future Internet Testbeds" value="Volume 61, Pages 75–87, ISSN&nbsp;1389-1286, DOI&nbsp;10.1016/j.bjp.2013.12.035" />
   </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="2026" month="September" day="16" />
    </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="2026" month="September" day="16" />
    </front>
   </reference>
  </references>
 </back>
</rfc>
