Remote Invocation Flashcards
Which systems usally use Request-Reply protocols?
Synchronous systems
What are the advatanges of UDP over TCP for R-R protocols? (3)
No connection establishing overhead.
No acknowledgements are required since the reply acts as the ack.
Flow control is redundant
What are the parameters of doOperation()? (3)
Remote reference r
operationID
arguments
What is the protocol for R-R?
Client: doOperation(r,opID,args); (wait) Server: getRequest(); Server: selectOp(); Server executeOp(); Server: sendReply(); - using ip address and port Client: (continue)
What are the failure models of R-R protocols? (3)
Process Crashes
Channel Ommision Failures
Messages not guarenteed to arrive in order.
What happens in the event of a timeout in Request-Reply protocols? (2)
Exception/error code returned.
Retransmission
Why are duplicate requests removed?
To prevent multiple executions of the same request. (Only remove if reply hasn’t been sent)
Why is a history of replies kept?
Avoids reexecution
What are the 3 styles of exchange protocol?
Request (R)
Request-Reply (RR)
Requst-Reply-Acknowledgement (RRA)
What does RPC do?
Allow procdedures to be called on remote machines as if they were local.
What does RPC hide?
Encoding/deconding of parameters and results.
Passing of messages
Preserving of required semantics for PC.
What is the interface design issue of RPC?
Specification of procedures offered by a server.
Separation of interface and implementation.
Clients cannot directly access variables of server models.
What are the call semantics of RPC? Define each (3)
Maybe: No fault tolerance
At-least once: Retransmits request messages after failure.
At-most one: Retransmits requests after failures, duplicate filtering and retrans replies included.
What are the transparency problems of RPC? (3)
More vulnerable to failure than local procedures.
Greater latency than local.
RPC doesn’t off call-by-reference (can’t use addresses)
What is RMI?
Remote Method Invocation - Calling object can invokd a method of a remote object.