[Sis-ams] minor heartbeat-related issue

Scott Burleigh Scott.Burleigh at jpl.nasa.gov
Thu Jul 10 12:53:13 EDT 2008


Edell, David J. wrote:
> I ran into a similar issue when finishing my implementation. 
>  
> I believe the intent was for the reply method to be inferred from the 
> transport service in that case--meaning that this is a piece of data 
> missing in the AMS content itself.  In my case, I think the node-id 
> was included which I used in the absence of TS specified context to 
> infer the reply address in the APL implementation for unregistered 
> nodes (which uses a direct mapping). I don't remember if/how I had 
> addressed this for an unregistered registrar.
David's answer is right, and I realize this may not be wholly 
satisfactory.  There's an implicit expectation that the receiving entity 
can figure out the MAMS endpoint name of the sender in a 
transport-specific way that is left as an implementation issue.  For 
example, if you're using UDP as the transport for MAMS traffic then when 
you receive the heartbeat you can get the IP address and port number of 
the sending socket from the recvfrom() parameters and send the 
you_are_dead message back to that socket.  You'd have similar 
information if you used, say, the DTN Bundle Protocol as your MAMS 
transport protocol.  This is one of the main reasons that TCP, for 
example, is not a particularly good choice as a MAMS transport protocol: 
the asymmetry of connect/accept makes this kind of echoing complex to 
implement.

At minimum (I now realize), this implementation responsibility ought to 
be made explicit somewhere -- probably in 4.2.7.4.4 and 4.2.7.4.5, 
although I guess a case could be made for documenting it in the Green 
Book instead.

Alternatively, we could modify the heartbeat message to carry MAMS 
endpoint name.  I am not real comfortable with this, as I think it would 
be perceived as adding a lot of bandwidth consumption that would be 
needed only in two edge cases.

A third alternative, though, might be simply to ditch the transmission 
of you_are_dead messages in these cases, i.e., just ignore the 
heartbeats.  The only downside of this would be that the unregistered 
entity wouldn't receive such prompt notification that it is not 
currently registered.  But eventually it would drop back into imputed 
termination logic and go through the relevant re-registration procedure, 
so there's no real harm done.

On reflection, I like this third alternative pretty well.  What do you 
all think?

Scott
> ------------------------------------------------------------------------
> *From:* sis-ams-bounces at mailman.ccsds.org 
> [mailto:sis-ams-bounces at mailman.ccsds.org] *On Behalf Of *Ray, Timothy 
> J. (GSFC-583.0)
> *Sent:* Wednesday, July 09, 2008 2:51 PM
> *To:* sis-ams at mailman.ccsds.org
> *Subject:* [Sis-ams] minor heartbeat-related issue
>
> Dear WG members,
>
>  
>
> (Scott:  thanks for posting the latest specs, and for keeping them 
> up-to-date.)
>
>  
>
> Here's another issue that I've run into.  Perhaps I am missing something?
>
>  
>
> 4.2.7.4.4 - If a server receives a 'heartbeat' from an unregistered 
> registrar, it is supposed to send back a 'you-are-dead'.  In order to 
> do that, it will need to know how to contact the registrar (i.e. its 
> mams-endpoint-name).  That name is not included in the 'heartbeat'.  
> How can a server send an MPDU to an unregistered registrar?
>
>  
>
> 4.2.7.4.5 - Same as previous, but registrar receives a heartbeat from 
> an unregistered node.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ccsds.org/pipermail/sis-ams/attachments/20080710/fd2bf7c3/attachment.htm


More information about the Sis-ams mailing list