估计拥塞的方法

文档序号:7848296阅读:232来源:国知局
专利名称:估计拥塞的方法
技术领域
本发明涉及估计拥塞的方法、在连接的端点处处理数据的方法、适于执行这些方法中的ー种或两种的设备、以及包括程序代码的计算机程序产品,所述程序代码适于当在处理器上运行时执行这些方法中的ー种或两种的步骤。在通信系统中,提供了通信网络,其可以将两 个端点装置或设备链接在一起,以使得所述端点设备可以在呼叫或其他通信事件中互相发送信息。所述信息可以包括语音、文本、图像或视频,并且所述设备中的一个或两个可以包括诸如个人计算机或移动电话这样的用户终端。通过互联网可操作的通信系统包括互联网协议上的话音(“VoIP”)系统,其包括通过互联网或通过任何其他的基于IP的通信网络的会话中的话音的路由。这样的系统对用户是有益的,因为它们通常具有比传统的固定线路或移动电信网络显著低的成本。对于长距离的通信来说尤其如此。为了使用VoIP系统,用户安装和执行他们的设备(S卩,用户终端)的客户机软件。客户机软件建立VoIP连接并提供其他的功能,例如注册和鉴别。除了话音通信外,客户机还可以建立针对其它通信媒体的连接,诸如视频呼叫、即时消息(頂)、SMS消息传送、文件传送和话音邮件。用于基于分组的通信的一种类型的通信系统使用对等(“P2P”)拓扑。为了使得能访问对等系统,用户必须在他们的设备上执行由P2P软件提供者提供的P2P客户机软件,并且向P2P系统注册。在用户向P2P系统注册吋,客户机软件被提供以来自服务器的数字证书。一旦客户机软件已经被提供以所述证书,则呼叫或其他的通信连接便可以随后在P2P系统的用户间被建立和路由,而无需在建立中进ー步使用服务器。相反,客户机从分布于P2P系统内的終端用户设备上的P2P客户机软件中间的信息查找需要的IP地址。即,地址查找列表被分布在对等体自身中间。一旦被呼叫方的终端的IP地址被这样地确定,则呼叫方的P2P客户机软件就与被呼叫方的P2P客户机软件交換证书。用户间的数字证书(或“用户身份证书”,“UIC”)的交換提供了用户身份的证据,并且它们在P2P系统中被适当地授权和鉴别。因此,数字证书的呈现提供了对用户身份的信任。因此,对等通信的特征在于一旦被注册,用户就可以基于分布式地址查找和/或ー个或多个数字证书的交換,以至少部分分散的方式来通过P2P系统建立他们自己的通信路由,而无需为那些目的使用服务器。示例性的P2P系统的进一步的细节可以在WO2005/009019中找到。VoIP或其他的基于分组的通信也可以通过使用非P2P系统来实施,这些非P2P系统确实使用例如经由服务器或移动电信网络的集中式呼叫建立和/或鉴别。现代通信系统是基于在跨越基于分组的通信网络(诸如互联网)的端点(诸如用户終端)之间的数字信号的传输。诸如语音这样的模拟信息可以被输入到ー个终端的传送器处的模拟-数字转换器,并被转换为数字信号。数字信号然后被编码并被放入数据分组中以便经由基于分组的网络在信道上传输给另ー个终端的接收器。这样的基于分组的通信系统受制于可能会对两个端点间的呼叫或其他通信事件的质量产生不利影响的因素。由于互联网的发展增进以及用户要求新的应用和更好的性能,数据量的上升产生了一些问题,诸如分组递送时的长延迟、丢失和丢弃的分组、震荡和同步问题。这些麻烦是由拥塞引起的,拥塞在有太多源对于网络太快发送太多数据以致无法处理时发生。从发送端点发送的数据分组在到达接收端点之前典型地经过互联网中的ー个或多个路由器。互联网路由器典型地維持ー组队列,每个接ロ有ー个队列,其保存被调度来从该接口上出去的分组。这些队列通常使用尾部丢弃规则,其中如果该队列短于它的最大尺寸,则使分组进入该队列。当队列被填充到它的最大容量时,新到达的分组被丢弃,直到该队列具有足够的空间来接受进入的通信量为止。尾部丢弃队列具有惩罚(penalize)突发流以及引起流间的全局同步的倾向。尾部丢弃队列以同样的方式对待每个分组。常常是来自多个连接的分组被丢弃,这导致在连接中所有牵涉到的发送者进入“缓慢开始”状态,其中所有的发送者降低它们的数据发送速率达某个时间段。常常是所有的发送者在再一次增加它们的发送速率前使用相同的时间延迟。因此,当这些延迟在相同的时间期满时,所有的发送者开始发送额外的分组,那么路由器队列再一次溢出,导致更多的分组被丢弃。結果, 发送者再一次降低它们的数据发送速率达固定的延迟期。这是带宽的ー种低效率使用,因为可用的带宽经常没有被使用,并且由于大量的丢弃的分组,使得可用的带宽被使用于丢失分组的重传。如果互联网中的路由器运行主动队列管理(AQM)并使用显式拥塞通知(ECN)标记将信息反馈给连接的端点,则网络拥塞控制的性能可以得到改进。AQM是这样一种技术,其包括在分组绑定的队列满之前丢弃该分组或对该分组进行ECN-标记。典型地,这些路由器通过维持ー个或多个概率,且甚至在队列短时概率性地丢弃或标记分组来操作。当使用ECN时,路由器能够在分组的头标中设置标志而不是丢弃分组,以便用信号告知下游接收器拥塞的程度。所述标志包括在头标中的两个比持。接收器将拥塞指示回送给分组的发送者,发送者然后就像检测到分组丢弃一祥做出反应。通过概率性地丢弃分组,AQM规则典型地避免了惩罚突发流。而且,通过在队列满之前向连接的端点(例如,用户终端)提供拥塞指示,AQM规则典型地能够维持比尾部丢弃规则更短的队列长度,这降低了网络等待时间(“ping(查验)时间”)。早期检测并通知即将发生的拥塞有助于避免全局同歩。互联网拥塞控制在源(端点)的传输层中被实行,并具有两个部分端到端协议TCP (传输控制协议)和在路由器中实施的AQM方案。最常见的AQM目标是高效的队列利用(即,最小化队列上溢和下溢的发生,由此减少分组丢失和最大化链路利用)、小的排队延迟(即,最小化数据分组由路由队列进行服务所需要的时间)和鲁棒性(即,尽管条件改变仍維持闭环性能)。已经提出用于AQM方案的不同的算法,诸如RED(随机早期检测)以及它的变体PI、REM、Blue、AVQ等等。RED监视路由器处的平均队列尺寸,并且基于统计概率丢弃(或者当结合ECN使用时标记)分组。如果队列是空的或近乎空的,则接受所有进入的分组。随着队列长度的增长,标记或丢弃进入的分组的概率也随之增加。当缓冲器满时,进入的分组被丢弃。随着被标记的分组的比例増加,在分组的源(即,经过路由器的连接的端点)处的速率控制器反应性地降低分组的发送速率。Mingyu Chen 等人的在 2009 年 4 月的 IEEE/ACM TRANSACTION ON NETWORKING,Voi 17, No: 2 上发表的“Normalized Queueing Delay: Congestion Control JointlyUtilizing Delay and Marking (归ー化的排队延迟连带地利用延迟和标记的拥塞控制)”讨论了延迟和标记(D+M) TCP,其可以在连接的端点处被利用来控制它的数据传输速率。AQM在路由器处实施,在那里可以轻易地监控实际的队列。然而,当前只有一小部分路由器实施AQM和支持ECN。相反,大部分的路由器使用尾部丢弃原则。因此,远远不能保证在携带涉及两个端点间用户的呼叫或其他通信事件的信息的分组的传输中牵涉到的所有路由器将支持AQM和ECN。就这一点而论,携帯针对用户的呼叫或其他通信事件的数据的分组很可能被路由器处的尾部丢弃队列所丢弃,而不是使用ECN标记和使用AQM来向预期的接收器前迸。因此,呼叫或其他通信事件的质量很可能被不利地影响。呼叫或其他通信事件的低质量对于用户来说会是令人失望的,并可能使得他或她寻求可替换的通信方法。本发明的一些实施例的目的是解决这些问题中的ー个或多个。所以,本发明提供了用于实施来试图增强网络拥塞控制的性能的一种或多种系统和方法。
因此,本发明的第一方面提供了一种控制经由路由器通过网络路径从传送器传送到接收器的通信量的方法,所述通信量包括多个分组,以及所述方法包括在所述传送器和接收器中的ー个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在路由器的缓冲器处的最大排队延迟,且基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟;以及基于当前排队延迟和最大排队延迟的所述估计,控制通过所述网络路径的在传送器和接收器之间的通信量。本发明的第二方面提供了一种控制经由路由器通过网络路径在传送器和接收器之间传送的通信量的方法,所述通信量包括多个分组,以及所述方法包括在所述传送器和接收器中的ー个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在路由器的缓冲器处的最大排队延迟,且基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟;以及基于当前排队延迟和最大排队延迟的所述估计,将反馈从所述传送器和接收器中的所述ー个发送到所述传送器和接收器中的另ー个,该反馈用于使得所述传送器和接收器的所述另ー个控制通过网络路径的通信量。本发明的第三个方面提供了一种在经由路由器通过网络路径从传送器传送到接收器的分组中设置指示符的方法,其中所述指示符被设置成提供网络拥塞的指示以使得多个分组从传送器到接收器的传输速率可以被控制,所述方法包括在所述传送器和接收器中的ー个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计路由器的缓冲器处的最大排队延迟,且基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟;以及在所述传送器和接收器中的ー个处,基于当前排队延迟和最大排队延迟的所述估计来在分组中设置指示符。本发明的第四方面提供了 ー种包括代码的计算机程序产品,所述代码被安排成使得当其在处理器上被执行时完成第一到第三方面的任一方面的步骤。本发明的第五方面提供了一种传送器,其包括用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来控制通过所述网络路径的在传送器和接收器之间的通信量的装置。本发明的第六方面提供了一种接收器,其包括用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来控制通过所述网络路径的在传送器和接收器之间的通信量的装置。本发明的第七方面提供了一种传送器,其包括用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来向所述接收器发送反馈的装置,该反馈用于使得所述接收器控制通过网络路径的通信量。本发明的第八方面提供了一种接收器,其包括用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来向所述传送器发送反馈的装置,该反馈用于使得所述传送器控制通过网络路径的通信量。本发明的第九方面提供了一种传送器,其包括用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来在经由该路由器通过网络路径从传送器被传送到接收器的分组中设置指示符的装置,其中该指示符被设置成提供网络拥塞的指示,以使得多个分组从传送器到接收器的传输速率可以被控制。本发明的第十方面提供了一种接收器,其包括用于基于针对通信量从传送器行 进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置;用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计该路由器的缓冲器处的当前排队延迟的装置;以及用于基于当前排队延迟和最大排队延迟的所述估计来在经由该路由器通过网络路径从传送器被传送到接收器的分组中设置指示符的装置,其中该指示符被设置成提供网络拥塞的指示,以使得多个分组从传送器到接收器的传输速率可以被控制。为了更好地理解本发明以及显示本发明可以被如何实现,现在将參考附图来描述本发明的示例性实施例,其中
图I显示了经由通信网络互相连接的连接的两个端点;
图2显示了适合于实施本发明的实施例的用户终端的示意性框图;图3显示了适合于实施本发明的实施例的另ー种用户终端的示意性框图;和 图4显示了用于图示按照本发明的实施例的方法的流程图。如以上所讨论的,当前仅有少数互联网路由器支持AQM和ECN。为了增强网络拥塞控制的性能,在本发明的一些实施例中提出在连接的一个或多个端点上运行AQM的虚拟版本。通过实验已经 发现这种虚拟AQM提供了对在路由器处运行AQM的情形的良好近似。在一些实施例中,在端点上运行的虚拟AQM提供了ー种概率,其被使用以便确定是否对在端点上接收到的分组进行ECN标记和/或是否对要从端点传送的分组进行ECN标记和/或是否在端点上采取其他步骤来控制分组的传输速率。拥塞控制协议(比如,TCP)将能够使用由端点提供的标志来增强网络的总体性能。为了设法控制或减少网络中的拥塞,本发明的一些实施例提供了 ー种用于控制在连接上从连接的第一端点朝向连接的第二端点的分组的传输速率的方法。除了帮助控制或减少拥塞,本发明的一些实施例还将拥塞的指示从第二端点提供到第一端点,并试图減少在连接上被丢弃的分组的数量。现在将描述用于实施本发明的实施例的合适的通信系统和终端的例子。首先參照

