History Buffer Decompression Across Local and Remote Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current decompression technologies face memory pressure and network traffic limitations in handling large numbers of concurrent connections, particularly in stateless decompression, where the entire compressed data stream must be available, leading to inefficiencies and potential vulnerabilities in systems like intrusion prevention systems.

Innovation Solution

A method and system that utilize a history buffer to asynchronously fetch and store data dictionary elements from remote memory, allowing for stalled decompression operations to proceed using locally available data, and prefetching recent history to reduce memory access delays, enabling efficient stateful decompression and minimizing memory overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If stateless decompression is used to handle large numbers of concurrent connections, then the system can process multiple connections simultaneously, but significant memory pressure is created requiring the entire compressed data stream to be available

Engineering Contradiction:
Improveconcurrent connection handlingVSAvoidmemory pressure
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the data dictionary into multiple pages that can be independently managed and loaded. Instead of requiring the entire data dictionary to be available in memory simultaneously, the system divides it into manageable pages that are loaded on-demand, reducing the memory pressure while maintaining the ability to handle multiple concurrent connections

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary loading of data dictionary pages into a history buffer before they are needed for decompression operations. By pre-loading pages into local memory buffers, the system reduces the need to access remote memory during active decompression, thereby reducing memory pressure while maintaining high concurrent connection处理能力

Inventive Principle:
Principle #10Preliminary action

2Reliability

If decompression engines are dedicated to particular streams to enable per-packet decompression, then packets can be decompressed one after another, but the number of concurrent connections is limited to the number of decompression engines

Engineering Contradiction:
Improveper-packet decompression capabilityVSAvoidconcurrent connection capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a shared history buffer as an intermediary structure that multiple decompression engines can access simultaneously. This shared buffer allows packets from different streams to be decompressed in parallel by different engines while maintaining the stateful decompression capability, thereby increasing concurrent connection capacity without sacrificing per-packet processing reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent makes the history buffer a universal resource that serves multiple decompression engines simultaneously. Instead of dedicating separate history buffers to each engine, the same history buffer is shared across multiple engines, allowing them to collaborate on decompressing multiple concurrent streams without requiring proportional increases in memory resources

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If the entire compressed data stream is made available for stateless decompression, then independent processing of different streams is enabled, but service attacks can be exploited through memory pressure

Engineering Contradiction:
Improveindependent stream processingVSAvoidservice attack vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent implements partial loading of the data dictionary into the history buffer, loading only the necessary pages rather than the entire data stream. This partial action approach maintains independent stream processing capability while limiting the memory exposure to attack vectors, as only portions of the data dictionary are loaded into accessible memory at any given time

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7692561B2Method and apparatus for data decompression in the presence of memory hierarchies
Publication Date: 2010.04.06 MEDIATEK INC
  • US7692561B2 patent drawing
  • US7692561B2 patent drawing
  • US7692561B2 patent drawing

AI summary

A method for decompressing a stream of a compressed data packet includes determining whether first data of a data-dictionary for a first decompression copy operation is located in a history buffer on a remote memory or a local memory, and when it is determined that the first data is located in the remote memory, stalling the first decompression copy operation, performing a second decompression operation using second data that is located in the history buffer on the local memory and fetching the first data from the remote memory to the history buffer on the local memory. The method further includes performing the first decompression operation using the first data in the history buffer on the local memory.