written 6.8 years ago by | modified 2.8 years ago by |
In distributed communication, Messages are transferred from One process to another. While doing so the messages are copied from senders address apace to receivers. Sometimes the messages are to be stored in the temporary storage called as buffer during the transmission to receiver end. Following types of buffering mechanisms are used in distributed systems.
1] Null Buffer (Also called as No Buffer)
• No place to temporarily store message i.e. no temporary storage is used in between sender and receiver.
• Message remains in senders address space and execution of send primitive is delayed until receiver completes current receive.
• When receiver finishes, then sender is unblocked and next send is executed.
• In case if the Message is discarded, timeout mechanism is used to resend message after timeout period.
2] Single-Message Buffer:
A Buffer having capacity to store single message is used at the receiver end.
Synchronous communication use single message buffer.
This type of buffering may be implemented at kernels address space.
At most one message can be waiting to be received at the receiving process.
3] Unbounded Capacity Buffer:
In the asynchronous mode of communication since sender does not wait for receiver to ready, there may be several pending messages, so unbounded capacity buffer is used.
It is little difficult to implement in distributed applications.
4] Finite Bound Buffer (Multi-bound Message):
Unbounded Capacity of buffer is practically impossible so in practice systems using asynchronous mode used finite bound buffer also known multiples message buffer.
• With Finite bounds, buffer overflow is the problem.
• Thus can be deal with one of the following problems.
Unsuccessful Communication : Message Transfer simply fails when there is no more buffer space, send return error message to sending process.
Flow Controlled Communication : We may use flow control the sender is blocked until receiver accepts some messages, thus creating space in buffer for new msessages.