57
votes

Or are they synonyms?

6

6 Answers

76
votes

Wikipedia is usually great for these purposes.

RPC:

Remote procedure call (RPC) is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction.

IPC:

Inter-process communication (IPC) is a set of techniques for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network.

So, RPC is just one kind of IPC.

12
votes

An RPC (remote procedure call) is a form of IPC (interprocess communication) - the latter is a more general term, covering lots of mechanisms besides RPCs.

12
votes

RPC - Remote Procedure Call - is a particular type of communication, but can be on a single machine, or across a network between machines. http://en.wikipedia.org/wiki/Remote_procedure_call

IPC - Inter-Process Communication - is a general term for communication between different processes (which are usually on a single machine). http://en.wikipedia.org/wiki/Inter-process_communication

6
votes

IPC is a set of method to communicate with two process which may be in same computer or different computer.it includes direct & indirect communication,synchronous & asynchronous communication and explicit buffering. But RPC is a method to call a procedure from sever to client and get back its result as message..

5
votes
  • Remote Procedure Call (calling methods remotely at a system)
  • Interprocess Communication (method enabling processes in the same system to interact).
0
votes

RPC = IPC + server location, marshalling, network failure, delays - special copy tricks, speed

For further detail:- https://www.cs.cmu.edu/~410-f03/lectures/L31_IPCRPC.pdf