IP Library Granted Patent US 11,388,236
Granted Patent B2
US 11,388,236 · App. 17/463,795 · Granted Jul 12, 2022

Distributed cloud file storage

Inventors: Chris Timothy Seltzer (Bessemer, PA); Igor Jablokov (Raleigh, NC)
Assignee: Pryon Incorporated
H04L67/1097
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 11,388,236
App. No.
17/463,795
Granted
Jul 12, 2022
Kind
B2
Abstract

Distributed cloud-based data storage divides a file for storage into a number of portions that are separately stored with two or more storage service providers. The division and/or transmission of the file may be implemented based on arbitrary criteria, including random selection, an applied storage policy or assignment of a given portion to a corresponding storage service provider as examples. One or more portions of the file may be assembled into an upload file that is transmitted to and received from a storage provider. The portions of the file received from the storage provider may be used to reconstruct the file.

Claims (53)

1. A method for distributing and reconstructing data, comprising:

dividing, at a first time instance, a set of data at a user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;

transmitting the at least first portion to a first remote storage service provider;

transmitting the at least second portion to a second remote storage service provider;

retrieving at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider; and

reconstructing the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;

wherein dividing the set of data into the at least the first portion and the at least the second portion comprises:

dividing the set of data into at least three different portions, each of the at least three different portions being smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of two or more different storage service providers.

2. The method according to claim 1 , wherein dividing the set of data comprises:

dividing the set of data into the at least first portion and the at least the second portion according to the confidential division information maintained recorded at the user terminal, wherein the confidential division information specifies one or more of: a sequence for assigning different parts of the set of data to each of the at least first portion and the at least second portion, two or more different storage service providers to respectively send the at least first portion and the at least second portion, or data format for the at least first data portion and the at least second data portion.

3. The method according to claim 1 , further comprising:

randomly selecting the first and second remote storage service providers from a plurality of remote storage service providers.

4. The method according to claim 1 , wherein retrieving comprises retrieving, from the two or more different remote storage service providers, a plurality of retrieved data portions fewer than the at least three different portions resulting from diving the set of data at the user terminal;

and wherein reconstructing the set of data comprises reconstructing the set of data at the user terminal, according to the confidential division information maintained at the user terminal, from the plurality of retrieved data portions from the two or more different remote storage service providers.

5. The method according to claim 1 , wherein dividing the set of data into at least the first portion and at least the second portion comprises:

dividing the set of data according to a confidential sequence of providers maintained at the user terminal.

6. The method according to claim 1 , further comprising:

encrypting the divided at least first data portion and the at least second data portion prior to transmitting the at least first data portion and the at least second data portion.

7. The method according to claim 6 , wherein the encrypted at least first data portion is stored at the first remote storage service provider without being decrypted, and wherein the encrypted at least second data portion is stored at the second remote storage service provider without being decrypted.

8. The method according to claim 1 , further comprising:

determining, from a plurality of remote storage services providers, the first remote storage service provider and the second remote storage service provider according to storage policy.

9. The method according to claim 8 , wherein the storage policy specifies one or more of: desired geographic jurisdiction for the first and second remote storage services providers, desired cost of storing data, reachability of providers through a network having certain characteristics, or desired level of data storage redundancy.

10. A system comprising:

a plurality of processor-based remote storage service providers, each including a respective storage device; and

a user terminal comprising a processor-based device coupled to a local storage device, the user terminal configured to:

divide, at a first time instance, a set of data stored at the local storage device at the user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;

transmit the at least first portion to a first remote storage service provider from the plurality of processor-based remote storage service providers;

transmit the at least second portion to a second remote storage service provider from the plurality of processor-based remote storage service providers;

retrieve at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider; and

reconstruct the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;

wherein the user terminal configured to divide the set of data into at least the first portion and at least the second portion is configured to:

divide the set of data into at least three different portions, each of the at least three different portions being smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of two or more different storage service providers.

11. The system according to claim 10 , wherein the user terminal configured to divide the set of data is configured to:

divide the set of data into the at least first portion and the at least the second portion according to the confidential division information maintained at the user terminal, wherein the confidential division information specifies one or more of: a sequence for assigning different parts of the set of data to each of the at least first portion and the at least second portion, two or more different storage service providers to respectively send the at least first portion and the at least second portion, or data format for the at least first data portion and the at least second data portion.

12. The system according to claim 10 , wherein the user terminal is further configured to:

randomly select the first and second remote storage service providers from a plurality of remote storage service providers.

13. The system according to claim 10 , wherein the user terminal configured to retrieve is configured to retrieve, from the two or more remote storage service providers, a plurality of retrieved data portions fewer than the at least three different portions resulting from diving the set of data at the user terminal;

and wherein the user terminal configured to reconstruct the set of data is configured to reconstruct the set of data at the user terminal, according to the confidential division information maintained at the user terminal, from the plurality of retrieved data portions from the two or more remote storage service providers.

14. The system according to claim 10 , wherein the user terminal configured to divide the set of data into at least the first portion and at least the second portion is configured to:

divide the set of data according to a confidential sequence of providers maintained at the user terminal.

15. The system according to claim 10 , wherein the user terminal is further configured to:

encrypt the divided at least first data portion and the at least second data portion prior to transmitting the at least first data portion and the at least second data portion.

16. The system according to claim 15 , wherein the encrypted at least first data portion is stored at the first remote storage service provider without being decrypted, and wherein the encrypted at least second data portion is stored at the second remote storage service provider without being decrypted.

17. The system according to claim 10 , wherein the user terminal is further configured to:

determine, from a plurality of remote storage services providers, the first remote storage service provider and the second remote storage service provider according to storage policy, wherein the storage policy specifies one or more of: desired geographic jurisdiction for the first and second remote storage services providers, desired cost of storing data, reachability of providers through a network having certain characteristics, or desired level of data storage redundancy.

18. A non-transitory computer readable media programmed with instructions, executable on one or more processors of a computing system, to:

divide, at a first time instance, a set of data at a user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;

transmit the at least first portion to a first remote storage service provider;

transmit the at least second portion to a second remote storage service provider;

retrieve at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider; and

reconstruct the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;

wherein the instructions to divide the set of data into the at least the first portion and the at least the second portion include one or more instructions, executable on the one or more processors of the computing system, to:

divide the set of data into at least three different portions, each of the at least three different portions being smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of two or more different storage service providers.

Assignments (3)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 31, 2025
From: PRYON INCORPORATED
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 073438/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: SELTZER, CHRIS TIMOTHY
To: JABLOKOV, IGOR
Reel/Frame 057354/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: JABLOKOV, IGOR RODITIS
To: PRYON INCORPORATED
Reel/Frame 057354/0850 →
Continuity (4)
Continuation 16781086 · Feb 4, 2020
Continuation 14788618 · Jun 30, 2015
Provisional Application 62018964 · Jun 30, 2014
Related Publication 20210400111A1 · Dec 23, 2021