| Cloud computing has changed the ways that people use IT sys-tems. Especially, the "pay-as-you-go" pricing model makes cloud stor-ages widely adopted storage medium for its cheapness, ease of use, and big volume. On the other hand, electronic computing devices are pro-liferating day by day. As a result, multiple devices make personal data distributed all over the world. Traditionally, data boundary is identified by devices. In this case, data replication, backup, synchronization and transfer need manual steps from a third-party medium (e.g. memory sticks, hard drives, etc.). In the appearance of multiple devices, opera-tions in this fashion cannot meet the requirements of fast data exchange and in-time data synchronization. A better approach is required to ease these processes.Cloud based data backup and synchronization utilities can solve this kind of problems in multiple-device environment. However, the current archiving systems typically take a specific cloud service as back-end storage service provider and this vendor lock-in problem can cause a challenge in data migration and even data loss when the cloud service provider ceases to exist.We propose, design, and implement a decentralized framework for automatic data backup and synchronization of client data on differ-ent clouds, which takes cloud storages as main storages with sufficient support to multiple data sources besides cloud storages. It uses thin common interfaces to perform data backup and synchronization with dedicated algorithm to ensure secure storage and sharing. What’s more, it removes deplicated data in a sub-file granularity to essentially save storage space. As a fully decentralized utility, it allows concurrent mod-ifications from different devices with a revision tree model to detect and resolve concurrent update conflicts. The experimental results show that our framework is effective for both backup and synchronization, espe-cially in the monetary cost dimension, thus appropriate to deploy in a working office environment. |