Skip to main content

A Self-stabilizing Hashed Patricia Trie

  • Conference paper
  • First Online:
Stabilization, Safety, and Security of Distributed Systems (SSS 2018)

Abstract

While a lot of research in distributed computing has covered solutions for self-stabilizing computing and topologies, there is far less work on self-stabilization for distributed data structures. Considering crashing peers in peer-to-peer networks, it should not be taken for granted that a distributed data structure remains intact. In this work, we present a self-stabilizing protocol for a distributed data structure called the hashed Patricia Trie (Kniesburges and Scheideler WALCOM’11) that enables efficient prefix search on a set of keys. The data structure has a wide area of applications including string matching problems while offering low overhead and efficient operations when embedded on top of a distributed hash table. Especially, longest prefix matching for x can be done in \(\mathcal {O}(\log |x|)\) hash table read accesses. We show how to maintain the structure in a self-stabilizing way. Our protocol assures low overhead in a legal state and a total (asymptotically optimal) memory demand of \(\varTheta (d)\) bits, where d is the number of bits needed for storing all keys.

This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Center ‘On-The-Fly Computing’ (SFB 901).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Afek, Y., Kutten, S., Yung, M.: Memory-efficient self stabilizing protocols for general networks. In: van Leeuwen, J., Santoro, N. (eds.) WDAG 1990. LNCS, vol. 486, pp. 15–28. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54099-7_2

    Chapter  Google Scholar 

  2. Arora, A., Gouda, M.: Distributed reset. IEEE Trans. Comput. 43(9), 1026–1038 (1994)

    Article  Google Scholar 

  3. Awerbuch, B., Varghese, G.: Distributed program checking: a paradigm for building self-stabilizing distributed protocols. In: Proceedings 32nd Annual Symposium of Foundations of Computer Science, pp. 258–267. IEEE, October 1991

    Google Scholar 

  4. Clouser, T., Nesterenko, M., Scheideler, C.: Tiara: a self-stabilizing deterministic skip list and skip graph. Theor. Comput. Sci. 428, 18–35 (2012)

    Article  MathSciNet  Google Scholar 

  5. Collin, Z., Dolev, S.: Self-stabilizing depth-first search. Inf. Process. Lett. 49(6), 297–301 (1994)

    Article  Google Scholar 

  6. Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. Technical report, University of Karlsruhe (2005)

    Google Scholar 

  7. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)

    Article  Google Scholar 

  8. Dolev, S., Kat, R.I.: HyperTree for self-stabilizing peer-to-peer systems. In: 3rd IEEE International Symposium on Proceedings of the Network Computing and Applications. NCA 2004, pp. 25–32. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  9. Flatebo, M., Datta, A.K.: Two-state self-stabilizing algorithms for token rings. IEEE Trans. Softw. Eng. 20(6), 500–504 (1994)

    Article  Google Scholar 

  10. Gonnet, G.H., Baeza-Yates, R.A., Snider, T.: New indices for text: PAT Trees and PAT arrays. In: Frakes, W.B., Baeza-Yates, R. (eds.) Information Retrieval, pp. 66–82. Prentice-Hall Inc., Upper Saddle River (1992)

    Google Scholar 

  11. Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: SKIP+: a self-stabilizing skip graph. J. ACM 61(6), 36 (2014)

    Article  MathSciNet  Google Scholar 

  12. Jacob, R., Ritscher, S., Scheideler, C., Schmid, S.: A self-stabilizing and local Delaunay graph construction. In: Dong, Y., Du, D.-Z., Ibarra, O. (eds.) ISAAC 2009. LNCS, vol. 5878, pp. 771–780. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10631-6_78

    Chapter  MATH  Google Scholar 

  13. Kniesburges, S., Koutsopoulos, A., Scheideler, C.: Re-chord: a self-stabilizing chord overlay network. In: Proceedings of the 23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures. SPAA 2011, pp. 235–244. ACM, New York (2011)

    Google Scholar 

  14. Kniesburges, S., Scheideler, C.: Hashed Patricia Trie: efficient longest prefix matching in peer-to-peer systems. In: Katoh, N., Kumar, A. (eds.) WALCOM 2011. LNCS, vol. 6552, pp. 170–181. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19094-0_18

    Chapter  Google Scholar 

  15. Knollmann, T., Scheideler, C.: A Self-stabilizing hashed Patricia Trie. ArXiv e-prints. http://arxiv.org/abs/1809.04923 (2018)

  16. Morrison, D.R.: PATRICIA - practical algorithm to retrieve information coded in alphanumeric. J. ACM 15(4), 514–534 (1968)

    Article  Google Scholar 

  17. Onus, M., Richa, A., Scheideler, C.: Linearization: locally self-stabilizing sorting in graphs. In: Proceedings of the Meeting on Algorithm Engineering & Expermiments, pp. 99–108. Society for Industrial and Applied Mathematics, Philadelphia (2007)

    Chapter  Google Scholar 

  18. Rowstron, A., Druschel, P.: Pastry: scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45518-3_18

    Chapter  Google Scholar 

  19. Shaker, A., Reeves, D.S.: Self-stabilizing structured ring topology P2P systems. In: Proceedings of the 5th IEEE International Conference on Peer-to-Peer Computing, pp. 39–46. IEEE, August 2005

    Google Scholar 

  20. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Trans. Netw. 11(1), 17–32 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Till Knollmann or Christian Scheideler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Knollmann, T., Scheideler, C. (2018). A Self-stabilizing Hashed Patricia Trie. In: Izumi, T., Kuznetsov, P. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2018. Lecture Notes in Computer Science(), vol 11201. Springer, Cham. https://doi.org/10.1007/978-3-030-03232-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03232-6_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03231-9

  • Online ISBN: 978-3-030-03232-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics