Multipath Data Segmentation With Caching for In-Order Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In dynamic load balancing mechanisms of data center networks, data packets of the same flow arriving at a destination node are often out-of-order due to different congestion levels on various paths, leading to high re-ordering complexity and overheads for the destination node.
Innovation Solution
A data transmission method that splits data flows into segments, each carrying indication information for caching and sending along multiple paths, allowing the source node to control the arrival sequence at the destination, thereby reducing the need for re-ordering at the destination node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data packets of the same flow are sent over different paths with different congestion levels in dynamic load balancing, then data transmission efficiency is improved, but data packets arrive out-of-order at the destination node requiring re-ordering
Solution Approach 1:
The patent divides the data flow into multiple data segments that can be transmitted over different paths. Each segment is independently routed, allowing load balancing while maintaining manageable complexity through segmentation rather than handling entire flows as single units
Solution Approach 2:
The source node performs preliminary actions by marking data segments with sequence information and controlling their transmission timing. This preliminary organization of data segments with their positional information eliminates the need for complex re-ordering operations at the destination node
2Stability of the object's composition
If the destination node performs re-ordering on received data packets, then data flow order is restored, but re-ordering overheads increase significantly when receiving large quantities of data flows
Solution Approach 1:
The patent extracts the re-ordering function from the destination node and relocates it to the source node. By marking data segments with sequence information at the source, the destination node simply needs to forward segments in their marked sequence rather than performing complex re-ordering operations
Solution Approach 2:
The patent introduces sequence information markers as intermediaries between data segments and the destination node. These markers act as mediators that carry ordering information through the network, allowing the destination node to receive data in the correct order without performing re-ordering operations
3Productivity
If data segments are sent along multiple paths simultaneously, then network utilization is improved, but path latency variations cause out-of-order arrival of data packets
Solution Approach 1:
The patent implements feedback mechanisms where the source node receives acknowledgment information from the destination node about received data segments. This feedback allows the source node to adjust transmission timing and path selection to compensate for latency variations while maintaining high network utilization
Solution Approach 2:
The patent makes the data transmission dynamic by allowing the source node to adjust the transmission timing and path selection based on real-time network conditions and feedback information. This dynamic adaptation enables simultaneous multi-path transmission while compensating for latency variations through flexible timing control
Data Source
AI summary
A data transmission method comprises receiving a first data flow; splitting the first data flow into a plurality of data segments, and sending the plurality of data segments along at least two paths, where a first data segment in the plurality of data segments is sent along a first path, the first data segment carries first indication information, and the first indication information indicates at least one node on the first path to cache the first data segment after the at least one node receives the first data segment; and indicating at least one node that is on the first path and that is caching the first data segment to send the first data segment.


