Construct a step-by-step guide explaining the operation of the alternative rendezvous-based
routing algorithm shown in Figure 6.12.

What will be an ideal response?


This algorithm relies on an implementation of two functions, EN(e) and SN(s). As described in Section 6.3.2,
SN(s) takes a given subscription, s, and returns one or more rendezvous nodes that take responsibility for that
subscription. Each such rendezvous node maintains a subscription list, and forwards all matching events to the
set of subscribing nodes. Second, when an event e is published, the function EN(e) also returns one or more
rendezvous nodes, this time responsible for matching e against subscriptions in the system. In the description
below, we do not look at the implementation of the two functions; we only assume that a correct
implementation is provided whereby the intersection of EN(e) and SN(e) is non-empty. Appropriate
implementations of the two functions are considered in Exercise 6.12.
The algorithm is quite straightforward given appropriate implementations of the two functions.
On the occurrence of a subscribe event, the associated rendezvous nodes are calculated, using SN(s). If
the local node is one of the rendezvous nodes, the subscription is added to the local subscription list for future
reference, otherwise it is propagated to other rendezvous nodes.
On the occurrence of a publish event, the associated rendezvous nodes are determined by calling EN(e)
on the associated event, e. If the local node is in this set, the subscription list is consulted to determine
subscriptions that match. The event is then sent directly to each of these subscribers through notify messages
ensuring all subscribers will see this event. If the local node is not a rendezvous node, the publish event is
propagated to the nodes contained in EN(e).
Note: there is an error in the first impression of the book in that the last line of the receive implementation
should be:
else
send publish(e) to rvlist;
rather than
send publish(e) to rvlist - i;
This will be fixed in subsequent impressions.

Computer Science & Information Technology

You might also like to view...

What is 9-slice scaling?

What will be an ideal response?

Computer Science & Information Technology

Blue arrows called ____________________ point from cells that might have caused the error to the active cell containing the error.

Fill in the blank(s) with the appropriate word(s).

Computer Science & Information Technology

The ability to ____ text and treat it as a digital image opens up countless possibilities as you use Photoshop’s digital image-editing tools.

a. rasterize b. warp c. liquify d. distort

Computer Science & Information Technology

If the minimum password length on a Windows system is set to zero, what does that mean?

A. The user never has to change the password. B. The user can use a blank password. C. The user has to change the password every day. D. The user account is disabled.

Computer Science & Information Technology