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.

Computer Science & Information Technology

You might also like to view...

A lossless format means that a file is not likely to be lost when transferred to other users

Indicate whether the statement is true or false

Computer Science & Information Technology

Which of the following network configurations need to operate on a standalone IPv4 subnet?

A) VLAN B) WAN C) Wireless LAN D) Point-to-point serial link

Computer Science & Information Technology