图1,图中显示了第一終端100,其经由通信网络300被连接到第二終端200。尽管在本实施例中,第一和第二終端形成经由网络300的连接的端点,但在其他的实施例中,所述端点的一个或两者可以采取另外的形式,例如服务器或其他的节点。終端100和200中的一个或两者可以包括例如个人计算机、游戏设备、个人数字助理(PDA)、适当地使能的移动电话、电视或能够连接到网络300的另外的设备。終端间连接建立的发起可以由终端中的任一个执行。因为连接的建立可以如本领域中所熟知的,所以为了简洁起见,这里不再进一歩描述。网络300包括基于分组的网络。尽管第一終端100和第二終端200被安排来经由网络300相互交换数据,但为了下述讨论的目的,第一終端100将被称为传送終端,而第二终端200将被称为接收终端。在一些实施例中,分组携带在终端100、200间已建立的呼叫或其他通信事件的信息(包括语音、文本、图像或视频中的ー项或多项)。在本发明的一些实施例中,通信网络300包括由互联网提供的VoIP网络。应当意识到,尽管这里所显示和详细描述的示范性实施例使用了 VoIP网络的术语,但本发明的实施例可以被使用在便于数据传递的任何其他合适的通信系统中。在本发明的优选的实施例中,VoIP系统是对等(P2P)通信系统,其中多个终端用户可以经由诸如互联网的通信结构被连接用于通信的目的。图I中图示的終端100、200可以各自与終端用户相关联。所述通信结构相对于其中的通信交换实质上被分散,以便连接終端用户。即,終端用户可以基于用来获得对该结构的访问的授权证书(UIC)的交换而建立他们自己的通过该结构的通信路由。如以上所提及的,这样的通信系统在W02005/009019中被描述。在网络300包括互联网时的情形中,那么每个终端具有在互联网中可使用来定位所述终端的相关联的IP地址。而且,在終端间传达的数据是在互联网协议(IP)分组中输送的。当然应意识到,互联网是由比明确显示的那些单元多得多的单元组成的。这一点在图I中由通信云300示意性地表示,云300可以包括许多服务器和网关、以及互联网服务提供商(ISP)的路由器和互联网主干路由器。此外,当然应意识到,比所示的两个终端100、200多得多的終端可以被连接到网络300。现在将參照图2,其更详细地显示了第一終端100。第一终端100包括接收电路I,用于接收从第二终端200经由网络300传送的数据;以及传送电路2,用于经由网络300向第二終端200传送数据。接收电路I被安排来向诸如扬声器18和显示屏20的各种输出设备输出数据,所述数据是在分组中被接收的,所述分组被包含在从例如第二终端200经由网络300接收的信号中。接收电路I包括抖动缓冲器10,用于缓冲从网络300接收的数据分组;解码器12,用于解码在数据分组中接收的数据;再现器(renderer) 14,用于操控要被输出到显示屏20的视频数据;以及数字-模拟转换器16,用于向模拟输出设备输出模拟数据。终端100的传送电路2被安排来从诸如话筒24和网络摄像机26这样的输入设备接收数据,并以信号的形式经由网络300把数据传送到例如第二終端200。传送电路2包括模拟-数字转换器28,用于将从模拟输入设备输入的模拟数据转换为数字信息;编码器 30,用于将数字信息编码为编码的数据帧;分组化器32,用于将编码的数据帧放入分组中;以及缓冲器34,被安排来在分组被传送进网络300前对它们进行排队。按照本发明的实施例,用户终端100的处理器22被安排来控制传送电路2的组件的操作。例如优选地,编码器30编码数据的比特率由处理器22控制,以便控制数据从缓冲器34被传送到网络300中的速率。在这个实施例中,处理器22包括中央处理单元(CPU)。应指出,在一些实施例中,在終端100的组件间将提供进ー步的连接,比如在处理器22与输入和输出设备的每ー个之间的连接。而且,尽管话筒24、网络摄像机26、扬声器18和显示屏20被显示为集成到第一终端100,但是在其他的实施例中,这些组件的一个或多个可以采用经由有线或无线连接被连接到用户终端100的外围设备的形式。此外,在端点100包括用户终端以外的设备的实施例中,话筒24、网络摄像机26、扬声器18和显示屏20中的一个或多个可以被省去。诸如硬驱动机或闪存的非易失性存储器36、以及诸如随机存取存储器(RAM)的易失性存储器38也被耦合到CPU22。非易失性存储器36存储软件,其至少包括操作系统(OS)和以P2P通信客户机形式的基于分组的通信软件。一经启动或重置終端100,操作系统便被自动装载到RAM38,并且通过在CPU22上被执行而从该RAM运行。一旦运行,操作系统于是便可以通过将诸如P2P通信客户机这样的应用装载进RAM38并在CPU22上执行它们而运行所述应用。现在參照图3,其更详细地显示了第二終端200。在这个实施例中,第二终端200采用与第一终端相似的格式。因此,类似的组件用相同的參考数字指示,只是在图3中把符号“’”后缀添加到參考数字,以帮助区分第二終端200的特征的讨论与第一終端100的特征的讨论。为了简洁,不提供第二終端200的特征的进ー步的详细描述。当然,在端点200包括用户终端以外的设备的实施例中,所图示的话筒24’、网络摄像机26’、扬声器18’和显示屏20’中的一个或多个可以被省去。如果大量的数据在各种终端、路由器和其他节点之间经过网络300,则引发网络拥塞并且终端100、200可能经历分组递送中的长延迟。分组甚至可能在終端100、200间的连接上丢失或丢弃。例如,如以上所讨论的,网络300内的路由器处的尾部丢弃缓冲器可能达到它的最大的被允许尺寸,在这之后路由器处新接收的来自第一終端100的分组被丢弃。这会导致第二終端200接收到不完整的数据,并且由于要向它们的预期接收者重传在途中丢失或丢弃的分组,还会随后导致经过网络300的额外的通信量。为了设法减少网络300中的拥塞,本发明的实施例提供了ー种方法,用于控制从传送终端进入网络300朝向接收终端的分组的传输速率。本发明的一些实施例从接收終端200向传送终端100提供拥塞的指示,使得传送终端可以降低它的分组发送速率,以试图降低在终端100、200间的连接上被丢弃的分组的数量。现在參照图4,其图示了本发明的方法的例子。该示例性的方法包括在第二终端200的处理器22’上确定指示在端点100、200之间的路径上观察到的分组“η”的单向端到
端排队延迟“ \ ”的值,换句话说,指示在从第一終端100行进到第二終端200时分组“η”
在队列中所花费的时间的值。该值将被称作为“ Ι 句”,并且这个步骤是图4中的步骤SI。为了确定该值,从第一終端100发送到第二終端200的分组在传输时被打上时间戳,比如在分组中提供该分组从第一終端100被传送时的时间的指示(IK功)。替换地,该指示可以包括在被附带于分组的辅助信息中。在第二終端200上接收分组的时间(7( )
)被记下。然而,在分组中提供的指示依赖于第一終端100上的第一时钟的值,而记录的接收时间则依赖于第二終端200上的第二时钟的值。由于两个时钟之间缺乏同步(“时钟偏差”),第二終端200没有按照第二时钟的、该分组从第一終端被发送时的时间的指示。这个时钟偏差可以被估计且随着时间推移被消除。在US2008/0232521以及共同待决的美国专利申请No. 12/455908中阐述了用于这样做的合适的方法。与此操作有关的这两个文档的内容通过引用的方式被合并于此。在这些文档中阐述的方法还(从算术CCo) - Tx(S)的結果)筛选出(filter out)分组由于以某ー速度(当采用在光纤上的传播时为光速)经过两个终端100、200间的物理距离所经历的传播延迟。在美国专利申请No. 12/455908中描述的方法的概要如下。原始分组延迟是接收者时钟读数和分组时间戳之间的差值,即
D(n) = Tr{r )-Tx(n)
当然,D(η)并不是实际的传输延迟的精确测量,因为てレ)和れ(句是相对于不同的、非同步的时钟而测量的。D(n)可以由下式描述
D《n) = 了 q_ + Tp(n 卜 Te《n)
其中,Tq{&)是分组排队延迟,Τβ(α)是传播延迟,以及是由于时钟未被同步而造成的测量误差。这里做出假设尽管!:(n)和 ;(句是未知的,但随着时间的推移它们接近于恒定,且我们将它们的和值称为T^(M) ^ + Tc^)。最小跟踪功能观察单向延迟D(n)以生成对于时钟和传播偏差2%(句的估计的补偿。在一个实施例中,最小跟踪功能被实施为卡尔曼(Kalman)滤波器,其将建模为ー阶模型以抓住任何的时钟漂移。最小跟踪是通过针对更高的D(η)值而在卡尔曼滤波器中利用更高的观察噪声来获得的。从D (η)减去估计的偏差 ^(句以获得Τ;( 3)的估计。因此,通过使用(Xx(Ji))的指示和记录的接收时间(XW))以及在共同待决的美国专利申请No. 12/455908或US2008/0232521中阐述的方法,时钟失配和传播延迟都可以随着时间推移被估计和被筛选出,以便获得单向排队延迟(句”的估计。在替换的实施例
中,可以使用替换的方法来获得“?;(句”的估计。在优选的实施例中,针对在第二終端200上接收的每个分组(B卩“n”、“n+l”、“n+2”等等)估计单向排队延迟。在替换的实施例中,可以只针对在第二终端200上接收的每隔ー个或者每隔两个分组来估计该延迟。所以,该估计可以每隔X-I个接收的分组被实行,其中X是整数。在替换的实施例中,该估计可以每Y秒被实行一次,例如其中Y=l。优选地,終端200的处理器22’计算“7;( ) ”。然而,在替换的实施例中,该计算可以在别处(比如,在終端200的不同的处理器上,或在不同于终端200但连接到終端200的 实体上)执行,于是用户终端200的处理器22’可以接收为“?;(句”计算的值。该方法还包括在终端200的处理器22’上估计指示在端点100、200之间的网络路径上的最大端到端排队延迟”的值,换句换说,指示当分组从第一終端100行进到第
ニ终端200时在队列中可能花费的最大时间的值(图4中的步骤S2)。因此,可提供在位于第一終端100和第二終端200之间的网络路径上的路由器的缓冲器处的最大可能队列长度的估计。这个最大的端到端排队延迟的估计”通过使用指示针对某些分组的单向的端到端排队延迟“T/’的值而被周期性地更新,正如下面将更详细地描述的。为了估计“句”(即,在第二終端200上接收到分组“η”后的“ f ”),首先
所确定的“ J; ”被与最大端到端排队延迟的先前估计”(它是在接收到分组
“n-1”后被估计的)进行比较。(注意,当没有“先前的”估计时被使用的最大端到端排队延迟的初始估计优选地是缺省值,比如250ms)。如果针对分组“η”指示的端到端排队延迟“Γ,(υ) ”的值大于或等于指示最大端到端排队延迟的先前估计い-I) ”的值,则相对小的加权“(% )”(比如O. 9)被应用到代表最大端到端排队延迟的先前估计”的值。另ー方面,如果指示端到端排队延迟“ Τ9{η) ”的值小于指示最大端到端排队延迟的先前估计“I) ”的值,则相对大
的加权“(叫)”(比如O. 99)被应用到代表最大端到端排队延迟的先前估计“り”的值。一旦加权因子“(〖ち)”在这个比较的基础上被确定,则第二加权因子“(I- Iち)”被应用到代表端到端排队延迟“?;(句”的值。可以看出,在这个实施例中,第二加权因子等于加权因子“ σち)”和“ I ”之间的差值。照这样,观察到的端到端排队延迟“ぺ㈤”的大值比观察到的端到端排队延迟
“Τ ”的小值被更高地加权。因此,如果针对特定分组的观察到的端到端排队延迟大于或
等于最大端到端排队延迟的先前估计,则针对该分组的观察到的端到端排队延迟与针对该分组的观察到的端到端排队延迟小于最大端到端排队延迟的先前估计的情况相比,对最大端到端排队延迟的修正估计有更大的影响。在接收到分组(η)后,在終端100和終端200之间的最大端到端排队延迟的修正估计于是可以通过使用以下的筛选获得
权利要求
1.一种用于控制经由路由器通过网络路径从传送器传送到接收器的通信量的方法,所述通信量包括多个分组,以及所述方法包括 在所述传送器和接收器中的ー个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在所述路由器的缓冲器处的最大排队延迟,且基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在所述路由器的缓冲器处的当前排队延迟;和 基于当前排队延迟和最大排队延迟的所述估计,控制通过所述网络路径的在传送器和接收器之间的通信量。
2.权利要求I的方法,包括基于当前排队延迟的估计和最大排队延迟的估计来确定拥塞的量度,其中所述控制是基于所述拥塞的量度的。
3.权利要求I或权利要求2的方法,其中所述控制包括控制通过所述网络路径的从传 送器到接收器的通信量的传输速率。
4.权利要求2或权利要求3的方法,其中所述拥塞的量度涉及缓冲器接近溢出的程度。
5.权利要求2到4的任ー项的方法,其中所述拥塞的量度包括队列超出最大排队延迟的预定比例的概率的量度。
6.任一前述权利要求的方法,其中当前排队延迟的估计是基于针对分组从传送器行进到接收器的平均的观察到的延迟。
7.任一前述权利要求的方法,其中所述最大的观察到的延迟和所述观察到的延迟在接收器处被观察并被反馈给传送器,当前排队延迟和最大排队延迟的所述估计是在传送器处基于从接收器反馈的延迟而被估计的。
8.权利要求7的方法,包括依赖于拥塞的量度,在从传送器传送到接收器的分组中提供拥塞的指示。
9.权利要求I到6的任ー项的方法,其中当前排队延迟和最大排队延迟的估计是在接收器处被估计的。
10.权利要求2和9的方法,其中所述拥塞的量度是在接收器处被确定的。
11.权利要求10的方法,其中所述拥塞的量度是在接收器处被确定的,并被反馈给传送器。
12.权利要求10的方法,包括依赖于拥塞的量度,在从接收器反馈到传送器的分组中提供抑塞的指不。
13.权利要求10的方法,包括在接收器处,依赖于拥塞的量度,在接收器处接收到的分组中提供拥塞的指示。
14.权利要求8、12或13的方法,其中所述拥塞的指示包括显式拥塞通知标志。
15.权利要求8、12、13或14的方法,其中所述拥塞的指示是在确定所述路由器不能在通过所述网络路径传送的通信量中提供该网络路径上的拥塞指示的基础上提供的。
16.权利要求13或权利要求14的方法,其中如果确定所述路由器能够在通过所述网络路径传送的通信量中提供该网络路径上的拥塞的指示,并且没有这样的拥塞指示被包括到在接收器处接收的分组中,则在所述分组中提供所述拥塞的指示。
17.权利要求13的方法,包括依赖于在接收器处检测到在接收器处接收的分组中的拥塞指示,将指令从接收器发送到传送器,该指令指示在通过网络路径向接收器发送通信量时要由所述传送器采用的通信量的传输速率。
18.权利要求9的方法,包括依赖于当前排队延迟和最大排队延迟的估计,将在通过网络路径向接收器发送通信量时要由所述传送器采用的通信量的传输速率的指示从接收器发送到传送器。
19.权利要求I到6的任一项的方法,包括依赖于当前排队延迟和最大排队延迟的估计,确定在通过网络路径向接收器发送通信量时要由所述传送器采用的通信量的传输速率;其中所述控制是基于所确定的传输速率。
20.权利要求19的方法,其中所述传输速率是在接收器处确定的,并被反馈给传送器。
21.权利要求19的方法,其中所述最大的观察到的延迟和所述观察到的延迟被接收器处观察并被反馈给传送器,当前排队延迟和最大排队延迟的所述估计是在传送器处基于从接收器反馈的所述最大的观察到的延迟和所述观察到的延迟来估计的,并且所述传输速率·是在传送器处被确定的。
22.一种用于控制经由路由器通过网络路径在传送器和接收器之间传送的通信量的方法,所述通信量包括多个分组,以及所述方法包括 在所述传送器和接收器中的一个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在所述路由器的缓冲器处的最大排队延迟,且基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在所述路由器的缓冲器处的当前排队延迟;和 基于当前排队延迟和最大排队延迟的所述估计,将反馈从所述传送器和接收器中的所述一个发送到所述传送器和接收器中的另一个,该反馈用于使得所述传送器和接收器的所述另一个控制通过所述网络路径的通信量。
23.权利要求22的方法,其中当前排队延迟的估计是基于针对分组从传送器行进到接收器的平均的观察到的延迟。
24.权利要求22或权利要求23的方法,包括在所述传送器和接收器中的所述一个处,在所述传送器和接收器中的所述一个处接收的分组中提供拥塞指示,其中所述反馈依赖于在所接收的分组中检测到拥塞指示而被发送。
25.权利要求22到24的任一项的方法,其中所述反馈包括其中包含显式拥塞通知标志的分组。
26.权利要求22到24的任一项的方法,其中所述反馈包括在通过网络路径发送通信量时要由所述传送器和接收器中的另一个采用的通信量的传输速率的指示。
27.权利要求22的方法,包括基于当前排队延迟的估计和最大排队延迟的估计来确定拥塞的量度。
28.权利要求27的方法,包括依赖于所述拥塞的量度来发送所述反馈。
29.权利要求27或28的方法,其中所述拥塞的量度涉及缓冲器接近溢出的程度。
30.权利要求27到29的任一项的方法,其中所述拥塞的量度包括队列超出最大排队延迟的预定比例的概率的量度。
31.权利要求27到30的任一项的方法,其中所述反馈包括所述拥塞的量度的指示。
32.—种在经由路由器通过网络路径从传送器传送到接收器的分组中设置指示符的方法,其中所述指示符被设置成提供网络拥塞的指示,以使得多个分组从传送器到接收器的传输速率可以被控制,所述方法包括 在所述传送器和接收器中的一个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在所述路由器的缓冲器处的最大排队延迟,且基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在所述路由器的缓冲器处的当前排队延迟;和 在所述传送器和接收器中的一个处,基于当前排队延迟和最大排队延迟的所述估计来在该分组中设置指示符。
33.权利要求24或32的方法,其中所述拥塞的指示包括显式拥塞通知标志。
34.权利要求24、32或33的方法,其中所述拥塞的指示是在确定所述路由器不能在通过所述网络路径传送的通信量中提供该网络路径上的拥塞指示的基础上提供的。
35.权利要求24、32或33的方法,其中如果确定所述路由器能够在通过所述网络路径传送的通信量中提供该网络路径上的拥塞的指示,并且没有这样的拥塞指示被包括到在所述传送器和接收器中的所述一个处接收的分组中,则在所述分组中提供所述拥塞的指示。
36.任一前述权利要求的方法,其中所述传送器和接收器中的一个或两者包括用户终端。
37.任一前述权利要求的方法,其中所述网络路径包括通过互联网的路径,以及 其中所述接收器是包括处理器的设备,所述处理器被配置来执行互联网协议上的话音客户机和互联网协议上的视频客户机中的一个或两者,并且所述设备被配置来参与经由所述网络路径的与传送器的呼叫。
38.一种包括代码的计算机程序产品,所述代码被安排使得当其在处理器上被执行时完成权利要求I到37的任一项的步骤。
39.一种传送器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来控制通过所述网络路径的在传送器和接收器之间的通信量的装置。
40.一种接收器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来控制通过所述网络路径的在传送器和接收器之间的通信量的装置。
41.一种传送器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来向所述接收器发送反馈的装置,该反馈用于使得所述接收器控制通过所述网络路径的通信量。
42.一种接收器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来向所述传送器发送反馈的装置,该反馈用于使得所述传送器控制通过所述网络路径的通信量。
43.一种传送器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来在经由路由器通过网络路径从传送器传送到接收器的分组中设置指示符的装置,其中所述指示符被设置成提供网络拥塞的指示,以使得多个分组从传送器到接收器的传输速率可以被控制。
44.一种接收器,包括 用于基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在传送器和接收器之间的网络路径上路由器的缓冲器处的最大排队延迟的装置; 用于基于针对ー个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在该路由器的缓冲器处的当前排队延迟的装置;和 用于基于当前排队延迟和最大排队延迟的所述估计来在经由路由器通过网络路径从传送器传送到接收器的分组中设置指示符的装置,其中所述指示符被设置成提供网络拥塞的指示,以使得多个分组从传送器到接收器的传输速率可以被控制。
全文摘要
提供了一种用于控制经由路由器通过网络路径从传送器传送到接收器的通信量的方法,所述通信量包括多个分组,以及所述方法包括在所述传送器和接收器中的一个处,基于针对通信量从传送器行进到接收器的最大的观察到的延迟来估计在所述路由器的缓冲器处的最大排队延迟,且基于针对一个或多个指定分组从传送器行进到接收器的观察到的延迟来估计在所述路由器的缓冲器处的当前排队延迟;和基于当前排队延迟和最大排队延迟的所述估计,控制通过所述网络路径的在传送器和接收器之间的通信量。
文档编号H04L12/801GK102859950SQ201180011092
公开日2013年1月2日 申请日期2011年2月25日 优先权日2010年2月25日
发明者M.陈, C.罗布罗, S.V.安德森 申请人:斯凯普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1