RMI: Remote Method Invocation
Remote objects can be thought of as an expansion of
the RPC mechanism (to support OO systems).
An important aspect of objects is the definition of a welldefined inte
Message-Oriented Middleware: MOM
As a communications mechanism, RPC/RMI is
For example: what happens if we cannot assume
that the receiving side is awake and waiting to
What is a Distributed System?
A distributed system is:
A collection of independent computers
that appears to its users as a
single coherent system
Goals of Distributed Systems
User-side goals (why
Clients and Servers
Processes are divided into
Servers: implementing a specific service
Clients: requesting a service from a server by sending it
a request and subsequent wait
The heart of every distributed system.
Question: how do processes on dierent
machines exchange information?
Answer: with diculty L
Names, Identifiers and Addresses
Computers vs. Humans
Entities (Internet hosts, routers, file systems, services)
are accessed using identifiers (num
Processes & Treads
More Problems at the Transport Level
Imagine a server capable to handle just one client
at a time Would be a disaster!
Alternative: concurrent execution of several
Virtualisation & Cloud
Virtualisation in a Nutshell
Threads and (mainly) processes maintain a
virtual environment for a task (context)
An illusion of parallelism is created