HTTP/2 Multiplexing Acceleration via Sequence Number Manipulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The rate of network traffic transmission using multiplexed application layer streams in HTTP 2.0 is limited due to congestion avoidance mechanisms, resulting in a slower increase in the congestion window compared to standard HTTP streams, which hampers network performance.
Innovation Solution
A networking appliance accelerates the rate at which the congestion window is increased by sending HTTP 2.0 ping frames to clients and adjusting sequence numbers, allowing both clients and servers to transmit packets more efficiently using HTTP 2.0.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple TCP connections are used for standard HTTP streams, then the congestion window increases faster and network transmission rate is higher, but the overhead of establishing and maintaining multiple connections increases complexity
Solution Approach 1:
The patent merges multiple application layer streams into a single TCP connection using HTTP/2.0 multiplexing. This allows multiple independent data streams to be transmitted over one shared connection, eliminating the need to manage multiple separate TCP connections while maintaining the ability to control congestion window growth for each stream independently through sequence number manipulation.
Solution Approach 2:
The patent introduces an intermediary device (such as a gateway or proxy server) that sits between the client and server. This intermediary manipulates sequence numbers of HTTP/2.0 frames to artificially accelerate congestion window growth without requiring the end systems to implement complex changes. The intermediary acts as a mediator that transparently modifies packet characteristics to achieve faster transmission rates.
2Device complexity
If HTTP/2.0 multiplexing is used to reduce connection overhead, then connection complexity is reduced, but the congestion window increases slower and network transmission rate decreases
Solution Approach 1:
The patent changes the sequence number parameter of HTTP/2.0 frames to manipulate congestion window growth. By incrementing sequence numbers more aggressively than standard protocols would allow, the system accelerates the rate at which the congestion window expands, thereby increasing network transmission rate while maintaining the simplicity of single-connection multiplexing.
3Productivity
If sequence numbers are manipulated to accelerate congestion window growth, then network transmission rate increases, but protocol compliance and reliability may be compromised
Solution Approach 1:
The patent uses an intermediary device to manipulate sequence numbers, isolating the protocol compliance requirements from the acceleration mechanism. The intermediary translates artificially accelerated sequence numbers into valid HTTP/2.0 frames, ensuring that end systems (clients and servers) never directly handle non-compliant data. This maintains protocol reliability at the endpoints while enabling rate acceleration through the intermediary.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
Described embodiments improve the performance of a computer network using multiplexed application layer streams of network traffic. Multiplexed application layer streams of network traffic from the client to the server can be received via a first transport control protocol (TCP) connection. The multiplexed application layer streams of network traffic can include a first data packet with a first sequence number. The first data packet with the first sequence number can be forwarded to the server via a second TCP connection. A ping frame of an application layer protocol can be transmitted to the client to cause the client to increase a next sequence number. A second data packet can be received from the client with the next sequence number including a second sequence number. The second sequence number of the second data packet can be adjusted to be a third sequence number expected by the second TCP connection.