Shared Header Indexing for Multi-Client HTTP Server Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing HTTP/2.0 standard incurs high processing and memory costs for server devices managing multiple client connections, particularly for small embedded devices, due to the need for separate server-initiated header indexing tables for each connection.
Innovation Solution
A method where a single server-initiated indexing table is shared across multiple client connections, with the server device pushing this table to client entities to configure them for decoding, allowing the server device to encode information items using item indexing based on the shared table, reducing memory usage and processing costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a separate server-initiated indexing table is maintained for each client connection, then each client can be configured for decoding with connection-specific headers, but memory consumption and processing costs at the server device increase significantly
Solution Approach 1:
The patent merges multiple connection-specific indexing tables into a single shared server-initiated indexing table that is common to all client connections. This single table is pushed to all clients, eliminating the need to maintain separate tables for each connection, thereby reducing memory consumption while still allowing clients to be configured with the necessary header information for decoding.
Solution Approach 2:
The single server-initiated indexing table serves multiple functions and multiple clients simultaneously. It is used as the basis for encoding headers for all client connections and is pushed to all clients to configure their decoders, making the indexing table universal across all connections rather than connection-specific.
2Productivity
If a separate server-initiated indexing table is maintained for each client connection, then header encoding can be optimized for each connection, but processing costs at the server device increase
Solution Approach 1:
The patent combines the header encoding process for multiple clients into a unified process using a single shared indexing table. Instead of maintaining and updating separate indexing tables for each connection, the server maintains one table and pushes it to all clients, significantly reducing the processing overhead and complexity at the server device.
3Ease of operation
If literal representation is used for HTTP headers, then no special configuration is needed at clients, but compression efficiency decreases due to redundancy in successive messages
Solution Approach 1:
The server performs preliminary action by pushing the server-initiated indexing table to clients before actual header encoding takes place. This allows clients to pre-configure their decoders with the necessary indexing information, enabling efficient compressed header decoding without requiring complex client-side configuration or manual setup.
Data Source
AI summary
The invention concerns a method of exchanging information items, e.g. HTTP headers, between a server device and a plurality of clients, and also concerns such a server device. The server device establishes connections with clients, wherein each connection involves a server-initiated indexing table for the server device to encode information items to be sent over the connection in the server-to-client direction. The method comprises the following steps performed at the server device: obtaining a same single indexing table as the server-initiated indexing table of the connections; in response to receiving a request for data from a client, pushing entries of the table to the client to configure the latter for item exchange in the server-to-client direction, encoding information items associated with the requested data using item indexing based on the table and sending the encoded information items to the client over the connection established with it.


