Encoding / decoding system and method
A computer-implemented method, computer program product and computing system for: encoding a first 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 first 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 first data file.
1 . A computer-implemented method, executed on a computing device comprising:
encoding a first 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 and wherein the plurality of mappings 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;
receiving a request to manipulate the first data file;
processing the related encoded data file based, at least in part, upon the starting location and the length of the plurality of mappings and the dictionary file; and
generating a modified encoded data file that represents the requested manipulations of the first data file based, at least in part, on the processing.
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 first data file includes one or more of:
performing a homomorphic encoding operation; and
performing a heteromorphic encoding operation.
3 . The computer-implemented method of claim 1 wherein encoding a first data file to generate a related encoded data file based, at least in part, upon the plurality of mappings to the plurality of portions of the 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 . The computer-implemented method of claim 1 , wherein
the dictionary file includes a plurality of discrete entries.
5 . The computer-implemented method of claim 1 wherein the first data file includes one or more of:
a first compressed data file;
a first uncompressed data file; a first encrypted data file;
a first unencrypted data file;
a first encoded data file; and a first unencoded data file.
6 . The computer-implemented method of claim 5 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 first data file.
7 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of concatenated entries.
8 . The computer-implemented method of claim 7 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
9 . The computer-implemented method of claim 1 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
10 . 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.
11 . A non-transitory computer readable medium comprising a computer program product residing on the 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 a first 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 and wherein the plurality of mappings 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;
receiving a request to manipulate the first data file;
processing the related encoded data file based, at least in part, upon the starting location and the length of the plurality of mappings and the dictionary file; and
generating a modified encoded data file that represents the requested manipulations of the first data file based, at least in part, on the processing.
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 first data file includes:
performing a homomorphic encoding operation; and
performing a heteromorphic encoding operation.
13 . The non-transitory computer readable medium of claim 11 , wherein encoding a first 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.
14 . The non-transitory computer readable medium of claim 11 , wherein:
the dictionary file includes a plurality of discrete entries.
15 . The non-transitory computer readable medium of claim 11 wherein the first data file includes one or more of:
a first compressed data file;
a first uncompressed data file;
a first encrypted data file;
a first unencrypted data file;
a first encoded data file; and
a first unencoded data file.
16 . The non-transitory computer readable medium of claim 15 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
17 . The non-transitory computer readable medium of claim 11 wherein the dictionary file includes a plurality of concatenated entries.
18 . The non-transitory computer readable medium of claim 17 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
19 . The non-transitory computer readable medium of claim 11 wherein generating the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
20 . 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.
21 . A computing system including a processor and memory configured to perform operations comprising:
encoding a first 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 and wherein the plurality of mappings 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;
receiving a request to manipulate the first data file;
processing the related encoded data file based, at least in part, upon the starting location and the length of the plurality of mappings and the dictionary file; and
generating a modified encoded data file that represents the requested manipulations of the first data file based, at least in part, on the processing.
22 . The computing system of claim 21 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate the modified encoded data file that represents the requested manipulations of the first data file includes:
performing a homomorphic encoding operation; and
performing a heteromorphic encoding operation.
23 . The computing system of claim 21 wherein encoding a first 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.
24 . The computing system of claim 21 wherein:
the dictionary file includes a plurality of discrete entries.
25 . The computing system of claim 21 wherein the first data file includes one or more of:
a first compressed data file;
a first uncompressed data file;
a first encrypted data file;
a first unencrypted data file;
a first encoded data file; and
a first unencoded data file.
26 . The computing system of claim 25 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
27 . The computing system of claim 21 wherein the dictionary file includes a plurality of concatenated entries.
28 . The computing system of claim 27 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
29 . The computing system of claim 21 wherein processing the related encoded data file based, at least in part, upon the plurality of mappings and the dictionary file to generate the modified encoded data file that represents the requested manipulations of the first 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 the modified encoded data file that represents the requested manipulations of the first data file.
30 . The computing system of claim 21 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.