WO2017000719A1 - 一种基于队列时延的拥塞控制方法及装置 - Google Patents

一种基于队列时延的拥塞控制方法及装置 Download PDF

Info

Publication number
WO2017000719A1
WO2017000719A1 PCT/CN2016/083679 CN2016083679W WO2017000719A1 WO 2017000719 A1 WO2017000719 A1 WO 2017000719A1 CN 2016083679 W CN2016083679 W CN 2016083679W WO 2017000719 A1 WO2017000719 A1 WO 2017000719A1
Authority
WO
WIPO (PCT)
Prior art keywords
time interval
feedback time
delay
packet
queue delay
Prior art date
Application number
PCT/CN2016/083679
Other languages
English (en)
French (fr)
Inventor
曾爱明
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017000719A1 publication Critical patent/WO2017000719A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Definitions

  • the present application relates to, but is not limited to, the field of communications, and in particular, to a congestion control method and apparatus based on queue delay.
  • UDP User Datagram Protocol
  • congestion control mainly relies on parameters such as packet loss rate and delay:
  • the packet loss control method based on packet loss determines whether the network is congested according to the change of the packet loss rate.
  • the cause of packet loss may be network congestion or random error, how to effectively distinguish this Two situations are difficult to solve, so it is easy to misjudge when analyzing the cause of packet loss.
  • RTT Round-Trip Time
  • Another method is to judge whether the network is congested according to the queue delay. The principle is as follows: one data packet is transmitted from one end to the other end, and multiple intermediate network elements, such as routers and switches, are required in the middle, because the network at both ends of the intermediate network element The status, such as bandwidth and transmission rate, is different. Therefore, there are one or more data queues in the intermediate network element to buffer the received data.
  • the time required for the data packet to be transmitted from one end to the other end includes the transmission delay and all intermediate network element queue delays. Minute.
  • the transmission delay can be basically regarded as constant, the change of the queue delay largely reflects the current network condition change.
  • the transmission code rate can be improved to improve the user experience; if the network condition becomes worse, the transmission code rate needs to be lowered to prevent network congestion caused by excessive data volume;
  • the network condition is good or bad, and the transmission code rate is constantly adjusted to achieve convergence to reach the maximum code rate suitable for the current network condition, thereby providing the user with the best user experience.
  • the method for determining network congestion by using queue delay can determine the trend of network congestion as early as possible before the network loses due to congestion, so as to avoid further congestion by adjusting the transmission rate in time, however,
  • the method for counting queue delay generally has the following problems: the queue delay is obtained by subtracting the basic delay from the one-way transmission delay, and since the basic delay is the observed minimum delay, the queue is counted when the network jitter is large. The delay error increases and it is unable to adapt to a large jitter network scenario.
  • a congestion control method based on queue delay includes:
  • the receiving end receives the receiving time t1 of the data packet and the sending time t2 of the sending end of the data packet.
  • N is the feedback time interval
  • the number of packets, N is greater than or equal to 2, and N is a positive integer
  • the target transmission code rate R is obtained according to the average queue delay T-q-avg of the feedback time interval grouping
  • the transmission code rate of the transmitting end is updated to the target transmission code rate R.
  • the feedback time interval is obtained according to the basic delay Tb of the data packet in the packet in the feedback time interval and the basic delay Tb′ of the first N feedback time interval packets closest to the feedback time interval packet.
  • the current average queue delay Tq-avg of the packet includes:
  • the average queue delay Tq-avg k*Tq-avg'+(1-k)*Tq, where Tq-avg' is the average queue obtained by cutting off the last received packet in the feedback time interval packet
  • the k is greater than or equal to 0.9 and less than or equal to 0.99.
  • the relationship between the total amount of data S received by each time interval packet corresponding to the w(1), w(2), ..., w(N) is sorted from small to large; the w(1) ), the size relationship of w(2), ..., w(N) is sorted from large to small.
  • the data packet w(1)+w(2)+...+w(N) 1 in the feedback time interval packet.
  • the data packet basic delay T-b reception time t1 ⁇ transmission time t2 in the feedback time interval packet.
  • the feedback time interval T-r of the feedback time interval packet is a fixed value less than or equal to the feedback period T, and the feedback time interval packet ends when the timing reaches the feedback time interval T-r.
  • the feedback time interval Tr of the feedback time interval packet is a fixed value less than or equal to the feedback period T, and the current network is detected according to the preset network detection time interval Tc in the feedback time interval Tr, and Comparing the current network detection result with the detection result of the previous network detection time interval Tc, and ending the feedback time interval grouping when the comparison result is that the network is degraded; the network detection time interval Tc is smaller than the feedback time Interval Tr.
  • obtaining the target transmission code rate R according to the average queue delay T-q-avg of the feedback time interval group includes:
  • the target transmission code rate is obtained by correspondingly increasing or decreasing the current transmission code rate according to the queue delay range in which the average queue delay T-q-avg is located.
  • the current transmission code rate is correspondingly raised or decreased according to the queue delay range in which the average queue delay T-q-avg is located to obtain a target transmission code rate, including:
  • the current transmission code rate is raised to obtain a target transmission code rate R;
  • the current transmission code rate is decreased by the second file to obtain the target transmission code rate R;
  • the current transmission code rate is reduced to the third file to obtain the target transmission code rate R;
  • the first gear lowering value is smaller than the second gear lowering value, and the second gear lowering value is smaller than the third gear lowering value.
  • a congestion control device based on queue delay includes:
  • Time extraction module set to receive new in the current feedback time interval packet at the receiving end After the data packet, the receiving time t1 at which the receiving end receives the data packet and the sending time t2 at which the transmitting end sends the data packet are obtained;
  • the basic delay calculation module is configured to obtain a basic delay T-b of the data packet in the feedback time interval packet according to the receiving time t1 and the sending time t2;
  • a processing module configured to obtain the feedback time according to a basic delay Tb of the data packet in the packet in the feedback time interval and a basic delay Tb′ of the first N feedback time interval packets closest to the feedback time interval packet
  • the current average queue delay Tq-avg of the interval group the N refers to the number of feedback time interval packets, N is greater than or equal to 2, and N is a positive integer;
  • a rate determining module configured to obtain a target transmission code rate R according to an average queue delay T-q-avg of the grouping of the feedback time interval after the end of the feedback time interval grouping;
  • the update module is configured to update the transmit code rate of the sender to the target transmit code rate R.
  • the processing module includes:
  • a queue delay calculation sub-module configured to subtract a basic delay T-b of the data packet in the feedback time interval packet from the average basic delay T-b-avg to obtain a queue delay T-q of the feedback time interval packet;
  • the relationship between the total amount of data S received by each time interval packet corresponding to the w(1), w(2), ..., w(N) is sorted from small to large; the w(1) ), w(2), ..., w(N) The size relationship is sorted from large to small.
  • the feedback time interval T-r of the feedback time interval packet is a fixed value less than or equal to the feedback period T, and the feedback time interval packet ends when the timing reaches the feedback time interval T-r.
  • the feedback time interval Tr of the feedback time interval packet is a fixed value less than or equal to the feedback period T, and the current network is detected according to the preset network detection time interval Tc in the feedback time interval Tr, and Comparing the current network detection result with the detection result of the previous network detection time interval Tc, and ending the feedback time interval grouping when the comparison result is that the network is degraded; the network detection time interval Tc is smaller than the feedback time Interval Tr.
  • the code rate determining module includes:
  • the rate adjustment sub-module is configured to: correspondingly increase or decrease the current transmission code rate according to the determination result of the comparison sub-module to obtain a target transmission code rate.
  • the rate adjustment sub-module increases or decreases the current transmission code rate according to the determination result of the comparison sub-module to obtain a target transmission code rate:
  • the current transmission code rate is raised to obtain the target transmission code rate R;
  • the first gear lowering value is smaller than the second gear lowering value, and the second gear lowering value is smaller than the third gear lowering value.
  • a computer readable storage medium storing computer executable instructions that, when executed by a processor, implement the queue delay based congestion control method described above.
  • the queue delay-based congestion control method and apparatus in the current feedback time interval packet, after receiving the new data packet, the receiving end receives the receiving time t1 of the data packet and the transmitting end.
  • the average queue delay Tq-avg gets the target transmission rate R.
  • the embodiment of the present invention combines multiple feedback time interval packets to calculate the queue delay, and can accurately reflect the current network condition, thereby calculating the transmission code rate to adapt to network jitter, effectively preventing congestion, and improving network bandwidth. Usage rate improves the user experience.
  • FIG. 1 is a schematic flowchart of a congestion control method based on queue delay according to Embodiment 1 of the present invention
  • FIG. 2 is a schematic flowchart of a sending end updating a transmission code rate according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic structural diagram of a congestion control apparatus based on queue delay according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic structural diagram of a communication system according to Embodiment 3 of the present invention.
  • the main technical problem to be solved by the embodiments of the present invention is to provide a congestion control method and device based on queue delay, which solves the problem that the congestion control can not adapt to the jitter network by using the queue delay.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • steps S101 to S105 are included:
  • the receiving end acquires the receiving time t1 of receiving the data packet by the receiving end (that is, the system time T-recv when the receiving end receives the data packet) and The sending end sends the data packet transmission time t2 (that is, T-sent);
  • Tq-avg that is, T-queuedelay-avg
  • N in this embodiment refers to the number of feedback time interval packets, N is greater than or equal to 2, and N is a positive integer
  • the calculation of the queue delay is performed in combination with the latest multiple feedback time interval packets, so that the current network can be accurately reflected.
  • the calculated transmission rate can be adapted to network jitter, which can effectively prevent congestion and improve network bandwidth usage.
  • the feedback time interval Tr can be obtained by the packet, and the feedback time interval in the embodiment is less than or equal to the feedback period T of the RTP (RTP control protocol, real-time transport protocol (RTP)); And it can be set to a fixed value.
  • the feedback time interval group ends.
  • the feedback time interval can be set to a value less than or equal to 4s, for example, also set to 4s, and the feedback time interval packet ends when the timer reaches 4s.
  • the feedback time interval Tr of the feedback time interval packet is set to be a fixed value less than or equal to the feedback period T, and the preset network detection time is performed in the feedback time interval Tr.
  • the interval Tc detects the current network, and compares the current network detection result with the detection result of the previous network detection time interval Tc. When the comparison result is that the network is degraded, the feedback time interval packet ends.
  • the network detection time interval T-c is smaller than the feedback time interval T-r. At this time, the feedback time interval packet may be that the timing reaches the end of the feedback time interval T-r, or may not have reached the feedback time interval T-r, and ends directly when the network detection time interval T-c detects the network variation.
  • the method for detecting the current network according to the preset network detection time interval Tc includes: detecting the current network once every preset network detection time interval Tc, and determining each network detection result, and Each time the network detection result is compared with the detection result of the previous network detection time interval Tc, according to the comparison result, it is determined whether the network quality is better or worse.
  • the network detection there is no limitation, and any conventional network detection method can be used.
  • the feedback time interval Tr of the feedback time interval packet is 4s, and the network detection time interval Tc is 1s; then, the network condition is determined every interval of 1s in the feedback time interval packet, for the feedback time interval
  • the first judgment in the packet is compared according to the detection result of the first s in the feedback time interval and the detection result of the last 1 s in the last feedback time interval packet, if the network is found If the difference occurs, the current feedback time interval packet is immediately ended.
  • the feedback time interval packet is actually 1 s, and is not a preset 4 s. Only the detection network in the feedback time interval packet is not deteriorated. When the feedback interval group is actually 4s. Therefore, the dynamic detection adjustment mechanism can improve the real-time performance of network congestion control. In this embodiment, whether the network is deteriorated can be determined by comparing the averaged queue delays.
  • step S103 the current average queue Tb of the current data packet in the packet and the basic delay Tb′ of the first N feedback time interval packets closest to the current feedback time interval packet are obtained according to the current average queue of the feedback time interval packet.
  • the delay Tq-avg includes steps S201 to S203:
  • T-b-avg w(1)*T-b(1)'+w(2)*T-b(2)'+...+w(N)*T-b(N)';
  • w(1), w(2), ..., w(N) are weighting values corresponding to the most recent N feedback time interval packets;
  • Tb(1)', Tb(2)', ..., Tb( N)' is the basic delay of the nearest N feedback time interval packets, and the basic delay of the feedback time interval packet refers to the smallest of the basic delays in which all data packets are received within the packet.
  • the value of N can be flexibly set according to different application scenarios and other factors, and the value thereof should not be too large. Otherwise, the response speed to the actual network is relatively slow; nor should the value be too small, otherwise the jitter will be relatively large.
  • the value of N is 8-12, for example, 10.
  • the basic delay Tb' is weighted by the sum of all the packets received by the time interval packet, the smaller the total data amount S, the larger the corresponding weight value w. Therefore, in the above Figure 1, when After a new data packet is received in the pre-feedback time interval packet, the amount of data in the feedback time interval packet is updated.
  • the N feedback time interval packets may be sorted according to the received total data amount S, and the total data amount is The smallest is ranked first, followed by the order.
  • the weighting value of the basic delay T-b' of the current feedback time interval packet ranked first is set to the maximum, and the subsequent ones are sequentially decreased.
  • the relationship of the total data amount S received by each time interval packet corresponding to w(1), w(2), ..., w(N) in the above equation is sorted from small to large; w(1), w (2), ..., w(N)
  • the size relationship is sorted from large to small, w(1), w(2), ..., w(N), and the relationship is sorted from small to large.
  • w(1)+w(2)+...+w(N) 1 in the present embodiment.
  • Average queue delay T-q-avg k*T-q-avg'+(1-k)*T-q;
  • T-q-avg' in the above formula is the average queue delay obtained by cutting off the last received packet in the current feedback time interval packet;
  • k is a weight value, which is greater than or equal to 0.9 and less than or equal to 0.99.
  • step S104 obtaining the target transmission code rate R according to the average queue delay T-q-avg of the feedback time interval group includes:
  • the current transmission code rate is correspondingly raised or lowered to obtain the target transmission code rate, including:
  • the network When the average queue delay Tq-avg is less than or equal to the minimum queue delay threshold, the network is considered to be in good condition, and the current transmission rate is improved to obtain the target transmission rate R.
  • the range of the enhancement can be flexibly set according to the actual application scenario. ;
  • the average queue delay T-q-avg is greater than the minimum queue delay threshold, less than or equal to the intermediate queue
  • the network condition may be considered to be less stable at this time, and the current transmission code rate may be kept unchanged or the current transmission code rate may be decreased by the first file to obtain the target transmission code rate R;
  • the network condition is considered to be very poor, and the current transmission code rate is reduced to the third file to obtain the target transmission code rate R;
  • the first gear lowering value is smaller than the second gear lowering value, and the second gear lowering value is smaller than the third gear lowering value; the decreasing range of each gear can also be set as needed according to different application scenarios.
  • FIG. 1 It should be understood that the foregoing steps in FIG. 1 can be implemented at the receiving end.
  • the receiving end sends the calculated target transmission code rate to the transmitting end, and the transmitting end updates the transmission code rate after receiving.
  • the process of the sending end at this time is shown in Figure 2, including steps S301-S304:
  • step S302 determining whether the data packet fed back by the receiving end is received within the set time, if no, go to step S304; otherwise, go to step S303;
  • the receiving end updates the transmission code rate, and marks the time t2 of the packet transmission in the subsequently transmitted data packet;
  • the F() function can be a decreasing function, and the transmission rate is reduced by a certain rule, for example, 50% of the original R;
  • the update transmission code rate is the newly received target transmission code rate R.
  • the above steps in FIG. 1 may also be partially implemented by the transmitting end, and the other part may be implemented by receiving; for example, the above steps S101 to S103 are implemented by the receiving end, and the steps S104 to S105 are connected.
  • the receiving end implements, that is, the receiving end implements the feedback time interval packet average queue delay Tq-avg is calculated and sent to the transmitting end; the transmitting end obtains the target sending code rate according to the received feedback time interval packet average queue delay Tq-avg R and update.
  • the above steps in FIG. 1 can also be implemented by a third party device other than the transmitting end and the receiving end, as long as it can perform corresponding information interaction with the transmitting end and the receiving end.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • the embodiment also provides a congestion control device based on queue delay.
  • the method includes:
  • the time extraction module 31 is configured to: after receiving the new data packet in the current feedback time interval packet, acquiring the receiving time t1 of receiving the data packet by the receiving end and the sending time t2 of sending the data packet by the transmitting end;
  • the basic delay calculation module 32 is configured to obtain a basic delay T-b of the data packet (that is, the currently received data packet) in the current feedback time interval packet according to the reception time t1 and the transmission time t2,
  • the processing module 33 is configured to obtain the current average queue delay of the feedback time interval packet according to the basic delay Tb of the current feedback time interval packet and the basic delay Tb′ of the first N feedback time interval packets closest to the current feedback time interval packet.
  • Tq-avg; N refers to the number of feedback time interval packets, N is greater than or equal to 2, and N is a positive integer;
  • the rate determining module 34 is configured to: after the end of the feedback time interval packet, obtain the target transmission code rate R according to the average queue delay T-q-avg of the feedback time interval grouping;
  • the update module 35 is configured to update the transmission code rate of the transmitting end to the target transmission code rate R.
  • the above modules in FIG. 3 can be implemented at the receiving end.
  • the receiving end sends the calculated target transmission code rate to the transmitting end, and the transmitting end updates the transmission code rate after receiving.
  • the above steps in FIG. 3 may also be partially implemented by the transmitting end, and the other part may be implemented by receiving;
  • the time extraction module 31, the code rate determination module 34, and the update module 35 are implemented by the receiving end, and the code rate determining module 34 and the updating module 35 are implemented by the receiving end, that is, the receiving end implements the feedback time interval packet average queue delay Tq-
  • the calculation of avg is concurrently sent to the transmitting end; the transmitting end obtains the target transmission code rate R and updates according to the received average time delay Tq-avg of the feedback time interval.
  • the above device in FIG. 3 may also be a third party device completely independent of the transmitting end and the receiving end, as long as it can perform corresponding information interaction with the transmitting end and the receiving end.
  • the packet can be obtained according to the feedback time interval Tr.
  • the feedback time interval in this embodiment is less than or equal to the feedback period T of the RTCP; and can be set to a fixed value.
  • the feedback time interval packet ends.
  • the feedback time interval can be set to a value less than or equal to 4s, for example, also set to 4s, and the feedback time interval packet ends when the timer reaches 4s.
  • the feedback time interval Tr of the feedback time interval packet is set to a fixed value less than or equal to the feedback period T, and within the feedback time interval Tr, according to the preset network detection time interval.
  • the Tc detects the current network, and compares the current network detection result with the detection result of the previous network detection time interval Tc. When the comparison result is that the network is degraded, the feedback time interval packet ends.
  • the network detection time interval T-c is smaller than the feedback time interval T-r. At this time, the feedback time interval packet may be that the timing reaches the end of the feedback time interval T-r, or may not have reached the feedback time interval T-r, and ends directly when the network detection time interval T-c detects the network variation.
  • the method for detecting the current network according to the preset network detection time interval Tc includes: detecting the current network once every preset network detection time interval Tc, and determining each network detection result, and Each time the network detection result is compared with the detection result of the previous network detection time interval Tc, according to the comparison result, it is determined whether the network quality is better or worse.
  • the basic delay calculation module 32 obtains the basic time of the current data packet in the current feedback time interval packet according to the reception time t1 and the transmission time t2.
  • the processing module 33 in this embodiment includes:
  • the average basic delay calculation sub-module is configured to obtain an average basic delay T-b-avg according to a basic delay T-b' of the last N feedback time interval packets grouped with the current feedback time interval:
  • T-b-avg w(1)*T-b(1)'+w(2)*T-b(2)'+...+w(N)*T-b(N)';
  • w(1), w(2), ..., w(N) are weighting values corresponding to the most recent N feedback time interval packets; Tb(1)', Tb(2)', ..., Tb(N) )' is the basic delay of the most recent N feedback time interval packets.
  • the value of N can be flexibly set according to different application scenarios and other factors, and the value thereof should not be too large. Otherwise, the response speed to the actual network is relatively slow; nor should the value be too small, otherwise the jitter will be relatively large.
  • the value of N is 8-12, for example, 10.
  • the basic delay Tb' is weighted by the sum of all the packets received by the time interval packet, the smaller the total data amount S, the larger the corresponding weight value w. Therefore, after a new data packet is received in the current feedback time interval packet, the amount of data in the feedback time interval packet is updated.
  • the N feedback time interval packets may be sorted according to the received total data amount S, and the total data amount is The smallest is ranked first, followed by the order.
  • the weighting value of the basic delay Tb' of the current feedback time interval group ranked first is set to the maximum, and the subsequent ones are sequentially decreased; at this time, w(1), w(2), ..., w( N)
  • the relationship between the total amount of data S received by each corresponding time interval packet is sorted from small to large; the relationship between w(1), w(2), ..., w(N) is from large to small.
  • the average queue delay calculation sub-module is set to calculate the average queue delay T-q-avg of the current feedback time interval group according to T-q. :
  • the average queue delay T-q-avg k*T-q-avg'+(1-k)*T-q.
  • T-q-avg' in the above formula is the average queue delay obtained by cutting off the last received data packet in the current feedback time interval packet;
  • k is a weight value, which is greater than or equal to 0.9 and less than or equal to 0.99.
  • the code rate determining module 34 in this embodiment includes:
  • the rate adjustment sub-module is configured to increase or decrease the current transmission code rate according to the determination result of the comparison sub-module to obtain a target transmission code rate, including:
  • the network condition is considered to be good, and the current transmission code rate is improved to obtain the target transmission code rate R, and the specific improvement range may be based on actual application.
  • the scene is flexible.
  • the network condition may be considered to be not stable at this time, and the current transmission code rate is kept unchanged or the current transmission code is to be transmitted.
  • the target transmission rate R is obtained after the first rate is lowered.
  • the network condition is considered to be poor, and the current transmission code rate is decreased by the second file.
  • the target transmission code rate R is the target transmission code rate
  • the network condition is considered to be very poor at this time, and the current transmission code rate is lowered to the third gear to obtain the target transmission code rate R.
  • the first gear lowering value is smaller than the second gear lowering value, and the second gear lowering value is smaller than the third gear lowering value; the decreasing range of each gear can also be set as needed according to different application scenarios.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • This embodiment further exemplifies the embodiment of the present invention by taking a network system as an example.
  • the transmitting end 100 communicates with the receiving end 200 through the intermediate network element 300.
  • the intermediate network element 300 is composed of one or more routers;
  • the transmitting end 100 mainly includes an RTP sending module, an RTCP receiving module, an audio and video data encoding module, and an acquisition module;
  • the receiving end 200 mainly includes an RTP receiving module, an RTCP sending module, and the foregoing queue-based Delayed congestion control device, audio and video data decoding module and playback module.
  • the sending code rate of the sending module is obtained by the receiving end through RTCP feedback, and the transmitting end 100 starts to receive the RTCP data packet thread and the timer.
  • the RTCP feedback period can be set to 4 seconds, and the timer is The timeout period can be set to 2 times the RTCP feedback period, which is 8 seconds. If the RTCP feedback data is received before the timer expires, the current RTP transmission module's transmission code rate is updated according to the code rate in the RTCP header field; if the RTCP feedback data timeout is not received, the current RTP transmission module is directly reduced. The transmission rate is reduced to 50%. From then on, the transmitting end 100 can transmit RTP data according to the updated transmission code rate, and mark the transmission time t2 of the packet in the header of each RTP packet for use by the receiving end 200.
  • a fixed feedback time interval is used, which is fixed to 4 seconds as an example.
  • the receiving end 200 first parses the packet sending time T_send in the RTP header, and obtains The current system time T_recv, and three parameters of T_send and T_recv and the packet length S_data of the data packet are transmitted to the bandwidth estimation module.
  • the congestion control device based on the queue delay calculates the basic delay T_basedelay of the packet according to T_send and T_recv, for example, taking the minimum value of the difference between T_send and T_recv as the packet.
  • the basic delay T_basedelay at the same time, the total amount of data S_total actually received by the packet is updated according to the packet length S_data.
  • the queue delay T_queuedelay of the data packet is obtained, that is,
  • T_queuedelay T_recv–T_send–T_basedelay_avg
  • the average queue delay T_queuedelay_avg of the packet is calculated according to T_queuedelay.
  • the weighting is used to calculate, ie
  • T_queuedelay_avg k*T_queuedelay_avg+(1-k)*T_queuedelay;
  • the loop processing is performed, and the basic delay T_basedelay, the average queue delay T_queuedelay_avg, and the total received packet total data amount S_total are continuously updated.
  • the congestion control device based on the queue delay calculates the suitable code rate R of the current network according to the basic delay T_basedelay, the average queue delay T_queuedelay_avg, and the actual received packet total data amount S_total.
  • the calculation method and detailed steps are as follows: :
  • the average basic delay T_basedelay_avg is updated according to the basic delay T_basedelay of the current packet and the total data amount S_total of the received packet, that is,
  • T_basedelay_avg w 1 *T_basedelay(1)'+...+w n *T_basedelay(N)';
  • N is the nearest N packets
  • w n is the weight of the Nth packet
  • the total amount of data actually received by the N packets is arranged in order from small to large.
  • N should not be too large, otherwise the response rate to the actual network is slower; the value of N should not be too small, and the jitter is relatively large.
  • the basic delay T_basedelay is weighted according to the total data amount S_total of the received packet.
  • the weighting factor used in the embodiment of the present invention is 1/2, that is,
  • the target code rate R is calculated based on the average queue delay T_queuedelay_avg.
  • the congestion control device based on the queue delay uses a low-pass filter to calculate the final target bit rate R, and sets the low-pass filter minimum queue delay T_queuedelay_min (that is, the minimum queue delay threshold) to 100 ms, which is the maximum.
  • the queue delay T_queuedelay_max (that is, the intermediate queue delay threshold) is 400 ms
  • the oversized queue delay T_queuedelay_mmax (that is, the maximum queue delay threshold) is 2000 ms.
  • the network condition is considered to be good, and the code rate may be tried; if the minimum queue delay is between T_queuedelay_min and the maximum queue delay T_queuedelay_max, the network condition is considered unstable. If the maximum queue delay is between T_queuedelay_max and the large queue delay T_queuedelay_mmax, the network condition is considered to be poor, and the network congestion may be caused, and the code rate may be greatly reduced; if it is larger than the super large If the queue delay is T_queuedelay_mmax, the current network condition is considered to be poor. It is already in a network congestion state and directly reduces the code rate. The amplitude of the lifting code rate can be set as needed according to different application scenarios.
  • the congestion control device based on the queue delay feeds the calculation result to the transmitting end 100 through the RTCP sending module, and resets the congestion control device based on the queue delay for the next packet statistics.
  • the present invention can combine the multiple feedback time interval packets to calculate the queue delay, and can accurately reflect the current network condition. Therefore, the calculated transmission rate can be adapted to the network jitter, which can effectively prevent Congestion, increase network bandwidth usage and improve user experience.
  • all or part of the steps of the foregoing embodiments may also be implemented by using an integrated circuit, and the steps may be separately fabricated into integrated circuit modules, or multiple modules thereof or The steps are made into a single integrated circuit module.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • the device/function module/functional unit in the above embodiment When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the current network condition can be accurately reflected, and the calculated transmission code rate can adapt to network jitter, which can effectively prevent congestion and improve.
  • the network bandwidth usage improves the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于队列时延的拥塞控制方法及装置,该方法包括:在当前反馈时间间隔分组内,当接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;根据接收时间t1和发送时间t2得到反馈时间间隔分组内该数据包的基本时延T-b,然后根据反馈时间间隔分组内该数据包的基本时延T-b和与该反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b'得到该反馈时间间隔分组当前的平均队列时延T-q-avg;在反馈时间间隔分组结束后,根据该反馈时间间隔分组最终的平均队列时延T-q-avg得到目标发送码率R;将发送端的发送码率更新为所述目标发送码率R。

