Patent ID: 7051126

Claim:
An apparatus for compressing data from a data stream comprising: a hardware compressor that is arranged to provide compressed data in response to buffered data, wherein the compressed data is encoded according to a first compression format with a first byte window size; a logic block that is arranged to: receive data associated with the data stream, store the data as the buffered data, forward the buffered data to the hardware compressor, receive the compressed data from the hardware compressor, convert the compressed data to a second compression format with a second byte window size that is different from the first byte window size, and provide the converted compressed data; and a flow controller that is arranged to: monitor system resources associated with the flow controller, algorithmically compress selected data streams with the flow controller when the resources associated with the flow controller are below a minimum criteria, and forward data streams to the logic block for compression when the resources associated with the flow controller exceed the minimum criteria such that compression is offloaded to the logic block; wherein the minimum criteria comprises at least one of: a processor usage criteria, a memory usage criteria, and a network traffic loading criteria.