Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 4 Communication Part II Message-Oriented Communication CSCE455/855 Distributed Operating Systems Giving credit where credit is due: 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 2-22.1 • at A’s host • at the first comm server • e.g.: email 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 2-22.2 • at the first comm server • If B is not running, message is dropped • e.g.: asynch. RPC, UDP Transient Synchronous Communication (1) 2-22.2 Weakest: Receipt-based Transient Synchronous Communication (2) Moderate: Delivery-based Strongest: Response-based Appendix General Architecture of a Message-Queuing System (1) A B Source Queue Destination Queue • Nearby the sender • Nearby the receiver • Messages can be put to this queue only • Message contains information about this queue • How the message travels between A and B is the responsibility of the queuing system General Architecture of a Message-Queuing System (2) • • The collection of queues is distributed across multiple machines The system must maintain a (possibly distributed) database of queues (queuing tables) Queuing table entry Queue Name Network Address 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 A-specific message format System A Message Broker System B B-specific message format Message Brokers 2-30 The general organization of a message broker in a message-queuing system.