Self-stabilization in tree-structured P2P Service Discovery Systems
Résumé
The efficiency of service discovery is critical in the development of fully decentralized middleware intended to manage large scale computational grids. This demand influenced the design of many peer-to-peer based approaches. The ability to cope with the expressiveness of the service discovery was behind the design of a new kind of overlay structures that is based on tries, or prefix trees. Although these overlays are well designed, one of their weaknesses is the lack of any concrete fault tolerant mechanism, especially in dynamic platforms; the faults are handled by using preventive and costly mechanisms, e.g., using a high degree of replication. Moreover, those systems cannot handle any arbitrary transient failure.
Self-stabilization, which is an efficient approach to design reliable solutions for dynamic systems, was recently suggested to be a good alternative to inject fault- tolerance in peer-to-peer systems. However, most of the previous research on self-stabilization in tree and/or P2P networks was designed in theoretical models, making these approaches hard to implement in practice. In this paper, we provide a self-stabilizing message passing protocol to maintain prefix trees over practical peer- to-peer networks. A complete correctness proof is provided, as well as simulation results to estimate the practical impact of our protocol.