A tree clock data structure for causal orderings in concurrent executions
dl.acm.org