US 12,079,474 B2
System and method for data compaction and encryption of anonymized data records
Joshua Cooper, Columbia, SC (US); Aliasghar Riahi, Orinda, CA (US); Mojgan Haddad, Orinda, CA (US); Ryan Kourosh Riahi, Orinda, CA (US); Razmin Riahi, Orinda, CA (US); and Charles Yeomans, Orinda, CA (US)
Assigned to ATOMBEAM TECHNOLOGIES INC., Moraga, CA (US)
Filed by AtomBeam Technologies Inc., Moraga, CA (US)
Filed on Sep. 18, 2023, as Appl. No. 18/469,520.
Application 18/469,520 is a continuation of application No. 18/178,556, filed on Mar. 6, 2023, granted, now 11,762,557.
Application 18/178,556 is a continuation in part of application No. 17/727,913, filed on Apr. 25, 2022, granted, now 11,620,051, issued on Apr. 4, 2023.
Application 17/727,913 is a continuation of application No. 17/404,699, filed on Aug. 17, 2021, granted, now 11,385,794, issued on Jul. 12, 2022.
Application 17/404,699 is a continuation in part of application No. 16/455,655, filed on Jun. 27, 2019, granted, now 10,509,771, issued on Dec. 17, 2019.
Application 16/455,655 is a continuation in part of application No. 16/200,466, filed on Nov. 26, 2018, granted, now 10,476,519, issued on Nov. 12, 2019.
Application 16/200,466 is a continuation in part of application No. 15/975,741, filed on May 9, 2018, granted, now 10,303,391, issued on May 28, 2019.
Claims priority of provisional application 63/332,525, filed on Apr. 19, 2022.
Claims priority of provisional application 62/578,824, filed on Oct. 30, 2017.
Prior Publication US 2024/0069731 A1, Feb. 29, 2024
Int. Cl. G06F 3/06 (2006.01); H03M 7/30 (2006.01)
CPC G06F 3/0608 (2013.01) [G06F 3/0623 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01); H03M 7/6005 (2013.01); H03M 7/6011 (2013.01)] 10 Claims
OG exemplary drawing
 
1. A system for data compaction and encryption of anonymized data records, comprising:
a computing device comprising a processor, a memory, and a non-volatile data storage device;
a data deconstruction engine 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:
receive an anonymized tally record from a user, the anonymized tally record comprising a plurality of anonymized sourceblocks and for each anonymized sourceblock a tally value indicating the number of times the anonymized sourceblock occurs in a data source;
for each sourceblock:
parse the anonymized sourceblocks to identify the anonymized sourceblocks with the highest tally value;
send the anonymized sourceblocks to a library manager;
receive a half-backed codebook from the library manager; and
transmit the half-backed codebook to the user; and
a library manager 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 anonymized sourceblocks from a data deconstruction engine;
for each sourceblock:
assign a unique codeword to each of the received anonymized;
create a half-backed codebook, the half-backed codebook comprising a plurality of codeword pairs, wherein each codeword pair comprises an anonymized sourceblock and its associated unique codeword; and
send the half-backed codebook to the data deconstruction engine.