210 likes | 333 Views
Communication III. CSE 5306 Lecture Quiz 10 due at 5 PM on Tuesday, 16 September 2014. Message-Oriented Persistent Communication. Email-like message queuing systems may store messages for several days.
E N D
Communication III CSE 5306 Lecture Quiz 10 due at 5 PM on Tuesday, 16 September 2014
Message-Oriented Persistent Communication • Email-like message queuing systems may store messages for several days. • They may transmit those messages, even while sender and receiver are both inactive. • Message-oriented middleware (MOM) is best qualified to support persistent asynchronous communications. • MOM calls upon the message-passing interface (MPI) to complete the miracle.
Message-Queuing Model • Given proper addresses of the sender’s queue and the receiver’s queue, a message may be routed through any number of intermediate server queues on its way to the receiver, perhaps thousands of miles away. • There is no guarantee when or even if the message will be delivered. • The fact that fragments of the message may travel different routes is hidden from the users’ applications. • MPI’s put, get, poll and notify primitives handle the process completely.
General Architecture of a Message-Queuing System • The sender’s source queue is on her machine—or on her LAN’s message server, sent there via RPC. • Likewise, her destination queue is on her machine—or on her LAN’s message server, received from there via RPC. • Every queued message contains its ultimate destination address. • With overlay network databases of all interconnected queues (including Internet DNS names), queue managers collectively relay messages among their queues. • Each router knows all regional queues, but each queue manager only knows her nearest router. • “Gateways” relays reformat messages for their users; others multicast to all.
Message Brokers • Analogous to the gateway router, a “message broker” is an application (i.e., not an integral part of the queuing system) that translates a received message of type T1 to type T2, which its user understands. • The user’s organization uses sophisticated tools (e.g., conversion rules and programs) to program its own message broker. • T1 and T2 may be two different database or word processor formats; e.g., MATLAB “imports” Excel. • A publish/subscribe message broker delivers only messages of interest to the subscribing receiver.
R U O K ? Let’s review—match the following terms with their definitions below. 1. Transient communication __ 2. Access transparency __ 3. Synchronous communication __ 4. Asynchronous communication __ 5. Persistent communication __ • Messages are stored only while sending and receiving applications are both running. • The sender is blocked till its request is accepted. • The sender is not blocked till its request is accepted. • Hiding from the local application the fact that the distributed system actually is accessing a distant resource, instead of some presumed local resource. • Messages are stored for as long as it takes to deliver them to receivers.
R U O K ? Match MOM’s favorite MPI primitives with their definitions below. 6. Put __ 7. Get __ 8. Poll __ 9. Notify __ • Without blocking, check to see if a specified queue is empty; if not, take its oldest message. • Take the oldest message from a specified queue; if it does not have any messages, block until it does. • Install a callback function that will spontaneously notify you, when a message is put in a specified queue. • Append sender’s message to to a specified queue without blocking.
R U O K ? 10. Which of the following accurately describe the general organization of a message queuing system? __ • Every machine (or its RPC-accessible LAN server) has a sender’s source queue and receiver’s destination queue. • Every queued message contains its ultimate destination address. • Queue managers (i.e., routers) use overlay network databases of all interconnected queues to collectively relay messages among their queues. • Each router knows all of the queues in its region, but other routers only know each region’s nearest router. • All of the above.
R U O K ? 11. Which of the following accurately describes a message broker? __ • That integral part of a queuing system that translates a received message of type T1 to type T2, which its user can understand. • A publish/subscribe application that delivers only messages of interest to subscribing receivers. • It translates Chinese emails into Greek for Athenian users. • All of the above. • None of the above.
A Note on Message-Queuing Systems • The Internet’s SMTP serves end users with email delivery, groupware and social media. • General message-queuing systems serve persistently communicating distributed system processes with guaranteed message delivery, message prioritizing, logging, efficient multicasting, load balancing and fault tolerance. • The latter can break up a database query into fragments that several high performance database servers answer in parallel. And it can send emails.
IBM’s WebSphere Message-Queuing System • A LAN’s queue manager includes a server stub, a routing table, a four message channel agents (MCA) and their paired send and receive queues. • The server stub accepts a 4MB message from an application’s client stub elsewhere on the LAN, and places it in one of the send queues. • One of the queue’s sending MCAs looks up the message’s destination in the routing table, wraps the message in a transport-level packet and drops it on the enterprise network. • Any number of other routers relay it to the proper receiving queue manager. • One of that manager’s receiving MCAs unwraps the packet and puts the message in its receive queue. • The server stub de-queues message and sends it to the destination app’s client stub via RPC. • A queue managers may be simply linked into an app’s process through an MQ interface, if desired.
Channels • Send MCA’s fall asleep after several seconds of queue inactivity. • An app can start up an MCA, but that would ruin its access transparency. • We prefer to configure the send queue with a “notify” callback function that awakens the MCA when a message is queued. • Alternatives include contacting a deamon that watches a well known address on the MCA’s machine, or asking another local MCA to awaken it. • Sending and receiving MCAs must agree on a common transport protocol and message order, but they may negotiate the other message channel attributes above.
R U O K ? 12. Contrast present-day email service with message-queuing systems. __ • The Internet’s SMTP serves end users. • SMTP uses the established TCP/IP network to send emails, but not very efficiently. • General message-queuing systems serve persistently communicating distributed system processes. • A message-queuing system could break up a database query into message fragments that several high performance database servers answer in parallel. • All of the above.
R U O K ? Properly order the following steps in WebSphere’s sending a message. 13. One of the queue’s sending MCAs looks up the message’s destination in the routing table, wraps the message in a trans-port-level packet and drops it on the enterprise network. __ 14. The server stub accepts a 4MB message from an application’s client stub elsewhere on the LAN, and places it in one of the send queues. __ 15. Any number of other routers relay the message to the proper receiving queue manager. __ 16. The server stub de-queues message and sends it to the destination app’s client stub via RPC. __ 17. One of that manager’s receiving MCAs unwraps the packet and puts the message in its receive queue. __
R U O K ? 18. Which of the following is a bad way to wake up a send MCAthat has fallen asleep after several seconds of queue inactivity? __ • Let the application that has a message to send awaken it. • Configure the send queue with a “notify” callback function that awakens the MCA when a message is queued. • Contact a daemon that watches a well known address on the MCA’s machine. • Ask another MCA on the same machine to awaken it. • None of the above—they are all good ways.
Message Transfer • Each of a queue manager’s (QM’s) two send queues is connected to one other QM via its dedicated enterprise system message channel. • To every message, the QM appends the destination QM’s name and the next QM’s send queue name, (destQM, sendQ), in the general direction of that destination. (And the next QM changes sendQ to the next, etc.) • The example above shows QMA’s message destined for QMC is placed in queue SQ1 for delivery to QMB. Upon arrival at QMB, it is placed in QMB’s queue SQ1 for delivery to its destination, QMC. • Applications refer to their local QM by an alias, which does not change when the enterprise changes that QM’s system name. • Apps use MQopen and MQclose to open and close local queues, and MQput and MQget to add and remove queued messages.
Managing Overlay Networks • Building WebSphere’s enterprise overlay network (i.e., routing tables) can be a big job, and the network logically should be edited during message traffic “rush hours.” • IBM provides a “channel control function” component that apprises the operator of traffic on both ends of a QM’s two message channels. • But IBM provides no automated aids for editing WebSphere’s enterprise overlay networks.
Stream-Oriented Communication • Continuous (representation) media must communicate at the live rate; e.g., 44.1kHz CD, 25-33 full-motion video frames/sec. • Synchronous transmission mode requires a guaranteed minimum data rate; e.g., sensor data sampled at 60Hz. • Discrete (representation) media is an asynchronous series of bytes; e.g.,UNIX pipes, TCP/IP connection. • isochronous transmission mode requires jitter between consecutive units is guaranteed to be between minimum and maximum bounds; e.g., earphone audio. • A simple stream is one data channel; e.g., monaural audio, NTSC composite video. • Complex streams are made up of many simple substreams; e.g., stereo sound, RGB video.
R U O K ? 19. What would the (destQM, sendQ) pair be for the example message shown in Fig.4-24, as it travels to its ultimate destination? __ • (QMC, SQ1). • (QMD, SQ2). • (QMC, SQ1), (QMC, SQ2). • (QMD, SQ1). • None of the above.
R U O K ? 20. What problem(s) exist in IBM’s WebSphere message queuing system? __ • Applications’ manipulation of message queues violates distributed systems’ access transparency principle. • Searching the routing tables of a multinational mega-enterprise could take a long time. • WebSphereprovides no automated tools for editing enterprise overlay networks during message traffic “rush hours.” • All of the above. • None of the above—WebSphere is “practically perfect in every way” (Mary Poppins).
R U O K ? Match the following streaming data terms with their definitions below. 21. Continuous (representation) media __ 22. Discrete (representation) media __ 23. Synchronous transmission mode __ 24. Isochronous transmission mode __ 25. Complex stream __ • Any series of bytes delivered at a possibly variable rate. • Jitter between consecutive units guaranteed to be between minimum and maximum bounds. • Made up of two or more simple synchronized sub-streams i.e., single data channels. • Guaranteed minimum data rate. • Must communicate at the live performance rate.