
glossary: (Please mention any entry you think should be here)

cluster: All the machines that share the same IPC key space form a cluster. 
These machines will consult the same referee to find out about present keys. 
This is a logical concept. several clusters may coexists in a physical 
network.

deleting an IPC structure: When the IPC structure corresponding to a key is 
removed (and in case of a shared memory, it is no longer attached to the
address space of any process), it will be freed and become available for 
new uses.  

DIPC: Distributed InterProcess Communication. A software that enables 
programs to transparently communicate across TCP or UDP networks.

dipcd: User-space part of DIPC. Manages requests and transfers data. Should
be running for the DIPC to have any effect.

DIPC-enabled kernel: A kernel that is equipped with support for DIPC.

distributed IPC structure: an IPC structure that was created with the IPC_DIPC 
flag during the xxxget system call. The key of this structure will be known 
among all the machines of the cluster.

DSM: Distributed Shared Memory. Memory that programs can use as if
present on all the machines in a distributed environment. This mechanism is 
 mostly simulated by system software.

employer: A task that is started when something has to be done remotely. The
employer may cause a worker process to be created on a remote machine. It
will then wait for a reply containing the results.

Creating an IPC structure: using xxxget() to setup an IPC structure. A key
and some flags should be provided to try it.

key: a numerical value that is used to specify a certain IPC structure.
cooperating processes should use the same key to refer to the same thing.

MC: Multi-Computer, a system consisting of a number of autonomous computers
that can exchange data.

MP: Multi-processor, a system consisting of a number of processors having
access to a common shared memory.

non-distributed key: a key that was not used with a IPC_DIPC flag during the
xxxget() system call. This corresponds to ordinary keys, that have meaning
only on the local machine that called the xxxget().

owner: A computer becomes the owner of an IPC structure if a process on that
machine was the first to create it with a xxxget() system call.

OS: Operating System. among other things, this software is the resource 
manager of the system.

referee: A process that runs on one of the machines in a cluster. It keeps
information about IPC structures present in the cluster and also does 
arbitration work. 

referee machine: the machine on which the referee process runs. 

removing an IPC structure: using xxxctl() system calls with IPC_RMID flag.
This can lead to the deletion of the structure.

requesting task or process: A user process that has used a DIPC call which
should be handled in another computer.

shared memory manager: A process that runs on the owner of a distributed
shared memory. It arbitrates between access requests, assigning readers and
writers. It also does other necessary works: prohibiting further access by a
machine, sending shared memory contents to a machine,...

worker: a task that is started when a remote computer needs a service.
Workers do the work and return the results to the requesting machine.

xxxctl() system call: any of the msgctl(), semctl() and shmctl() system calls.

xxxget() system call: any of the msgget(), semget() and shmget() system calls. 


