29.01.2014 Views

Distributed Systems – Mock Exam –

Distributed Systems – Mock Exam –

Distributed Systems – Mock Exam –

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!