IP Library › Granted Patent US 12,235,846
Granted Patent B2
US 12,235,846 · App. 18/435,900 · Granted Feb 25, 2025

Systems and methods for secure file management via an aggregation of cloud storage services

Inventors: Teo Winton Crofton (Sudbury, MA); David Raissipour (Westborough, MA)
Assignee: Open Text Inc.
G06F16/2455G06F16/178G06F21/6227H04L67/1095G06F11/1446G06F2201/84
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 12,235,846
App. No.
18/435,900
Filed
Feb 7, 2024
Granted
Feb 25, 2025
Kind
B2
Art Unit
2446
USPC
709/201
Abstract

The present disclosure describes systems and methods for aggregation and management of cloud storage among a plurality of providers via file fragmenting to provide increased reliability and security. In one implementation, fragments or blocks may be distributed among a plurality of cloud storage providers, such that no provider retains a complete copy of a file. Accordingly, even if an individual service is compromised, a malicious actor cannot access the data. In another implementation, fragments may be duplicated and distributed to multiple providers, such that loss of communications to any one provider does not result in inability to access the data. This implementation may be combined with error correction techniques to allow recovery, even with loss of multiple providers. File synchronization may also be faster in these implementations by dividing reading and writing operations among multiple providers.

Claims (48)

1. A method, comprising:

determining a plurality of fragments for a file, the file comprising a first bitstream and the plurality of fragments comprising a second bitstream; and

distributing the plurality of fragments of the file across a plurality of storage providers by: selecting a first storage provider of the plurality of storage providers;

determining a first fragment of the plurality of fragments for storing on the first storage provider of the plurality of storage providers;

initiating storage of the first fragment of the plurality of fragments to the first storage provider;

selecting a second storage provider of the plurality of storage providers;

determining a second fragment of the plurality of fragments for storing on the second storage provider of the plurality of storage providers;

initiating storage of the second fragment of the plurality of fragments to the second storage provider; and

generating an association between the first fragment and the first storage provider and a second association between the second fragment and the second storage provider.

2. The method of claim 1 , wherein the second bitstream is determined by applying a comb filter to the first bitstream.

3. The method of claim 1 , wherein the first bitstream comprises data configured to be read row by row and the second bitstream is determined by reading the data column by column.

4. The method of claim 1 , further comprising determining the file from an interaction at a user device where the file is stored.

5. The method of claim 4 , wherein the interaction is determined based on monitoring of an operating system or monitoring a storage location at the user device.

6. The method of claim 1 , wherein the selection of the first storage provider or the second storage provider is based on a type of the file, the selection of the first storage provider or the second storage provider is random, or the selection of the first storage provider of the second storage provider is based on a recency of access of the file by a user.

7. The method of claim 1 , wherein initiating storage of the first fragment of the plurality of fragments to the first storage provider comprises providing an instruction at a user device where the file is stored, the instruction adapted to cause the storage of the first fragment to the first storage provider.

8. A system for file management in an aggregation of storage providers, comprising:

a processor; and

a non-transitory computer readable medium comprising instructions for:

determining a plurality of fragments for a file, the file comprising a first bitstream and the plurality of fragments comprising a second bitstream; and

distributing the plurality of fragments of the file across a plurality of storage providers by:

selecting a first storage provider of the plurality of storage providers;

determining a first fragment of the plurality of fragments for storing on the first storage provider of the plurality of storage providers;

initiating storage of the first fragment of the plurality of fragments to the first storage provider;

selecting a second storage provider of the plurality of storage providers;

determining a second fragment of the plurality of fragments for storing on the second storage provider of the plurality of storage providers;

initiating storage of the second fragment of the plurality of fragments to the second storage provider; and

generating an association between the first fragment and the first storage provider and a second association between the second fragment and the second storage provider.

9. The system of claim 8 , wherein the second bitstream is determined by applying a comb filter to the first bitstream.

10. The system of claim 8 , wherein the first bitstream comprises data configured to be read row by row and the second bitstream is determined by reading the data column by column.

