HTTP Header Encoding Using Shared Index Tables Across Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression methods for HTTP headers, such as SPDY's use of the Deflate algorithm, suffer from poor speed performance and high memory consumption, especially when handling multiple connections, due to the large size of serialized binary representations and the need for dedicated memory for each connection.
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, and includes features like delta encoding and indexing flags to manage memory efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the Deflate algorithm is used to compress HTTP headers, then compression performance is achieved, but processing speed becomes poor
Solution Approach 1:
The patent segments the compression process into two distinct phases: an indexing phase that creates a reference table of common header values, and a compression phase that uses this table to quickly encode headers. This segmentation allows the system to achieve both good compression ratios and high processing speeds by pre-processing common patterns.
Solution Approach 2:
The patent performs preliminary indexing of HTTP header values before actual compression occurs. By pre-building an index table containing common header patterns and their encodings, the system prepares compression data in advance, enabling rapid compression of subsequent headers without repeated analysis.
2Quantity of substance
If the Deflate algorithm is used to compress HTTP headers, then compression performance is achieved, but memory consumption becomes high
Solution Approach 1:
The patent applies local quality by making the index table connection-specific rather than global. Each connection maintains its own compact index table containing only the headers relevant to that connection, reducing memory usage compared to maintaining a large global table for all connections. This allows efficient compression per connection while keeping overall memory consumption low.
3Reliability
If dedicated memory is allocated for each connection's encoder, then compression is performed independently, but memory consumption increases with the number of connections
Solution Approach 1:
The patent makes the index table structure universal across multiple connections while allowing connection-specific content. The same index table mechanism serves all connections, but each connection populates it with its own relevant headers. This multi-functional approach allows the system to handle multiple connections efficiently without proportionally increasing memory usage.
Data Source
Figure 1~2d
Figure 3(3a)~3(3b)
Figure 4a~4b
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.