Optimistic Consistency with Dynamic Version Vector Weighted Voting
João Barreto, Paulo A. V. Ferreira · 2004
Mobile and loosely-coupled environments call for decentralized optimistic replication protocols that provide highly available access to shared objects. A fundamental property of most optimistic protocols is to guarantee an eventual consensus on a commit order among the set of tentatively issued updates. In this paper we propose a replicated object protocol that employs a novel epidemic weighted voting algorithm based on version vectors for achieving such goal. An epidemic voting strategy eliminates the single point of failure of primary commit approaches, while not imposing the simultaneous accessibility of a plurality quorum. Our protocol introduces a significant optimization over basic epidemic weighted voting solutions by allowing multiple-update candidates through the use of version vectors. As a result, it is able to commit multiple, causally related updates at a single distributed election round. Complementarily, we describe how dynamic version maintenance can be easily incorporated into the voting protocol in order to reduce version vector size and avoid the need for complete knowledge of group membership. We demonstrate that our proposed algorithm is especially advantageous when considering realistic, nonuniform update models. We support such assumptions by presenting comparison results obtained from side-by-side execution of reference protocols in a simulated environment.