Search

US-12619579-B2 - Encoding / decoding system and method

US12619579B2US 12619579 B2US12619579 B2US 12619579B2US-12619579-B2

Abstract

A computer-implemented method, computer program product and computing system for: encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file; receiving a request to manipulate the unencoded data file, wherein the request would require a first sequence of operations to be performed on the unencoded data file; and processing the related encoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file, wherein processing the related encoded data file includes performing a second sequence of operations on the encoded data file to achieve the requested manipulations of the unencoded data file.

Inventors

  • Christopher A. McElveen

Assignees

  • LOGNOVATIONS HOLDINGS, LLC

Dates

Publication Date
20260505
Application Date
20221007

Claims (20)

  1. 1 . A computer-implemented method, executed on a computing device comprising: processing an unencoded data file to identify a plurality of file segments; encoding the unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file, wherein encoding the unencoded data file includes mapping each of the plurality of file segments to a portion of the dictionary file to generate the plurality of mappings that each include a starting location as an offset within the dictionary file and a length as a number of bits within the dictionary file beginning from the starting location, wherein mapping each of the plurality of file segments to the portion of the dictionary file to generate the plurality of mappings includes mapping each of the plurality of file segments to a plurality of bits within the dictionary file using the starting location and length, wherein the dictionary file includes a binary sequence of all possible combinations of a predefined number having a defined bit length; receiving a request to manipulate the unencoded data file, wherein the request would require a first sequence of operations to be performed on the unencoded data file; and processing the related encoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file, wherein processing the related encoded data file includes performing a second sequence of operations on the encoded data file to achieve the requested manipulations of the unencoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  2. 2 . The computer-implemented method of claim 1 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: performing a heteromorphic encoding operation.
  3. 3 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of discrete entries.
  4. 4 . The computer-implemented method of claim 3 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, in a byte-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file of operations on the encoded data file to achieve the requested manipulations of the unencoded data file.
  5. 5 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of concatenated entries.
  6. 6 . The computer-implemented method of claim 5 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, in a bit-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  7. 7 . The computer-implemented method of claim 1 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, utilizing a sampling window, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  8. 8 . The computer-implemented method of claim 1 wherein the requested manipulations concern one or more of: a computation operation; a search operation; an append operation; a splitting operation; a joining operation; and a concatenating operation.
  9. 9 . The computer-implemented method of claim 1 wherein the second sequence is dissimilar to the first sequence.
  10. 10 . The computer-implemented method of claim 1 wherein the second sequence is partially similar the first sequence.
  11. 11 . The computer-implemented method of claim 1 wherein encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file includes: compressing an unencoded data file to generate a related encoded data file.
  12. 12 . The computer-implemented method of claim 1 wherein encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file includes: encrypting an unencoded data file to generate a related encoded data file.
  13. 13 . A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: processing an unencoded data file to identify a plurality of file segments; encoding the unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file, wherein encoding the unencoded data file includes mapping each of the plurality of file segments to a portion of the dictionary file to generate the plurality of mappings that each include a starting location as an offset within the dictionary file and a length as a number of bits within the dictionary file beginning from the starting location, wherein mapping each of the plurality of file segments to the portion of the dictionary file to generate the plurality of mappings includes mapping each of the plurality of file segments to a plurality of bits within the dictionary file using the starting location and length, wherein the dictionary file includes a binary sequence of all possible combinations of a predefined number having a defined bit length; receiving a request to manipulate the unencoded data file, wherein the request would require a first sequence of operations to be performed on the unencoded data file; and processing the related encoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file, wherein processing the related encoded data file includes performing a second sequence of operations on the encoded data file to achieve the requested manipulations of the unencoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  14. 14 . The computer program product of claim 13 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: performing a heteromorphic encoding operation.
  15. 15 . The computer program product of claim 13 wherein the dictionary file includes a plurality of discrete entries.
  16. 16 . The computer program product of claim 15 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, in a byte-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file of operations on the encoded data file to achieve the requested manipulations of the unencoded data file.
  17. 17 . The computer program product of claim 13 wherein the dictionary file includes a plurality of concatenated entries.
  18. 18 . The computer program product of claim 17 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, in a bit-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  19. 19 . The computer program product of claim 13 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file includes: processing the related encoded data file, utilizing a sampling window, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file.
  20. 20 . The computer program product of claim 13 wherein the requested manipulations concern one or more of: a computation operation; a search operation; an append operation; a splitting operation; a joining operation; and a concatenating operation.

Description

RELATED APPLICATION(S) This application claims the benefit of U.S. Provisional Application Nos. 63/256,267 filed on 15 Oct. 2021, and 63/272,539 filed on 27 Oct. 2021, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD This disclosure relates to data encoding and, more particularly, to systems and methods that allow for the processing of encoded data without the need for decoding. BACKGROUND Data may be encoded and decoded to transform the data from a first form to a second form to achieve a certain task. One example of such encoding may be data compression, wherein data is transformed from a first form (e.g., a larger form) to a second form (e.g., a smaller form) to achieve the task of saving storage space. Another example of such encoding may be data encryption, wherein data is transformed from a first form (e.g., an unencrypted form) to a second form (e.g., an encrypted form) to achieve the task of securing the data. Unfortunately and when using such encoded data (e.g., accessing the data, manipulating the data), the encoded data would first need to be decoded (e.g., decompressed/decrypted), then used (e.g., accessed/manipulated), and then reencoded (compressed/encrypted). As could be imagined, such decoding and subsequent reencoding is expensive from a computational and availability point of view. SUMMARY OF DISCLOSURE Heteromorphic In one implementation, a computer-implemented method is executed on a computing device and includes: encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file; receiving a request to manipulate the unencoded data file, wherein the request would require a first sequence of operations to be performed on the unencoded data file; and processing the related encoded data file based upon the plurality of mappings and the dictionary file to generate a modified encoded data file, wherein processing the related encoded data file includes performing a second sequence of operations on the encoded data file to achieve the requested manipulations of the unencoded data file. One or more of the following features may be included. Processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file may include: performing a heteromorphic encoding operation. The dictionary file may include a plurality of discrete entries. Processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file may include: processing the related encoded data file, in a byte-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file of operations on the encoded data file to achieve the requested manipulations of the unencoded data file. The dictionary file may include a plurality of concatenated entries. Processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file may include: processing the related encoded data file, in a bit-wise fashion, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file. Processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate a modified encoded data file may include: processing the related encoded data file, utilizing a sampling window, based upon the plurality of mappings and the dictionary file to generate a modified encoded data file. The requested manipulations may concern one or more of: a computation operation; a search operation; an append operation; a splitting operation; a joining operation; and a concatenating operation. The second sequence may be dissimilar to the first sequence. The second sequence may be partially similar the first sequence. Encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file may include: compressing an unencoded data file to generate a related encoded data file. Encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file may include: encrypting an unencoded data file to generate a related encoded data file. In another implementation, a computer program product resides on a computer readable medium and has a plurality of instructions stored on it. When executed by a processor, the instructions cause the processor to perform operations including: encoding an unencoded data file to generate a related encoded data file based upon a plurality of mappings to a plurality of portions of a dictionary file; receiving a request to manipulate the unencoded data file, wherein the request woul