A fundamental problem for both structured and unstructured peer-to-peer networks is how to maintain connected the topology of a network in the presence of processes that, possibly concurrently, join and leave the network. In this paper we firstly define a model of the computation well-suited to analyze connectivity maintenance among processes carrying out a distributed computation considering unbounded concurrency and infinite participation. Secondly upon this model we provide a specification of the connectivity maintenance problem. We finally present a protocol that guarantees connectivity maintenance by arranging processes of the computation on a tree. The protocol handles both joins and leaves concurrently and actively (i.e., some piece of code is executed by a leaving/joining process interacting with its neighbors in the topology).
['Roberto Baldoni', 'Sirio Scipioni', 'Sara Tucci-Piergiovanni']
Communication Channel Management for Maintenance of Strong Overlay Connectivity