[Spread-users] Membership algorithm--continued

Ryan Caudy caudy at jhu.edu
Tue Apr 20 22:41:45 EDT 2004

Hi, answers below.


kevin Tian wrote:

> Thank you, Ryan
> 1.
>>F_members refers to the list of "future members." 
> Future members in its segment, or total members except
> reps in the formed ring? 
> I only see the code Insert_member(&F_members...) in
> alive message handler.
> But in Create_form1, there is note /* Remove from
> F_members any members that are also in OUR F_reps
> (except myself). */,
> What does it mean? 

F_members at a given daemon consists of members in that daemon's 
segment.  The comment and code your talking about does exactly what it 
says -- representatives are treated separately, for the rotation of the 
Form1 token, so they are removed from the F_members list.  See the 
section of code that forwards the Form1 token.

> 2.
> And What's the usage of rep_index field of struct
> reps_info?

The rep_index is used to determine how many of the representatives in 
the rep_info struct have been reached.

> 3.
> And for the global variable Commit_set, only My is
> inserted...
> but in Create_form1, 
> /* skipping self, because already there */
> if( Commit_set.members[i] == My.id ) continue;
> Then we insert nothing?

The commit set isn't emptied unless token loss is declared.  It's added 
to Memb_commit() is called.

> Could you, if possible, give a detailed description of
> form token handling?

I'll try to do this within the next few days.

> I also noted that the message exchange between daemons
> uses unreliable UDP, e.g., when a daemon sends join
> message, it uses Net_ucast and Net_scast. If
> occasional lost (not a link failure) leads to a daemon
> not receive the join message(in the extreme, all join
> messages to it are lost), then the reps collection
> will exclude the daemon. How is the case handled?

The daemon membership doesn't guarantee that it will find every daemon 
that's alive -- it can't.  This case is handled when the missed daemon 
detects or is detected by the other membership, either because of some 
message, or because of a rep in Lookup_new_members().

> __________________________________
> Do you Yahoo!?
> Yahoo! Photos: High-quality 4x6 digital prints for 25¢
> http://photos.yahoo.com/ph/print_splash

Ryan W. Caudy
Center for Networking and Distributed Systems
Department of Computer Science
Johns Hopkins University

More information about the Spread-users mailing list