Network Controller Preventing ACK Congestion in Cluster Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional cluster systems experience congestion due to mismatches in sequential numbers during communication resumption between client and devices, leading to delays and inefficiencies in switching operations.
Innovation Solution
A network controller is implemented in the second processing device, which sets a virtual communication interface, processes dummy packets to obtain communication progress information, generates a reset packet, and removes connection record information to synchronize communication states between devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP connection information is automatically managed by the operating system, then communication continuity is maintained during device switching, but sequential number mismatches occur causing ACK congestion
Solution Approach 1:
The network controller proactively transmits a reset packet to the communication partner before the sequential number mismatch causes ACK congestion. This preliminary action clears the stale TCP connection information from the communication partner's side, preventing the harmful effect of sequential number mismatches and subsequent ACK congestion while maintaining communication continuity
Solution Approach 2:
The network controller acts as an intermediary between the storage device and the communication partner. It monitors the communication state and intervenes by transmitting reset packets when necessary, mediating the conflict between maintaining TCP connection information for continuity and preventing sequential number mismatches that cause ACK congestion
2Speed
If device switching is performed quickly, then system responsiveness is improved, but TCP connection information inconsistency arises between devices
Solution Approach 1:
The network controller continuously monitors the communication state including sequential numbers and connection information. This feedback mechanism allows the system to detect when a device switch occurs and when sequential number mismatches are about to happen, enabling timely transmission of reset packets to maintain consistency while allowing fast switching
Solution Approach 2:
Before the inconsistency becomes problematic, the network controller transmits reset packets to synchronize the communication state. This preliminary action ensures that even though device switching occurs quickly, the TCP connection information remains consistent across devices by proactively clearing stale information
3Reliability
If external applications cannot modify TCP connection information, then system security is maintained, but manual synchronization of communication state becomes impossible
Solution Approach 1:
The network controller serves as an intermediary that bypasses the OS's protection mechanisms. While external applications cannot modify TCP connection information directly, the network controller can transmit reset packets that trigger the OS to automatically clear the connection information, achieving synchronization while maintaining security
Solution Approach 2:
The operating system's own TCP stack is utilized to clear the connection information. By transmitting reset packets, the system triggers the OS's built-in mechanisms to remove stale TCP connection information, achieving synchronization without external applications needing modification privileges
Data Source
AI summary
A network controller including a virtual network setter that sets a virtual communication interface; a dummy packet generator that obtains communication progress information representing a communication progress state of communication of the second processing device with the connection destination device by causing the virtual communication interface to process a dummy packet that causes a receiver of the dummy packet to falsely recognize that the dummy packet is transmitted from the connection destination device; a reset packet generator that generates a reset packet containing the communication progress information; and a reset packet processor that removes, based on the reset packet, connection record information of the second processing device and the connection destination device, the connection record information being stored in the second processing device. This configuration prevents congestion when a processor is switched to another in a cluster system from occurring.


