Skip B-Trees

  • Ittai Abraham
  • James Aspnes
  • Jian Yuan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3974)


We describe a new data structure, the Skip B-Tree, that combines the advantages of skip graphs with features of traditional B-trees. A skip B-Tree provides efficient search, insertion and deletion operations. The data structure is highly fault tolerant even to adversarial failures, and allows for particularly simple repair mechanisms. Related resource keys are kept in blocks near each other enabling efficient range queries.

Using this data structure, we describe a new distributed peer-to-peer network, the Distributed Skip B-Tree. Given m data items stored in a system with n nodes, the network allows to perform a range search operation for r consecutive keys that costs only O(log b m +r/b) where b=Θ(m/n). In addition, our distributed Skip B-tree search network has provable polylogarithmic costs for all its other basic operations like insert, delete, and node join. To the best of our knowledge, all previous distributed search networks either provide a range search operation whose cost is worse than ours or may require a linear cost for some basic operation like insert, delete, and node join.


Load Balance Range Query Expansion Ratio Distribute Hash Table Open Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AAA+03]
    Abraham, I., Awerbuch, B., Azar, Y., Malkhi, D., Pavlov, E.: A generic scheme for building overlay networks in adversarial scenarios. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS 2003) (April 2003)Google Scholar
  2. [AB96]
    Aumann, Y., Bender, M.A.: Fault Tolerant Data Structures. In: Proceedings of the Thirty-Seventh Annual Symposium on Foundations of Computer Science (FOCS), Burlington, VT, USA, pp. 580–589 (October 1996)Google Scholar
  3. [ABKU00]
    Azar, Y., Broder, A.Z., Karlin, A.R., Upfal, E.: Balanced allocations. SIAM J. Comput. 29(1), 180–200 (2000)MathSciNetCrossRefMATHGoogle Scholar
  4. [AKK04]
    Aspnes, J., Kirsch, J., Krishnamurthy, A.: Load balancing and locality in range-queriable data structures. In: Twenty-Third ACM Symposium on Principles of Distributed Computing, pp. 115–124 (July 2004)Google Scholar
  5. [AS02]
    Aspnes, J., Shah, G.: Skip Graphs. In: Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 384–393 (January 2002) (submitted to Journal of Algorithms) Google Scholar
  6. [AS03]
    Awerbuch, B., Scheideler, C.: Peer-to-peer Systems for Prefix Search. In: Proceedings of the Twenty-Second ACM Symposium on Principles of Distributed Computing (PODC), Boston, MA, USA (July 2003)Google Scholar
  7. [Bay72]
    Bayer, R.: Symmetric Binary B-trees: Data Structure and Maintainance Algorithms. Acta Informatica, 290–306 (1972)Google Scholar
  8. [CBDW91]
    Colbrook, A., Brewer, E.A., Dellarocas, C., Weihl, W.E.: An Algorithm for concurrent search trees. In: Proceedings of the 20th International Conference on Parallel Processing, pp. III138–III141 (1991)Google Scholar
  9. [CLGS04]
    Crainiceanu, A., Linga, P., Gehrke, J., Shanmugasundaram, J.: P-Tree: A P2P Index for Resource Discovery Applications. In: The 13th International World Wide Web Conference, pp. 390–392 (May 2004)Google Scholar
  10. [Dat02]
    Datar, M.: Butterflies and Peer-to-Peer Networks. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 310–322. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. [FS02]
    Fiat, A., Saia, J.: Censorship Resistant Peer-to-Peer Content Addressable Networks. In: Proceedings of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), San Francisco, CA, USA, pp. 94–103 (January 2002); Submitted to a special issue of Journal of Algorithms dedicated to select papers of SODA 2002 Google Scholar
  12. [GP91]
    Gilon, K., Peleg, D.: Compact Deterministic Distributed Dictionaries. In: Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing, pp. 81–94 (1991)Google Scholar
  13. [HJS+03]
    Harvey, N.J.A., Jones, M.B., Saroiu, S., Theimer, M., Wolman, A.: SkipNet: A Scalable Overlay Network with Practical Locality Properties. In: Proceedings of the Fourth USENIX Symposium on Internet Technologies and Systems (USITS), Seattle, WA, USA, pp. 113–126 (March 2003)Google Scholar
  14. [JC94]
    Johnson, T., Colbrook, A.: A Distributed, Replicated, Data-Balanced Search Structure. International Journal of High Speed Computing 6, 475–500 (1994)CrossRefGoogle Scholar
  15. [KK03]
    Kaashoek, F., Karger, D.R.: Koorde: A simple degree-optimal hash table. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. [KM05]
    Kenthapadi, K., Manku, G.S.: Decentralized algorithms using both local and random probes for p2p load balancing. In: SPAA 2005: Proceedings of the 17th annual ACM symposium on Parallelism in algorithms and architectures, pp. 135–144. ACM Press, New York (2005)Google Scholar
  17. [KR04]
    Karger, D.R., Ruhl, M.: Simple Efficient Load Balancing Algorithms for Peer-to-Peer Systems. In: ACM SPAA (2004)Google Scholar
  18. [MP84]
    Munro, J.I., Poblete, P.V.: Fault Tolerance And Storage Reduction In Binary Search Trees. Information and Control 62(2/3), 210–218 (1984)MathSciNetCrossRefMATHGoogle Scholar
  19. [MRS01]
    Mitzenmacher, M., Richa, A.W., Sitaraman, R.: The power of two random choices: A survey of techniques and results (2001)Google Scholar
  20. [Pug90]
    Pugh, W.: Skip Lists: A Probabilistic Alternative to Balanced Trees. Communications of the ACM 33(6), 668–676 (1990)CrossRefGoogle Scholar
  21. [RRHS04]
    Ramabhadran, S., Ratnasamy, S., Hellerstein, J.M., Shenker, S.: Brief Announcement: Prefix Hash Tree. In: Proceedings of ACM PODC, St. Johns, Canada (July 2004)Google Scholar
  22. [SFG+02]
    Saia, J., Fiat, A., Gribble, S., Karlin, A., Saroiu, S.: Dynamically Fault-Tolerant Content Addressable Networks. In: Druschel, P., Kaashoek, M.F., Rowstron, A. (eds.) IPTPS 2002. LNCS, vol. 2429, pp. 270–279. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. [SG88]
    Shasha, D., Goodman, N.: Concurrent search structure algorithms. ACM Transactions on Database Systems, 53–90 (1988)Google Scholar
  24. [SMLN+03]
    Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. IEEE/ACM Transactions on Networking 11, 17–32 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Ittai Abraham
    • 1
  • James Aspnes
    • 2
  • Jian Yuan
    • 3
  1. 1.The Institute of Computer ScienceThe Hebrew University of JerusalemIsrael
  2. 2.Department of Computer ScienceYale UniversityUSA
  3. 3.GoogleUSA

Personalised recommendations