<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc strict="no" ?>
<?rfc symrefs="yes" ?>

<rfc category="info" ipr="full3978" docName="draft-dreibholz-rserpool-score-03.txt">

<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc strict="yes" ?>

<front>
<title abbrev="RSerPool Bakeoff Scoring">
Reliable Server Pooling (RSerPool) Bakeoff Scoring
</title>

<!-- ************** THOMAS DREIBHOLZ ************** -->
<author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz">
<organization abbrev="University of Duisburg-Essen">University of Duisburg-Essen, Institute for Experimental Mathematics</organization>
<address>
<postal>
   <street>Ellernstrasse 29</street>
   <city>45326 Essen</city>
   <region>Nordrhein-Westfalen</region>
   <country>Germany</country>
</postal>
<phone>+49-201-1837637</phone>
<facsimile>+49-201-1837673</facsimile>
<email>dreibh@iem.uni-due.de</email>
<uri>http://www.iem.uni-due.de/~dreibh/</uri>
</address>
</author>

<!-- ************** MICHAEL TUEXEN *************** -->
<author initials="M." surname="Tuexen" fullname="Michael Tuexen">
   <organization abbrev="Univ. of Applied Sciences Muenster">University of Applied Sciences Muenster</organization>
   <address>
      <postal>
         <street>Stegerwaldstrasse 39</street>
         <city>48565 Steinfurt</city>
         <region>Nordrhein-Westfalen</region>
         <country>Germany</country>
      </postal>
      <email>tuexen@fh-muenster.de</email>
   </address>
</author>


<date day="11" month="July" year="2008" />
<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 title="Introduction">

<t>This document will be used as a basis for point scoring at upcoming
RSerPool bakeoffs. Its purpose is similar to that described in 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 NO company or implementation names will be
attached.</t>

</section>


<section title="Aggregate Server Access Protocol">

<t>The ASAP protocol is described in the follwing documents:
<list style="symbols">
 <t><xref target="I-D.ietf-rserpool-asap">draft-ietf-rserpool-asap</xref></t>
 <t><xref target="I-D.ietf-rserpool-common-param">draft-ietf-rserpool-common-param</xref></t>
</list>
</t>


<section title="Pool Element Communication">

<t>These points will be scored for EACH peer implementation that you
successfully communicate with.</t>

<t><list style="symbols">

<t>2 Successful ASAP Registration Request of a PE in a pool using Round Robin
   policy and handling of ASAP Registration Response.</t>

<t>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).</t>

<t>2 Successful re-registration of a PE in a pool using Round Robin policy.</t>

<t>2 Successful ASAP Deregistration Request of the PE from its pool
   and handling of ASAP Deregistration Response.</t>

<t>2 Successful handling of ASAP Endpoint Keep-Alive without Home bit set, i.e.
   answering with ASAP Endpoint Keep-Alive Ack.</t>

<t>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.</t>

<t>5 Successful connection to and registration at an ENRP server announcing
   itself via multicast ASAP Announces.</t>

<t>1 Successful registration into pool using Least Used policy.</t>

<t>1 Successful registration into pool using Weighted Round Robin policy.</t>

<t>1 Successful registration into pool using Random policy.</t>

<t>1 Successful registration into pool using Weighted Random policy.</t>

</list>
</t>

</section>


<section title="Pool User Communication">

<t>These points will be scored for EACH peer implementation that you
successfully communicate with.</t>

<t><list style="symbols">

<t>5 Successful ASAP Handle Resolution in a pool using Round Robin policy,
   correct handling of ASAP Handle Resolution Response.</t>

<t>2 Successful failure reporting using ASAP Endpoint Unreachable.</t>

<t>5 Successful connection to and handle resolution at ENRP server announcing itself
   via multicast ASAP Announces.</t>

<t>1 Successful handle resolution in a pool using Least Used policy.</t>

<t>1 Successful handle resolution in a pool using Weighted Round Robin policy.</t>

<t>1 Successful handle resolution in a pool using Random policy.</t>

<t>1 Successful handle resolution in a pool using Weighted Random policy.</t>

</list>
</t>

</section>


<section title="ENRP Server Communication">

<t>These points will be scored for EACH peer implementation that you
successfully communicate with.</t>

<t><list style="symbols">

<t>2 Successful handling of an ASAP Registration Request into a pool using
   Round Robin policy (ENRP server answers with successful
   ASAP Registration Response).</t>

<t>2 Rejecting registration of a PE requesting Round Robin policy into
   a pool using Least Used policy.</t>

<t>5 Rejecting registration of a PE with all addresses *not* being part
   of the ASAP association.</t>

<t>5 Successful registration of a PE with some addresses *not* being part
   of the ASAP association. The invalid addresses may *not* go into the
   handlespace.</t>

<t>5 Successful handling of ASAP Endpoint Unreachable messages. The ENRP server
   must remove the given PE after MAX-BAD-PE-REPORTS=3 unreachability
   reports.</t>

