Application Data Block Checksum Verification for Network Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current communication protocols, such as TCP/IP, often fail to detect network-induced errors, particularly offset errors, leading to inefficient data retransmission of entire files when only a small portion is corrupted, especially over slow networks.
Innovation Solution
A method where the destination computer application calculates checksums for data blocks, identifies and requests retransmission of only the corrupted blocks, allowing the source application to resend only those specific blocks, thereby maximizing sequential read performance and reducing processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP/IP checksum error detection is used, then network error detection capability is provided, but offset errors and certain multi-word errors go undetected
Solution Approach 1:
The invention segments the data transfer process into individual block-level operations. Instead of treating the entire file as a single unit, the data is divided into discrete blocks that can be independently identified, checked for errors, and retransmitted if necessary. This segmentation enables precise error localization and eliminates the need to retransmit entire files when only small portions are corrupted.
Solution Approach 2:
The invention implements a feedback mechanism where the destination computer sends acknowledgments back to the source computer regarding the successful receipt of data blocks. When errors are detected (including undetected offset errors), the destination requests retransmission of specific blocks, and the source responds by resending only those particular blocks. This feedback loop ensures reliable error correction without requiring full file retransmission.
2Reliability
If entire file retransmission is performed when TCP error detection fails, then data integrity is restored, but network time and bandwidth are wasted
Solution Approach 1:
The invention segments the data transfer process into individual block-level operations. Instead of treating the entire file as a single unit, the data is divided into discrete blocks that can be independently identified, checked for errors, and retransmitted if necessary. This segmentation enables precise error localization and eliminates the need to retransmit entire files when only small portions are corrupted.
Solution Approach 2:
The invention applies partial action by retransmitting only the specific data blocks that contain errors rather than performing a complete file retransmission. The destination computer identifies exactly which blocks failed integrity checks and requests only those blocks be resent, thereby minimizing the amount of data that needs to be transmitted over the network and reducing retransmission time.
3Reliability
If application-level error detection is implemented, then undetected errors are identified, but processing overhead increases
Solution Approach 1:
The invention extracts the error detection and correction functionality from the transport protocol layer and implements it at the application layer. By taking out the checksum verification and block integrity checking operations and placing them at the application level, the system gains the ability to detect errors that the standard TCP/IP checksum missed, including offset errors and certain multi-word corruption cases.
Solution Approach 2:
The invention implements self-service error correction where the application itself performs error detection and requests retransmission of corrupted blocks without requiring external intervention or complex error correction algorithms. The destination computer independently verifies block integrity using checksums and block identifiers, and when errors are detected, it autonomously requests retransmission of only the affected blocks from the source computer.
Data Source
AI summary
A source application reads a body of data in data block sized units and calculates a checksum value for each data block before sending the data block, the calculated checksum value and the identifier. Upon receipt, a destination application independently calculates a checksum value for each received data block and compares the two checksums. Non-matching checksums indicate a network-induced error in the data block. Identifiers for the erroneous data blocks are transmitted to the source application after all of the data blocks have been initially transmitted. The source application thereafter resends only those data blocks identified. The destination application repeats the process of comparing checksums and transmitting identifiers to the source application until all of the data blocks of the body of data have been correctly received, and then uses the data blocks to recreate the body of data.


