• A process does not request permission from all other processes, but only from a subset of the processes

  • Optimization
    • $K \approx \sqrt{N}$, where $N = K(K-1) + 1$
    • Voting set
      • derive $V_i$ so that $|V_i| \approx 2\sqrt N - 1$
      • Place processes in a $\sqrt N \times \sqrt N$ matrix
  • Satisfy ME1
  • Extension for satisfying ME2 and ME3
    • Modification to ensure absence of deadlocks
    • Use of logical clocks: processes queue requests in happened-before order
  • Performance
    • Bandwidth
      • $2\sqrt N$ per entry, $\sqrt N$ per exit, total $3\sqrt N$
      • Better than Ricart and Agrawala (for $N > 4$)
    • Client Delay
      • One roundtrip time