HTTP Header Encoding with Shared Index Tables for Fast Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods for HTTP headers, such as SPDY, face inefficiencies in processing speed and memory consumption, particularly when handling large numbers of connections, due to high memory requirements and slow redundancy search processes.

Innovation Solution

A method that indexes HTTP headers prior to compression, grouping indexes and literal values to create an encoded bitstream, allowing for faster redundancy search and reduced memory usage, while using a shared global table to optimize memory consumption across connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional binary compression (Deflate) is used for HTTP headers, then compression performance is maintained, but processing speed becomes poor and memory consumption becomes high

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the HTTP header compression process into two distinct phases: (1) an indexing phase where headers are converted into compact index references using a sliding window approach, and (2) a compression phase where these indexes are compressed using Deflate. This segmentation allows the computationally intensive redundancy search to operate on a smaller, pre-processed data structure, significantly improving processing speed while reducing memory consumption compared to applying Deflate directly to the original headers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary indexing to HTTP headers before compression. By pre-processing the headers through an indexing mechanism that identifies and replaces redundant sequences with compact references, the system prepares the data in a form that requires less memory and processing power during the subsequent compression stage. This preliminary action resolves the contradiction by improving both speed and memory efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a large number of connections are handled simultaneously, then service capacity increases, but memory consumption increases due to dedicated memory areas for each encoder

Engineering Contradiction:
Improveconnection handling capacityVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a universal indexing structure that can be shared across multiple connections. Instead of maintaining separate indexing tables for each connection, the system uses a common indexing mechanism that serves multiple encoders simultaneously. This universal approach allows the system to handle a large number of connections while consuming minimal additional memory, as the indexing infrastructure is reused across all connections rather than being duplicated.

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

3Adaptability or versatility

If the serialized binary representation size increases due to many headers, then more headers can be compressed, but compression speed decreases

Engineering Contradiction:
Improvenumber of headers processedVSAvoidcompression speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent applies local quality optimization by creating a compact indexed representation of headers that preserves the essential redundancy information while reducing the overall data size. The indexing mechanism locally transforms individual header sequences into compact references, maintaining the ability to process many headers while keeping the intermediate representation small enough to maintain high compression speed. This local transformation ensures that the system can handle variable numbers of headers without sacrificing performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11122150B2Methods and devices for encoding and decoding messages
Publication Date: 2021.09.14 CANON KK
  • US11122150B2 patent drawing
  • US11122150B2 patent drawing
  • US11122150B2 patent drawing

AI summary

Methods and devices for encoding or decoding messages, each message including a list of information items. The encoding method comprises determining a first list of indexes associated with information items that are already indexed in a local indexing table and a second list of literal values of other information items not yet indexed in said indexing table; encoding the indexes of the first list; binary compressing at least a serialized binary representation of the literal values of the second list; and concatenating the first list and the second list together to obtain an encoded bitstream of the information items. When the messages are sent over a plurality of connections, a global table is shared between the connections to store the indexed items of information; and a local indexing table for each connection associates indexes with references to an entry of the shared global table.