CN113746745B - Multipath communication method, device and system - Google Patents
Multipath communication method, device and system Download PDFInfo
- Publication number
- CN113746745B CN113746745B CN202010480937.9A CN202010480937A CN113746745B CN 113746745 B CN113746745 B CN 113746745B CN 202010480937 A CN202010480937 A CN 202010480937A CN 113746745 B CN113746745 B CN 113746745B
- Authority
- CN
- China
- Prior art keywords
- path
- message
- delay
- time
- source device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000005540 biological transmission Effects 0.000 claims abstract description 229
- 238000012790 confirmation Methods 0.000 claims description 152
- 230000002457 bidirectional effect Effects 0.000 claims description 92
- 230000008569 process Effects 0.000 abstract description 33
- 238000013461 design Methods 0.000 description 115
- 238000012545 processing Methods 0.000 description 60
- 230000006870 function Effects 0.000 description 40
- 230000015654 memory Effects 0.000 description 25
- 230000001934 delay Effects 0.000 description 21
- 238000001514 detection method Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The embodiment of the application provides a multipath communication method, device and system, relates to the technical field of communication, and can solve the technical problems that in the prior art, a transmitting device recognizes network congestion as delay fluctuation generated by network congestion due to the fact that delay fluctuation generated by inherent delay among paths is recognized as delay fluctuation generated by network congestion, and a congestion window is slowly increased due to the fact that the network congestion exits from a slow starting process in advance. The method comprises the steps that a path source device determines the waiting time delay of a first path and the waiting time delay of a second path according to the inherent time delay of the first path and the inherent time delay of the second path, wherein the sum of the inherent time delay of the path and the waiting time delay of the path is the transmission time delay of the path, the difference value between the transmission time delay of the first path and the transmission time delay of the second path is smaller than or equal to a preset time difference value, and the waiting time delay of the path is used for sending a message through the path after the waiting time delay of the path is ended when the link source device needs to send the message through the path.
Description
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method, an apparatus, and a system for multipath communications.
Background
In an existing network, for example, in a Linux system, a transmission control protocol (transmission control protocol, TCP) congestion control algorithm can be adopted by a transmitting device to control the number of messages transmitted each time, so as to avoid network congestion. The TCP congestion control algorithm may control the number of messages sent at a time by maintaining a congestion window, among other things.
For example, the TCP congestion control algorithm may employ a hybrid slow start algorithm (e.g., hystart ++ algorithm) to control the size of the congestion window. The sending device can control the congestion window to increase exponentially in the initial sending stage (also called as slow start process) of the message according to the hybrid slow start algorithm, and can exit the slow start process and reduce the current congestion window multiplicative performance when judging that network congestion exists according to congestion sensing judging conditions such as the arrival time interval and time delay fluctuation of each confirmation frame, and slowly increase the congestion window according to an increase function preset by the hybrid slow start algorithm on the basis of the congestion window after the multiplicative performance is reduced. Thereby slowing down the growth rate of the congestion window and avoiding network congestion.
At present, when a sending device sends a message, the sending device can send the message to a path source device, the path source device can send the message to a path destination device through a plurality of paths, and the path destination device sends the message to a receiving device. In the sending process, the path source device can determine which path to send the message specifically according to the service condition of each path, and the sending device cannot sense which path the message is sent through. Because each path has inherent time delay, the sending equipment can easily identify the time delay fluctuation generated by the difference of the inherent time delay among the paths as the time delay fluctuation generated by network congestion according to the mixed slow start algorithm, so that the sending equipment considers that the network congestion exists, and the slow start process is exited in advance, so that the congestion window is slowly increased, and the path utilization rate is low.
Disclosure of Invention
In view of the above, embodiments of the present application provide a multi-path communication method, apparatus, and system, which can solve the technical problems in the prior art that a sending device recognizes delay fluctuations generated by inherent delay between paths as delay fluctuations generated by network congestion, and considers that there is network congestion, and exits from a slow start process in advance, so that congestion windows grow slowly, and path utilization is low.
In order to achieve the above purpose, the embodiment of the application adopts the following technical scheme:
The embodiment of the application provides a multi-path communication method which is applied to a communication system, the communication system comprises path source end equipment and path destination end equipment, at least two paths are arranged between the path source end equipment and the path destination end equipment, the at least two paths comprise a first path and a second path, the path source end equipment determines the waiting time delay of the first path and the waiting time delay of the second path according to the inherent time delay of the first path and the inherent time delay of the second path, the sum of the inherent time delay of the first path and the waiting time delay of the first path is the transmission time delay of the first path, the sum of the inherent time delay of the second path and the waiting time delay of the second path is the transmission time delay of the second path, the difference value between the transmission time delay of the first path and the transmission time delay of the second path is smaller than or equal to a preset time difference value, the waiting time delay of the first path is used for transmitting a message after the waiting time delay of the first path is ended, the link source end equipment transmits the message after the waiting time delay of the first path is ended, the waiting time delay of the second path is used for transmitting the message after the second path is ended when the message is needed to be transmitted by the second path.
Based on the first aspect, in the embodiment of the application, the path source device determines the waiting time delay for each path in a plurality of paths between the path source device and the path destination device, and sends the message on the path after the waiting time delay corresponding to the path is finished, so that the difference value of the transmission time delays of any two paths in the plurality of paths is smaller than or equal to the preset time difference value, the time delay fluctuation caused by the inherent time delay between the paths is reduced, the problem that the sending device exits from the slow start process in advance due to the fact that the network congestion exists due to the time delay fluctuation caused by the inherent time delay of the paths is avoided, accurate congestion sensing can be realized, further the index increase of a congestion window in the slow start process is controlled, and the path utilization rate is improved.
In one possible design, when the inherent delay is a unidirectional inherent delay for indicating a transmission duration of a message on a path, the path source device determines a waiting delay of a first path as a first period, determines a waiting delay of a second path as a difference between the unidirectional transmission delay of the first path and the unidirectional inherent delay of the second path, and the unidirectional transmission delay is a sum of the unidirectional inherent delay of the path and the waiting delay of the path.
In one possible design, the first path is the path with the longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
Based on the two possible designs, when the inherent delay is unidirectional inherent time delay, the path source device can determine the waiting delay for the path with the longest unidirectional inherent delay, and set the waiting delay for the rest paths in the paths according to the unidirectional transmission delay of the path with the longest unidirectional inherent delay, so that the difference value of the unidirectional transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, a path source device sends a message including a sending time of the message to a path destination device through a first path and a second path, receives a confirmation frame of the message including the sending time of the message and a receiving time of the message from the path destination device through the first path and the second path, determines a unidirectional inherent delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and determines a unidirectional inherent delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In one possible design, the path source device periodically sends a message to the path destination device through the first path and the second path.
Based on the two possible designs, the path source device can determine the unidirectional inherent time delay of the path according to the sending time and the receiving time of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent time delay of the path.
In one possible design, a path source device sends a first message including a sending time of the first message to a path destination device through a first path, receives a confirmation frame of the first message including the sending time of the first message and a receiving time of the first message from the path destination device through the first path, determines a unidirectional intrinsic delay of the first path according to the sending time of the first message and the receiving time of the first message, sends a second message including the sending time of the second message to the path destination device through a second path, receives a confirmation frame of the second message including the sending time of the second message and the receiving time of the second message from the path destination device through the second path, and determines the unidirectional intrinsic delay of the second path according to the sending time of the second message and the receiving time of the second message.
In one possible design, the path source device periodically sends a first message to the path destination device via a first path, and the path source device periodically sends a second message to the path destination device via a second path.
Based on the two possible designs, the path source device can determine the unidirectional inherent time delay of the path according to the sending time and the receiving time of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent time delay of the path.
In one possible design, when the inherent delay is a bidirectional inherent delay for indicating a sum of a transmission duration of a message on a path and a transmission duration of an acknowledgement frame of the message on the path, the path source device determines a waiting delay of a first path as a first period, determines a waiting delay of a second path as a difference between the bidirectional transmission delay of the first path and the bidirectional inherent delay of the second path, and the bidirectional transmission delay is a sum of the bidirectional inherent delay of the path and the waiting delay of the path.
In one possible design, the first path is the path with the longest inherent bidirectional delay of the first path and the second path, and the first time period is 0.
Based on the two possible designs, when the inherent delay is the bidirectional inherent delay, the path source device can determine the waiting delay for the path with the longest bidirectional inherent delay, and set the waiting delay for the rest paths in the paths according to the bidirectional transmission delay of the path with the longest bidirectional inherent delay, so that the difference value of the bidirectional transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, a path source device sends a message including a sending time of the message to a path destination device through a first path and a second path, receives a confirmation frame of the message including the sending time of the message and a sending delay time of a confirmation frame from the path destination device through the first path and the second path, the sending delay time is a difference value between the sending time of the confirmation frame and the receiving time of the message, determines a bidirectional inherent delay of the first path according to the receiving time of the confirmation frame, the sending time of the message and the sending delay time of the confirmation frame corresponding to the first path, and determines a bidirectional inherent delay of the second path according to the receiving time of the confirmation frame, the sending time of the message and the sending delay time of the confirmation frame corresponding to the second path.
In one possible design, the path source device periodically receives a confirmation frame of a message from the path destination device through the first path and the second path, where the message is a message that is received most recently by the path destination device when a transmission period of the confirmation frame arrives.
Based on the two possible designs, the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In one possible design, a path source device sends a first message including a sending time of the first message to a path destination device through a first path; the method comprises the steps of receiving a first message acknowledgement frame comprising a first message transmission time and a first message acknowledgement frame transmission delay time from path destination equipment through a first path, wherein the transmission delay time is a difference value between the first message acknowledgement frame transmission time and the first message reception time, determining a bidirectional inherent delay of the first path according to the first message acknowledgement frame reception time, the first message transmission time and the first message acknowledgement frame transmission delay time, sending a second message comprising a second message transmission time to path destination equipment through a second path by path source equipment, receiving a second message acknowledgement frame comprising the second message transmission time and the second message acknowledgement frame transmission delay time through the second path from path destination equipment, wherein the transmission delay time is a difference value between the second message acknowledgement frame transmission time and the second message reception time, and determining the second bidirectional delay according to the second message acknowledgement frame reception time, the second message transmission time and the second message acknowledgement frame transmission delay time.
In one possible design, the path source device periodically receives a confirmation frame of a first message from the path destination device through a first path, wherein the first message is a first message which is received by the path destination device recently when a transmission period of the confirmation frame arrives, and the path source device periodically receives a confirmation frame of a second message from the path destination device through a second path, wherein the second message is a second message which is received by the path destination device recently when the transmission period of the confirmation frame arrives.
Based on the two possible designs, the path source device can determine the bidirectional inherent time delay of the path according to the receiving time, the sending time and the sending delay time of the acknowledgement frame of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent time delay of the path.
In one possible design, the path source device determines a first timer for a first path according to a latency of the first path, determines a second timer for a second path according to a latency of the second path, sends a message on the first path after the first timer expires, and sends a message on the second path after the second timer expires.
Based on the possible design, the path source device determines a timer for each path and sends a message on the path with the timer expired, so that the difference value of the transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the path source device determines a first waiting queue including a message to be sent on a first path for the first path according to a waiting time delay of the first path, determines a second waiting queue including a message to be sent on a second path for the second path according to a waiting time delay of the second path, sends the message in the first waiting queue on the first path after the waiting time delay of the first path is finished, and sends the message in the second waiting queue on the second path after the waiting time delay of the second path is finished.
Based on the possible design, the path source device can determine a waiting queue according to the waiting time delay of each path, and send the corresponding waiting queue on the path according to the waiting time delay, so that the difference value of the transmission time delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the path source device determines a first timer and a first waiting queue including a message to be sent on a first path according to a waiting time delay of the first path, determines a second timer and a second waiting queue including a message to be sent on a second path according to a waiting time delay of the second path, sends a message in the first waiting queue on the first path after the first timer expires, and sends a message in the second waiting queue on the second path after the second timer expires.
Based on the possible design, the path source device determines a timer and a waiting queue for each path, and sends the waiting queue corresponding to the path after the timer of the path expires, so that the difference value of the transmission delays of any two paths in the plurality of paths is smaller than or equal to a preset time difference value.
In a second aspect, an embodiment of the present application provides a communication apparatus, where the communication apparatus may implement a function performed by a path source device in the first aspect or a possible design of the first aspect, where the function may be implemented by executing corresponding software by using hardware. The hardware or software comprises one or more modules corresponding to the functions. Such as a processing module.
The processing module is used for determining the waiting time delay of the first path and the waiting time delay of the second path according to the inherent time delay of the first path and the inherent time delay of the second path, wherein the sum of the inherent time delay of the first path and the waiting time delay of the first path is the transmission time delay of the first path, the sum of the inherent time delay of the second path and the waiting time delay of the second path is the transmission time delay of the second path, the difference value between the transmission time delay of the first path and the transmission time delay of the second path is less than or equal to a preset time difference value, the waiting time delay of the first path is used for sending a message through the first path after the waiting time delay of the first path is ended when the message is required to be sent through the first path, and the waiting time delay of the second path is used for sending the message through the second path after the waiting time delay of the second path is ended when the message is required to be sent through the second path.
The specific implementation manner of the communication device may refer to the behavior function of the path source device in the multipath communication method provided by the first aspect or any one of the possible designs of the first aspect, based on the communication device described in the second aspect, the path source device determines a waiting time delay for each path of multiple paths between the path source device and the path destination device, and sends a message on the path after the waiting time delay corresponding to the path is finished, so that a difference value of transmission time delays of any two paths in the multiple paths is smaller than or equal to a preset time difference value, delay fluctuation caused by inherent time delays between the paths is reduced, the problem that the sending device exits from a slow starting process in advance due to network congestion caused by the delay fluctuation caused by inherent time delays of the paths is avoided, accurate congestion sensing can be realized, further, index growth of a congestion window in a slow starting process is controlled, and the path utilization rate is improved.
In one possible design, when the inherent delay is a unidirectional inherent time delay for indicating a transmission duration of a message on a path, the processing module is further configured to determine a latency of a first path as a first period, determine a latency of a second path as a difference between the unidirectional transmission delay of the first path and the unidirectional inherent delay of the second path, and the unidirectional transmission delay is a sum of the unidirectional inherent delay of the path and the latency of the path.
In one possible design, the first path is the path with the longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
Based on the two possible designs, when the inherent delay is unidirectional inherent time delay, the path source device can determine the waiting delay for the path with the longest unidirectional inherent delay, and set the waiting delay for the rest paths in the paths according to the unidirectional transmission delay of the path with the longest unidirectional inherent delay, so that the difference value of the unidirectional transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the communication device further comprises a sending module and a receiving module, wherein the sending module is used for sending a message comprising the sending time of the message to the path destination device through the first path and the second path, the receiving module is used for receiving a confirmation frame of the message comprising the sending time of the message and the receiving time of the message from the path destination device through the first path and the second path, the processing module is further used for determining the unidirectional inherent time delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and the processing module is further used for determining the unidirectional inherent time delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In one possible design, the sending module is further configured to send the message to the path destination device periodically through the first path and the second path.
Based on the two possible designs, the path source device can determine the unidirectional inherent time delay of the path according to the sending time and the receiving time of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent time delay of the path.
In one possible design, the method includes the steps of receiving a first message including a transmission time of the first message from a path destination device through a first path, receiving a confirmation frame of the first message including the transmission time of the first message and a reception time of the first message from the path destination device through the first path, determining a unidirectional intrinsic delay of the first path according to the transmission time of the first message and the reception time of the first message, transmitting a second message including the transmission time of the second message to the path destination device through a second path, receiving a confirmation frame of the second message including the transmission time of the second message and the reception time of the second message from the path destination device through the second path, and determining the unidirectional intrinsic delay of the second path according to the transmission time of the second message and the reception time of the second message.
In one possible design, the sending module is further configured to send the first message to the destination end device periodically via the first path, and the sending module is further configured to send the second message to the destination end device periodically via the second path.
Based on the two possible designs, the path source device can determine the unidirectional inherent time delay of the path according to the sending time and the receiving time of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent time delay of the path.
In one possible design, when the inherent delay is a bidirectional inherent delay for indicating a sum of a transmission duration of a message on a path and a transmission duration of an acknowledgement frame of the message on the path, the processing module is further configured to determine a latency of a first path as a first period, determine a latency of a second path as a difference between the bidirectional transmission delay of the first path and the bidirectional inherent delay of the second path, and the bidirectional transmission delay is a sum of the bidirectional inherent delay of the path and the latency of the path.
In one possible design, the first path is the path with the longest inherent bidirectional delay of the first path and the second path, and the first time period is 0.
Based on the two possible designs, when the inherent delay is the bidirectional inherent delay, the path source device can determine the waiting delay for the path with the longest bidirectional inherent delay, and set the waiting delay for the rest paths in the paths according to the bidirectional transmission delay of the path with the longest bidirectional inherent delay, so that the difference value of the bidirectional transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the sending module is further configured to send a message including a sending time of the message to the path destination device through the first path and the second path, the receiving module is further configured to receive, through the first path and the second path, an acknowledgement frame of the message including the sending time of the message and a sending delay time of the acknowledgement frame from the path destination device, the sending delay time is a difference between the sending time of the acknowledgement frame and the receiving time of the message, the processing module is further configured to determine a bidirectional inherent delay of the first path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to the first path, and the processing module is further configured to determine a bidirectional inherent delay of the second path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to the second path.
In one possible design, the receiving module is further configured to periodically receive, through the first path and the second path, a confirmation frame of a packet from the path destination device, where the packet is a packet that is received most recently by the path destination device when a transmission period of the confirmation frame arrives.
Based on the two possible designs, the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In one possible design, the sending module is further configured to send a first message including a sending time of the first message to the path destination device through the first path, the receiving module is further configured to receive a second message including a sending time of the second message and a sending delay time of an acknowledgement frame of the first message from the path destination device through the first path, the sending delay time is a difference between the sending time of the acknowledgement frame of the first message and the receiving time of the first message, the processing module is further configured to determine a bidirectional inherent delay of the first path according to the receiving time of the acknowledgement frame of the first message, the sending module is further configured to send a second message including the sending time of the second message to the path destination device through the second path, the receiving module is further configured to receive a frame of the second message including the sending time of the second message and the sending delay time of the acknowledgement frame of the second message from the path destination device through the second path, the sending delay time is a difference between the sending delay time of the second message and the sending delay time of the acknowledgement frame of the second message is further configured to determine a bidirectional inherent delay of the sending time of the second message and the acknowledgement frame of the second message.
In one possible design, the receiving module is further configured to periodically receive, through a first path, a confirmation frame of a first packet from the path destination device, where the first packet is a first packet that the path destination device newly receives when a transmission period of the confirmation frame arrives, and the receiving module is further configured to periodically receive, through a second path, a confirmation frame of a second packet from the path destination device, where the second packet is a second packet that the path destination device newly receives when the transmission period of the confirmation frame arrives.
Based on the two possible designs, the path source device can determine the bidirectional inherent time delay of the path according to the receiving time, the sending time and the sending delay time of the acknowledgement frame of the message corresponding to each path in the paths, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent time delay of the path.
In one possible design, the processing module is further configured to determine a first timer for the first path according to a latency of the first path, determine a second timer for the second path according to a latency of the second path, and send a message on the first path after the first timer expires, and send the message on the second path after the second timer expires.
Based on the possible design, the path source device determines a timer for each path and sends a message on the path with the timer expired, so that the difference value of the transmission delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the processing module is further configured to determine, for the first path, a first waiting queue including a message to be sent on the first path according to a waiting time delay of the first path, determine, for the second path, a second waiting queue including a message to be sent on the second path according to a waiting time delay of the second path, and send, after the waiting time delay of the first path is over, a message in the first waiting queue on the first path, and send, after the waiting time delay of the second path is over, a message in the second waiting queue on the second path.
Based on the possible design, the path source device can determine a waiting queue according to the waiting time delay of each path, and send the corresponding waiting queue on the path according to the waiting time delay, so that the difference value of the transmission time delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the processing module is further configured to determine, for the first path, a first timer and a first waiting queue including a message to be sent on the first path according to a waiting time delay of the first path, determine, for the second path, a second timer and a second waiting queue including a message to be sent on the second path according to a waiting time delay of the second path, and send, for the second path, a message in the first waiting queue after the expiration of the first timer, and send, for the second path, a message in the second waiting queue after the expiration of the second timer.
Based on the possible design, the path source device determines a timer and a waiting queue for each path, and sends the waiting queue corresponding to the path after the timer of the path expires, so that the difference value of the transmission delays of any two paths in the plurality of paths is smaller than or equal to a preset time difference value.
In a third aspect, a communication apparatus is provided, which may be a path source device or a chip or a system on a chip in a path source device. The communication device may implement the functions performed by the path source device in the aspects or in each possible design, where the functions may be implemented by hardware. In one possible design, the communication device may include a processor. The processor may be adapted to support the communication device to carry out the functions referred to in the first aspect or any one of the possible designs of the first aspect. The processor may be configured to determine a latency of the first path and a latency of the second path according to an inherent latency of the first path and an inherent latency of the second path, where a sum of the inherent latency of the first path and the latency of the first path is a transmission latency of the first path, a sum of the inherent latency of the second path and the latency of the second path is a transmission latency of the second path, a difference between the transmission latency of the first path and the transmission latency of the second path is less than or equal to a preset time difference, the latency of the first path is used to send a message through the first path after the latency of the first path is over when the message is required to be sent through the first path, and the latency of the second path is used to send a message through the second path after the latency of the second path is over when the message is required to be sent through the second path. In yet another possible design, the communication device may further include a memory for holding computer-executable instructions and data necessary for the communication device. The processor, when the communication device is operating, executes the computer-executable instructions stored by the memory to cause the communication device to perform the multi-path communication method as described above in the first aspect or any one of the possible designs of the first aspect.
In this embodiment, the specific implementation manner of the communication apparatus may refer to the behavior function of the path source end device in the communication method provided by the first aspect or any one of possible designs of the first aspect.
In a fourth aspect, there is provided a communications apparatus comprising one or more processors and one or more memories coupled to the one or more processors, the one or more memories storing computer program code or computer instructions which, when executed by the one or more processors, cause the communications apparatus to perform a multi-path communications method as described in the first aspect or any of the possible designs of the first aspect.
In a fifth aspect, there is provided a computer readable storage medium storing computer instructions or a program which, when run on a computer, cause the computer to perform the multi-path communication method as described in the first aspect or any one of the possible designs of the first aspect.
In a sixth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the multi-path communication method as described in the first aspect or any of the possible designs of the first aspect.
The technical effects caused by any design manner of the third aspect to the sixth aspect may be referred to the technical effects caused by any possible design of the first aspect to the second aspect, and are not repeated.
In a seventh aspect, the embodiment of the application provides a multi-path communication method, which is applied to a communication system, wherein the communication system comprises path source end equipment and path destination end equipment, at least two paths are arranged between the path source end equipment and the path destination end equipment, the at least two paths comprise a first path and a second path, the path destination end equipment determines the waiting time delay of the first path and the waiting time delay of the second path according to the unidirectional inherent time delay of the first path and the unidirectional inherent time delay of the second path, the unidirectional inherent time delay of the first path is the transmission time length of a message on the path, the sum of the unidirectional inherent time delay of the first path and the waiting time delay of the first path is the unidirectional transmission time delay of the first path, the sum of the unidirectional inherent time delay of the second path and the waiting time delay of the second path is the unidirectional transmission time delay of the second path, the difference between the unidirectional transmission time delay of the first path and the unidirectional transmission time delay of the second path is less than or equal to a preset time difference, the waiting time delay of the first path is used for the first path to be used for sending a confirmation frame after the waiting end of the first path is finished, the first path is used for sending the confirmation frame after the first path is required to be sent, and the first frame is required to be sent after the second frame is required to pass through the first path.
Based on a seventh aspect, in the embodiment of the present application, the path destination device determines a waiting time delay for each path of multiple paths between the path source device and the path destination device, and after the waiting time delay of the path is over, sends a confirmation frame of a message on the path, so that a time difference value of the confirmation frame of the message received by the path source device through each path is smaller than or equal to a preset time difference value, and the sending device is prevented from exiting the slow start process in advance according to the confirmation frame of the message sent by the path source device, where the delay fluctuation caused by the inherent time delay of each path is identified as the delay fluctuation caused by network congestion, so that accurate congestion sensing can be realized, further, index increase of a congestion window in a slow start process is controlled, and the path utilization rate is improved.
In one possible design, the path destination device determines the latency of the first path as a first period of time, and determines the latency of the second path as a difference between the unidirectional transmission latency of the first path and the unidirectional inherent latency of the second path.
In one possible design, the first path is the path with the longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
Based on the two possible designs, the path destination device can determine the waiting time delay for the path with the longest unidirectional inherent time delay, and set the waiting time delay for the rest paths in the paths according to the unidirectional transmission time delay of the path with the longest unidirectional inherent time delay, so that the difference value of the unidirectional transmission time delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the path destination device sends a message including the sending time of the message to the path source device through a first path and a second path, receives a confirmation frame of the message including the sending time of the message and the receiving time of the message from the path source device through the first path and the second path, determines the unidirectional inherent delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and determines the unidirectional inherent delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In one possible design, the path destination device periodically sends a message to the path source device through the first path and the second path.
Based on the two possible designs, the path destination device can determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message corresponding to each path in the plurality of paths, and a feasibility scheme is provided for the path destination device to determine the unidirectional inherent delay of the path.
In one possible design, the path destination device sends a third message including a sending time of the third message to the path source device through a first path, receives a confirmation frame of the third message including the sending time of the third message and a receiving time of the third message from the path source device through the first path, determines a unidirectional inherent delay of the first path according to the sending time of the third message and the receiving time of the third message, sends a fourth message including the sending time of the fourth message to the path source device through a second path, receives a confirmation frame of the fourth message including the sending time of the fourth message and the receiving time of the fourth message from the path source device through the second path, and determines the unidirectional inherent delay of the second path according to the sending time of the fourth message and the receiving time of the fourth message.
In one possible design, the path destination device periodically sends a third message to the path source device through the first path, and the path destination device periodically sends a fourth message to the path source device through the second path.
Based on the two possible designs, the path destination device can determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message corresponding to each path in the plurality of paths, and a feasibility scheme is provided for the path destination device to determine the unidirectional inherent delay of the path.
In one possible design, the path destination device receives a message including a sending time of the message from the path source device through a first path and a second path, and sends a confirmation frame including the sending time of the message and a receiving time of the message to the path source device through the first path and the second path.
Based on the possible design, the path destination device can enable the path source device to determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message by sending the acknowledgement frame of the message to the path source device, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent delay of the path.
In one possible design, the path destination device receives a first message including a transmission time of the first message from the path source device through a first path, sends a confirmation frame including the transmission time of the first message and a reception time of the first message to the path source device through the first path, receives a second message including the transmission time of the second message from the path source device through a second path, and sends a confirmation frame including the transmission time of the second message and the reception time of the second message to the path source device through the second path.
Based on the possible design, the path destination device can enable the path source device to determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message by sending the acknowledgement frame of the message to the path source device, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent delay of the path.
In one possible design, the path destination device receives a message including a transmission time of the message from the path source device through a first path and a second path, transmits a confirmation frame including the message transmission time and a transmission delay time of the confirmation frame to the path source device through the first path and the second path, and the transmission delay time is a difference between the transmission time of the confirmation frame and the reception time of the message.
Based on the possible design, the path destination device sends the acknowledgement frame of the message to the path source device, so that the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame of the message, the sending time of the message and the sending delay time of the acknowledgement frame, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In one possible design, the path destination device receives a first message including a transmission time of the first message from the path source device through a first path, transmits a first message acknowledgement frame including the transmission time of the first message and a transmission delay time of the first message acknowledgement frame to the path source device through the first path, the transmission delay time is a difference between the transmission time of the first message acknowledgement frame and the reception time of the first message, the path destination device receives a second message including a transmission time of the second message from the path source device through a second path, transmits a second message acknowledgement frame including the transmission time of the second message and the transmission delay time of the second message acknowledgement frame to the path source device through the second path, and the transmission delay time is a difference between the transmission time of the second message acknowledgement frame and the reception time of the second message acknowledgement frame.
Based on the possible design, the path destination device sends the acknowledgement frame of the message to the path source device, so that the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame of the message, the sending time of the message and the sending delay time of the acknowledgement frame of the message, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In an eighth aspect, an embodiment of the present application provides a communication apparatus, where the communication apparatus may implement a function performed by a path destination device in the seventh aspect or a possible design of the seventh aspect, where the function may be implemented by executing corresponding software by using hardware. The hardware or software comprises one or more modules corresponding to the functions. Such as a processing module.
The processing module is used for determining the waiting time delay of the first path and the waiting time delay of the second path according to the unidirectional inherent time delay of the first path and the unidirectional inherent time delay of the second path, wherein the unidirectional inherent time delay is the transmission time length of the message on the path, the sum of the unidirectional inherent time delay of the first path and the waiting time delay of the first path is the unidirectional transmission time delay of the first path, the sum of the unidirectional inherent time delay of the second path and the waiting time delay of the second path is the unidirectional transmission time delay of the second path, the difference value between the unidirectional transmission time delay of the first path and the unidirectional transmission time delay of the second path is smaller than or equal to a preset time difference value, the waiting time delay of the first path is used for transmitting an acknowledgement frame of the message through the first path after the waiting time delay of the first path is finished, and the waiting time delay of the second path is used for transmitting an acknowledgement frame of the message through the second path after the waiting time delay of the second path is finished.
The specific implementation manner of the communication apparatus may refer to the behavior function of the path destination device in the multipath communication method provided by the seventh aspect or any one of the possible designs of the seventh aspect, based on the communication apparatus described in the ninth aspect, the path destination device determines a waiting delay for each path of multiple paths between the path source device and the path destination device, and sends a confirmation frame of a message on the path after the waiting delay of the path is finished, so that a time difference value of the confirmation frames of the messages received by the path source device through each path is smaller than or equal to a preset time difference value, and the sending device is prevented from recognizing delay fluctuation caused by inherent delay of each path as delay fluctuation caused by network congestion according to the confirmation frame of the messages sent by the path source device, so as to realize accurate congestion sensing, further control the index increase of a congestion window in the slow start process, and improve the path utilization rate.
In one possible design, the processing module is further configured to determine the latency of the first path as a first period of time, and determine the latency of the second path as a difference between the unidirectional transmission latency of the first path and the unidirectional inherent latency of the second path.
In one possible design, the first path is the path with the longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
Based on the two possible designs, the path destination device can determine the waiting time delay for the path with the longest unidirectional inherent time delay, and set the waiting time delay for the rest paths in the paths according to the unidirectional transmission time delay of the path with the longest unidirectional inherent time delay, so that the difference value of the unidirectional transmission time delays of any two paths in the paths is smaller than or equal to the preset time difference value.
In one possible design, the communication device further comprises a sending module and a receiving module, wherein the sending module is used for sending a message comprising the sending time of the message to the path source terminal equipment through the first path and the second path, the receiving module is used for receiving a confirmation frame of the message comprising the sending time of the message and the receiving time of the message from the path source terminal equipment through the first path and the second path, the processing module is also used for determining the unidirectional inherent time delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and the processing module is also used for determining the unidirectional inherent time delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In one possible design, the sending module is further configured to send the message to the path source device periodically through the first path and the second path.
Based on the two possible designs, the path destination device can determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message corresponding to each path in the plurality of paths, and a feasibility scheme is provided for the path destination device to determine the unidirectional inherent delay of the path.
In one possible design, the method includes the steps of receiving, by a first path, a third message including a sending time of the third message from a path source device, receiving, by the first path, a confirmation frame of the third message including the sending time of the third message and a receiving time of the third message, processing, determining, by the processing module, a one-way inherent delay of the first path according to the sending time of the third message and the receiving time of the third message corresponding to the first path, sending, by the processing module, a fourth message including the sending time of the fourth message to the path source device, receiving, by the processing module, a confirmation frame of the fourth message including the sending time of the fourth message and the receiving time of the fourth message from the path source device, and determining, by the processing module, a one-way inherent delay of the second path according to the sending time of the fourth message and the receiving time of the fourth message corresponding to the second path.
In one possible design, the sending module is further configured to send the third message to the path source device periodically through the first path, and the sending module is further configured to send the fourth message to the path source device periodically through the second path.
Based on the two possible designs, the path destination device can determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message corresponding to each path in the plurality of paths, and a feasibility scheme is provided for the path destination device to determine the unidirectional inherent delay of the path.
In one possible design, the receiving module is further configured to receive, through the first path and the second path, a message including a sending time of the message from the path source device, and the sending module is further configured to send, through the first path and the second path, a confirmation frame of the message including the sending time of the message and the receiving time of the message to the path source device.
Based on the possible design, the path destination device can enable the path source device to determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message by sending the acknowledgement frame of the message to the path source device, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent delay of the path.
In one possible design, the receiving module is further configured to receive, via the first path, a first packet including a transmission time of the first packet from the path source device, the transmitting module is further configured to transmit, via the first path, a confirmation frame of the first packet including the transmission time of the first packet and a reception time of the first packet to the path source device, the receiving module is further configured to receive, via the second path, a second packet including the transmission time of the second packet from the path source device, and the transmitting module is further configured to transmit, via the second path, a confirmation frame of the second packet including the transmission time of the second packet and the reception time of the second packet to the path source device.
Based on the possible design, the path destination device can enable the path source device to determine the unidirectional inherent delay of the path according to the sending time and the receiving time of the message by sending the acknowledgement frame of the message to the path source device, and a feasibility scheme is provided for the path source device to determine the unidirectional inherent delay of the path.
In one possible design, the receiving module is further configured to receive, through the first path and the second path, a packet including a transmission time of the packet from the path source device, and the transmitting module is further configured to transmit, through the first path and the second path, a confirmation frame including the transmission time of the packet and a transmission delay time of the confirmation frame to the path source device, where the transmission delay time is a difference between the transmission time of the confirmation frame and the reception time of the packet.
Based on the possible design, the path destination device sends the acknowledgement frame of the message to the path source device, so that the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame of the message, the sending time of the message and the sending delay time of the acknowledgement frame, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In one possible design, the receiving module is further configured to receive, through the first path, a first packet including a transmission time of the first packet from the path source device, the transmitting module is further configured to transmit, through the first path, a acknowledgement frame of the first packet including the transmission time of the first packet and a transmission delay time of an acknowledgement frame of the first packet to the path source device, the transmission delay time is a difference between the transmission time of the acknowledgement frame of the first packet and the reception time of the first packet, the receiving module is further configured to receive, through the second path, a second packet including the transmission time of the second packet from the path source device, the transmitting module is further configured to transmit, through the second path, an acknowledgement frame of the second packet including the transmission time of the second packet and a transmission delay time of the acknowledgement frame of the second packet to the path source device, and the transmission delay time is a difference between the transmission time of the acknowledgement frame of the second packet and the reception time of the second packet.
Based on the possible design, the path destination device sends the acknowledgement frame of the message to the path source device, so that the path source device can determine the bidirectional inherent delay of the path according to the receiving time of the acknowledgement frame of the message, the sending time of the message and the sending delay time of the acknowledgement frame of the message, and a feasibility scheme is provided for the path source device to determine the bidirectional inherent delay of the path.
In a ninth aspect, a communication apparatus is provided, which may be a path destination device or a chip or a system on chip in a path destination device. The communication device may implement the functions performed by the path destination device in the aspects described above or in each possible design, where the functions may be implemented by hardware. In one possible design, the communication device may include a processor. The processor may be adapted to support the communication device to carry out the functions referred to in the seventh aspect or any one of the possible designs of the seventh aspect. The processor may be configured to determine a latency of the first path and a latency of the second path according to a unidirectional inherent latency of the first path and a unidirectional inherent latency of the second path, where the unidirectional inherent latency is a transmission duration of the message on the path, a sum of the unidirectional inherent latency of the first path and the latency of the first path is a unidirectional transmission latency of the first path, a sum of the unidirectional inherent latency of the second path and the latency of the second path is a unidirectional transmission latency of the second path, a difference between the unidirectional transmission latency of the first path and the unidirectional transmission latency of the second path is less than or equal to a preset time difference, the latency of the first path is used for transmitting an acknowledgement frame of the message through the first path after the latency of the first path is over, and the latency of the second path is used for transmitting an acknowledgement frame of the message through the second path after the latency of the second path is over when the latency of the message is over. In yet another possible design, the communication device may further include a memory for holding computer-executable instructions and data necessary for the communication device. When the communication device is operating, the processor executes the computer-executable instructions stored by the memory to cause the communication device to perform the multi-path communication method as described in the seventh aspect or any one of the possible designs of the seventh aspect.
In this embodiment, the specific implementation manner of the communication apparatus may refer to a behavior function of the path destination device in the multipath communication method provided by the seventh aspect or any one of possible designs of the seventh aspect.
In a tenth aspect, there is provided a communications apparatus comprising one or more processors and one or more memories coupled to the one or more processors, the one or more memories storing computer program code or computer instructions which, when executed by the one or more processors, cause the communications apparatus to perform a multi-path communications method as described in the seventh aspect or any of the possible designs of the seventh aspect.
In an eleventh aspect, there is provided a computer-readable storage medium storing computer instructions or a program that, when run on a computer, cause the computer to perform the multi-path communication method as described in the eighth aspect or any one of the possible designs of the eighth aspect or perform the multi-path communication method as described in the ninth aspect or any one of the possible designs of the ninth aspect.
In a twelfth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the multi-path communication method as described in the eighth aspect or any of the possible designs of the eighth aspect or perform the multi-path communication method as described in the ninth aspect or any of the possible designs of the ninth aspect.
The technical effects of any one of the designs of the ninth aspect to the twelfth aspect may be referred to the technical effects of any one of the possible designs of the seventh aspect or the seventh aspect, and will not be described in detail.
In a thirteenth aspect, there is provided a communication system comprising a communication device according to any one of the possible designs of the second or second aspect and a communication device according to any one of the possible designs of the eighth or eighth aspect.
Drawings
Fig. 1 is a schematic diagram of a communication system according to an embodiment of the present application;
Fig. 2 is a component structure diagram of a communication device according to an embodiment of the present application;
Fig. 3 is a flowchart of a multi-path communication method according to an embodiment of the present application;
FIG. 4 is a flowchart of a method for obtaining a unidirectional intrinsic delay of a first path according to an embodiment of the present application;
FIG. 5 is a flowchart of a method for obtaining a bi-directional inherent delay of a first path according to an embodiment of the present application;
fig. 6 is a flowchart of a multi-path communication method according to an embodiment of the present application;
Fig. 7 is a schematic diagram of a communication device according to an embodiment of the present application;
fig. 8 is a schematic diagram of a communication device according to an embodiment of the present application.
Detailed Description
Before describing embodiments of the present application, technical terms related to the embodiments of the present application will be described.
Transmission round refers to the total time from the beginning of sending the first message of a message group by the sending device to the time when the sending device receives the acknowledgement frame of the last message of the message group, wherein the message group can comprise at least one message.
A transmission control protocol (transmission control protocol, TCP) congestion control algorithm refers to an algorithm that avoids network congestion by dynamically adjusting the number of messages sent by a sending device per time, where the TCP congestion control algorithm can control the number of messages sent per time by maintaining a congestion window. The TCP congestion control algorithm may include a slow start procedure and a congestion avoidance procedure, and the TCP congestion control algorithm may preset a slow start threshold, consider the slow start procedure when the congestion window is smaller than the slow start threshold, and enter the congestion avoidance procedure from the slow start procedure when the congestion window is equal to or greater than the slow start threshold.
Slow start procedure-during which the sending device can control the congestion window to grow exponentially. Illustratively, the transmitting device may adjust the congestion window 2 times before after each transmission round until the congestion window is equal to or greater than the slow-start threshold. For example, when the transmitting device starts transmitting a message, it may set the congestion window to 1, transmit 1 message through the congestion window, adjust the congestion window to 2 after receiving an acknowledgement frame of the message, transmit 2 messages through the congestion window, adjust the congestion window to 4 after receiving an acknowledgement frame of the 2 messages, transmit 4 messages through the congestion window, adjust the congestion window to 8 after receiving an acknowledgement frame of the 4 messages, and so on, and the transmitting device may sequentially adjust the congestion window to 16, 32, 64.
Congestion avoidance procedure when the congestion window increases exponentially during slow start to equal to or greater than the slow start threshold, the congestion avoidance procedure is entered where the sending device may control the congestion window to increase linearly until network congestion occurs. When network congestion occurs, the congestion window multiplicative property can be reduced, the congestion window is controlled to linearly increase on the basis of the congestion window after the multiplicative property is reduced until the network congestion occurs, and the congestion window multiplicative property is reduced again. The sending device may consider that network congestion occurs when no acknowledgement frame of a message is received within a preset time or when acknowledgement frames of a certain message are received repeatedly.
For example, in the congestion avoidance procedure, the transmitting device may increment the congestion window by one after each transmission round until network congestion occurs. For example, taking the slow start threshold as 16 as an example, when the congestion window is 16, the transmitting device transmits 16 messages through the congestion window, adjusts the congestion window to 17 after receiving acknowledgement frames of the 16 messages, transmits 17 messages through the congestion window, adjusts the congestion window to 18 after receiving acknowledgement frames of the 17 messages, and so on, and the transmitting device can sequentially adjust the congestion window to 19, 20, 21 and the like after each transmission round, until network congestion occurs, and reduces the congestion window multiplicative performance. For example, the congestion window may be adjusted to the first half and then controlled to increase linearly based on the adjusted congestion window.
And in the multipath communication, when a plurality of paths exist between the source terminal equipment and the destination terminal equipment of the paths, the paths can be logically combined into one logic path to communicate under some conditions, so that the path bandwidth is effectively improved, and the user requirements are met. Wherein, different paths belonging to the same logic path correspond to the same path source end device and the same path destination end device. For example, as shown in fig. 1, the transmitting apparatus 1 and the receiving apparatus 1 may communicate through a path L1, L2, or L3, and the transmitting apparatus 1 and the receiving apparatus 2 may communicate through a path L4, where L1, L2, and L3 each correspond to the path source apparatus 1 and the path destination apparatus 1, L4 each correspond to the path source apparatus 1 and the path destination apparatus 2. In a specific embodiment, L1, L2 and L3 may be logically combined into a logic path, so that the path bandwidth may be improved, and the user requirement may be met. For example, the L1, L2, and L3 may employ a layer 3 (L3) tunnel implemented multipath bundling scheme, such as the generic routing encapsulation (generic routing encapsulation, GRE) protocol, to encapsulate and schedule the packets onto multiple paths. It should be noted that, in the embodiment of the present application, the multiplexing scenario is not limited to what kind of bottom layer technology is adopted.
In multipath communication, when a transmitting device transmits a message, the message can be transmitted to a path source device, and the path source device determines which path to transmit the message specifically through according to the service condition of the path. The sending device cannot sense the path and cannot sense the service condition of the path, and can not adjust the slow start threshold according to the service condition of the path, so when the sending device adjusts the slow start threshold according to the TCP congestion control algorithm, the sending device cannot adjust the slow start threshold according to the service condition of the path, and as the congestion window grows excessively in an exponential form in the slow start process, the number of messages sent by the sending device is easily larger than the actual residual capacity of the path, so that the messages are greatly lost, and the communication quality is rapidly reduced.
Based on the above, a mixed slow start algorithm is provided, the mixed slow start algorithm introduces a new congestion sensing judgment condition to replace a slow start threshold, the mixed slow start algorithm can judge whether network congestion exists by utilizing the congestion sensing judgment conditions such as the arrival time interval and time delay fluctuation of each confirmation frame, if the network congestion exists, the slow start process is exited, the current congestion window multiplicative property is reduced, and on the basis of the congestion window after the multiplicative property is reduced, the congestion window is slowly increased according to a preset increasing function of the mixed slow start algorithm, so that the increasing speed of the congestion window is slowed down, the network congestion is avoided, and accurate congestion sensing is realized.
However, in the multipath communication, because each path has inherent time delay, the sending device can easily identify the time delay fluctuation generated by the difference of the inherent time delay between each path as the time delay fluctuation generated by network congestion according to the mixed slow start algorithm, so that the sending device considers that the network congestion exists, and the slow start process is exited in advance, so that the congestion window is slowly increased, and the path utilization rate is low.
For example, as shown in fig. 1, taking an example that the inherent delay of the paths L1 and L2 is 50s, the inherent delay of L3 is 100s, and the maximum delay fluctuation preset by the hybrid slow start algorithm is 20s, it is assumed that the transmitting apparatus 1 transmits a set of messages to the receiving apparatus 1 at 1 st s, the transmitting apparatus 1 can receive acknowledgement frames returned on L1 and L2 at 51 st s, but the transmitting apparatus 1 can receive acknowledgement frames returned on L3 at 101 st s at the earliest, the transmitting apparatus 1 determines that the delay fluctuation is 50s from the acknowledgement frames received at 51 st s and the acknowledgement frames received at 101 st s, and is greater than the preset maximum delay fluctuation, and that in reality, the delay fluctuation is due to the inherent delays of L1, L2 and L3, but not due to network congestion. Therefore, the sending device 1 cannot perceive L1, L2 and L3, so that delay fluctuations generated by differences of inherent delays among L1, L2 and L3 can be easily identified as delay fluctuations generated by network congestion, so that the sending device 1 considers that network congestion exists, and therefore the slow start process is exited in advance, the congestion window is slowly increased, and the path utilization rate is low.
In order to solve the technical problems, the embodiment of the application provides a multi-path communication method, which is applied to a communication system, wherein the communication system comprises path source equipment and path destination equipment, at least two paths are arranged between the path source equipment and the path destination equipment, the at least two paths comprise a first path and a second path, the path source equipment determines the waiting time delay of the first path and the waiting time delay of the second path according to the inherent time delay of the first path and the inherent time delay of the second path, the sum of the inherent time delay of the first path and the waiting time delay of the first path is the transmission time delay of the first path, the sum of the inherent time delay of the second path and the waiting time delay of the second path is the transmission time delay of the second path, the difference between the transmission time delay of the first path and the transmission time delay of the second path is smaller than or equal to a preset time difference, the waiting time delay of the first path is used for transmitting a message through the first path after the waiting time delay of the first path is ended when the first path is required to transmit the message through the first path, the waiting time delay of the link source equipment is used for transmitting the message through the second path after the waiting time delay of the first path is required to be transmitted through the second path is ended when the second path is required to transmit the message through the second path is required to be transmitted through the second path.
In the embodiment of the application, the path source equipment determines the waiting time delay for each path in a plurality of paths between the path source equipment and the path destination equipment, and sends the message on the path after the waiting time delay corresponding to the path is finished, so that the difference value of the transmission time delays of any two paths in the plurality of paths is smaller than or equal to the preset time difference value, the time delay fluctuation caused by the inherent time delay between the paths is reduced, the problem that the sending equipment exits from the slow starting process in advance due to the network congestion is considered to exist by the time delay fluctuation caused by the inherent time delay of the paths is avoided, the accurate congestion sensing can be realized, the index increase of a congestion window in the slow starting process is controlled, and the path utilization rate is improved.
The following describes embodiments of the present application in detail with reference to the drawings.
The multi-path communication method provided by the embodiment of the present application can be used for any communication system supporting wireless communication, such as a second generation (second generation, 2G) communication system, a third generation (3G) communication system and a next generation communication system, a global system for mobile communications (global system for mobile communications, GSM), a code division multiple access (code division multiple access, CDMA) system, a time division multiple access (time division multiple access, TDMA) system, a wideband code division multiple access (wideband code division multiple ACCESS WIRELESS, WCDMA) system, a frequency division multiple access (frequency division multiple addressing, FDMA) system, an orthogonal frequency division multiple access (orthogonal frequency-division multiple access, OFDMA) system, a single carrier FDMA (SC-FDMA) system, a general packet radio service (GENERAL PACKET radio service, GPRS) system, a long term evolution (long term evolution, LTE) system, and other such communication systems, without limitation. The present application is described with respect to a multi-path communication method using the communication system shown in fig. 1 as an example.
Fig. 1 is a schematic diagram of a communication system according to an embodiment of the present application, where, as shown in fig. 1, the communication system may include at least one transmitting device, at least one path source device, at least one path destination device, and at least one receiving device.
The sending device in fig. 1 may send a message to the path source device based on the above-mentioned TCP congestion control method, and may also receive an acknowledgement frame of the message from the path source device. Specifically, the transmitting device may be a device having a transmitting and receiving function, such as a terminal, a server, or the like.
There may be multiple paths between the path source device and the path destination device in fig. 1. The path source device may receive the message from the transmitting device, and send the message to the path destination device through multiple paths, where the path destination device sends the message to the receiving device. The path destination device may also receive the acknowledgement frame of the message from the receiving device, and send the acknowledgement frame of the message to the path source device through the path corresponding to the message, where the path source device sends the acknowledgement frame of the message to the sending device. Specifically, the path source end device and the path destination end device may be switches, routers, and other devices for indicating route forwarding. It should be noted that, in the embodiment of the present application, for each path, other path devices may be further included between the path source device and the path destination device, which is not limited.
The receiving device in fig. 1 may receive a message from the path destination device, and may also send an acknowledgement frame of the message to the path destination device. Specifically, the receiving device may be a device having a transceiver function, such as a terminal, a server, or the like.
It should be noted that, in the embodiment of the present application, the at least one sending device, the at least one path source device, the at least one path destination device, and the at least one receiving device may be one or more chips, or may be a System On Chip (SOC) or the like. Fig. 1 is merely an exemplary drawing, which includes no limitation on the number of devices. Furthermore, the communication system may include other devices in addition to the device shown in fig. 1. The names of the devices and the paths in fig. 1 are not limited, and the devices and the paths may be named as other names besides those shown in fig. 1, without limitation.
In the specific implementation, as shown in fig. 1, for example, at least one sending device, at least one path source end device, at least one path destination end device, and at least one receiving device may all adopt the composition structure shown in fig. 2, or include the components shown in fig. 2. Fig. 2 is a schematic diagram of a communication apparatus 200 according to an embodiment of the present application, where the communication apparatus 200 may be a transmitting device or a chip or a system on chip in the transmitting device, or may be a path source device or a chip or a system on chip in the path source device, or may be a path destination device or a chip or a system on chip in the path destination device, or may be a receiving device or a chip or a system on chip in the receiving device. As shown in fig. 2, the communication device 200 includes a processor 201, a transceiver 202, and a communication line 203.
Further, the communication device 200 may also include a memory 204. The processor 201, the memory 204, and the transceiver 202 may be connected by a communication line 203.
The processor 201 is a central processing unit (central processing unit, CPU), a general purpose processor network processor (network processor, NP), a digital signal processor (DIGITAL SIGNAL processing, DSP), a microprocessor, a microcontroller, a programmable logic device (programmable logic device, PLD), or any combination thereof. The processor 201 may also be other devices with processing functions, such as, without limitation, circuits, devices, or software modules.
A transceiver 202 for communicating with other devices or other communication networks. The other communication network may be an ethernet, a radio access network (radio access network, RAN), a wireless local area network (wireless local area networks, WLAN), etc. The transceiver 202 may be a module, circuitry, transceiver, or any device capable of enabling communications.
Communication line 203 for transmitting information between the components included in communication device 200.
Memory 204 for storing instructions. Wherein the instructions may be computer programs.
The memory 204 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device capable of storing static information and/or instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device capable of storing information and/or instructions, an EEPROM, a CD-ROM (compact disc read-only memory) or other optical disk storage, an optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, etc.
It should be noted that the memory 204 may exist separately from the processor 201 or may be integrated with the processor 201. Memory 204 may be used to store instructions or program code or some data, etc. The memory 204 may be located inside the communication device 200 or outside the communication device 200, and is not limited. The processor 201 is configured to execute instructions stored in the memory 204 to implement a multi-path communication method according to the following embodiment of the present application.
In one example, processor 201 may include one or more CPUs, such as CPU0 and CPU1 in fig. 2.
As an alternative implementation, the communication device 200 includes multiple processors, e.g., in addition to the processor 201 in fig. 2, a processor 207 may be included.
As an alternative implementation, the communication apparatus 200 further comprises an output device 205 and an input device 206. Illustratively, the input device 206 is a keyboard, mouse, microphone, or joystick, and the output device 205 is a display, speaker (speaker), or the like.
It should be noted that the communication apparatus 200 may be a desktop computer, a portable computer, a web server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system, or a device having a similar structure as in fig. 2. Further, the constituent structure shown in fig. 3 does not constitute a limitation of the communication apparatus, and the communication apparatus may include more or less components than those shown in fig. 2, or may combine some components, or may be arranged in different components.
In the embodiment of the application, the chip system can be composed of chips, and can also comprise chips and other discrete devices.
Further, actions, terms, and the like, which are referred to between embodiments of the present application, are not limited thereto. The message names of interactions between the devices or parameter names in the messages in the embodiments of the present application are just an example, and other names may be used in specific implementations without limitation.
In the following, description will be made of a multi-path communication method provided by an embodiment of the present application with reference to a communication system shown in fig. 1, where a transmitting device may be any transmitting device in the communication system, a multi-path source device may be any multi-path source device in the communication system, a multi-path destination device may be any multi-path destination device in the communication system, and a receiving device may be any receiving device in the communication system. The transmitting apparatus, the multipath source apparatus, the multipath destination apparatus, and the receiving apparatus described in the embodiments described below may be provided with the components shown in fig. 2.
Fig. 3 is a flowchart of a multi-path communication method according to an embodiment of the present application, where, as shown in fig. 3, the method may include:
Step 301, the path source device obtains an inherent delay of each path in a plurality of paths between the path source device and the path destination device.
Specifically, taking an example that a path between a path source end device and a path destination end device includes a first path and a second path, the path source end device may acquire an inherent delay of the first path and an inherent delay of the second path. When other paths exist between the path source end device and the path destination end device, the path source end device can acquire the inherent delay of the other paths.
The inherent delay may include one-way inherent delay and two-way inherent delay, among others.
The unidirectional inherent delay may be a transmission duration of a message on a path, or may be described as a total time elapsed from when the path source device sends the message through the path to when the path destination device receives the message.
For example, taking an example that a path between the path source end device and the path destination end device includes a first path, the path source end device may determine a one-way inherent delay of the first path by using a method shown in fig. 4 described below, for example, the path source end device may send, through the first path, a first packet carrying a sending time of the first packet to the path destination end device, and receive an acknowledgement frame of the first packet from the path destination end device. The acknowledgement frame may include a sending time of the first message and a receiving time of the first message. Assuming that the clock of the path source device is synchronous with the clock of the path destination device, the unidirectional inherent delay of the path may be the time of receiving the first message-the time of sending the first message. Assuming that the clock of the path source end device is not synchronous with the clock of the path destination end device, the unidirectional inherent delay of the path can be that the receiving time of the first message, the sending time of the first message and the clock difference, wherein the clock difference is the difference value between the clock of the path destination end device and the clock of the path source end device. In the embodiment of the present application, "-" is a minus sign and "+" is an plus sign.
For example, taking the first path as L1 in fig. 1 as an example, assuming that the path source device 1 sends a first packet including t1 to the path destination device 1 through L1 at time t1, the path destination device 1 receives the first packet through L1 at time t2, and the path destination device 1 may send an acknowledgement frame including the first packets of t1 and t2 to the path source device 1. If the path source device 1 is synchronized with the clock of the path destination device 1, it is determined that the unidirectional intrinsic delay of L1 is t2-t1. If the clocks of the path source end device 1 and the path destination end device 1 are not synchronous, determining that the unidirectional inherent delay of the L1 is t2-t 1-clock difference, wherein the clock difference is the difference between the clock of the path destination end device 1 and the clock of the path source end device 1.
Similarly, when the path between the path source end device and the path destination end device includes a second path, the path source end device may also send a second message to the path destination end device through the second path, and receive a confirmation frame of the second message from the path destination end device through the second path, and determine the unidirectional inherent delay of the second path according to the sending time of the second message and the receiving time of the second message in the confirmation frame of the second message. When the path between the path source terminal equipment and the path destination terminal equipment also comprises other paths, the path source terminal equipment can also send a message corresponding to the path destination terminal equipment through the path, and the unidirectional inherent time delay of the path is determined according to the sending time and the receiving time of the message corresponding to the path.
The bidirectional inherent delay may be the sum of the transmission time length of the message on the path and the transmission time length of the acknowledgement frame of the message on the path, or may be described as the sum of the total time elapsed from the time when the path source device sends the message through the path to the time when the path destination device receives the message, and the total time elapsed from the time when the path destination device sends the acknowledgement frame of the message through the path to the time when the path source device receives the acknowledgement frame of the message.
For example, taking an example that a path between the path source end device and the path destination end device includes a first path, the path source end device may also determine a bidirectional inherent delay of the first path by using a method shown in fig. 5 described below, for example, the path source end device may send, to the path destination end device, a first packet carrying a sending time of the first packet through the path, and receive an acknowledgement frame of the first packet from the path destination end device. The acknowledgement frame of the first message may include a sending time of the first message, a receiving time of the first message, and a sending time of the acknowledgement frame of the first message. The bidirectional inherent delay of the path may be (the receiving time of the first message-the sending time of the first message) + (the receiving time of the acknowledgement frame of the first message-the sending time of the acknowledgement frame of the first message), provided that the clock of the path source device is synchronized with the clock of the path destination device. The bidirectional inherent delay of the path may be (the receiving time of the first message-the sending time of the first message-the clock difference) + (the receiving time of the acknowledgement frame of the first message-the sending time of the acknowledgement frame of the first message + the clock difference), provided that the clock of the path source device is not synchronized with the clock of the path destination device. Since the clock difference between the path destination device and the path source device remains unchanged, the bidirectional delay of the path is (the receiving time of the first message-the transmitting time of the first message) + (the receiving time of the acknowledgement frame of the first message-the transmitting time of the acknowledgement frame of the first message) regardless of whether the clock of the path source device is synchronous with the clock of the path destination device.
For example, taking the first path as L1 in fig. 1 as an example, assuming that the path source device 1 sends a first packet including t1 to the path destination device 1 through L1 at time t1, the path destination device 1 receives the packet 1 through L1 at time t2, the path destination device 1 may send an acknowledgement frame including the first packet including t1, t2, and t3 to the path source device 1 through L1 at time t3, and the path source device 1 receives the acknowledgement frame of the first packet through L1 at time t4, then it is determined that the bidirectional inherent delay of L1 is t2-t1+t4-t3.
Note that, the difference between the transmission time of the acknowledgement frame of the first message and the reception time of the first message may also be described as the transmission delay time of the acknowledgement frame of the first message.
Alternatively, the path destination device sends a first message acknowledgement frame to the path source device, where the first message acknowledgement frame includes a first message sending time and a first message acknowledgement frame sending delay time, and the path source device determines, according to the received first message acknowledgement frame and the first message acknowledgement frame receiving time, that the path bidirectional inherent delay is that the first message acknowledgement frame receiving time-the first message sending time-the first message acknowledgement frame sending delay time.
Similarly, when the path between the path source end device and the path destination end device includes a second path, the path source end device may also send a second message to the path destination end device through the second path, and receive a confirmation frame of the second message from the path destination end device through the second path, and determine the bidirectional inherent delay of the second path according to the confirmation frame of the second message and the receiving time of the confirmation frame of the second message. When the path between the path source terminal equipment and the path destination terminal equipment also comprises other paths, the path source terminal equipment can also send a message corresponding to the path destination terminal equipment through the path, and the bidirectional inherent time delay of the path is determined according to the acknowledgement frame of the message corresponding to the path and the receiving time of the acknowledgement frame of the message.
It should be noted that, taking an example that a path between a path source device and a path destination device includes a first path and a second path, the path source device may send a first packet and a second packet to the path destination device through the first path and the second path in a unicast manner to determine an inherent delay of the first path and the second path, and the path source device may also send a packet to the path destination device through the first path and the second path in a broadcast manner to determine an inherent delay of the path according to a acknowledgement frame of the packet corresponding to each path.
In addition, the first message is a message sent by the path source device to the path destination device on the first path, the second message is a message sent by the path source device to the path destination device on the second path, and the first message and the second message may be named as other names, without limitation.
Step 302, the path source terminal device determines the waiting time delay of each path according to the inherent time delay of each path.
The sum of the inherent delay of the path and the waiting delay of the path can be the transmission delay of the path, and the difference value of the transmission delays of any two paths in the paths is less than or equal to the preset time difference value.
Specifically, taking an example that a path between a path source end device and a path destination end device includes a first path and a second path, the path source end device may determine a waiting time delay of the first path as a first time period, and determine a waiting time delay of the second path as a difference value between a transmission time delay of the first path and an inherent time delay of the second path, where the first path is a path with the longest inherent time delay in the first path and the second path, so that the difference value between the transmission time delay of the first path and the transmission time delay of the second path is less than or equal to a preset time difference value.
It should be noted that, when the path between the path source device and the path destination device further includes other paths, the link source device may determine, as the first period, a latency of a path with the longest inherent latency among the first path, the second path, and the other paths, and determine, as a latency of the remaining paths, a difference between a transmission latency of the path with the longest inherent latency and an inherent latency of the remaining paths, so that the difference between the transmission latencies of the paths is less than or equal to a preset time difference.
In order to avoid that the sending device can not sense the paths and mistakes the delay fluctuation generated by the inherent delay between the paths into the delay fluctuation generated by the network congestion, the smaller the preset time difference value is, the better.
The path source device may determine, as the first period, a latency of a path having a longest unidirectional inherent delay among the paths, and determine, as the latency of a path corresponding to the difference, an absolute value of a difference between the unidirectional inherent delay of each path among the paths except the path having the longest unidirectional inherent delay and a sum of the unidirectional inherent delay of the path having the longest unidirectional inherent delay and the first period, when the inherent delay is the unidirectional inherent time delay, assuming that the preset time difference is 0. At this time, the transmission delay of the path may be described as a unidirectional transmission delay.
Specifically, in order to improve the transmission efficiency of the message on the path, the smaller the first time period is, the better the smaller the first time period is.
For example, taking fig. 1 as an example, the path between the path source device 1 and the path destination device 1 includes L1, L2, and L3, assuming that the unidirectional intrinsic delay of L1 is 100s, the unidirectional intrinsic delay of L2 is 70s, and the unidirectional intrinsic delay of L3 is 50s, the path source device 1 may determine the latency of L1 to be 0, the latency of L2 to be 30s, and the latency of L3 to be 50s.
When the clock of the path source device is not synchronous with the clock of the path destination device, the clock difference between the path source device and the path destination device is equal for each path, and when the waiting time delay of each path is determined according to the unidirectional inherent time delay of each path, the waiting time delay of each path is the sum of the unidirectional inherent time delay and the waiting time delay of the path with the longest unidirectional inherent time delay and the difference value of the unidirectional inherent time delay of the path, so the path source device can calculate the waiting time delay of the path without knowing the clock difference.
For example, taking the path with the longest single inherent delay as L1, the single inherent delay of L1 as T21-T11-clock difference, the waiting delay as T as an example, assuming that the single inherent delay of L2 as T22-T12-clock difference, the waiting delay of L2 is (T21-T11-clock difference) +t- (T22-T12-clock difference) = (T21-T11) +t- (T22-T12), where T21 is the receiving time of the L1 report, T11 is the sending time of the L1 report, T22 is the receiving time of the L2 report, and T12 is the sending time of the L2 report.
The path source device may determine, as the first period, a waiting time delay of a path having a longest bidirectional inherent time delay among the paths, and determine, as the waiting time delay of a path corresponding to the difference, an absolute value of a difference value of a sum of the bidirectional inherent time delay of each path except the path having the longest bidirectional inherent time delay among the paths and the first period, the bidirectional inherent time delay of the path having the longest bidirectional inherent time delay. At this time, the transmission delay of the path may be described as a bidirectional transmission delay.
Specifically, in order to improve the transmission efficiency of the message on the path, the smaller the first time period is, the better the smaller the first time period is.
For example, taking fig. 1 as an example, the path between the path source device 1 and the path destination device 1 includes L1, L2, and L3, assuming that the bidirectional inherent delay of L1 is 200s, the bidirectional inherent delay of L2 is 140s, and the bidirectional inherent delay of L3 is 100s, the path source device 1 may determine the latency of L1 to be 0, the latency of L2 to be 60s, and the latency of L3 to be 100s.
Step 303, after the waiting time delay of each path is finished, the path source device sends a message on the path.
Specifically, after receiving the message sent by the sending device, the path source device may determine a path for transmitting the message according to the usage condition of each path, and after the waiting time delay of the path is over, send the message to the path destination device on the path.
Taking an example that a path between the path source end device and the path destination end device comprises a first path and a second path, when the path source end device needs to send a message on the first path, the path source end device can send the message on the first path after the waiting time delay of the first path is finished, and when the path source end device needs to send the message on the second path, the path source end device can send the message on the second path after the waiting time delay of the second path is finished.
In one example, the path source device may determine a timer for each path based on the latency of each path. Wherein the time length of the timer of each path is equal to the waiting time delay of the path.
Specifically, the path source device may start the timer of each path at the same time, and send a message on the path for which the timer expires.
For example, taking fig. 1 as an example, the path between the path source device 1 and the path destination device 1 includes L1, L2, and L3, assuming that the latency of L1 is 0, the latency of L2 is 60s, the latency of L3 is 100s, the path source device 1 may set a timer with a duration of 60s for L2, and a timer with a duration of 100s for L3. Because the waiting time delay of L1 is 0, the path source end device 1 can directly send the message to the path destination end device on L1 after receiving the message sent by the sending device, the path source end device 1 sends the message to the path destination end device 1 on L2 after the timer of L2 is reduced to 0, and sends the message to the path destination end device 1 on L3 after the timer of L3 is reduced to 0.
In another example, the path source device determines a waiting queue according to the waiting time delay of each path, where the waiting queue includes a message corresponding to the path.
For example, taking fig. 1 as an example, a path between the path source end device 1 and the path destination end device 1 includes L1, L2, and L3, assuming that the latency of L1 is 0, the latency of L2 is 60s, and the latency of L3 is 100s. After the path source end device 1 receives the message sent by the sending device 1, the message transmitted on the L1 can be added into the waiting queue 1, the message transmitted on the L2 can be added into the waiting queue 2, the message transmitted on the L3 can be added into the waiting queue 3, the path source end device 1 can directly send the message in the waiting queue 1 to the path destination end device 1 on the L1 due to the fact that the waiting time delay of the L1 is 0, the path source end device 1 sends the message in the waiting queue 1 on the L1 at the moment T1 on the assumption that the path source end device 1 sends the message in the waiting queue 1 on the L1 at the moment T1+60s, the path source end device 1 sends the message in the waiting queue 2 on the L2 to the path destination end device 1 at the moment T1+100s, and the path destination end device 1 sends the message in the waiting queue 3 on the L3 after the moment T1+100 s.
Specifically, the path source device may add the waiting queue through a software module or a hardware module, for example, the path source device may add the waiting queue through an application program, where the application program has a function of adding the waiting queue. The path source device may also add the waiting queue using a network card, where the network card has a function of adding the waiting queue. And are not limited.
It should be noted that, the path source device may also combine the two examples to use, that is, the path source device may determine a timer for each path according to the waiting delay of each path, determine a waiting queue corresponding to the path after receiving the message sent by the sending device, and send the message in the corresponding waiting queue on the path after the timer expires.
For example, taking fig. 1 as an example, the path between the path source device 1 and the path destination device 1 includes L1, L2, and L3, assuming that the latency of L1 is 0, the latency of L2 is 60s, the latency of L3 is 100s, the path source device 1 may set a timer with a duration of 60s for L2, and a timer with a duration of 100s for L3. After the path source device 1 receives the message sent by the sending device 1, the message transmitted on the L1 may be added to the waiting queue 1, the message transmitted on the L2 may be added to the waiting queue 2, and the message transmitted on the L3 may be added to the waiting queue 3. Since the latency of L1 is 0, the path source device 1 may directly send the message in the waiting queue 1 to the path destination device 1 on L1, send the message in the waiting queue 2 to the path destination device 1 on L2 after the timer of L2 expires, and send the message in the waiting queue 3 to the path destination device 1 on L3 after the timer of L3 expires.
Further, after receiving the message sent by the path source device, the path destination device may process the message, and send a confirmation frame of the message to the path source device according to the processing result. The acknowledgement frame of the message may be an Acknowledgement Character (ACK) or a negative acknowledgement character (negative acknowledgement, NACK).
In one example, when the inherent delay is unidirectional, the path source device may send a message on the path after the waiting delay of the path is over. The path destination device may also refer to the method shown in fig. 6 below, and determine a waiting delay for each path by using a method similar to that of the path source device, and send a message on the path after the waiting delay is over, and send a confirmation frame of the message to the path source device after the waiting delay is over.
Based on the example, the path source device sends the message on the path after the waiting time delay of the path is over, so that the time difference value of the path destination device for receiving the message through each path is smaller than or equal to the preset time difference value. After the waiting time delay of the path is finished, the path destination device sends the acknowledgement frame of the message on the path, so that the time difference value of the acknowledgement frame of the message received by the path source device through each path is smaller than or equal to the preset time difference value, the problem that the sending device recognizes the time delay fluctuation caused by the inherent time delay of each path as the time delay fluctuation caused by network congestion according to the acknowledgement frame of the message sent by the path source device to exit the slow starting process in advance is avoided, accurate congestion sensing can be realized, further, the index increase of a congestion window in the slow starting process is controlled, and the path utilization rate is improved.
In yet another example, when the inherent delay is a bidirectional inherent delay, the path source device may send a message on the path after the waiting delay of the path is over. The path destination device may send a confirmation frame of the message to the path source device by using the prior art after receiving the message sent by the path source device.
Based on the example, the path source device sends the message on the path after the waiting time delay of the path is finished, so that the difference value of the transmission time delays of any two paths in the paths is smaller than or equal to a preset time difference value, the time delay fluctuation caused by the inherent time delay between the paths is reduced, the phenomenon that the sending device exits from the slow starting process in advance due to the fact that the network congestion exists due to the time delay fluctuation caused by the inherent time delay of the paths is avoided, accurate congestion sensing can be achieved, further, the index increase of a congestion window in the slow starting process is controlled, and the path utilization rate is improved.
In step 301, it is assumed that the path between the path source device and the path destination device includes a first path and a second path, where the path source device may determine the one-way inherent delay of the first path by using the method shown in fig. 4 described below as an example. Fig. 4 is a flowchart of a method for obtaining a unidirectional intrinsic delay of a first path according to an embodiment of the present application, where the method includes:
Step 401, the path source terminal device sends a first message to the path destination terminal device through a first path. Correspondingly, the path destination terminal equipment receives the first message.
The first message may include a sending time of the first message.
In one possible design, the first message is a message sent by the sending device.
Specifically, after receiving a message sent by a sending device, the path source device may carry a sending time of the message to a path destination device through a first path when determining that the message needs to be transmitted on the first path, where the sending time of the message is a time when the path source device sends the message to the path destination device through the first path.
In yet another possible design, the first message is a probe message generated by the path source device.
Specifically, the path source device may generate a detection message, and send the detection message carrying a sending time of the detection message to the path destination device through the first path, where the sending time of the detection message is a time when the path source device sends the detection message to the path destination device through the first path.
Further, the path source end device may periodically send a detection message to the path destination end device.
Step 402, the path destination device sends a confirmation frame of the first message to the path source device through the first path. Correspondingly, the path source terminal equipment receives the acknowledgement frame of the first message.
The acknowledgement frame may include a sending time of the first message and a receiving time of the first message.
Specifically, the path destination device may periodically send, according to a preset period, a confirmation frame of the first message to the path source device through the first path.
When the first packet is a packet sent by the sending device, the path destination device may send, to the path source device, the receiving time of the latest received packet and the sending time of the packet carried in the acknowledgement frame of the packet when a preset period of sending the acknowledgement frame of the first packet arrives.
For example, taking a preset period as 10s, where the path destination device receives the message 1 at 5s, receives the message 2 at 7s, and receives the message 3 at 10s as an example, assuming that the path destination device considers that the period of sending the acknowledgement frame of the first message arrives at 10s, the path source device may send the acknowledgement frame of the message 3 to the path source device, where the acknowledgement frame of the message 3 includes the receiving time of the message 3 and the sending time of the message 3.
When the first message is a detection message generated by the path source device, the path destination device may periodically send a confirmation frame of the detection message to the path source device according to a period of sending the detection message by the path source device, where the confirmation frame of the detection message includes a receiving time of the detection message and a sending time of the detection message. That is, the path destination device may send a confirmation frame of the probe packet to the path source device after receiving the probe packet periodically sent by the path source device each time.
Step 403, the path source device determines the unidirectional inherent delay of the first path according to the acknowledgement frame of the first message.
The acknowledgement frame of the first message may include a sending time of the first message and a receiving time of the first message.
Specifically, the path source device may refer to step 301, and determine, according to the acknowledgement frame of the first message, that the unidirectional inherent delay of the path is the time of receiving the first message-the time of sending the first message when the clock of the path source device is synchronous with the clock of the path destination device. When the clock of the path source terminal equipment is not synchronous with the clock of the path destination terminal equipment, determining the unidirectional inherent time delay of the path as the receiving time of the first message, the sending time of the first message and the clock difference, wherein the clock difference is the difference value between the clock of the path destination terminal equipment and the clock of the path source terminal equipment.
It should be noted that, the path source device may also determine the unidirectional inherent delay of the second path by referring to the method shown in fig. 4, and when other paths exist between the path source device and the path destination device, the path source device may also determine the unidirectional inherent delay of the other paths by referring to the method shown in fig. 4, which is not repeated.
In step 301, it is assumed that the path between the path source device and the path destination device includes a first path and a second path, and the path source device may determine the bidirectional inherent delay of the first path by using the method shown in fig. 5 below as an example of the first path. Fig. 5 is a flowchart of a method for obtaining a bidirectional inherent delay of a first path according to an embodiment of the present application, where the method includes:
Step 501, the path source terminal device sends a first message to the path destination terminal device through a first path. Correspondingly, the path destination terminal equipment receives the first message.
The first message may include a sending time of the first message.
Specifically, the specific description of step 501 may refer to step 401 described above, and will not be repeated.
Step 502, the path destination device sends a confirmation frame of the first message to the path source device through the first path. Correspondingly, the path source terminal equipment receives the acknowledgement frame of the first message.
The acknowledgement frame may include a transmission time of the first message and a transmission delay time of the acknowledgement frame, where the transmission delay time is a difference between the transmission time of the acknowledgement frame and a reception time of the first message.
Alternatively, the acknowledgement frame includes a transmission time of the first message, a reception time of the first message, and a transmission time of the acknowledgement frame.
Specifically, the specific process of the path destination device sending the acknowledgement frame of the first message to the path source device in step 502 may refer to step 402, and will not be described herein.
Step 503, the path source device determines the bidirectional inherent delay of the first path according to the acknowledgement frame of the first message.
Specifically, the path source device may refer to step 301, and determine, according to the acknowledgement frame of the first message, that the bidirectional inherent delay of the path is that the reception time of the acknowledgement frame, the transmission time of the first message, and the transmission delay time of the acknowledgement frame
Alternatively, the path source device may refer to step 301, and determine, according to the acknowledgement frame of the first message, that the bi-directional inherent delay of the path is (receiving time of the first message-transmitting time of the first message) + (receiving time of the acknowledgement frame-transmitting time of the acknowledgement frame).
It should be noted that, the path source device may also determine the bidirectional inherent delay of the second path by referring to the method shown in fig. 5, and when other paths exist between the path source device and the path destination device, the path source device may also determine the bidirectional inherent delay of the other paths by referring to the method shown in fig. 5, which is not repeated.
In step 303, the path source device may determine the waiting time delay for each path by using the method shown in fig. 3, and send the message on the path after the waiting time delay is over, and similarly, the path destination device may determine the waiting time delay for each path by using the method shown in fig. 6, and send the acknowledgement frame of the message on the path after the waiting time delay is over.
Fig. 6 is a flowchart of a multi-path communication method according to an embodiment of the present application, where the method includes:
step 601, the path destination device obtains unidirectional inherent delay of each path in a plurality of paths between the path source device and the path destination device.
The path destination device may determine the one-way inherent delay of each path by sending a message to the path source device and determining the one-way inherent delay of each path according to a received acknowledgement frame of the message sent by the path source device. The acknowledgement frame of the message includes the sending time of the message and the receiving time of the message.
The process that the path destination device sends the message to the path source device and the specific process that the path source device determines the unidirectional intrinsic delay of each path according to the acknowledgement frame of the received message may refer to the above-mentioned fig. 3 and fig. 4, and the description that the path source device determines the unidirectional intrinsic delay of each path according to the acknowledgement frame of the message will not be repeated.
For example, taking an example that a path between a path source end device and a path destination end device includes a first path and a second path, the path destination end device may send a third message including a sending time of the third message to the path source end device through the first path, receive a confirmation frame of the third message from the path source end device through the first path, determine a unidirectional intrinsic delay of the first path according to the sending time of the third message and a receiving time of the third message in the confirmation frame of the third message, and also send a fourth message including a sending time of the fourth message to the path source end device through the second path, receive a confirmation frame of the fourth message from the path source end device through the second path, and determine a unidirectional intrinsic delay of the second path according to the sending time of the fourth message and the receiving time of the fourth message in the confirmation frame of the fourth message.
Similarly, when the path between the path source terminal device and the path destination terminal device further comprises other paths, the path destination terminal device can also send the message corresponding to the path source terminal device through the path, receive the acknowledgement frame of the message from the path source terminal device through the path, and determine the unidirectional inherent delay of the path according to the sending time of the message and the receiving time of the message in the acknowledgement frame of the message corresponding to the path.
It should be noted that, taking an example that a path between a path source end device and a path destination end device includes a first path and a second path, the path destination end device may send a third packet and a fourth packet to the path destination end device through the first path and the second path in a unicast manner to determine an inherent delay of the first path and the second path, and the path source end device may also send a packet to the path destination end device through the first path and the second path in a broadcast manner to determine an inherent delay of the path according to a acknowledgement frame of the packet corresponding to each path.
In addition, the third message is a message sent by the path destination device to the path source device on the first path, the fourth message is a message sent by the path destination device to the path source device on the second path, and the third message and the fourth message may be named as other names, without limitation.
Specifically, the path destination device may refer to step 301, and determine, according to the acknowledgement frame of the message, that the unidirectional inherent delay of the path is the time of receiving the message-the time of sending the message when the clock of the path source device is synchronous with the clock of the path destination device. When the clock of the path source terminal equipment is not synchronous with the clock of the path destination terminal equipment, determining the unidirectional inherent time delay of the path as the receiving time of the message, the transmitting time of the message and the clock difference, wherein the clock difference is the difference value between the clock of the path destination terminal equipment and the clock of the path source terminal equipment.
Step 602, the path destination device determines the waiting time delay of each path according to the unidirectional inherent time delay of each path.
Specifically, the process of determining the waiting time delay of each path by the path destination device according to the unidirectional inherent time delay of each path may refer to the process of determining the waiting time delay of each path by the path source device according to the unidirectional inherent time delay of each path in step 302, which is not described in detail.
Step 603, the path source device sends a message to the path destination device through each path.
Specifically, the path destination device may adopt the method shown in fig. 3, and after the waiting delay of each path is finished, send a message to the path destination device through the path.
Step 604, after the waiting time delay of the path is finished, the path destination device sends a confirmation frame of the message on the path.
Specifically, the path destination device may refer to the manner that the path source device sends the message on the path after the waiting delay of the path in step 303 is over, and the acknowledgement frame of the message is sent on the path after the waiting delay of the path is over, which is not described in detail.
Based on the method shown in fig. 6, the path destination device determines a waiting time delay for each path, and sends a confirmation frame of a message on the path after the waiting time delay is finished, so that a time difference value of the confirmation frame of the message received by the path source device through each path is smaller than or equal to a preset time difference value, the sending device is prevented from recognizing the time delay fluctuation caused by the inherent time delay of each path as the time delay fluctuation caused by network congestion according to the confirmation frame of the message sent by the path source device, the slow start process is exited in advance, accurate congestion sensing can be realized, further, index increase of a congestion window in the slow start process is controlled, and the path utilization rate is improved.
The scheme provided by the embodiment of the application is introduced mainly from the interaction point of the devices. It will be appreciated that each device, in order to implement the above-described functions, includes corresponding hardware structures and/or software modules that perform the respective functions. Those of skill in the art will readily appreciate that the various illustrative algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional modules of each network element according to the method example, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present application, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
In the case of dividing the respective functional modules by the respective functions, fig. 7 shows a communication apparatus, and the communication apparatus 70 may be a path source device or a chip or a system on a chip in the path source device. The communication means 70 may be adapted to perform the functions of the path source device as referred to in the above embodiments. The communication device 70 shown in fig. 7 comprises a processing module 701.
The processing module 701 is configured to determine a latency of a first path and a latency of a second path according to an inherent latency of the first path and an inherent latency of the second path, where a sum of the inherent latency of the first path and the latency of the first path is a transmission latency of the first path, a sum of the inherent latency of the second path and the latency of the second path is a transmission latency of the second path, a difference between the transmission latency of the first path and the transmission latency of the second path is less than or equal to a preset time difference, the latency of the first path is used for sending a message through the first path after the latency of the first path is over when the message is required to be sent through the first path, and the latency of the second path is used for sending a message through the second path after the latency of the second path is over when the message is required to be sent through the second path. Specific implementation may refer to the detailed descriptions of steps 301 to 303 in the embodiment shown in fig. 3, which are not repeated.
The specific implementation of the communication apparatus 70 may refer to the behavior function of the path source device in the multi-path communication method described in fig. 3-6. Specific implementations may refer to steps 301-303 in the embodiment shown in fig. 3, and steps 401 and 403 in the embodiment shown in fig. 4, and steps 501 and 503 in the embodiment shown in fig. 5, and step 603 in the embodiment shown in fig. 6, which are not described in detail.
In a specific embodiment, when the inherent delay is a unidirectional inherent time delay for indicating a transmission duration of a message on a path, the processing module 701 is further configured to determine a latency of a first path as a first period, determine a latency of a second path as a difference between the unidirectional transmission delay of the first path and the unidirectional inherent delay of the second path, and the unidirectional transmission delay is a sum of the unidirectional inherent delay of the path and the latency of the path.
In a specific embodiment, the first path is a path with longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
In a specific embodiment, the communication device further includes a sending module 702 and a receiving module 703, where the sending module 702 is configured to send a message including a sending time of the message to the path destination device through the first path and the second path, the receiving module 703 is configured to receive, through the first path and the second path, a confirmation frame of the message including the sending time of the message and a receiving time of the message from the path destination device, the processing module 701 is further configured to determine a unidirectional intrinsic delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and the processing module 701 is further configured to determine a unidirectional intrinsic delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In a specific embodiment, the sending module 702 is further configured to send the message to the path destination device periodically through the first path and the second path.
In a specific embodiment, the sending module 702 is configured to send a first packet including a sending time of the first packet to the path destination device through the first path, the receiving module 703 is configured to receive, through the first path, a confirmation frame of the first packet including the sending time of the first packet and a receiving time of the first packet from the path destination device, the processing module 701 is further configured to determine a one-way inherent delay of the first path according to the sending time of the first packet and the receiving time of the first packet, the sending module 702 is further configured to send, through the second path, a second packet including the sending time of the second packet to the path destination device, the receiving module 703 is further configured to receive, through the second path, a confirmation frame of the second packet including the sending time of the second packet and the receiving time of the second packet from the path destination device, and the processing module 701 is further configured to determine a one-way inherent delay of the second path according to the sending time of the second packet and the receiving time of the second packet.
In a specific embodiment, the sending module 702 is further configured to send the first message to the destination end device periodically through the first path, and the sending module 702 is further configured to send the second message to the destination end device periodically through the second path.
In a specific embodiment, when the inherent delay is a bidirectional inherent time delay for indicating a sum of a transmission duration of a message on a path and a transmission duration of an acknowledgement frame of the message on the path, the processing module 701 is further configured to determine a latency of a first path as a first period, determine a latency of a second path as a difference between the bidirectional transmission delay of the first path and the bidirectional inherent delay of the second path, and determine the bidirectional transmission delay as a sum of the bidirectional inherent delay of the path and the latency of the path.
In a specific embodiment, the first path is a path with the longest bidirectional inherent delay in the first path and the second path, and the first time period is 0.
In a specific embodiment, the sending module 702 is further configured to send a message including a sending time of the message to the path destination device through the first path and the second path, the receiving module 703 is further configured to receive, through the first path and the second path, an acknowledgement frame including a sending time of the message and a sending delay time of the acknowledgement frame from the path destination device, the sending delay time is a difference between the sending time of the acknowledgement frame and the receiving time of the message, the processing module 701 is further configured to determine a bidirectional intrinsic delay of the first path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to the first path, and the processing module 701 is further configured to determine a bidirectional intrinsic delay of the second path according to the receiving time of the acknowledgement frame, the sending time of the message and the sending delay time of the acknowledgement frame corresponding to the second path.
In a specific embodiment, the receiving module 703 is further configured to periodically receive, via the first path and the second path, an acknowledgement frame of a packet from the path destination device, where the packet is a packet that is received most recently by the path destination device when a transmission period of the acknowledgement frame arrives.
In a specific implementation manner, the sending module 702 is further configured to send a first message including a sending time of the first message to the path destination device through the first path, the receiving module 703 is further configured to receive, through the first path, an acknowledgement frame of the first message including a sending time of the first message and a sending delay time of an acknowledgement frame of the first message, the sending delay time is a difference between the sending time of the acknowledgement frame of the first message and the receiving time of the first message, the processing module 701 is further configured to determine a bidirectional inherent delay of the first path according to the receiving time of the acknowledgement frame of the first message, the sending time of the first message and the sending delay time of the acknowledgement frame of the first message, the sending module 702 is further configured to send, through the second path, a second message including a sending time of the second message to the path destination device, the receiving module 703 is further configured to receive, through the second path, the second message including the sending time of the second message and the sending delay time of the acknowledgement frame of the second message, the sending delay time of the second message is a difference between the sending time of the acknowledgement frame of the second message and the second message, and the sending delay time of the second message is further determined by the receiving module 701 is further configured to send the bidirectional inherent delay of the second message.
In a specific embodiment, the receiving module 703 is further configured to periodically receive, via a first path, a confirmation frame of a first packet from the path destination device, where the first packet is a first packet that the path destination device newly receives when a transmission period of the confirmation frame arrives, and the receiving module 703 is further configured to periodically receive, via a second path, a confirmation frame of a second packet from the path destination device, where the second packet is a second packet that the path destination device newly receives when the transmission period of the confirmation frame arrives.
In a specific embodiment, the processing module 701 is further configured to determine a first timer for the first path according to a latency of the first path, determine a second timer for the second path according to a latency of the second path, and send the message on the first path after the first timer expires, and send the message on the second path after the second timer expires.
In a specific embodiment, the processing module 701 is further configured to determine, for the first path, a first waiting queue including a message to be sent on the first path according to a waiting time delay of the first path, determine, for the second path, a second waiting queue including a message to be sent on the second path according to a waiting time delay of the second path, and send, for the second path, a message in the first waiting queue after the waiting time delay of the first path is over, and send, for the second path, a message in the second waiting queue after the waiting time delay of the second path is over.
In a specific embodiment, the processing module 701 is further configured to determine, according to a latency of the first path, a first timer and a first waiting queue including a message to be sent on the first path for the first path, determine, according to a latency of the second path, a second timer and a second waiting queue including a message to be sent on the second path for the second path, and send, after the expiration of the first timer, a message in the first waiting queue on the first path, and send, after the expiration of the second timer, a message in the second waiting queue on the second path.
As yet another implementation, the processing module 701 in fig. 7 may be replaced by a processor, and the transmitting module 702 and the receiving module 703 may be replaced by a transceiver, where the processor may integrate the functions of the processing module 701, and the transceiver may integrate the functions of the transmitting module 702 and the receiving module 703. Further, the communication device 70 shown in fig. 7 may also include a memory. When the processing module 701 is replaced by a processor and the transmitting module 702 and the receiving module 703 are replaced by a transceiver, the communication device 70 according to the embodiment of the present application may be the communication device shown in fig. 2.
In addition, when the processing module 701, the transmitting module 702, and the receiving module 703 are implemented in software, that is, are software modules, the processing module 701, the transmitting module 702, and the receiving module 703 may be stored in the memory 204 in the embodiment shown in fig. 2, and when the processor 201 executes each software module in the memory 204, the communication device 200 is caused to implement the steps described in fig. 3-6.
In the case where respective functional modules are divided with corresponding respective functions, fig. 8 shows a communication apparatus, the communication apparatus 80 may be a path destination end device or a chip or a system on chip in the path destination end device. The communication means 80 may be used to perform the functions of the path destination device as referred to in the above embodiments. The communication device 80 shown in fig. 8 comprises a processing module 801.
The processing module 801 is configured to determine a latency of the first path and a latency of the second path according to the unidirectional inherent latency of the first path and the unidirectional inherent latency of the second path, where the unidirectional inherent latency is a transmission duration of the message on the path, a sum of the unidirectional inherent latency of the first path and the latency of the first path is the unidirectional transmission latency of the first path, a sum of the unidirectional inherent latency of the second path and the latency of the second path is the unidirectional transmission latency of the second path, a difference between the unidirectional transmission latency of the first path and the unidirectional transmission latency of the second path is less than or equal to a preset time difference, the latency of the first path is used for transmitting an acknowledgement frame of the message through the first path after the latency of the first path is over, and the latency of the second path is used for transmitting an acknowledgement frame of the message through the second path after the latency of the second path is over. Specific implementation may refer to the detailed descriptions of step 601, step 602 and step 604 in the embodiment shown in fig. 6, which are not repeated.
The specific implementation of the communication apparatus 80 may refer to the behavior function of the path destination device in the multi-path communication method described in fig. 4-6. Specific implementations may refer to step 402 in the embodiment shown in fig. 4, step 502 in the embodiment shown in fig. 5, and step 601, step 602, and step 604 in the embodiment shown in fig. 6, which are not described in detail.
In a specific embodiment, the processing module 801 is further configured to determine the latency of the first path as a first period, and determine the latency of the second path as a difference between the unidirectional transmission latency of the first path and the unidirectional inherent latency of the second path.
In a specific embodiment, the first path is a path with longest unidirectional inherent delay in the first path and the second path, and the first time period is 0.
In a specific embodiment, the communication device further includes a sending module 802 and a receiving module 803, the sending module 802 is configured to send a message including a sending time of the message to the path source device through the first path and the second path, the receiving module 803 is configured to receive a confirmation frame of the message including the sending time of the message and a receiving time of the message from the path source device through the first path and the second path, the processing module 801 is further configured to determine a unidirectional inherent delay of the first path according to the sending time of the message and the receiving time of the message corresponding to the first path, and the processing module 801 is further configured to determine a unidirectional inherent delay of the second path according to the sending time of the message and the receiving time of the message corresponding to the second path.
In a specific embodiment, the sending module 802 is further configured to send the message to the path source device periodically through the first path and the second path.
In a specific embodiment, the sending module 802 is configured to send a third message including a sending time of the third message to the path source device through the first path, the receiving module 803 is configured to receive, through the first path, a confirmation frame of the third message including the sending time of the third message and a receiving time of the third message from the path source device, the processing module 801 is further configured to determine a one-way inherent delay of the first path according to the sending time of the third message and the receiving time of the third message corresponding to the first path, the sending module 802 is further configured to send, through the second path, a fourth message including the sending time of the fourth message to the path source device, the receiving module 803 is further configured to receive, through the second path, a confirmation frame of the fourth message including the sending time of the fourth message and the receiving time of the fourth message from the path source device, and the processing module 801 is further configured to determine the one-way inherent delay of the second path according to the sending time of the fourth message and the receiving time of the fourth message corresponding to the second path.
In a specific embodiment, the sending module 802 is further configured to send the third message to the path source device periodically through the first path, and the sending module 802 is further configured to send the fourth message to the path source device periodically through the second path.
In a specific embodiment, the receiving module 803 is further configured to receive, via the first path and the second path, a message including a sending time of the message from the path source device, and the sending module 802 is further configured to send, via the first path and the second path, an acknowledgement frame of the message including the sending time of the message and the receiving time of the message to the path source device.
In a specific embodiment, the receiving module 803 is further configured to receive, via the first path, a first packet including a transmission time of the first packet from the path source device, the sending module 802 is further configured to send, via the first path, a confirmation frame including the transmission time of the first packet and a reception time of the first packet to the path source device, the receiving module 803 is further configured to receive, via the second path, a second packet including the transmission time of the second packet from the path source device, and the sending module 802 is further configured to send, via the second path, a confirmation frame including the transmission time of the second packet and the reception time of the second packet to the path source device.
In a specific embodiment, the receiving module 803 is further configured to receive, via the first path and the second path, a packet including a transmission time of the packet from the path source device, and the sending module 802 is further configured to send, via the first path and the second path, a confirmation frame including a transmission time of the packet and a transmission delay time of the confirmation frame to the path source device, where the transmission delay time is a difference between the transmission time of the confirmation frame and the reception time of the packet.
In a specific embodiment, the receiving module 803 is further configured to receive, via a first path, a first packet including a transmission time of the first packet from the path source device, the sending module 802 is further configured to send, via the first path, an acknowledgement frame of the first packet including a transmission time of the first packet and a transmission delay time of an acknowledgement frame of the first packet to the path source device, the transmission delay time is a difference between the transmission time of the acknowledgement frame of the first packet and the reception time of the first packet, the receiving module 803 is further configured to receive, via a second path, a second packet including a transmission time of the second packet from the path source device, the sending module 802 is further configured to send, via the second path, an acknowledgement frame of the second packet including the transmission time of the second packet and the transmission delay time of the acknowledgement frame of the second packet to the path source device, and the transmission delay time is a difference between the transmission time of the acknowledgement frame of the second packet and the reception time of the second packet.
As yet another implementation, the processing module 801 in fig. 8 may be replaced by a processor, and the transmitting module 802 and the receiving module 803 may be replaced by a transceiver, and the processor may integrate the functions of the processing module 801, and the transceiver may integrate the functions of the transmitting module 802 and the receiving module 803. Further, the communication device 80 shown in fig. 8 may also include a memory. When the processing module 801 is replaced by a processor and the transmitting module 802 and the receiving module 803 are replaced by a transceiver, the communication apparatus 80 according to the embodiment of the present application may be the communication apparatus shown in fig. 2.
In addition, when the processing module 801, the transmitting module 802, and the receiving module 803 are implemented in software, that is, are software modules, the processing module 801, the transmitting module 802, and the receiving module 803 may be stored in the memory 204 in the embodiment shown in fig. 2, and when the processor 201 executes each software module in the memory 204, the communication device 200 is caused to implement the steps described in fig. 3-6.
The embodiment of the application also provides a computer readable storage medium. All or part of the flow in the above method embodiments may be implemented by a computer program to instruct related hardware, where the program may be stored in the above computer readable storage medium, and when the program is executed, the program may include the flow in the above method embodiments. The computer readable storage medium may be an internal storage unit of the terminal (including the data transmitting end and/or the data receiving end) of any of the foregoing embodiments, for example, a hard disk or a memory of the terminal. The computer-readable storage medium may be an external storage device of the terminal, such as a plug-in hard disk, a smart card (SMART MEDIA CARD, SMC), a Secure Digital (SD) card, or a flash memory card (FLASH CARD) provided in the terminal. Further, the computer-readable storage medium may further include both an internal storage unit and an external storage device of the terminal. The computer-readable storage medium is used for storing the computer program and other programs and data required by the terminal. The above-described computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.
It should be noted that the terms "first" and "second" and the like in the description, the claims and the drawings of the present application are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be understood that, in the present application, "at least one (item)" means one or more, and "a plurality" means two or more, and "at least two (items)" means two or three or more, and/or "for describing association of associated objects, it means that three kinds of relationships may exist, for example," a and/or B "may mean that only a exists, only B exists, and three cases of a and B exist at the same time, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one of a, b or c may represent a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
From the foregoing description of the embodiments, it will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of functional modules is illustrated, and in practical application, the above-described functional allocation may be implemented by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to implement all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts displayed as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the method described in the embodiments of the present application. The storage medium includes various media capable of storing program codes such as a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk.
The foregoing is merely illustrative of specific embodiments of the present application, and the scope of the present application is not limited thereto, but any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the application is subject to the protection scope of the claims.
Claims (30)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480937.9A CN113746745B (en) | 2020-05-30 | 2020-05-30 | Multipath communication method, device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480937.9A CN113746745B (en) | 2020-05-30 | 2020-05-30 | Multipath communication method, device and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746745A CN113746745A (en) | 2021-12-03 |
CN113746745B true CN113746745B (en) | 2025-02-25 |
Family
ID=78727854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010480937.9A Active CN113746745B (en) | 2020-05-30 | 2020-05-30 | Multipath communication method, device and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746745B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114967751B (en) * | 2022-06-21 | 2022-12-06 | 深圳华创电科技术有限公司 | Aircraft track tracking method, device, equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1168714A2 (en) * | 2000-06-27 | 2002-01-02 | Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware | Redundant channels over a packet network |
CN109412950A (en) * | 2018-10-12 | 2019-03-01 | 哈尔滨工业大学(深圳) | Data distributing method of the star ground based on on-path caching in hybrid network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1892916A1 (en) * | 2006-02-22 | 2008-02-27 | BenQ Mobile GmbH & Co. oHG | Method for signal transmission, transmitting apparatus and communication system |
US8675678B2 (en) * | 2010-09-10 | 2014-03-18 | The Johns Hopkins University | Adaptive medium access control |
CN105873096B (en) * | 2016-03-24 | 2019-05-10 | 重庆邮电大学 | A Method for Optimizing Effective Throughput of Multipath Parallel Transmission System |
KR20190044422A (en) * | 2017-10-20 | 2019-04-30 | 한국전자통신연구원 | Method for adaptive multipath transport and apparatus for the same |
-
2020
- 2020-05-30 CN CN202010480937.9A patent/CN113746745B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1168714A2 (en) * | 2000-06-27 | 2002-01-02 | Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware | Redundant channels over a packet network |
CN109412950A (en) * | 2018-10-12 | 2019-03-01 | 哈尔滨工业大学(深圳) | Data distributing method of the star ground based on on-path caching in hybrid network |
Also Published As
Publication number | Publication date |
---|---|
CN113746745A (en) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282415B (en) | Scheduling method and device | |
CN100461752C (en) | Wireless communication device and wireless communication method | |
TWI242946B (en) | Wireless packet communication apparatus and method | |
Dinh et al. | Performance evaluation of priority CSMA-CA mechanism on ISA100. 11a wireless network | |
CN104285423B (en) | In the communication network towards bag transmit data method and in communication network relative set user equipment | |
KR101210860B1 (en) | Priority queuing of frames in a TDMA network | |
US12074809B2 (en) | Signalling of dejittering buffer capabilities for TSN integration | |
CN107087306A (en) | Method for wireless source scheduling | |
Suriyachai et al. | Implementation of a MAC protocol for QoS support in wireless sensor networks | |
JP2022518857A (en) | Packet scheduling method, scheduler, network device and network system | |
US9515940B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
JP2017526296A (en) | Data transmission method and base station | |
CN104918281A (en) | Data transmission method and device | |
CN113746745B (en) | Multipath communication method, device and system | |
WO2021119675A2 (en) | Guaranteed latency based forwarding | |
CN111698787B (en) | Scheduling rule determining method and device | |
CN107070815B (en) | Method and device for queuing delay control of synchronization message in SDN network | |
US10742260B2 (en) | Synchronizing unicast traffic | |
US20030091067A1 (en) | Computing system and method to select data packet | |
CA3119033C (en) | Method and apparatus for dynamic track allocation in a network | |
JP3299225B2 (en) | Transmission apparatus and method for communication system | |
JP2004128616A (en) | Radio communications terminal, its controlling unit, and communication control program | |
US20190059017A1 (en) | Communications resource control by a network node | |
US9473597B2 (en) | Implementing multiple MAC protocols using a single wireless communication unit | |
CN107926026A (en) | Radio communication device, wireless telecom equipment, wireless communications method and radio communication program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |