Remote Invocation Flashcards

1
Q

Which systems usally use Request-Reply protocols?

A

Synchronous systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the advatanges of UDP over TCP for R-R protocols? (3)

A

No connection establishing overhead.
No acknowledgements are required since the reply acts as the ack.
Flow control is redundant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the parameters of doOperation()? (3)

A

Remote reference r
operationID
arguments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the protocol for R-R?

A
Client: doOperation(r,opID,args); (wait)
Server: getRequest();
Server: selectOp();
Server executeOp();
Server: sendReply(); - using ip address and port
Client: (continue)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the failure models of R-R protocols? (3)

A

Process Crashes
Channel Ommision Failures
Messages not guarenteed to arrive in order.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What happens in the event of a timeout in Request-Reply protocols? (2)

A

Exception/error code returned.

Retransmission

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why are duplicate requests removed?

A

To prevent multiple executions of the same request. (Only remove if reply hasn’t been sent)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why is a history of replies kept?

A

Avoids reexecution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the 3 styles of exchange protocol?

A

Request (R)
Request-Reply (RR)
Requst-Reply-Acknowledgement (RRA)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does RPC do?

A

Allow procdedures to be called on remote machines as if they were local.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does RPC hide?

A

Encoding/deconding of parameters and results.
Passing of messages
Preserving of required semantics for PC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the interface design issue of RPC?

A

Specification of procedures offered by a server.
Separation of interface and implementation.
Clients cannot directly access variables of server models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the call semantics of RPC? Define each (3)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the transparency problems of RPC? (3)

A

More vulnerable to failure than local procedures.
Greater latency than local.
RPC doesn’t off call-by-reference (can’t use addresses)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is RMI?

A

Remote Method Invocation - Calling object can invokd a method of a remote object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the similarities and differences between RMI and RPC? (3/2)

A

Similarities - Uses R-R protocol, uses interfaces, transparency
Differences - RMI uses full OOP, all objects have unique object references and can be passed as parameters.

17
Q

What is the distributed object model? (3)

A

Physical distribution of objects into different processes/computers.
Client-Server architecture
Synchronisation needed for concurrent access.

18
Q

Why are remote interfaces used?

A

To specify which methods can be called remotely.

19
Q

What are the actions upom method invocation? (3)

A

State change
Further invocation
Initialisation of new objects.

20
Q

How is garbage collection handled in RMI?

A
Cooperatively with local and remote GC.
Usually using a dedicated module to carry out distributed garbage collection.
21
Q

What failures cause exceptions in RMI?

A

Crash failures
Ommision failures: Losing of request/reply
Arbitrary Failure: Due to remoteness of object