Compression engine with consistent throughput
AssigneeTidal Systems, Inc.
InventorMeng Kun Lee
Life of this patent
Estimating the term…
Abstract
Systems and method provide for consistent throughput of one or more compression engines. Data received from an input stream is stored in a buffer. Data is read from the buffer and distributed to the compression engines. Latency of the compression engines is monitored. If latency exceeds a threshold, data is read from the buffer and written to an output stream simultaneously with reading of data and inputting it to the compression engines. Data from the input stream may be evaluated for likely compressibility and non-compressible data may be written to the output stream bypassing both the buffer and the compression engines.
Claims20
A method for compressing data, the method comprising:
- receiving, by an electronic device, an input data stream;
- storing, by the electronic device, data from the input data stream in a buffer;
- distributing, by the electronic device, first data in the buffer to one or more compression engines;
- compressing, by the one or more compression engines, the first data to generate compressed first data and writing the compressed first data to an output data stream;
- monitoring, by the electronic device, latency of the one or more compression engines;
- periodically evaluating, by the electronic device, latency of the one or more compression engines within a time window with respect to a threshold;
- determining, by the electronic device, at a first point in time that the latency within the time window exceeds the threshold;
- in response to determining that at the first point in time that the latency within the time window exceeds the threshold, distributing, by the electronic device, second data in the buffer to both of the one or more compression engines and the output stream such that a first portion of the second data is distributed to the one or more compression engines and a second portion of the second data is written to the output stream and bypasses the one or more compression engines;
- and
- compressing, by the one or more compression engines, the first portion of the second data to generate second compressed data and writing the compressed second data to the output data stream.
A system for compressing data, the system comprising:
- a buffer;
- one or more compression engines;
- a control module programmed to
- receive an input data stream;
- store data from the input data stream in the buffer;
- distribute data in the buffer to the one or more compression engines such that the one or more compression engines compress the first data to generate compressed first data and write the compressed first data to an output data stream;
- monitor latency of the one or more compression engines;
- periodically evaluate latency of the one or more compression engines within a time window with respect to a threshold;
- if the latency of the one or more compression engines within the time window exceeds the threshold, distribute the data in the buffer to both of the one or more compression engines and directly to the output stream;
- and
Dependencies are inferred from the claim text.