Communication

Download Report

Transcript Communication

Distributed Computing Systems
CSCI 6900/4900
Message-Oriented Communication
• RPCs and RMIs are not always appropriate
– Both assume that receiver is executing when a request
is issued
– Inherently synchronous
• Buffer-based network model
– Hosts are connected to communication servers
– Message buffers at end hosts and communication
servers
– Example: Email system
Buffer-based Network Model
2-20
General organization of a communication system in which hosts are
connected through a network
Types of Communication
• Persistence
– Persistent communication – Stores message until
communicated to user
– Transient communication – Stored only when sending
and receiving processes are alive
• Transport level protocols provide transient communication
• Synchronicity
– Asynchronous – Sender continues after sending message
– Synchronous – Sender blocks until message is stored at
receiver's local buffer, delivered to receiver or processed
by receiver
Example of Persistent Asynchronous Comm.
Persistent communication of letters back in the days of the Pony Express.
Persistence and Synchronicity in Communication (3)
2-22.1
a)
b)
Persistent asynchronous communication
Persistent synchronous communication
Persistence and Synchronicity in Communication (4)
2-22.2
c)
d)
Transient asynchronous communication
Receipt-based transient synchronous communication
Persistence and Synchronicity in Communication (5)
e)
f)
Delivery-based transient synchronous communication at
message delivery
Response-based transient synchronous communication
Which Communication Is Needed?
Appropriateness depends upon the
semantics of the application
Underlying system should support all types
Message Oriented Transient
Communication -Berkeley Sockets
• Interface for transport layer
• A communications end point
Primitive
Meaning
Socket
Create a new communication endpoint
Bind
Attach a local address to a socket
Listen
Announce willingness to accept connections
Accept
Block caller until a connection request arrives
Connect
Actively attempt to establish a connection
Send
Send some data over the connection
Receive
Receive some data over the connection
Close
Release the connection
Socket primitives for TCP/IP.
Berkeley Sockets (2)
Connection-oriented communication pattern using sockets.
Message Oriented Persistent Comm.
• Message Queuing Systems or Message-Oriented
Middleware (MoM)
• Incorporates support for persistent asynchronous
communication
• Offers intermediate-term storage capacity
– Neither sender or receiver need to be active for the entire
communication duration
Message Queuing Model
• Applications communicate through messages stored
in queues
• Each application has its own (local) queue
• Guarantees that the message will be inserted in
recipient’s queue
– No guarantee about time or whether receiver reads the
message
• Supports loosely coupled communication
Message-Queuing Model (1)
2-26
Four combinations for loosely-coupled communications using queues.
Message-Queuing Model (2)
Primitive
Meaning
Put
Append a message to a specified queue
Get
Block until the specified queue is nonempty, and remove the first message
Poll
Check a specified queue for messages, and remove the first. Never block.
Notify
Install a handler to be called when a message is put into the specified
queue.
Basic interface to a queue in a message-queuing system.
General Architecture of a Message-Queuing System (1)
•
•
•
•
Source Queue/Destination Queue
Each queue has a unique name
Queuing system maps queue names to network address
Queue managers and relays
General Architecture of a Message-Queuing System (2)
2-29
The general organization of a message-queuing system with routers.
Message Brokers
• Message brokers convert messages to a format required by
destination application
2-30