一种端到端排队时延测量方法

文档序号:7645057阅读:276来源:国知局
专利名称:一种端到端排队时延测量方法
技术领域
本发明属于网络测量技术领域,特别是涉及一种端到端排队时延的非同步测量方法。
背景技术
随着越来越多新型互联网应用的涌现,网络性能的有效测量和准确估计已经成为网络设计和网络管理的关键。特别地,在多媒体实时应用中,报文的传输必须满足严格的网络时延要求,时延是各类网络性能指标中最重要的一项参数。同时,时延还可以为可用带宽、报文丢失率等其它特性参数的测量估计提供非常有用的参考信息。因此时延估计一直是网络测量研究领域的热点。
测量往返路径时间(Round-Trip Time)是最简单的一种时延估计方法,如常用的Ping命令。RTT测量时,探测分组离开和到达测量端的时间都由同一个时钟进行记录,所以由这两个时间戳之差就可以直接计算探测分组在往返路径上经历的时间。虽然往返路径时延的测量方法简单有效,但在实际应用中,网络性能的表现却绝大多数依赖于端到端的单方向时延。例如在流媒体网络应用中,流媒体内容的报文分组都只会在服务器端到客户端的方向上进行传输,因此服务器端到客户端方向的时延就远比另一个方向的时延重要得多。一种简单的单向时延估计是把往返路径时间的测量值除以2。然而随着网络规模和复杂性的增加,往返路径的链路环境和流量负载呈现出越来越不对称的特点,这种粗糙的估计方法得到的是一个很不准确的结果。
直观地,与往返路径时间的测量方法类似,单向时延也可以通过分别记录探测分组在源端和目的端的发送和到达时间戳进行测量。但在分布式的网络环境下,测量端之间时钟不同步的问题却使得这类单向指标的测量变得非常困难。由于存在着相互独立的计时系统,目的端和源端测量的时间差不仅仅是探测分组在单向路径上传输的时间,它还包含了两个测量端所对应的时钟偏差。在最坏的情况下,如果目的端时钟滞后源端时钟的差别大于探测分组实际传输的端到端单向时延,那么测量结果将是一个明显错误的负值估计。
目前有两种尝试解决测量端之间时钟不同步问题的方法。其中,网络时间协议NTP广泛应用于互联网环境中。它以一个固定的时间服务器作为参考点,计算其到各个测量端的往返路径时间,将测量结果除以2之后再对各个测量端之间的时钟偏差进行估计。正如之前所提到的,这种对半估计的方法只有在往返路径时延都一致的条件下才有意义。另一种同步方案是使用全球定位系统GPS。虽然GPS可以提供准确的时间同步信息,但是它必须利用特殊的接收装置来接收卫星信号,因此并不适用于Internet中大多数不具有GPS功能的普通计算机的时间同步。
与端到端单向时延测量估计方法的研究相比,有关单向排队时延及其分布特性的测量和估计方法的研究比较少。事实上,排队时延在许多互联网应用中担任着非常关键的角色。例如,在利用时延测量值进行网络主机定位时,排队时延的估计可以有效地缩减置信区间的范围,减小误差,提高主机定位的准确程度;对于VoIP应用,为了补偿语音分组的时延差异,需要根据时延分布函数对应的丢包率,动态地调整抖动缓冲区的大小,从而获得丢包率和传输时延之间的恰当折中。与端到端的单向时延相比,排队时延及其分布特性更直接地反映了网络时延、流量和性能变化的情况,因此在业务质量QoS保障、流量工程、负载均衡、异常检测等众多领域都将有重要的应用。

