Building Data Structures on Untrusted Peer-to-Peer Storage with Per-participant Logs
Name
MIT-LCS-TR-888.pdf
Size
191.69 KB
Format
Adobe PDF
Checksum (MD5)
41bd9326fcd3c3d3e4f522d535c9e8b5
Author(s) • • •
Chen, Benjie
Gil, Thomer M.
Muthitacharoen, Athicha
Morris, Robert T.
Date Issued
March 2003
Series/Report no.
MIT-LCS-TR-888
Abstract
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.
Persistent DSpace Link