TCP Reassembly Queue Segmentation for HTTP/2 Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data communication networks using TCP, HTTP/2 streams are indistinguishable in TCP reassembly queues, leading to head-of-line blocking delays and unnecessary resource usage due to out-of-order segment issues.

Innovation Solution

Devices identify stream identifiers in received TCP segments and release segments from the reassembly queue when conditions such as end-of-stream indicators or threshold in-order segments are met, allowing for differentiated processing and memory conservation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP segments are held in the reassembly queue until all segments are received in order, then data completeness is ensured, but processing delays increase due to head-of-line blocking

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing delays
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the reassembly queue into multiple independent queues, one for each HTTP/2 stream identified by stream identifier. This allows TCP segments for different streams to be processed independently, so that out-of-order delivery of segments for one stream does not block processing of segments for other streams, thereby reducing head-of-line blocking delays while maintaining data completeness for each individual stream

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic release conditions where TCP segments can be released from the reassembly queue when specific conditions are met, such as receiving an end-of-stream indicator or when a threshold number of in-order segments are received. This dynamic approach allows the system to balance between ensuring data completeness and reducing processing delays based on the actual state of segment reception

Inventive Principle:
Principle #15Dynamics

2Reliability

If all TCP segments are held in the reassembly queue until complete, then data integrity is maintained, but memory usage increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By dividing the reassembly queue into multiple stream-specific queues, the patent enables selective release of completed streams. When all segments for a particular stream are received and reassembled, those segments can be released from memory, freeing up resources while maintaining data integrity for streams that are still being reassembled

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a mechanism where TCP segments that have been successfully reassembled and for which the end condition is met are released from the reassembly queue, making the memory resources occupied by these segments available for reuse. This allows the system to maintain data integrity for ongoing streams while recovering memory resources from completed streams

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10291682B1Efficient transmission control protocol (TCP) reassembly for HTTP/2 streams
Publication Date: 2019.05.14 JUNIPER NETWORKS INC
  • US10291682B1 patent drawing
  • US10291682B1 patent drawing
  • US10291682B1 patent drawing

AI summary

A device may determine that a received transmission control protocol (TCP) segment includes data for a hypertext transfer protocol (HTTP) version N stream, where N is greater than or equal to 2. The device may identify, from the received TCP segment, a stream identifier for the HTTP version N stream. The device may determine that a condition is satisfied for releasing one or more TCP segments, associated with the stream identifier, from a TCP reassembly queue. The device may release the one or more TCP segments from the TCP reassembly queue based on determining that the condition is satisfied.