<t>2 Sending regular ASAP Endpoint Keep-Alives to its PEs.</t>

<t>2 Removing PE not answering to ASAP Endpoint Keep-Alive.</t>

</list>
</t>

</section>

</section>


<section title="Endpoint Handlespace Redundancy Protocol">

<t>The ENRP protocol is described in the follwing documents:
<list style="symbols">
 <t><xref target="I-D.ietf-rserpool-asap">draft-ietf-rserpool-enrp</xref></t>
 <t><xref target="I-D.ietf-rserpool-common-param">draft-ietf-rserpool-common-param</xref></t>
</list>
</t>

<section title="Peer Management">

<t>These points will be scored for EACH peer implementation that you
   successfully communicate with.</t>

<t><list style="symbols">

<t>2 Sending ENRP Presence to a new ENRP server.</t>

<t>2 Sending ENRP Presences in the interval given by PEER-HEARTBEAT-CYCLE.</t>

<t>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.</t>

<t>2 Handling ENRP Peer List Request and replying with own peer list in
   ENRP Peer List Response.</t>

<t>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.</t>

<t>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.</t>

<t>2 Handling ENRP Handle Table Request and replying own handlespace in
   ENRP Handle Table Response (without M-bit).</t>

<t>10 Handling ENRP Handle Table Request and replying own handlespace in
   ENRP Handle Table Response with M-bit set, remembering point to continue from,
   responding next block of handlespace entries upon following
   ENRP Handle Table Request, etc. until transfer of handlespace data is
   complete.</t>

<t>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).</t>

</list>
</t>

</section>


<section title="Update">

<t>These points will be scored for EACH peer implementation that you
   successfully communicate with.</t>

<t><list style="symbols">

<t>2 Handling an ENRP Handle Update adding a PE.</t>

<t>2 Handling an ENRP Handle Update updating a PE. The changes must be entered
   into the local handlespace copy.</t>

<t>2 Handling an ENRP Handle Update removing a PE.</t>

</list>
</t>

</section>


<section title="Synchronization">

<t>These points will be scored for EACH peer implementation that you
   successfully communicate with.</t>

<t><list style="symbols">

<t>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 own ENRP Presence.</t>

<t>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 own ENRP Presence.</t>

<t>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 own ENRP Presence.</t>

</list>
</t>

</section>


<section title="Takeover">
<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>

<t><list style="symbols">
   <t>5 Successfully detecting the failure of a remote peer and
      initiating a takeover procedure.</t>

   <t>5 Acknowledging another peer's takeover and
      aborting own takeover procedure.</t>

   <t>10 Correctly handling a remote peer's Takeover Server message,
      including ownership change for the remote peer's PEs.</t>

   <t>10 Successfully taking over a dead peer, including ownership
      change and informing the PEs taken over.</t>
</list>
</t>

</section>

</section>


<section title="Bonus Points">

<t>You can also earn Bonus Points:

<list style="symbols">
<t>20 points for the ENRP server handling the largest number of PEs.</t>
<t>20 points for the ENRP server achieving the highest handle resolution
   throughput for a pool containing 100 (should this be larger?) PEs.</t>
</list>

Please note that the whole period of the bakeoff is relevant.
</t>

</section>

<section title="Security Considerations">
<t>This document does only describe test scenarios and therefore does not
introduce any new security issues.</t>
<t>For security considerations of the protocols see
<xref target="I-D.ietf-rserpool-asap">draft-ietf-rserpool-asap</xref>,
<xref target="I-D.ietf-rserpool-asap">draft-ietf-rserpool-enrp</xref>,
and
<xref target="I-D.ietf-rserpool-common-param">draft-ietf-rserpool-common-param</xref>.
</t>
</section>

</middle>


<back>

<references title='Normative References'>
<?rfc include="reference.I-D.ietf-rserpool-arch" ?>
<?rfc include="reference.I-D.ietf-rserpool-asap" ?>
<?rfc include="reference.I-D.ietf-rserpool-enrp" ?>
<?rfc include="reference.I-D.ietf-rserpool-common-param" ?>
<?rfc include="reference.I-D.ietf-rserpool-policies" ?>
<?rfc include="reference.I-D.ietf-rserpool-service" ?>
<?rfc include="reference.I-D.ietf-rserpool-api" ?>
<?rfc include="reference.I-D.ietf-rserpool-threats" ?>

<?rfc include="reference.I-D.dreibholz-rserpool-applic-distcomp" ?>
<?rfc include="reference.I-D.coene-rserpool-applic-ipfix" ?>
<?rfc include="reference.I-D.dreibholz-rserpool-applic-mobility" ?>
</references>

<references title='Informative References'>
<?rfc include="reference.RSerPoolPage" ?>
<?rfc include="reference.Dre2006" ?>
</references>

</back>

</rfc>
