Sub-segmented Data Transport for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data transport protocols experience latency and inefficiency, especially when transferring large amounts of data, due to the need for sequential transmission and acknowledgement of data packets, which can lead to increased bandwidth requirements and retransmission of data in case of loss.
Innovation Solution
The method involves breaking down data into segments of fragments, each with unique identifiers and verification check values, allowing for simultaneous transmission without waiting for acknowledgement, and efficient retransmission of missing fragments based on segment response messages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is transmitted packet by packet with sequential acknowledgements, then reliability is improved, but latency and transmission time increase
Solution Approach 1:
The patent segments data into blocks, with each block containing multiple packets. The sender transmits entire blocks sequentially without waiting for acknowledgments of individual packets, while the receiver reassembles and verifies packets within each block. This segmentation approach maintains reliability through block-level acknowledgments while reducing latency by eliminating per-packet waiting times.
Solution Approach 2:
The receiver performs preliminary reassembly and verification of packets within a block before sending an acknowledgment to the sender. This preliminary action allows the sender to continue transmitting subsequent blocks without waiting for verification completion, thereby reducing transmission latency while maintaining reliability through pre-verification.
2Productivity
If larger data packet sizes are used, then transmission efficiency is improved, but bandwidth requirements increase and retransmission impact worsens
Solution Approach 1:
The patent implements a two-level segmentation structure: data is divided into blocks, and each block is further divided into packets. This hierarchical segmentation allows optimization of packet size for efficient transmission while containing the impact of retransmissions to individual packets rather than entire large data sets, thereby improving efficiency without proportionally increasing bandwidth requirements.
3Productivity
If sliding window protocol is used to send multiple packets, then productivity is improved, but complexity of error handling and retransmission increases
Solution Approach 1:
The patent uses block-level segmentation where the sender transmits multiple packets within a block without individual acknowledgments, and the receiver handles reassembly and verification at the block level. This segmentation simplifies error handling by confining retransmission logic to block-level operations rather than requiring complex per-packet sliding window management, thereby maintaining productivity while reducing complexity.
4Speed
If UDP streaming is used for fast transmission, then speed is improved, but reliability deteriorates due to data loss and out-of-order delivery
Solution Approach 1:
The patent segments data into blocks with sequential block numbering and transmits them continuously without waiting for acknowledgments, similar to UDP streaming for speed. However, it adds block-level sequence numbers and verification mechanisms at the receiver to ensure reliable reassembly and detection of lost or out-of-order blocks, thereby maintaining high speed while improving reliability compared to raw UDP streaming.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of transporting data from a sending node to a destination node includes processing select data (902) to form a stream of data packets (904) at a sending node (800) for transport to a destination node (812). The stream including a group (908) of data packets (918). The group carrying a segment (910) of the select data. The segment including fragments (912) of the select data. The segment associated with a segment identifier. Each fragment associated with a fragment identifier. Each group data packet carries a corresponding fragment, a fragment identification value (916), a segment identification value (914), and a verification check value (920). A last group data packet (922) carries an end of segment value (924). The method includes transmitting the group of data packets to the destination node, with the last data packet transmitted last such that the transmitting continues without waiting for a segment response message from the destination node between transmissions of the group of data packets.