A tree-based algorithm for distributed mutual exclusion (ACM transactions on computer systems, 1989)