Encoding / decoding system and method
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.
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 . 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 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of discrete entries.
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 . The computer-implemented method of claim 1 wherein the dictionary file includes a plurality of concatenated entries.
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 . 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 . 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 . The computer-implemented method of claim 1 wherein the second sequence is dissimilar to the first sequence.
10 . The computer-implemented method of claim 1 wherein the second sequence is partially similar the first sequence.
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 . 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 . 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 . 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 . The computer program product of claim 13 wherein the dictionary file includes a plurality of discrete entries.
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 . The computer program product of claim 13 wherein the dictionary file includes a plurality of concatenated entries.
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 . 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 . 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.
21 . The computer program product of claim 13 wherein the second sequence is dissimilar to the first sequence.
22 . The computer program product of claim 13 wherein the second sequence is partially similar the first sequence.
23 . The computer program product of claim 13 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.
24 . The computer program product of claim 13 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.
25 . A computing system including a processor and memory configured 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.
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 a modified encoded data file includes:
performing a heteromorphic encoding operation.
27 . The computing system of claim 25 wherein the dictionary file includes a plurality of discrete 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 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.
29 . The computing system of claim 21 wherein the related encoded data file includes a standard data storage file.
30 . The computing system of claim 29 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.
31 . 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 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.
32 . The computing system of claim 25 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.
33 . The computing system of claim 25 wherein the second sequence is dissimilar to the first sequence.
34 . The computing system of claim 25 wherein the second sequence is partially similar the first sequence.
35 . The computing system of claim 25 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.
36 . The computing system of claim 25 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.
37 . The computer-implemented method of claim 1 , wherein encoding an unencoded data file generates a related encoded data file based on dictionary mappings that are independent of segment-based adaptive context determination, thereby enabling direct manipulation of encoded data without reference to previously encoded segments.