专利名称:用于因特网中瓶颈带宽的加强实时估计的方法和装置的制作方法
技术领域:
本发明涉及因特网领域。更尤其地,本发明涉及用于实时估计因特网系统的瓶颈带宽的方法合系统。
背景技术:
因特网已经逐渐形成了一个许多不同网络的非常多样的连接并由多种带宽的链路组成。因此,因特网端到端的网络参数已经变得更加难于确定。另外,大部分数据应用不能预测它们自己的业务参数。因此,因特网系统通常需要一种动态估计并适合端到端因特网路径的瓶颈带宽的服务。瓶颈带宽代表端到端路径的最慢链路的速度。
图1描述了通常称为基于接收方分组对(RBPP)而公知的传统估计机制。为了简单清楚的目的,分组的纵向尺寸代表链接速度,水平尺寸表示传输时间。在传统的RBPP方法中,发送方发送给接收方两个大小分别为s1和s2的背对背分组(它们被称为分组对)。由于这些分组经过一条端到端的路径,它们被瓶颈链路展开。到达的分组之间的间隔典型地增大,因为瓶颈链路比之前的链路慢。因此,在慢的瓶颈链路上发送每一个分组花费了更长的时间。在其余的路径中,如果没有遇到更慢的瓶颈链路,分组之间新的间隔ΔT被保持下来。
如图1中所示,一旦接收彼此隔开的分组,接收方计算瓶颈带宽的值BB,它根据常规的方法用s2/ΔT来计算。之后,接收方用计算的估计值BB产生一个专门的分组或应答分组(ACK),并把它发送回发送方。然后发送方会基于瓶颈带宽的估计值BB调整发送速率。
另一种现有技术普遍使用的方法是一种分组束模式(PBM)技术,它基本上是从上述的RBPP方法演化而来的。PBM旨在在离线模式期间测量瓶颈带宽。另外,PBM在给定的通话期间将一系列的过滤和估计技术应用于所有收集的抽样,因此要求在估计时准备好一组完整的带宽抽样。
上面两种现有技术估计瓶颈带宽的方法有很多缺陷。首先,这两种技术对分组压缩事件——一种当分组比它们初始发送时更接近彼此地到达时出现的一种现象高度敏感。这样,如果在现有的因特网中实时采用这两种方法会产生瓶颈带宽的不准确估计。另外,由于第二种方法被建议用于离线操作,而且要求在估计时准备好一组完整的带宽抽样,因此这种方法的实时应用是不可行的。此外,这两种方法没有提出在时序安排和交换操作期间由客户机的OS内核产生的延时变化。因此,被检测的分组内间隔ΔT可能在分组被送到目的节点之前被OS操作较大地偏移,这样造成瓶颈带宽BB的不准确估计。更进一步,这两种方法要求在每一个分组中放置发送时间标记,因而增加了开支。另外,RBPP发送专门的试探分组来测量带宽并产生过多的带宽开支。
因此,在实时应用中需要一种改进的方法和系统精确测量瓶颈带宽。
发明内容
在优选实施例中,本发明涉及估计服务器和客户端之间端到端因特网路径的实时瓶颈带宽。因此,提供一种可以估计瓶颈带宽的方法,包括步骤由服务器通过瓶颈链路发送多个由分组组成的突发脉冲串给客户端;为由客户端接收到的每一个突发脉冲串计算一组带宽抽样;和根据计算的带宽抽样确定一个新的瓶颈带宽用于接下来的服务器和客户端之间的数据分组传输。
本发明涉及一种用于估计瓶颈带宽的装置,包括用于发送多个分组突发脉冲串的装置;用于接收经过瓶颈链路的每个分组脉冲串的装置;用于基于每个突发脉冲串的第一和最后一个分组之间的分组内间隔之间的差值产生一组带宽抽样的装置;和用于基于产生的带宽抽样确定一个新的瓶颈带宽的装置。
图1说明一种传统的带宽估计结构;图2是根据本发明的带宽估计系统的示范性结构的示意图;图3说明依照本发明的服务器端的用户数据报协议(UDP)分组的格式;图4(a)是说明根据本发明的瓶颈带宽估计器的操作流程图;图4(b)是说明根据本发明的估计瓶颈带宽估计器的更详细的流程图;图5说明根据本发明估计突发脉冲串的分组带宽的一个特殊机理;和图6说明根据本发明的处理分组压缩事件的一个特殊机理。
具体实施例方式
在下面的描述中,为了解释而不是限制,阐述具体细节如特殊的结构,接口,技术等以提供对本发明的透彻理解。然而,本发明可以以其他与这些具体细节不同的实施例实施对于本领域熟悉的人员来说是显而易见的。此外,为了清楚起见,公知装置,电路和方法的详细描述就省略了,以免由于不必要的细节使本发明的描述不清楚。
参考图2,根据本发明的示范性实施例的用于在因特网上流通多媒体数据的服务器-客户结构10包括一个第一系统12,如服务器装置,一个第二系统14,如客户装置。服务器和客户端经过因特网16的接入链路18,20彼此相互通信。本发明的实施例旨在以一个快速和可靠的方式为接下来的数据分组传输估计代表端到端路径的最慢链路的速度的瓶颈带宽。服务器系统12包括一个中央处理单元22,一个通用存储器24和一个操作系统26。客户端系统14其中也包括一个中央处理单元28,一个通用存储器30和一个操作系统32。
根据本发明的示范性实施例,系统10提供了服务器系统12使用视频业务(如,突发脉冲串分组)来估计瓶颈带宽而不是象现有技术中发送专门的分组对来测量瓶颈带宽。根据本发明的每个突发脉冲串分组的UDP格式在图3中示出了。在实时应用中每一个分组携带一个突发脉冲串标记,它允许接收方从不同的突发脉冲串中识别分组。为了简单,本发明的带宽测量将在下文中涉及到扩展的基于接收方的分组对(ERBPP)。
现在,根据本发明的示范性实施例的执行实时瓶颈带宽估计的详细描述将结合图4(a)和图4(b)在下面解释。
参考图4(a),本发明的带宽估计过程由三个步骤组成-测量步骤100,过滤步骤120,和估计步骤140。过滤步骤120是一个可选的操作,执行它是为了进一步提高在测量步骤100中产生的带宽抽样的精确度。最初,服务器系统12经过瓶颈链路路径发送由分组组成的多个突发脉冲串给客户端系统14。在步骤100,在一个预定时期内客户端系统14接收的每个突发脉冲串的带宽在一组抽样BM(t,Δ)中被测量和收集。然后,在步骤120,根据在传送分组给应用层过程中由与OS有关的时序延时引起的可疑压缩或扩展确定的收集抽样被从抽样组移除。此外,过滤步骤120并不要求,仅仅在如果在网络主要环境下能得到更精确的估计时才执行。在步骤140,最新和最精确的瓶颈带宽估计的唯一估计bEST(t,Δ)根据预先确定的标准被确定。这三个主要操作的原理将在下面更详细地描述。
参考图4(b),根据本发明的示范性实施例,服务器系统12在步骤200发送突发脉冲串中包含实际实时数据的数据分组。这里,服务器系统12必须发送给客户端系统14的分组以邻近链路的最大传输速度被传输以保证在瓶颈链路处沿端到端因特网路径传输的分组被排成队列并被延时。也就是,每个突发脉冲串的分组必须以确定的高于瓶颈链路速度的速率离开服务器系统12,以使每个突发脉冲串中的分组在到达客户端系统14之前被扩展,如图5所示。需要说明图5中虽然服务器系统12使用不同大小的分组,但是服务器系统12在本发明的实施例中可以发送等同大小的分组。
然后,在步骤210,这些分组通过因特网并到达客户端系统14。一旦接收多个分组突发脉冲串,在步骤220,客户端系统14为其中接收的每个分组突发脉冲串计算相应的瓶颈带宽Bi。在这个时候,如果在客户端系统14中接收的任一个突发脉冲串中有分组丢失,在步骤230中基于有丢失分组的突发脉冲串的带宽抽样将不包括在这组带宽抽样BM(t,Δ)中。为了达到这个目的,如图3所示,客户端系统14分析突发脉冲串各自的头信息来识别在给定突发脉冲串内任何的丢失分组。另外,在客户端接收一个重发分组期间的分组突发脉冲串也被丢弃。如果在分组突发脉冲串中没有丢失分组,在突发脉冲串中间也没有重发,在步骤230带宽抽样Bi按如下被测量。
一旦接收从服务器系统12始发的突发脉冲串分组,客户端系统14测量基于分组对原理的相应带宽,并维护在组BM(t,Δ)中收集的抽样的数据库,其中t代表当前时间,Δ代表抽样的“使用寿命”。也就是,客户端系统14用每个突发脉冲串内第一个和最后一个分组之间的分组内间隔来计算瓶颈带宽的抽样。参考图5,如果第i个突发脉冲串由ni个分组组成,该突发脉冲串的第k个分组在时间ti(k)收到,它包括si(k)个字节,客户端系统14根据下面的等式为每个突发脉冲串计算部分带宽抽样bi(k)bi(k)=1δ(k)Σj=2ksi(j),]]>这里2≤k≤ni并且δ(k)=ti(k)-ti(l),这里每个抽样bi(k)代表使用突发脉冲串i的前k(k≥2)个分组的带宽估计。这里,当计算突发脉冲串持续时间[ti(k)-ti(l)]不包括在瓶颈链路上的突发脉冲串中第一个分组的传输时间时,在计算带宽中求和从第二个分组(j=2)开始。更好的,分组数ni在每个突发脉冲串中设置为至少3个分组;然而,这个数字并不要求。在ERBPP方法中,基于突发脉冲串i的带宽Bi的每个抽样等于最后部分的抽样Bi=bi(ni)。在多信道链路环境中(下文中称为ERBPP+方法),抽样Bi被选择作为部分抽样bi(k)的最小值,对于所有的kBi=kmin(bi(ki)。更进一步,ERBPP方法认为只有带有至少m个分组的突发脉冲串才能被称为ERBPPm。m的建议值至少为3。类似地,分析至少m个分组的ERBPP+方法被称为ERBPPm+。对于ERBPPm+建议同样的值m=3。一旦抽样Bi在时间t用ERBPPm或ERBPPm+计算,它将被加到收集的抽样组BM(t,Δ)中并保留在那里长达Δ时间单位。
因此,客户端系统14只需要在不同的突发脉冲串中的分组之间区分,而不是象现有的技术中需要每个分组确切的传输时间。因而,在每个分组头中要求的唯一字段是一个比特(0或1)突发脉冲串标志和一个分组序列号。另外,本发明的方法没有与现有技术中发送单独的分组对的联系在一起的带宽开支,因为在分组突发脉冲串格式的实际视频数据被用于计算带宽。需要说明,在分组突发脉冲串中的分组数可以根据流速率和期望的突发多于两个。另外,因为许多流过的多媒体分组大小不连续,每个脉冲串(如,分组突发脉冲串)分组数可变。
接下来,操作器自行执行步骤240。过滤步骤可以由客户端系统14可选择地执行以提高在选择新的带宽抽样的估计之前产生的抽样BM(t,Δ)的精确度。为了简单,经过过滤过程后得到的新的带宽抽样在下文中将被称为Bl(t,Δ)。根据本发明的示范性实施例,有两种类型的过滤方法被用于提高瓶颈带宽估计的精确度。以前的方法通过维持抽样的使用寿命到一个预定的时间期限来对产生的抽样BM(t,Δ)过滤。这样,在步骤242中,任何产生的超过门限抽样使用寿命的带宽抽样将被从BM(t,Δ)中去除。在这个优选实施例中,建议值Δ的范围在30到300秒之间。
另一方面,后一种方法涉及减少由客户端系统14的OS内核内在传送分组给应用层中随机和确定性的延时(如,处理是序延时,又在数据链路层中的低分辨率时钟引起的延时)产生的错误数量。图6说明这种不希望的的延时,即分组压缩和分组扩展,它会改变分组间的间隔。这里,分组压缩涉及到达客户端系统14时,间隔小于由瓶颈链路引入的分组内延时的一个突发脉冲串中的分组。这种压缩会发生在,例如,如果配对中的第一个分组在通过瓶颈路由器后在某个高速接口遇到很大的队列延时,而第二个分组由于在同样的接口没有遇到或遇到很小的队列延时而赶上第一个分组。如图6所示,突发脉冲串i(中间的突发脉冲串)的第一个分组被客户系统14的OS延时,直到同一个突发脉冲串的第二个分组被内核接收。然后,两个分组被排序并被送到应用层。在这种情况中,应用层错误地识别突发脉冲串i的开始,并在它的ERBPPm带宽的计算中使用较小的突发脉冲串长度Δti(代替ΔTi)。分组扩展涉及到达客户端系统14时的多个分组,其间隔大于理论上由瓶颈链路引入的间隔。这种扩展会发生在通过瓶颈路由器之前或之后。因此,客户端系统14会基于扩展的分组对而不是瓶颈链路速率而错误测量带宽。
为了消除由压缩或扩展事件引起的不准确估计,本发明的示范性实施例在步骤224提供了一种过滤方法来消除来自压缩和/或扩展引起的收集抽样BM(t,Δ)的不准确估计。过滤操作的原理是基于比较观察的突发脉冲串持续时间的值Dbi和Dbi-1,和每个接收到的突发脉冲串i的理论值Db。也就是,遇到与OS有关延时的不准确带宽抽样基于在遇到OS延时之前的理论突发脉冲串持续时间与遇到OS延时之后实际的突发脉冲串持续时间之间的数值差值来确定。参考图6,每个突发脉冲串有一个固定的Db时间单位的持续时间(例如,每Db个时间单位产生一个突发脉冲串)。如果没有很大的压缩发生在传输期间,在图6的上端和下端图表之间的突发脉冲串各自的长度将一致。这样,当他们不一致或如果突发脉冲串持续时间Dbi(实际突发脉冲串持续时间)偏离Db(理论突发脉冲串持续时间)多于α个百分点,意味着有压缩/扩展事件。换句话陈述,如果|1-Dbi/Db|≤α和|1-Dbi-1/Db|≤α,那么相应的带宽抽样将被保存在组BM(t,Δ)内,否则在步骤244中去除。α的建议值,例如,范围在5%和40%之间。为了简单,带有α百分比过滤的ERBPPm方法在下文中称为ERBPPm-α。
最后,在步骤260,根据本发明的客户端系统14通过确定代表在时间t的瓶颈链路的当前值的唯一估计bEST(t),从被过滤的这组抽样Bl(t,Δ)(需要说明,如果过滤步骤240没有执行,组Bl(t,Δ)等于组BM(t,Δ))中确定一个新的实时带宽。这里,bEST(t)的估计分为两种方法,组Bl(t,Δ)的中值方法或统计方法。中值模式应用于步骤264中的低速链路(低于128Kbps),统计模式应用于步骤262中的高速链路(高于128Kbps)。一个组的统计模式是当该组的概率分布函数(PDF)f(x)达到最大值时的x值。实际上,PDF并不因有限组而众所周知,通常用组的直方图来代替。通过把包含在一组中的该组值划分为等同大小的块并计算掉进每个块的该组中的抽样的百分比来计算这组直方图。有最高百分比的中间块被选择作为该组的模式。对于本发明,块大小的建议值在1Kbps和5Kbps之间。因此,通过使用中值或组Bl(t,Δ)模式,估计bEST(t)可以在任何要求的时间被t用于拥挤控制或其他目的。更进一步,如果在服务器系统12和客户端系统14之间配置(或认为由客户配置)多信道链路,客户端将使用ERBPPm+方法而不用ERBPPm方法(需要说明,如果过滤步骤240没有执行,组Bl(t,Δ)等于组BM(t,Δ))。
总之,本发明提供一种新的带宽估计机制,它可以在现有的带宽估计运算原理上得到很大的性能改进。已经描述了用于在数字通信链路上估计瓶颈带宽的优选实施例,对于本领域熟悉的人员来说,该系统取得某些优点是显而易见的。前面的描述仅作为本发明的说明性实施例。因此,不脱离本发明的最基本的原则或范围,本领域熟悉的人员能很容易想到具有类似于本实施例的功能的可替换的装置。
权利要求
1.一种被用于支持在通信系统中服务器和客户端之间的瓶颈带宽估计的估计瓶颈带宽的方法,该方法包括步骤(a)从所述服务器经过所述系统的瓶颈链路发送多个由分组组成的突发脉冲串到所述客户端;(b)计算一组来自所述客户端接收的每个突发脉冲串的带宽抽样;(c)从所述计算的带宽抽样中确定一个最好的瓶颈带宽,用于接下来的从所述服务器到所述客户端的数据分组传输。
2.根据权利要求1的方法,进一步包括,通过丢弃抽样使用寿命高于门限带宽使用寿命的带宽抽样,从所述计算的带宽抽样过滤不准确的带宽抽样的步骤。
3.根据权利要求1的方法,进一步包括步骤,通过丢弃遇到所述客户端系统的操作系统(OS)延时的带宽抽样,从所述计算的带宽抽样过滤不准确的带宽抽样的步骤。
4.根据权利要求3的方法,其中基于遇到OS延时之前的理论突发脉冲串持续时间与遇到OS延时之后实际的突发脉冲串持续时间之间的数值差值来确定遇到所述OS延时的带宽抽样。
5.根据权利要求1的方法,进一步包括通过丢弃由重发分组的带宽抽样,从所述计算的带宽抽样过滤不准确的带宽抽样的步骤。
6.根据权利要求1的方法,其中多个所述分组突发脉冲串以最大速度被所述服务器发送以致于在每一个所述突发脉冲串中引入了分组内延时。
7.根据权利要求1的方法,其中对于低速链路,所述新的带宽相应于所述计算的带宽抽样的中值。
8.根据权利要求1的方法,其中对于高速链路,所述新的带宽相应于所述计算的带宽抽样的统计模式。
9.根据权利要求1的方法,其中如果在所述服务器与所述客户端之间配置多信道链路,所述新的带宽相应与所述计算的带宽抽样的最小带宽。
10.根据权利要求1的方法,进一步包括去除在每个所述突发脉冲串内有丢失分组的带宽抽样的步骤。
11.根据权利要求1的方法,其中所述对于每个所述突发脉冲串的带宽抽样根据每个所述突发脉冲串的第一和最后一个分组之间的分组内间隔之间的差值来计算。
12.一种被用于支持在服务器和客户端之间拥挤控制的估计瓶颈带宽的方法,该方法包括步骤(a)由所述服务器以最大速率通过瓶颈链路发送多个由分组组成的突发脉冲串到所述客户端;(b)由所述客户端为每个突发脉冲串分组计算一组带宽抽样,所述瓶颈带宽是每个所述突发脉冲串内第一和最后一个分组之间的分组内间隔之间的差值;(c)根据预定的标准过滤所述计算的带宽抽样;和(d)为接下来的从所述服务器到所述客户端的数据分组传输确定一个新的瓶颈带宽,其中所述新的瓶颈带宽的确定是基于所述计算的带宽抽样和所述过滤步骤。
13.根据权利要求12的方法,其中计算所述带宽抽样的步骤包括步骤确定在每个所述脉冲串内的第一和最后一个分组的接收起始和终止时间;为每个所述突发脉冲串确定第二和最后一个分组的分组大小;和基于第二个和最后一个分组的分组大小的差值计算所述带宽抽样,所述带宽抽样除以每个所述突发脉冲串内第一和最后一个分组之间的分组内间隔持续时间之间的一个差值。
14.根据权利要求12的方法,其中多个所述分组突发脉冲串以最大速率被所述服务器发送,以致于在每一个所述突发脉冲串中引入了分组内延时。
15.根据权利要求12的方法,其中过滤所述计算的带宽抽样的步骤包括丢弃具有抽样使用寿命高于门限带宽使用寿命的带宽抽样的步骤。
16.根据权利要求12的方法,其中过滤所述计算的带宽抽样的步骤包括丢弃遇到所述客户端系统的操作系统(OS)延时的带宽抽样的步骤。
17.根据权利要求16的方法,其中基于遇到所述OS延时之前的理论突发脉冲串持续时间与遇到所述OS延时之后实际的突发脉冲串持续时间之间的数值差值来确定遇到所述OS延时的带宽抽样。
18.根据权利要求12的方法,其中过滤所述计算的带宽抽样的步骤包括丢弃有重发分组的带宽抽样的步骤。
19.根据权利要求12的方法,其中对于低速链路,所述新的带宽相应于所述计算的带宽抽样的中值。
20.根据权利要求12的方法,其中对于高速链路,所述新的带宽相应于所述计算的带宽抽样的统计模式。
21.根据权利要求12的方法,其中如果在所述服务器与所述客户端之间配置多信道链路,所述新的带宽相应于所述计算的带宽抽样的最小带宽。
22.根据权利要求12的方法,进一步包括去除在每一个所述突发脉冲串内有丢失分组的带宽抽样的步骤。
23.一种被用于支持在服务器和客户端之间拥挤控制的估计瓶颈带宽的装置,该装置包括用于发送由分组组成的多个突发脉冲串的装置;用于经过一个瓶颈链路接收所述突发脉冲串分组的装置;用于根据每个所述突发脉冲串内第一和最后一个分组之间的分组内间隔间的差值产生一组带宽抽样的装置;和,用于从所述产生的带宽抽样中为接下来的从所述服务器到所述客户端的数据分组传输确定一个新的瓶颈带宽的装置。
24.根据权利要求23的装置,进一步包括通过去除一个抽样使用寿命高于门限带宽使用寿命的所述产生的带宽抽样过滤所述产生的带宽抽样的装置。
25.根据权利要求23的装置,进一步包括通过去除一个遇到所述客户端系统的操作系统(OS)延时的所述产生的带宽抽样过滤所述产生的带宽抽样的装置。
26.根据权利要求23的装置,进一步包括通过去除一个有重发分组的所述产生的带宽抽样过滤所述产生的带宽抽样的装置。
全文摘要
提供一种用于估计通信网上的瓶颈带宽的方法和装置。该方法包括以下步骤由服务器通过瓶颈链路发送由分组组成的多个突发脉冲串给客户端;计算由客户端接收的每个突发脉冲串的一组带宽抽样;从计算的带宽抽样中为服务器和客户端之间接下来的数据分组传输确定一个新的瓶颈带宽。用于估算瓶颈带宽的装置包括用于传输由分组组成的多个突发脉冲串的装置;用于接收经过瓶颈链路的每个突发脉冲分组的装置;用于根据每个突发脉冲串内第一个和最后一个分组之间的分组内间隔之间的差值产生带宽抽样的装置;和,用于从产生的带宽抽样中确定当前瓶颈带宽的装置。
文档编号H04L12/26GK1488214SQ02801279
公开日2004年4月7日 申请日期2002年4月18日 优先权日2001年4月19日
发明者H·拉哈, H 拉哈, D·罗圭诺夫, 缗捣 申请人:皇家菲利浦电子有限公司