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.
You might also like to view...
Match the term with its use
4. E-chip blocking software a. fragments data and places on various servers 5. Data encryption b. filters information, though unable to distinguish between legitimate and indecent information 6. Data stripping c. provides privacy and security for consumers by protecting data
On a single-bus architecture system, the number of available slots limits the number of peripheral devices that can be connected to the system. One solution is to use a(n)__________to connect several peripheral devices through a single port.
a. serial bus b. external bus c. parallel bus d. modem