IP Library Granted Patent US 10,404,798
Granted Patent B2
US 10,404,798 · App. 15/156,042 · Granted Sep 3, 2019

Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services

Inventors: Teo Winton Crofton (Sudbury, MA); David Raissipour (Westborough, MA)
Assignee: Carbonite, Inc.
H04L67/1097H04L67/06H04L67/1095
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,404,798
App. No.
15/156,042
Granted
Sep 3, 2019
Kind
B2
Abstract

The present disclosure describes systems and methods for aggregation and management of cloud storage to leverage third-party storage policies. Some cloud storage providers may allow users to store some types of files for free, without counting the files against a storage quota or limit, such as photos. Other providers may allow users to store music files, and may automatically replace lower quality recordings with high quality versions (improving quality for the user while performing deduplication and storage mitigation by the server). These policies may be utilized by a storage manager to direct corresponding types of files to specific storage providers to take advantage of free storage or further processing. The files may be excluded from load balancing algorithms, such that storage quotas are not unbalanced as a result of policies of one provider.

Claims (61)

1. A method for aggregation of a plurality of cloud storage locations for a client device in communication with a storage manager through a network, comprising:

displaying at the client device a single virtual aggregated folder that includes subfolders of stored items that are synchronized with corresponding stored items in respective storage locations of a plurality of cloud storage providers in communication with the client device through the network, the subfolders being displayed in a manner unrelated to the respective storage locations of the cloud storage providers;

receiving, by the storage manager from the client device, metadata of a first file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the first file being designated for synchronization by interaction with the single virtual aggregated folder on the client device, the metadata identifying the first file as being a first type of file;

identifying, by the storage manager, a first cloud storage provider of a plurality of cloud storage providers based on the first cloud storage provider providing enhanced file processing performed by the first cloud storage provider on files matching the first type of file, relative to file processing provided by others of the cloud storage providers on files matching the first type of file, wherein the file processing performed by the first cloud storage provider alters the first file;

selecting, by the storage manager, an account associated with the client device at the first cloud storage provider of the plurality of cloud storage providers based on the metadata of the first file;

storing, by the storage manager, the metadata of the first file and an identification of the selected account in a storage device associated with the storage manager; and

transmitting, by the storage manager to the client device, the identification of the selected account, receipt of the identification causing the client device to transmit the first file to the first cloud storage provider.

2. The method of claim 1 , wherein the file processing performed by the first cloud storage provider alters the metadata of the first file to generate altered metadata, and wherein the method further comprises:

transmitting, by the first cloud provider, the altered metadata to the client device; and

deleting, by the first cloud provider, the first file and the altered metadata; and

transmitting, by the client device, the first file and the altered metadata to a second cloud provider.

3. The method of claim 1 , further comprising:

identifying, by the storage manager, a second file associated with the client device and stored at a second cloud storage provider of the plurality of cloud storage providers, the second file being of the first type of file; and

transferring, by the storage manager, the second file from the second cloud storage provider to the first cloud storage provider, responsive to the file processing performed by the first cloud storage provider matching the first type of file.

4. The method of claim 3 , wherein transferring the second file from the second cloud storage provider to the first cloud storage provider further comprises:

transmitting, by the storage manager to the client device, an identification of an account at the second cloud storage provider associated with the client device and metadata of the second file, receipt of the identification causing the client device to retrieve the second file from the second cloud storage provider; and

transmitting, by the storage manager to the client device, the identification of the selected account at the first cloud storage provider and metadata of the second file, receipt of the identification causing the client device to transmit the second file to the first cloud storage provider.

5. The method of claim 3 , further comprising identifying, by the storage manager, that an account associated with the client device at the second cloud storage provider is above a data storage threshold; and wherein transferring the second file from the second cloud storage provider to the first cloud storage provider is performed responsive to the identification.

6. The method of claim 1 , wherein the first type of file is an audio file or an image file.

7. The method of claim 6 , wherein the file processing performed by the first cloud storage provider comprises replacing low bitrate audio files with corresponding high bitrate audio files.

8. The method of claim 1 , further comprising:

calculating, by the storage manager, an aggregated amount of storage of accounts associated with the client device at the plurality of cloud storage providers;

identifying, by the storage manager, a first total data size of files of the client device designated for synchronization;

identifying, by the storage manager, a second total data size of files of the client device of the first type of file designated for synchronization; and

transmitting, by the storage manager to the client device, an available storage amount comprising the aggregated amount of storage minus a difference between the first total data size and the second total data size.

9. A system for aggregation of a plurality of cloud storage locations, comprising:

a server, n communication with a client device, comprising a processor executing a storage manager and a metadata storage device,

wherein the storage manager s configured for:

displaying at the client device a single virtual aggregated folder that includes subfolders of stored items that are synchronized with corresponding stored items in respective storage locations of a plurality of cloud storage providers in communication with the client device through a network, the subfolders being displayed in a manner unrelated to the respective storage locations of the cloud storage providers;

receiving, from the client device, metadata of a first file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the first file being designated for synchronization by interaction with the single virtual aggregated folder on the client device, the metadata identifying the first file as being a first type of file;

