This document discusses different types of voting protocols used in distributed systems: Static voting protocols proposed by Gifford achieve consensus by replicating data across multiple sites and obtaining the data from other copies if the original fails. Majority-based dynamic voting protocols proposed by Jajodia and Mutchler use version numbers, number of replicas updated, and distinguished site lists to determine consensus. Group-based voting mechanisms proposed by Agarwal and Jalote divide sites into intersecting groups to reduce communication costs when initiating operations.