Chapter 4- Communication in distributed system.ppt
1,052 views
22 slides
Mar 30, 2024
Slide 1 of 22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
About This Presentation
thanks
Size: 457.16 KB
Language: en
Added: Mar 30, 2024
Slides: 22 pages
Slide Content
COMMUNICATION
13/30/2024
Outlines
Layer protocols
Types of Communication
Remote Procedure Call
Remote Object invocation
23/30/2024
Inter-process communication is at the heart
of all distributed systems.
It makes nosense to study distributed
systems withoutcarefully examining the ways
that processes on different machines can
exchange information.
Communication in distributed systems is
always based on low-levelmessage passing
as offered by the underlying network.
The rules that communicating processes
must adhere to, known as protocols.
33/30/2024
Communication
Due to the absenceof sharedmemory, all
communication in distributed systems is based
on sendingand receivingmessages.
When process A wants to communicate with
process B, it first buildsa message in its own
address space.
Then, it executes a system call that causes the
OS to send the message over the network to B.
Many different agreements are needed.
In a variety of levels, varying from the low-level
details of bit transmission to the high-level
details of how information is to be expressed.
43/30/2024
International Standards Organization (ISO) developed a
reference model that clearly identifies the various
levels involved, gives them standard names, and
pointsout which level should do which job.
This model is called the Open Systems Interconnection
Reference Model (OSI-RM).
The OSI model is designed to allow open systems to
communicate.
An open system is one that is prepared to
communicate with any other open system by using
standard rules that govern the format, contents, and
meaning of the messages sent and received.
53/30/2024
These rules are formalized in what are called
protocols.
To allowa group of computers to communicate over a
network, they mustall agreeon the protocols to be
used.
A distinction is made between twogeneral types of
protocols.
1.Connection oriented protocols: before exchanging
data the sender and receiver first explicitly establish a
connection, and possibly negotiate the protocol they
will use(like telephone).
2.Connectionless protocols: no setup in advance is
needed. The sender just transmits the first message
when it is ready. Eg: dropping a letter in a mailbox.
63/30/2024
With computers, both connection-oriented
and connectionless communication are
common.
In the OSI model, communication is divided
up into sevenlevels or layers.
Each layer deals with one specific aspect of
the communication.
Each layer provides an interface to the one
above it.
The interface consists of a set of operations
that together define the service the layer is
prepared to offer its users.
73/30/2024
The collection of protocols used in a particular
system is called a protocol suite or protocol stack.
83/30/2024
9
Physical: Physical characteristics of the media
Host (upper) Layers
Media (lower) Layers
Data Link: Reliable data delivery across the link
Network: Managing connections across the network
or routing
Transport:End-to-end connection and reliability (handles
lost packets); TCP (connection-oriented),
UDP (connectionless), etc.
Session: Managing sessions between applications
(dialog control and synchronization); rarely
supported
Presentation:Data presentation to applications; concerned
with the syntax and semantics of the
information transmitted
Application:Network services to applications; contains
protocols that are commonly needed by
users; FTP, HTTP, SMTP, ...
A typical message as it appears on the network.
103/30/2024
Middleware is an application that logically
lives in the application layer, but which
contains many general-purpose protocols
that warrant their own layers, independent of
other, more specific applications.
A distinction can be made between high-level
communication protocols and protocols for
establishing various middleware services.
113/30/2024
There are numerous protocols to support a variety of
middleware services such as:
1.Authorization protocols: establish authentication,
that is, provide proof of a claimed identity.
2.Commit protocol: establish that in a group of
processes either allprocesses carry out a particular
operation, or that the operation is notcarried out at
all.
3.Locking protocol: protect against simultaneous
access by a collection of processes that are
distributed across multiple machines.
123/30/2024
In principle, the core of the mail delivery system can be seen as
a middleware communication service.
An electronic mail system is a typical example in
which communication is persistent.
With persistent communication, a messagethat has
been submitted for transmission is storedby the
communication middlewareas long as it takes to
deliver it to the receiver.
133/30/2024
Persistent communication, a message is storedby
the communication system onlyas long as the
sendingand receivingapplication are executing.
Besides being persistent or transient, communication
can also be asynchronousor synchronous.
The characteristic feature of asynchronous
communication is that a sender continues
immediately after it has submittedits message for
transmission.
This means that the message is (temporarily) stored
immediately by the middleware upon submission.
With synchronouscommunication, the senderis
blockeduntil its request is known to be accepted.
143/30/2024
15
When a process on machine A calls a procedure
on machine B, the calling process on A is
suspended, and execution of the called
procedure takes place on B.
Information can be transported from the
caller to the called in the parametersand can
come back in the procedure result.
No message passing at all is visible to the
programmer.
This method is known as Remote Procedure Call,
or often just RPC.
3/30/2024
When readis actually a remoteprocedure (e.g., one that will run
on the file server's machine), a different version of read, called a
client stub, is put into the library.
A server stub is the server-side equivalent of a client stub:
it is a piece of code that transforms requests coming in over the
network into local procedure calls.
Following the call to send, the client stub calls receive, blocking
itself until the reply comes back.
163/30/2024
The function of the client stub is to takeits parameters, pack
them into a message, and send them to the server stub.
Passing Value Parameters
Passing Reference Parameters
Packing parameters into a message is called parameter
marshaling.
The steps involved in a doing a remote computation through
RPC.
173/30/2024
This strict request-reply behaviour is unnecessary
when there is no result to return, and only leads to
blocking the client while it could have proceeded and
have done useful work just after requesting the
remote procedure to be called.
To support such situations, RPC systems may provide
facilitiesfor what are called asynchronousRPCs, by
which a client immediately continues after issuing the
RPC request.
With asynchronous RPCs, the serverimmediately
sendsa reply back to the client the moment the RPC
request is received, after which it calls the requested
procedure.
183/30/2024
19
(a) The interaction between client and server in a traditional RPC.
(b) The interaction using asynchronous RPC
A client and server interacting through two asynchronous RPCs.
3/30/2024
Distributed Computing Environment (DCE), is specific
RPC system which was developedby the Open
Software Foundation (OSF), now called The Open
Group.
DCE is a true middleware system in that it is designed
to execute as a layer of abstraction between existing
(network) operating systems and distributed
applications.
Goals of DCE RPC
For a client to access a remote service by simply
calling a local procedure.
203/30/2024