CN102804714B - 控制分组传输 - Google Patents
控制分组传输 Download PDFInfo
- Publication number
- CN102804714B CN102804714B CN201180011313.1A CN201180011313A CN102804714B CN 102804714 B CN102804714 B CN 102804714B CN 201180011313 A CN201180011313 A CN 201180011313A CN 102804714 B CN102804714 B CN 102804714B
- Authority
- CN
- China
- Prior art keywords
- grouping
- receiver
- sent
- delay
- lowered
- 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.)
- Expired - Fee Related
Links
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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- 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
-
- 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/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种控制经由信道从发送器到接收器的分组中发送的数据的传输的方法。该方法包括:从发送器发送分组到接收器;确定发送到接收器的后续分组的传输延迟和/或丢失是否可能被降低超过阈值量;如果确定发送到接收器的后续分组的传输延迟和/或丢失可能没有被降低超过阈值量,则控制传输速率来取决于第一目标延迟;以及如果确定发送到接收器的后续分组的传输延迟和/或丢失可能被降低超过阈值量,则控制传输速率来取决于第二目标延迟,其中所述第二目标延迟相对于所述第一目标延迟为较低。
Description
技术领域
本发明涉及控制分组传输,并且特别涉及根据基于分组的通信系统中的变化网络状况来控制分组传输。本发明特别但非排他性地与实时IP通信系统有关。
背景技术
现代通信系统基于跨诸如互联网的基于分组的通信网络在诸如用户终端的端点之间的数字信号的传输。诸如语音的模拟信息可以被输入到在一个终端的发送器处的模数转换器中,并被转换为数字信号。随后该数字信号被编码并放置在数据分组中以用于经由基于分组的网络通过信道传输到另一终端的接收器。
经由诸如互联网的分组交换网络发送的数据分组共享网络的资源。数据分组可以采取不同的路径来跨网络行进到相同的目的地,并因此没有经由如电路交换网络的情况中那样的专用‘信道’来发送。然而,本领域技术人员将容易明了:术语‘信道’可以用来描述经由分组交换网络的两个终端之间的连接,并且这样的信道的容量描述了可以经由网络从发送终端向接收终端发送的最大比特率。
这样的基于分组的通信系统受制于可能不利地影响呼叫或者两个端点之间的其他通信事件的质量的因素。随着互联网的发展增长以及用户要求新的应用和更好的性能,数据量的上升产生诸如分组递送的长延迟和丢失分组的问题。这些麻烦是由于拥塞造成的,其发生在存在过多的源过快地发送过多的数据以致于网络不能处理的时候。
存在多个用于控制分组传输以避免网络拥塞的方法。网络拥塞的征兆包括增加的分组延迟和分组丢失,这可能显著地影响所接收的数据流的质量,尤其对于实时通信而言。
网络中的拥塞典型地出现在边缘路由器(edge router)处,其位于网络的边缘。路由器典型地维持队列集合,每个接口具有一个队列,该队列持有计划在该接口上发出去的分组。这些队列往往使用弃尾规定(discipline),其中如果队列短于其最大尺寸则分组被放入队列。当队列被填充至其最大容量时,新到的分组被丢弃直到队列有足够的空间接受到来的流量。
存在多个用于控制网络拥塞的方法。典型地,当分组丢失出现时,发送数据的速率被降低以便降低网络拥塞。TCP(传输控制协议)是互联网中主导的传输协议。对于TCP而言,‘发送速率’由拥塞窗口控制,该拥塞窗口针对每个包含分组丢弃的数据窗口减半,并且否则每个数据窗口增加大致一个分组。这被称为和式增加积式减少(AIMD)。
虽然TCP拥塞控制对于诸如大块数据传送的应用是适当的,但是数据被实时播放的一些应用发现响应于未必严重的单个拥塞指示而减半发送速率,因为这可能明显地降低用户感知的质量。由于诸如实时多媒体通信的新兴应用,TCP在发送速率上的突然改变已成为部署TCP的端到端拥塞控制的关键障碍。
互联网中实时通信的拥塞控制尤其重要,因为数据传输上的不利影响将是明显的。为了实现TCP友好性,或者跨使用不同协议的连接的公平性,目前针对实时通信的速率控制解决方案可以被分类为以下方法。
一些方法采用广义的AIMD算法,诸如二项式控制,其以与TCP中使用的AIMD类似的方式来操作。在这些方法中,增加发送的数据直到检测到分组丢失。响应于检测到分组丢失,发送的数据被降低。
其他方法可以控制传输速率作为RTT和丢失率的函数。TFRC(TCP友好速率控制)是针对实时应用设计的一种代表性方法。
这些解决方案在平稳性、进取性和响应性之间进行权衡。与TCP相比较,广义的AIMD和TFRC已经示出典型较高的平稳性意味着更少的进取性和响应性。这两类方法都是基于丢失的,其中丢失和高延迟是固有的。对于实时通信,期望的是低延迟和无丢失,照此,以上解决方案对于实时通信具有严重的缺陷。
基于延迟的TCP解决方案,诸如TCP Vegas、快速TCP等,利用延迟信息而非仅是丢失来作为拥塞索引。基于延迟的解决方案背后的基本思想是在缓冲器中维持特定队列长度以便避免完全填充该缓冲器。
例如,快速TCP基于以下公式更新定义发送的数据量的窗口大小w
公式(1)
其中α是缓冲器设置点,Tq是总排队延迟,n是对第n个更新的索引号,并且RTT是往返时间。公式(1)还可以书写为:
公式(2)
其中R(n)= w(n)/RTT,其为发送速率的估计。
公式1和2所遭受的问题是缓冲器设置点α不是自适应的。如果共享瓶颈的流的整个缓冲器要求超过缓冲器限制,则这些基于延迟的解决方案的性能可能后退到传统的TCP。
在M.Chen、X.Fan、M.Murthi、T.Wickramarathna和K.Premaratne于2009年在IEEE/ACM Transactions on Networking上发表的“Normalized Queuing Delay: Congestion Control Jointly Utilizing Delay and Marking”中描述的D+M TCP(延迟+标记TCP)速率控制器允许缓冲器设置点被管理,即使在多个流共享缓冲器的时候。该方法是基于归一化(normalized)排队延迟的概念,其通过结合延迟和来自在路由器处进行的AQM(活动队列管理)的ECN(显式拥塞通知)标记信息来用作拥塞测量。利用归一化的排队延迟(NQD),D+M TCP允许源通过使用时变缓冲器设置点按普遍的网络状况动态缩放其发送速率。D+M TCP根据以下公式更新速率:
公式(3)
其中Tq是正向路径中的排队延迟,NT是自适应目标缓冲器设置点,其表示针对特定的流排队的数据量,并且K是步长大小。
自适应缓冲器设置点NT给出为:
公式(4)
其中α是常量并且其中∧(P)是标记概率P的归一化函数,其可以根据IP头中的ECN标记来计算。
标记概率P是缓冲器容量和平均队列长度的函数。根据公式4,NT将变化以便保持在缓冲器处的平均队列长度在预定义的操作范围内。
本发明的发明人已识别D+M TCP遭受这样的问题,即其特别不适合于实时音频和视频通信,因为即使自适应缓冲器设置点自适应于共享该缓冲器的流的数目,队列长度在缓冲器中的预定义的操作范围是固定的。这在某些情况下引入不必要的延迟,或者相反地在缓冲器与如交叉流量的TCP共享时阻止分组流获得缓冲器容量的公平份额。
本发明的目的在于缓解以上讨论的问题。
发明内容
根据本发明的第一方面,提供了一种控制经由信道从发送器到接收器的分组中发送的数据的传输的方法,该方法包括:从发送器发送分组到接收器;确定发送到接收器的后续分组的传输延迟和/或丢失是否可能被降低超过阈值量;如果确定发送到接收器的后续分组的传输延迟和/或丢失可能没有被降低超过阈值量,则控制传输速率来取决于第一目标延迟;以及如果确定发送到接收器的后续分组的传输延迟和/或丢失可能被降低超过阈值量,则控制传输速率来取决于第二目标延迟,其中所述第二目标延迟相对于所述第一目标延迟为较低。
根据本发明的第二方面,提供了一种控制经由信道从发送器到接收器的数据的传输的方法,该方法包括:发送从发送器到接收器的数据;确定发送到接收器的后续分组的传输延迟和/或丢失是否可能被降低超过阈值量;如果确定发送到接收器的后续分组的传输延迟和/或丢失可能没有被降低超过阈值量,则控制传输速率以维持信道中排队的从发送器发送到接收器的第一目标数据量;以及如果确定发送到接收器的后续数据的传输延迟和/或丢失可能被降低超过阈值量,则控制传输速率以维持信道中排队的从发送器发送到接收器的第二目标数据量,其中所述第二目标数据量相对于数据的所述第一目标量为较低。
根据本发明的第三方面,提供了一种用于经由信道将分组中提供的数据发送到接收器的发送器,该发送器包括:用于确定发送到接收器的后续分组的传输延迟和/或丢失是否可能被降低超过阈值量的装置;以及用于如果确定发送到接收器的后续分组的传输延迟和/或丢失可能没有被降低超过阈值量,则控制传输速率来取决于第一目标延迟;以及用于如果确定传输延迟和/或丢失可能被降低超过阈值量,则控制传输速率来取决于第二目标延迟的装置,其中所述第二延迟容忍相对于所述第一延迟容忍为较低。
根据本发明的第四方面,提供了一种被布置为接收经由信道从发送器发送的分组中提供的数据的接收器,该接收器包括:用于确定发送到接收器的后续分组的传输延迟和/或丢失是否可能被降低超过阈值量的装置;以及用于如果确定发送到接收器的后续分组的传输延迟和/或丢失可能没有被降低超过阈值量,则控制传输速率来取决于第一目标延迟;以及用于如果确定发送到接收器的后续分组的传输延迟和/或丢失可能被降低超过阈值量,则控制传输速率来取决于第二目标延迟的装置,其中所述第二延迟容忍相对于所述第一延迟容忍为较低。
附图说明
为了更好地理解本发明并且示出本发明如何可以实施,现将以示例的方式来参考附图,其中:
图1是通信系统的示意图,其图示了发送器和接收器之间的分组流;
图2是缓冲器处的分组队列的示意图;
图3是图示了缓冲器处的交叉流量的示意图;
图4是图示根据本发明实施例的归一化函数的图表;
图5是在发送器处实现本发明一个实施例的电路的示意框图;
图6是图示根据本发明实施例的方法的流程图。。
具体实施例
首先参考图1,其图示了在本发明实施例中使用的通信系统100。通信系统的第一用户(表示为“用户A”102)操作第一用户终端104,其被示出为连接到诸如互联网的网络106。用户终端104可以例如是个人计算机(“PC”)、移动电话、游戏设备或能够连接到网络106的其他嵌入式设备。第一用户终端104具有用户接口装置以从用户A接收信息并将信息输出到用户A。用户终端的接口装置包括扬声器、麦克风、诸如屏幕的显示装置、网络摄像头和键盘。用户终端经由诸如调制解调器接入点或基站的网络接口连接到网络106。用户B 114操作第二用户终端118。在用户A和用户B之间的呼叫期间,诸如音频数据分组和视频数据分组的数据分组将经由网络来发送。
数据分组经由路由器120穿过互联网106。数据分组在被跨互联网106转发之前在路由器的缓冲器中排队。多个路由器被用来路由第一用户终端104和第二用户终端118之间的分组。接近容量的缓冲器可能引入数据分组发送的瓶颈。如果超过缓冲器的容量,将出现分组丢失。在分组流中潜在地引入丢失和延迟的缓冲器被称为瓶颈缓冲器。
图2是图示瓶颈缓冲器处的分组队列的示意图。从第一用户终端104的发送器发送到第二用户终端118的接收器的数据分组的流被表示为分组流i。来自分组流i的数据分组204在瓶颈缓冲器202中排队。在分组流中,多个分组的序列使用n来表示。图2图示了将要被发送的分组(n,i)和在缓冲器202处排队的已经被发送的k个先前分组。在此情况下,由于分组流i是使用缓冲器的仅有的分组流,因此总队列长度等于在缓冲器N(n)中排队的来自分组流i的数据量。
再次参考图1,图1示出从第三终端122发送到第四终端124的分组流x。如图所示,两个流都由用Z表示的路由器120来处理。图3示出路由器Z的缓冲器202,该路由器Z接收来自分组流i的分组204和来自分组流x的分组206。由于分组流x使用与分组流i相同的缓冲器,所以分组流x可以被称为分组流i的‘交叉流量’。如果交叉流量的传输速率增加,如果存在诸如在TCP中的可用缓冲器容量,这将被称为‘竞争的’交叉流量,因为该交叉流量竞争缓冲器中的空间。
在此情况下,总队列长度等于
N(n)流i + N(n)流x
如前讨论的,发明人已经识别出根据如在D+M TCP中执行的公式4来控制来自分组流的排队的目标数据量NT以保持平均队列长度在预定义的操作范围内遭受两个问题。如果分组流i与诸如TCP流量的竞争交叉流量共享缓冲器,则分组流i可能具有不必要小份额的缓冲器。相反,在不存在竞争交叉流量的情况下,分组流i可能在缓冲器处引发不必要的延迟。
本发明的发明人已经认识到当在瓶颈缓冲器处没有竞争交叉流量时需要降低排队延迟,同时当存在竞争交叉流量时实现公平的缓冲器容量份额。
根据本发明的实施例,响应于确定分组丢失和/或延迟将响应于降低发送速率而提高,网络缓冲器中排队的目标数据量被迫减少。以这种方式,在在缓冲器处引发的延迟在没有竞争交叉流量时不会仍为高。相反,如果确定分组丢失和/或延迟将不会响应于降低发送速率而提高,在缓冲器处排队的目标数据量不会被迫减少而且可能增加。以这种方式,在存在竞争交叉流量中维持缓冲器的公平份额。
根据本发明的实施例,根据所确定的降低发送速率的影响来适配来自分组流的排队的目标数据量NT。如果确定分组丢失和/或延迟将不会响应于降低发送速率而提高,则来自流的排队的目标数据量被设置为:
其中PBL是基于接近依赖于缓冲器容量的队列长度限制的标记概率。
然而,如果确定分组丢失和/或延迟将响应于降低发送速率而提高,则来自流的排队的目标数据量NT被设置为:
其中PTD是基于接近引发目标最大延迟的队列长度的标记概率。
其中归一化函数凸函数,例如:
公式(5)
在本发明的一个实施例中,归一化函数∧(PBL)根据可以根据标记概率PBL来确定,该PBL可以根据在支持AQM的路由器处实现的ECN标记计算。然而,目前仅20%的路由器支持AQM和ECN功能。在本发明的优选实施例中使用并在共同待决的申请中描述的速率控制器使用了如下的方法:允许在不需要路由器执行ECN的情况下确定目标缓冲器设置点。这通过监控排队延迟Tq来估计标记概率而实现,如现在将要描述的。
缓冲器202以基本恒定的速率输出分组。在缓冲器队列中由分组(n,i)所花的时间,在下文中被称为排队延迟Tq(n),取决于在缓冲器处排队的分组的数目。在缓冲器处排队的来自流i的分组N(n)的数目可以被估计为:
N(n)= R(n)*Tq(n) 公式(6)
对于操作AQM的路由器,标记概率PBL是缓冲器限制Qmax和平均队列长度avgQ的函数:
PBL= f(avgQ,Qmax)
存在多种已知的方式来得到PBL的值。例如,一种在采用RED(随机早期检测)的路由器处使用的方法。为了确保早期检测到缓冲器填塞的风险,采用RED的路由器计算相较于两个阈值的标记概率,该两个阈值为最小目标队列长度(minT)和最大目标队列长度(maxT)。最大阈值队列长度maxth被选择为小于最大缓冲器长度,并且最小阈值队列长度minT被选择为小于最大阈值队列长度maxT。当平均队列尺寸avgQ大于最大阈值时,标记所有的分组。当平均队列尺寸avgQ小于最小阈值时,不标记分组。当平均队列尺寸降到最小和最大阈值之间时,根据以下公式计算概率:
其中maxp是用于在平均队列长度等于最大目标队列长度时设置的标记概率。
随着缓冲器中分组数目增加,由缓冲器处排队引发的延迟也将增加。照此,发明人已经发现用来根据队列长度计算PBL的值的相同函数f可以代之用来根据排队延迟Tq估计PBL:
其中在本发明的一个实施例中,标记概率定义如下:
公式(7)
其中Tavgq是平均观测到的排队延迟,Tmax是最大观测到的排队延迟,TminT是排队延迟的最小目标值,TmaxT是排队延迟的最大目标值,并且在本发明的优选实施例中maxp是0.5。以与RED相同的方式使用两个阈值来确保缓冲器接近容量的早期检测,TmaxT被设置为小于Tmax而TminT被设置为小于TmaxT。
最大延迟观测的排队延迟Tmax可以根据以下通过递归地对Tq(n)观测取平均、对比小值更高的Tq(n)的大值加权来找到:
如果
否则;
其中wT是加权因子。
类似地,平均排队延迟Tavgq可以使用加权的平均值来估计。
其中
因此,根据公式5和7,归一化函数∧(PBL)可以书写为:
如图4中所示,∧(P)是凸函数。如果;则;然而如果,则。
当检测到竞争交叉流量时,则可以根据以下公式确定目标缓冲器设置点:
根据本发明的实施例,当没有检测到竞争交叉流量时,最大目标延迟TmaxT和可选地目标最小延迟TminT可以被分别设置为TmaxT’和TminT’,以实现降低的传输延迟和/或分组丢失。TmaxT’可以被选择为预定值或者TmaxT的部分。类似地,TminT’可以被选择为预定值或者与TminT成比例部分。照此,当没有检测到竞争交叉流量时,引发目标最大延迟TmaxT’的接近队列长度的标记概率PTD给出如下:
因此随后可以根据以下公式来确定来自流的在缓冲器中排队的目标数据量:
根据以上公式3给出发送数据包以实现缓冲器中的来自流i的分组的排队的目标数据量NT的速率。
对于实时通信而言,数据的速率将根据在给定的时间点需要传送的数据量而波动。因此,在本发明的优选实施例中,根据以下公式控制速率:
公式(8)
其中N(n)是在缓冲器中排队的流i的分组的总数目并且BWE(n)是第一用户终端和第二用户终端之间数据连接的带宽的估计。在本发明的可替换实施例中,速率可以根据公式(3)来控制。
为了描述用于控制从第一用户终端104到第二用户终端118的数据分组的传输速率的技术,现将参考图5。图5图示了在用户终端104的发送器56处的功能框的示意性框图。
编码器58从诸如网络摄像头或麦克风(未示出)的数据输入设备接收采样的数据流输入并且将数据编码到编码的比特流中以用于传输到第二用户终端118。
从编码器58输出的编码的数据流被输入到分组器60中。分组器60将经编码的数据流放入数据分组。数据分组随后被输入到速率控制器62。速率控制器被布置以控制分组被发送到网络的速率。将会明了,速率控制器可以通过可替换地或另外地调节用来在编码器58中编码数据的比特率或通过使用本领域已知的其他方法来调节发送数据的速率。
估计器框64接收指示来自用户终端118的接收器的分组n的单向排队延迟Tq的信息。估计器框使用Tq来估计最大排队延迟Tmax、平均排队延迟Tavgq和最小排队延迟Tmin。
为了确定Tq,从第一用户终端104到第二用户终端118发送的每个分组在传输上被打时间戳,诸如以在分组中提供从第一终端104发送分组的时间(Tx)的指示。在第二终端118的接收器处确定在第二终端118处接收分组的时间(Tr)。然而,分组中提供的指示取决于在第一终端104处的第一时钟的值,而记录的接收时间取决于第二终端118处的第二时钟的值。由于时钟偏斜(或“时钟偏移”),两个时钟的频率可能不同以使得它们不是同步的,因此第二终端118根据第二时钟没有从第一终端发送分组的时间的精确指示。该时钟偏移可以随着时间被估计并消除。用于实现这个的合适已知方法在US2008/0232521中陈述,其有关该操作的内容通过引用合并于此。US2008/0232521中陈述的方法也(从和的结果:Tr-Tx)滤除了分组通过以特定的速度(当采用通过纤维光学传播时为光速)行进两个终端100、200之间的物理距离所经历的传播延迟。
因此,使用接收的记录时间(Tr)和(TX)的指示以及在US2008/0232521中陈述的方法,时钟失配和传播延迟可以随时间被估计和滤除以获得排队延迟“Tq(n)”的估计。在可替换实施例中,可以使用其他方法来获得“Tq(n)”的估计。
在优选实施例中,对在第二终端118处接收的每个分组估计单向排队延迟,即“n”、“n+1”、“n+2”等。在可替换实施例中,可以仅对在第二终端118处接收的每2个或3个分组估计这个延迟。因此,可以对每X接收的分组执行估计,其中X是整数。在可替换实施例中,可以每Y秒执行一次估计,例如其中Y=1。
估计器框64还被布置为估计从第一用户终端104到第二用户终端118的数据连接的带宽BWE。
在本发明的优选实施例中,估计器框64被布置为使用从第二终端118接收的Tq的观测根据以下公式来确定可用带宽的估计:
公式(9)
和
公式(10)
其中BW(n)是可用信道带宽,S(n)是分组n的分组大小,并且N(n)是缓冲器队列中的分组流数据量。估计器框64随后可以使用公式9和10来估计带宽和N(n)。在估计器64的一个实施方式中,公式被用作卡尔曼滤波器的基础,并将它们求解为扩展的、无迹(unscented)或粒子卡尔曼滤波器,产生带宽估计BWE(n)。
在本发明的可替换实施例中,信道BW的可用带宽可以根据本领域中已知的其他带宽估计技术(本领域中已知的方法)来确定。缓冲器N(n)中排队的分组的数目随后可以根据公式10或通过N(n)=R(n)*Tq(n)来确定。
估计器框64向速率控制器62提供Tq、Tmax、Tavgq、BWE和N(n)。速率控制器随后被布置为根据公式8控制速率。
根据本发明的示例性实施例,速率控制器62被布置为根据图6中图示的方法通过设置目标最大排队延迟和目标最小排队延迟来确定向第二终端发送分组的速率。
图6示出了示出根据本发明的一个实施例的方法步骤的流程图。
在步骤S1,速率控制器以被控制容忍阈值排队延迟Tq的速率发送分组。在本发明的示例性实施例中,阈值分组延迟Tq被设置为60ms,其坚持达16秒的持续时间。
在步骤S2,确定是否已超过阈值排队延迟。如果排队延迟Tq在多于16秒内超过60ms,该方法继续至步骤S3,否则该方法返回至步骤S1。
在步骤S3,确定排队延迟是否可以降低超过阈值量。在此示例中,速率控制器62减少分组传输的速率以试图获得16秒内40ms的最大排队延迟。如果所观测的排队延迟没有降低到60ms以下,则在速率控制器中将标志F_tcp设置为1以指示TCP交叉流量的存在并且方法继续至S4,否则在速率控制器中将该标志设置为0并且方法继续至步骤S5。
在步骤S4,如果标志F_tcp被设置为1,则速率控制器被布置为将目标最大排队延迟设置为TmaxT,其中TmaxT是最大观测的排队延迟Tmax的部分。Tmin可以被设置为Tmax的较小部分。例如:
如果 F_tcp =1
设置
并且
然而,如果在步骤S3确定排队延迟响应于减少分组传输的速率而降低以使得标志F_tcp被设置为0,则在步骤S5中速率控制器被布置为设置目标最大排队延迟为TmaxT’,其中TmaxT’是低值,诸如预定值或Tmax的比TmaxT更小的部分。TminT’被设置为小于TmaxT。例如:
如果 F_tcp =0
设置
TmaxT’=0.04s
并且
TminT’=0.006s
这导致了降低的排队延迟和分组丢失。因而提高了所接收的数据流输出到第二终端118的用户B 114的感知质量。该方法随后返回至步骤S1。
如图4中示出的图表和图6的步骤S4所示,在本发明的优选实施例中,目标最大排队延迟TmaxT被设置为小于最大排队延迟Tmax。这允许持续高的排队延迟在在步骤S3未正确地确定降低发送速率将不改进分组丢失和/或延迟的情况下得以避免。
虽然本发明特别参考优选实施例示出并描述,但是本领域技术人员将会理解可以在不脱离由权利要求所限定的发明范围的情况下进行形式和细节上的各种改变。
例如,在本发明的可替换实施例中,降低传输速率的影响可以通过使用被称为分组对探测的方法来探测数据连接以检测交叉流量存在而确定。根据该方法,以不同的传输间隔发送数据分组来确定连续发送的分组是否经历比由以预定间隔发送的分组所经历的交叉流量导致的延迟更少的延迟。
在本发明的进一步可替换实施例中,可以通过分析多个排队延迟Tq观测来确定平均排队延迟Tavgq、最大排队延迟Tmax和最小排队延迟Tq。例如最大排队延迟和平均排队延迟可以根据100个排队延迟Tq观测来确定。照此,可以在每100个Tq观测内更新Tq、Tmax和Tmin。
虽然在上述示例性方法中在第一终端104的发送器处确定排队数据的目标量NT,但是在本发明的可替换实施例中,可以代之在第二终端118的接收器处确定Tavgq、Tmax、Tmax、Tmin、TmaxT、TminT、TmaxT’、TminT’、NT和R(n)的任一个并将其提供给发送器。
虽然本发明的实施例已被描述为控制速率以维持队列中的取决于标记概率的自适应目标数据量,从而支持将被共享的缓冲器,但是应当明了,在本发明的另一实施例中,可以控制速率以在检测到交叉流量指示的情况下维持第一目标队列长度以及在没有检测到交叉流量指示的情况下维持第二目标队列长度。
在优选的实施例中,以上讨论的过程通过存储在通用存储器诸如闪存或硬盘驱动器上的软件实现并在通用处理器上执行,该软件优选地但不是必需地集成为通信客户端的一部分。然而,可替换地,该过程可以被实现为单独的(一个或多个)应用、或者实现在固件中、或者甚至实现在专用硬件中。
以上讨论的该方法的任意或所有步骤可以编码在诸如存储器的计算机可读介质上,以提供计算机程序产品,该计算机程序产品被布置为使得当在处理器上执行时实现该方法。
Claims (9)
1.一种控制经由信道从发送器到接收器的分组中发送的数据的传输的方法,该方法包括:
从发送器发送分组到接收器;以及
确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量;
如果确定发送到接收器的后续分组的队列延迟和/或丢失不会被降低超过阈值量,则控制传输速率来取决于第一目标延迟;以及
如果确定发送到接收器的后续分组的队列延迟和/或丢失会被降低超过阈值量,则控制传输速率来取决于第二目标延迟,其中所述第二目标延迟相对于所述第一目标延迟为较低。
2.如权利要求1所述的方法,其中确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量的步骤包括确定信道上交叉流量的指示。
3.如权利要求1或2所述的方法,其中确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量的步骤包括以下步骤:
监控第一分组集合和第二分组集合的队列延迟,其中第二分组集合在继第一分组集合之后被发送;
相对于第一分组集合,降低在第二分组集合中发送的数据的速率;以及
确定所述第二分组集合的至少一个分组的队列延迟和/或丢失是否小于第一分组集合。
4.如权利要求3所述的方法,其中降低第二分组集合中发送的数据的速率的步骤包括:取决于比第一分组集合更低的目标延迟,控制将被发送的第二分组集合。
5.如权利要求1、2、4中任一项所述的方法,其中控制传输速率来取决于第一目标延迟的步骤包括:控制传输速率以维持在网络中的缓冲器中排队的第一目标数据量,其中在缓冲器中排队的目标数据量与网络中缓冲器的容量成比例。
6.如权利要求5所述的方法,其中控制传输速率以维持在缓冲器中排队的第一目标数据量的步骤包括:
确定分组的标记概率;
根据所述标记概率,确定在缓冲器中排队的第一目标数据量;以及
控制分组的传输时间以便适配在缓冲器中排队的数据量以等于第一目标数据量。
7.一种控制经由信道从发送器到接收器的数据的传输的方法,该方法包括:
从发送器发送数据到接收器;以及
确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量;
如果确定发送到接收器的后续分组的队列延迟和/或丢失不会被降低超过阈值量,则控制传输速率以维持信道中排队的从发送器发送到接收器的第一目标数据量;以及
如果确定发送到接收器的后续数据的队列延迟和/或丢失会被降低超过阈值量,则控制传输速率以维持信道中排队的从发送器发送到接收器的第二目标数据量,其中所述第二目标数据量相对于所述第一目标数据量为较低。
8.一种用于经由信道将分组中提供的数据发送到接收器的发送器,该发送器包括:
用于确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量的装置;
以及用于如果确定发送到接收器的后续分组的队列延迟和/或丢失不会被降低超过阈值量则控制传输速率来取决于第一目标延迟、如果确定队列延迟和/或丢失会被降低超过阈值量则控制传输速率来取决于第二目标延迟的装置,其中所述第二目标延迟相对于所述第一目标延迟为较低。
9.一种被布置为接收经由信道从发送器发送的分组中提供的数据的接收器,该接收器包括:
用于确定发送到接收器的后续分组的队列延迟和/或丢失是否会被降低超过阈值量的装置;
以及用于如果确定发送到接收器的后续分组的队列延迟和/或丢失不会被降低超过阈值量则控制传输速率来取决于第一目标延迟、如果确定发送到接收器的后续分组的队列延迟和/或丢失会被降低超过阈值量则控制传输速率来取决于第二目标延迟的装置,其中所述第二目标延迟相对于所述第一目标延迟为较低。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1003199.5 | 2010-02-25 | ||
GB1003199.5A GB2478277B (en) | 2010-02-25 | 2010-02-25 | Controlling packet transmission |
PCT/EP2011/052755 WO2011104306A1 (en) | 2010-02-25 | 2011-02-24 | Controlling packet transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102804714A CN102804714A (zh) | 2012-11-28 |
CN102804714B true CN102804714B (zh) | 2015-07-08 |
Family
ID=42125628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180011313.1A Expired - Fee Related CN102804714B (zh) | 2010-02-25 | 2011-02-24 | 控制分组传输 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110205889A1 (zh) |
EP (1) | EP2522108A1 (zh) |
CN (1) | CN102804714B (zh) |
GB (1) | GB2478277B (zh) |
WO (1) | WO2011104306A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012221156A (ja) * | 2011-04-07 | 2012-11-12 | Sony Corp | 再生装置および再生方法 |
WO2013036183A1 (en) * | 2011-09-08 | 2013-03-14 | Telefonaktiebolaget L M Ericsson (Publ) | Method in a base station, a base station, computer programs and computer readable means |
US9014264B1 (en) * | 2011-11-10 | 2015-04-21 | Google Inc. | Dynamic media transmission rate control using congestion window size |
WO2014036704A1 (zh) | 2012-09-06 | 2014-03-13 | 华为技术有限公司 | 控制网络传输时延的方法、服务质量控制实体和通信设备 |
US10314091B2 (en) | 2013-03-14 | 2019-06-04 | Microsoft Technology Licensing, Llc | Observation assisted bandwidth management |
DK2979399T3 (da) | 2013-03-27 | 2023-10-09 | Jacoti Bv | Fremgangsmåde og anordning til justering af latenstid |
US9356869B2 (en) * | 2013-04-10 | 2016-05-31 | Viber Media Inc. | VoIP bandwidth management |
KR101468624B1 (ko) * | 2013-05-30 | 2014-12-04 | 삼성에스디에스 주식회사 | 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법 |
GB201310665D0 (en) | 2013-06-14 | 2013-07-31 | Microsoft Corp | Rate Control |
CN104753784A (zh) * | 2013-12-31 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 大数据传输型场景下基于列生成算法的dtn路由方法 |
US9363626B2 (en) * | 2014-01-27 | 2016-06-07 | City University Of Hong Kong | Determining faulty nodes within a wireless sensor network |
US9477541B2 (en) | 2014-02-20 | 2016-10-25 | City University Of Hong Kong | Determining faulty nodes via label propagation within a wireless sensor network |
US10015057B2 (en) | 2015-01-26 | 2018-07-03 | Ciena Corporation | Representative bandwidth calculation systems and methods in a network |
WO2016128931A1 (en) * | 2015-02-11 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Ethernet congestion control and prevention |
EP3429113B1 (en) * | 2016-01-25 | 2021-03-31 | Valens Semiconductor Ltd. | Fast recovery from differential interference using limited retransmission |
CN107809648B (zh) * | 2017-11-07 | 2020-01-07 | 江苏长天智远交通科技有限公司 | 基于带宽检测的平台级视频流自适应平滑播放方法及系统 |
US10686861B2 (en) * | 2018-10-02 | 2020-06-16 | Google Llc | Live stream connector |
KR102128015B1 (ko) * | 2018-11-20 | 2020-07-09 | 울산과학기술원 | 네트워크 스위칭 장치 및 이를 이용한 마킹 수행 방법 |
US11153192B2 (en) | 2020-02-29 | 2021-10-19 | Hewlett Packard Enterprise Development Lp | Techniques and architectures for available bandwidth estimation with packet pairs selected based on one-way delay threshold values |
US11996916B2 (en) * | 2021-03-08 | 2024-05-28 | United States Of America As Represented By The Secretary Of The Air Force | Systems for and methods of ground digital precoding for hybrid terrestrial-satellite mobile networks |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5477531A (en) * | 1991-06-12 | 1995-12-19 | Hewlett-Packard Company | Method and apparatus for testing a packet-based network |
US6064677A (en) * | 1996-06-27 | 2000-05-16 | Xerox Corporation | Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms |
WO2000041400A2 (en) * | 1999-01-06 | 2000-07-13 | Koninklijke Philips Electronics N.V. | System for the presentation of delayed multimedia signals packets |
US6661810B1 (en) * | 1999-03-19 | 2003-12-09 | Verizon Laboratories Inc. | Clock skew estimation and removal |
SE514313C2 (sv) * | 1999-04-07 | 2001-02-12 | Telia Ab | Förbättringar av, eller med avseende på, datapaketförmedling |
US6788697B1 (en) * | 1999-12-06 | 2004-09-07 | Nortel Networks Limited | Buffer management scheme employing dynamic thresholds |
CA2292828A1 (en) * | 1999-12-22 | 2001-06-22 | Nortel Networks Corporation | Method and apparatus for traffic flow control in data switches |
US6839321B1 (en) * | 2000-07-18 | 2005-01-04 | Alcatel | Domain based congestion management |
US6996064B2 (en) * | 2000-12-21 | 2006-02-07 | International Business Machines Corporation | System and method for determining network throughput speed and streaming utilization |
US6934256B1 (en) * | 2001-01-25 | 2005-08-23 | Cisco Technology, Inc. | Method of detecting non-responsive network flows |
US7085236B2 (en) * | 2002-05-20 | 2006-08-01 | University Of Massachusetts, Amherst | Active queue management for differentiated services |
WO2004088858A2 (en) * | 2003-03-29 | 2004-10-14 | Regents Of University Of California | Method and apparatus for improved data transmission |
ATE511274T1 (de) * | 2003-12-23 | 2011-06-15 | Ericsson Telefon Ab L M | Verfahren und vorrichtung zur puffersteuerung |
CA2554876A1 (en) * | 2004-02-06 | 2005-08-18 | Apparent Networks, Inc. | Method and apparatus for characterizing an end-to-end path of a packet-based network |
US7706261B2 (en) * | 2004-08-27 | 2010-04-27 | Jinshen Sun | Queue-based active queue management process |
US7474614B2 (en) * | 2005-10-21 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with user settings |
GB0705327D0 (en) * | 2007-03-20 | 2007-04-25 | Skype Ltd | Method of transmitting data in a commumication system |
US20100098047A1 (en) * | 2008-10-21 | 2010-04-22 | Tzero Technologies, Inc. | Setting a data rate of encoded data of a transmitter |
US8248936B2 (en) * | 2009-04-01 | 2012-08-21 | Lockheed Martin Corporation | Tuning congestion control in IP multicast to mitigate the impact of blockage |
-
2010
- 2010-02-25 GB GB1003199.5A patent/GB2478277B/en not_active Expired - Fee Related
- 2010-11-09 US US12/927,214 patent/US20110205889A1/en not_active Abandoned
-
2011
- 2011-02-24 CN CN201180011313.1A patent/CN102804714B/zh not_active Expired - Fee Related
- 2011-02-24 WO PCT/EP2011/052755 patent/WO2011104306A1/en active Application Filing
- 2011-02-24 EP EP11706526A patent/EP2522108A1/en not_active Withdrawn
Non-Patent Citations (2)
Title |
---|
Making a Delay-based Protocol Adaptive to Heterogeneous Environments;Kiran Kotla 等;《IWQOS 2008》;20080602;第102页 * |
Normalized Queueing Delay: Congestion Control Jointly Utilizing Delay and Marking;Mingyu Chen 等;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20090414;第620-624页 * |
Also Published As
Publication number | Publication date |
---|---|
EP2522108A1 (en) | 2012-11-14 |
WO2011104306A1 (en) | 2011-09-01 |
US20110205889A1 (en) | 2011-08-25 |
GB2478277B (en) | 2012-07-25 |
GB2478277A (en) | 2011-09-07 |
CN102804714A (zh) | 2012-11-28 |
GB201003199D0 (en) | 2010-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102804714B (zh) | 控制分组传输 | |
CN100446466C (zh) | 用于流式数据的反应性带宽控制 | |
JP4738148B2 (ja) | パケット・ネットワーク上の利用可能な帯域幅を推定する方法および装置 | |
CN107948103B (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
US8358589B2 (en) | Buffer module, receiver, device and buffering method using windows | |
CN101636945B (zh) | 在通信系统中传输数据的方法 | |
CN112104562B (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
CN103533451A (zh) | 抖动缓存调节方法及其系统 | |
US9680890B2 (en) | Streaming media delivery composite | |
EP2668750B1 (en) | Methods and apparatuses for facilitating determination of a state of a receiver buffer | |
US20180063008A1 (en) | Media Buffering | |
WO2016202092A1 (zh) | 基于多层队列流控反压的传送方法及装置 | |
CN112866134A (zh) | 发送报文的方法、第一网络设备及计算机可读存储介质 | |
CN115347994A (zh) | 网内状态反馈方法、装置、介质、无线接入设备及系统 | |
CN115499374B (zh) | 一种参数调节方法和相关装置 | |
CN102801502B (zh) | Lte及lte-a系统中基于red算法的丢包方法 | |
US20120009892A1 (en) | Wireless communication system and method for adjusting used depth of buffer unit in wireless communication system | |
US9407386B2 (en) | Data processing | |
WO2010109752A1 (ja) | 通信システム | |
Cisco | Distributed WRED | |
CN111385219B (zh) | 借用硬件中断实现高性能高精度软件tcp限速的方法 | |
Adhari et al. | Eclipse: A new dynamic delay-based congestion control algorithm for background traffic | |
WO2023274006A1 (zh) | 一种网络设备的主动队列管理方法及网络设备 | |
CN116266826A (zh) | 一种分布式机器学习的网络优化系统、方法及电子设备 | |
JP2001244968A (ja) | パケット転送レート決定方法及びパケット転送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150708 Termination date: 20190224 |
|
CF01 | Termination of patent right due to non-payment of annual fee |