“…In addition, several distributed implementations of important primitives such as mutual exclusion (e.g., [22,5,13,28,20]), and binary search (e.g., [11,16,21]) are built using tree structures, and these primitives are employed in a large number of distributed applications. The use of trees in different applications is warranted due to requirements specific to each setting, e.g., some applications map naturally to the tree hierarchy [17], others require the acyclicity of trees for simple protocol design [22,5], and yet others utilize the locality-preserving properties of trees [31].…”