Detection of global state predicates

  • Keith Marzullo
  • Gil Neiger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 579)


This paper examines algorithms for detecting when a property Φ holds during the execution of a distributed system. The properties we consider are expressed over the state of the system and are not assumed to have properties that facilitate detection, such as stability.

Detection is done by a monitoring process within the system, which cannot perceive an execution of a distributed system as a total order; because of this, we consider two interpretations for “detecting Φ”:
  1. 1.

    There is an execution consistent with the observed behavior such that Φ was true at a point in that execution. We refer to this property as possibly Φ.

  2. 2.

    For all executions consistent with the observed behavior, there was some point in real time at which the global state of the system satisfied Φ. We refer to this property as definitely Φ.


In this paper, we give formal definitions for these two interpretations and present algorithms for them. We give protocols for both asynchronous and synchronous systems and, for synchronous systems, give upper bounds on the time between the occurrence of the property of interest and the time a monitor detects the property.


Global State Finite State Automaton Asynchronous System Synchronous System Vector Clock 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Kenneth P. Birman and Thomas A. Joseph. Reliable communication in the presence of failures. ACM Transactions on Computer Systems, 5(1):47–76, February 1987.Google Scholar
  2. [2]
    K. Mani Chandy and Leslie Lamport. Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1):63–75, February 1985.Google Scholar
  3. [3]
    Robert C. B. Cooper and Keith Marzullo. Consistent detection of global predicates. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, pages 163–173. ACM/ONR, 1991.Google Scholar
  4. [4]
    C. J. Fidge. Partial orders for parallel debugging. In SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, pages 183–194. ACM, 1988.Google Scholar
  5. [5]
    David Garlan and Ehsan Ilias. Low-cost, adaptable tool integration policies for integrated environments. In Proceedings of the Fourth Symposium on Software Development Environments, pages 1–10. ACM SIGSOFT, 1990.Google Scholar
  6. [6]
    David Harel and Amir Pnueli. On the development of reactive systems. In Krzysztof R. Apt, editor, Logics and Models of Concurrent Systems, volume 13 of NATO ASI Series F, pages 477–498. Springer-Verlag, New York, 1985.Google Scholar
  7. [7]
    Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.Google Scholar
  8. [8]
    Keith Marzullo. Tolerating failures of continuous-valued sensors. ACM Transactions on Computer Systems, 8(4):284–304, November 1990.Google Scholar
  9. [9]
    Keith Marzullo, Robert C. B. Cooper, Mark Wood, and Kenneth P. Birman. Tools for distributed application management. IEEE Computer, 24(8):42–51, August 1991.Google Scholar
  10. [10]
    Keith Marzullo and Laura Sabel. Using consistent subcuts for detecting stable properties. In Proceedings of the Fifth Workshop on Distributed Algorithms and Graphs, October 1991. To appear.Google Scholar
  11. [11]
    Keith Marzullo and Mark Wood. Tools for distributed application management. In Proceedings of the Spring 1991 EurOpen Conference, pages 477–498, May 1991.Google Scholar
  12. [12]
    Friedemann Mattern. Time and global states of distributed systems. In Michel Cosnard et. al., editor, Proceedings of the International Workshop on Parallel and Distributed Algorithms, pages 215–226. North-Holland, October 1989.Google Scholar
  13. [13]
    Barton P. Miller and Jong-Deok Choi. Breakpoints and halting in distributed programs. In Proceedings of the Eighth International Conference on Distributed Computing Systems, pages 316–323. IEEE, 1988.Google Scholar
  14. [14]
    Steven P. Reiss. Connecting tools using message passing in the FIELD program development environment. IEEE Software, 7(4), July 1990.Google Scholar
  15. [15]
    M. Spezialetti and J. P. Kearns. Simultaneous regions: A framework for the consistent monitoring of distributed computations. In Proceedings of the Ninth International Conference on Distributed Computing Systems, pages 61–68. IEEE, 1989.Google Scholar
  16. [16]
    Madelene Spezialetti. A Generalized Approach to Monitoring Distributed Computations for Event Occurrences. Ph.D. dissertation, University of Pittsburgh, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Keith Marzullo
    • 1
  • Gil Neiger
    • 2
  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA
  2. 2.Georgia Institute of TechnologyCollege of ComputingAtlantaUSA

Personalised recommendations