This Article 
 Bibliographic References 
 Add to: 
A Positive Acknowledgment Protocol for Causal Broadcasting
December 1998 (vol. 47 no. 12)
pp. 1341-1350

AbstractCausal broadcasting has been introduced to reduce the asynchrony of communication channels inside groups of processes. It states that if two broadcast messages are causally related by the happened-before relation, these messages are delivered in their sending order to each process of the group. Even though protocols implementing causal broadcasting do not add control messages, they suffer from the typical pitfall of the timestamping technique: To ensure causal ordering, application messages have to piggyback a vector time of counters whose range of variation is unbounded. In this paper, we investigate such a range and define the concept of causal window of a process in which all counters of a vector time of a just arrived message at that process fall. We prove that, by using a causal broadcasting (one-to-all) protocol that follows a positive acknowledgment method, the width of the causal window of each process is limited. This allows a modulo k implementation of vector times when considering k greater than the width of the causal window of each process. The protocol is applicable to data link or transport layers using acknowledge messages to ensure reliable transfer of data. The paper also proposes two variants of the protocol based on causal windows. Both of them increase the concurrency of the protocol at the expense of wider causal windows.

[1] M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, and P.W. Hutto, "Causal Memory: Definitions, Implementation, and Programming," Distributed Computing, vol. 9, no. 1, pp. 37-50, 1995.
[2] Y. Amir et al., Transis:“A Communication Subsystem for High Availability,” Proc. Int’l Symp. Fault‐Tolerant Computing, IEEE CS Press, Los Alamitos, Calif., 1992, pp. 76‐84.
[3] R. Baldoni, "A Positive Acknowledgement Protocol for Causal Broadcasting," Technical Report 21.95, DIS, Universitádi Roma "La Sapienza," Dec. 1995. Also available pub/papers/compgeo ~baldoni.
[4] R. Baldoni, R. Friedman, and R. Van Renesse, "The Hierarchical Daisy Architecture for Causal Delivery," Proc. 17th IEEE Int'l Conf. Distributed Computing Systems, pp. 570-577, May 1997.
[5] R. Baldoni, A. Mostefaoui, and M. Raynal, "Causal Deliveries of Messages with Real-Time Data in Unreliable Networks," J. Real-Time Systems, vol. 10, no. 3, pp. 245-262, 1996.
[6] R. Baldoni, R. Prakash, M. Raynal, and M. Singhal, "EfficientΔ-Causal Broadcasting," J. Computer System Science and Eng., to appear, 1999. A shorter version appeared in Proc. 23rd EUROMICRO Conf., pp. 617-626, 1996.
[7] K. Bartlett, R. Scantlebury, and P. Wilkinson, "A Note on Reliable Full-Duplex Transmission over Half-Duplex Links," Comm. ACM, vol. 12, no. 5, pp. 260-261, May 1969.
[8] K. Birman and T. Joseph, "Reliable Communications in Presence of Failures," ACM Trans. Computing Systems, vol. 5, no. 1, pp. 47-76, 1987.
[9] K. Birman, A. Schiper, and P. Stephenson, “Lightweight Causal and Atomic Group Multicast,” ACM Trans. Computer Systems, vol. 9, no. 3, pp. 272-314, Aug. 1991.
[10] K.P. Birman and R. Van Renesse, Reliable Distributed Computing with the Isis Toolkit. IEEE CS Press, 1994.
[11] V.G. Cerf and R.E. Kahn, "A Protocol for Packet Network Interconnection," IEEE Trans. Comm., vol. 22, no. 5, 1974.
[12] C.J. Fidge, "Logical Time in Distributed Computing Systems," Computer, pp. 28-33, Aug. 1991.
[13] W.A. Doeringer, H.D. Dykeman, M. Kaiserwerth, B.W. Meister, H. Rudin, and R. Williamson, "A Survey of Light-Weight Protocols for High-Speed Networks," IEEE Trans. Comm., vol. 38, no. 11, pp. 2,025-2,039, 1990.
[14] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[15] F. Mattern, "Virtual Time and Global States of Distributed Systems," Proc. Int'l Workshop Parallel and Distributed Algorithms, pp. 215-226. NorthHolland, 1989.
[16] R. Prakash, M. Raynal, and M. Singhal, "An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environments," J. Parallel and Distributed Computing, pp. 190-204, Mar. 1997.
[17] M. Raynal, Networks and Distributed Computation. NorthOxford Academic Publisher, 1987.
[18] M. Raynal, A. Schiper, and S. Toueg, "Causal Ordering Abstraction and a Simple Way to Implement It," Information Processing Letters, vol. 39, no. 6, pp. 343-350, 1991.
[19] M. Reiter and L. Gong, "Securing Causal Relationship in Distributed Systems," The Computer J., vol. 38, no. 8, pp. 633-642, 1995.
[20] T. Soneoka and T. Ibaraki, "Logically Instantaneous Message-Passing in Asynchronous Distributed Systems," IEEE Trans. Computers, vol. 43, no. 5, pp. 513-527, May 1994.
[21] A. Schiper, J. Eggli, and A. Sandoz, "A New Algorithm to Implement Causal Ordering," Proc. Third Int'l Workshop Distributed Algorithms, pp. 219-232,Berlin, 1989.
[22] W. Stenning, "A Data Transfer Protocol," Computer Networks, vol. 1, pp. 99-110, 1976.
[23] A.S. Tanenbaum, Computer Networks, third ed. Prentice Hall, 1996.

Index Terms:
Causal broadcasting, group communication, sliding windows, vector times, asynchrony, happened-before relation, distributed systems.
Roberto Baldoni, "A Positive Acknowledgment Protocol for Causal Broadcasting," IEEE Transactions on Computers, vol. 47, no. 12, pp. 1341-1350, Dec. 1998, doi:10.1109/12.737681
Usage of this product signifies your acceptance of the Terms of Use.