System and method for stream data type identification using machine learning
AssigneeAtombeam Technologies Inc.
InventorsJoshua Cooper, Charles Yeomans
Life of this patent
Estimating the term…
Abstract
A system and method for file type identification involving extraction of a file-print of a file, the file-print being a unique or practically-unique representation of statistical characteristics associated with the distribution of bits in the binary contents of the file, similar to a fingerprint. The file-print is then passed to a machine learning algorithm that has been trained to recognize file types from their file-prints. The machine learning algorithm returns a predicted file type and, in some cases, a probability of correctness of the prediction. The file may then be encoded using an encoding algorithm chosen based on the predicted file type.
Claims4
A computer system comprising a hardware memory, wherein the computer system is configured to execute software instructions stored on nontransitory machine-readable storage media that:
- identify a data type of digital data received in varying formats by adapting statistical analysis techniques based on whether received digital data comprises a discrete file with determinable boundaries or a continuous data stream without predetermined endpoints;
- when the digital data comprises a discrete file:
- segment the entire file into groups of bytes and generate a statistical file-print comprising a plurality of statistical characteristics of a distribution of the groups of bytes across the entire file;
- when the digital data comprises a continuous data stream:
- maintain rolling buffers of configurable size to capture streaming data segments;
- generate incremental statistical file-prints from buffered segments using sliding window analysis, each incremental file-print comprising statistical characteristics of data within a temporal window;
- analyze temporal patterns across multiple sequential file-print generations to identify periodic characteristics in the statistical variance between consecutive file-prints;
- and
- calculate a confidence score based on an amount of data analyzed and consistency of predictions over time;
- process the statistical file-print or incremental file-prints through a trained machine learning classifier to identify a data type;
- and
- select an encoding or decoding codebook from a plurality of codebooks based on the identified data type, wherein the selection for streaming data can be dynamically adjusted in response to detected changes in data type within the continuous stream.
A method for identifying a file type comprising the steps of:
- identifying a data type of digital data received in varying formats by adapting statistical analysis techniques based on whether received digital data comprises a discrete file with determinable boundaries or a continuous data stream without predetermined endpoints;
- when the digital data comprises a discrete file:
- segmenting the entire file into groups of bytes and generate a statistical file-print comprising a plurality of statistical characteristics of a distribution of the groups of bytes across the entire file;
- when the digital data comprises a continuous data stream:
- maintaining rolling buffers of configurable size to capture streaming data segments;
- generating incremental statistical file-prints from buffered segments using sliding window analysis, each incremental file-print comprising statistical characteristics of data within a temporal window;
- analyzing temporal patterns across multiple sequential file-print generations to identify periodic characteristics in the statistical variance between consecutive file-prints;
- and
- calculating a confidence score based on an amount of data analyzed and consistency of predictions over time;
- processing the statistical file-print or incremental file-prints through a trained machine learning classifier to identify a data type;
- and
- selecting an encoding or decoding codebook from a plurality of codebooks based on the identified data type, wherein the selection for streaming data can be dynamically adjusted in response to detected changes in data type within the continuous stream.
Dependencies are inferred from the claim text.