Title: Communication
1Communication
2Layered Protocols (1)
2-1
- Layers, interfaces, and protocols in the OSI
model.
3Layered Protocols (2)
2-2
- A typical message as it appears on the network.
4Data Link Layer
2-3
- Discussion between a receiver and a sender in the
data link layer.
5Client-Server TCP
2-4
- Normal operation of TCP.
- Transactional TCP.
6Middleware Protocols
2-5
- An adapted reference model for networked
communication.
7Conventional Procedure Call
- Parameter passing in a local procedure call the
stack before the call to read - The stack while the called procedure is active
8Client and Server Stubs
- Principle of RPC between a client and server
program.
9Steps of a Remote Procedure Call
- Client procedure calls client stub in normal way
- Client stub builds message, calls local OS
- Client's OS sends message to remote OS
- Remote OS gives message to server stub
- Server stub unpacks parameters, calls server
- Server does work, returns result to the stub
- Server stub packs it in message, calls local OS
- Server's OS sends message to client's OS
- Client's OS gives message to client stub
- Stub unpacks result, returns to client
10Passing Value Parameters (1)
2-8
- Steps involved in doing remote computation
through RPC
11Passing Value Parameters (2)
- Original message on the Pentium
- The message after receipt on the SPARC
- The message after being inverted. The little
numbers in boxes indicate the address of each byte
12Parameter Specification and Stub Generation
- A procedure
- The corresponding message.
13Doors
- The principle of using doors as IPC mechanism.
14Asynchronous RPC (1)
2-12
- The interconnection between client and server in
a traditional RPC - The interaction using asynchronous RPC
15Asynchronous RPC (2)
2-13
- A client and server interacting through two
asynchronous RPCs
16Writing a Client and a Server
2-14
- The steps in writing a client and a server in DCE
RPC.
17Binding a Client to a Server
2-15
- Client-to-server binding in DCE.
18Distributed Objects
2-16
- Common organization of a remote object with
client-side proxy.
19Binding a Client to an Object
Distr_object obj_ref //Declare a systemwide
object referenceobj_ref // Initialize the
reference to a distributed objectobj_ref-gt
do_something() // Implicitly bind and invoke a
method (a) Distr_object objPref //Declare a
systemwide object referenceLocal_object
obj_ptr //Declare a pointer to local
objectsobj_ref //Initialize the reference
to a distributed objectobj_ptr
bind(obj_ref) //Explicitly bind and obtain a
pointer to the local proxyobj_ptr -gt
do_something() //Invoke a method on the local
proxy (b)
- (a) Example with implicit binding using only
global references - (b) Example with explicit binding using global
and local references
20Parameter Passing
2-18
- The situation when passing an object by reference
or by value.
21The DCE Distributed-Object Model
2-19
- Distributed dynamic objects in DCE.
- Distributed named objects
22Persistence and Synchronicity in Communication (1)
2-20
- General organization of a communication system in
which hosts are connected through a network
23Persistence and Synchronicity in Communication (2)
- Persistent communication of letters back in the
days of the Pony Express.
24Persistence and Synchronicity in Communication (3)
2-22.1
- Persistent asynchronous communication
- Persistent synchronous communication
25Persistence and Synchronicity in Communication (4)
2-22.2
- Transient asynchronous communication
- Receipt-based transient synchronous communication
26Persistence and Synchronicity in Communication (5)
- Delivery-based transient synchronous
communication at message delivery - Response-based transient synchronous communication
27Berkeley Sockets (1)
- Socket primitives for TCP/IP.
28Berkeley Sockets (2)
- Connection-oriented communication pattern using
sockets.
29The Message-Passing Interface (MPI)
- Some of the most intuitive message-passing
primitives of MPI.
30Message-Queuing Model (1)
2-26
- Four combinations for loosely-coupled
communications using queues.
31Message-Queuing Model (2)
- Basic interface to a queue in a message-queuing
system.
32General Architecture of a Message-Queuing System
(1)
- The relationship between queue-level
addressing and network-level addressing.
33General Architecture of a Message-Queuing System
(2)
2-29
- The general organization of a message-queuing
system with routers.
34Message Brokers
2-30
- The general organization of a message broker in a
message-queuing - system.
35Example IBM MQSeries
2-31
- General organization of IBM's MQSeries
message-queuing system.
36Channels
- Some attributes associated with message channel
agents.
37Message Transfer (1)
- The general organization of an MQSeries queuing
network using routing tables and aliases.
38Message Transfer (2)
- Primitives available in an IBM MQSeries MQI
39Data Stream (1)
- Setting up a stream between two processes across
a network.
40Data Stream (2)
2-35.2
- Setting up a stream directly between two devices.
41Data Stream (3)
- An example of multicasting a stream to several
receivers.
42Specifying QoS (1)
43Specifying QoS (2)
- The principle of a token bucket algorithm.
44Setting Up a Stream
- The basic organization of RSVP for resource
reservation in a distributed - system.
45Synchronization Mechanisms (1)
- The principle of explicit synchronization on the
level data units.
46Synchronization Mechanisms (2)
2-41
- The principle of synchronization as supported by
high-level interfaces.