A Generic Self-repair Approach for Overlays
Self-repair is a key area of functionality in overlay networks, especially as overlays become increasingly widely deployed and relied upon. Today’s common practice is for each overlay to implement its own self-repair mechanism. However, apart from leading to duplication of effort, this practice inhibits choice and flexibility in selecting from among multiple self-repair mechanisms that make different deployment-specific trade-offs between dependability and overhead. In this paper, we present an approach in which overlay networks provide functional behaviour only, and rely for their self-repair on a generic self-repair service. In our previously-published work in this area, we have focused on the distributed algorithms encapsulated within our self-repair service. In this paper we focus instead on API and integration issues. In particular, we show how overlay implementations can interact with our generic self-repair service using a small and simple API. We concretise the discussion by illustrating the use of this API from within an implementation of the popular Chord overlay. This involves minimal changes to the implementation while considerably increasing its available range of self-repair strategies.
KeywordsOverlay Network Distribute Hash Table Recovery Service Service Instance Repair Strategy
Unable to display preview. Download preview PDF.
- 1.Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications, pp. 149–160. ACM Press, New York (2001)CrossRefGoogle Scholar
- 2.Jannotti, J., et al.: Overcast: Reliable multicasting with an overlay network. In: Proceedings of the Fourth Symposium on Operating System Design and Implementation (OSDI), pp. 197–212 (2000)Google Scholar
- 3.Porter, B., Taïani, F., Coulson, G.: Generalized repair for overlay networks. In: Proceedings of the Symposium on Reliable Distributed Sytems, Leeds, UK (2006)Google Scholar
- 6.(Gridkit middleware public release), https://sourceforge.net/projects/gridkit/
- 7.Kiczales, G., Lamping, J.: Operating systems: Why object-oriented? In: Hutchinson, L.F.C., Norman (eds.) The Third International Workshop on Object-Orientation in Operating Systems, Asheville, North Carolina, pp. 25–30 (1993)Google Scholar
- 8.Killijian, M., Fabre, J., Ruiz-García, J., Shiba, S.: A metaobject protocol for fault-tolerant CORBA applications. In: 17th IEEE Symposium on Reliable Distributed Systems (SRDS-17), West Lafayette (USA), pp. 127–134 (1998)Google Scholar
- 10.Li, B., Guo, J., Wang, M.: iOverlay: A lightweight middleware infrastructure for overlay application implementations. In: Proceedings of IFIP/ACM/USENIX Middleware, Toronto, Canada (2004)Google Scholar
- 11.Rodriguez, A., et al.: Macedon: Methodology for automatically creating, evaluating, and designing overlay networks. In: Proceedings of the Symposium on Networked Systems Design and Implementation (NSDI), San Francisco, USA (2004)Google Scholar