IP Library Granted Patent US 10,452,320
Granted Patent B2
US 10,452,320 · App. 16/055,352 · Granted Oct 22, 2019

Encrypted data storage and retrieval system

Inventors: David Schoenberger (Marco Island, FL); Timothy Reynolds (Marco Island, FL)
Assignee: Secure Cloud Systems, Inc.
G06F3/0683G06F3/0623G06F3/0647G06F21/00G06F21/602G06F21/6218
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,452,320
App. No.
16/055,352
Granted
Oct 22, 2019
Kind
B2
Abstract

According to one embodiment, a system includes one or more memory units and one or more processors. The processors are configured to receive a plurality of data elements. The processors are also configured to, for a first data element of the plurality of data elements, generate a first token for the first data element, and transmit the first token to a device. The processors are further configured to individually encrypt the first data element, and break the first encrypted data element into a plurality of encrypted data portions including a first encrypted data portion and a second encrypted data portion. The processors are further configured to transmit the first encrypted data portion of the first encrypted data element for storage in a first data storage device, and transmit the second encrypted data portion of the first encrypted data element for storage in a second data storage device.

Claims (113)

1. A system, comprising:

one or more memory units configured to store one or more instructions; and

one or more processors coupled to the memory units and configured, upon executing the one or more instructions, to:

receive a single transmission including a plurality of data elements, each of the plurality of data elements in the single transmission being predefined by a user;

for a first data element of the plurality of data elements:

generate a first token for the first data element;

transmit the first token to a device from which the first data element was received;

individually encrypt the first data element;

break the first encrypted data element into a plurality of encrypted data portions of the first encrypted data element, the plurality of encrypted data portions of the first encrypted data element including a first encrypted data portion of the first encrypted data element and a second encrypted data portion of the first encrypted data element;

transmit the first encrypted data portion of the first encrypted data element for storage in a first data storage device;

transmit the second encrypted data portion of the first encrypted data element for storage in a second data storage device;

receive the first token;

based on the received first token, retrieve an indicator of a location of the first encrypted data portion of the first encrypted data element stored in the first data storage device;

based on the indicator of the location of the first encrypted data portion of the first encrypted data element, retrieve the first encrypted data portion of the first encrypted data element from the first data storage device, and further retrieve an indicator of a location of the second encrypted data portion of the first encrypted data element stored in the second data storage device;

based on the indicator of the location of the second encrypted data portion of the first encrypted data element, retrieve the second encrypted data portion of the first encrypted data element from the second data storage device;

re-assemble the first encrypted data element using the first encrypted data portion of the first encrypted data element and the second encrypted data portion of the first encrypted data element;

decrypt the first encrypted data element; and

transmit the first data element to a device from which the first token was received.

2. A system, comprising:

one or more memory units configured to store one or more instructions; and

one or more processors coupled to the memory units and configured, upon executing the one or more instructions, to:

receive a single transmission including a plurality of data elements, each of the plurality of data elements in the single transmission being predefined by a user;

for a first data element of the plurality of data elements:

generate a first token for the first data element;

transmit the first token to a device from which the first data element was received;

individually encrypt the first data element;

break the first encrypted data element into a plurality of encrypted data portions of the first encrypted data element, the plurality of encrypted data portions of the first encrypted data element including a first encrypted data portion of the first encrypted data element and a second encrypted data portion of the first encrypted data element;

transmit the first encrypted data portion of the first encrypted data element for storage in a first data storage device; and

transmit the second encrypted data portion of the first encrypted data element for storage in a second data storage device.

3. The system of claim 2 , wherein the one or more processors are further configured, upon executing the one or more instructions, to:

for a second data element of the plurality of data elements:

generate a second token for the second data element;

transmit the second token to a device from which the second data element was received;

individually encrypt the second data element; and

transmit the entire second encrypted data element for storage.

4. The system of claim 3 , wherein the one or more processors are further configured, upon executing the one or more instructions, to receive an indication that the second data element is not to be broken up, wherein the entire second encrypted data element is transmitted for storage based on the indication that the second data element is not to be broken up.

5. The system of claim 2 , wherein the one or more processors are further configured, upon executing the one or more instructions, to:

