Approximate Causal Observer †

In this paper, we focus on the problem of approximate causal delivery. This problem identifies the tradeoff between causal delivery and timely delivery of messages. Causal delivery requires that delivery of a message, say m, be delayed until all messages on whom m is causally dependent are delivered. By contrast, timely delivery requires that messages be delivered as soon as possible. In the context where messages could be lost and the value of messages decreases as the delay increases, the requirements of causal delivery and timely delivery are conflicting. We show how a simple logical timestamp program can be used to obtain a solution for approximate causal observer. This solution is intended for systems that provide simple guarantees about the clock drift and about maximum delay of messages that are not lost. While O(n) unbounded integers are required to implement perfect causal delivery, our solution uses only O(log n) bounded space. Our solution permits a process to tradeoff between causal delivery and timely delivery, i.e., it allows the process to choose the level of causality violations it can tolerate (0% or more) and the time for which it will have to buffer the received messages. We also show that the information maintained by our program, although small, is important to provide such a tradeoff; we show that the number of causality violations increase by an order of magnitude if this information is not maintained. Finally, we show how our solution can be used to observe computations in sensor networks while providing a continuum where one can choose the size of the timestamps based on the acceptable level of causality violations.

[1]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[2]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[3]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[4]  Anish Arora,et al.  Maintaining Digital Clocks In Step , 1991, WDAG.

[5]  J.-M. Couvreur,et al.  Asynchronous unison , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[6]  Mukesh Singhal,et al.  Advanced concepts in operating systems : distributed, database, and multiprocessor operating systems , 1993 .

[7]  Michel Raynal,et al.  Causal Deliveries in Unreliable Networks With Real-Time Delivery Constraints , 1994 .

[8]  Mukesh Singhal,et al.  Real‐time causal message ordering in multimedia systems , 1997, Telecommun. Syst..

[9]  Flaviu Cristian,et al.  The Timed Asynchronous Distributed System Model , 1998, IEEE Trans. Parallel Distributed Syst..

[10]  Sandeep S. Kulkarni,et al.  Stabilizing causal deterministic merge , 2005, J. High Speed Networks.

[11]  David E. Culler,et al.  Mica: A Wireless Platform for Deeply Embedded Networks , 2002, IEEE Micro.

[12]  Temporal Message Ordering in Wireless Sensor Networks , 2002 .

[13]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[14]  Murat Demirbas,et al.  A Pursuer-Evader Game for Sensor Networks , 2003, Self-Stabilizing Systems.

[15]  Vinayak S. Naik,et al.  A line in the sand: a wireless sensor network for target detection, classification, and tracking , 2004, Comput. Networks.