Adaptive Compression for Deduplication File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing deduplication file systems face performance issues during read operations due to inefficient compression methods, which can lead to CPU overload and system degradation.

Innovation Solution

An adaptive compression process is implemented in DDBOOST systems that tracks CPU usage on both the client and server, opportunistically compressing data only when sufficient CPU resources are available, and intelligently decompressing data on the client if the server has compressed it.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compression is applied during restore operations to reduce data transfer, then network bandwidth utilization is improved, but CPU usage increases significantly

Engineering Contradiction:
Improvedata transfer volumeVSAvoidCPU usage
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system dynamically changes the compression parameter based on available CPU resources. When CPU usage is low, compression is applied to reduce data transfer volume. When CPU usage is high, compression is skipped to preserve system performance. This adaptive parameter adjustment resolves the contradiction between reducing data transfer and maintaining acceptable CPU usage levels.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compression is always applied during restores, then read operation efficiency is improved, but system reliability deteriorates due to CPU overload

Engineering Contradiction:
Improveread operation efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The compression behavior is made dynamic rather than static. The system continuously monitors CPU usage and adjusts compression application in real-time. This dynamic adaptation ensures that compression is applied only when it won't cause system overload, thus maintaining both read operation efficiency and system reliability under varying load conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback by monitoring CPU usage metrics and using this information to control compression behavior. When CPU usage exceeds thresholds, the system feedback loop disables compression to prevent system failure. This closed-loop control mechanism resolves the contradiction by automatically adjusting operations based on system state.

Inventive Principle:
Principle #23Feedback

3Loss of energy

If compression statistics are stored and checked for each file, then unnecessary compression is avoided, but system complexity increases

Engineering Contradiction:
Improvewasted compression resourcesVSAvoidsystem architecture complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

Compression statistics are pre-calculated and stored during the backup operation, before restore operations occur. This preliminary action eliminates the need for real-time compression analysis during restores, avoiding wasted compression resources while adding minimal complexity through simple metadata storage and lookup mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12306721B2Pre-filter check for compressibility using stored compression factors to improve reads in a deduplication file system
Publication Date: 2025.05.20 DELL PROD LP
  • US12306721B2 patent drawing
  • US12306721B2 patent drawing
  • US12306721B2 patent drawing

AI summary

Improving the performance of read operations in a restore path of a backup system by adaptively applying compression. The method defines an extent covering data segments for which compression ratio statistics are calculated, and calculates a respective compression ratio for each data segment in the defined extent. It then associates each unique compression ratio with a corresponding index value and stores each compression ratio and associated corresponding index value in an array. The array is appended as extended file attribute to the data segments, the indexed compression ratio is used by a backup server to determine whether or not to apply compression to the data segments in a restore path sending the data segments from the backup server.