Metacodec for optimizing network data compression based on comparison of write and read rates
First Claim
1. A processor readable non-transitive media that includes instructions, wherein the execution of the instructions by a network device enables actions, comprising:
- negotiating which of a plurality of compression modes the network device and another network device will selectively use to compress and decompress data transmitted between the network device and the other network device;
reading data received over a network;
compressing the data using a compression mode of the plurality of negotiated compression modes;
determining a compression time as an amount of time consumed to compress the data using the compression mode;
writing the compressed data to a buffer for use in communicating the compressed data over the network;
determining a write time as another amount of time consumed to write the compressed data to the buffer;
determining a ratio of the compression time to the write time for the data;
selectively modifying the compression mode based in part on the determined ratio of compression time to write time; and
wherein selectively modifying the compression mode includes;
if the determined ratio is greater than a threshold value, selecting another compression mode having a lower ratio of compression than a current compression mode; and
if a ratio of write time to compression time is greater than another threshold value, selecting yet another compression mode having a higher ratio of compression than the current 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.
82 Citations
19 Claims
-
1. A processor readable non-transitive media that includes instructions, wherein the execution of the instructions by a network device enables actions, comprising:
-
negotiating which of a plurality of compression modes the network device and another network device will selectively use to compress and decompress data transmitted between the network device and the other network device; reading data received over a network; compressing the data using a compression mode of the plurality of negotiated compression modes; determining a compression time as an amount of time consumed to compress the data using the compression mode; writing the compressed data to a buffer for use in communicating the compressed data over the network; determining a write time as another amount of time consumed to write the compressed data to the buffer; determining a ratio of the compression time to the write time for the data; selectively modifying the compression mode based in part on the determined ratio of compression time to write time; and wherein selectively modifying the compression mode includes; if the determined ratio is greater than a threshold value, selecting another compression mode having a lower ratio of compression than a current compression mode; and if a ratio of write time to compression time is greater than another threshold value, selecting yet another compression mode having a higher ratio of compression than the current compression mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A traffic management computer for enabling communications between a plurality of network devices, comprising:
-
a transceiver for sending and receiving network packets; and a hardware processor operative to perform actions, including; negotiating which of a plurality of compression modes the traffic management computer and a network device will selectively use to compress and decompress data transmitted between the traffic management computer and the network device; reading data received over a network; compressing the data using a compression mode of the plurality of negotiated compression modes; determining a compression time as an amount of time consumed to compress the data using the compression mode; writing the compressed data to a buffer for use in communicating the compressed data over the network; determining a write time us another amount of time consumed to write the compressed data to the buffer; determining a ratio of the compression time to the write time for the data; selectively modifying the compression mode based in part on the determined ratio of compression time to write time; and wherein selectively modifying the compression mode includes; if the determined ratio is greater than a threshold value, selecting another compression mode having a lower ratio of compression than a current compression mode; and if a ratio of write time to compression time is greater than another threshold value, selecting yet another compression mode having a higher ratio of compression than the current compression mode. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for enabling communications between a plurality of network devices, comprising:
a first network device, comprising a transceiver for sending and receiving network packets; and a hardware processor operative to perform actions, including; negotiating which of a plurality of compression modes the first network device and a second network device will selectively use to compress and decompress data transmitted between the first network device and the second network device; reading data received over a network; compressing the data using a compression mode of the plurality of negotiated compression modes; determining a compression time as an amount of time consumed to compress the data using the compression mode; writing the compressed data to a buffer for use in communicating the compressed data over the network; determining a write time as another amount of time consumed to write the compressed data to the buffer; determining a ratio of the compression time to the write time for the data; selectively modifying the compression mode based in part on the determined ratio of compression time to write time; and wherein selectively modifying the compression mode includes; if the determined ratio is greater than a threshold value, selecting another compression mode having a lower ratio of compression than a current compression mode; and if a ratio of write time to compression time is greater than another threshold value, selecting yet another compression mode having a higher ratio of compression than the current compression mode. - View Dependent Claims (16, 17, 18, 19)
Specification