Patent ID: 8719438

Claim:
A computer-implemented method for accelerating data transmittal on an output to a data storage device, the output associated with an output bandwidth, comprising: receiving a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; determining an input data transmission rate of the data stream based on an amount of data received during a period of time; determining a compression ratio parameter based, at least in part, on the determined input data transmission rate and the output bandwidth; selecting a compression technique from a plurality of compression techniques such that a compression ratio when the determined compression technique is applied to a data block from the plurality of data blocks in the received form satisfies the determined compression ratio parameter; compressing, using software, the data block using the compression technique to determine a compressed data block; and transmitting, on the output to the data storage device, the compressed data block in an output data stream to the data storage device, the compressing and the transmitting together occurring more quickly than a length of time to transmit the data block on the output in the received form.