
 This directory contains some example programs that use DIPC to take
advantage of more than one computer for what they do. 

Note that: 
 * They can be run on a single computer, so you can test them even if you 
don't have access to more than one computer connected over a network. The
files ending with '_s' in some example directories could be used to determine 
which computers are used to execute the programs.

 * More than that, they can also be run even if you have not installed DIPC
yet, but to compile the examples without any changes, you have to copy the two 
include files, ipc.h and dipc.h from the dipc-0.3/kernel directory to the 
/usr/include/linux directory. 

 NOTE: To be able to compile the examples without installing DIPC, you only 
need to change the header files of the examples: comment the lines that 
include the dipc.h file. Also, remove the IPC_DIPC flag from XXX_MODE 
definitions. That is all.


 The above points hold for any program using DIPC. You could use more than 
one virtual terminal to test the examples in a single computer.

 These are all simple programs and (hopefully) easy to read. You could use 
them as examples for writing your own programs, or you could consider them 
as templates. Feel free to change them to fit your own requirements.

 To run them, do the following: First make sure you have installed DIPC on
all the computers you want to use (see the file docs/installation). Also make 
sure they are all in the same TCP/IP network and in the same DIPC cluster (see 
the file docs/theory for more information about DIPC clusters). You should  
also have accounts with THE SAME LOGIN NAME (with the exception of the root) 
on all the computers you want to use. Now change dir to the directory of the
example you want to run (see below for some information on the provided 
examples), and read the doc file there. These are short files that you should 
read before being able to use something. Now type 'make' to compile the 
necessary files. Execute the programs in the manner specified in the example's 
doc file.      

 Here is a brief description of what each program does. Each name denote the
directory that contains the related files.
 
 *) hello
 This is a very simple program. It just sends a message from one computer to 
another one. Could be the first one you test.

 *) admin 
 This one makes it possible to regularly send some information about other 
computers in the network to one machine. The current version sends a list 
of people currently logged to a computer.

 *) pi
 the pi program computes the value of the mathematical Pi. It does so by
using 10 processes to integrate a function in parallel.

 *) game
 This is a simple multi-player/multi-computer game. The aim is to guess a 
sentence character by character.

 *) image 
 It mimics an image processing application. A 'picture' is setup and then 
changed by four other processes running in parallel.


 These examples are in no way perfect. I would appreciate any comment on
them.

