[Sis-ams] Re: AMS Question

Scott Burleigh Scott.Burleigh at jpl.nasa.gov
Tue Jun 10 12:32:04 EDT 2008


Darren Everley wrote:
>
> Scott,
>
>  
>
> I am working here at Scisys with Stuart Fowell on a prototype 
> implementation of AMS and have encountered something I would like to 
> run past you.
>
>  
>
> It is with regard to Node Registration and in particular the 
> /I_am_here / mpdu when sent by a Registrar.  Hopefully my attempt at 
> an explanation below is clear;
>
>  
>
> Reading through the spec. in section 4.2.5 where Node Registration is 
> detailed there are two possible implementation choices that can be 
> made; to either extract information from the mpdus which are passed 
> through the Registrar and then forward on these data in the 
> appropriate situations, or do not and allow the Nodes to take care of 
> this themselves after being introduced to one another.
>
>  
>
> We are going with the first choice and extracting information as it is 
> passed through the Registrar, hence using the /node_has_started/ mpdu 
> to notify other Nodes of a new Node starting. 
>
>  
>
> The way I read the spec. is as follows;
>
>  
>
>     * New Node sends /node_registration/ to Registrar
>
>  
>
>  
>
>     * Registrar sends /you_are_in/ to new Node
>
>  
>
>     * Registrar sends /I_am_here/ to new Node containing details of
>       all other registered Nodes (mams endpoint, delivery vectors,
>       invitations, subscriptions, etc)
>
>  
>
>     * Registrar sends /node_has_started/ on behalf of the new Node to
>       every other registered Node
>
>  
>
>  
>
>     * New Node sends /declaration/ to each Node identified within
>       /I_am_here/
>
> / /
>
> / /
>
> The problem I have is this; the /I_am_here/ mpdu contains alongside a 
> list of invitations and subscriptions the delivery vectors for each 
> Node.  The way I am reading the spec. it appears the delivery vector 
> information is never passed to the Registrar, and therefore the 
> Registrar cannot extract this from the mpdus to then pass on at a 
> later date.
>
>  
>
> The end result of this would appear to be that when a new Node 
> registers the information provided to it will always contain zero 
> length delivery vectors, and therefore no node will be able to 
> communicate with another.
>
>  
>
> If I have missed something glaringly obvious then I would appreciate a 
> pointer in the right direction.
>
Excellent catch, Darren, and it's a question that I think ought to go to 
the Working Group for discussion.

This is a vestige of the original design, in which the registering node 
sent its own /I_am_starting/ (via the registrar), its peers always 
responded directly to it with their own /I_am_here/ messages containing 
their delivery vector lists, and the registering node directly returned 
/declaration/s that contained its delivery vector list -- the Registrar 
never had any need to see any delivery vectors.  But because the 
Registrar may now be responsible for getting the delivery vectors out to 
the nodes in /I_am_here/, it now must receive them.

So I think we need to modify the spec in a couple of small ways:

1.   The /node_registration/ message must now contain not only the MAMS 
endpoint name but also the registering node's delivery vectors list.  
This assures that the registrar has this information and can pass it on 
in later /I_am_here/ messages.

2.   But since the registrar now has this information and is the source 
of all /I_am_starting///node_has_started/ messages, why make the 
registering node send its delivery vectors list again in subsequent 
declaration messages?  (And why make the new node's peers wait for 
declarations before getting that information?)   It's simpler and a 
little more efficient to add delivery vectors list to /I_am_starting/ 
and /node_has_started/, and remove it from the declaration structure.

Anybody see anything wrong with this revision?  If not, I'll post a 
tweaked Red 2 in a couple of days.

Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ccsds.org/pipermail/sis-ams/attachments/20080610/148ca19e/attachment.html


More information about the Sis-ams mailing list