TCP Acknowledgement Storm Detection During I/O Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During live migration of TCP connections from primary to backup I/O modules, corruption in checkpointed data can cause desynchronization, leading to acknowledgment storms that result in network congestion and hung connections due to mismatches in sequence and acknowledgment numbers.
Innovation Solution
An acknowledgement storm detection process is initiated to determine desynchronization between received and sent packets, and recovery actions are taken to reset the TCP connection, ensuring consistent sequence and acknowledgment numbers are maintained during failover.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If checkpointed data is used to recreate TCP connections during failover, then connection recovery speed is improved, but data corruption can cause desynchronization leading to acknowledgment storms
Solution Approach 1:
The patent implements feedback mechanisms by monitoring incoming packets for desynchronization conditions and using this information to trigger recovery actions. The system continuously checks sequence numbers against expected values and responds to deviations, creating a closed-loop control system that detects and corrects checkpoint corruption issues.
Solution Approach 2:
The patent applies preliminary action by establishing expected sequence number ranges before packet reception during failover. By pre-calculating and storing the next expected sequence number based on checkpoint data, the system can quickly detect desynchronization without complex real-time analysis, enabling faster recovery while maintaining reliability.
2Stability of the object's composition
If sequence numbers are reset during TCP connection recreation, then connection state consistency is improved, but acknowledgment storms occur due to mismatches with remote endpoint
Solution Approach 1:
The patent applies preliminary anti-action by detecting desynchronization conditions before they can trigger acknowledgment storms. By monitoring the first incoming packet's sequence number against expected values and identifying mismatch patterns, the system prevents the cascade of retransmissions and acknowledgments that would otherwise occur, stopping the harmful effect before it amplifies.
Solution Approach 2:
The patent uses an intermediary approach by introducing a detection layer between packet reception and connection state updates. This intermediary monitoring mechanism analyzes sequence numbers and identifies desynchronization without immediately altering connection state, allowing the system to mediate between the checkpoint data and the actual connection state to avoid harmful mismatches.
3Reliability
If desynchronization detection is implemented, then network stability is improved, but additional processing overhead is introduced
Solution Approach 1:
The patent applies local quality by focusing desynchronization detection only on specific critical fields (sequence numbers and acknowledgment numbers) in TCP packets rather than analyzing entire packet contents. This localized approach to quality checking provides sufficient network stability while minimizing processing overhead by examining only the essential elements that indicate desynchronization.
Solution Approach 2:
The patent uses parameter changes by monitoring specific TCP header parameters (sequence number, acknowledgment number) for anomalies during failover. By changing the detection focus to these specific parameters rather than implementing comprehensive packet analysis, the system achieves reliable desynchronization detection with reduced processing complexity through targeted parameter monitoring.
Data Source
AI summary
In some examples, a device initiates an acknowledgement storm detection process in response to failover of a network connection from a first input/output (I/O) module to a second I/O module. The acknowledgement storm detection process includes determining whether desynchronization between a received packet and a sent packet satisfies a criterion, and in response to determining that the desynchronization between the received packet and the sent packet satisfies the criterion, initiate an action to recover from the desynchronization.


