Discuss the invocation semantics that can be achieved when the request-reply protocol is implemented over a TCP/IP connection, which guarantees that data is delivered in the order sent, without loss or duplication. Take into account all of the conditions causing a connection to be broken.
What will be an ideal response?
A process is informed that a connection is broken:
• when one of the processes exits or closes the connection.
• when the network is congested or fails altogether
Therefore a client process cannot distinguish between network failure and failure of the server.
Provided that the connection continues to exist, no messages are lost, therefore, every request will receive a corresponding reply, in which case the client knows that the method was executed exactly once.
However, if the server process crashes, the client will be informed that the connection is broken and the client will know that the method was executed either once (if the server crashed after executing it) or not at all (if the server crashed before executing it).
But, if the network fails the client will also be informed that the connection is broken. This may have happened either during the transmission of the request message or during the transmission of the reply message. As before the method was executed either once or not at all.
Therefore we have at-most-once call semantics.
You might also like to view...
A mail transfer agent (MTA) is the actual mail ____________________.
Fill in the blank(s) with the appropriate word(s).
Label the elements of a 3-by-5 one-dimensional array sales to
``` for ( row = 0; row < 3; row++ ) for ( column = 0; column < 5; column++ ) sales[ row ][ column ] = 0; ```
Minimizing data redundancy is one of the benefits of normalization
Indicate whether the statement is true or false
When a slide is reused from an old presentation into a new presentation, it retains its formatting
Indicate whether the statement is true or false