Interval Tree Clocks
A Logical Clock for Dynamic Systems
Paulo Sérgio Almeida4
, Carlos Baquero4
and Victor Fonte4 
| (4) |
DI/CCTC, Universidade do Minho, Largo do Paço, 4709 Braga Codex, Portugal |
Abstract
Causality tracking mechanisms, such as vector clocks and version vectors, rely on mappings from globally unique identifiers
to integer counters. In a system with a well known set of entities these ids can be preconfigured and given distinct positions
in a vector or distinct names in a mapping. Id management is more problematic in dynamic systems, with large and highly variable
number of entities, being worsened when network partitions occur. Present solutions for causality tracking are not appropriate
to these increasingly common scenarios. In this paper we introduce Interval Tree Clocks, a novel causality tracking mechanism that can be used in scenarios with a dynamic number of entities, allowing a completely
decentralized creation of processes/replicas without need for global identifiers or global coordination. The mechanism has
a variable size representation that adapts automatically to the number of existing entities, growing or shrinking appropriately.
The representation is so compact that the mechanism can even be considered for scenarios with a fixed number of entities,
which makes it a general substitute for vector clocks and version vectors.
Keywords Causality - logical clock - version vectors - vector clocks - dynamic systems
References secured to subscribers.