File Transfer via TCP Validation and UDP Multicast
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file transfer methods using TCP are slow due to reliable but connection-oriented transmission, while UDP is fast but unreliable, leading to lost or repeated data packets during network transmissions.
Innovation Solution
A file transfer method that divides files into fragments, uses TCP for validation data and UDP for multicasting, allowing clients to request and receive lost fragments via TCP after validation and non-lost fragments are received via UDP, ensuring reliability and speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP is used for file transmission, then data reliability is improved, but transmission speed deteriorates
Solution Approach 1:
The file is divided into multiple fragments, with different transmission methods applied to different segments. Validation data and non-lost fragments are transmitted via TCP for reliability, while lost fragment requests and responses use UDP for speed, resolving the contradiction between reliability and speed through segmented transmission strategies.
2Speed
If UDP is used for data transmission, then transmission speed is improved, but data reliability deteriorates
Solution Approach 1:
Different portions of data transmission use different protocols: validation data and non-lost fragments use TCP for reliability, while lost fragment requests use UDP for speed. This segmentation allows the system to exploit UDP's speed advantage for non-critical transmissions while maintaining reliability for essential data.
Solution Approach 2:
The system implements a feedback mechanism where the receiving terminal validates received fragments and generates requests for lost fragments. This feedback loop ensures that even though UDP is used for speed, reliability is maintained through active detection and recovery of lost data packets.
3Reliability
If TCP validation is applied to all fragments, then data correctness is improved, but processing time deteriorates
Solution Approach 1:
Instead of applying TCP validation to all fragments, the system applies validation selectively: validation data is sent via TCP, and the receiving terminal validates received UDP fragments to identify losses. This partial validation approach reduces processing time while maintaining data correctness through targeted verification.
Data Source
AI summary
A file transfer method adaptive to a server is disclosed. The file transfer method includes following steps: dividing the file into a plurality of fragments; sending a piece of validation data of the file to at least one client based on TCP; multicasting the plurality of fragments to the at least one client based on UDP; determining whether a command from the at least one client questing for reissuing to send a lost part of the plurality of fragments is received; sending the lost part of the plurality of fragments to the corresponding client based on TCP when the command is received.


