<?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-score-39" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="false" version="3">
 <front>
  <title abbrev="RSerPool Bakeoff Scoring">Reliable Server Pooling (RSerPool) Bakeoff Scoring</title>
  <seriesInfo name="Internet-Draft" value="draft-dreibholz-rserpool-score-39" />
  <!-- ************** 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>
  <!-- ************** MICHAEL TUEXEN *************** -->
  <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
   <organization abbrev="Münster Univ. of App. Sciences">Münster University of Applied Sciences</organization>
   <address>
    <postal>
     <street>Stegerwaldstraße 39</street>
     <city>48565 Steinfurt</city>
     <country>Germany</country>
    </postal>
    <email>tuexen@fh-muenster.de</email>
    <uri>https://www.fh-muenster.de/en/eti/ueber-uns/personen/tuexen/</uri>
   </address>
  </author>
  <date day="16" month="September" year="2026" />
  <keyword>Internet-Draft</keyword>
  <abstract>
   <t>
    This memo describes some of the scoring to be used in the testing of
    Reliable Server Pooling protocols ASAP and ENRP at upcoming bakeoffs.
   </t>
  </abstract>
 </front>
 <middle>
  <section toc="default">
   <name>Introduction</name>
   <t>
    This document will be used as a basis for point scoring at upcoming
    RSerPool bakeoffs. Its purpose is similar to that described in
    <xref target="RFC1025" />. It is hoped that a clear definition of where
    and how to score points will further the development of RSerPool.
   </t>
   <t>
    Note that while attending a bakeoff, no one else will score your points
    for you. We trust that all implementations will faithfully record their
    points that are received honestly. Note also that these scores are NOT to
    be used for marketing purposes. They are for the use of the
    implementations to know how well they are doing. The only reporting that
    will be done is a basic summary to the Reliable Server Pooling Working
    Group, but please note that <em>no</em> company or implementation names
    will be attached.
   </t>
  </section>
  <section toc="default">
   <name>Aggregate Server Access Protocol</name>
   <t>
    The ASAP protocol and useful extensions are described in the following
    documents:
   </t>
   <ul spacing="normal">
    <li><xref target="RFC5352" /></li>
    <li><xref target="RFC5354" /></li>
    <li><xref target="I-D.dreibholz-rserpool-asap-hropt" /></li>
    <li><xref target="I-D.dreibholz-rserpool-delay" /></li>
   </ul>
   <section toc="default">
    <name>Pool Element Communication</name>
    <t>
     These points will be scored for <em>each</em> peer implementation that
     you successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>
      2 Successful ASAP Registration Request of a PE in a pool using
      Round-Robin policy and handling of ASAP Registration Response.
     </li>
     <li>
      2 Failing ASAP Registration Request of a PE requesting Least-Used policy
      in a pool using Round-Robin policy and appropriate handling of ASAP
      Registration Response (e.g., printing error message, but not retrying
      registration).
     </li>
     <li>
      2 Successful re-registration of a PE in a pool using Round-Robin policy.
     </li>
     <li>
      2 Successful ASAP Deregistration Request of the PE from its pool and
      handling of ASAP Deregistration Response.
     </li>
     <li>
      2 Successful handling of ASAP Endpoint Keep-Alive without Home bit set,
      i.e., answering with ASAP Endpoint Keep-Alive Ack.
     </li>
     <li>
      5 Successful handling of ASAP Endpoint Keep-Alive with Home bit set:
      respond with ASAP Endpoint Keep-Alive Ack and use new ENRP server for
      re-registration.
     </li>
     <li>
      5 Successful connection to and registration at an ENRP server announcing
      itself via multicast ASAP Announces.
     </li>
     <li>1 Successful registration into pool using Least-Used policy.</li>
     <li>
      1 Successful registration into pool using Weighted Round-Robin policy.
     </li>
     <li>1 Successful registration into pool using Random policy.</li>
     <li>
      1 Successful registration into pool using Weighted Random policy.
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>Pool User Communication</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>
      5 Successful ASAP Handle Resolution in a pool using Round-Robin policy,
      correct handling of ASAP Handle Resolution Response.
     </li>
     <li>2 Successful failure reporting using ASAP Endpoint Unreachable.</li>
     <li>
      5 Successful connection to and handle resolution at ENRP server
      announcing itself via multicast ASAP Announces.
     </li>
     <li>
      1 Successful handle resolution in a pool using Least-Used policy.
     </li>
     <li>
      1 Successful handle resolution in a pool using Weighted Round-Robin
      policy.
     </li>
     <li>1 Successful handle resolution in a pool using Random policy.</li>
     <li>
      1 Successful handle resolution in a pool using Weighted Random policy.
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>ENRP Server Communication</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>
      2 Successful handling of an ASAP Registration Request into a pool using
      Round-Robin policy (ENRP server answers with successful ASAP
      Registration Response).
     </li>
     <li>
      2 Rejecting registration of a PE requesting Round-Robin policy into a
      pool using Least-Used policy.
     </li>
     <li>
      5 Rejecting registration of a PE with all addresses <em>not</em> being
      part of the ASAP association.
     </li>
     <li>
      5 Successful registration of a PE with some addresses <em>not</em> being
      part of the ASAP association. The invalid addresses may <em>not</em> go
      into the handlespace.
     </li>
     <li>
      5 Successful handling of ASAP Endpoint Unreachable messages. The ENRP
      server must remove the given PE after MAX-BAD-PE-REPORTS=3
      unreachability reports.
     </li>
     <li>2 Sending regular ASAP Endpoint Keep-Alives to its PEs.</li>
     <li>2 Removing a PE not answering an ASAP Endpoint Keep-Alive.</li>
    </ul>
   </section>
  </section>
  <section toc="default">
   <name>Endpoint Handlespace Redundancy Protocol</name>
   <t>
    The ENRP protocol and useful extensions are described in the following
    documents:
   </t>
   <ul spacing="normal">
    <li><xref target="RFC5353" /></li>
    <li><xref target="RFC5354" /></li>
    <li><xref target="I-D.dreibholz-rserpool-enrp-takeover" /></li>
   </ul>
   <section toc="default">
    <name>Peer Management</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>2 Sending ENRP Presence to a new ENRP server.</li>
     <li>
      2 Sending ENRP Presences in the interval given by PEER-HEARTBEAT-CYCLE.
     </li>
     <li>
      5 Requesting peer list from new ENRP server using ENRP Peer List
      Request, handling ENRP Peer List Response and adding entries to its own
      peer list.
     </li>
     <li>
      2 Handling ENRP Peer List Request and replying with own peer list in
      ENRP Peer List Response.
     </li>
     <li>
      5 Requesting handlespace from new ENRP server using ENRP Handle Table
      Request, handling ENRP Handle Table Response (without M-bit set) and
      inserting entries into its own handlespace copy.
     </li>
     <li>
      5 Requesting handlespace from new ENRP server using ENRP Handle Table
      Request, handling ENRP Handle Table Response with M-bit set, requesting
      more entries and inserting entries into its own handlespace copy.
     </li>
     <li>
      2 Handling ENRP Handle Table Request and replying with its own
      handlespace in an ENRP Handle Table Response (without M-bit).
     </li>
     <li>
      10 Handling ENRP Handle Table Request and replying with its own
      handlespace in an ENRP Handle Table Response with M-bit set, remembering
      the point to continue from, responding with the next block of
      handlespace entries upon following ENRP Handle Table Request, etc. until
      transfer of handlespace data is complete.
     </li>
     <li>
      5 Successful addition of new ENRP server announcing itself via multicast
      ENRP Presence (including association establishment as well as download
      of peer list and handlespace).
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>Update</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>2 Handling an ENRP Handle Update adding a PE.</li>
     <li>
      2 Handling an ENRP Handle Update updating a PE. The changes must be
      entered into the local handlespace copy.
     </li>
     <li>2 Handling an ENRP Handle Update removing a PE.</li>
    </ul>
   </section>
   <section toc="default">
    <name>Synchronization</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with.
    </t>
    <ul spacing="normal">
     <li>
      5 Successful detection of different handlespace checksums upon reception
      of ENRP Presence (due to additional PE), request of Handle Table with
      W-bit set, integration of missing PE into local handlespace copy and
      reporting the correct checksum in its own ENRP Presence.
     </li>
     <li>
      5 Successful detection of different handlespace checksums upon reception
      of ENRP Presence (due to out-of-date PE), request of Handle Table with
      W-bit set, removal of PE from local handlespace copy and reporting the
      correct checksum in its own ENRP Presence.
     </li>
     <li>
      10 Successful detection of different handlespace checksums upon
      reception of ENRP Presence (due to multiple new and out-of-date PE
      identities; size of PE identities is larger than maximum ENRP message
      size), request of Handle Table with W-bit set, handling of ENRP Handle
      Table Responses with M-bit set, removal of out-of-date PEs, integration
      of new PEs into the local handlespace copy and reporting correct
      checksum in its own ENRP Presence.
     </li>
    </ul>
   </section>
   <section toc="default">
    <name>Takeover</name>
    <t>
     These points will be scored for EACH peer implementation that you
     successfully communicate with. The setup contains your ENRP server plus a
     set of peers running another implementation.
    </t>
    <ul spacing="normal">
     <li>
      5 Successfully detecting the failure of a remote peer and initiating a
      takeover procedure.
     </li>
     <li>
      5 Acknowledging another peer's takeover and aborting its own takeover
      procedure.
     </li>
     <li>
      10 Correctly handling a remote peer's Takeover Server message, including
      ownership change for the remote peer's PEs.
     </li>
     <li>
      10 Successfully taking over a dead peer, including ownership change and
      informing the PEs taken over.
     </li>
    </ul>
   </section>
  </section>
  <section toc="default">
   <name>Bonus Points</name>
   <t>You can also earn Bonus Points:</t>
   <ul spacing="normal">
    <li>20 points for the ENRP server handling the largest number of PEs.</li>
    <li>
     20 points for the ENRP server achieving the highest handle resolution
     throughput for a pool containing 100 PEs.
    </li>
   </ul>
   <t>Please note that the whole period of the bakeoff is relevant.</t>
  </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 in <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-enrp-takeover" />, and
    <xref target="I-D.dreibholz-rserpool-delay" />. The MIB module is defined
    in <xref target="RFC5525" />. 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>
    This document only describes test scenarios and therefore does not
    introduce any new security issues.
   </t>
   <t>
    For security considerations of the RSerPool protocols see
    <xref target="RFC3237" />, <xref target="RFC5351" />,
    <xref target="RFC5352" />, <xref target="RFC5353" />,
    <xref target="RFC5354" />, <xref target="RFC5356" />, and in particular
    <xref target="RFC5355" />.
   </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.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/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.1025.xml" />
   <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="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>