Description

一种基于队列时延的拥塞控制方法及装置 技术领域
本申请涉及但不限于通信领域,尤其涉及一种基于队列时延的拥塞控制方法及装置。
背景技术
实时通信中,音视频媒体通常使用UDP(User Datagram Protocol,用户数据报协议)进行传输,由于UDP是一种无连接的传输协议,是一种尽力而为的服务方式,因此网络中不可避免会发生拥塞。UDP本身没有拥塞控制机制,拥塞发生后会导致声音不连续、视频花屏停顿等现象,严重影响通话质量,因此进行网络拥塞控制是关系用户体验的一项重要技术。
相关技术中,拥塞控制主要依靠丢包率、时延等参数进行:
基于丢包的拥塞控制方法根据丢包率的变化判断网络是否发生拥塞,此类方法存在两个问题:一、引起丢包的原因可能是网络拥塞也可能是随机误码,如何有效地区分这两种情况是较难解决的问题,所以分析丢包的原因时容易发生误判;二、即使正确地判断出因丢包导致的网络拥塞,也会因为丢包往往是在网络拥塞到一定程度后才会发生,而导致根据丢包判断出拥塞的时机较为滞后,在判断出网络拥塞前仍会带来较差的用户体验。
基于时延的拥塞控制,一种方法是依据往返时延(Round-Trip Time,简称为RTT)来估计网络状态,但在实际环境中RTT受到多种因素影响,尤其在网络抖动较大时带来的估计误差较大。另一种方法是依据队列时延来判断网络是否拥塞,原理如下:一个数据包从一端传输到另外一端,中间需要经过多个中间网元,比如路由器、交换机等,由于中间网元两端的网络状况,如带宽、传输速率等是不一样的,所以一般中间网元内部会有一个或多个数据队列,用于缓冲接收的数据。因此,在整个传输链路中,数据包从一端传输到另外一端所需的时间包括传输时延以及所有中间网元队列时延两个部 分。在同等网络环境下,由于传输时延基本上可以认为是不变的,所以队列时延的变化很大程度上反映了当前的网络状况的变化。在同等网络环境下,队列时延越小,网络状况越好,可用带宽越大;相反,队列时延越大,网络状况越差,可用带宽越小,当队列时延超出了中间网元可承受的范围,则导致丢包。所以,在现实网络应用中,如果网络状况好,可以提高发送码率以提升用户体验;如果网络状况变差,则需降低发送码率,以防止因数据量过大导致的网络拥塞现象;根据网络状况的好坏,不断调整发送码率,以期收敛达到当前网络状况下适合的最大码率,给用户提供最好的用户体验。
综上所述,利用队列时延判断网络拥塞的方法可以在网络因拥塞而发生丢包之前尽早地判断出网络拥塞的趋势,以通过及时地调整发送码率而避免拥塞的进一步加剧,但是,目前统计队列时延的方法普遍存在以下问题:队列时延由单向传输时延减去基本时延得到,由于基本时延是观测到的最小时延,因此在网络抖动较大时统计的队列时延误差增大,无法适应较大抖动的网络场景。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
一种基于队列时延的拥塞控制方法,包括:
在当前反馈时间间隔分组内,当接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2。
根据所述接收时间t1和发送时间t2得到所述反馈时间间隔分组内所述数据包的基本时延T-b。
根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg;所述N是指反馈时间间隔 分组的个数,N大于或等于2,N为正整数;
在所述反馈时间间隔分组结束后,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
将发送端的发送码率更新为所述目标发送码率R。
可选地,根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg包括:
根据与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;所述w(1)、w(2)、……,w(N)为加权值;
将所述反馈时间间隔分组内所述数据包的基本时延T-b减去所述平均基本时延T-b-avg得到所述反馈时间间隔分组的队列时延T-q;
所述平均队列时延T-q-avg=k*T-q-avg′+(1-k)*T-q,所述T-q-avg′为反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;所述k大于或等于0.9,小于或等于0.99。
可选地,所述w(1)、w(2)、……,w(N)对应的各时间间隔分组接收到的总数据量S的关系为从小到大依次排序;所述w(1),w(2),……,w(N)的大小关系为从大到小依次排序。
可选地,所述反馈时间间隔分组内所述数据包w(1)+w(2)+……+w(N)=1。
可选地,所述反馈时间间隔分组内所述数据包基本时延T-b=接收时间t1-发送时间t2。
可选地,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在计时到达所述反馈时间间隔T-r时所述反馈时间间隔分组结束。
可选地,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在所述反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束所述反馈时间间隔分组;所述网络检测时间间隔T-c小于所述反馈时间间隔T-r。
可选地,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R包括:
根据所述平均队列时延T-q-avg所处的队列时延范围将当前的发送码率进行对应的提升或降低得到目标发送码率。
可选地,根据所述平均队列时延T-q-avg所处的队列时延范围将当前的发送码率进行对应的提升或降低得到目标发送码率包括:
在所述平均队列时延T-q-avg小于或等于最小队列时延阈值时,将当前发送码率进行提升得到目标发送码率R;
在所述平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列时延阈值时,保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R;
在所述平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,将当前发送码率进行第二档降低后得到目标发送码率R;
在所述平均队列时延T-q-avg大于最大队列时延阈值时,将当前发送码率进行第三档降低后得到目标发送码率R;
所述第一档降低值小于所述第二档降低值,所述第二档降低值小于所述第三档降低值。
一种基于队列时延的拥塞控制装置,包括:
时间提取模块,设置为在当前反馈时间间隔分组内,在接收端接收到新 的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;
基本时延计算模块,设置为根据所述接收时间t1和发送时间t2得到所述反馈时间间隔分组内所述数据包的基本时延T-b;
处理模块,设置为根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg;所述N是指反馈时间间隔分组的个数,N大于或等于2,N为正整数;
码率确定模块,设置为在所述反馈时间间隔分组结束后,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
更新模块,设置为将发送端的发送码率更新为所述目标发送码率R。
可选地,所述处理模块包括:
平均基本时延计算子模块,设置为根据与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;所述w(1)、w(2)、……,w(N)为加权值;
队列时延计算子模块,设置为将所述反馈时间间隔分组内所述数据包的基本时延T-b减去所述平均基本时延T-b-avg得到所述反馈时间间隔分组的队列时延T-q;
平均队列时延计算子模块,设置为根据T-q-avg=k*T-q-avg′+(1-k)*T-q计算得到平均队列时延;所述T-q-avg′为反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;所述k大于或等于0.9,小于或等于0.99。
可选地,所述w(1)、w(2)、……,w(N)对应的各时间间隔分组接收到的总数据量S的关系为从小到大依次排序;所述w(1)、w(2)、……,w(N)的大小关系为从大到小依次排序。
可选地,所述w(1)+w(2)+……+w(N)=1。
可选地,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在计时到达所述反馈时间间隔T-r时所述反馈时间间隔分组结束。
可选地,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在所述反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束所述反馈时间间隔分组;所述网络检测时间间隔T-c小于所述反馈时间间隔T-r。
可选地,所述码率确定模块包括:
比较子模块,设置为确定所述平均队列时延T-q-avg所处的队列时延范围;
码率调整子模块,设置为根据所述比较子模块的确定结果将当前的发送码率进行对应的提升或降低得到目标发送码率。
可选地,码率调整子模块根据比较子模块的确定结果将当前的发送码率进行对应的提升或降低得到目标发送码率:
在所述确定结果为平均队列时延T-q-avg小于或等于最小队列时延阈值时,将当前发送码率进行提升得到目标发送码率R;
在所述确定结果为平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列时延阈值时,保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R;
在所述确定结果为平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,将当前发送码率进行第二档降低后得到目标发送码率R;
在所述确定结果为平均队列时延T-q-avg大于最大队列时延阈值时,将 当前发送码率进行第三档降低后得到目标发送码率R;
所述第一档降低值小于所述第二档降低值,所述第二档降低值小于所述第三档降低值。
一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的基于队列时延的拥塞控制方法。
本发明实施例提供的基于队列时延的拥塞控制方法及装置,在当前反馈时间间隔分组内,当接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;根据接收时间t1和发送时间t2得到反馈时间间隔分组内该数据包的基本时延T-b,然后根据反馈时间间隔分组内该数据包的基本时延T-b和与该反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到该反馈时间间隔分组当前的平均队列时延T-q-avg;在反馈时间间隔分组结束后,根据该反馈时间间隔分组最终的平均队列时延T-q-avg得到目标发送码率R。本发明实施例结合多个反馈时间间隔分组进行队列延时的计算,能准确的反应当前网络的状况,由此计算出的发送码率能适应网络抖动,能有效的防止拥塞,提高了网络带宽使用率,提高了用户体验。
附图概述
图1为本发明实施例一提供的基于队列时延的拥塞控制方法流程示意图;
图2为本发明实施例一提供的发送端更新发送码率的流程示意图;
图3为本发明实施例二提供的基于队列时延的拥塞控制装置结构示意图;
图4为本发明实施例三提供的通信系统结构示意图。
本发明的实施方式
下文中将结合附图对本发明的实施方式进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例要解决的主要技术问题是,提供一种基于队列时延的拥塞控制方法及装置,解决相关利用队列时延控制拥塞无法适应抖动网络的问题。
实施例一:
为了避免网络拥塞,需要在合适的时候发送合适码率的数据;因此根据实际网络情况对发送码率的适时动态调整就显得尤为重要,本实施例提供的基于队列时延的拥塞控制方法请参见图1所示,包括步骤S101~S105:
S101、在当前反馈时间间隔分组内,当接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1(也即接收端接收该数据包时的系统时间T-recv)以及发送端发送该数据包的发送时间t2(也即T-sent);
S102、根据接收时间t1和发送时间t2得到反馈时间间隔分组内所述数据包(即当前接收到的数据包)的基本时延T-b(也即T-basedelay);
S103、根据当前反馈时间间隔分组内当前数据包的基本时延T-b和与当前反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到反馈时间间隔分组当前的平均队列时延T-q-avg(也即T-queuedelay-avg);本实施例中的N是指反馈时间间隔分组的个数,N大于等于2,N为正整数;
S104、在反馈时间间隔分组结束后,根据反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
S105、将发送端的发送码率更新为新计算得到的目标发送码率R。
从上述过程可知,本实施例中在进行网络延时的计算时,结合最近的多个反馈时间间隔分组进行队列延时的计算,因此能准确的反应当前网络的状 况,利用其计算出的发送码率能适应网络抖动,能有效的防止拥塞,提高网络带宽使用率。
在本实施例中,可按照反馈时间间隔T-r进行分组得到,本实施例中的反馈时间间隔小于或等于RTCP(RTP控制协议,实时传输协议RTP(Real-time Transport Protocol))的反馈周期T;且可设定为一个固定值,此时在计时到达设定的反馈时间间隔T-r时,该反馈时间间隔分组结束。例如当反馈周期为4s时,则反馈时间间隔可设置为小于等于4s的一个值,例如也设置为4s,则当计时器达到4s时这个反馈时间间隔分组就结束。
另外,为了提升网络拥塞控制的实时性,本实施例可设置反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在该反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束反馈时间间隔分组。其中网络检测时间间隔T-c小于反馈时间间隔T-r。此时该反馈时间间隔分组可能是计时达到反馈时间间隔T-r结束,也可能还未达到反馈时间间隔T-r,在网络检测时间间隔T-c检测到网络变差时就直接结束。在本发明实施例中,按照预设网络检测时间间隔T-c对当前网络进行检测的方法包括:每隔预设网络检测时间间隔T-c对当前网络检测一次,并确定每次的网络检测结果,并将每次的网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,根据比较结果确定网络质量是变好好还是变差。这里,对于每一次网络检测中的详细检测方法不做限制,可以使用常规的任意一种网络检测方法。下面通过举例说明,例如,设反馈时间间隔分组的反馈时间间隔T-r为4s,网络检测时间间隔T-c为1s;则在反馈时间间隔分组内每间隔1s就会判断一次网络情况,对于该反馈时间间隔分组内的第一次判断,则根据该反馈时间时间间隔内第1s的检测结果和上一反馈时间间隔分组内最后1s的检测结果进行比对,如果发现网络 变差,则立即结束当前的反馈时间间隔分组,此时该反馈时间间隔分组实际就为1s,而并非预先设定的4s,只有在该反馈时间间隔分组内的每次检测网络都没有变差时,该反馈时间间隔分组实际才会为4s。因此通过这种动态检测调整机制可以提升网络拥塞控制的实时性。本实施例中可以通过比对统计到的平均队列时延判断网络是否变差。
上述步骤S102中,反馈时间间隔分组内当前数据包基本时延T-b=接收时间t1-发送时间t2。
上述步骤S103中,根据反馈时间间隔分组内当前数据包的基本时延T-b和与当前反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到反馈时间间隔分组当前的平均队列时延T-q-avg包括步骤S201~S203:
S201、根据与反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg(也即T-basedelay-avg):
T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;
上述w(1),、w(2)、……,w(N)为对应最近的N个反馈时间间隔分组的加权值;T-b(1)′、T-b(2)′、……、T-b(N)′则为最近的N个反馈时间间隔分组的基本时延,反馈时间间隔分组的基本时延是指在该分组内接收到所有数据包的基本时延中最小的那个。
本实施例中N的取值可以根据不同的应用场景等因素灵活设定,其取值不宜过大,否则对实际网络的反应速度比较慢;也不宜取值过小,否则抖动会比较大,本实施例优选N的取值为8-12,例如取为10。
由于在同等的网络环境下,码率越小,计算得到的基本时延T-b′也就越准确,所以根据各时间间隔分组接收到的总数据量S(也即S-total,指在一个反馈时间间隔分组所接收到的所有数据包的总和)对基本时延T-b′进行加权时,总数据量S越小,对应的加权值w越大。因此,在上述图1中,在当 前反馈时间间隔分组内新接收到一个数据包后,则对该反馈时间间隔分组的中数据量进行更新。
在本实施例中,获取到与当前反馈时间间隔分组最接近的N个反馈时间间隔分组后,可将这N个反馈时间间隔分组按照接收到的总数据量S的大小进行排序,总数据量最小的排在第一,往后依次增加。排在第一的当前反馈时间间隔分组的基本时延T-b′的加权值设置为最大,后续的则依次减小。此时上式中w(1)、w(2)、……,w(N)对应的各时间间隔分组接收到的总数据量S的关系为从小到大依次排序;w(1)、w(2)、……,w(N)的大小关系为从大到小依次排序w(1)、w(2)、……,w(N)对应的关系为从小到大依次排序。且本实施例中的w(1)+w(2)+……+w(N)=1。
S202、将当前反馈时间间隔分组内当前数据包的基本时延T-b减去通过上式计算得到的平均基本时延T-b-avg得到当前反馈时间间隔分组的队列时延T-q(也即T-queuedelay);即:T-q=t1-t2-T-b-avg;
S203、根据T-q计算当前反馈时间间隔分组的平均队列时延T-q-avg:
平均队列时延T-q-avg=k*T-q-avg′+(1-k)*T-q;
上式中的T-q-avg′为当前反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;k为权重值,其取值大于或等于0.9,小于或等于0.99。
上述步骤S104中,根据反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R包括:
根据平均队列时延T-q-avg所处的队列时延范围将当前的发送码率进行对应的提升或降低得到目标发送码率,包括:
在平均队列时延T-q-avg小于或等于最小队列时延阈值时,此时认为网络状况良好,将当前发送码率进行提升得到目标发送码率R,提升的幅度可根据实际应用场景灵活设定;
在平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列 时延阈值时,此时可认为网络状况不太稳定,可保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R;
在平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,此时则认为网络状况较差,将当前发送码率进行第二档降低后得到目标发送码率R;
在平均队列时延T-q-avg大于最大队列时延阈值时,此时则认为网络状况非常差,将当前发送码率进行第三档降低后得到目标发送码率R;
其中第一档降低值小于第二档降低值,第二档降低值小于第三档降低值;每一档降低的幅度也可根据不同的应用场景按需设定。
应当理解的是,图1中的上述各步骤可以在接收端实现,此时接收端则将计算得到的目标发送码率发送给发送端,发送端收到后对发送码率进行更新。此时的发送端处理过程请参见图2所示,包括步骤S301~S304:
S301、初始化各参数;
S302、判断在设定时间内是否接收到接收端反馈的数据包,如否,转至步骤S304;否则,转至步骤S303;
S303、获取反馈的数据包中的目标发送码率R;
S304、接收端更新发送码率,并在后续发送的数据包中标记该包发送的时间t2;
如果发送端没有收到反馈的数据包,且发送端没有通知发包,则直接更新R=F(R),该F()函数可为递减函数,以一定的规律降低发送码率,例如降低为原R的50%;
如果有收到反馈的数据包,则更新发送码率为新接收到的目标发送码率R。
图1中上述步骤也可一部分由发送端实现,另一部分由接收到实现;例如上述步骤S101至步骤S103由接收端实现,步骤S104至步骤S105由接 收端实现,也即接收端实现反馈时间间隔分组平均队列时延T-q-avg的计算并发给发送端;发送端则根据接收到的反馈时间间隔分组平均队列时延T-q-avg得到目标发送码率R并进行更新。
图1中的上述步骤还可以由独立于发送端和接收端之外的第三方装置实现,只要其能与发送端和接收端完成相应的信息交互即可。
实施例二:
本实施例还提供了一种基于队列时延的拥塞控制装置,请参见图3所示,包括:
时间提取模块31,设置为在当前反馈时间间隔分组内,在接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;
基本时延计算模块32,设置为根据接收时间t1和发送时间t2得到当前反馈时间间隔分组内所述数据包(也即当前接收到的数据包)的基本时延T-b,
处理模块33,设置为根据当前反馈时间间隔分组的基本时延T-b和与当前反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到反馈时间间隔分组当前的平均队列时延T-q-avg;N是指反馈时间间隔分组的个数,N大于或等于2,N为正整数;
码率确定模块34,设置为在反馈时间间隔分组结束后,根据反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
更新模块35,设置为将发送端的发送码率更新为目标发送码率R。
图3中的上述各模块可以在接收端实现,此时接收端则将计算得到的目标发送码率发送给发送端,发送端收到后对发送码率进行更新。
图3中上述步骤也可一部分由发送端实现,另一部分由接收到实现;例 如上述时间提取模块31、码率确定模块34、更新模块35由接收端实现,码率确定模块34和更新模块35由接收端实现,也即接收端实现反馈时间间隔分组平均队列时延T-q-avg的计算并发给发送端;发送端则根据接收到的反馈时间间隔分组平均队列时延T-q-avg得到目标发送码率R并进行更新。
图3中的上述装置还可以是完全独立于发送端和接收端之外的第三方装置,只要其能与发送端和接收端完成相应的信息交互即可。
在本实施例中,可按照反馈时间间隔T-r进行分组得到,本实施例中的反馈时间间隔小于等于RTCP的反馈周期T;且可设定为一个固定值,此时在计时到达设定的反馈时间间隔T-r时,该反馈时间间隔分组结束。例如当反馈周期为4s时,则反馈时间间隔可设置为小于等于4s的一个值,例如也设置为4s,则当计时器达到4s时这个反馈时间间隔分组就结束。
另外,为了提升网络拥塞控制的实时性,本实施例可设置反馈时间间隔分组的反馈时间间隔T-r为小于等于反馈周期T的固定值,在该反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束反馈时间间隔分组。其中网络检测时间间隔T-c小于反馈时间间隔T-r。此时该反馈时间间隔分组可能是计时达到反馈时间间隔T-r结束,也可能还未达到反馈时间间隔T-r,在网络检测时间间隔T-c检测到网络变差时就直接结束。在本发明实施例中,按照预设网络检测时间间隔T-c对当前网络进行检测的方法包括:每隔预设网络检测时间间隔T-c对当前网络检测一次,并确定每次的网络检测结果,并将每次的网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,根据比较结果确定网络质量是变好好还是变差。这里,对于每一次网络检测中的详细检测方法不做限制,可以使用常规的任意一种网络检测方法。基本时延计算模块32根据接收时间t1和发送时间t2得到当前反馈时间间隔分组内当前数据包的基本时 延T-b为:基本时延T-b=接收时间t1-发送时间t2
本实施例中的处理模块33包括:
平均基本时延计算子模块,设置为根据与当前反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg:
T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;
上述w(1),w(2),……,w(N)为对应最近的N个反馈时间间隔分组的加权值;T-b(1)′、T-b(2)′、……、T-b(N)′则为最近的N个反馈时间间隔分组的基本时延。
本实施例中N的取值可以根据不同的应用场景等因素灵活设定,其取值不宜过大,否则对实际网络的反应速度比较慢;也不宜取值过小,否则抖动会比较大,本实施例优选N的取值为8-12,例如取为10。
由于在同等的网络环境下,码率越小,计算得到的基本时延T-b′也就越准确,所以根据各时间间隔分组接收到的总数据量S(也即S-total,指在一个反馈时间间隔分组所接收到的所有数据包的总和)对基本时延T-b′进行加权时,总数据量S越小,对应的加权值w越大。因此,在当前反馈时间间隔分组内新接收到一个数据包后,则对该反馈时间间隔分组的中数据量进行更新。
在本实施例中,获取到与当前反馈时间间隔分组最接近的N个反馈时间间隔分组后,可将这N个反馈时间间隔分组按照接收到的总数据量S的大小进行排序,总数据量最小的排在第一,往后依次增加。排在第一的当前反馈时间间隔分组的基本时延T-b′的加权值设置为最大,后续的则依次减小;此时上式中w(1)、w(2)、……,w(N)对应的各时间间隔分组接收到的总数据量S的关系为从小到大依次排序;w(1)、w(2)、……,w(N)的大小关系为从大到小依次排序w(1)、w(2)、……,w(N)对应的关系为从小到大依次排序。且本实施例中的w(1)+w(2)+……+w(N)=1。
队列时延计算子模块,设置为将当前反馈时间间隔分组内当前数据包的基本时延T-b减去通过上式计算得到的平均基本时延T-b-avg得到反馈时间间隔分组的队列时延T-q;即:T-q=t1-t2-T-b-avg。
平均队列时延计算子模块,设置为根据T-q计算当前反馈时间间隔分组的平均队列时延T-q-avg。:
平均队列时延T-q-avg=k*T-q-avg′+(1-k)*T-q。
上式中的T-q-avg′为当前反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;k为权重值,其取值大于等于0.9,小于等于0.99。
本实施例中的码率确定模块34包括:
比较子模块,设置为确定所述平均队列时延T-q-avg所处的队列时延范围;
码率调整子模块,设置为根据比较子模块的确定结果将当前的发送码率进行对应的提升或降低得到目标发送码率,包括:
在确定结果为平均队列时延T-q-avg小于或等于最小队列时延阈值时,此时认为网络状况良好,将当前发送码率进行提升得到目标发送码率R,具体提升的幅度可根据实际应用场景灵活设定。
在确定结果为平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列时延阈值时,此时可认为网络状况不太稳定,保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R。
在确定结果为平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,此时则认为网络状况较差,将当前发送码率进行第二档降低后得到目标发送码率R。
在确定结果为平均队列时延T-q-avg大于最大队列时延阈值时,此时则认为网络状况非常差,将当前发送码率进行第三档降低后得到目标发送码率R。
其中第一档降低值小于第二档降低值,第二档降低值小于第三档降低值;每一档降低的幅度也可根据不同的应用场景按需设定。
实施例三:
本实施例以一个网络系统为例对本发明实施例做进一步示例性说明。请参见图4所示,发送端100通过中间网元300与接收端200进行通信。中间网元300由一个或多个路由器组成;发送端100主要包含RTP发送模块、RTCP接收模块、音视频数据编码模块和采集模块;接收端200主要包括RTP接收模块、RTCP发送模块、上述基于队列时延的拥塞控制装置、音视频数据解码模块和播放模块。
对于发送端100,其发送模块的发送码率由接收端通过RTCP反馈而得,发送端100启动接收RTCP数据包线程和定时器,比如,可以设定RTCP的反馈周期为4秒,则定时器的超时时间可以设置为2倍的RTCP反馈周期,即8秒。如果在定时器超时之前接收到RTCP反馈数据,则根据RTCP头字段中的码率更新当前的RTP发送模块的发送码率;如果没有接收到RTCP反馈数据超时,则直接减小当前的RTP发送模块的发送码率,比如降为原来的50%。自此,发送端100就可以根据更新的发送码率进行发送RTP数据,并且在每个RTP包的包头标记该包的发送时间t2,以便接收端200使用。
本实施例采用固定的反馈时间间隔,固定为4秒为例进行示例说明,在分组时间间隔4秒内,接收端200接收到RTP数据后,先解析RTP头里的包发送时间T_send,并获取当前系统时间T_recv,并将T_send和T_recv以及数据包的包长S_data三个参数传给带宽估计模块。
首先,基于队列时延的拥塞控制装置根据T_send和T_recv计算该分组的基本时延T_basedelay,比如取T_send和T_recv差值的最小值作为该分组 的基本时延T_basedelay;同时,根据数据包长S_data更新该分组实际接收的总数据量S_total。
其次,根据T_send和T_recv的差值及最近N个分组的基本时延得到的平均基本时延T_basedelay_avg得到该数据包的队列时延T_queuedelay,即
T_queuedelay=T_recv–T_send–T_basedelay_avg
再其次,根据T_queuedelay计算该分组的平均队列时延T_queuedelay_avg。在实施例中,采用加权重的方式计算,即
T_queuedelay_avg=k*T_queuedelay_avg+(1-k)*T_queuedelay;
其中,k=0.9。
在同一分组时间内,如此循环处理,不断更新该分组的基本时延T_basedelay、平均队列时延T_queuedelay_avg、实际接收包总数据量S_total等值。
分组时间结束后,基于队列时延的拥塞控制装置根据如上统计的基本时延T_basedelay、平均队列时延T_queuedelay_avg、实际接收包总数据量S_total计算当前网络适合的码率R,计算方法及详细步骤如下:
首先,基于最近的N个分组,根据当前分组的基本时延T_basedelay和接收包总数据量S_total更新平均基本时延T_basedelay_avg,即
T_basedelay_avg=w1*T_basedelay(1)′+…+wn*T_basedelay(N)′;
其中,N为最近的N个分组,wn为第N个分组的权重,上述N个分组实际接收到总数据量按照从小到大依次排列。
N值不宜取值过大,否则对实际网络的反应速度比较慢;N值也不宜取值过小,抖动比较大。经验取值N=10。
由于在同等的网络环境下,码率越小,计算得到的基本时延T_basedelay越准确,所以根据接收包总数据量S_total对基本时延T_basedelay进行加权,S_total越小,对应的权值w越大。本发明实施例采用的加权因子为1/2,即
w1=1/2;w2=1/4;…;wk=1/2k;……;wn-1=1/2n-1;wn=1/2n-1
其次,根据平均队列时延T_queuedelay_avg计算目标码率R。本发明实施例基于队列时延的拥塞控制装置采用低通滤波器计算最终的目标码率R,并设定低通滤波器最小队列时延T_queuedelay_min(也即最小队列时延阈值)为100ms,最大队列时延T_queuedelay_max(也即中间队列时延阈值)为400ms,超大队列时延T_queuedelay_mmax(也即最大队列时延阈值)为2000ms。如果当前分组平均队列时延T_queuedelay_avg小于最小队列时延T_queuedelay_min,则认为网络状况良好,可以尝试升码率;如果介于最小队列时延T_queuedelay_min和最大队列时延T_queuedelay_max之间,则认为网络状况不稳定,可以小幅度降码率;如果介于最大队列时延T_queuedelay_max和超大队列时延T_queuedelay_mmax之间,则认为网络状况较差,有造成网络拥塞的可能,可以较大幅度降码率;如果大于超大队列时延T_queuedelay_mmax,则认为当前网络状况很差,已经处于网络拥塞状态,直接大幅降码率。其升降码率的幅度可以根据不同的应用场景按需设定。
最后,基于队列时延的拥塞控制装置将计算结果通过RTCP发送模块反馈给发送端100,并重置基于队列时延的拥塞控制装置,以备下一个分组统计。
综上所述,通过本发明可结合多个反馈时间间隔分组进行队列延时的计算,能准确的反应当前网络的状况,因此利用其计算出的发送码率能适应网络抖动,能有效的防止拥塞,提高网络带宽使用率,提高用户体验。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
工业实用性
本发明实施例方案,通过结合多个反馈时间间隔分组进行队列延时的计算,能够准确地反应当前网络的状况,由此计算出的发送码率能适应网络抖动,能够有效地防止拥塞,提高了网络带宽使用率,提高了用户体验。

