Protocols for dynamic vote reassignment

Voting is used commonly to enforce mutual exclusion in distributed systems. Each node is assigned a number of votes and only the group with a majority of votes is allowed to perform a res t r i c ted opera t ion . This pape r desc r ibes techniques for dynamica l ly reass igning votes upon node or link failure, in an a t tempt to make the system more resilient. Protocols are given which allow nodes to select new vote values autonomously while still main ta in ing mutua l exclus ion r e q u i r e m e n t s . The l e m m a s and theorems to validate the protocols are presented, along wi th p roof of cor rec tness . A s imple example shows how to apply the method to a database object-locking scheme; the protocols, however, are versatile and can be used for any application requiring mutua l exclusion. Also included is a b r ie f d iscuss ion of s imu la t i on results.