In this paper we present two major results: First, we introduce the first self-stabilizing version of a supervised overlay network (as introduced in [14]) by presenting a self-stabilizing supervised skip ring. Secondly, we show how to use the self-stabilizing supervised skip ring to construct an efficient self-stabilizing publish-subscribe system. That is, in addition to stabilizing the overlay network, every subscriber of a topic will eventually know all of the publications that have been issued so far for that topic. The communication work needed to processes a subscribe or unsubscribe operation is just a constant in a legitimate state, and the communication work of checking whether the system is still in a legitimate state is just a constant on expectation for the supervisor as well as any process in the system.
ACM Subject Classification C.2.4 Distributed SystemsSelf-Stabilizing Supervised Publish-Subscribe Systems 1:4 Self-Stabilizing Supervised Publish-Subscribe Systems new publications for topics to subscribers only after O(n) steps. Subscribe and unsubscribe requests are processed by updating the routing table at nodes. Both systems described above differ from our approach, as they solely focus on the routing scheme and updates of the routing tables, while we focus on updating the topology upon subscribe/unsubscribe requests. Additionally, our system is able to deliver publications in O(log n) steps, if we use flooding, since we use a network with logarithmic diameter. Furthermore, we are also able to deliver all publications of a domain to a new subscriber after only a constant number of rounds.There is a close relationship between group communication services (e.g., [9,1]) and publish-subscribe systems. Processes are ordered in groups in both paradigms and groupmessages are only distributed among all members of some group. Self-stabilizing group communication services are proposed in [6] for ad-hoc networks and in [5] for directed networks. However, there are some key differences: In group communication services, participants have to agree on group membership views. This results in a high memory overhead for each member of a group, as nodes in a group technically form a clique. On the other hand subscribers of topics in publish-subscribe systems are in general not interested in any other members of the topic. For our approach, this results in logarithmic worst-case and constant average case degree for subscribers.