<!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;"> </span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span
style="font-size: 10pt; font-family: Arial; color: navy;">Ok. I think
I understand your
idea. What follows is an attempt to describe it in my own words (boy,
it’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;"> </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 – For each
heartbeat-cycle, the node sends a heartbeat and checks to see if a
heartbeat was received. If the incoming heartbeat is missed for N6
consecutive heartbeat-cycles, then the registrar’s death is imputed and
the state changes to ‘reconnecting’.</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 – For each
heartbeat-cycle, the node initiates a sequence of message exchanges
(AMS devotees know the details here – for example, send a
‘registrar-query’ to the server, receive a ‘cell-spec’ from the server,
send a ‘reconnect’ to the restarted registrar, ...) with outcomes that
fall into 3 categories. First, if “fully successful”, the node will
receive a ‘reconnected’ response from the restarted registrar (and
change state to ‘registered’). Second, if “fully unsuccessful”, the
node will receive a ‘you-are-dead’ response from the registrar, and
change state to ‘unregistered’. Third, all other possible outcomes
result in no change – i.e the ‘reconnect’ 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 – This state
applies whenever the node is neither ‘registered’ nor ‘reconnecting’.
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;"> </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. 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>