<?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="info" ipr="trust200902" docName="draft-dreibholz-rserpool-nextgen-ideas-26" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="false" version="3">
 <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
 <front>
  <title abbrev="RSerPool Next Generation Ideas">Ideas for a Next Generation of the Reliable Server Pooling Framework</title>
  <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-nextgen-ideas-26" />
  <!-- ************** 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="16" month="September" year="2026" />
  <keyword>Internet-Draft</keyword>
  <abstract>
   <t>
    This document collects ideas for a next generation of the Reliable Server
    Pooling framework.
   </t>
  </abstract>
 </front>
 <middle>
  <section toc="default">
   <name>Introduction</name>
   <section toc="default">
    <name>Abbreviations</name>
    <ul spacing="normal">
     <li>ASAP: Aggregate Server Access Protocol</li>
     <li>ENRP: Endpoint Handlespace Redundancy Protocol</li>
     <li>ID: Identifier</li>
     <li>MPTCP: Multi-Path Transmission Control Protocol</li>
     <li>PE: Pool Element</li>
     <li>PR: Pool Registrar</li>
     <li>PU: Pool User</li>
     <li>RSerPool: Reliable Server Pooling</li>
     <li>SCTP: Stream Control Transmission Protocol</li>
     <li>TCP: Transmission Control Protocol</li>
     <li>VNFPOOL: Virtual Network Function Resource Pooling</li>
    </ul>
   </section>
   <section toc="default">
    <name>Reliable Server Pooling</name>
    <t>
     Reliable Server Pooling (RSerPool) is defined in
     <xref target="RFC3237" />, <xref target="RFC5351" />,
     <xref target="RFC5352" />, <xref target="RFC5353" />,
     <xref target="RFC5354" />, <xref target="RFC5355" />,
     <xref target="RFC5356" />, <xref target="RFC5525" />. There is also a
     detailed introduction provided in <xref target="Dre2006" /> as well as
     further informational material at <xref target="RSerPool-Website" />.
     RSerPool is therefore not introduced in more detail here.
    </t>
   </section>
   <section toc="default">
    <name>Scope</name>
    <t>
     The scope of this document is to collect ideas on what to update/change
     for a next generation of the RSerPool framework. It is a result of
     lessons learned over roughly two decades of RSerPool deployment (see also
     <xref target="OMNeTWorkshop2008" />, <xref target="Dre2012" />,
     <xref target="PAMS2013-NorNet" />) as well as ongoing discussions on
     applying RSerPool for Virtual Network Function Resource Pooling (VNFPOOL;
     as introduced in more detail in
     <xref target="I-D.zong-vnfpool-problem-statement" />).
    </t>
   </section>
  </section>
  <section toc="default">
   <name>What to Change in the Next Generation of RSerPool?</name>
   <ul spacing="normal">
    <li>
     ENRP servers denote the management systems in the context of RSerPool.
     The term "server" is misleading, since ENRP servers are actually ENRP
     peers. Literature on RSerPool -- for example <xref target="Dre2006" /> --
     therefore uses the more accurate term "Pool Registrar" (PR). A future
     revision of RSerPool should also use this term. (The RSerPool documents
     did not use "registrar" to avoid confusion with SIP registrars.)
    </li>
    <li>
     Pool Element Identifiers (PE IDs) and Pool Registrar Identifiers (PR IDs)
     are 32-bit random numbers used for the identification of PEs and PRs.
     Since 64-bit CPUs have been standard for a long time, these IDs should be
     extended to 64 bits.
    </li>
    <li>
     ENRP uses the Internet-16 checksum defined in <xref target="RFC1071" />
     to detect handlespace inconsistencies. It is trivially possible to extend
     the underlying algorithm to 32 bits, and the computation is more
     efficient on today's CPUs. The checksum algorithm should therefore be
     changed. (The Internet-16 checksum was finally chosen in 2005 after long
     decisions to avoid any possible patent issues. The trivial extension of
     Internet-16 to Internet-32 is likely no longer an issue.)
    </li>
    <li>
     PR failures lead to a possible concentration of all PUs and PEs at a
     single PR. To achieve better load balancing, the solution ENRP Takeover
     Suggestion -- as defined in
     <xref target="I-D.dreibholz-rserpool-enrp-takeover" /> -- should be
     included in ENRP.
    </li>
    <li>
     Upon handle resolution, a PR has to decide on how many PEs to select.
     Selecting too many entries causes additional overhead (which might be
     unnecessary), selecting too few may cause problems for applications. The
     extension Handle Resolution Option -- defined in
     <xref target="I-D.dreibholz-rserpool-asap-hropt" /> -- allows the PU to
     specify the number of PEs to be selected. This possibility should be
     integrated into ASAP.
    </li>
    <li>
     RSerPool defines SCTP (defined in <xref target="RFC9260" />) as the
     transport protocol for RSerPool. TCP, Multi-Path TCP (MPTCP; see
     <xref target="RFC6824" />), and QUIC (see <xref target="RFC9000" />)
     should be supported as additional transport protocols for all RSerPool
     traffic. SCTP should still be the recommended choice, but allowing
     TCP/MPTCP could make deployment much easier. (SCTP is superior, but it
     lacks support in operating systems and underlying network infrastructure,
     such as firewalls and middleboxes.)
    </li>
   </ul>
  </section>
  <section toc="default">
   <name>Security Considerations</name>
   <t>
    Security considerations for RSerPool can be found in
    <xref target="RFC5355" />.
   </t>
  </section>
  <section toc="default">
   <name>IANA Considerations</name>
   <t>This document introduces no additional considerations for IANA.</t>
  </section>
  <section toc="default">
   <name>Reference Implementation</name>
   <t>
    The RSerPool reference implementation RSPLIB, including example
    applications, can be found at <xref target="RSerPool-Website" />. It
    supports the functionalities defined in <xref target="RFC5351" />,
    <xref target="RFC5352" />, <xref target="RFC5353" />,
    <xref target="RFC5354" />, and <xref target="RFC5355" /> as well as the
    options <xref target="I-D.dreibholz-rserpool-asap-hropt" />,
    <xref target="I-D.dreibholz-rserpool-enrp-takeover" />, and
    <xref target="I-D.dreibholz-rserpool-delay" />. 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>Acknowledgments</name>
   <t>
    The author would like to thank Randall R. Stewart, Michael Tüxen, and Ning
    Zong for their discussions and support.
   </t>
  </section>
 </middle>
 <back>
  <references>
   <name>Normative References</name>
   <!-- <?rfc include="reference.RFC.2119" ?> -->
   <!-- <?rfc include="reference.RFC.8174" ?> -->
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3237.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/bibxml/reference.RFC.5525.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1071.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9260.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6824.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9000.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" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-enrp-takeover.xml" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zong-vnfpool-problem-statement.xml" />
  </references>
  <references>
   <name>Informative References</name>
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5355.xml" />
   <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="OMNeTWorkshop2008" target="https://web.archive.org/web/20260420112909/https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/OMNeTWorkshop2008.pdf">
    <front>
     <title>A Powerful Tool-Chain for Setup, Distributed Processing, Analysis and Debugging of OMNeT++ Simulations</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb" />
     <date day="7" month="March" year="2008" />
    </front>
    <seriesInfo name="Proceedings of the 1st ACM/ICST International Workshop on OMNeT++" value="ISBN&nbsp;978-963-9799-20-2, DOI&nbsp;10.4108/ICST.SIMUTOOLS2008.2990" />
   </reference>
   <reference anchor="Dre2012" target="https://www.nntb.no/~dreibh/habilitation/Dre2012.pdf">
    <front>
     <title>Evaluation and Optimisation of Multi-Path Transport using the Stream Control Transmission Protocol</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <date day="13" month="March" year="2012" />
    </front>
    <seriesInfo name="" value="Habilitation Treatise" />
   </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="NNUW1-Dreibholz-NorNetCore-Introduction" target="https://web-backend.simula.no/sites/default/files/publications/Simula.simula.2124.pdf">
    <front>
     <title>The NorNet Core Testbed – Introduction and Status</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <date day="18" month="September" year="2013" />
    </front>
    <seriesInfo name="" value="Proceedings of the 1st International NorNet Users Workshop&nbsp;(NNUW-1)" />
   </reference>
   <reference anchor="NNUW1-Dreibholz-NorNetCore-Tutorial" target="https://web-backend.simula.no/sites/default/files/publications/Simula.simula.2130.pdf">
    <front>
     <title>The NorNet Core Testbed – An Experiment Tutorial</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <date day="19" month="September" year="2013" />
    </front>
    <seriesInfo name="" value="Proceedings of the 1st International NorNet Users Workshop&nbsp;(NNUW-1)" />
   </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>