for a second data element of the plurality of data elements:

generate a second token for the second data element;

transmit the second token to a device from which the second data element was received;

individually encrypt the second data element;

break the second encrypted data element into a plurality of encrypted data portions of the second encrypted data element, the plurality of encrypted data portions of the second encrypted data element including a first encrypted data portion of the second encrypted data element and a second encrypted data portion of the second encrypted data element;

transmit the first encrypted data portion of the second encrypted data element for storage in the first data storage device; and

transmit the second encrypted data portion of the second encrypted data element for storage in the second data storage device.

6. The system of claim 2 , wherein the one or more processors are further configured, upon executing the one or more instructions, to receive an indication that the first data element is to be broken up, wherein the first encrypted data element is broken into a plurality of encrypted data portions of the first encrypted data element based on the indication that the first data element is to be broken up.

7. The system of claim 6 , wherein the indication that the first data element is to be broken up comprises an indication that the first data element is a document.

8. The system of claim 2 , wherein the single transmission comprises a single application programming interface (API) protocol transmission.

9. A non-transitory computer readable medium comprising logic configured, when executed by one or more processors, to:

receive a single transmission including a plurality of data elements, each of the plurality of data elements in the single transmission being predefined by a user;

for a first data element of the plurality of data elements:

generate a first token for the first data element;

transmit the first token to a device from which the first data element was received;

individually encrypt the first data element;

break the first encrypted data element into a plurality of encrypted data portions of the first encrypted data element, the plurality of encrypted data portions of the first encrypted data element including a first encrypted data portion of the first encrypted data element and a second encrypted data portion of the first encrypted data element;

transmit the first encrypted data portion of the first encrypted data element for storage in a first data storage device; and

transmit the second encrypted data portion of the first encrypted data element for storage in a second data storage device.

10. The non-transitory computer readable medium of claim 9 , wherein the logic is further configured, when executed by the one or more processors, to:

for a second data element of the plurality of data elements:

generate a second token for the second data element;

transmit the second token to a device from which the second data element was received;

individually encrypt the second data element; and

transmit the entire second encrypted data element for storage.

11. The non-transitory computer readable medium of claim 10 , wherein the logic is further configured, when executed by the one or more processors, to receive an indication that the second data element is not to be broken up, wherein the entire second encrypted data element is transmitted for storage based on the indication that the second data element is not to be broken up.

12. The non-transitory computer readable medium of claim 9 , wherein the logic is further configured, when executed by the one or more processors, to:

for a second data element of the plurality of data elements:

generate a second token for the second data element;

transmit the second token to a device from which the second data element was received;

individually encrypt the second data element;

break the second encrypted data element into a plurality of encrypted data portions of the second encrypted data element, the plurality of encrypted data portions of the second encrypted data element including a first encrypted data portion of the second encrypted data element and a second encrypted data portion of the second encrypted data element;

transmit the first encrypted data portion of the second encrypted data element for storage in the first data storage device; and

transmit the second encrypted data portion of the second encrypted data element for storage in the second data storage device.

13. The non-transitory computer readable medium of claim 9 , wherein the logic is further configured, when executed by the one or more processors, to:

receive the first token;

based on the received first token, retrieve an indicator of a location of the first encrypted data portion of the first encrypted data element stored in the first data storage device;

based on the indicator of the location of the first encrypted data portion of the first encrypted data element, retrieve the first encrypted data portion of the first encrypted data element from the first data storage device, and further retrieve an indicator of a location of the second encrypted data portion of the first encrypted data element stored in the second data storage device;

based on the indicator of the location of the second encrypted data portion of the first encrypted data element, retrieve the second encrypted data portion of the first encrypted data element from the second data storage device;

re-assemble the first encrypted data element using the first encrypted data portion of the first encrypted data element and the second encrypted data portion of the first encrypted data element;

decrypt the first encrypted data element; and

transmit the first data element to a device from which the first token was received.

14. The non-transitory computer readable medium of claim 9 , wherein the logic is further configured, when executed by the one or more processors, to receive an indication that the first data element is to be broken up, wherein the first encrypted data element is broken into a plurality of encrypted data portions of the first encrypted data element based on the indication that the first data element is to be broken up.

