Search

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

US12619580B2US 12619580 B2US12619580 B2US 12619580B2US-12619580-B2

Abstract

A computer-implemented method, computer program product and computing system for: processing an unencoded data file to identify a plurality of file segments, wherein the unencoded data file is a dataset for use with a disaster recovery process; mapping each of the plurality of file segments to a portion of a dictionary file to generate a plurality of mappings that each include a starting location and a length, thus generating a related encoded data file based, at least in part, upon the plurality of mappings; receiving a request to manipulate the unencoded data file from the disaster recovery process; 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
20221010

Claims (20)

  1. 1 . A computer-implemented method, comprising: executing by a computing device instructions comprising: processing via the computing device an unencoded data file to identify a plurality of file segments, wherein the unencoded data file is a dataset for use with a disaster recovery process; mapping each of the plurality of file segments to a portion of a dictionary file, wherein the dictionary file includes a binary sequence of all possible combinations of a number having a defined bit length; storing or transmitting a plurality of mappings that each include 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; generating a related encoded data file based, at least in part, upon the plurality of mappings; storing or transmitting the related encoded data file; receiving a request to manipulate the unencoded data file from the disaster recovery process; and processing via the computing device 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 without first decoding the related encoded data; and, storing or transmitting the 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 that represents the requested manipulations of the unencoded data file includes: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation.
  3. 3 . The computer-implemented method of claim 1 wherein the related encoded data file includes one or more of: a related compressed data file; and a related encrypted datafile.
  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 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 related encoded data file includes a recovery data set.
  10. 10 . The computer-implemented method of claim 1 wherein the related encoded data file requires less computational overhead than the unencoded data file.
  11. 11 . A non-transitory computer readable medium comprising: a computer program product and 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, wherein the unencoded data file is a dataset for use with a disaster recovery process; mapping each of the plurality of file segments to a portion of a dictionary file, wherein the dictionary file includes a binary sequence of all possible combinations of a number having a defined bit length; storing or transmitting a plurality of mappings that each include 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; generating a related encoded data file based, at least in part, upon the plurality of mappings; storing or transmitting the related encoded data file; receiving a request to manipulate the unencoded data file from the disaster recovery process; 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 without first decoding the related encoded data; and storing or transmitting the modified encoded data file.
  12. 12 . The non-transitory computer readable medium of claim 11 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.
  13. 13 . The non-transitory computer readable medium of claim 11 wherein the related encoded data file includes one or more of: a related compressed data file; and a related encrypted data file.
  14. 14 . The non-transitory computer readable medium of claim 11 wherein the dictionary file includes a plurality of discrete entries.
  15. 15 . The non-transitory computer readable medium of claim 14 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.
  16. 16 . The non-transitory computer readable medium of claim 11 wherein the dictionary file includes a plurality of concatenated entries.
  17. 17 . The non-transitory computer readable medium of claim 16 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.
  18. 18 . The non-transitory computer readable medium of claim 11 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 . The non-transitory computer readable medium of claim 11 wherein the related encoded data file includes a recovery data set.
  20. 20 . The non-transitory computer readable medium of claim 11 wherein the related encoded data file requires less computational overhead than the unencoded data file.

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 Encoded Data (in Process Disaster Recovery) In one implementation, a computer-implemented method is executed on a computing device and includes: processing an unencoded data file to identify a plurality of file segments, wherein the unencoded data file is a dataset for use with a disaster recovery process; mapping each of the plurality of file segments to a portion of a dictionary file to generate a plurality of mappings that each include a starting location and a length, thus generating a related encoded data file based, at least in part, upon the plurality of mappings; receiving a request to manipulate the unencoded data file from the disaster recovery process; 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: performing a homomorphic encoding operation; and performing a heteromorphic encoding operation. The related encoded data file may include one or more of: a related compressed data file; and a related encrypted data file. 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. 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 related encoded data file may include a recovery data set. The related encoded data file may require less computational overhead than the unencoded 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: processing an unencoded data file to identify a plurality of file segments, wherein the unencoded data file is a dataset for use with a disaster recovery process; mapping each of the plurality of file segments to a portion of a dictionary file to generate a plurality of mappings that each include a starting location and a length, thus generating a related encoded data file based, at least in part, upon the plurality of mappings; receiving a request to manipulate the unencoded dat