IS473 Distributed Systems: Distributed Objects & Remote Invocation
IS473 Distributed Systems: Distributed Objects & Remote Invocation
IS473 Distributed Systems: Distributed Objects & Remote Invocation
CHAPTER 5
Applications
This
chapter RMI, RPC, and events
C
al
loc
c ation
invo lo E
remote inv cal
oca
tio
invocation n
F
B remo
A
loc invo te
catio
inv a n
oca l
tio
n D
remoteobject
Data
m1 m4
{
implementation
m5
m2
remote of methods m6
interface m3
Faulttolerancemeasures Invocation
semantics
Invocation semantics
Dr. Almetwally Mostafa 14
Distributed Objects Model
Design Issues
Maybe invocation semantics:
No fault-tolerance measure is applied.
The invoker cannot tell if a remote method has been executed or not.
Suffer from the following types of failure:
Omission failures if invocation or result message is lost.
Crash failures if the server containing the remote object fails.
Useful only for application accepting occasional failed invocations.
At-least-once invocation semantics:
Uses only retransmission of request messages masks omission
failures.
The invoker receives either a result (after at least one execution) or
an exception informing no result was received.
Suffer from the following types of failure:
Crash failure if the server containing the remote object fails.
Arbitrary failures when re-execute the method more than once which
causing wrong values to stored or returned (non-idempotent operations).
Applicable only if all the remote methods are idempotent operations.
Dr. Almetwally Mostafa 15
Distributed Objects Model
Design Issues
At-most-once invocation semantics:
Uses all the fault-tolerance measures.
The invoker receives either a result (after exactly one execution)
or an exception informing no result was received.
Prevents arbitrary failures by ensuring that a method is never
executed more than once for the same RMI.
client server
remote
object A proxy for B skeleton object B
Request & dispatcher
for Bs class
Reply
Request
Reply
client stub server stub
procedure procedure
client service
program Communication Communication procedure
module module
dispatcher
Notification Information
provider Notification
Notification
Notification
Notification
Dealers computer Dealers computer
Notification
Information
provider
Notification
Dealer Notification
Dealer
External
source