IP Library Granted Patent US 10,356,158
Granted Patent B2
US 10,356,158 · App. 15/155,998 · Granted Jul 16, 2019

Systems and methods for aggregation of cloud storage

Inventors: Teo Winton Crofton (Sudbury, MA); David Raissipour (Westborough, MA)
Assignee: Carbonite, Inc.
H04L67/06G06F16/10H04L43/16H04L67/1008H04L67/1095H04L67/1097H04L67/2804H04L43/0817
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,356,158
App. No.
15/155,998
Granted
Jul 16, 2019
Kind
B2
Abstract

The present disclosure describes systems and methods for aggregation and management of cloud storage among a plurality of providers. In a first aspect, the invention is directed to file distribution and management across multiple cloud services via a storage manager. The storage manager may aggregate third-party cloud storage provider accounts into a single cloud storage space and load balance files among the third party-accounts as necessary. In one implementation, the storage manager may act as an intermediary, and files may be transferred by the client to the storage manager, which may select and forward the files to a third-party storage provider. File retrieval may be performed similarly, with the client requesting a file from the intermediary storage manager, which may retrieve the file from the corresponding third-party storage provider and forward the file to the client device.

Claims (60)

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 virtual 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;

receiving, by the storage manager from the client device, metadata, without additional file information, of a file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the file being designated for synchronization by interaction with the virtual folder on the client device;

selecting, by the storage manager, a first cloud storage provider of the cloud storage providers based on the metadata of the file;

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

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 file directly to the first cloud storage provider and avoid using the storage manager as an intermediary for file transfers between the client device and the first cloud storage provider;

subsequently receiving, by the storage manager from the client device, a request for the file through interaction with the virtual folder on the client device;

retrieving, by the storage manager, the metadata of the file stored in the storage device and the identification of the first cloud storage provider, responsive to receipt of the request; and

transmitting, by the storage manager to the client device, the identification of the first cloud storage provider and the metadata of the file, receipt of the identification and the metadata causing the client device to transmit a request for the file directly to the first cloud storage provider.

2. The method of claim 1 , wherein the metadata of the file comprises a directory path for the file in a storage device of the client device, and wherein receipt of the identification of the first cloud storage provider further causes the client device to modify the directory path for the file according to a policy associated with the first cloud storage provider.

3. The method of claim 2 , wherein receipt of the identification of the first cloud storage provider further causes the client device to copy the file from a first directory to a second directory associated with the first cloud storage provider.

4. The method of claim 1 , wherein selecting the first cloud storage provider further comprises comparing a storage level of accounts associated with the client device at each of the plurality of cloud storage providers.

5. The method of claim 4 , further comprising selecting the first cloud storage provider, responsive to a storage level of an account associated with the client device at the first cloud storage provider being below an average storage level of the accounts associated with the client device at each of the plurality of cloud storage providers.

6. The method of claim 4 , further comprising selecting the first cloud storage provider, responsive to determining that an account associated with the client device at a second cloud storage provider has a larger amount of free space than an account associated with the client device at the first cloud storage provider.

7. The method of claim 1 , wherein transmitting the identification of the first cloud storage provider and the metadata of the file further comprises transmitting a command to initiate retrieval of the file from the first cloud storage provider.

8. The method of claim 1 , further comprising:

determining, by the storage manager, that a storage utilization of an account associated with the client device at the first cloud storage provider exceeds a storage capacity threshold;

identifying, by the storage manager, a second cloud storage provider of the plurality of cloud storage providers having an account associated with the client device with a storage utilization under the storage capacity threshold;

responsive to the determination, transmitting, by the storage manager to the client device, the identification of the first cloud storage provider and metadata of at least one file stored at the first cloud storage provider, receipt of the identification of the first cloud storage provider and metadata of the at least one file causing the client device to retrieve the at least one file from the first cloud storage provider; and

transmitting, by the storage manager to the client device, an identification of the second cloud storage provider and metadata of the at least one file, receipt of the identification of the second cloud storage provider and metadata of the at least one file causing the client device to transmit the at least one file to the second cloud storage provider.

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

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

wherein the storage manager is configured for:

displaying at the client device a virtual 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;

receiving, from the client device, metadata, without additional file information, of a file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the file being designated for synchronization by interaction with the virtual folder on the client device;

selecting a first cloud storage provider of the cloud storage providers based on the metadata of the file,

storing, in the metadata storage device, the metadata of the file and an identification of the first cloud storage provider;

transmitting, to the client device, the identification of the first cloud storage provider, receipt of the identification causing the client device to transmit the file directly to the first cloud storage provider and avoid using the storage manager as an intermediary for file transfers between the client device and the first cloud storage provider;

