TCP HA Data Completeness via Sequence Number Boundary Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems for ensuring the completeness of TCP data messages in TCP High Availability (HA) face inefficiencies, including long waiting times for data delivery and the need for explicit application message boundary notifications, which complicate the interface and interactions between applications and TCP.
Innovation Solution
The proposed system simplifies the interface by allowing applications to notify TCP only once that the standby main board is ready to protect the data, eliminating the need for explicit boundary information and reducing waiting times by synchronizing data streams from the beginning of a message, ensuring seamless switchovers between active and standby processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If explicit application message boundary notifications are used to ensure TCP data completeness in TCP HA, then the completeness and reliability of data transmission is improved, but the complexity of the interface and interactions between applications and TCP increases
Solution Approach 1:
The patent extracts the message boundary notification mechanism from the application layer and relocates it to the TCP layer. The TCP layer now autonomously identifies message boundaries using sequence numbers without requiring application intervention. This extraction resolves the contradiction by maintaining reliability through boundary awareness while eliminating the complexity of application-TCP interface interactions for boundary notifications.
Solution Approach 2:
The TCP layer performs self-service by autonomously tracking message boundaries through sequence number analysis. Instead of relying on applications to notify TCP about boundaries, the TCP layer independently determines boundaries by monitoring sequence number patterns in the data stream. This self-service approach maintains data completeness while simplifying the application-TCP interface.
2Manufacturing precision
If applications wait for message boundary conditions to be satisfied before notifying TCP, then the accuracy of data completeness is improved, but the waiting time and productivity are reduced
Solution Approach 1:
The patent applies preliminary action by having the TCP layer pre-calculate and pre-identify message boundaries using sequence numbers before application notification is needed. The TCP layer continuously monitors sequence numbers and maintains an internal state of where message boundaries occur, so when the application needs to notify TCP, the boundary information is already available immediately without waiting for boundary conditions to be satisfied.
Solution Approach 2:
The sequence number mechanism acts as an intermediary that bridges the accuracy requirement and productivity requirement. By using sequence numbers as a mediating parameter, the TCP layer can accurately identify boundaries through mathematical analysis of sequence number patterns while doing so continuously in the background, eliminating the need for applications to wait for boundary conditions.
3Reliability
If TCP is enhanced to accept boundary information from applications, then the completeness of TCP data handling is improved, but the complexity of TCP and applications increases
Solution Approach 1:
The patent inverts the conventional approach by instead of having applications provide boundary information to TCP, the TCP layer autonomously determines boundaries using sequence numbers. This inversion resolves the contradiction by maintaining complete and accurate TCP data handling while eliminating the need for TCP enhancements to accept application-provided boundary information, thereby reducing system complexity.
Data Source
AI summary
System and method for completeness of transmission control protocol (TCP) high availability (HA) are disclosed. The system includes an active processor, having an application and a TCP, and a standby processor, having another application and another TCP; wherein communications among the active application, the active TCP, the standby application and the standby TCP quickly and efficiently enable the system seamlessly switching over from the active processor to the standby processor for transmission of incoming TCP data streams and outgoing TCP data streams if the active processor fails.


