IP Library › Granted Patent US 11,741,051
Granted Patent B2
US 11,741,051 · App. 17/578,476 · Granted Aug 29, 2023

System and methods for secure storage for data deduplication

Inventors: Joshua Cooper (Columbia, SC); Aliasghar Riahi (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 11,741,051
App. No.
17/578,476
Filed
Jan 19, 2022
Granted
Aug 29, 2023
Kind
B2
Art Unit
2136
USPC
707/692
Abstract

A system and methods for secure storage for data deduplication comprising a data deconstruction engine, a data reconstruction engine, a library manager, a reference codebook, and a codeword storage which performs simultaneous compaction and deduplication of data sets. A data set may be comprised of one or more sourcepackets which may be optimally deconstructed into a plurality of sourceblocks and wherein each sourceblock may be compared against a reference codebook that contains key-value pairs of a sourceblock and its associated reference code in order to determine if a received sourceblock is a duplicate of data already stored within the reference codebook. Non-duplicate sourceblocks can have a reference code algorithmically created and stored in the reference codebook, thereby ensuring that when a duplicate sourceblock is received, it will not be stored as duplicated data.

Claims (33)

1. A system for secure storage for data deduplication of compacted data, comprising:

at least one reference codebook comprising key-value pairs of data;

a data deconstruction engine comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operable on the processor of a computing device, wherein the plurality of programming instructions, when operating on the processor, cause the processor to:

receive a sourcepacket from a data source, the sourcepacket comprising a plurality of data to be stored and encoded;

deconstruct the incoming data into a plurality of deconstructed sourceblocks;

send the plurality of deconstructed sourceblocks to the library manager for comparison with sourceblocks already contained in the reference codebook; and

receive a reference code for each of the deconstructed sourceblocks from the library manager; and

a library manager comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operable on the processor of a computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the processor to:

receive the plurality of deconstructed sourceblocks from the data deconstruction engine;

perform data deduplication by comparing each of the deconstructed sourceblocks with sourceblocks already contained in the reference codebook;

for each of the plurality of deconstructed sourceblocks, return the reference code to the data deconstruction engine, when the respective received deconstructed sourceblock is a duplicate of an existing sourceblock in the reference codebook; and

for each received deconstructed sourceblock that is not present in the codebook:

create a new, unique reference code for the respective deconstructed sourceblock

store both the respective deconstructed sourceblock and the associated reference code in the reference codebook as a key-value pair; and

return the new reference code to the data deconstruction engine.

2. The system of claim 1 , wherein the data deconstruction engine is further configured to:

create a multiplicity of codeword pairs for storage or transmission of the data, each of which contains at least a reference code to a sourceblock in the library, and may contain additional information about the location of the reference code within the data; and

store the codeword pairs on a data storage device.

3. A method for secure storage for data deduplication of compacted data, comprising the steps of:

receiving a sourcepacket from a data source, the sourcepacket comprising a plurality of data to be stored and encoded;

deconstructing the incoming data into a plurality of deconstructed sourceblocks;

sending the plurality of deconstructed sourceblocks to the library manager for comparison with sourceblocks already contained in the reference codebook;

receiving a reference code for each of the deconstructed sourceblocks from a library manager;

receiving the plurality of deconstructed sourceblocks from a data deconstruction engine;

performing data deduplication by comparing each of the deconstructed sourceblocks with sourceblocks already contained in the reference codebook;

for each received deconstructed sourceblock, returning the reference code to the data deconstruction engine, when the respective received deconstructed sourceblock is a duplicate of an existing sourceblock in the reference codebook;

for each received deconstructed sourceblock that is not present in the codebook:

creating a new, unique reference code for the respective deconstructed sourceblock;

storing both the respective deconstructed sourceblock and the associated reference code in the reference codebook as a key-value pair; and

returning the new reference code to the data deconstruction engine.

4. The method of claim 3 , further comprising the steps of:

creating a multiplicity of codeword pairs for storage or transmission of the data, each of which contains at least a reference code to a sourceblock in the library, and may contain additional information about the location of the reference code within the data; and

storing the codeword pairs on a data storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2022
From: COOPER, JOSHUA; RIAHI, ALIASGHAR
To: ATOMBEAM TECHNOLOGIES INC.
Reel/Frame 058701/0393 →
Continuity (9)
Continuation In Part 16923039 · Jul 7, 2020
Continuation In Part 16716098 · Dec 16, 2019
Continuation 16455655 · Jun 27, 2019
Continuation In Part 16200466 · Nov 26, 2018
Continuation In Part 15975741 · May 9, 2018
Provisional Application 63027166 · May 19, 2020
Provisional Application 62926723 · Oct 28, 2019
Provisional Application 62578824 · Oct 30, 2017
Related Publication 20220147492A1 · May 12, 2022