15. A method, comprising:

receiving, by one or more processors, a single transmission including a plurality of data elements, each of the plurality of data elements in the single transmission being predefined by a user;

for a first data element of the plurality of data elements:

generating, by the one or more processors, a first token for the first data element;

transmitting, by the one or more processors, the first token to a device from which the first data element was received;

individually encrypting, by the one or more processors, the first data element;

breaking, by the one or more processors, the first encrypted data element into a plurality of encrypted data portions of the first encrypted data element, the plurality of encrypted data portions of the first encrypted data element including a first encrypted data portion of the first encrypted data element and a second encrypted data portion of the first encrypted data element;

transmitting, by the one or more processors, the first encrypted data portion of the first encrypted data element for storage in a first data storage device; and

transmitting, by the one or more processors, the second encrypted data portion of the first encrypted data element for storage in a second data storage device.

16. The method of claim 15 , further comprising:

for a second data element of the plurality of data elements:

generating, by the one or more processors, a second token for the second data element;

transmitting, by the one or more processors, the second token to a device from which the second data element was received;

individually encrypting, by the one or more processors, the second data element; and

transmitting, by the one or more processors, the entire second encrypted data element for storage.

17. The method of claim 16 , further comprising receiving, by the one or more processors, an indication that the second data element is not to be broken up, wherein the entire second encrypted data element is transmitted for storage based on the indication that the second data element is not to be broken up.

18. The method of claim 15 , further comprising:

for a second data element of the plurality of data elements:

generating, by the one or more processors, a second token for the second data element;

transmitting, by the one or more processors, the second token to a device from which the second data element was received;

individually encrypting, by the one or more processors, the second data element;

breaking, by the one or more processors, the second encrypted data element into a plurality of encrypted data portions of the second encrypted data element, the plurality of encrypted data portions of the second encrypted data element including a first encrypted data portion of the second encrypted data element and a second encrypted data portion of the second encrypted data element;

transmitting, by the one or more processors, the first encrypted data portion of the second encrypted data element for storage in the first data storage device; and

transmitting, by the one or more processors, the second encrypted data portion of the second encrypted data element for storage in the second data storage device.

19. The method of claim 15 , further comprising:

receiving, by the one or more processors, the first token;

based on the received first token, retrieving, by the one or more processors, an indicator of a location of the first encrypted data portion of the first encrypted data element stored in the first data storage device;

based on the indicator of the location of the first encrypted data portion of the first encrypted data element, retrieving, by the one or more processors, the first encrypted data portion of the first encrypted data element from the first data storage device, and further retrieving, by the one or more processors, an indicator of a location of the second encrypted data portion of the first encrypted data element stored in the second data storage device;

based on the indicator of the location of the second encrypted data portion of the first encrypted data element, retrieving, by the one or more processors, the second encrypted data portion of the first encrypted data element from the second data storage device;

re-assembling, by the one or more processors, the first encrypted data element using the first encrypted data portion of the first encrypted data element and the second encrypted data portion of the first encrypted data element;

decrypting, by the one or more processors, the first encrypted data element; and

transmitting, by the one or more processors, the first data element to a device from which the first token was received.

20. The method of claim 15 , further comprising receiving, by the one or more processors, an indication that the first data element is to be broken up, wherein the first encrypted data element is broken into a plurality of encrypted data portions of the first encrypted data element based on the indication that the first data element is to be broken up.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2021
From: SECURE CLOUD SYSTEMS, INC.
To: ECLYPSES, INC.
Reel/Frame 057252/0601 →
CERTIFICATE OF CONVERSION Recorded Jun 4, 2019
From: SECURE CLOUD SYSTEMS, LLC
To: SECURE CLOUD SYSTEMS, INC.
Reel/Frame 049368/0793 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: SCHOENBERGER, DAVID; REYNOLDS, TIMOTHY
To: SECURE CLOUD SYSTEMS, LLC
Reel/Frame 048394/0086 →
Continuity (2)
Continuation 14644815 · Mar 11, 2015
Related Publication 20180373464A1 · Dec 27, 2018
Cited By (3)
US 12,317,294 US 12,353,576 US 12,705,378