Dynamic data compression selection
US-9621186-B2 · Apr 11, 2017 · US
US9762260B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9762260-B2 |
| Application number | US-201715440924-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 23, 2017 |
| Priority date | Mar 6, 2015 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Aspects of dynamic data compression selection are presented. In an example method, as uncompressed data chunks of a data stream are compressed, at least one performance factor affecting selection of one of multiple compression algorithms for the uncompressed data chunks of the data stream may be determined. Each of the multiple compression algorithms may facilitate a different expected compression ratio. One of the multiple compression algorithms may be selected separately for each uncompressed data chunk of the data stream based on the at least one performance factor. Each uncompressed data chunk may be compressed using the selected one of the multiple compression algorithms for the uncompressed data chunk.
Opening claim text (preview).
The invention claimed is: 1. A method for data compression, the method comprising: receiving uncompressed source data at a data compression system from a data storage device, the uncompressed source data comprising a plurality of uncompressed data chunks; selecting, at a first time, a first compression technique from a plurality of compression techniques to use to compress one or more first uncompressed data chunks of the plurality of uncompressed data chunks; compressing one or more first uncompressed data chunks using the first compression technique to produce one or more first compressed data chunks; routing the one or more first compressed data chunks to a data target over a network; at each second time of one or more second times: identifying, utilizing a hardware processor of the data compression system, at least one performance factor, the at least one performance factor characterizing a performance of the data compression system, of the network, or of the data target; selecting a compression technique from the plurality of compression techniques based on the identified at least one performance factor, wherein, for each of at least one second time of the one or more second times, the compression technique is a second compression technique that is different than the first compression technique; compressing, utilizing the data compression system, one or more next uncompressed data chunks of the plurality of uncompressed data chunks using the selected compression technique to produce one or more next compressed data chunks; and routing the one or more next compressed data chunks to the data target over the network. 2. The method for data compression as recited in claim 1 , wherein selecting the compression technique includes: selecting a compression algorithm to use to compress the one or more next uncompressed data chunks; selecting a value or parameter with which to configure a compression algorithm to use to compress the one or more next uncompressed data chunks; or selecting a portion of a compression algorithm to use to compress the one or more next uncompressed data chunks. 3. The method for data compression as recited in claim 1 , wherein the one or more second times include a plurality of second times, and wherein consecutive second times within the plurality of second times are separated by a defined time interval. 4. The method for data compression as recited in claim 1 , wherein the one or more second times include a plurality of second times, and wherein the plurality of second times are defined to correspond to a compression time for each of multiple sets of uncompressed data chunks in the plurality of uncompressed data chunks. 5. The method for data compression as recited in claim 1 , wherein the one or more second times include a plurality of second times, and wherein the plurality of second times are defined to correspond to a compression time for each uncompressed data chunk subsequent to the one or more first uncompressed data chunk in the plurality of uncompressed data chunks. 6. The method for data compression as recited in claim 1 , wherein a first data stream includes the plurality of uncompressed data chunks and a second data stream includes a plurality of second uncompressed data chunks, and wherein the method further comprises: identifying at least one other performance factor, the at least one other performance factor characterizing a performance corresponding to processing of the second data stream; selecting an other-stream compression technique from the plurality of compression techniques based on the identified at least one other performance factor; compressing, utilizing the data compression system, a second uncompressed data chunk of the plurality of second uncompressed data chunks using the selected other-stream compression technique to produce a second compressed data chunks; and routing the second compressed data chunks to an other-stream data target over the network, wherein the second uncompressed data chunk is compressed concurrently with a next uncompressed data chunk of the plurality of uncompressed data chunk, and wherein the selection of the other-stream compression technique is performed independently of the selection of the compression technique used to compress the next uncompressed data chunk. 7. The method for data compression as recited in claim 1 , further comprising, at each second time of one or more second times: communicating an indication of the selected compression technique used to compress the one or more next compressed data chunks to the data target. 8. The method for data compression as recited in claim 1 , wherein identifying the at least one performance factor includes assessing: a queue of compressed data chunks awaiting transmission over the network to the data target; a network throughput associated with the network; a processor utilization of the data compression system; or a number of active execution threads in the data compression system. 9. The method for data compression as recited in claim 1 , wherein the first compression technique is associated with a first expected compression ratio that is different than a second expected compression ratio associated with the second compression technique. 10. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including: receiving uncompressed source data at a data compression system from a data storage device, the uncompressed source data comprising a plurality of uncompressed data chunks; selecting, at a first time, a first compression technique from a plurality of compression techniques to use to compress one or more first uncompressed data chunks of the plurality of uncompressed data chunks; compressing one or more first uncompressed data chunks using the first compression technique to produce one or more first compressed data chunks; routing the one or more first compressed data chunks to a data target over a network; at each second time of one or more second times: identifying, utilizing a hardware processor of the data compression system, at least one performance factor, the at least one performance factor characterizing a performance of the data compression system, of the network, or of the data target; selecting a compression technique from the plurality of compression techniques based on the identified at least one performance factor, wherein, for each of at least one second time of the one or more second times, the compression technique is a second compression technique that is different than the first compression technique; compressing, utilizing the data compression system, one or more next uncompressed data chunks of the plurality of uncompressed data chunks using the selected compression technique to produce one or more next compressed data chunks; and routing the one or more next compressed data chunks to the data target over the network. 11. The computer-program product as recited in claim 10 , wherein selecting the compression technique includes: selecting a compression algorithm to use to compress the one or more next uncompressed data chunks; selecting a value or parameter with which to configure a compression algorithm to use to compress the one or more next uncompressed data chunks; or selecting a portion of a compression algorithm to use to compress the one or more next uncompressed data chunks. 12. The computer-program product as recited in claim 10 , wherein the one or more second times include a plurality of second times, and wherein consecutive second times within
Selection strategies · CPC title
Encoder aspects · CPC title
Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction · CPC title
according to reasons other than compression rate or data type · CPC title
Selection between different types of compressors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.