Multi-Cloud Storage based File Management System, In our daily life, we use cloud storage for backing up our data to minimize the chances of data loss in case of disk corruption or any other hardware failure. Usually, the storage capacity these cloud services provide is not sufficient to store large amounts of data of end-user. This leads the user to make multiple accounts of different cloud services. With a large amount of data stored in multiple locations, data management becomes difficult. Additionally, to replicate critical data, files have to be manually copied to multiple locations. This project proposes a system that manages multiple cloud storage by providing a single platform to users from where they can upload, retrieve and replicate data according to its criticality.
With the advancement of technology, personal devices have become very common and all personal and official data of a user is stored on these personal devices. These personal devices, like all hardware, are prone to failure. Most of us have faced situations where at the time of critical need, our hard disk crashes or our personal devices start to malfunction. If the data was not backed-up then we have to start from scratch. Over recent years, big technology companies like Google, Microsoft and Dropbox have started to provide free public cloud storage services. We use these online storage systems to store our data so that we can access it anywhere, at any time, without having to worry about hardware failure or unavailability of our personal devices. Usually, the storage capacity provided by the cloud services, at free of cost, is not sufficient to store large amount of data of the end user. To store all or most of the important data on cloud storage, the end user makes multiple accounts on different cloud services. Most common cloud storage services include “OneDrive” by Microsoft, “Google Drive” by Google, and “Dropbox” by Dropbox Inc. Each service provides a directory that serves as an interface between the personal device and the cloud storage. All data that is placed in those directories are synced and updated to the cloud storage through the Internet. With large amount of user data distributed manually by the user in multiple directories, data management becomes difficult. A user might have multiple accounts and does not know how much space he is left with in each account, or on which account the specific file is stored. Therefore handling and keeping track of data is a hectic problem. Additionally, for some reason, if a cloud service is down at the time of need of a critical file and the file is not backed-up, we can face severe consequences. In this regard, we propose a system that manages multiple cloud storages by providing a single platform to users from where they can upload, retrieve and replicate data according to its criticality. In this project, we are developing a desktop application which will allow user to store maximum data by efficiently managing the cloud space. End-user will add a number of accounts like “One Drive, “Google Drive”, “DropBox” etc., and through our application interface, the user just have to place files in a single drive folder. It will be the task of our application to look for available spaces and upload it according to placement and memory management algorithms and update the database that will be keeping track of all the files uploaded. If the user tries to upload same file again, the database will inform the user that the file already exists. Based on the criticality of the data file, specified by the user, our application will replicate the data file in multiple clouds, so that if one of the cloud services is down, the file is still accessible through another cloud service.
Motivation and Scope
Unlike a hard disk, we can store a limited amount of data in cloud storage which is mostly comprised of our important documents, files, software, etc. To store more data on the cloud, we have to acquire a number of cloud storage from different service providers. With multiple accounts, it becomes difficult to remember the details like how much space is left in our drives, on which drive a specific file is uploaded, which file is no longer need but is occupying space in the drive, and which critical file needs to be replicated in more than one drives. To provide ease to the users, some web-based applications are providing assistance to perform some of these functionalities, but not all in a single application. Additionally, all of these applications are available as paid products. Our motivation is to develop a desktop application that deals with all of the above-mentioned functionalities in a single interface and provide it to users free of cost. For our project, we will be dealing with three major cloud storages i.e. “One Drive”, “Google Drive” & “DropBox”.
Goals and Objectives
Following are the Goals and Objectives of our project:
- Our basic objective is to facilitate cloud users by tackling the problem of managing numerous cloud resources due to lack of provided storage. As soon as the storage capacity of a cloud resource is full, user needs to have another account to get additional storage for his data. As the number of accounts increases, so does the complexity of managing them. This application will provide an efficient system to manage all those cloud-based accounts.
- To provide the users an efficient platform to manage their cloud resources.
- To minimize the user’s involvement in managing their data to ease them.
- Saving the users from the headache of keeping record of multiple cloud accounts.
- To provide the users a friendly interface to manage their multiple cloud resources from a single place at a same time.
- Our objective is to develop such a free of cost application which will help us in our daily life to save our time
If time permits, we are planning to create iOS and Android-based applications of our product so that the maximum people can get benefit from it.
Tools and Technologies
- We will use Java or C# languages for coding.
- Netbeans IDE will be used for development.
- MySQL database to store the data.
- GUI interface
- MS Visio for UML diagrams