Host-Device TCP State Transfer for Low Latency Messaging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face challenges in achieving low latency messaging over upper layer protocols due to the complexity and expense of implementing TCP offload engines in hardware, which require significant processing power and memory, leading to increased development times and difficulty in reconfiguring hardware solutions.
Innovation Solution
A data processing system comprising a host transport engine and a device transport engine, where the host transport engine establishes and maintains state for transport streams, passing necessary information to the device transport engine to perform transport processing, thereby reducing the need for hardware-based TCP offload engines and enabling low latency messaging.
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 cost increase significantly
Solution Approach 1:
The patent extracts TCP processing functionality from the host software stack and places it in a dedicated TCP offload engine at the network interface device. This separation allows the NIC to handle TCP processing independently, reducing latency while the host focuses on application logic. The extracted TCP offload engine handles packet reassembly, ordering, and protocol processing without burdening the host CPU.
Solution Approach 2:
The patent introduces an intermediary component - the TCP offload engine - that sits between the network interface and the host system. This intermediary handles the complex TCP processing requirements (buffer management, packet reordering, segmentation) that would otherwise require significant host resources, thereby reducing latency while managing complexity through specialized hardware mediation.
2Loss of time
If both TCP offload engine and upper layer protocol accelerator are implemented in hardware, then latency is further reduced, but processing power and memory requirements at the NIC increase significantly
Solution Approach 1:
The patent merges the TCP offload engine and upper layer protocol accelerator into a single integrated hardware solution at the network interface device. This combination allows both TCP processing and upper layer protocol processing to occur in the same hardware substrate, sharing memory resources and processing capabilities, thereby reducing total memory requirements while achieving low latency for both transport and application layer operations.
Solution Approach 2:
The patent creates a universal hardware processing platform at the NIC that can handle multiple protocol layers (TCP and upper layer protocols) within the same device. This multi-functional approach eliminates the need for separate dedicated hardware for each protocol layer, optimizing memory usage and processing power while maintaining low latency performance across different protocol processing tasks.
3Adaptability or versatility
If bespoke hardware solutions such as FPGAs are used for upper layer message processing, then specific application requirements are met, but development time and reconfiguration difficulty increase
Solution Approach 1:
The patent implements dynamically reconfigurable hardware logic at the network interface device that can be programmed to handle different upper layer protocols and application requirements. This dynamic capability allows the same hardware platform to adapt to various applications (such as financial messaging, web traffic, or custom protocols) without requiring complete hardware redesign, thereby reducing development time while maintaining application-specific optimization.
Data Source
AI summary
A data processing system comprising: a host processing device supporting a host transport engine operable to establish one or more transport streams over a network with a remote peer, the host transport engine maintaining state for each transport stream; and device hardware comprising: a device application; a device transport engine operable to perform transport processing of a transport stream on behalf of the device application; wherein the host transport engine is configured to, on establishing a first transport stream for termination at the device application, pass sufficient state to the device transport engine so as to permit the device transport engine to perform transport processing of the first transport stream.

