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

What will be an ideal response?


This algorithm relies on an implementation of two functions, EN(e) and SN(s). 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.
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...

Which is not a typical application of queues?

a) Routing packets in a computer network b) File server handling file access requests from many clients c) High-speed sorting d) Print spooling

Computer Science & Information Technology

What are some of the drawbacks of using link-state routing protocols?

What will be an ideal response?

Computer Science & Information Technology

Define a channel.

What will be an ideal response?

Computer Science & Information Technology

A(n) ___________________has two distinct endpoints.

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

Computer Science & Information Technology