<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!-- $Id: draft-dreibholz-rserpool-enrp-takeover-08.xml 4340 2012-12-20 17:55:58Z dreibh $ -->

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

<rfc category="exp" ipr="trust200902" docName="draft-dreibholz-rserpool-enrp-takeover-13.txt">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>


<front>

<title abbrev="Takeover Suggestion Flag">
Takeover Suggestion Flag for the ENRP Handle Update Message
</title>


<!-- ************** THOMAS DREIBHOLZ *************** -->
<author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz">
<organization abbrev="Simula Research Laboratory">Simula Research Laboratory, Network Systems Group</organization>
<address>
<postal>
   <street>Martin Linges vei 17</street>
   <city>1364 Fornebu</city>
   <region>Akershus</region>
   <country>Norway</country>
</postal>
<phone>+47-6782-8200</phone>
<facsimile>+47-6782-8201</facsimile>
<email>dreibh@simula.no</email>
<uri>http://www.iem.uni-due.de/~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@hainu.edu.cn</email>
</address>
</author>
<!-- ****************************************************** -->


<date day="12" month="January" year="2015" />
<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 title="Introduction">
<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 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 (PE), use an arbitrary ENRP server for registration into 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 also to monitor the PE health (by using keep-alive messages).
</t>

<t>As shown in <xref target="AINA2009" />, the following scenario leads to 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 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 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 title="Scope">
<t>The Takeover Suggestion Flag defined in this draft defines a 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 title="Terminology">
<t>The terms are commonly identified in related work and can be found in the RSerPool Overview document <xref target="RFC5351">RFC 5351</xref>.</t>
</section>

<section title="Conventions">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
</section>

</section>


<section title="Takeover Suggestion Flag">

<section title="Definition">
<t>In this subsection, only the differences to the ENRP_HANDLE_UPDATE message defined in <xref target="RFC5353" /> are explained. The following figure shows the ENRP_HANDLE_UPDATE message:
</t>
   <figure>
      <artwork>
    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>
   </figure>
<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 RECOMMENDED for the receiving ENRP server to perform this takeover if it has the resources to do so.</t>

</section>

</section>


<section title="Reference Implementation">
<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 of course the option defined by this document.
   An introduction to this implementation is provided in
   <xref target="Dre2006" />.</t>
</section>


<section title="Testbed Platform">
<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="PAMS2013-NorNet" />, some further information can be found on the project website <xref target="NorNet-Website" />.</t>
</section>


<section title="Security Considerations">
<t>Security considerations for RSerPool systems are described by
   <xref target="RFC5355" />.</t>
</section>


<section title="IANA Considerations">
<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 title='Normative References'>
 <?rfc include="reference.RFC.2119" ?>

 <?rfc include="reference.RFC.5351" ?>
 <?rfc include="reference.RFC.5352" ?>
 <?rfc include="reference.RFC.5353" ?>
 <?rfc include="reference.RFC.5354" ?>
 <?rfc include="reference.RFC.5355" ?>
 <?rfc include="reference.RFC.5356" ?>

 <?rfc include="reference.I-D.dreibholz-rserpool-asap-hropt" ?>
 <?rfc include="reference.I-D.dreibholz-rserpool-delay" ?>
</references>

<references title='Informative References'>
 <?rfc include="AINA2009" ?>
 <?rfc include="Dre2006" ?>
 <?rfc include="IJHIT2008" ?>
 <?rfc include="PAMS2013-NorNet" ?>

 <?rfc include="RSerPool-Website" ?>
 <?rfc include="NorNet-Website" ?>
</references>

</back>


</rfc>
