An implementation of RESTful-based Scalable File System
Witcha Ratinimittum, Krerk Piromsopa · 2012
This paper introduces RFS, a RESTful-based Scalable File System, that allows a machine to use spaces from several web servers as a network drive. Working with multiple computer machines, an external storage is usually a typical medias for synchronizing data across machines. To avoid the inconvenient of carrying devices, we proposed a novel file system, namely RFS, for automatically backing up and synchronizing data among machines. RFS utilizes storage from ubiquitous web servers as data nodes via few PHP scripts. A RFS client uses RESTful APIs to contact each node in the system. Each node, therefore, needs to only support two interfaces, HTTP GET method and HTTP POST method. Each file in the system will be divided into multiple blocks. These blocks are kept on multiple storage nodes in order to leverage available free space and gain more aggregation bandwidth. The proposed system support cache mechanism based on Least Recently Used (LRU) replacement algorithm as well. Performance was evaluated by using iozone file system benchmark. Our prototype (created by python-fuse) shows that our design is robust and powerful enough for general usages.