The the client and the server are
The entities in a distributed system communicate generally via InterProcess Communication, Remote Invocation or Indirect Communication.Remote Invocation is a two-way exchange between the entities communicatingin a distributed system. The appropriate call may be made to the remote procedure,method or operation.
The communication between the sender and receiver is two-way. Generally,the receiver is aware of the sender’s identity and the sender directs itsmessages to its affiliated receivers. As a result of this direct coupling, theclient and the server are constrained. It becomes very difficult in the case ofa backup server dealing with the incoming requests from the client in case of the primary server failure/maintenance. Asthe clients and the server are generally aware of each other and now all the clientneeds to know the identity of the new server.Also, the sender and receiver must exist at the same time which isfutile to operate in the variable environments.Communication between the senders and receivers can also beindirect where there is strong decoupling.
In the case of space uncoupling, as the sender does not need to knowthe identity of a receiver, it is more flexible as in the case of a backupserver when the primary server fails. Also, it is advantageous in the case ofgroup communication as the sender does not need to know the individual identityof the receivers. Here, all the recipients join a group via an identifier to receivemessages.In the case of time uncoupling, the entities to communicate neednot exist at the same time.
Here, the processes can place items in tuples i.e.structured data. The other processes can either read or delete these tuples ata later point of time. This concept of time decoupling is very useful in thecase of mobile nodes.