Adaptive compression
First Claim
1. A network device for communicating a file over a network, comprising:
- a transceiver to send and receive data over the network; and
a compression component that is programmed to perform actions comprising;
receiving the file;
compressing at least a portion of the file into a buffer using a first compression mode to create a compressed block;
if the compression of at least the portion of the file using the first compression mode results in the file being completely compressed into the buffer, determining an adjusted file length for the file, based, in part, on the size of the compressed block, and sending the compressed block and the adjusted file length to a destination; and
if the compression of at least the portion of the file using the first compression mode results in the file being incompletely compressed into the buffer,determining an expected file length for the file based, in part, on a remaining portion of the file that is currently uncompressed based on a second compression mode, wherein the first compression mode and the second compression mode are different from each other;
sending the compressed block and the expected file length towards the destination;
compressing the remaining portion of the file into at least one additional compressed block using the second compression mode, andsending the at least one additional compressed block towards the destination.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and apparatus are directed towards compression of content over a network. The content may include content length information, such as within a header. In one embodiment, a portion of the content may be compressed to approximately fill a buffer of a predefined size. If there remains additional uncompressed content, a new content length may be determined based in part on the length of the compressed content and the remaining uncompressed content. The buffered content and the new content length may then be forwarded in response to the request. The remaining uncompressed content may be split into predefined blocks using identity compression. Identity compression may then be applied to the remaining uncompressed content which is then forwarded to a destination in response to the request.
87 Citations
11 Claims
-
1. A network device for communicating a file over a network, comprising:
-
a transceiver to send and receive data over the network; and a compression component that is programmed to perform actions comprising; receiving the file; compressing at least a portion of the file into a buffer using a first compression mode to create a compressed block; if the compression of at least the portion of the file using the first compression mode results in the file being completely compressed into the buffer, determining an adjusted file length for the file, based, in part, on the size of the compressed block, and sending the compressed block and the adjusted file length to a destination; and if the compression of at least the portion of the file using the first compression mode results in the file being incompletely compressed into the buffer, determining an expected file length for the file based, in part, on a remaining portion of the file that is currently uncompressed based on a second compression mode, wherein the first compression mode and the second compression mode are different from each other; sending the compressed block and the expected file length towards the destination; compressing the remaining portion of the file into at least one additional compressed block using the second compression mode, and sending the at least one additional compressed block towards the destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A network device for communicating a file over a network, comprising:
-
a transceiver to send and receive data over the network; and a compression component that is programmed to perform actions comprising; receiving the file; compressing at least a portion of the file into an output buffer; if the file incompletely compresses into the output buffer; determining an expected file length based, in part, on a remaining portion of the file that is currently uncompressed based on a compression file format, sending the compressed portion of the file and the expected file length towards a destination, encoding the remaining portion of the file into uncompressed blocks as defined by the compression file format, and sending the encoded remaining portion of file towards the destination; and otherwise; determining an adjusted file length for the file based, in part, on the size of the compressed file and sending the compressed file and adjusted file length to the destination. - View Dependent Claims (11)
-
Specification