Adaptive Data Compression with Segment Skipping and CPU-Aware Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing adaptive data compression systems do not efficiently consider various factors such as CPU availability, CPU speed, and data throughput, leading to suboptimal compression results and increased overhead, which can impact system performance and user preferences.

Innovation Solution

The system performs adaptive compression by processing each data segment separately, determining successful compression based on previous segments, skipping unsuccessful segments, and selecting compression algorithms based on system parameters and user preferences, including CPU speed and network bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If compression is applied to all data segments, then compression ratio is improved, but CPU overhead increases

Engineering Contradiction:
Improvedata sizeVSAvoidCPU overhead
Core Design Contradiction:
Loss of substanceVSUse of energy by moving object

Solution Approach 1:

The data stream is divided into multiple data segments that are processed independently. Each segment can be evaluated and compressed separately based on its own characteristics and the results of previous segments, allowing selective compression to reduce overall CPU overhead while maintaining compression efficiency where applicable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying compression to all data segments, the system applies compression only to segments where it is effective (where the compression ratio exceeds a threshold). This partial action approach avoids wasting CPU resources on segments that would not benefit from compression, thereby reducing overall CPU overhead while still achieving good compression ratios for the data that is compressed.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If adaptive compression is applied to individual data segments, then compression efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Different compression algorithms or compression strategies are applied to different data segments based on their local characteristics. Each segment is evaluated independently and processed with the most appropriate method for that specific segment, improving overall compression efficiency while keeping the decision-making process localized and manageable.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary evaluation of each data segment before applying compression, assessing whether compression is likely to be effective. This preliminary action includes checking segment characteristics and comparing against previous compression results, allowing the system to avoid complex compression operations on segments that would not benefit, thereby managing system complexity effectively.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If compression algorithms are selected based on system parameters, then resource optimization is improved, but decision-making complexity increases

Engineering Contradiction:
Improveresource optimizationVSAvoiddecision-making complexity
Core Design Contradiction:
Use of energy by moving objectVSDifficulty of detecting and measuring

Solution Approach 1:

The compression algorithm selection is dynamic and adapts to current system conditions. System parameters such as CPU availability, memory usage, and data characteristics are continuously monitored, and the compression strategy is adjusted accordingly. This dynamic approach optimizes resource usage by selecting appropriate compression algorithms based on real-time system state rather than using a fixed algorithm.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from previous compression operations to inform future decisions. By analyzing the results of compressing previous data segments and current system parameters, the system makes informed decisions about whether to compress the next segment and which algorithm to use. This feedback mechanism simplifies decision-making by relying on historical performance data rather than requiring complex real-time analysis.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7460032B2Methods and apparatus for performing adaptive compression
Publication Date: 2008.12.02 OPEN TEXT CORPORATION
  • US7460032B2 patent drawing
  • US7460032B2 patent drawing
  • US7460032B2 patent drawing

AI summary

Methods and apparatus for performing adaptive compression are disclosed. A data stream is divided into a plurality of data segments. When one of the plurality of data segments is compressed, it is determined whether the compression has been successful. When the compression has been successful, a data segment in proximity to the compressed segment (e.g., the next data segment in the plurality of data segments) is compressed. However, when the compression has been unsuccessful, one or more of the plurality of data segments are skipped (i.e., not compressed) before compression is attempted on another one of the plurality of data segments. When a data segment is compressed, the compression algorithm (and any associated parameter(s)) that is applied is selected based upon a variety of factors, such as the length of the data segment, CPU speed, CPU availability, and/or data throughput such as the network bandwidth or network availability (e.g., where data is to be transmitted via a network interface). The compression algorithm (and any associated parameter(s)) may also be selected, at least in part, based upon a set of user preferences that indicate a preference between the speed with which compression is performed and the amount that a data segment is compressed.