Publish/subscribe interactions are driven by events (usually the arrival or creation of data)—a publisher makes information available for general distribution. Communication is in one direction (publisher to subscribers), and often one-to-many as shown in
Figure 4. The complete interaction consists of one multicast message, published once, and received by all subscribers.
Demand for data drives request/reply interactions. A client requests data from a server; the server computes an individual response and returns it to the client. Communication flows in both directions, as in
Figure 5. The complete interaction consist of two point-to-point messages—a request and a reply.
Like request/reply interactions, multicast request/reply interactions are driven by demand for data. While traditional request/reply interactions involve one requestor and one server, in multicast request/reply interactions multiple servers can receive the request and respond as appropriate. Communication flows in both directions, and only some servers respond to the client request, as in
Figure 6. The complete interaction consists of one multicast request message, and any number of point-to-point reply messages.