IP Library › Granted Patent US 12,316,544
Granted Patent B2
US 12,316,544 · App. 17/750,639 · Granted May 27, 2025

Method and apparatus for controlling data packet sending, model training method and apparatus, and system

Inventors: Wei Wang (Beijing, CN); Yiyang Shao (Beijing, CN); Kai Zheng (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L47/11H04L47/10H04L47/283
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,316,544
App. No.
17/750,639
Granted
May 27, 2025
Kind
B2
Abstract

A controlling data packet sending method. The method for controlling data packet sending includes: obtaining a plurality of control models, where the plurality of control models corresponds to a plurality of conditions; selecting, based on a first condition, a first control model corresponding to the first condition from the plurality of control models, the first control model is used to process a transmission parameter of any network in at least one network; processing, by using the first control model, a transmission parameter of a first network accessed by an end node, to obtain a first control parameter required for sending the data packet of the first application by the end node by using the first network; and controlling sending of the data packet of the first application based on the first control parameter.

Claims (94)

1. A method for controlling data packet sending, wherein the method is applied to an end node, the end node runs a first application, and the method comprises:

obtaining a plurality of control models, wherein the plurality of control models corresponds to a plurality of conditions;

obtaining training data corresponding to any condition of the plurality of conditions;

training an initial model with the obtained training data, wherein training continues until a loss value is less than a loss value threshold;

after the loss value is less than the loss value threshold, setting a first trained model as a first control model of the plurality of control models for a first condition;

selecting, based on the first condition, the first control model corresponding to the first condition from the plurality of control models, wherein the first condition is used to indicate a congestion control requirement of the first application, the first control model is used to process a transmission parameter of any network in at least one network, to obtain a control parameter required for sending a data packet of the first application by using the any network, the at least one network comprises a first network accessed by the end node, the control parameter is used to control sending of the data packet of the first application, so that the any network meets the congestion control requirement of the first application, and the control parameter comprises at least one of a congestion window value or a transmit rate;

processing, by using the first control model, a transmission parameter of the first network accessed by the end node, to obtain a first control parameter required for sending the data packet of the first application by the end node by using the first network; and

controlling sending of the data packet of the first application based on the first control parameter.

2. The method according to claim 1 , wherein the first condition is further used to indicate an environment of the at least one network, and each network in the at least one network has a different environment.

3. The method according to claim 2 , wherein a part of the first condition that is used to indicate the environment of the at least one network comprises a range of at least one of the following first parameters:

a maximum bandwidth,

a minimum round-trip time,

a random packet loss rate, or

a size of a buffer, and the buffer comprises storage space that is in a routing/switching device in the network and that is used to cache a data packet sent by the end node.

4. The method according to claim 1 , wherein, before processing, by using the first control model, the transmission parameter of the first network accessed by the end node, to obtain a first control parameter required for sending the data packet of the first application by the end node by using the first network, the method further comprises:

determining the transmission parameter of the first network based on at least one of a current status parameter of the first network and a historical status parameter of the first network.

5. The method according to claim 4 , wherein the transmission parameter comprises at least one of the following second parameters:

a round-trip time;

a time difference, wherein the time difference is a difference between a current value of the round-trip time and a minimum historical value of the round-trip time;

the transmit rate;

a receive rate;

a packet loss rate;

a value of an explicit congestion notification carried in a data packet on the network;

a congestion window value;

the round-trip time obtained after regularization processing;

the time difference obtained after regularization processing;

the transmit rate obtained after regularization processing;

the receive rate obtained after regularization processing;

the packet loss rate obtained after regularization processing;

the value of the explicit congestion notification carried in the data packet on the network that is obtained after regularization processing; and

the congestion window value obtained after regularization processing.

6. The method according to claim 5 , wherein the transmission parameter further comprises:

a change value corresponding to a target parameter in the at least one second parameter, the change value corresponding to the target parameter is related to a change amount of a current value relative to a historical value of the target parameter, and the target parameter is any parameter in the at least one second parameter.

7. The method according to claim 1 , wherein the first condition comprises an identifier of the control model corresponding to the first condition.

8. The method according to claim 1 , wherein after controlling the sending of the data packet of the first application based on the first control parameter, the method further comprises:

repeatedly executing a sending control procedure; and sending the control procedure further comprises:

processing, by using the first control model, the transmission parameter of the first network accessed by the end node, to obtain the first control parameter required for sending the data packet of the first application by the end node by using the first network, and

controlling the sending of the data packet of the first application based on the first control parameter.

9. The method according to claim 8 , further comprising:

after controlling the sending of the data packet of the first application based on the first control parameter, sending at least one data packet of the first application by using the first network, wherein sending the control procedure further comprises:

sending the at least one data packet by using the first network; and repeatedly executing the sending control procedure further comprises:

after an acknowledgement ACK packet of the at least one data packet is received by using the first network, repeatedly executing the sending control procedure.

10. The method according to claim 1 , wherein the training data corresponding to the first condition comprises:

a transmission parameter of the at least one network and

a control parameter corresponding to any network in the at least one network, and used to control sending of a data packet in the any network, so that the any network meets a congestion control requirement indicated by the first condition after selecting the first control model from the plurality of control models based on the first condition used to indicate the congestion control requirement of the first application.

11. The method according to claim 10 , wherein, before obtaining the training data corresponding to any condition of the plurality of conditions, the method further comprises:

forwarding a data packet sent by a first node by using the any network; and

forwarding a data packet sent by a second node by using the any network; and obtaining the training data corresponding to any condition of the plurality of conditions further comprises:

obtaining the training data corresponding to the any condition based on transmission, on the any network, of the forwarded data packet sent by the first node and the forwarded data packet sent by the second node.

12. An apparatus for controlling data packet sending, comprising:

a memory and a processor, wherein the memory is coupled to the processor; and

the memory stores program instructions, and when the program instructions are run by the processor, the processor is configured to:

obtain a plurality of control models, wherein the plurality of control models corresponds to a plurality of conditions;

obtain training data corresponding to any condition of the plurality of conditions;

training an initial model with the obtained training data, wherein training continues until a loss value is less than a loss value threshold;

after the loss value is less than the loss value threshold, setting a first trained model as a first control model of the plurality of control models for a first condition;

select, based on the first condition, the first control model corresponding to the first condition from the plurality of control models, wherein the first condition is used to indicate a congestion control requirement of a first application, the first control model is used to process a transmission parameter of any network in at least one network, to obtain a control parameter required for sending a data packet of the first application by using the any network, the at least one network comprises a first network accessed by the apparatus, the control parameter is used to control sending of the data packet of the first application, so that the any network meets the congestion control requirement of the first application, and the control parameter comprises at least one of a congestion window value or a transmit rate;

process, by using the first control model, a transmission parameter of the first network accessed by the apparatus, to obtain a first control parameter required for sending the data packet of the first application by the apparatus by using the first network; and

control sending of the data packet of the first application based on the first control parameter.

13. The apparatus according to claim 12 , wherein the first condition is further used to indicate an environment of the at least one network, and each network in the at least one network has a different environment.

14. The apparatus according to claim 13 , wherein a part of the first condition that is used to indicate the environment of the at least one network comprises a range of at least one of the following first parameters:

a maximum bandwidth,

a minimum round-trip time,

a random packet loss rate, or

a size of a buffer, and the buffer comprises storage space that is in a routing/switching device in the network and that is used to cache a data packet sent by the apparatus.

15. The apparatus according to claim 12 , wherein before the processing, by using the first control model, the transmission parameter of the first network accessed by the apparatus, to obtain a first control parameter required for sending the data packet of the first application by the apparatus by using the first network, the processor is further configured to:

determine the transmission parameter of the first network based on at least one of a current status parameter of the first network and a historical status parameter of the first network.

16. The apparatus according to claim 15 , wherein the transmission parameter comprises at least one of the following second parameters:

a round-trip time;

a time difference, wherein the time difference is a difference between a current value of the round-trip time and a minimum historical value of the round-trip time;

the transmit rate;

a receive rate;

a packet loss rate;

a value of an explicit congestion notification carried in a data packet on the network;

a congestion window value;

the round-trip time obtained after regularization processing;

the time difference obtained after regularization processing;

the transmit rate obtained after regularization processing;

the receive rate obtained after regularization processing;

the packet loss rate obtained after regularization processing;

the value of the explicit congestion notification carried in the data packet on the network that is obtained after regularization processing; and

the congestion window value obtained after regularization processing.

17. A non-transitory computer-readable storage medium, storing one or more instructions that, when the medium is in an apparatus for controlling data packet sending, executed by at least one processor, cause the at least one processor to:

obtain a plurality of control models, wherein the plurality of control models corresponds to a plurality of conditions;

obtain training data corresponding to any condition of the plurality of conditions;

training an initial model with the obtained training data, wherein training continues until a loss value is less than a loss value threshold;

after the loss value is less than the loss value threshold, setting a first trained model as a first control model of the plurality of control models for a first condition;

select, based on the first condition, the first control model corresponding to the first condition from the plurality of control models, wherein the first condition is used to indicate a congestion control requirement of a first application, the first control model is used to process a transmission parameter of any network in at least one network, to obtain a control parameter required for sending a data packet of the first application by using the any network, the at least one network comprises a first network accessed by the end node, the control parameter is used to control sending of the data packet of the first application, so that the any network meets the congestion control requirement of the first application, and the control parameter comprises at least one of a congestion window value or a transmit rate;

process, by using the first control model, a transmission parameter of the first network accessed by an end node, to obtain a first control parameter required for sending the data packet of the first application by the end node by using the first network; and

control sending of the data packet of the first application based on the first control parameter.

18. The non-transitory computer-readable storage medium according to claim 17 , wherein the first condition is further used to indicate an environment of the at least one network, and each network in the at least one network has a different environment.

19. The non-transitory computer-readable storage medium according to claim 18 , wherein a part, of the first condition, that is used to indicate the environment of the at least one network comprises a range of at least one of the following first parameters: a maximum bandwidth, a minimum round-trip time, a random packet loss rate, or a size of a buffer, and the buffer comprises storage space that is in a routing/switching device in the network and that is used to cache a data packet sent by the end node.

20. The non-transitory computer-readable storage medium according to claim 17 , wherein before processing, by using the first control model, the transmission parameter of the first network accessed by the end node, to obtain the first control parameter required for sending the data packet of the first application by the end node by using the first network, the processor is further configured to:

determine the transmission parameter of the first network based on at least one of a current status parameter of the first network and a historical status parameter of the first network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2022
From: WANG, WEI; SHAO, YIYANG; ZHENG, KAI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 062219/0475 →
Priority Claims (1)
CN 201911209073.0 · Nov 30, 2019 · national
Continuity (2)
Continuation PCTCN2020111834 · Aug 27, 2020
Related Publication 20220286402A1 · Sep 8, 2022
References Cited (25)
US 11582184B2 · Day · 2023 [cited by examiner]
US 20110013511A1 · Li · 2011 [cited by examiner]
US 20180124632A1 · Thubert et al. · 2018 [cited by applicant]
US 20180375956A1 · Chan · 2018 [cited by examiner]
US 20190068512A1 · Papaloukopoulos · 2019 [cited by examiner]
US 20200193969A1 · Li · 2020 [cited by examiner]
US 20220345377A1 · Sawabe · 2022 [cited by examiner]
CN 103929777A · 2014 [cited by applicant]
CN 106302230A · 2017 [cited by applicant]
CN 106533970A · 2017 [cited by applicant]
CN 107171842A · 2017 [cited by applicant]
CN 107634911A · 2018 [cited by applicant]
CN 109361601A · 2019 [cited by applicant]
CN 109905918A · 2019 [cited by applicant]
WO 2019192361A1 · 2019 [cited by applicant]
Priscoli et al., “Multi-Model Reference Control for Queue-Based Resource Management in Communication Networks”, IEEE, Dec. 14-17, 2004, 6 pages. [cited by applicant]
Intel Corporation, “QoS Aware Congestion Control for NR V2X Communication”, 3GPP TSG RAN WG1 Meeting #98bis, R1-1910654, Chongqing, China, Oct. 14-20, 2019, 12 pages. [cited by applicant]
Ding, “Requirements-driven and multi-homed-based multipath TCP congestion control algorithm for vehicular network”, Journal on Communications, vol. 37, No. 7, Jul. 2016, 11 pages (Including English abstract). [cited by applicant]
Jay et al., “Internet Congestion Control via Deep Reinforcement Learning”, 32nd Conference on Neural Information Processing Systems, Montreal, Canada, 2018, 10 pages. [cited by applicant]
Yu, “On Congestion Control Based on Active Queue Management Algorithms”, 2012, 2 pages (Including English abstract). [cited by applicant]
Yan et al., “Pantheon: the training ground for Internet congestion-control research”, USENIX Annual Technical Conference, Jul. 11-13, 2018, Boston, MA, USA, 14 pages. [cited by applicant]
Jacobson, “Modified TCP congestion avoidance algorithm”, 1990, 8 pages. [cited by applicant]
Brakmo et al., “TCP Vegas: End to End Congestion Avoidance on a Global Internet”, IEEE J. on Selected Areas in Communications, vol. 13, No. 8, Oct. 1995, 16 pages. [cited by applicant]
Ha et al., “Cubic: A New TCP-Friendly High-Speed TCP Variant”, 2005, 11 pages. [cited by applicant]
Cardwell et al., “BBR: Congestion-Based Congestion Control”, 2016, 34 pages. [cited by applicant]