Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Networks and distributed computation: concepts, tools, and algorithms
Networks and distributed computation: concepts, tools, and algorithms
Logical Time in Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
The causal ordering abstraction and a simple way to implement it
Information Processing Letters
Lightweight causal and atomic group multicast
ACM Transactions on Computer Systems (TOCS)
Causal delivery of messages with real-time data in unreliable networks
Real-Time Systems
Computer networks (3rd ed.)
An adaptive causal ordering algorithm suited to mobile computing environments
Journal of Parallel and Distributed Computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
A note on reliable full-duplex transmission over half-duplex links
Communications of the ACM
Reliable Distributed Computing with the ISIS Toolkit
Reliable Distributed Computing with the ISIS Toolkit
Logically Instantaneous Message Passing in Asynchronous Distributed Systems
IEEE Transactions on Computers
A New Algorithm to Implement Causal Ordering
Proceedings of the 3rd International Workshop on Distributed Algorithms
The Hierarchical Daisy Architecture for Causal Delivery
ICDCS '97 Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS '97)
On Causal Broadcasting with Positive Acknowledgments and Bounded-Length Counters
IEEE Transactions on Computers
Response to Comment on "A Positive Acknowledgment Protocol for Causal Broadcasting"
IEEE Transactions on Computers
Hi-index | 14.99 |
Causal 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.