IP Library › Granted Patent US 11,853,550
Granted Patent B2
US 11,853,550 · App. 18/147,707 · Granted Dec 26, 2023

System and method for data compaction and security using multiple encoding algorithms

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.
G06F3/0608G06F3/067G06F3/0623G06F3/0656G06F3/0659G06F3/0679H03M7/405H03M7/6005H03M7/6011
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,853,550
App. No.
18/147,707
Filed
Dec 29, 2022
Granted
Dec 26, 2023
Kind
B2
Art Unit
2136
USPC
711/114
Abstract

A system and method for encoding data using a plurality of encoding libraries. Portions of the data are encoded by different encoding libraries, depending on which library provides the greatest compaction for a given portion of the data. This methodology not only provides substantial improvements in data compaction over use of a single data compaction algorithm with the highest average compaction, but provides substantial additional security in that multiple decoding libraries must be used to decode the data. In some embodiments, each portion of data may further be encoded using different sourceblock sizes, providing further security enhancements as decoding requires multiple decoding libraries and knowledge of the sourceblock size used for each portion of the data. In some embodiments, encoding libraries may be randomly or pseudo-randomly rotated to provide additional security.

Claims (30)

1. A system for encoding data using a plurality of codebooks comprising:

a computing device comprising a processor, a memory, and a non-volatile data storage device;

a codebook selector comprising a first plurality of programming instructions stored in the memory and operable on the processor, wherein the first plurality of programming instructions, when operating on the processor, causes the processor to:

select a list of codebooks for encoding a plurality of sourcepackets, each sourcepacket comprising a sourcepacket identifier, the list comprising a codebook identifier for each codebook;

for each sourcepacket:

encode the sourcepacket with each of the codebooks in the list of codebooks;

associate the sourcepacket identifier with a stored encoded sourcepacket;

associate the codebook identifier of the codebook which produced the stored encoded sourcepacket with the sourcepacket identifier; and

send a data pair comprising the respective sourcepacket identifier and its associated codebook identifier to a combiner; and

the combiner comprising a second plurality of programming instructions stored in the memory and operable on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the processor to:

receive each data pair from the codebook selector; and

aggregate each received data pair into a data structure comprising an ordered sequence of pairs each comprising a sourcepacket identifier and its associated codebook identifier.

2. The system of claim 1 , wherein the codebooks used to encode the data are combined as a single codebook.

3. The system of claim 1 , wherein the data structure further comprises a copy of the stored encoded sourcepacket associated with each sourcepacket identifier.

4. The system of claim 1 , wherein the sourcepacket identifier is a universal unique identifier (UUID).

5. The system of claim 1 , wherein the codebook identifier is a universal unique identifier (UUID).

6. A method for encoding data using a plurality of codebooks, comprising the steps of:

selecting a list of codebooks for encoding a plurality of sourcepackets, each sourcepacket comprising a sourcepacket identifier, the list comprising a codebook identifier for each codebook;

for each sourcepacket:

encoding the sourcepacket with each of the codebooks in the list of codebooks;

associating the sourcepacket identifier with the a stored encoded sourcepacket;

associating the codebook identifier of the codebook which produced the stored encoded sourcepacket with the sourcepacket identifier; and

sending a data pair comprising the respective sourcepacket identifier and its associated codebook identifier to a combiner;

using the combiner:

receiving the data pairs at the combiner; and

aggregating each received data pair into a data structure comprising an ordered sequence of pairs each comprising a sourcepacket identifier and its associated codebook identifier.

7. The method of claim 6 , further comprising the step of combining the codebooks used to encode the data into a single codebook.

8. The method of claim 6 , further comprising the step of including a copy of the stored encoded sourcepacket associated with each sourcepacket identifier in the data structure.

9. The method of claim 6 , wherein the sourcepacket identifier is a universal unique identifier (UUID).

10. The method of claim 6 , wherein the codebook identifier is a universal unique identifier (UUID).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2023
From: COOPER, JOSHUA; RIAHI, ALIASGHAR; HADDAD, MOJGAN; RIAHI, RYAN KOUROSH; RIAHI, RAZMIN; YEOMANS, CHARLES
To: ATOMBEAM TECHNOLOGIES INC.
Reel/Frame 064333/0202 →
Continuity (7)
Continuation 17727913 · Apr 25, 2022
Continuation 17404699 · Aug 17, 2021
Continuation In Part 16455655 · Jun 27, 2019
Continuation In Part 16200466 · Nov 26, 2018
Continuation In Part 15975741 · May 9, 2018
Provisional Application 62578824 · Oct 30, 2017
Related Publication 20230214117A1 · Jul 6, 2023