<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ray, Timothy J. (GSFC-583.0) wrote:
<blockquote
 cite="mid:C3B9C435D7725E4EABE2B62200A42C12A3FCA7@NDMSEVS36A.ndc.nasa.gov"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="Microsoft Word 11 (filtered)">
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.StyleParagraph4Kernat14pt, li.StyleParagraph4Kernat14pt, div.StyleParagraph4Kernat14pt
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        text-align:justify;
        line-height:14.0pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
p.styleparagraph4kernat14pt0, li.styleparagraph4kernat14pt0, div.styleparagraph4kernat14pt0
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        text-align:justify;
        line-height:14.0pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
span.emailstyle18
        {font-family:Arial;
        color:windowtext;}
span.EmailStyle20
        {font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
  </style>
  <div class="Section1">
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">Scott,</span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">Ok.&nbsp; I think
I understand your
idea.&nbsp; What follows is an attempt to describe it in my own words (boy,
it&#8217;s
much easier to implement something than to specify it!).</span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">With regard
to the heartbeat cycle, a node
can be thought of as having 3 states:</span></font></p>
  <ul style="margin-top: 0in;" type="disc">
    <li class="MsoNormal" style="color: navy;"><font color="navy"
 face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;">Registered &#8211; For each
heartbeat-cycle, the node sends a heartbeat and checks to see if a
heartbeat was received.&nbsp; If the incoming heartbeat is missed for N6
consecutive heartbeat-cycles, then the registrar&#8217;s death is imputed and
the state changes to &#8216;reconnecting&#8217;.</span></font></li>
    <li class="MsoNormal" style="color: navy;"><font color="navy"
 face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;">Reconnecting &#8211; For each
heartbeat-cycle, the node initiates a sequence of message exchanges
(AMS devotees know the details here &#8211; for example, send a
&#8216;registrar-query&#8217; to the server, receive a &#8216;cell-spec&#8217; from the server,
send a &#8216;reconnect&#8217; to the restarted registrar, ...) with outcomes that
fall into 3 categories.&nbsp; &nbsp;First, if &#8220;fully successful&#8221;, the node will
receive a &#8216;reconnected&#8217; response from the restarted registrar (and
change state to &#8216;registered&#8217;).&nbsp; Second, if &#8220;fully unsuccessful&#8221;, the
node will receive a &#8216;you-are-dead&#8217; response from the registrar, and
change state to &#8216;unregistered&#8217;.&nbsp; Third, all other possible outcomes
result in no change &#8211; i.e the &#8216;reconnect&#8217; sequence will be initiated
again during the following hearbeat cycle.</span></font></li>
    <li class="MsoNormal" style="color: navy;"><font color="navy"
 face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;">Unregistered &#8211; This state
applies whenever the node is neither &#8216;registered&#8217; nor &#8216;reconnecting&#8217;.&nbsp;
We can either say that there is no heartbeat-cycle while in this state,
or that there is a heartbeat cycle but no action is taken.</span></font></li>
  </ul>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial; color: navy;">How does
this line up with your thinking?</span></font></p>
  </div>
</blockquote>
I think this is a good way of putting it, Tim.&nbsp; I should think about it
a little more to convince myself that it covers all the edge cases, but
on first reading it looks right.<br>
<br>
Scott<br>
</body>
</html>