发明内容
本发明的目的在于克服现有技术的不足,提供一种网络端到端排队时延测量方法。
为了实现本发明目的,采用的技术方案如下一种端到端排队时延测量方法,由探测发送端发送一串探测分组对,并在探测接收端测量探测每个分组对内两个探测分组之间的时间间隔,得到这些时间间隔的分布,然后通过排队时延概率密度函数重构算法,得到端到端排队时延的概率密度函数。
上述技术方案中,所述排队时延概率密度函数重构算法,是通过从测量得到的傅立叶变换幅度值|FV|出发,重构原始的概率密度函数fV(v);所述傅立叶变换幅度值|FV|可以由|FV|=FX]]>确定,其中 fX(x)是样本值xi的概率密度函数, 表示对函数f进行傅立叶变换;所述样本值xi=Δiout-Δiin,]]>其中Δiin表示在探测发送端第i对探测分组对内两个探测分组之间的发送时间间隔,Δiout表示在探测接收端测量得到的第i对探测分组对内两个探测分组的到达时间间隔。
本发明的技术方案中,重构原始的概率密度函数fV(v)主要有两种方式,其中一种的具体做法如下假设在第k次迭代中fV(v)的估计值是gk,则(a)对gk进行傅立叶变换得到 分别得到Gk的幅度值|Gk|和相位exp[j·θk];
(b)用所述测量结果|FV|代替|Gk|,构成Gk′如下Gk′=|FV|·exp[j·θk](c)对Gk′进行傅立叶反变换,得到gk′ (d)由gk′得到新的估计值gk+1,并使之满足归一化条件gk+1(v)=gk′(v)∫0Tgk′(t)·dt]]>(e)如果下述估计偏差小到符合结束迭代的条件,则结束该迭代算法ϵk=∫0T|gk+1(t)-gt(t)|dt∫0T|gk(t)|dt.]]>结束迭代的条件可根据具体的网络环境设定该偏差值。
另一种重构原始的概率密度函数fV(v)可采用离散化傅立叶变换方法,所述排队时延概率密度函数的离散傅立叶变换可以表示为|FV(m)|=|Σn=0N-1fV(n)·exp(i·2πmn/N)|]]>其中下标m和n分别表示傅立叶域和时间域的离散取值点,1≤m,n≤N;具体做法是,在测量|FV(m)|的时候采用“过采样”的方法,即采集足够多的样本值,使得|FV(m)|的取值个数为2N,并且对所有的n>N令fV(n)=0,由此使得{fV(n)1≤n≤N},可以由{|FV(m)|=|FV(m+N)|1≤m≤N}唯一确定;gk+1由下式确定gk+1(v)=gk′′(v)∫0Ngk′′(t)·dt,]]>0≤v≤2N
其中gk′′(v)=gk′(v),0≤v≤N0,N<v≤2N]]>在第二种重构原始的概率密度函数fV(v)中,所述fV(v)的初始估计值g1的选择方式之一是采用伽马分布的概率密度函数,其具体确定方法如下设μ和ρ分别是一个节点输出队列的服务率和利用率,探测路径上共有H个节点,则令α=H,β=-μ(1-ρ),且当μ和ρ未知时,可以令μ等于路径上最小链路速率除以平均分组长度,ρ等于0.5。
本发明所述任意两个探测分组之间的发送时间间隔设置为足够大,使得所有探测分组经历的端到端单向排队时延都是独立并且同分布的随机变量,其具体做法是把探测分组对之间的发送时间间隔以及探测分组对内两个探测分组之间的发送时间间隔都设置为大于排队时间与探测分组的发送时间的和,使得任意两个相邻探测分组都不会同时出现在同一个输出队列中。
与现有方法相比,本发明不需要发送端与接收端的时钟同步。它通过在发送端和接收端分别测量探测分组对内报文分组之间的时间间隔,得到端到端单向排队时延概率密度函数的傅立叶幅度值,然后通过偏差缩减的迭代重构算法,估计时间域的概率密度函数,最后计算得到排队时延的分布特性。其中,本发明以伽马分布的概率密度函数作为重构算法的初始估计函数,并提出了规范性的时间域约束条件和“过采样”的时间域修正方法。由于该测量估计算法主要采用快速傅立叶变换与反变换计算,收敛速度快,总的计算量小,适合于实时应用,能够准确地反映排队时延的分布特性,对初始参数的设定具有很好的鲁棒性。


