Matrix clocks are a generalization of the notion of vector clocks that allows
the local representation of causal precedence to reach into an asynchronous
distributed computation's past with depth x, where x≥1 is an integer.
Maintaining matrix clocks correctly in a system of n nodes requires that
everymessage be accompanied by O(nx) numbers, which reflects an exponential
dependency of the complexity of matrix clocks upon the desired depth x. We
introduce a novel type of matrix clock, one that requires only nx numbers to
be attached to each message while maintaining what for many applications may be
the most significant portion of the information that the original matrix clock
carries. In order to illustrate the new clock's applicability, we demonstrate
its use in the monitoring of certain resource-sharing computations