TCP Reset Packet Offload for Accelerated Flow Termination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inefficient flow termination in SDN accelerators leads to resource waste and prolonged utilization of endpoint resources due to the computational expense of generating TCP reset packets, which are not feasible for hardware accelerators with limited processing power.
Innovation Solution
A hardware accelerator mechanism that generates TCP reset packets for endpoint notification, offloading packet transformation tasks to software-based generators, reducing latency and resource utilization by performing packet transformations efficiently within the hardware accelerator.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a hardware accelerator generates TCP reset packets directly, then endpoint notification is immediate, but the computational expense exceeds the limited processing power of the hardware accelerator
Solution Approach 1:
The patent extracts the TCP reset packet generation function from the hardware accelerator and relocates it to a software-based controller. The hardware accelerator only identifies flows meeting termination criteria and sends termination requests, while the software component generates the actual reset packets. This separation allows the hardware accelerator to maintain high-speed flow identification without being burdened by the computational expense of packet generation.
Solution Approach 2:
The patent introduces a software-based controller as an intermediary between the hardware accelerator and the endpoint devices. This mediator receives termination requests from the hardware accelerator, generates the computationally intensive TCP reset packets, and sends them back to the hardware accelerator for transmission. This intermediary approach resolves the contradiction by placing the heavy computational burden on the software layer while maintaining the high-speed response capability of the hardware layer.
2Productivity
If flow termination is delayed due to computational constraints, then the hardware accelerator can use simpler processing, but resource waste increases and endpoint resources remain tied up longer
Solution Approach 1:
By extracting the packet generation function from the hardware accelerator to a software-based controller, the system eliminates the computational bottleneck that caused delays. The hardware accelerator can immediately identify flows meeting termination criteria and initiate the termination process, while the software component handles the computationally intensive packet generation without delaying the overall termination speed.
Solution Approach 2:
The hardware accelerator performs preliminary identification of flows meeting termination criteria and prepares termination requests in advance. When such flows are detected, the system immediately initiates the termination process by sending requests to the software-based controller, which then generates and transmits reset packets without delay, ensuring endpoint resources are freed promptly.
3Adaptability or versatility
If the hardware accelerator performs packet transformation in software, then processing flexibility increases, but latency increases and resource utilization decreases
Solution Approach 1:
The patent segments the packet transformation process into two distinct phases: (1) Flow identification and termination request generation by the hardware accelerator, and (2) TCP reset packet generation by the software-based controller. This segmentation allows each component to specialize in its optimal function - the hardware accelerator handles high-speed flow identification while the software component handles flexible packet generation, minimizing overall latency.
Solution Approach 2:
The software-based controller acts as an intermediary that receives termination requests from the hardware accelerator and generates appropriately formatted TCP reset packets. This intermediary approach maintains the high-speed processing of the hardware accelerator while introducing software-based flexibility in packet transformation, resolving the contradiction between speed and adaptability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of forcefully terminating a flow includes identifying, by a hardware accelerator, a flow entry in a flow table corresponding to a flow determined to satisfy predefined criteria for flow termination and transmitting, by the hardware accelerator, a flow termination request to a software-based reset packet generator. The flow termination request includes flow match characteristics included in the flow entry of the flow table. The method further includes generating, at the software-based reset packet generator, a first transport control protocol (TCP) reset packet with header information matching the flow match characteristics and transmitting the first TCP reset packet to the hardware accelerator. The method still further provides for transforming the first TCP reset packet, at the hardware accelerator, according to a first transformation defined in the flow entry. The transformed TCP reset packet is transmitted to the destination device and the flow entry is deleted from the flow table.