<?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-applic-distcomp-41" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="false" version="3">
 <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
 <front>
  <title abbrev="RSerPool for Distributed Computing">Applicability of Reliable Server Pooling for Real-Time Distributed Computing</title>
  <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-applic-distcomp-41" />
  <!-- ************** 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 describes the applicability of the Reliable Server Pooling
    architecture to manage real-time distributed computing pools and access
    the resources of such pools.
   </t>
  </abstract>
 </front>
 <middle>
  <section toc="default">
   <name>Introduction</name>
   <t>
    Reliable Server Pooling defines protocols for providing highly available
    services. The services are located in a pool of redundant servers and if a
    server fails, another server will take over. The only requirement put on
    these servers belonging to the pool is that if state is maintained by the
    server, this state must be transferred to the other server taking over.
   </t>
   <t>
    The goal is to provide server-based redundancy. Transport- and
    network-level redundancy are handled by the transport and network layer
    protocols.
   </t>
   <t>
    The application may choose to distribute its traffic over the servers of
    the pool conforming to a certain policy.
   </t>
   <section toc="default">
    <name>Scope</name>
    <t>
     The scope of this document is to explain the way of using Reliable Server
     Pooling mechanisms to manage and access pools of Distributed Computing
     resources.
    </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" />.
    </t>
   </section>
  </section>
  <section toc="default">
   <name>Distributed Computing using RSerPool</name>
   <section toc="default">
    <name>Requirements</name>
    <t>
     The application scenario for Distributed Computing is defined as follows:
    </t>
    <ul spacing="normal">
     <li>
      Clients generate large computation jobs. Jobs have to be processed by
      servers as soon as possible (real-time), i.e., unlike concepts like
      SETI@home <xref target="SETIatHome-Website" />, it is not possible to
      let clients fetch a job, process it later and maybe someday upload the
      result.
     </li>
     <li>
      Jobs may be partitionable, i.e., they can be split up into smaller
      pieces which can be processed independently and the processing results
      can be concatenated with the processing result of the complete job. Jobs
      have to be processed by servers.
     </li>
     <li>
      Servers may be unreliable; i.e., user computers may be temporarily added
      to the pool of computing resources and may be revoked when they are used
      again by their owners. Furthermore, they may simply disappear because of
      broken network connections (modems, etc.) or power turned off.
     </li>
     <li>
      The processing power of servers in a pool of computing resources may be
      very heterogeneous, i.e., a few supercomputers and many low-end user
      PCs.
     </li>
    </ul>
    <t>
     Maintaining a Distributed Computing pool for the scenario described above
     raises the following requirements for the pool management:
    </t>
    <ul spacing="normal">
     <li>
      It must be possible to manage large server pools, e.g., up to some
      hundreds or even thousands of servers.
     </li>
     <li>
      Due to heterogeneous processing resources within a pool, it must be
      possible to use appropriate server selection procedures to meaningfully
      utilize the available resources.
     </li>
     <li>It must be possible to dynamically add and remove servers.</li>
     <li>
      Servers may be unreliable, especially when the servers are represented
      by user PCs. Failover mechanisms are required to continue an interrupted
      computation session.
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>Architecture</name>
    <t>
     All requirements for pool and session management of the Distributed
     Computing scenario defined in the previous section can be fulfilled by
     the Reliable Server Pooling architecture:
    </t>
    <ul spacing="normal">
     <li>
      An efficient implementation of the handlespace management structures
      allows pools to contain thousands of elements. Handlespace management
      structures have been proposed, implemented and analyzed in
      <xref target="IJHIT2008" />, <xref target="Dre2006" />.
     </li>
     <li>
      RSerPool allows specifying server selection rules by pool member
      selection policies <xref target="RFC5356" />. A set of adaptive and
      non-adaptive policies is already defined. To fulfill the requirements of
      new applications, it is also possible to define new policies. Research
      has already been conducted on the subject of load distribution
      efficiency of pool policies in Distributed Computing scenarios: see
      <xref target="Dre2006" />, <xref target="IJAIT2009" />,
      <xref target="LCN2005" />, <xref target="Tencon2005" />,
      <xref target="Euromicro2007" />, <xref target="IoT2023" /> for details.
     </li>
     <li>
      Dynamic addition and removal of PEs is a feature of RSerPool
      <xref target="RFC5352" />.
     </li>
     <li>
      The control/data channel concept <xref target="RFC5351" /> of RSerPool
      realizes a session layer. That is, RSerPool already handles the main
      task of maintaining and monitoring connections between PUs and PEs; the
      only task of the application layer to provide full failover
      functionality is to realize an application-dependent failover procedure.
      By using client-based state synchronization <xref target="IJAIT2009" />,
      <xref target="LCN2002" /> in the form of ASAP Cookies, a failover may be
      fully transparent to the PU while only a state restoration is necessary
      on the PE side. A demo application <xref target="RSerPool-Website" />
      using the RSerPool session layer in a Distributed Computing application
      is described in <xref target="Infocom2005" />.
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>Limitations</name>
    <t>
     When applying RSerPool to distributed computing applications, the duties
     of the RSerPool architecture remain limited to the management of pools
     and independent sessions only. It is in particular a non-goal to provide
     functionalities like data synchronization among sessions, user
     authentication, accounting or the support for more than one
     administrative domain. Such functionalities are considered to be
     application-specific and are therefore out of the scope of RSerPool.
    </t>
   </section>
  </section>
  <section toc="default">
   <name>Reference Implementation</name>
   <t>
    The RSerPool reference implementation RSPLIB, including example
    Distributed Computing applications, 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="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>Security Considerations</name>
   <t>
    The protocols used in the Reliable Server Pooling architecture only try to
    increase the availability of the servers in the network. RSerPool
    protocols do not contain any protocol mechanisms which are directly
    related to user message authentication, integrity and confidentiality
    functions. For such features, it depends on IPsec protocols or on
    Transport Layer Security (TLS) protocols for its own security and on the
    architecture and/or security features of its user protocols.
   </t>
   <t>
    The RSerPool architecture allows the use of different transport protocols
    for its application and control data exchange. These transport protocols
    may have mechanisms for reducing the risk of blind denial-of-service
    attacks and/or masquerade attacks. If such measures are required by the
    applications, then it is advised to check the SCTP (see
    <xref target="RFC9260" />) applicability statement
    <xref target="RFC3257" /> for guidance on this issue.
   </t>
  </section>
  <section toc="default">
   <name>IANA Considerations</name>
   <t>This document introduces no additional considerations for IANA.</t>
  </section>
 </middle>
 <back>
  <references>
   <name>Normative References</name>
   <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.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.5355.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" />
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dreibholz-rserpool-enrp-takeover.xml" />
  </references>
  <references>
   <name>Informative References</name>
   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3257.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="IoT2023" target="https://web-backend.simula.no/sites/default/files/publications/files/iot2023.pdf">
    <front>
     <title>Towards a Lightweight Task Scheduling Framework for Cloud and Edge Platform</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <author initials="S." surname="Mazumdar" fullname="Somnath&nbsp;Mazumdar" />
     <date month="April" year="2023" />
    </front>
    <seriesInfo name="Internet of Things" value="Volume 21, ISSN&nbsp;2542-6605, DOI&nbsp;10.1016/j.iot.2022.100651" />
   </reference>
   <reference anchor="Euromicro2007" target="https://web.archive.org/web/20260420112909/https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/EuroMicro2007.pdf">
    <front>
     <title>A Performance Evaluation of RSerPool Server Selection Policies in Varying Heterogeneous Capacity Scenarios</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <author initials="X." surname="Zhou" fullname="Xing&nbsp;Zhou" />
     <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb" />
     <date day="29" month="August" year="2007" />
    </front>
    <seriesInfo name="Proceedings of the 33rd IEEE Euromirco Conference on Software Engineering and Advanced Applications" value="Pages 157–164, ISBN&nbsp;0-7695-2977-1, DOI&nbsp;10.1109/EUROMICRO.2007.9" />
   </reference>
   <reference anchor="IJAIT2009" target="https://web.archive.org/web/20260420112909/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 day="8" 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://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="Infocom2005" target="https://web.archive.org/web/20260420112909/https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/Infocom2005.pdf">
    <front>
     <title>An Application Demonstration of 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 day="16" month="March" year="2005" />
    </front>
    <seriesInfo name="" value="Proceedings of the 24th IEEE International Conference on Computer Communications&nbsp;(INFOCOM)" />
   </reference>
   <reference anchor="LCN2002" target="https://web.archive.org/web/20260420112909/https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/StateSharing-Paper-ShortVersion.pdf">
    <front>
     <title>An Efficient Approach for State Sharing in Server Pools</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <date day="8" month="November" year="2002" />
    </front>
    <seriesInfo name="Proceedings of the 27th IEEE Local Computer Networks Conference&nbsp;(LCN)" value="Pages 348–349, ISBN&nbsp;0-7695-1591-6, DOI&nbsp;10.1109/LCN.2002.1181806" />
   </reference>
   <reference anchor="LCN2005" target="https://web.archive.org/web/20260420112909/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="Tencon2005" target="https://web.archive.org/web/20260420112909/https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/Tencon2005.pdf">
    <front>
     <title>The Performance of Reliable Server Pooling Systems in Different Server Capacity Scenarios</title>
     <author initials="T." surname="Dreibholz" fullname="Thomas&nbsp;Dreibholz" />
     <author initials="E.&nbsp;P." surname="Rathgeb" fullname="Erwin Paul&nbsp;Rathgeb" />
     <date day="22" month="November" year="2005" />
    </front>
    <seriesInfo name="Proceedings of the IEEE TENCON" value="ISBN&nbsp;0-7803-9312-0, DOI&nbsp;10.1109/TENCON.2005.300939" />
   </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="SETIatHome-Website" target="https://setiathome.ssl.berkeley.edu/">
    <front>
     <title>SETI@home: Search for Extraterrestrial Intelligence at home</title>
     <author initials="" surname="SETI Project" fullname="SETI Project" />
     <date year="2026" month="September" day="16" />
    </front>
   </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>
