This is alpha version of IMM 3.5. It has been designed to efficiently replicate file directories using reliable multicast.

This contents of this distribution include:
	source directory - complete source code
	solaris directory - executable file for Solaris 2.5
	test directory - test for testing purposes

QUICK START

To startup the Server.
1 Define a Configuration file. 
The Solaris directory contains a sample file called repl.txt.   It contains all the essential variables needed to start multicasting.  The best way to get started is to copy the file and modify the values.  The values defined are:
1. group = 	multicast IP address
2. port =	port number to use
3. hold =	minimum hold time for selective nack retransmission. 
4. transmit =	starting time duration between packet transmissions
5. min_transmit = minimum transmit time between packet transmissions
6. max_transmit = maximum transmit time between packet transmissions
7. direct = 	absolute path of directory and subdirectories to replicate

The group, port and direct variables are the only variables which need to be customized for each user.  All the transmit variables pertain to the duration period between packet transmissions. Lower transmit numbers will result in faster throughput and higher bandwidth consumption.  The min and max transmit variables define the upper and lower bounds of this transmission time wait duration.

2 Startup the server
Use the command:
	immserv [-d <debug level]  -f <config file>

	An example would be:
		immserv -f repl.txt &

StartUp client
To startup the client, you must first define a environment variable called "IMM_IMAGE_DIR". You can do this from the command line prompt or within a batch file script. To do this type:
	setenv IMM_IMAGE_DIR  <absolute path name>

	An example would be:
		setenv IMM_IMAGE_DIR /home/wkd/mirror

Then startup the client with the following command:
	imm -i <multicast ip address> -p <port number> [ -d <debug level>]
	
For example, If the above server was sending on IP address 224.123.123.123 on port 1555, the  command would be:	imm -I 224.123.123.123 -p 1555 &

StartUp LSCOMP
To prevent unecessary repeated transmissions, The server  will multicast only files whose timestamp had recently changed.  To insure that the client directory is an exact copy of the server, a third program is setup to look for a directory listing file which is supposed to be named "lsltr".  This file should be built using a crontab entry command such as:	0 * * * *	 ls -ltR /home/wkd/root_mirror > /home/wkd/root_mirror/lsltr


This entry should build a new file every hour. In turn, this new file should be multicasted very hour by the server.  The client program "lscomp" wakes up every hour to look for this file.  It will review the contents of the mirror'd directory and requests from the server those files which need to be rebroadcasted.  
Prior to startup you must have the environment variable "IMM_IMAGE_DIR" defined. This is done, in the same manner as above.  Then startup the "lscomp" program with the following command:
		lscomp -i <multicast ip address> -p <port number>

		For example the following command could be used
			lscomp -i  224.123.123.123  -p 1555 &


