Interprocess Communication in Distributed Systems

Interprocess Communication is a process of exchanging the data between two or more independent process in a distributed environment is called as Interprocess communication. Interprocess communication on the internet provides both Datagram and stream communication.

Examples Of Interprocess Communication:

  1. N number of applications can communicate with the X server through network protocols.
  2. Servers like Apache spawn child processes to handle requests.
  3. Pipes are a form of IPC: grep foo file | sort







It has two functions:

  1. Synchronization:
    Exchange of data is done synchronously which means it has a single clock pulse.
  2. Message Passing:
    When processes wish to exchange information. Message passing takes several forms such as: pipes, FIFO, Shared Memory, and Message Queues.

Characteristics Of Inter-process Communication:
There are mainly five characteristics of inter-process communication in a distributed environment/system.

  1. Synchronous System Calls:
    In the synchronous system calls both sender and receiver use blocking system calls to transmit the data which means the sender will wait until the acknowledgment is received from the receiver and receiver waits until the message arrives.

  2. Asynchronous System Calls:
    In the asynchronous system calls, both sender and receiver use non-blocking system calls to transmit the data which means the sender doesn’t wait from the receiver acknowledgment.

  3. Message Destination:
    A local port is a message destination within a computer, specified as an integer. Aport has exactly one receiver but many senders. Processes may use multiple ports from which to receive messages. Any process that knows the number of a port can send the message to it.

  4. Reliability:
    It is defined as validity and integrity.

  5. Integrity:
    Messages must arrive without corruption and duplication to the destination.

  6. Validity:
    Point to point message services are defined as reliable, If the messages are guaranteed to be delivered without being lost is called validity.

  7. Ordering:
    It is the process of delivering messages to the receiver in a particular order. Some applications require messages to be delivered in the sender order i.e the order in which they were transmitted by the sender.


My Personal Notes arrow_drop_up

Software Engineer Intern at The Sparks Foundation || Book Reviewer at Packt || Contributor Hackernoon,freecodecamporg, geeksforgeeks ||

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.