Abstract
Uniform reliable broadcast (URB) is an important abstraction in distributed systems, offering delivery guarantee when spreading messages between processes. Informally, URB guarantees that if a process (correct or not) delivers a message m, then all correct processes deliver m. This abstraction has been extensively investigated in distributed systems where all processes have unique identifiers. Furthermore, the majority of papers in the literature usually assume that the communication channels of the system are reliable, which is not always the case in real systems. In this paper, the URB abstraction is investigated in anonymous asynchronous message passing distributed systems with process crash failures and fair lossy channels. For that, we assume the availability of a random number generator that generates unique global values with very high probability. Firstly, a simple URB algorithm is given assuming a majority of correct processes. Then, we prove the impossibility of solving URB without a majority of correct processes if no failure detector is used. Subsequently, a new failure detector class \(A{\varTheta }\) is proposed, which can be used to implement URB with any number of correct processes. However, the two previous URB algorithms are non-quiescent because every correct process, to offset the loss of messages caused by fair lossy channels, has to broadcast all URB\(\_\)delivered messages forever. Hence, a perfect anonymous failure detector \(AP^*\) is proposed, together with \(A{\varTheta }\), to make the URB algorithm quiescent. Finally, we discuss an alternative failure detector \(A{\varTheta }P^*\), which combines the properties of \(A{\varTheta }\) and \(AP^*\).
Similar content being viewed by others
References
Cachin C, Guerraoui R, Rodrigues L (2011) Reliable and secure distributed programming, 2nd edn. Springer, New York
Schneider F, Gries D, Schlichting R (1984) Fault-tolerant broadcast. Sci Comput Program 4(1):1–15
Hadzilacos V (1984) Issues of fault tolerance in concurrent computation. Ph.D thesis, Harvard University
Hadzilacos V, Toueg S (1993) Fault-tolerant broadcasts and related problems. In: Mullender S (ed) Distributed systems. ACM Press & Addison-Wesley, New York
Hadzilacos V, Toueg S (1994) A modular approach to fault-tolerant broadcasts and related problems. Technical Report 94-1425, 83 pages, Cornell University, Ithaca (USA)
Schiper A (2002) Failure detection vs group membership in fault-tolerant distributed systems: hidden trade-offs. In: Proceedings of the second joint international workshop on process algebra and probabilistic methods, performance modeling and verification. Springer, London, pp 1–15
Basu A, Charron-Bost B, Toueg S (1996) Simulating reliable links with unreliable links in the presence of process crashes. In: Proceedings of the 10th international workshop on distributed algorithms. Springer, London, pp 105–122
Afek Y, Attiya H, Fekete A, Fisher M, Lynch N, Mansour Y, Wang D, Zuck L (1994) Reliable communication over unreliable channels. J ACM 41(6):1267–1297
Movahedi M, Saia J, Zamani M (2014) Secure anonymous broadcast. arXiv preprint arXiv:1405.5326
Angluin D (1980) Local and global properties in networks of processors (extended abstract). In: Proceedings of the twelfth annual ACM symposium on Theory of computing (STOC ’80). ACM New York, pp 82–93
Yamashita M, Kameda T (1996) Computing on anonymous networks, part I: characterizing the solvable cases. IEEE Trans Parallel Distrib Syst 7(1):69–89
Yamashita M, Kameda T (1996) Computing on anonymous networks, part II: decision and membership problems. IEEE Trans Parallel Distrib Syst 7(1):90–96
Buhrman H, Panconesi A, Silvestri R, Vityani P (2006) On the importance of having an identity or is consensus really universal? Distrib Comput 18(3):167–175
Delporte-Gallet C, Fauconnier H, Tielmann A (2009) Fault-tolerant consensus in unknown and anonymous networks. In: Proceeding of 29th IEEE international conference on distributed computing systems (ICDCS’09), pp 368–375
Guerraoui R, Ruppert E (2007) Anonymous and fault-tolerant shared-memory computing. Distrib Comput 20(3):165–177
Delporte-Gallet C, Fauconnier H, Tran-The H (2012) Homonyms with forgeable identifiers. In: Proceedings of the 19th international conference on structural information and communication complexity (SIROCCO’12). Springer, Berlin, pp 171–182
Arévalo S, Jiménez E, Tang J (2015) Fault-tolerant broadcast in anonymous systems. J Supercomput 71(11):4172–4191
Arévalo S, Fernández Anta A, Imbs D, Jiménez E, Raynal M (2015) Failure detectors in homonymous distributed systems (with an application to consensus). J Parallel Distributed Comput 83:83–95
Bouzid Z, Travers C (2012) Brief announcement: anonymity, failures, detectors and consensus. In: Proceedings of the 26th international symposium on distributed computing (DISC’12). Salvador, Brazil, pp 427–428
Bouzid Z, Travers C (2016) Anonymity-preserving failure detectors. In: Proceedings of the 30th international symposium on distributed computing (DISC’16). Paris, France, pp 173–186
Angluin D, Aspnes J, Eisenstat D, Ruppert E (2006) On the power of anonymous one-way communication. In: Principles of distributed systems, Lecture Notes in Computer Science vol 3974. Springer, Berlin, pp 396–411
Bakhshi R, Fokkink W, Pang J, van de Pol J (2008) leader election in anonymous rings: Franklin Goes probabilistic. In: Proceedings of 5th international conference on theoretical computer science (IFIP’08). Milano, Italy, pp 57–72
Fraigniaud P, Pelc A, Peleg D, Perennes S (2001) Assigning labels in an unknown anonymous network with a leader. Distrib Comput 14(3):162–183
Kshemkalyani A, Singhal M (2013) Efficient distributed snapshots in an anonymous asynchronous message-passing system. J Parallel Distrib Comput 73(5):621–629
Aguilera M, Toueg S, Deianov B (1999) Revisiting the weakest failure detector for uniform reliable broadcast. In: Proceeding of the 13th international symposium on distributed computing (DISC’99). Bratislava, Slovak Republic, pp 19–33
Chandra T, Toueg S (1996) Unreliable failure detectors for reliable distributed systems. J ACM 43(2):225–267
de Montjoye Y, Radaelli L, Singh V, Pentland A (2015) Unique in the shopping mall: on the reidentifiability of credit card metadata. Science 347(6221):536–539
Tang J, Larrea M, Arévalo S, Jiménez E (2017) Reliable broadcast in anonymous distributed systems with fair lossy channels. Int J High Perform Comput Netw 10(4/5):289–297
Kshemkalyani A, Singhal M (2013) Efficient distributed snapshots in an anonymous asynchronous message-passing system. J Parallel Distrib Comput 73(5):621–629
Mathis F (1991) A generalized birthday problem. SIAM Rev 33(2):265–270
Bonnet F, Raynal M (2010) Anonymous asynchronous systems: the case of failure detectors. In: Proceedings of the 24th international symposium on distributed computing (DISC’10). Cambridge, MA, USA, pp 206–220
Aguilera M, Chen W, Toueg S (2000) On quiescent reliable communication. SIAM J Comput 29(6):2040–2073
Raynal M (2010) Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Synth Lect Distrib Comput Theory 1(1):1–273
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.
This research is partially supported by the Community of Madrid, under Grant EDGEDATA (P2018/TCS-4499), the Spanish Research Council, under Grants TIN2013-41123-P, TIN2013-46883-P, TIN2016-80350 and TIN2016-79897-P, the Basque Government, under Grants IT395-10 and IT980-16, and a scholarship of the Chinese Scholarship Council.
Rights and permissions
About this article
Cite this article
Tang, J., Larrea, M., Arévalo, S. et al. Uniform reliable broadcast in anonymous distributed systems with fair lossy channels. Computing 102, 1967–1999 (2020). https://doi.org/10.1007/s00607-020-00825-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-020-00825-6
Keywords
- Anonymous system
- Asynchronous system
- Message passing
- Uniform reliable broadcast
- Fault-tolerance
- Fair lossy channel
- Failure detector
- Quiescence