Abstract

Cloud-based storage synchronization and backup services are widely available. Nevertheless, their usability is often rigid and coarse-grained: for example, most services synchronize specific whole directories, but are not able to synchronize a single file in arbitrary locations of the file system hierarchy. One of the reasons is that these services focus on the challenges of data transfer between the local system and the cloud; consequently, they try to simplify the interactions with the local file system and the users’ ways.
We propose using file system name space virtualization to improve the usability of existing cloud-based synchronization and backup services. Our system introduces a layer that decouples the name space view from the actual organization of the local file system. This way, the user sees a fully-functional view of the file system hierarchy with complete, fine-grained control over the cloudified files and their location. On the other side, the cloud service application sees a view specifically adapted to its needs (e.g. with all cloud-related files concentrated in a single directory).
In this paper, we discuss the requirements and architecture of the virtualization layer. Then, we show the mechanisms used to implement prototypes in two widely deployed operating systems (MS Windows and Linux).