identifying a first cloud storage provider of a plurality of cloud storage providers based on the first could storage provider providing enhanced file processing performed by the first cloud storage provider on files matching the first type of file, relative to file processing provided by others of the cloud storage providers on files matching the first type of file, wherein the file processing performed by the first cloud storage provider alters the first file; selecting an account associated with the client device at the first cloud storage provider of the plurality of cloud storage providers; storing the metadata of the first file and an identification of the selected account in a storage device associated with the storage manager; and transmitting, to the client device, the identification of the selected account, receipt of the identification causing the client device to transmit the first file to the first cloud storage provider.

10. The system of claim 9 , wherein the file processing performed by the first cloud storage provider alters the metadata of the first file to generate altered metadata, and wherein the method further comprises:

transmitting, by the first cloud provider, the altered metadata to the client device; and

deleting, by the first cloud provider, the first file and the altered metadata; and

transmitting, by the client device, the first file and the altered metadata to a second cloud provider.

11. The system of claim 9 , wherein the storage manager is further configured for:

identifying a second file associated with the client device and stored at a second cloud storage provider of the plurality of cloud storage providers, the second file of the first type of file; and

transferring the second file from the second cloud storage provider to the first cloud storage provider, responsive to the file processing performed by the first cloud storage provider matching the first type of file.

12. The system of claim 11 , wherein the storage manager is further configured for:

transmitting, to the client device, an identification of an account at the second cloud storage provider associated with the client device and metadata of the second file, receipt of the identification causing the client device to retrieve the second file from the second cloud storage provider; and

transmitting, to the client device, the identification of the selected account at the first cloud storage provider and metadata of the second file, receipt of the identification causing the client device to transmit the second file to the first cloud storage provider.

13. The system of claim 11 , wherein the storage manager is further configured for:

identifying that an account associated with the client device at the second cloud storage provider is above a data storage threshold; and

transferring the second file from the second cloud storage provider to the first cloud storage provider, responsive to the identification.

14. The system of claim 9 , wherein the first type of file is an audio file or an image file.

15. The system of claim 14 , wherein the file processing performed by the first cloud storage provider comprises replacing low bitrate audio files with corresponding high bitrate audio files.

16. The system of claim 9 , wherein the storage manager is further configured for:

calculating an aggregated amount of storage of accounts associated with the client device at the plurality of cloud storage providers;

identifying a first total data size of files of the client device designated for synchronization;

identifying a second total data size of files of the client device of the first type of file designated for synchronization; and

transmitting, to the client device, an available storage amount comprising the aggregated amount of storage minus a difference between the first total data size and the second total data size.

17. A method for aggregation of a plurality of cloud storage locations for a client device in communication with a storage manager through a network, comprising:

displaying at the client device a single virtual aggregated folder that includes subfolders of stored items that are synchronized with corresponding stored items in respective storage locations of a plurality of cloud storage providers in communication with the client device through the network, the subfolders being displayed in a manner unrelated to the respective storage locations of the cloud storage providers;

receiving, by the storage manager from the client device, identification of a first file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the first file being designated for synchronization by interaction with the single virtual aggregated folder on the client device, the identification identifying the first file as being a first type of file; identifying, by the storage manager, a first cloud storage provider of a plurality of cloud storage providers based the first cloud storage provider providing enhanced file processing performed by the first cloud storage provider on files matching the first type of file relative to file processing provided by others of the cloud storage providers on files matching the first type of file, wherein the file processing performed by the first cloud storage provider alters the first file;

storing, by the storage manager, an identification of the first cloud storage provider in a storage device associated with the storage manager; and

transmitting, by the storage manager to the client device, the identification of the first cloud storage provider, receipt of the identification causing the client device to transmit the first file to the first cloud storage provider.

18. The method of claim 17 , further comprising:

identifying, by the storage manager, a second file associated with the client device and stored at a second cloud storage provider of the plurality of cloud storage providers, the second file being of the first type of file; and

transferring, by the storage manager, the second file from the second cloud storage provider to the first cloud storage provider, responsive to the file processing performed by the first cloud storage provider matching the first type of file.

19. The method of claim 18 , further comprising identifying, by the storage manager, that an account associated with the client device at the second cloud storage provider is above a data storage threshold; and wherein transferring the second file from the second cloud storage provider to the first cloud storage provider is performed responsive to the identification.

20. The method of claim 17 , wherein the file processing performed by the first cloud storage provider comprises replacing low bitrate audio files with corresponding high bitrate audio files.

Assignments (7)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Oct 12, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 065222/0310 →
CERTIFICATE OF CONVERSION Recorded Oct 12, 2023
From: CARBONITE, INC.
To: CARBONITE, LLC
Reel/Frame 065222/0303 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0374 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: CARBONITE, INC.
Reel/Frame 051418/0807 →
SECURITY INTEREST Recorded Mar 28, 2019
From: CARBONITE, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0374 →
TERMINATION OF PATENT SECURITY AGREEMENT FILED AT R/F 045640/0335 Recorded Mar 26, 2019
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: CARBONITE, INC.
Reel/Frame 048702/0929 →
SECURITY INTEREST Recorded Mar 19, 2018
From: CARBONITE, INC.
To: SILICON VALLEY BANK
Reel/Frame 045640/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: CROFTON, TEO WINTON; RAISSIPOUR, DAVID
To: CARBONITE, INC.
Reel/Frame 038632/0148 →
Continuity (1)
Related Publication 20170331893A1 · Nov 16, 2017
Cited By (4)
US 12,342,007 US 12,382,148 US 12,436,916 US 12,684,034