Method and apparatus for compaction of data received over a network
US-10015272-B2 · Jul 3, 2018 · US
US12423270B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12423270-B2 |
| Application number | US-202318516924-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 21, 2023 |
| Priority date | Oct 30, 2017 |
| Publication date | Sep 23, 2025 |
| Grant date | Sep 23, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method for manipulation of compacted data files, utilizing a reference codebook, a random-access engine, a data deconstruction engine, and a data deconstruction engine. The system may receive a data query pertaining to a data read or data write request, wherein the data file to be read from or written to is a compacted data file. A random-access engine may facilitate data manipulation processes by accessing a reference codebook associated with the compacted data file, a frequency table used to construct the reference codebook, and data query details. A data read request is supported by random-access search capabilities that may enable the locating and decoding of the bits corresponding to data query details. A random-access engine facilitates data write processes. The random-access engine may encode the data to be written, insert the encoded data into a compacted data file, and update the codebook as needed.
Opening claim text (preview).
What is claimed is: 1. A system for manipulation of compacted data files, comprising: a computing device comprising a memory, a processor, and a non-volatile data storage device; and a random access engine comprising a first plurality of programming instructions stored in the memory and operating on the processor, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to: receive a data search query; estimate, using an estimator module, a first starting bit location in a compacted data file; refine the first starting bit location by: determining whether a bit sequence starting at the first starting bit location corresponds to a codeword boundary and, if not, traversing a reference codebook until a codeword boundary is located at a new starting bit; and traversing from the new starting bit until a start codeword corresponding to the beginning of the data search query is identified; and sending the start codeword and a plurality of immediately following codewords from the compacted data file as a first output data stream. 2. The system of claim 1 , further comprising: a 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, cause the computing device to: deconstruct an input data stream into a plurality of data sourceblocks; encode the input data stream using the reference codebook by: retrieving a reference code for each sourceblock from the reference codebook; where there is no reference code for a first sourceblock, generating a hash code as a new reference code and storing the first sourceblock and the its newly-created reference code in the reference codebook; and storing the reference codes corresponding to the data stream in the compacted data file. 3. The system of claim 2 , further comprising: a reconstruction engine comprising a third plurality of programming instructions stored in the memory and operable on the processor, wherein the third plurality of programming instructions, when operating on the processor, cause the computing device to: retrieve a plurality of reference codes from the compacted data file; decode each of the plurality of retrieved reference codes by, for each retrieved reference code, retrieving the sourceblock associated with the respective reference code from the reference codebook; and provide the retrieved sourceblocks as a second output data stream. 4. A method for manipulation of compacted data files, comprising the steps of: receiving, at a random access engine comprising a first plurality of programming instructions stored in the memory and operating on the processor, a data search query; estimating, using an estimator module of the random access engine, a first starting bit location in a compacted data file; refining the first starting bit location by determining whether a bit sequence starting at the first starting bit location corresponds to a codeword boundary and, if not, traversing a reference codebook until a codeword boundary is located at a new starting bit; traversing from the new starting bit until a start codeword corresponding to the beginning of the data search query is identified; and sending the first start codeword and a plurality of immediately following codewords from the compacted data file as a first output data stream. 5. The method of claim 4 , further comprising the steps of: deconstructing, at a deconstruction engine comprising a second plurality of programming instructions stored in the memory and operable on the processor, an input data stream into a plurality of data sourceblocks; encoding the data stream using the reference codebook by retrieving a reference code for each sourceblock from the reference codebook; where there is no reference code for a first sourceblock, generating a hash code as a new reference code; and storing the first sourceblock and the its newly-created reference code in the reference codebook. 6. The method of claim 4 , further comprising the steps of: retrieving, at a reconstruction engine comprising a third plurality of programming instructions stored in a memory and operable on a processor, a plurality of reference codes from the compacted data file; decoding each of the plurality of retrieved reference codes by, for each retrieved reference code, retrieving the sourceblock associated with the respective reference code from the reference codebook; and providing the retrieved sourceblocks as a second output data stream.
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
De-duplication techniques · CPC title
Saving storage space on storage systems · CPC title
Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title
based on file chunks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.