Building Data Structures on Untrusted Peer-to-Peer Storage with Per-participant Logs
Author(s)
Chen, Benjie; Gil, Thomer M.; Muthitacharoen, Athicha; Morris, Robert T.
DownloadMIT-LCS-TR-888.pdf (191.6Kb)
Metadata
Show full item recordAbstract
L* is a technique for building multi-user distributed data structures out of untrusted peer-to-peer distributed hash tables (DHTs). L* uses multiple logs, one log per participant, to store changes to the data structure. Each participant finds data by consulting all logs, but performs modifications by appending only to its own log. This dencentralized structure allows L* to maintain meta-data consistency without locking and to isolate users' changes from each other, an appropriate arrangement for unreliable users. Applications use L* to maintain consistent data structures. L* interleaves multiple logs deterministically so that decentralized clients can agree on the order of completed operations, even if those operations where issued concurrently. When the data structure is quiescent, L* guarantees that clients agree on the state of the data structure. L* optionally provides mutual exclusion for applications that need to ensure atomicity for multi-step operations. The Ivy file system, built on top of L*, demonstrates that L*'s consistency guarantees are useful and can be used and implemented efficiently.
Date issued
2003-03Series/Report no.
MIT-LCS-TR-888