InterProcessCommunication such as
- PipesAndFilters
- MessagePassing (MailBoxes)
- UnixSignal (software interrupts: very limited communication as it doesn't carry any data)
- Sockets
- SharedMemory
- Files
- Semaphore / mutex (usually used to coordinate access to SharedMemory)
- PublishSubscribeModel
- CommonObjectRequestBrokerArchitecture (CORBA)
- DistributedCom
- JavaRemoteMethodInvocation
- SimpleObjectAccessProtocol / XmlRpc
- DotNetRemoting
- MachPorts
- Database querying / OpenDataBaseConnectivity / TableOrientedSynchronization
http://www.nightflight.com/foldoc-bin/foldoc.cgi?query=ipc
Some practical ways of doing this include
- DistributedRuby
- MessagePassingInterface (mpi)
- ParallelVirtualMachine (pvm)
- D-BUS
See also ParallelProgramming ParallelProgrammingModel