290 likes | 420 Views
Communication. Chapter 4. Part II Message-Oriented Communication. Giving credit where credit is due:. CSCE455/855 Distributed Operating Systems. Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary I have modified them and added new slides.
E N D
Communication Chapter 4 Part II Message-Oriented Communication
Giving credit where credit is due: CSCE455/855Distributed Operating Systems • Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary • I have modified them and added new slides
RPC and Message Passing • RPC enhances access transparency by hiding communication • RPC is inherently synchronous and is not always appropriate • What if the receiving side is not executing when the request is sent? • Sometimes, we need to resort to message-passing
Persistence and Synchronicity in Communication (1) 2-20 General organization of a communication system in which hosts are connected through a network
Persistence and Synchronicity in Communication (2) Persistent communication of letters back in the days of the Pony Express.
Persistence in Communication • Persistence: A (sent) message is stored by the communication system until it is delivered. • Transient: A (sent) message is stored by the communication system as long as both the sender and receiver applications are executing
Synchrony in Communication • Asynchronous: The sender does not block until the message is delivered, blocks until stored in a buffer at the sending host, or the first communication server • Synchronous: The sender blocks until the message is stored in a buffer at the receiving host, or delivered to the receiver
Persistent Asynchronous Communication • A message is stored: • until delivered • at A’s host • at the first comm server • e.g.: email 2-22.1
Persistent Synchronous Communication • A message is stored: • until delivered • at B’s host • at B’s comm server 2-22.1
Transient Asynchronous Communication • A message is stored: • at A’s host • at the first comm server • If B is not running, message • is dropped • e.g.: asynch. RPC, UDP 2-22.2
Transient Synchronous Communication (1) Weakest: Receipt-based 2-22.2
Transient Synchronous Communication (2) Strongest: Response-based Moderate: Delivery-based
General Architecture of a Message-Queuing System (1) Source Queue Destination Queue • Nearby the receiver • Message contains information about this queue • How the message travels between A and B is the responsibility of the queuing system A B • Nearby the sender • Messages can be put to this queue only
General Architecture of a Message-Queuing System (2) Queue Name Network Address Queuing table entry • The collection of queues is distributed across multiple machines • The system must maintain a (possibly distributed) database of queues (queuing tables)
General Architecture of a Message-Queuing System (3) The relationship between queue-level addressing and network-level addressing.
General Architecture of a Message-Queuing System (4) • Queues are managed by queue managers • A queue manager interacts directly with the sending/receiving application • Some (special) queue managers act like routers or relays
General Architecture of a Message-Queuing System (5) 2-29 • Routing is static • Medium-level scalability (manually configure the routing tables)
Integrating Differing Message-Based Systems System A System B Message Broker A-specific message format B-specific message format
Message Brokers 2-30 The general organization of a message broker in a message-queuing system.