[Spread-users] Help with configuration file

John Schultz jschultz at d-fusion.net
Mon Mar 31 13:06:38 EST 2003

Kevin Carlson wrote:

> Is there anyone that can point me to a resource that would explain the 
> "Spread Segment" section of the configuration file other than the User's 
> guide?

As far as I know the user guide and looking at the sample configuration 
file itself are the only documentation for the .conf files.

> What I am attempting to do is set up a spread daemon on a single machine 
> that other machines both on and off the local network can connect to.  

A simple configuration such as:

Spread_Segment abc.def.ghi.255:7777 {
    host_name1 abc.def.ghi.jkl

where "abc.def.ghi" is your class C IP subnet (if you have a smaller 
subnet alter this broadcast address appropriately) and "abc.def.ghi.jkl" 
is the IP address of your server and host_name1 is your server's host 
name should do the trick.

Have your clients connect to "7777 at abc.def.ghi.jkl". They will connect 
across tcp/ip channels to the daemon on port 7777 -- it doesn't matter 
if they are on the local network or across the internet; where they are 
will only affect their connectivity (throughput, latency, loss, etc.) to 
the daemon.

**NOTE**: if you have a lot of msgs going through your clients' groups 
and clients are too slow in reading their msgs, Spread will eventually 
disconnect them!!! Please see the email archives on client flow control 
issues for more details.

> I gather that each segment is informing the daemon where it must broadcast 
> data to, but why the need for each machine is confusing.  Is this to 
> control access to the spread daemon?  Am I even on the right track?

In Spread, clients usually connect to one daemon (usually the closest 
one, often on the same machine) using a point-to-point link (tcp/ip, 
unix domain sockets, etc.). The daemon then acts as a proxy for the 
client in the group communication system -- clients ask their daemon to 
perform services for them (e.g. - multicast this msg to group A). The 
daemons handle all the communications amongst themselves and then have 
queues of msgs/events that they deliver to their connected clients.

The purpose of the Spread_Segment portions of the configuration file is 
to let Spread know (1) what machines might have Spread daemons running 
and (2) how to exploit local network broadcast/multicast capabilities 
for increased performance between the daemons.

The machines you put in the same segment should be able to communicate 
either through broadcast or multicast depending, respectively, on the 
type of Spread_Segment address you list for that segment. Separate 
segments communicate with one another using point-to-point protocols 
(e.g. - tcp/ip, etc.).

John Schultz
Co-Founder, Lead Engineer
D-Fusion, Inc. (http://www.d-fusion.net)
Phn: 443-838-2200 Fax: 707-885-1055

More information about the Spread-users mailing list