Layer 4 Switch Packet Reordering for HTTP/2 Multiplexed Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Layer 4 switches experience head of line blocking issues due to their inability to differentiate between out-of-sequence packets from different streams in multiplexed connections, leading to inefficiencies in data recovery, particularly evident in HTTP 2.0 protocol where a lost packet blocks other packets from being delivered.

Innovation Solution

Incorporating an optional field in the TCP header to identify the stream to which each packet belongs, allowing the switch to continue forwarding in-sequence packets from different streams, thus avoiding the blocking effect of a lost packet.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Layer 4 switches forward only in-sequence packets to maintain connection integrity, then packet delivery reliability is improved, but head of line blocking occurs and throughput decreases

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the multiplexed connection into multiple independent streams, each with its own sequence tracking. The Layer 4 switch maintains separate sequence counters for each stream, allowing it to independently determine which packets are out-of-sequence for each stream. This segmentation enables the switch to forward packets that are in-sequence for their respective streams even if they are out-of-sequence overall, thereby reducing head of line blocking while maintaining reliability within each stream.

Inventive Principle:
Principle #1Segmentation

2Reliability

If Layer 4 switches wait for lost packet recovery before forwarding subsequent packets, then data integrity is improved, but latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces dynamic stream identification and sequence tracking mechanisms that adapt to multiplexed connections. The Layer 4 switch dynamically identifies which stream each packet belongs to using HTTP 2.0 header information, and dynamically adjusts sequence checking on a per-stream basis. This dynamic approach allows the switch to continue forwarding packets for streams that are not affected by loss, thereby reducing latency while maintaining data integrity for the affected stream through selective waiting.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If Layer 4 switches treat all packets uniformly without stream differentiation, then device complexity is reduced, but head of line blocking sensitivity increases

Engineering Contradiction:
Improveswitching logic complexityVSAvoidhead of line blocking sensitivity
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces stream identification information (such as stream IDs from HTTP 2.0 headers) as an intermediary mechanism between the multiplexed connection and the Layer 4 switching logic. This intermediary allows the switch to differentiate packets belonging to different streams without requiring complex rewriting of the switching logic. The stream ID acts as a key that enables simple per-stream sequence tracking and forwarding decisions, reducing head of line blocking sensitivity while keeping the added complexity minimal.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10091104B1Object reordering for fast Layer 4 switching of multiplexed connections
Publication Date: 2018.10.02 AKAMAI TECHNOLOGIES INC
  • US10091104B1 patent drawing
  • US10091104B1 patent drawing
  • US10091104B1 patent drawing

AI summary

Packet loss that arises due to an in-order serialization requirement for multiplexed stream delivery is ameliorated by a packet reordering scheme. In this approach, when out-of-sequence packets are detected, a switching entity (e.g., a Layer 4 switch) continues to relay the packets as long as the out-of-sequence packets are associated with different streams and are themselves in-sequence in their associated stream. To facilitate this process, the TCP protocol stack is augmented to recognize when a particular packet stream is to be processed in this manner.