[Spread-users] Newbie plea for clarification.

Jonathan Stanton jonathan at cnds.jhu.edu
Wed Dec 17 08:49:20 EST 2003

On Wed, Dec 17, 2003 at 01:12:04AM -0800, Gary Herron wrote:
> I'm starting to port my application to use spread for communication
> but I fear I'm missing some basic concept, even though I've read the
> user's guide end-to-end.
> The application:
>   I have about a dozen laptops connected by a wireless network.
>   Periodically one will send a 50-100 KB message to the others.
>   The features of spread which appeal here are (1) recovery of lost
>   messages (since wireless networks seem prone to loss) and
>   *especially* (2) the ability to broadcast (since sending one 100k
>   message a dozen time to a dozen machines on the wireless network is
>   annoyingly slow).


> The questions:
>   To get recovery of lost messages and broadcast of messages to all
>   machines, do I need a spread daemon running on each machine with
>   each machine's application connecting to it?  Or can I have one
>   spread daemon running on the whole network with each machine's
>   application connecting across the network to the one daemon?

Yes you need a daemon on each machine to take advantage of network 

>   Basically I don't understand whether the services provided by spread
>   are between multiple daemons or between a daemon and its multiple
>   clients.

At a semantic level (the meaning of each message, whether it is reliable 
or ordered) it doesn't matter. Spread will provide those guarnatees no 
matter how many daemons are running. However, performance characterists 
will depend on where the daemons are running.

>   If I do need a daemon per laptop, how do I handle a configuration
>   file (on each machine) when the number of laptops varies from time
>   to time and their IP's vary due to DHCP assignment of IP's?

This is a bit trickier. If their IP addresses can change "while spread is 
running" then it won't work right. If you can restart spread when the IP 
changes, then a potential solution is to write a config file with all of 
the potential IP addresses in it, and then when spread restarts it will 
configure itself as whatever name matches the IP address it is using 
(assuming the dns is setup right)

>   What is the difference between a "segment" and a "sub-network" (as
>   mentioned in the sample.spread.conf) and a "site" (e.g., the sample
>   networks with 1,2, or 4 sites as mentioned in the User's Guide)?

They are all the same thing. "sub-network" is probably just a mistake. The 
older term was "segment", some of the more recent research on spread used 
wide-area networks and so called each local area component a "site". 


Jonathan R. Stanton         jonathan at cs.jhu.edu
Dept. of Computer Science   
Johns Hopkins University    

More information about the Spread-users mailing list