• communication between programs which are simultaneously running on a multi-tasking system (computers)