Systems and methods for aggregation of cloud storage
The present disclosure describes systems and methods for aggregation and management of cloud storage among a plurality of providers. According to one aspect, a computer-implemented method includes providing an aggregated folder at a client computer, the aggregated folder aggregating the contents of a plurality of folders, each of the plurality of folders used for synchronization with a respective one of a plurality of cloud storage providers; identifying a new file for synchronization; determining a first cloud storage provider from the plurality of cloud storage providers to which to store at least a portion of the new file; storing the at least a portion of the new file in a first folder from the plurality of folders, the first folder for synchronization with the first cloud storage provider from the plurality of cloud storage providers; and adding the new file to the aggregated folder.
1 . A computer-implemented method comprising:
providing an aggregated folder at a client computer, the aggregated folder aggregating the contents of a plurality of folders from a directory structure of the client computer, the plurality of folders comprising folders for synchronization with different ones of a plurality of cloud storage providers using different accounts;
identifying, at the client computer, a new file for synchronization;
determining a first cloud storage provider from the plurality of cloud storage providers to which to store at least a portion of the new file;
based on determining the first cloud storage provider to which to store the at least a portion of the new file, storing the at least a portion of the new file in a first folder from the plurality of folders at the client computer, wherein the first folder is used for synchronization with the first cloud storage provider from the plurality of cloud storage providers; and
adding the new file to the aggregated folder at the client computer.
2 . The computer-implemented method of claim 1 , wherein adding the new file to the aggregated folder comprises adding a symlink to the new file to the aggregated folder.
3 . The computer-implemented method of claim 1 , wherein adding the new file to the aggregated folder comprises adding a shadow copy of the new file to the aggregated folder.
4 . The computer-implemented method of claim 1 , further comprising hiding the plurality of folders.
5 . The computer-implemented method of claim 1 , further comprising automatically load balancing between the first cloud storage provider and a second cloud storage provider by automatically moving the at least the portion of the new file from the first folder to a second folder of the plurality of folders at the client computer.
6 . The computer-implemented method of claim 1 , further comprising automatically moving the at least the portion of the new file from the first folder to a second folder of the plurality of folders to free up space at the first cloud storage provider and a second cloud storage provider.
7 . The computer-implemented method of claim 1 , further comprising fragmenting the new file and storing a first portion of the new file in the first folder and a second portion of the new file in a second folder, the second folder for synchronization with a second cloud storage provider from the plurality of cloud storage providers.
8 . The computer-implemented method of claim 1 , further comprising copying the contents of the plurality of folders to the aggregated folder.
9 . The computer-implemented method of claim 1 , wherein the aggregated folder includes symlinks to the contents of the plurality of folders.
10 . The computer-implemented method of claim 1 , wherein the aggregated folder includes shadow copies of the contents of the plurality of folders.
11 . A computer program product comprising a non-transitory, computer-readable medium storing thereon a set of computer-executable instructions, the set of computer executable instructions comprising instructions for:
providing an aggregated folder at a client computer, the aggregated folder aggregating the contents of a plurality of folders from a directory structure of the client computer, the plurality of folders comprising folders used for synchronization with different ones of a plurality of cloud storage providers using different accounts;
identifying, at the client computer, a new file for synchronization;
determining a first cloud storage provider from the plurality of cloud storage providers to which to store at least a portion of the new file;
based on determining the first cloud storage provider to which to store the at least a portion of the new file, storing the at least a portion of the new file in a first folder from the plurality of folders at the client computer, wherein the first folder is used for synchronization with the first cloud storage provider from the plurality of cloud storage providers; and
adding the new file to the aggregated folder at the client computer.
12 . The computer program product of claim 11 , wherein adding the new file to the aggregated folder comprises adding a symlink to the new file to the aggregated folder.
13 . The computer program product of claim 11 , wherein adding the new file to the aggregated folder comprises adding a shadow copy of the new file to the aggregated folder.
14 . The computer program product of claim 11 , wherein the plurality of folders are hidden folders.
15 . The computer program product of claim 11 , wherein the set of computer-executable instructions further comprises instructions for moving the at least the portion of the new file from the first folder to a second folder of the plurality of folders to load balance between the first cloud storage provider and a second cloud storage provider.
16 . The computer program product of claim 11 , wherein the set of computer-executable instructions further comprises instructions for automatically moving the at least the portion of the new file from the first folder to a second folder of the plurality of folders to free up space at the first cloud storage provider and a second cloud storage provider.
17 . The computer program product of claim 11 , wherein the set of computer-executable instructions further comprises instructions for fragmenting the new file and storing a first portion of the new file in the first folder and a second portion of the new file in a second folder, the second folder for synchronization with a second cloud storage provider from the plurality of cloud storage providers.
18 . The computer program product of claim 11 , wherein the set of computer-executable instructions further comprises instructions for copying the contents of the plurality of folders to the aggregated folder.
19 . The computer program product of claim 11 , wherein the aggregated folder includes symlinks to the contents of the plurality of folders.
20 . The computer program product of claim 11 , wherein the aggregated folder includes shadow copies of the contents of the plurality of folders.