Advertisement

A Self-stabilizing Hashed Patricia Trie

  • Till Knollmann
  • Christian Scheideler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11201)

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.

Keywords

Self-stabilizing Prefix search Distributed data structure 

References

  1. 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_2CrossRefGoogle Scholar
  2. 2.
    Arora, A., Gouda, M.: Distributed reset. IEEE Trans. Comput. 43(9), 1026–1038 (1994)CrossRefGoogle Scholar
  3. 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 1991Google Scholar
  4. 4.
    Clouser, T., Nesterenko, M., Scheideler, C.: Tiara: a self-stabilizing deterministic skip list and skip graph. Theor. Comput. Sci. 428, 18–35 (2012)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Collin, Z., Dolev, S.: Self-stabilizing depth-first search. Inf. Process. Lett. 49(6), 297–301 (1994)CrossRefGoogle Scholar
  6. 6.
    Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. Technical report, University of Karlsruhe (2005)Google Scholar
  7. 7.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)CrossRefGoogle Scholar
  8. 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. 9.
    Flatebo, M., Datta, A.K.: Two-state self-stabilizing algorithms for token rings. IEEE Trans. Softw. Eng. 20(6), 500–504 (1994)CrossRefGoogle Scholar
  10. 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. 11.
    Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: SKIP+: a self-stabilizing skip graph. J. ACM 61(6), 36 (2014)MathSciNetCrossRefGoogle Scholar
  12. 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_78CrossRefzbMATHGoogle Scholar
  13. 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. 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_18CrossRefGoogle Scholar
  15. 15.
    Knollmann, T., Scheideler, C.: A Self-stabilizing hashed Patricia Trie. ArXiv e-prints. http://arxiv.org/abs/1809.04923 (2018)
  16. 16.
    Morrison, D.R.: PATRICIA - practical algorithm to retrieve information coded in alphanumeric. J. ACM 15(4), 514–534 (1968)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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_18CrossRefGoogle Scholar
  19. 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 2005Google Scholar
  20. 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)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Heinz Nixdorf Institute, Computer Science DepartmentPaderborn UniversityPaderbornGermany
  2. 2.Computer Science DepartmentPaderborn UniversityPaderbornGermany

Personalised recommendations