Claims (15)

  1. 一种基于队列时延的拥塞控制方法,包括:
    在当前反馈时间间隔分组内,当接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;
    根据所述接收时间t1和发送时间t2得到所述反馈时间间隔分组内所述数据包的基本时延T-b;
    根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg;所述N是指反馈时间间隔分组的个数,N大于或等于2,N为正整数;
    在所述反馈时间间隔分组结束后,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
    将发送端的发送码率更新为所述目标发送码率R。
  2. 如权利要求1所述的基于队列时延的拥塞控制方法,其中,
    所述根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg包括:
    根据与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;所述w(1)、w(2)、……,w(N)为加权值;
    将所述反馈时间间隔分组内所述数据包的基本时延T-b减去所述平均基本时延T-b-avg得到所述反馈时间间隔分组的队列时延T-q;
    所述平均队列时延T-q-avg=k*T-q-avg′+(1-k)*T-q,所述T-q-avg′为反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;所述k大于或等于0.9,小于或等于0.99。
  3. 如权利要求2所述的基于队列时延的拥塞控制方法,其中,所述w(1)、w(2)、……,w(N)对应的各时间间隔分组接收到的总数据量S的关系为从小到大依次排序;所述w(1)、w(2)、……,w(N)的大小关系为从大到小依次排序。
  4. 如权利要求3所述的基于队列时延的拥塞控制方法,其中,所述w(1)+w(2)+……+w(N)=1。
  5. 如权利要求1-4任一项所述的基于队列时延的拥塞控制方法,其中,所述反馈时间间隔分组内所述数据包基本时延T-b=接收时间t1-发送时间t2。
  6. 如权利要求1-4任一项所述的基于队列时延的拥塞控制方法,其中,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在计时到达所述反馈时间间隔T-r时所述反馈时间间隔分组结束。
  7. 如权利要求1-4任一项所述的基于队列时延的拥塞控制方法,其中,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在所述反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束所述反馈时间间隔分组;所述网络检测时间间隔T-c小于所述反馈时间间隔T-r。
  8. 如权利要求1-4任一项所述的基于队列时延的拥塞控制方法,其中,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R包括:
    根据所述平均队列时延T-q-avg所处的队列时延范围将当前的发送码率进行对应的提升或降低得到目标发送码率。
  9. 如权利要求8所述的基于队列时延的拥塞控制方法,其中,根据所述平均队列时延T-q-avg所处的队列时延范围将当前的发送码率进行对应 的提升或降低得到目标发送码率包括:
    在所述平均队列时延T-q-avg小于或等于最小队列时延阈值时,将当前发送码率进行提升得到目标发送码率R;
    在所述平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列时延阈值时,保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R;
    在所述平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,将当前发送码率进行第二档降低后得到目标发送码率R;
    在所述平均队列时延T-q-avg大于最大队列时延阈值时,将当前发送码率进行第三档降低后得到目标发送码率R;
    所述第一档降低值小于所述第二档降低值,所述第二档降低值小于所述第三档降低值。
  10. 一种基于队列时延的拥塞控制装置,包括:
    时间提取模块,设置为在当前反馈时间间隔分组内,在接收端接收到新的数据包后,获取接收端接收该数据包的接收时间t1以及发送端发送该数据包的发送时间t2;
    基本时延计算模块,设置为根据所述接收时间t1和发送时间t2得到所述反馈时间间隔分组内所述数据包的基本时延T-b;
    处理模块,设置为根据所述反馈时间间隔分组内所述数据包的基本时延T-b和与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到所述反馈时间间隔分组当前的平均队列时延T-q-avg;所述N是指反馈时间间隔分组的个数,N大于或等于2,N为正整数;
    码率确定模块,设置为在所述反馈时间间隔分组结束后,根据所述反馈时间间隔分组的平均队列时延T-q-avg得到目标发送码率R;
    更新模块,设置为将发送端的发送码率更新为所述目标发送码率R。
  11. 如权利要求10所述的基于队列时延的拥塞控制装置,其中,所述处理模块包括:
    平均基本时延计算子模块,设置为根据与所述反馈时间间隔分组最近的前N个反馈时间间隔分组的基本时延T-b′得到平均基本时延T-b-avg=w(1)*T-b(1)′+w(2)*T-b(2)′+……+w(N)*T-b(N)′;所述w(1)、w(2)、……,w(N)为加权值;
    队列时延计算子模块,设置为将所述反馈时间间隔分组内所述数据包的基本时延T-b减去所述平均基本时延T-b-avg得到所述反馈时间间隔分组的队列时延T-q;
    平均队列时延计算子模块,设置为根据T-q-avg=k*T-q-avg′+(1-k)*T-q计算得到平均队列时延;所述T-q-avg′为反馈时间间隔分组内截止上一接收到的数据包得到的平均队列时延;所述k大于或等于0.9,小于或等于0.99。
  12. 如权利要求10或11所述的基于队列时延的拥塞控制装置,其中,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在计时到达所述反馈时间间隔T-r时所述反馈时间间隔分组结束。
  13. 如权利要求10或11所述的基于队列时延的拥塞控制装置,其中,所述反馈时间间隔分组的反馈时间间隔T-r为小于或等于反馈周期T的固定值,在所述反馈时间间隔T-r内,按照预设网络检测时间间隔T-c对当前网络进行检测,并将当前网络检测结果与上一网络检测时间间隔T-c的检测结果进行比对,在比对结果为网络变差时,结束所述反馈时间间隔分组;所述网络检测时间间隔T-c小于所述反馈时间间隔T-r。
  14. 如权利要求10或11所述的基于队列时延的拥塞控制装置,其中,所述码率确定模块包括:
    比较子模块,设置为确定所述平均队列时延T-q-avg所处的队列时延范 围;
    码率调整子模块,设置为根据所述比较子模块的确定结果将当前的发送码率进行对应的提升或降低得到目标发送码率。
  15. 如权利要求14所述的基于队列时延的拥塞控制装置,其中,码率调整子模块根据比较子模块的确定结果将当前的发送码率进行对应的提升或降低得到目标发送码率包括:
    在所述平均队列时延T-q-avg小于或等于最小队列时延阈值时,将当前发送码率进行提升得到目标发送码率R;
    在所述平均队列时延T-q-avg大于最小队列时延阈值,小于或等于中间队列时延阈值时,保持当前发送码率不变或者将当前发送码率进行第一档降低后得到目标发送码率R;
    在所述平均队列时延T-q-avg大于中间队列时延阈值时,小于或等于最大队列时延阈值时,将当前发送码率进行第二档降低后得到目标发送码率R;
    在所述平均队列时延T-q-avg大于最大队列时延阈值时,将当前发送码率进行第三档降低后得到目标发送码率R;
    所述第一档降低值小于所述第二档降低值,所述第二档降低值小于所述第三档降低值。