subsequently receiving, from the client device, a request for the file, through interaction with the virtual folder on the client device;

retrieving the metadata of the file and the identification of the first cloud storage provider from the metadata storage device, responsive to receipt of the request; and

transmitting, to the client device, the identification of the first cloud storage provider and the metadata of the file, receipt of the identification and the metadata causing the client device to transmit a request for the file directly to the first cloud storage provider.

10. The system of claim 9 , wherein the metadata of the file comprises a directory path for the file in a storage device of the client device, and wherein receipt of the identification of the first cloud storage provider further causes the client device to modify the directory path for the file according to a policy associated with the first cloud storage provider.

11. The system of claim 10 , wherein receipt of the identification of the first cloud storage provider further causes the client device to copy the file from a first directory to a second directory associated with the first cloud storage provider.

12. The system of claim 9 , wherein the storage manager is further configured for comparing a storage level of accounts associated with the client device at each of the plurality of cloud storage providers.

13. The system of claim 12 , wherein the storage manager is further configured for selecting the first cloud storage provider, responsive to a storage level of an account associated with the client device at the first cloud storage provider being below an average storage level of the accounts associated with the client device at each of the plurality of cloud storage providers.

14. The system of claim 12 , wherein the storage manager is further configured for selecting the first cloud storage provider, responsive to determining that an account associated with the client device at a second cloud storage provider has a larger amount of free space than an account associated with the client device at the first cloud storage provider.

15. The system of claim 9 , wherein the storage manager is further configured for transmitting a command to the client device to initiate retrieval of the file from the first cloud storage provider.

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

determining that a storage utilization of an account associated with the client device at the first cloud storage provider exceeds a storage capacity threshold,

identifying a second cloud storage provider of the plurality of cloud storage providers having an account associated with the client device with a storage utilization under the storage capacity threshold,

responsive to the determination, transmitting, to the client device, the identification of the first cloud storage provider and metadata of at least one file stored at the first cloud storage provider, receipt of the identification of the first cloud storage provider and metadata of the at least one file causing the client device to retrieve the at least one file from the first cloud storage provider; and

transmitting, by the storage manager to the client device, an identification of the second cloud storage provider and metadata of the at least one file, receipt of the identification of the second cloud storage provider and metadata of the at least one file causing the client device to transmit the at least one file to the second cloud storage provider.

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 virtual 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;

transmitting, by the client device to the storage manager executed by a server, metadata, without additional file information, of a file stored at the client device and designated for synchronization with one or more of the cloud storage providers, the file being designated for synchronization by interaction with the virtual folder on the client device;

receiving, by the client device from the storage manager, an identification of a first cloud storage provider of the cloud storage providers, the first cloud storage provider being selected by the storage manager based on the metadata of the file;

transmitting the file, by the client device, directly to the first cloud storage provider for backup without using the storage manager as an intermediary for file transfers between the client device and the first cloud storage provider;

subsequently transmitting, by the client device to the storage manager, a request for the file through interaction with the virtual folder on the client device;

receiving, by the client device from the storage manager, the identification of the first cloud storage provider and the metadata of the file; and

transmitting a request for the file directly to the first cloud storage provider, by the client device, responsive to receipt of the identification and the metadata.

18. The method of claim 17 , wherein transmitting the metadata of the file to the storage manager further comprises transmitting a directory path for the file in a storage device of the client device to the storage manager; and wherein transmitting the file to the first cloud storage provider for backup further comprises modifying the directory path for the file from a first directory to a second directory associated with the first cloud storage provider.

19. The method of claim 18 , further comprising:

receiving the file, by the client device from the first cloud storage provider;

storing the received file, by the client device, in the second directory associated with the first cloud storage provider; and

modifying the directory path for the file from the second directory to the first directory according to the metadata of the file received from the storage manager.

20. The method of claim 17 , further comprising:

receiving, by the client device from the storage manager to the client device, the identification of the first cloud storage provider and metadata of at least one file stored at the first cloud storage provider, transmitted by the storage manager responsive to a determination that a storage utilization of an account associated with the client device at the first cloud storage provider exceeds a storage capacity threshold;

retrieving, by the client device, the at least one file from the first cloud storage provider responsive to the receipt of the identification of the first cloud storage provider and metadata of the at least one file;

receiving, by the client device from the storage manager, metadata of the at least one file and an identification of a second cloud storage provider of the plurality of cloud storage providers selected by the storage manager responsive to having a storage utilization under the storage capacity threshold; and

transmitting, by the client device to the second cloud storage provider, the at least one file for backup.

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 038631/0988 →
Continuity (1)
Related Publication 20170331880A1 · Nov 16, 2017
Cited By (4)
US 12,342,007 US 12,382,148 US 12,406,216 US 12,436,916