11. The system of claim 8 , wherein the instructions are further for: determining the file from an interaction at a user device where the file is stored.

12. The system of claim 11 , wherein the interaction is determined based on monitoring of an operating system or monitoring a storage location at the user device.

13. The system of claim 8 , wherein the selection of the first storage provider or the second storage provider is based on a type of the file, the selection of the first storage provider or the second storage provider is random, or the selection of the first storage provider of the second storage provider is based on a recency of access of the file by a user.

14. The system of claim 8 , wherein initiating storage of the first fragment of the plurality of fragments to the first storage provider comprises providing an instruction at a user device where the file is stored, the instruction adapted to cause the storage of the first fragment to the first storage provider.

15. A non-transitory computer readable medium, comprising instructions for:

determining a plurality of fragments for a file, the file comprising a first bitstream and the plurality of fragments comprising a second bitstream; and

distributing the plurality of fragments of the file across a plurality of storage providers by: selecting a first storage provider of the plurality of storage providers;

determining a first fragment of the plurality of fragments for storing on the first storage provider of the plurality of storage providers;

initiating storage of the first fragment of the plurality of fragments to the first storage provider;

selecting a second storage provider of the plurality of storage providers;

determining a second fragment of the plurality of fragments for storing on the second storage provider of the plurality of storage providers;

initiating storage of the second fragment of the plurality of fragments to the second storage provider; and

generating an association between the first fragment and the first storage provider and a second association between the second fragment and the second storage provider.

16. The non-transitory computer readable medium of claim 15 , wherein the second bitstream is determined by applying a comb filter to the first bitstream.

17. The non-transitory computer readable medium of claim 15 , wherein the first bitstream comprises data configured to be read row by row and the second bitstream is determined by reading the data column by column.

18. The non-transitory computer readable medium of claim 15 , wherein the instructions are further for: determining the file from an interaction at a user device where the file is stored.

19. The non-transitory computer readable medium of claim 18 , wherein the interaction is determined based on monitoring of an operating system or monitoring a storage location at the user device.

20. The non-transitory computer readable medium of claim 15 , wherein the selection of the first storage provider or the second storage provider is based on a type of the file, the selection of the first storage provider or the second storage provider is random, or the selection of the first storage provider of the second storage provider is based on a recency of access of the file by a user.

21. The non-transitory computer readable medium of claim 15 , wherein initiating storage of the first fragment of the plurality of fragments to the first storage provider comprises providing an instruction at a user device where the file is stored, the instruction adapted to cause the storage of the first fragment to the first storage provider.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2024
From: CROFTON, TEO WINTON; RAISSIPOUR, DAVID
To: CARBONITE, INC.
Reel/Frame 066827/0244 →
CERTIFICATE OF CONVERSION Recorded Mar 19, 2024
From: CARBONITE, INC.
To: CARBONITE, LLC
Reel/Frame 066832/0779 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Mar 19, 2024
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 066833/0015 →
Continuity (4)
Continuation 18341253 · Jun 26, 2023
Continuation 17377694 · Jul 16, 2021
Continuation 15156014 · May 16, 2016
Related Publication 20240176783A1 · May 30, 2024
References Cited (8)
US 9558202B2 · Lockhart · 2017 [cited by examiner]
US 10917471B1 · Karumbunathan · 2021 [cited by examiner]
US 20130318257A1 · Lee · 2013 [cited by examiner]
US 20140006357A1 · Davis · 2014 [cited by examiner]
US 20240176783A1 · Crofton et al. · 2024 [cited by applicant]
Notice of Allowance issued for U.S. Appl. No. 18/472,999 mailed Jun. 12, 2024, 11 pages. [cited by applicant]
Notice of Allowance issued for U.S. Appl. No. 18/472,999 mailed Oct. 25, 2024, 7 pages. [cited by applicant]
Office Action issued for U.S. Appl. No. 18/068,411 mailed Oct. 28, 2024, 20 pages. [cited by applicant]
Cited By (1)
US 12,684,034