Parallel TCP Processing for Network Bandwidth Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Increasing network bandwidths outpace CPU processing capabilities, limiting the ability to fully utilize available bandwidth in TCP packet processing, as current TCP protocols are byte-stream-oriented and processed serially, leading to computational resource bottlenecks.

Innovation Solution

Partitioning TCP data streams into segments and assigning them to multiple processing elements for parallel processing, allowing simultaneous sending and receiving of data segments over a network connection without modifying the TCP protocol, enabling transparent operation across existing applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCP packets are processed serially using single-threaded CPUs, then TCP protocol compatibility is maintained, but network bandwidth utilization is limited due to CPU processing capabilities

Engineering Contradiction:
Improvenetwork bandwidth utilizationVSAvoidprocessing architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the TCP byte stream into multiple data segments and assigns each segment to a separate processing element. This segmentation allows parallel processing of TCP packets across multiple CPU cores or threads, thereby increasing network bandwidth utilization without requiring changes to the TCP protocol itself. The segmentation is achieved at the application layer while maintaining transparent TCP operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-threaded serial processing to multi-threaded parallel processing by utilizing multiple processing elements simultaneously. This dimensional change from one-dimensional sequential execution to multi-dimensional parallel execution enables the system to fully utilize available network bandwidth while maintaining TCP protocol compatibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple processing elements are used for parallel TCP processing, then processing throughput is improved, but compatibility with existing TCP applications is compromised

Engineering Contradiction:
Improveprocessing throughputVSAvoidTCP application compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer that sits between the application layer and the network layer. This intermediary parallelizes TCP packet processing across multiple processing elements while maintaining the standard TCP protocol interface. Existing TCP applications continue to operate unchanged as the parallelization is transparent to them, thus maintaining compatibility while improving throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the TCP processing workload across multiple processing elements while maintaining a unified TCP connection interface. Each processing element handles specific data segments independently, but the overall TCP protocol behavior remains unchanged, ensuring compatibility with existing applications that expect standard TCP operation.

Inventive Principle:
Principle #1Segmentation

3Productivity

If data is partitioned into segments for parallel processing, then per-connection throughput is enhanced, but data reassembly and ordering complexity increases

Engineering Contradiction:
Improveper-connection throughputVSAvoiddata reassembly complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where each processing element tracks the status of its assigned data segments, including transmission status and acknowledgment receipt. This feedback information is used to coordinate reassembly and ordering operations, ensuring that data segments are correctly recombined in the original sequence while maintaining high throughput through parallel processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2208331B1Parallelizing the TCP behavior of a network connection
Publication Date: 2016.11.16 ORACLE AMERICAN INC
  • EP2208331B1 patent drawingFigure 1
  • EP2208331B1 patent drawingFigure 2
  • EP2208331B1 patent drawingFigure 3

AI summary

One embodiment of the present invention provides a system that parallelizes the TCP-related actions of a network connection between two computer systems during a data transfer between the two computer systems. During operation, the first computer system partitions the data into two or more data segments, and assigns the data segments to multiple processing elements (1). These multiple processing elements subsequently prepare and send their assigned data segments to the second computer system in parallel using TCP (2).