Search

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

US12619578B2US 12619578 B2US12619578 B2US 12619578B2US-12619578-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, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file; receiving a request to manipulate the unencoded data file; and 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 that represents 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: encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file, wherein the dictionary file includes a binary sequence of all possible combinations of a number having a defined bit length, wherein the defined bit length is determined based upon design criteria of encoding process, and wherein each of the plurality of mappings includes a starting location as a bit-wise offset within the dictionary file and a length as a number of bits within the dictionary file beginning from the starting location within the dictionary file; receiving a request to manipulate the unencoded data file; and 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file includes one or more of: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation.
  3. 3 . The computer-implemented method of claim 1 wherein encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file includes one or more of: compressing an unencoded data file to generate a related encoded data file; and encrypting an unencoded data file to generate a related encoded data file.
  4. 4 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of discrete entries.
  5. 5 . The computer-implemented method of claim 4 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  6. 6 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of concatenated entries.
  7. 7 . The computer-implemented method of claim 6 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  8. 8 . 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  9. 9 . 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.
  10. 10 . 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: encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file, wherein the dictionary file includes a binary sequence of all possible combinations of a number having a defined bit length, wherein the defined bit length is determined based upon design criteria of encoding process, and wherein each of the plurality of mappings includes a starting location as a bit-wise offset within the dictionary file and a length as a number of bits within the dictionary file beginning from the starting location within the dictionary file; receiving a request to manipulate the unencoded data file; and 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 that represents the requested manipulations of the unencoded data file.
  11. 11 . The computer program product residing on a non-transitory computer readable medium of claim 10 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 that represents the requested manipulations of the unencoded data file includes one or more of: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation.
  12. 12 . The computer program product residing on a non-transitory computer readable medium f claim 10 wherein encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file includes one or more of: compressing an unencoded data file to generate a related encoded data file; and encrypting an unencoded data file to generate a related encoded data file.
  13. 13 . The computer program product residing on a non-transitory computer readable medium of claim 10 wherein the dictionary file includes a plurality of discrete entries.
  14. 14 . The computer program product residing on a non-transitory computer readable medium 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  15. 15 . The computer program product residing on a non-transitory computer readable medium of claim 10 wherein the dictionary file includes a plurality of concatenated entries.
  16. 16 . The computer program product residing on a non-transitory computer readable medium 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  17. 17 . The computer program product residing on a non-transitory computer readable medium of claim 10 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded data file.
  18. 18 . The computer program product residing on a non-transitory computer readable medium of claim 10 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.
  19. 19 . A computing system including a processor and memory configured to perform operations comprising: encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file, wherein the dictionary file includes a binary sequence of all possible combinations of a number having a defined bit length, wherein this defined bit length is determined based upon design criteria of encoding process, and wherein each of the plurality of mappings includes a starting location as a bit-wise offset within the dictionary file and a length as a number of bits within the dictionary file beginning from the starting location within the dictionary file; receiving a request to manipulate the unencoded data file; and 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 that represents the requested manipulations of the unencoded data file.
  20. 20 . The computing system of claim 19 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 that represents the requested manipulations of the unencoded data file includes: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation.

Description

RELATED APPLICATION(S) This application claims the benefit of U.S. Provisional Application No(s).: 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 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, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file; receiving a request to manipulate the unencoded data file; and 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 that represents 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 that represents the requested manipulations of the unencoded data file may include one or more of: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation. Encoding an unencoded data file to generate a related encoded data file based, at least in part, upon a plurality of mappings to a plurality of portions of a dictionary file may include one or more of: compressing an unencoded data file to generate a related encoded data file; and encrypting an unencoded data file to generate a related encoded data file. Each of the plurality of mappings may include a starting location and a length. 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 that represents the requested manipulations of the unencoded 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 that represents 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded 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 that represents the requested manipulations of the unencoded 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. 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, at least in part, upon a plurality of mappings to a plurality of portions of a dicti