Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Computing Systems

Similar presentations


Presentation on theme: "Distributed Computing Systems"— Presentation transcript:

1 Distributed Computing Systems
CSCI 6900/4900

2 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: system

3 Buffer-based Network Model
2-20 General organization of a communication system in which hosts are connected through a network

4 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

5 Example of Persistent Asynchronous Comm.
Persistent communication of letters back in the days of the Pony Express.

6 Persistence and Synchronicity in Communication (3)
2-22.1 Persistent asynchronous communication Persistent synchronous communication

7 Persistence and Synchronicity in Communication (4)
2-22.2 Transient asynchronous communication Receipt-based transient synchronous communication

8 Persistence and Synchronicity in Communication (5)
Delivery-based transient synchronous communication at message delivery Response-based transient synchronous communication

9 Which Communication Is Needed?
Appropriateness depends upon the semantics of the application Underlying system should support all types

10 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.

11 Connection-oriented communication pattern using sockets.
Berkeley Sockets (2) Connection-oriented communication pattern using sockets.

12 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

13 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

14 Message-Queuing Model (1)
2-26 Four combinations for loosely-coupled communications using queues.

15 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.

16 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

17 General Architecture of a Message-Queuing System (2)
2-29 The general organization of a message-queuing system with routers.

18 Message Brokers Message brokers convert messages to a format required by destination application 2-30


Download ppt "Distributed Computing Systems"

Similar presentations


Ads by Google