IP Library Granted Patent US 10,509,771
Granted Patent B2
US 10,509,771 · App. 16/455,655 · Granted Dec 17, 2019

System and method for data storage, transfer, synchronization, and security using recursive encoding

Inventors: Joshua Cooper (Columbia, SC); Aliasghar Riahi (Orinda, CA); Mojgan Haddad (Orinda, CA); Ryan Kourosh Riahi (Orinda, CA); Razmin Riahi (Orinda, CA); Charles Yeomans (Orinda, CA)
Assignee: AtomBeam Technologies Inc.
G06F16/1752G06F3/067G06F3/0608G06F3/0641
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,509,771
App. No.
16/455,655
Filed
Jun 27, 2019
Granted
Dec 17, 2019
Kind
B2
Art Unit
2136
USPC
711/114
Abstract

A system and method for data storage, transfer, synchronization, and security using recursive encoding, wherein data is deconstructed into chunklets, and is processed through a series of reference code libraries that reduce the data to a sequence of reference codes, and where the output of each reference library is used as the input to the next.

Claims (39)

1. A system for storing, retrieving, and transmitting data in a highly compact format, comprising:

a computing device comprising a processor, a memory, and a first plurality of programming instructions;

a plurality of reference code libraries stored in the memory of the computing device, wherein a first reference code library comprises data chunklets and reference codes to the data chunklets, and each subsequent reference code library comprises groups of reference codes from the previous reference code library and new reference codes to those groups of references codes from the previous reference code library; and

a recursive deconstruction engine comprising a second plurality of programming instructions stored in the memory and operable on the processor, wherein the programming instructions, when operating on the processor, cause the processor to:

receive data;

deconstruct the data into a plurality of data chunklets;

encode the data using the first reference code library by:

retrieving the reference code for each chunklet from the first reference code library; and

where there is no reference code for a given chunklet, creating a new reference code, and storing the chunklet and its newly-created reference code in the first reference code library; and

recursively encode the data using each subsequent reference code library by:

retrieving the reference code in a current reference code library for each group of reference codes corresponding to the data from the previous library; and

where there is no reference code for a given group of reference codes corresponding to the data in the current reference code library, creating a new reference code, and storing the group of reference codes from the previous reference code library and its newly-created reference code in the current reference code library; and

storing the reference codes corresponding to the data from the last subsequent reference code library used to encode the data; and

a recursive reconstruction engine comprising a plurality of programming instructions stored in the memory and operable on the processor, wherein the programming instructions, when operating on the processor, cause the processor to:

retrieve the stored reference codes corresponding to the data;

recursively decode the data using each previous reference code library by:

retrieving, from the current code library, the group of reference codes for each reference code corresponding to the data in the current code library;

using the groups of reference codes from the current reference code library to decode groups of reference codes using the previous reference code library; and

repeating the decoding process at each previous reference code library until the chunklets corresponding to the data are decoded using the first reference code library; and

assembling the chunklets to reconstruct the data.

2. The system of claim 1 , wherein the data to be recursively encoded comprises one or more reference code libraries.

3. A method for storing, retrieving, and transmitting data in a highly compact format, comprising the steps of:

storing a plurality of reference code libraries, wherein a first reference code library comprises data chunklets and reference codes to the data chunklets, and each subsequent reference code library comprises groups of reference codes from the previous reference code library and new reference codes to those groups of references codes from the previous reference code library; and

receiving data;

deconstructing the data into a plurality of data chunklets;

encoding the data using the first reference code library by:

retrieving the reference code for each chunklet from the first reference code library; and

where there is no reference code for a given chunklet, creating a new reference code, and storing the chunklet and its newly-created reference code in the first reference code library; and

recursively encoding the data using each subsequent reference code library by:

retrieving the reference code in a current reference code library for each group of reference codes corresponding to the data from the previous library; and

where there is no reference code for a given group of reference codes corresponding to the data in the current reference code library, creating a new reference code, and storing the group of reference codes from the previous reference code library and its newly-created reference code in the current reference code library; and

storing the reference codes corresponding to the data from the last subsequent reference code library used to encode the data; and

retrieving the stored reference codes corresponding to the data;

recursively decoding the data using each previous reference code library by:

retrieving, from the current code library, the group of reference codes for each reference code corresponding to the data in the current code library;

using the groups of reference codes from the current reference code library to decode groups of reference codes using the previous reference code library; and

repeating the decoding process at each previous reference code library until the chunklets corresponding to the data are decoded using the first reference code library; and

assembling the chunklets to reconstruct the data.

4. The method of claim 3 , wherein the data to be recursively encoded comprises one or more reference code libraries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: COOPER, JOSHUA; RIAHI, ALIASGHAR; HADDAD, MOJGAN; RIAHI, RYAN KOUROSH; RIAHI, RAZMIN; YEOMANS, CHARLES
To: ATOMBEAM TECHNOLOGIES INC.
Reel/Frame 049617/0559 →
Continuity (4)
Continuation In Part 16200466 · Nov 26, 2018
Continuation In Part 15975741 · May 9, 2018
Provisional Application 62578824 · Oct 30, 2017
Related Publication 20190324951A1 · Oct 24, 2019