Skip graphs

James Aspnes and Gauri Shah. Skip graphs. ACM Transactions on Algorithms, 3(4):37, November 2007. An earlier version appeared in Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, January 2003, pp. 384–393. Available as arXiv:cs.DS/0306043.

Abstract

Skip graphs are a novel distributed data structure, based on skip lists, that provide the full functionality of a balanced tree in a distributed system where resources are stored in separate nodes that may fail at any time. They are designed for use in searching peer-to-peer systems, and by providing the ability to perform queries based on key ordering, they improve on existing search tools that provide only hash table functionality. Unlike skip lists or other tree data structures, skip graphs are highly resilient, tolerating a large fraction of failed nodes without losing connectivity. In addition, constructing, inserting new nodes into, searching a skip graph, and detecting and repairing errors in the data structure introduced by node failures can be done using simple and straightforward algorithms.

SODA 2003 proceedings version: PDF.

Slides from Gauri Shah's talk at SODA 2003: PPT.

ArXiv version: arXiv:cs.DS/0306043.

Journal version: PDF.

BibTeX

@article(AspnesS2007, title="Skip graphs", author="James Aspnes and Gauri Shah", journal="ACM Transactions on Algorithms", month=nov, year=2007, volume=3, number=4, pages={37} )