IP Library Granted Patent US 11,115,472
Granted Patent B2
US 11,115,472 · App. 16/781,086 · Granted Sep 7, 2021

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,115,472
App. No.
16/781,086
Granted
Sep 7, 2021
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 (56)

1. A method for storing distributed data, comprising:

dividing a set of data into at least a first portion and at least a second portion;

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

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

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 at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;

and wherein each of the at least three different portions is 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 the two or more different storage service providers.

2. The method according to claim 1 , further comprising dividing the set of data in accordance with a criteria.

3. The method according to claim 2 , wherein the criteria is one or more of a format, the sequence or an algorithm.

4. The method according to claim 2 , wherein the criteria is random selection.

5. The method according to claim 2 , wherein the criteria is based on assignment to the first storage service provider or to the second storage service provider.

6. The method according to claim 2 , wherein the criteria is based on a service providers sequence that includes the first storage service provider and the second storage service provider.

7. The method according to claim 6 , wherein the service providers sequence is randomly selected.

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

arranging the at least first portion in a first file;

arranging the at least second portion in a second file;

transmitting the first file to the first storage service provider; and

transmitting the second file to the second storage service provider.

9. The method according to claim 1 , further comprising forming a key file that indicates how the set of data is divided into the at least first portion and the at least second portion.

10. A method for retrieving distributed data, comprising:

receiving a first file from a first storage service provider, the first file previously assembled, at least partly, from a data portion formed from dividing a set of data at a remote terminal to multiple data portions, and with the first file previously uploaded to the first storage service provider;

receiving a second file from a second storage service provider, with the second file previously assembled, at least partly, from another data portion formed from dividing the set of data at the remote terminal, and with the second file previously uploaded to the second storage service provider;

extracting a first portion of a data set from the first file;

extracting a second portion of the data set from the second file; and

reconstructing the data set using the first portion and the second portion;

wherein dividing the set of data at the remote terminal into the multiple data portions comprises:

dividing the set of data at the remote terminal into at least three different portions according to a confidential division technique recorded at the remote terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of at the least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;

and wherein each of the at least three different portions is 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 the two or more different storage service providers.

11. The method according to claim 10 , further comprising reconstructing the data set in accordance with a criteria.

12. The method according to claim 11 , wherein the criteria is one or more of a format, the sequence or an algorithm.

13. The method according to claim 11 , further comprising obtaining the criteria from a key file that indicates how the data set is to be reconstructed.

14. A non-transitory machine-readable storage medium comprising machine-readable instructions configured to be executed by a machine to cause the machine to:

divide a set of data into at least a first portion and at least a second portion;

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

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

receive the at least first portion from the first storage service provider;

receive the at least second portion from the second storage service provider; and

reconstruct the set of data using the first portion and the second portion;

wherein the instructions to cause the machine to divide the set of data into the at least the first portion and the at least the second portion comprise one or more instructions to cause the machine to:

divide the set of data at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;

and wherein each of the at least three different portions is 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 the two or more different storage service providers.

15. The medium according to claim 14 , further comprising instructions to divide or reconstruct the set of data in accordance with a criteria.

16. The medium according to claim 15 , wherein the criteria is one or more of a format, the sequence or an algorithm.

17. The method according to claim 15 , wherein the criteria is based on assignment to the first storage service provider or to the second storage service provider.

18. The method according to claim 15 , wherein the criteria is based on a service providers sequence that includes the first storage service provider and the second storage service provider.

19. The method according to claim 15 , further comprising additional instructions to form a key file that indicates how the set of data is divided into the at least first portion and the at least second portion.

20. A method for implementing a storage policy in a distributed storage arrangement, comprising:

configuring parameters of the storage policy for storage of a file;

receiving an indicia to apply the storage policy to the file;

dividing the file into at least a first portion and at least a second portion in accordance with the storage policy; and

transmitting the at least first portion or the at least second portion to a storage service provider in accordance with the storage policy;

wherein dividing the file into the at least the first portion and the at least the second portion in accordance with the storage policy comprises:

dividing the set of data at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;

and wherein each of the at least three different portions is 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 the two or more different storage service providers.

21. The method of claim 1 , further comprising:

reconstructing at the user terminal the set of data from one or more of the at least three different portions, retrieved from two or more storage service providers, according to the confidential division technique recorded at the user terminal.

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 May 20, 2021
From: SELTZER, CHRIS TIMOTHY
To: JABLOKOV, IGOR
Reel/Frame 056298/0727 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2021
From: JABLOKOV, IGOR RODITIS
To: PRYON INCORPORATED
Reel/Frame 056298/0785 →
Continuity (3)
Continuation 14788618 · Jun 30, 2015
Provisional Application 62018964 · Jun 30, 2014
Related Publication 20200244735A1 · Jul 30, 2020