Metacodec for optimizing network data compression based on comparison of write and read rates
First Claim
1. A network device that manages data over a network, comprising:
- a network communication component that sends or receives data over the network; and
a processor that performs actions involving the data, including;
reading the data;
compressing the data using a compression mode;
determining a compression time for compressing the data;
writing the compressed data to a buffer for use in transmitting the compressed data over the network;
determining a write time for writing the compressed data to the buffer;
determining a ratio by dividing the compression time by the write time; and
selectively modifying the compression mode based in part on the determined ratio of compression time divided by write, wherein selectively modifying the compression mode further comprises;
if the ratio of compression time/write time is greater than a threshold value, selectively selecting another compression mode having a lower expected compression ration than a currently selected compression mode; and
if a ratio of write time/compression time is greater than another threshold value, selectively selecting yet another compression mode having a higher expected compression ration than a currently selected compression mode.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and apparatus are directed towards selectively compressing data for transmission over a network. In one embodiment, a sending network device and receiving network device negotiates different compression modes to communicate data between them. An initial compression mode may be selected based on a network bandwidth. The sending network device then reads data, and compresses using the selected compression mode. The compressed data may then be written out. Ratios of compression and the write times are then employed to selectively adjust the compression mode for subsequent data compressions. In one embodiment, a compression ratio is also employed to determine whether to employ the selected compression mode, or to reduce the level of compression by using a different compression mode. The receiving network device having received information about the selected compression mode, then employs that compression mode to decompress the received data.
104 Citations
21 Claims
-
1. A network device that manages data over a network, comprising:
- a network communication component that sends or receives data over the network; and
a processor that performs actions involving the data, including;
reading the data;
compressing the data using a compression mode;
determining a compression time for compressing the data;
writing the compressed data to a buffer for use in transmitting the compressed data over the network;
determining a write time for writing the compressed data to the buffer;
determining a ratio by dividing the compression time by the write time; and
selectively modifying the compression mode based in part on the determined ratio of compression time divided by write, wherein selectively modifying the compression mode further comprises;
if the ratio of compression time/write time is greater than a threshold value, selectively selecting another compression mode having a lower expected compression ration than a currently selected compression mode; and
if a ratio of write time/compression time is greater than another threshold value, selectively selecting yet another compression mode having a higher expected compression ration than a currently selected compression mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- a network communication component that sends or receives data over the network; and
-
9. A system configured to communicate data over a network, comprising:
-
a first network device that is operative to perform actions, including; selecting a first compression mode from a plurality of compression modes; compressing a first portion of data using the first compression mode; determining a compression time for compressing the first portion of data; writing the compressed first portion of the data for use in transmitting the compressed first portion of the data over the network; determining a write time for writing the compressed first portion of data; determining a ratio by dividing the compression time by the write time; selectively selecting a second compression mode based in part on the determined compression time divided by write time ratio, wherein selectively selecting the second compression mode further comprises; if the ratio of compression time/write time is greater than a threshold value, selectively reducing the first compression mode; and if a ratio of write time/compression time is greater than another threshold value, selectively increasing the first compression mode; and compressing a second portion of the data using the second compression mode; and a second network device that is operative to perform actions, including; negotiating with the first network device the plurality of compression modes; receiving the compressed data; determining one of the plurality of compression modes used to compress the data; and decompressing the compressed data using the determined compression mode. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method of managing content over a network, comprising;
-
compressing a first portion of data using a first compression mode; determining a compression time for compressing the first portion of the data; writing out the compressed first portion of the data to a buffer; determining a write time for writing the compressed first portion of the data to the buffer; determining a ratio by dividing the compression time by the write time; and selectively selecting a second compression mode based in part on the determined ratio and compressing a second portion of the data, wherein selectively selecting the second compression mode further comprises; if the ratio of compression time/write time is greater than a threshold value, selectively reducing the first compression mode; and if a ratio of write time/compression time is greater than another threshold value, selectively increasing the first compression mode. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A traffic management device (TMD) for enabling communications between network devices, comprising:
-
a transceiver for sending and receiving network packets; and a metacodec component operative to perform actions, including; reading data from another computing device; compressing the data using a first compression mode; calculating a compression time for compressing the data; writing the compressed data to a buffer for use in transmitting the compressed data over the network; calculating a write time for writing the compressed data to the buffer; determining a ratio by dividing the compression time by the write time; selectively selecting a second compression mode based in part on the determined ratio of compression time to write time, wherein selectively selecting the second compression mode further comprises; if the ratio of compression time/write time is greater than a threshold value, selectively reducing the first compression mode; and if a ratio of write time/compression time is greater than another threshold value, selectively increasing the first compression mode; reading additional data from the other computing device; and employing the second compression mode to selectively compress the additional data.
-
Specification