Subflow Scheduling for Out-of-Order Packet Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network transmission scenarios with multiple subflows, existing protocols like MPTCP face challenges in maintaining efficient and stable data transmission due to varying subflow delays and unstable network connections, leading to out-of-order data packets and increased caching requirements at the receive end.
Innovation Solution
A method that determines the stability of subflows by monitoring network status parameters and switches between aggregated transmission and redundant transmission based on preset conditions, ensuring data packets are sent through subflows in a stable state to maintain order and reduce processing load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data packets are sequentially sent through multiple subflows with varying delays, then bandwidth utilization is improved, but data packets arrive out of order requiring caching and processing at the receive end
Solution Approach 1:
The transmit end determines the transmission delay of each subflow in advance and uses this information to schedule data packet sending. By performing preliminary delay measurement and using it for subsequent scheduling decisions, the system can proactively prevent out-of-order arrivals rather than reactively handling them at the receive end.
Solution Approach 2:
The scheduling algorithm dynamically adjusts data packet allocation to different subflows based on their real-time transmission delay characteristics. The system continuously monitors subflow performance and adapts the sending schedule accordingly, making the transmission system flexible and responsive to changing network conditions.
2Reliability
If data transmission rate is limited by congestion window changes at TCP slow start stage, then network stability is improved, but transmission delays become variable and unpredictable
Solution Approach 1:
The system performs preliminary determination of subflow transmission delays even during the TCP slow start stage when congestion window is changing. By measuring and caching delay information in advance, the scheduling algorithm can make informed decisions without waiting for stable transmission conditions, reducing the impact of delay variability.
Solution Approach 2:
The system continuously monitors transmission delay of each subflow and uses this feedback information to adjust the data packet scheduling. The receive end sends delay information back to the transmit end, which then uses this feedback to optimize the sending schedule and minimize out-of-order arrivals.
3Productivity
If multiple subflows are used for aggregated transmission, then transmission efficiency is improved, but processing complexity at the receive end increases due to out-of-order packets
Solution Approach 1:
The transmit end performs preliminary scheduling of data packets based on determined subflow delays before transmission. By pre-calculating the optimal sending schedule and arranging packets in advance, the system reduces the buffering and reordering complexity that would otherwise be required at the receive end.
Solution Approach 2:
The transmit end acts as an intermediary that performs the complex scheduling and reordering operations before transmission, rather than placing the burden on the receive end. The scheduling algorithm at the transmit end reorders packets proactively, simplifying the receive end's processing requirements.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments of this application provide a method and central control device for scheduling an operating device, a control device, and an operating device, to properly schedule an operating device in a unit of a partition; select, based on a test result of a task, a proper partition for executing the task; properly use a system resource in a cluster; and properly schedule the operating device. The method includes: sending, by the central control device, a test task to control devices of a plurality of partitions in a cluster, where each of the plurality of partitions includes at least one operating device; obtaining test results of the test task that are sent by the control devices of the plurality of partitions; and selecting, from the plurality of partitions in the cluster based on the test results, a first partition for executing the first task; and sending the task to a control device of the first partition, so that the control device selects an operating device from the first partition for executing the task.