Skip to main content
Log in

Self-stabilizing c-wave algorithms for arbitrary networks

  • Regular Paper
  • Published:
Computing Aims and scope Submit manuscript

Abstract

In this paper, we propose the first self-stabilizing c-wave algorithm for broadcasting large size messages from multiple initiator processes such that every process receives at least one of these messages broadcast by the initiators. The proposed algorithm first splits each message into a sequence of message shares and then broadcasts the message shares in a pipelined manner in order. We then present an improved maximally concurrent self-stabilizing c-wave algorithm called dynamic clustering c-wave algorithm that constructs dynamic broadcast trees by allowing a process to dynamically change its parent to a neighbouring process with the most message shares to implement a maximally concurrent broadcasting of large size messages. The improved algorithm is maximally concurrent in the sense that a process is allowed to receive a message share from any neighbouring process with a larger sequence of message shares than its current parent from which it receives message shares in the broadcast trees constructed by the initiators when available. We implemented and experimentally evaluated the c-wave algorithm to compare its message propagation delay to those of the m and the k-wave algorithms. Simulation results show that the proposed algorithm significantly reduces the broadcast propagation delays compared to that of the m and the k-wave algorithms. The improvement is more evident over the m-wave algorithm. Solutions to global-snapshots, distributed broadcast and various synchronization problems can be solved efficiently using c-wave algorithms. In addition, the proposed algorithms have applications in blockchain, mobile wireless sensor networks, VANETs and military communication networks.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Afek Y, Dolev S (1997) Local stabilizer. In: Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing - PODC 97. https://doi.org/10.1145/259380.259505

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

    Article  MATH  Google Scholar 

  3. Azar Y, Kutten S, Patt-Shamir B (2010) Distributed error confinement. ACM Trans Algorithms 6(3):1–23. https://doi.org/10.1145/1798596.1798601

    Article  MathSciNet  MATH  Google Scholar 

  4. Beauquier J, Delaët S, Haddad S (2006) A 1-strong self-stabilizing transformer. Stabilization, Safety, and Security of Distributed Systems, pp 95–109

  5. Bein D, Datta AK, Karaata MH (2007) An optimal snap-stabilizing multi-wave algorithm. Comput J 50(3):332–340

    Article  Google Scholar 

  6. Blin L, Tixeuil S (2017) Compact deterministic self-stabilizing leader election on a ring: the exponential advantage of being talkative. Distrib Comput 31(2):139–166. https://doi.org/10.1007/s00446-017-0294-2

    Article  MathSciNet  MATH  Google Scholar 

  7. Bui A, Datta A, Petit F, Villain V (1999) State-optimal snap-stabilizing PIF in tree networks. In: Proceedings of the Third Workshop on Self-Stabilizing Systems (published in association with ICDCS99 The 19th IEEE International Conference on Distributed Computing Systems) pp 78–85

  8. Chen YS, Juang TY, Shen YY (2000) Multi-node broadcasting in an arrangement graph using multiple spanning trees. In: Proceedings of Seventh International Conference on Parallel and Distributed Systems, pp 213–220. https://doi.org/10.1109/ICPADS.2000.857701

  9. Chen YS, Juang TY, Shen YY (2000) Multi-node broadcasting in an arrangement graph using multiple spanning trees. Parallel and Distributed Systems, In: Proceedings. Seventh International Conference on, pp 213–220

  10. Chen YS, Chiang CY, Chen CY (2004) Multi-node broadcasting in all-ported 3-d wormhole-routed torus using an aggregation-then-distribution strategy. J Syst Architect 50(9):575–589

    Article  Google Scholar 

  11. Cheng B, Wang D, Fan J (2017) Constructing completely independent spanning trees in crossed cubes. Discret Appl Math 219:100–109

    Article  MathSciNet  MATH  Google Scholar 

  12. Cheng B, Fan J, Wang D, Yang J (2015) A reliable broadcasting algorithm in locally twisted cubes. Cyber Security and Cloud Computing (CSCloud), 2015 IEEE 2nd International Conference on, pp 323–328

  13. Chu CH, Lu X, Awan AA, Subramoni H, Hashmi J, Elton B, Panda DK (2017) Efficient and scalable multi-source streaming broadcast on gpu clusters for deep learning. 2017 46th International Conference on Parallel Processing (ICPP), pp 161–170

  14. Cokuslu D, Erciyes K, Hameurlain A (2011) A maximum degree self-stabilizing spanning tree algorithm. Computer and Information Sciences, pp 393–396

  15. Cournier A, Datta AK, Petit F, Villain V (2005) Optimal snap-stabilizing pif algorithms in un-oriented trees. J High Speed Netw. 14(2), 185–200 http://dl.acm.org/citation.cfm?id=1239387.1239392

  16. Delaet S, Tixeuil S (2002) Tolerating transient and intermittent failures. J Parallel Distrib Comput 62(5):961–981. https://doi.org/10.1006/jpdc.2001.1827

    Article  MATH  Google Scholar 

  17. Delaët S, Dolev S, Peres O (2009) “safer than safe: On the initial state of self-stabilizing systems”. Lecture Notes in Computer Science Stabilization, Safety, and Security of Distributed Systems, pp 775–776

  18. Delaët S, Dolev S, Peres O (2009) Safe and eventually safe: Comparing self-stabilizing and non-stabilizing algorithms on a common ground. Lecture Notes in Computer Science Principles of Distributed Systems, pp 315–329. https://doi.org/10.1007/978-3-642-10877-8_25

  19. Devismes S, Johnen C (2019) Self-stabilizing distributed cooperative reset. 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), pp 379–389

  20. Dijkstra EW (1973) Self-stabilizing systems in spite of distributed control. EWD 391, In Selected Writings on Computing: A Personal Perspective, pp 41–46

  21. Dijkstra EW (1974) Self-stabilizing systems in spite of distributed control. Commun ACM 17(11):643–644. https://doi.org/10.1145/361179.361202

    Article  MATH  Google Scholar 

  22. Djaker AB, Kechar B, Ibn-Khedher H, Moungla H, Afifi H (2020) Scalable and cost efficient maximum concurrent flow over iot using reinforcement learning. 2020 International Wireless Communications and Mobile Computing (IWCMC) pp 539–544

  23. Djaker AB, Kechar B, Ibn-Khedher H, Moungla H, Afifi H (2020) Scalable and cost efficient maximum concurrent flow over iot using reinforcement learning. 2020 International Wireless Communications and Mobile Computing (IWCMC), pp 539–544

  24. Dolev S, Herman T (1997) Superstabilizing protocols for dynamic distributed systems. The Chicago Journal of Theoretical Computer Science 3(4):1–40

    Article  MathSciNet  MATH  Google Scholar 

  25. Ghosh S, Gupta A (1996) An exercise in fault-containment: Self-stabilizing leader election. Inf Process Lett 59:281–288

    Article  MathSciNet  MATH  Google Scholar 

  26. Ghosh S, Gupta A, Pemmaraju S (1996) A fault-containing self-stabilizing algorithm for spanning trees. J Comput Inf 2:322–338

    Google Scholar 

  27. Ghosh S, Gupta A, Herman T, Pemmaraju SV (2007) Fault-containing self-stabilizing distributed protocols. Distrib Comput 20(1):53–73. https://doi.org/10.1007/s00446-007-0032-2

    Article  MATH  Google Scholar 

  28. Ghosh S, Bejan A (2003) A framework of safe stabilization. Lecture Notes in Computer Science Self-Stabilizing Systems, pp 129–140. https://doi.org/10.1007/3-540-45032-7_10

  29. Ghosh S, Gupta A, Herman T, Pemmaraju SV (1996) Fault-containing self-stabilizing algorithms. In: Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing - PODC 96. https://doi.org/10.1145/248052.248057

  30. Gouda M (2002) Multiphase stabilization. IEEE Trans Software Eng 28(2):201–208. https://doi.org/10.1109/32.988499

    Article  Google Scholar 

  31. Hakan Karaata M, Nais AlMutairi A, Bassiouni M (2020) A snap-stabilizing m-wave algorithm for tree networks. Comput J 63(1):220–238. https://doi.org/10.1093/comjnl/bxz100

    Article  MathSciNet  Google Scholar 

  32. Hao W, Zeng J, Dai X, Xiao J, Hua QS, Chen H, Li KC, Jin H (2020) Towards a trust-enhanced blockchain p2p topology for enabling fast and reliable broadcast. IEEE Trans Netw Serv Manage 17(2):904–917

    Article  Google Scholar 

  33. Kamei S, Kakugawa H (2018) Self-stabilizing algorithm for dynamically maintaining two disjoint dominating sets. 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW), pp 278–284

  34. Karaata MH (2019) An open modal stabilizing m-wave algorithm for arbitrary networks. J Parallel Distrib Comput 128:15–29

    Article  Google Scholar 

  35. Karaata M, Al-Jady Z (2020) Propagation safety and reliability in distributed systems. IEEE transactions on dependable and secure computing

  36. Katz S, Perry KJ (1990) Self-stabilizing extensions for massage-passing systems. In: Proceedings of the 9th Annual ACM Symposium on Principles of Distributed Systems

  37. Khan MW, Salman N, Kemp AH, Mihaylova L (2016) Localisation of sensor nodes with hybrid measurements in wireless sensor networks. Sensors 16(7):1143

    Article  Google Scholar 

  38. Köhler S, Turau V (2010) Fault-containing self-stabilization in asynchronous systems with constant fault-gap. 2010 IEEE 30th International Conference on Distributed Computing Systems. https://doi.org/10.1109/icdcs.2010.10

  39. Kruijer H (1979) Self-stabilization (in spite of distributed control) in tree-structured systems. Inf Process Lett 8(2):91–95. https://doi.org/10.1016/0020-0190(79)90151-0

    Article  MathSciNet  MATH  Google Scholar 

  40. Kutten S, Patt-Shamir B (1997) Time-adaptive self stabilization. In: Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing, pp 149–158. https://doi.org/10.1145/259380.259435

  41. Levé F, Mohamed K, Villain V (2016) Snap-stabilizing pif on arbitrary connected networks in message passing model. International Symposium on Stabilization, Safety, and Security of Distributed Systems, pp 281–297

  42. Mane S, Kandekar S, Waphare B (2017) Construction of four completely independent spanning trees on augmented cubes. arXiv preprint arXiv:1705.01358

  43. Medani K, Aliouat M, Aliouat Z (2017) Fault tolerant time synchronization using offsets table robust broadcasting protocol for vehicular ad hoc networks. AEU-International Journal of Electronics and Communications 81:192–204

    Google Scholar 

  44. Nakamura J, Kim Y, Katayama Y, Masuzawa T (2020) A cooperative partial snapshot algorithm for checkpoint-rollback recovery of large-scale and dynamic distributed systems and experimental evaluations. Concurrency and Computation: Practice and Experience 33(12):e5647

    Google Scholar 

  45. Prakash R, Singhal M (1994) Maximal global snapshot with concurrent initiators. In: Proceedings of the 6th IEEE Symposium on Parallel and Distributed Processing, pp 344–351. https://doi.org/10.1109/SPDP.1994.346149

  46. Ruiz P, Bouvry P (2015) Survey on broadcast algorithms for mobile ad hoc networks. ACM computing surveys (CSUR) 48(1):1–35

    Article  Google Scholar 

  47. Sahana S, Singh K (2020) Cluster based localization scheme with backup node in underwater wireless sensor network. Wireless Pers Commun 110(4):1693–1706

    Article  Google Scholar 

  48. Shi Q, Cui X, Zhao S, Xu S, Lu M (2020) Blas: Broadcast relative localization and clock synchronization for dynamic dense multi-agent systems. IEEE Trans Aerosp Electron Syst 56(5):3822–3839

    Article  Google Scholar 

  49. Sudo Y, Datta AK, Larmore LL, Masuzawa T (2020) Self-stabilizing token distribution on trees with constant space. J Parallel Distrib Comput 146:201–211

    Article  MATH  Google Scholar 

  50. Tseng YC (1997) Multi-node broadcasting in hypercubes and star graphs. Algorithms and Architectures for Parallel Processing, 1997. ICAPP 97., 1997 3rd International Conference on, pp 51–58

  51. Turau V (2017) Computing the fault-containment time of self-stabilizing algorithms using markov chains and lumping. International Symposium on Stabilization, Safety, and Security of Distributed Systems, pp 62–77. https://doi.org/10.1007/978-3-319-69084-1_5

  52. Usha M, Sathiamoorthy J, Ashween R, Ramakrishnan BN (2020) Eemccp-a novel architecture protocol design for efficient data transmission in underwater acoustic wireless sensor network. Int J Comput Netw Appl 7(2):28–42

    Google Scholar 

  53. Viger F, Latapy M (2005) Efficient and simple generation of random simple connected graphs with prescribed degree sequence. International Computing and Combinatorics Conference, 440–449

  54. Wang SI, Wang FH (2017) Independent spanning trees in rtcc-pyramids. Comput J 60(1):13–26

    Article  MathSciNet  Google Scholar 

  55. Wu J, Lou W (2003) Forward-node-set-based broadcast in clustered mobile ad hoc networks. Wirel Commun Mob Comput 3(2):155–173

    Article  Google Scholar 

  56. Xiang Y, Liu H, Lan T, Huang H, Subramaniam S (2020) Optimizing job reliability through contention-free, distributed checkpoint scheduling. IEEE Trans Netw Serv Manage 18(2):2077–2088

    Article  Google Scholar 

  57. Zhang M, Shen S, Shi J, Zhang T (2008) Simple clock synchronization for distributed real-time systems. In: Proceedings of IEEE International Conference on Industrial Technology, pp 1–5. https://doi.org/10.1109/ICIT.2008.4608549

  58. Zheng J, Wu YC (2009) Joint time synchronization and localization of an unknown node in wireless sensor networks. IEEE Trans Signal Process 58(3):1309–1320

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

I would like to thank the anonymous referees for their suggestions and constructive comments on an earlier version of the paper. Their suggestions have greatly enhanced the readability of the paper. I would like to thank Ali Hamdan for his assistance on the simulation work. I would like to express my gratitude to Aisha Dabees for her diligent efforts to revise and enhance the manuscript. This work is supported by Kuwait University Research Administration, Grant No [EO 09/18].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mehmet Hakan Karaata.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Karaata, M.H., Alrashed, E. & Allaho, M. Self-stabilizing c-wave algorithms for arbitrary networks. Computing 105, 53–88 (2023). https://doi.org/10.1007/s00607-022-01110-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-022-01110-4

Keywords

Mathematics Subject Classification

Navigation