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.
Similar content being viewed by others
References
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
Arora A, Gouda MG (1994) Distributed reset. IEEE Trans Comput 43:1026–1038
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
Beauquier J, Delaët S, Haddad S (2006) A 1-strong self-stabilizing transformer. Stabilization, Safety, and Security of Distributed Systems, pp 95–109
Bein D, Datta AK, Karaata MH (2007) An optimal snap-stabilizing multi-wave algorithm. Comput J 50(3):332–340
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
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
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
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
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
Cheng B, Wang D, Fan J (2017) Constructing completely independent spanning trees in crossed cubes. Discret Appl Math 219:100–109
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
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
Cokuslu D, Erciyes K, Hameurlain A (2011) A maximum degree self-stabilizing spanning tree algorithm. Computer and Information Sciences, pp 393–396
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
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
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
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
Devismes S, Johnen C (2019) Self-stabilizing distributed cooperative reset. 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), pp 379–389
Dijkstra EW (1973) Self-stabilizing systems in spite of distributed control. EWD 391, In Selected Writings on Computing: A Personal Perspective, pp 41–46
Dijkstra EW (1974) Self-stabilizing systems in spite of distributed control. Commun ACM 17(11):643–644. https://doi.org/10.1145/361179.361202
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
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
Dolev S, Herman T (1997) Superstabilizing protocols for dynamic distributed systems. The Chicago Journal of Theoretical Computer Science 3(4):1–40
Ghosh S, Gupta A (1996) An exercise in fault-containment: Self-stabilizing leader election. Inf Process Lett 59:281–288
Ghosh S, Gupta A, Pemmaraju S (1996) A fault-containing self-stabilizing algorithm for spanning trees. J Comput Inf 2:322–338
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
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
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
Gouda M (2002) Multiphase stabilization. IEEE Trans Software Eng 28(2):201–208. https://doi.org/10.1109/32.988499
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
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
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
Karaata MH (2019) An open modal stabilizing m-wave algorithm for arbitrary networks. J Parallel Distrib Comput 128:15–29
Karaata M, Al-Jady Z (2020) Propagation safety and reliability in distributed systems. IEEE transactions on dependable and secure computing
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
Khan MW, Salman N, Kemp AH, Mihaylova L (2016) Localisation of sensor nodes with hybrid measurements in wireless sensor networks. Sensors 16(7):1143
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
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
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
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
Mane S, Kandekar S, Waphare B (2017) Construction of four completely independent spanning trees on augmented cubes. arXiv preprint arXiv:1705.01358
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
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
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
Ruiz P, Bouvry P (2015) Survey on broadcast algorithms for mobile ad hoc networks. ACM computing surveys (CSUR) 48(1):1–35
Sahana S, Singh K (2020) Cluster based localization scheme with backup node in underwater wireless sensor network. Wireless Pers Commun 110(4):1693–1706
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
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
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
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
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
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
Wang SI, Wang FH (2017) Independent spanning trees in rtcc-pyramids. Comput J 60(1):13–26
Wu J, Lou W (2003) Forward-node-set-based broadcast in clustered mobile ad hoc networks. Wirel Commun Mob Comput 3(2):155–173
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
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
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
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
Corresponding author
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.
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-022-01110-4