图1为本发明的一个实施例的示意图;具体实施方式
下面结合附图对本发明做进一步的说明。
本发明通过由探测发送端发送一串探测分组对,每个分组对的两个分组的发送时间间隔均为Δiin,分组对通过网络的多个链路,经过多个节点,到达探测接收端,并在探测接收端测量探测每个分组对内两个探测分组之间的时间间隔Δiout,得到这些时间间隔的分布,然后通过排队时延概率密度函数重构算法,得到端到端排队时延的概率密度函数。
下面详细介绍本发明的实现过程及原理。
1、关于单向排队时延任意一个报文分组在多跳路径的传输过程中经历的端到端单向时延都包含有确定性和随机性两个部分。
确定性的时延部分包括路径各条链路上传播时间和传输时间之和。传播时间是指信号从链路一端传到另一端所需要的时间,它只跟链路两端之间的物理性质和距离长度有关。一般地,信号在铜缆电线或光纤链路上传输的速度是光速的三分之二。传输时间是把一个报文分组的所有比特传输至链路上的时间,它跟链路容量及报文分组的大小有关。由于传输路径的链路状况在每次测量期间都不会改变,而且发送的探测分组都具有相同的报文大小,因此在端到端单向时延里面,确定性时延是一个恒定不变的部分。需要注意的是,并没有假设往返路径上的确定性时延是相同的,因为往返路径的链路性质总是不一致的。
随机性的时延部分是指链路的排队时延之和。链路上负载着的背景流量使得每一个到达链路节点的报文分组(不管是否探测分组)都必须在输出接口的队列中排队等候。只有当目前正在传输的和此前已经排队等候的分组完成了全部的传输任务后,新到达的分组才能够被处理发送出去。不同的到达分组在不同的链路节点上经历的排队时延都不相同,因此随机性时延是单向时延中变化的部分。而本发明就是研究如何测量和估计传输路径上的这部分端到端单向排队时延。
假定d(j)表示第j个探测分组在传输路径上总的端到端单向时延,c(j)和v(j)分别表示固定和变化的两个时延部分。显然,d(j)=c(j)+v(j),并且对每一次测量期间的任意两个探测分组j和l都有c(j)=c(l)。本发明的排队时延估计算法也完全不需要考虑c(j)这一部分。
2、非时钟同步的端到端测量方法本发明发送一串探测分组对,它们之间的间隔足以保证相邻的探测分组对不会出现在同一个输出队列中。在第i对探测分组对内,两个探测分组的发送时间间隔为Diin,并且所有探测分组对内的发送间隔都相等Δ1in=Δ2in=···=Δiin=···=Δin.]]>这一串探测分组经过多跳链路的传输后,由于经历了各不相同的单向时延,使得在接收端探测分组对内的到达时间间隔也不相同Δ1out、Δ2out、…、Δiout、…。其中第i对探测分组对内两个报文分组之间的到达时间间隔为Δiout=Δiin-di(1)+di(2)=Δiin-(ci(1)+vi(1))+(ci(2)+vi(2))=Δin+(vi(2)-vi(1))]]>其中,di(1)=ci(1)+vi(1)和di(2)=ci(2)+vi(2)是指第i对探测分组对内第1个和第2个探测分组的端到端单向时延。从上式可以看出,探测分组对内两分组到达时间间隔与发送时间间隔之差就恰恰是这两个探测分组在传输路径上经历的单向排队时延之差,即
xi=Δiout-Δin=vi(2)-vi(1)]]>注意到Δiout和Δin是分别在接收端和发送端测量的时间间隔,因此xi表示的是一个准确的时间差测量值,并不需要两端时钟的同步。
如果Δin设置得足够大,使得探测分组对内的两个分组不在链路的同一个输出队列中出现,那么在测量期间这一串探测分组经历的端到端单向排队时延就是独立并且同分布的随机变量。令fX(x)和fV(v)分别表示xi和vi(1)(或vi(2))的概率密度函数(Probability Density Function),则有fX(x)=∫-∞+∞fV(v+x)·fV(v)dv=∫0+∞fV(t+x)·fV(t)dt]]>显然,上式同时也是fV关于x的自相关函数,因此由自相关定理可以得到 其中 表示对函数f进行傅立叶变换,|F|是傅立叶变换后相应的幅度值。
所以,无论发送端和接收端之间的时钟是否同步,只需要在两端分别测量每一对探测分组对内报文之间的时间间隔,就可以得到传输路径端到端单向排队时延概率密度函数PDF的傅立叶变换幅度值|FV|=FX]]>3、时延分布重构估计算法在端到端测量的基础上,需要从傅立叶变换幅度值|FV|出发,重构原始的时间域概率密度函数fV(t),从而获得单向排队时延分布的估计。这类傅立叶域-标准域的重构估计问题普遍存在于图像处理领域。譬如,一般情况下,含有干扰噪声的图像先以傅立叶变换域的形式记录。然后通过滤除异常频率的干扰信号,把图像的主要成分从噪声中分辨出来。最后再利用傅立叶相位重构的方法,将图像信息从傅立叶域恢复回原始的图像坐标域。
偏差缩减算法是其中一个广泛应用的傅立叶相位重构方法。假设在第k次迭代中fV的估计值是gk,那么重构算法可以表示为下面步骤(a)对gk进行傅立叶变换得到 分别得到Gk的幅度值|Gk|和相位exp[j·θk];(b)用所述测量结果|FV|代替|Gk|,构成Gk′如下Gk′=|FV|·exp[j·θk](c)对Gk′进行傅立叶反变换,得到gk′ (d)由gk′得到新的估计值gk+1,并使之满足归一化条件gk+1(v)=gk′(v)∫0Tgk′(t)·dt]]>(e)结束该迭代算法,如果下述估计偏差足够小ϵk=∫0T|gk+1(t)-gk(t)|dt∫0T|gk(t)|dt]]>随着迭代次数的增加,上式的偏差计算值会不断减小,而且一般地,最开始的几次迭代步骤中偏差值缩减的速度会比后面的快很多。当偏差减小到一个较小值并开始收敛时,重构算法对排队时延概率密度函数的估计也趋于收敛了。
在利用每一对探测分组对内报文之间的时间间隔测量值进行迭代估计时,重构算法通常是以离散化傅立叶变换的形式处理的。对于所要求解的排队时延概率密度函数,其离散傅立叶变换可以表示为|FV(m)|=|Σn=0N-1fV(n)·exp(i·2πmn/N)|]]>
其中下标m和n分别表示傅立叶域和时间域的离散取值点,1≤m,n≤N;具体做法是,在测量|FV(m)|的时候采用“过采样”的方法,即采集足够多的样本值,使得|FV(m)|的取值个数为2N,并且对所有的n>N令fV(n)=0,由此使得{fV(n)1≤n≤N}可以由{|FV(m)|=|FV(m+N)|1≤m≤N}唯一确定;此时,gk+1由下式确定gk+1(v)=gk′′(v)∫0Ngk′′(t)·dt,]]>0≤v≤2N其中gk′′(v)=gk′(v),0≤v≤N0,N<v≤2N]]>由排队理论可知,报文分组在单服务台排队系统的逗留时间S符合下面的概率分布P(S>t)=e-μ(1-ρ)t,t≥0其中μ和ρ分别是排队系统的服务率和利用率。上式表明,分组逗留时间S服从参数为μ(1-ρ)的指数分布,或者说,服从参数α=1、β=-μ(1-ρ)的伽马分布。
对于包含有H个节点的传输路径,探测分组在每个节点逗留的时间S1、S2、…、SH为独立的随机变量。如果它们服从参数分别为(α1,β)、(α2,β)、…、(αH,β)的伽马分布,那么∑Sh就是一个参数为(α=∑αh,β)的伽马分布。由于探测分组的逗留时间S是排队时间W和服务时间B两者之和,可以选择伽马分布的概率函数作为迭代重构算法中fV的初始估计值g1。g1的两个分布参数α和β与传输路径的跳数、服务率和利用率有关。尽管在测量期间并不知道这些信息,但是本发明的重构算法能够在迭代过程中利用傅立叶域和时间域的约束条件调整分布参数的估计,使得初始估计值的参数设定对最终迭代结果的影响很小。且当μ和ρ未知时,可以令μ等于路径上最小链路速率除以平均分组长度,ρ等于0.5。
权利要求
1.一种端到端排队时延测量方法,其特征在于由探测发送端发送一串探测分组对,并在探测接收端测量探测每个分组对内两个探测分组之间的时间间隔,得到这些时间间隔的分布,然后通过排队时延概率密度函数重构算法,得到端到端排队时延的概率密度函数。
2.根据权利要求1所述的端到端排队时延测量方法,其特征在于所述排队时延概率密度函数重构算法,足通过从测量得到的傅立叶变换幅度值|FV|出发,重构原始的概率密度函数fV(v);所述傅立叶变换幅度值|FV|可以由|FV|=FX]]>确定,其中 fX(x)是样本值xi的概率密度函数, 表示对函数f进行傅立叶变换;所述样本值xi=Δiout-Δiin,]]>其中Δiin表示在探测发送端第i对探测分组对内两个探测分组之间的发送时间间隔,Δiout表示在探测接收端测量得到的第i对探测分组对内两个探测分组的到达时间间隔。
3.根据权利要求2所述的端到端排队时延测量方法,其特征在于重构原始的概率密度函数fV(v)具体做法如下假设在第k次迭代中fV(v)的估计值是gk,则(a)对gk进行傅立叶变换得到 分别得到Gk的幅度值|Gk|和相位exp[j·θk];(b)用所述测量结果|FV|代替|Gk|,构成Gk′如下Gk′=|FV|·exp[j·θk](c)对Gk′进行傅立叶反变换,得到gk′ (d)由gk′得到新的估计值gk+1,并使之满足归一化条件gk+1(v)=gk′(v)∫0Tgk′(t)·dt]]>(e)如果下述估计偏差小到符合结束迭代的条件,则结束该迭代算法ϵk=∫0T|gk+1(t)-gk(t)|dt∫0T|gk(t)|dt.]]>
4.根据权利要求2所述的端到端排队时延测量方法,其特征在于所述重构原始的概率密度函数fV(v)采用离散化傅立叶变换方法,所述排队时延概率密度函数的离散傅立叶变换可以表示为|FV(m)|=|Σn=0N-1fV(n)·exp(i·2πmn/N)|]]>其中下标m和n分别表示傅立叶域和时间域的离散取值点,1≤m,n≤N;具体做法是,在测量|FV(m)|的时候采用“过采样”的方法,即采集足够多的样本值,使得|FV(m)|的取值个数为2N,并且对所有的n>N令fV(n)=0,由此使得{fV(n)1≤n≤N},可以由{|FV(m)|=|FV(m+N)|1≤m≤N}唯一确定;gk+1由下式确定gk+1(v)=gk′′(v)∫0Ngk′′(t)·dt,]]>0≤v≤2N其中gk′′(v)=gk′(v),0≤v≤N0,N<v≤2N.]]>
5.根据权利要求4所述的端到端排队时延测量方法,其特征在于所述fV(v)的初始估计值g1的选择方式之一是采用伽马分布的概率密度函数,其具体确定方法如下设μ和ρ分别是一个节点输出队列的服务率和利用率,探测路径上共有H个节点,则令α=H,β=-μ(1-ρ),且当μ和ρ未知时,可以令μ等于路径上最小链路速率除以平均分组长度,ρ等于0.5。
6.根据权利要求1至5所述的端到端排队时延测量方法,其特征在于所述任意两个探测分组之间的发送时间间隔设置为足够大,使得所有探测分组经历的端到端单向排队时延都是独立并且同分布的随机变量,其具体做法是把探测分组对之间的发送时间间隔以及探测分组对内两个探测分组之间的发送时间间隔都设置为大于排队时间与探测分组的发送时间的和,使得任意两个相邻探测分组都不会同时出现在同一个输出队列中。
全文摘要
本发明提供一种端到端排队时延测量方法,由探测发送端发送一串探测分组对,并在探测接收端测量探测每个分组对内两个探测分组之间的时间间隔,得到这些时间间隔的分布,然后通过排队时延概率密度函数重构算法,得到端到端排队时延的概率密度函数。本发明不需要发送端与接收端的时钟同步适合于实时应用,能够准确地反映排队时延的分布特性,对初始参数的设定具有很好的鲁棒性。
文档编号H04L12/24GK101022369SQ20071002728
公开日2007年8月22日 申请日期2007年3月23日 优先权日2007年3月23日
发明者余顺争 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1