ViewBox: Integrating Local File Systems with Cloud Storage Services
Andrea C. Arpaci-Dusseau,
Remzi H. Arpaci-Dusseau,
Department of Computer Sciences,
*Also affiliated with Network Appliance, Inc.
Cloud-based file synchronization services have become enormously popular in
recent years, both for their ability to synchronize files across multiple
clients and for the automatic cloud backups they provide. However, despite the
excellent reliability that the cloud back-end provides, the loose coupling of
these services and the local file system makes synchronized data more vulnerable
than users might believe. Local corruption may be propagated to the cloud,
polluting all copies on other devices, and a crash or untimely shutdown may lead
to inconsistency between a local file and its cloud copy. Even without these
failures, these services cannot provide causal consistency.
To address these problems, we present ViewBox, an integrated synchronization
service and local file system that provides freedom from data corruption and
inconsistency. ViewBox detects these problems using ext4-cksum, a modified
version of ext4, and recovers from them using a user-level daemon, cloud helper,
to fetch correct data from the cloud. To provide a stable basis for recovery,
ViewBox employs the view manager on top of ext4-cksum. The view manager creates
and exposes views, consistent in-memory snapshots of the file system, which the
synchronization client then uploads. Our experiments show that ViewBox detects
and recovers from both corruption and inconsistency, while incurring minimal overhead.