Split Transport Processing for Low-Latency TCP Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data processing systems require significant complexity and cost to implement TCP offload engines and upper layer protocol accelerators in hardware at network interface devices, leading to high latency and difficulty in reconfiguration.
Innovation Solution
A split transport processing architecture where a host transport engine manages state for transport streams and passes necessary information to a device transport engine in hardware, allowing the device transport engine to perform critical path transport processing, reducing the need for hardware-based TCP offload engines and minimizing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If TCP processing is implemented in hardware at a network interface device, then latency is reduced, but device complexity and memory requirements increase significantly
Solution Approach 1:
The patent segments TCP processing functions between software (host transport engine) and hardware (device transport engine). The host transport engine handles stream establishment, state management, and out-of-order packet handling, while the device transport engine handles only the critical path processing of in-order packets. This segmentation reduces hardware complexity while maintaining low latency for time-sensitive operations.
Solution Approach 2:
The patent extracts the complex state management and out-of-order packet handling functions from the hardware device transport engine and places them in the software host transport engine. This extraction allows the hardware component to focus solely on fast path processing, significantly reducing its complexity and memory requirements while still achieving hardware-accelerated latency reduction.
2Loss of time
If both TCP offload engine and upper layer protocol accelerator are implemented in hardware, then upper layer messaging latency is reduced, but processing power and memory requirements increase even more
Solution Approach 1:
The patent segments protocol processing into multiple layers: the host transport engine (software) handles TCP state management and can handle upper layer protocols, while the device transport engine (hardware) handles only the critical path TCP processing. This segmentation allows upper layer protocol processing to occur in software without requiring additional hardware resources, thus reducing the quantity of processing power and memory needed.
3Adaptability or versatility
If bespoke hardware solutions such as FPGAs are used for upper layer message processing, then specific application processing is enabled, but device complexity and development time increase
Solution Approach 1:
The patent introduces a software intermediary (host transport engine) that handles application-specific upper layer protocol processing. This software layer provides adaptability and versatility for different applications without requiring bespoke hardware solutions. The device transport engine remains a general-purpose hardware component, reducing device complexity while the software intermediary provides the needed application-specific functionality.
4Productivity
If hardware implementing TCP offload engine is used, then processing speed is improved, but reconfiguration and bug fixes become much more difficult
Solution Approach 1:
The patent segments the system into hardware (device transport engine) for speed-critical functions and software (host transport engine) for flexibility-critical functions. The software component can be easily reconfigured and updated to fix bugs or adapt to new requirements, while the hardware component maintains high processing speed. This segmentation resolves the contradiction between processing speed and reconfiguration ease.
Data Source
Figure 1~2
AI summary
A network device comprising: a physical layer signalling unit for connection to a network; a device application for terminating a first transport stream; and a device transport engine coupled to a network by the physical layer signalling unit and configured to perform transport processing of the first transport stream on behalf of the device application in response to receiving a message indicating that the device transport engine is permitted to perform processing of the first transport stream, the message comprising transport stream state sufficient to allow the device transport engine to perform transport processing of the first transport stream.