UCS: An Integrated Cloud Storage Service
|關鍵字:||雲端硬碟;網路服務;Service computing;Cloud Storage;Web service|
There are more and more cloud storage services in recent years, these services enable the users to: (1) Upload/Download Files through their browsers from anywhere in the world. (2) Multi-user editing in the browser for certain file types. (3) Single-user editing in the browser. (4) File Preview. For instance, most image files can be previewed on cloud storage providers. (5) Sharing file tree with other users and managing it together. Although the web interfaces of cloud storage providers are quite convenient for users with only one account, it becomes a very tedious task to manage multiple accounts that may be from different providers. This is where cloud storage integration services come in, they provide a single interface to manage multiple cloud storage accounts. However, the story doesn’t end here, there are several issues that these cloud storage integration services do not address. (1) A user still needs to decide which account to upload to, the services do not recommend which account to use. When the accounts are nearly full, it becomes a demanding task to track which account still has enough free quota. Especially when the user has other factors to consider, such as web edit/preview interface, sharing…etc. (2) When an account doesn’t have enough space for a file, user needs to move files around accounts to make space. (3) Each account is treated as a distinct folder by the integration services, it is impossible to have a project folder that contains both a Google document file hosted by the Google Drive and a Microsoft Word file hosted by the OneDrive. (4) When all accounts are nearly full and a user wants to upload a file, the fragmentation problem occurs. The integration services do not chunk the file into pieces to fit the file across multiple accounts. (5) Uploading and moving files across accounts are always performed by the servers. This might become a bottleneck when there are a lot of users uploading files at the same time. Although these integrators could utilize dynamic cloud resources to maintain their QoS, it still results in unnecessary cost. In this thesis, we propose a new architecture for integrating cloud storage services. It includes the following features. (1) A single logical view for files among multiple accounts. The users can put their files wherever they want. (2) A user’s logical view can be shared by other users. (3) Whenever a user uploads a file, our system will decide which account should store the file automatically. If the chosen account does not have enough space for the file, the system will move files into other accounts to make space for the file. (4) The system may chunk some files into pieces and distribute those pieces across multiple accounts when it is necessary. (5) When uploading a file, the file data is sent to the corresponding storage provider directly. Our system does not cache the file data. When moving files among accounts or storage providers, the works are distributed and performed by both our server and the client in parallel.
|Appears in Collections:||Thesis|