PCT/CN2016/083679 2015-06-30 2016-05-27 一种基于队列时延的拥塞控制方法及装置 WO2017000719A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510372607.7A CN106330761B (zh) 2015-06-30 2015-06-30 基于队列时延的拥塞控制方法及装置
CN201510372607.7 2015-06-30

Publications (1)

Publication Number Publication Date
WO2017000719A1 true WO2017000719A1 (zh) 2017-01-05

Family

ID=57607813

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/083679 WO2017000719A1 (zh) 2015-06-30 2016-05-27 一种基于队列时延的拥塞控制方法及装置

Country Status (2)

Country Link
CN (1) CN106330761B (zh)
WO (1) WO2017000719A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211936A (zh) * 2019-12-27 2020-05-29 视联动力信息技术股份有限公司 一种基于网络状态的数据处理方法和装置
CN112637066A (zh) * 2020-12-15 2021-04-09 南瑞集团有限公司 面向电力物联网的网络切片与路径选择优化方法与系统
CN113691882A (zh) * 2021-09-02 2021-11-23 广州市奥威亚电子科技有限公司 判断网络状况的方法、装置、设备及存储介质
CN113726672A (zh) * 2020-10-23 2021-11-30 天翼智慧家庭科技有限公司 一种流控阀值自调整的方法和系统
CN114095437A (zh) * 2021-11-18 2022-02-25 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质
CN114501145A (zh) * 2021-12-24 2022-05-13 浙江大华技术股份有限公司 视频传输的码率控制方法、装置、电子装置和存储介质
CN115065643A (zh) * 2022-07-14 2022-09-16 北京达佳互联信息技术有限公司 网络链路拥塞检测方法、装置、电子设备及存储介质
WO2023011179A1 (zh) * 2021-08-05 2023-02-09 清华大学 一种拥塞控制方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688059B (zh) * 2017-10-19 2022-02-01 深圳市中兴微电子技术有限公司 一种交换网络的拥塞管理方法、装置及计算机存储介质
CN110191060A (zh) * 2018-02-22 2019-08-30 中兴通讯股份有限公司 一种调整数据包发送码率的方法、装置、设备及系统
CN109462553A (zh) * 2018-10-24 2019-03-12 盛科网络(苏州)有限公司 一种基于时延的动态队列管理芯片实现方法
CN109743639B (zh) * 2018-12-25 2021-11-09 深圳市麦谷科技有限公司 一种自适应码率控制方法、系统、计算机设备及存储介质
CN109714634B (zh) * 2018-12-29 2021-06-29 海信视像科技股份有限公司 一种直播数据流的解码同步方法、装置及设备
CN110113782A (zh) * 2019-04-29 2019-08-09 惠州Tcl移动通信有限公司 数据传输方法、装置及存储介质
CN111741249B (zh) * 2020-06-04 2022-03-22 北京佳讯飞鸿电气股份有限公司 一种网络拥塞检测方法及装置
CN117914750B (zh) * 2024-03-20 2024-06-04 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833159A (zh) * 2012-08-16 2012-12-19 中兴通讯股份有限公司 报文拥塞处理方法及装置
US8385210B1 (en) * 2008-12-18 2013-02-26 Cisco Technology, Inc. System and method for detection and delay control in a network environment
CN104038438A (zh) * 2013-12-03 2014-09-10 江苏达科信息科技有限公司 一种基于传统传输控制协议改进的显式拥塞控制方法
CN104219106A (zh) * 2013-05-30 2014-12-17 三星Sds株式会社 终端和利用该终端的网络状态测定系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442139B1 (en) * 1998-01-29 2002-08-27 At&T Adaptive rate control based on estimation of message queuing delay
CN101026509B (zh) * 2007-02-28 2011-07-20 西南科技大学 一种端到端低可用带宽测量方法
CN103248884B (zh) * 2012-02-14 2016-08-10 华为技术有限公司 一种控制视频速率的系统、基站及方法
CN104135401B (zh) * 2014-07-14 2018-05-01 京信通信系统(中国)有限公司 一种端到端网络的时延检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385210B1 (en) * 2008-12-18 2013-02-26 Cisco Technology, Inc. System and method for detection and delay control in a network environment
CN102833159A (zh) * 2012-08-16 2012-12-19 中兴通讯股份有限公司 报文拥塞处理方法及装置
CN104219106A (zh) * 2013-05-30 2014-12-17 三星Sds株式会社 终端和利用该终端的网络状态测定系统及方法
CN104038438A (zh) * 2013-12-03 2014-09-10 江苏达科信息科技有限公司 一种基于传统传输控制协议改进的显式拥塞控制方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211936A (zh) * 2019-12-27 2020-05-29 视联动力信息技术股份有限公司 一种基于网络状态的数据处理方法和装置
CN113726672A (zh) * 2020-10-23 2021-11-30 天翼智慧家庭科技有限公司 一种流控阀值自调整的方法和系统
CN113726672B (zh) * 2020-10-23 2024-04-02 天翼数字生活科技有限公司 一种流控阀值自调整的方法和系统
CN112637066A (zh) * 2020-12-15 2021-04-09 南瑞集团有限公司 面向电力物联网的网络切片与路径选择优化方法与系统
CN112637066B (zh) * 2020-12-15 2023-01-24 南瑞集团有限公司 面向电力物联网的网络切片与路径选择优化方法与系统
WO2023011179A1 (zh) * 2021-08-05 2023-02-09 清华大学 一种拥塞控制方法及装置
CN113691882B (zh) * 2021-09-02 2024-04-26 广州市奥威亚电子科技有限公司 判断网络状况的方法、装置、设备及存储介质
CN113691882A (zh) * 2021-09-02 2021-11-23 广州市奥威亚电子科技有限公司 判断网络状况的方法、装置、设备及存储介质
CN114095437A (zh) * 2021-11-18 2022-02-25 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质
CN114095437B (zh) * 2021-11-18 2024-04-09 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质
CN114501145A (zh) * 2021-12-24 2022-05-13 浙江大华技术股份有限公司 视频传输的码率控制方法、装置、电子装置和存储介质
CN114501145B (zh) * 2021-12-24 2024-06-04 浙江大华技术股份有限公司 视频传输的码率控制方法、装置、电子装置和存储介质
CN115065643A (zh) * 2022-07-14 2022-09-16 北京达佳互联信息技术有限公司 网络链路拥塞检测方法、装置、电子设备及存储介质
CN115065643B (zh) * 2022-07-14 2024-03-26 北京达佳互联信息技术有限公司 网络链路拥塞检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106330761A (zh) 2017-01-11
CN106330761B (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
US11489781B2 (en) Bandwidth management
KR101046105B1 (ko) 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템
US8588071B2 (en) Device and method for adaptation of target rate of video signals
CN106301684B (zh) 一种媒体数据传输方法及装置
JP5326908B2 (ja) 送信レート制御方法および通信装置
AU2014252266B2 (en) Voip bandwidth management
CN111935441B (zh) 一种网络状态检测方法及装置
US20110205889A1 (en) Controlling packet transmission
CN112491658B (zh) 带宽估计方法、装置、电子设备及计算机可读存储介质
US20170048025A1 (en) Communication control apparatus, communication control method, and computer-readable non-transitory recording medium
CN109495660B (zh) 一种音频数据的编码方法、装置、设备和存储介质
US10382155B2 (en) Data processing
CN117156167A (zh) 一种融合传输系统的自适应数据传输方法及装置
JP5533177B2 (ja) パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム
CN115378832B (zh) 拥塞检测方法、装置及流媒体传输系统、电子设备和介质
US11533237B2 (en) Round-trip estimation
CN114205867A (zh) 一种数据包传输方法、装置、终端设备和存储介质
CN113645177A (zh) 可靠传输网络中维持实时音讯串流播放延迟的方法及系统
Öhman A Flexible Adaptation Framework for Real-Time Communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16817083

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16817083

Country of ref document: EP

Kind code of ref document: A1