This paper discusses efficient distributed detection of global
  conjunctive predicates in a distributed program.  Previous work in
  detection of such predicates is based on a checker process.  The
  checker process requires $O(n^2m)$ time and space where $m$ is the
  number of messages sent or received by any process and $n$ is the number of
  processes over which the predicate is defined.  In this paper, we
  introduce token-based algorithms which distribute the computation
  and space requirements of the detection procedure.  The distributed
  algorithm has $O(n^2m)$ time, space and message complexity,
  distributed such that each process performs $O(nm)$ work.  We
  describe another distributed algorithm with $O(Nm)$ total work,
  where $N$ is the total number of processes in the system.  The
  relative values of $n$ and $N$ determine which algorithm is more
  efficient for a specific application.