Distributed Systems â Mock Exam â
Distributed Systems â Mock Exam â
Distributed Systems â Mock Exam â
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4 Invocation Semantics<br />
Three different semantics have been defined for remote method invocation, “maybe”,<br />
“at-least-once”, and “at-most-once” semantics.<br />
(i) Briefly explain what each of the three means.<br />
(6 points)<br />
(ii) How can one implement at-most-once semantics? Which are the problems<br />
that need to be addressed?<br />
(5 points)<br />
In the context of invocation semantics, on distinguishes between idempotent and<br />
non-idempotent invocations.<br />
(iii) When is a method invocation idempotent? Give an example of an invocation<br />
that is idempotent and of one that is not!<br />
(4 points)<br />
(iv) How can the implementation of at-most-once semantics be simplified if the<br />
methods invoked are idempotent?<br />
(3 points)<br />
As part of the implementation of at-most-once semantics, a site executing remote<br />
method invocations will store results of previous invocations.<br />
(v) When is the earliest point in time that such a stored result can be safely<br />
removed? Explain your answer.<br />
(3 points)<br />
On some networks it may happen that an earlier message be a sender to a recipient<br />
is overtaken by a later message of the same sender to the same recipient. For this<br />
reason it may be the case that a message with a method invocation is overtaken by<br />
another message with the same method invocation.<br />
(vi) How can one extend the basic implementation of at-most-once semantics so<br />
that no reply needs to be sent out for an invocation message that has been<br />
overtaken by another invocation message?<br />
(5 points)<br />
4