This paper discusses the currency management mechanisms used in Deno, a replicated object storage system designed for use in mobile and weakly-connected environments. Deno primarily differs from previous work in implementing an asynchronous weighted-voting scheme via epidemic information flow, and in committing updates in an entirely decentralized fashion, without requiring any server to have complete knowledge of system membership. We first give an overview of Deno, discussing its voting scheme, proxy mechanism, basic API, and commit performance. We then present currency management mechanisms, based on peer-to-peer currency exchanges, that enable light-weight replica creation, retirement, and currency redistribution while maintaining protocol correctness. We also demonstrate that peer-to-peer currency exchanges can be used to exponentially converge to arbitrary target currency distributions, without the need for any server to have global system information.
Ugur Çetintemel, Peter J. Keleher