法律状态公告日
法律状态信息
法律状态
2017-12-08
未缴年费专利权终止 IPC(主分类):H04J3/06 授权公告日:20100929 终止日期:20161020 申请日:20031020
专利权的终止
2013-05-08
专利权的转移 IPC(主分类):H04J3/06 变更前: 变更后: 登记生效日:20130415 申请日:20031020
专利申请权、专利权的转移
2010-09-29
授权
授权
2006-02-01
实质审查的生效
实质审查的生效
2005-12-07
公开
公开
背景
发明领域
本发明涉及一种用于确定通信网络中第一时钟和第二时钟之间的定时偏差的方法。
发明背景
让与计算机网络连接的设备具有内部时钟以便用于计时目的已成标准。典型的硬件时钟提供毫秒的精度和定时。一般来说,网络上进行通信的两个或多个设备的内部时钟彼此独立运行,因此可能不同步。对于某些类型的网络通信,期望所述两个或多个通信设备的非同步内部时钟之间的定时偏差是已知的或可预测的。例如,如果这些通信设备的时钟之间的时间偏差是已知的,则简化了IP网络中网络时延的测量操作。
IP网络中的网络时延是分组从所述网络中的一点到另一点需要多长时间的一种量度。网络时延可以只对分组往返行程测量,或者在单一方向上测量。
测量往返时延的一种方法包括利用熟知的网络“ping”功能。“ping”功能从网络上分组接收点将分组回送到该分组的始发点。往返行程的时延简单地计算为分组始发点收到返回分组的时间与始发点最初发送分组的时间之差。因为该计算只依赖于始发点的时钟定时来进行,所以无需使始发点时钟和接收点时钟同步。
一种用于测量单向网络时延的熟知方法依靠一个绝对时钟来将网络始发点的时钟定时与网络终点的时钟定时同步。如果网络始发点和终点的时钟同步到一个绝对时钟,则单向时延简单地测量为终点收到分组的时间和始发点发送分组的时间之差。始发点和终点的时钟可以例如同步到全球定位系统(GPS)时间接收机或任何其它这种绝对时间测量源。
RFC 1305描述了网络时间协议(NTP)。NTP设计为将绝对时间源的时间信息分发到大网络如因特网中的各设备。
抖动是当前时间间隔内分组传输速率偏离平均值的量。抖动测量假定正在作为部分测试发送的分组之间存在设定的间隔(setinterval)。因此,抖动测量仅给出通过将接收的两个分组之间的测量间隔与设定的分组传输间隔比较得到的时延效应指示。抖动测量不提供各个分组经历的单向时延。
因此期望能够确定或预测计算机网络中两个时钟之间的定时偏差。这将带来许多优点,包括允许确定单向网络时延,而无需使用绝对时钟来同步网络发送点和接收点上的时钟。
发明概述
根据本发明,提出一种用于确定通信网络中第一时钟和第二时钟之间的定时偏差的方法,所述方法包括:从所述网络中所述第一点向所述网络中所述第二点发送多个请求信号;在所述网络中所述第一点接收从所述网络中所述第二点发送的多个应答信号,其中每个应答信号对应于所述多个请求信号中相应的一个请求信号;识别第一请求信号和对应的具有最小往返时延的应答信号;根据所述最小往返时延确定最小单程(single leg)时延;以及在第一瞬时估计所述第一时钟和所述第二时钟的时钟值之间的定时偏差,其中所述估计基于所识别的请求信号和对应的应答信号之一的发送时间和接收时间以及最小单程时延,所述发送时间和接收时间由该信号发送点和接收点处的相应时钟给出。
附图简介
下面将参考附图来说明本发明的示例,附图中:
图1显示一个通信网络;
图2显示分组时序图。
优选实施例的详细说明
参考附图1,其中显示了通信网络1,它包括第一终端A和第二终端B。在本发明的这一实施例中,第一终端A和第二终端B都是PC,而通信网络1是基于IP的网络,例如公司局域网(LAN)。
第一终端A和第二终端B各自包括内部硬件时钟(未显示)。第一终端A和第二终端B内部时钟不同步,因此在给定时间上,两个时钟之间存在同步或定时偏差δ。定时偏差δ可以定义为:
δ=TA-TB (1)
其中TA是第一终端A的时钟指示的时间,同时TB是第二终端B的时钟指示的时间。
虽然可以预期PC如第一终端A和第二终端B的独立运行的时钟保持合理的规则频率(即时间间隔),但这些频率不可能相同。如果第一终端A的时钟运行于频率f1,而第二终端B的时钟运行于频率f2,则时钟偏移定义为:
f2-f1 (2)
因为第一终端A和第二终端B的时钟偏移是非零的,所以同步偏差δ不是恒定不变的,而是随时间呈线性变化。
终端A安排用于通过通信网络1向终端B发送一系列的测试数据分组。在终端B接收到的每个测试数据分组重新发送回终端A。分组在其往返行程上所经过的网络路径是对称的。
从终端A和终端B上各自时钟获得并标记在测试分组中的定时信息由终端A处理,以确定终端A和终端B的各自时钟之间的定时偏差,下面将对此予以更详细地解释。这样可以在给定一个时钟的时钟值的情况下预测另一个时钟的对应时钟值。
附图2显示第一终端A和第二终端B之间传递测试数据分组的时序图。在图2中,第一终端A在取自第一终端A内部时钟的时间tA1send发送第一测试分组(T1)。该第一测试分组(T1)中包含分组序列号和指示时间tA1send的时间戳。在第二终端B上于取自第二终端B内部时钟的时间tB1recieve接收到该第一测试分组(T1)。
一收到第一分组(T1),第二终端B便将取自第二终端B内部时钟、指示终端B接收到该分组的时间tB1recieve的时间戳添加到该分组中,并立即将该分组回送到第一终端A。因此在该实施例中,在终端B接收到该分组的时间和随后从终端B发送该分组的时间视为相同。
在第一终端A于取自第一终端A内部时钟的时间tA1receive接收到回送的第一分组(T1)。从该第一分组(T1)中读取序列号和时间tA1send和tB1receive,并连同tA1receive一起存储在第一设备A上的存储器中。
如图2所示,对n个测试分组的每一个依次重复上述步骤。终端A以有规律的间隔发送分组。为简明起见,图2仅显示了序列号1、4和n的分组的时间tA1send、tB1receive和tA1receive。
利用回送到第一终端A的测试分组中所含的序列号和时间戳构成表1所示的时基。
表1
对于序列号i的任何给定分组,第一终端A和第二终端B之间的网络1往返时延(RTD)等于终端A收到回送分组时终端A的时钟给出的时间减去分组最初从终端A发送时终端A的时钟给出的时间。
RTDi=tAireceive-tAisend (3)
第一终端A和第二终端B之间的网络路径是一条可变时延的路径。分组遍历第一终端A和第二终端B之间的发送单程所花的时间会随多个因素(包括网络负载)变化。同样地,分组遍历第二终端B和第一终端A之间的返回单程所花的时间也会变化。因此,表1所示的用于构成时基的分组RTD将随分组不同而不同。
对于数量足够大的分组序列构成的时基,可以假定终端A和B之间具有最小RTD的分组也将具有最小的发送单程时延和最小返回单程时延。再者,对于终端A和终端B之间的对称网络路径,可以假定最小发送单程时延与最小返回单程时延相等。
因此,将最小单程时延Δmx定义为等于最小RTD的一半,以表1的符号表示为:
Δmx=(tAmxreceive-tBmxsend)/2(4)
其中索引号mx表示具有最小RTD的测试分组的序列号。
当将序列号mx的分组从终端A发送到终端B时,如果终端A和终端B上的时钟是同步的,则条件:
tBmxreceive=tAmxsend+Δmx (5)
将成立。
但是,如上所述,在任何给定时间,第一终端A和第二终端B上的时钟具有定时偏差δ,因此条件(5)不成立。
作为替代,如果δmx是此时两个时钟之间的定时偏差,序列号mx的分组发送到终端B,则如下条件成立:
tBmxreceive=tAmxsend+Δmx+δmx (6)
由此得到:
δmx=tBmxreceive-tAmxsend-Δmx (7)
因此,通过识别终端A和B之间具有最小RTD的分组,终端A可以根据公式(4)和(7)处理信息tAmxsend、tAmxreceive和tBmxreceive来确定δmx。
在序列号mx的分组的瞬时,终端B上的时钟值TBmx和终端A上的时钟值TAmx之间的关系是:
TBmx=TAmx+δmx (8)
如上所述,在本实施例中,定时偏差δ不是恒定不变的。终端A上的时钟和终端B上的时钟运行在不同的频率上,因此定时偏差δ随时间呈线性变化。
为允许终端A根据终端A上的对应的同时时钟值预测终端B上的任何时钟值,需要另外的信息。为了获得此另外的信息,终端A以上述方式识别序列中具有最小RTD的第二个分组,确定该分组发送到终端B时两个时钟之间的定时偏差的值δmy。
由于在本实例中定时偏差δ不是恒定不变的,因此δmx不等于δmy。但是,因为定时偏差δ随时间呈线性变化,δmx和δmy可以视为等差级数中的两个项。
等差级数是其中每个项与前一项的差相等的级数。等差级数的第N项σN可以表示为:
σN=a+Md (9)
其中a和d是常数,M是另一个等差级数的第N项(例如M=1、2、3等或M=10、20、30等)。
因此等差级数δ可以表示为:
δ=a+Md (10)
如果δmx和δmy是等差级数δ中的第X和第Y个项,δmx可以表示为:
δmx=a+Mxd (11)
而δmy可以表示为:
δmy=a+Myd (12)
其中Mx和My是等差级数M中的第X和第Y个项。在本发明的一个实施例中,M可以取为简单的等差级数1、2、3...等,由用于构成时基的分组的序列号定义。由此,δmx、δmy、Mx和My均是终端A已知的,因此终端A可以根据如下公式计算常数a和d:
以及
a=δmy-Myd (14)
计算了常数a和d之后,终端A可以根据公式(10)确定等差级数δ中任何项的值。
对于任何给定的计算的定时偏差值δ,终端A可以根据公式(1)由终端A上的时钟时间预测终端B上的对应时钟时间。
如果在序列中识别出两个以上具有最小RTD的分组,则最好选择具有最低序列号和最高序列号的分组来确定δmx和δmy。这使该级数δ中任何其它项的预测值的精度最高,由此终端B上的任何预测时钟时间的精度也最高。
表2显示终端A和终端B之间传送的7个分组的序列实例所对应的如下测量值:tAsend、tBreceive和这些分组的RTD。
表2
在此实例中,序列号3和9的分组被终端A识别为具有最小RTD值2的分组,并由此得到最小单程时延值1。
对于序列号3的分组,终端A根据公式(7)处理相关值tBmreceive、tAmsend和Δm以得到时钟偏差值δ3:
δ3=94
对于序列号9的分组,终端根据公式(7)处理相关值tBmreceive、tAmsend和Δm以得到时钟偏差值δ9:
δ9=106
如果终端A利用分组序列号值3和9作为Mx和My的合适值,则将Mx=3,My=9,δmx=94和δmy=106代入公式(13)和(14)得到:
a=94-3×2=88
因此,根据公式(10)终端A可以利用a和d的值来确定等差级数δ中任何项的值。
对于任何给定的计算的时钟偏差值δ,终端A都可以根据公式(1)由终端A上的时钟时间预测终端B上的对应时钟时间。
例如,当从终端A发送序列号10的分组时,所述终端A上的时钟是190。
将a=88,d=2和M=10代入公式(10)得到:
δ10=88+10×2
δ10=88+20
δ10=108
由此,终端A根据公式(1)估计终端A的时钟在190时终端B的时钟给出的时间:
190+108=298
因为可以根据第一终端A上的时钟时间预测第二终端B上的时钟时间,所以可以容易地确定第一终端A和第二终端B之间发送的任何分组的发送单程时延和接收单程时延。例如,对于序列号10的分组,当从A发送分组时终端B上的时钟时间预测为值298。当在终端B接收到分组时终端B上的时钟时间已知为值300,因此发送单程时延计算为值2。因为分组的往返时延的值已知是4,所以,只需简单的减法即可计算出返回单程时延为值2。或者,可以类似于发送单程时延的方式计算返回单程时延。当将分组发送回终端A时终端B上的时钟时间已知为值300。因为δ10=108,所以终端A上对应的时钟值预测为值192。此值如下给出:已知终端A收到返回分组时终端A上的时钟时间为值194,通过减法可得出返回支路时延值为2。
从表2可以看出,第一终端上的时钟输出本身是等差级数。因此,在一个实施例中,不采用分组序列号,终端A代之采用其时钟输出来提供Mx和My的合适值。由此,将Mx=50、My=170,δmx=94和δmy=106代入公式(13)和(14)得到a和d的值:
以及
a=94-50×0.1=89
再以序列号为10的分组为例,终端A可以
将a=89,d=0.1和M=190代入公式(10)得到:
δ100=89+190×0.1
δ190=89+19
δ100=108
由此,终端A根据公式(1)预测当终端A的时钟在190时终端B的时钟给出的时间为:
190+108=298
这与采用分组序列号作为M的值预测得到的值一致。
在上述实例中,根据公式(7)将发送单程分组(即从终端A发送到终端B)的tBmreceive、tAmsend的值用于确定定时偏差的值。可以理解,同样可以采用返回单程分组(即从终端B回送到终端A的分组)的tBmreceive、tAmsend的值。
在本发明的实施例中,第一终端A和第二终端B包含编程为执行上述终端所需功能的处理器。
在延长的时间期间,终端如第一终端A和第二终端B上的时钟频率会因外部因素如温度发生漂移。因此,为了对抗这种效应,应该周期性地在这两个终端之间发送新的测试分组序列,以允许重新校准公式(12)和(13)中定义的等差级数常数。
可以理解,最小RTD可随网络条件变化,因此用于计算δmx和δmy的值的分组不必一定要具有相同的RTD值。
在上述特定说明中,第一终端A和第二终端B被描述为PC。要明确的是终端A或终端B均可以是可以连接到网络的任何类型的设备。例如,打印机、IP电话、路由器、服务器或专用网络测试设备。
在上述特定说明中,将网络1描述为公司LAN。要明确的是,网络1可以是终端可连接的任何类型的网络或实际为互连网络的组合。
在以上详细说明的实施例中,终端A和B上的时钟之间的定时偏差δ不是恒定不变的,因此δmx的测量值不等于δmy的测量值。在备选实施例中,终端A和B上的时钟之间没有频率偏差,因此定时偏差δ保持恒定。在此实施例中,比较δmx和δmy的测量值,会发现其值相同,表示δ是常量。
在一个实施例中,可以将测试分组中所含的信息添加到终端A和B之间传送的普通数据承载分组中。
可以采用上述技术来测量IP网络中双向实时传输,例如基于IP的语音的发送和接收时延。
虽然本发明是参考特定的实施例来描述的,但本领域技术人员会理解,本发明并不局限于这些实施例。本领域技术人员会理解,在不背离所附权利要求书所限定的本发明范围的前提下,可以对这些实施例进行各种调整和变更。
机译: 一种确定通信网络中第一时钟脉冲和第二时钟周期之间的定时偏移的方法
机译: 通信网络中确定第一时钟和第二时钟之间的定时偏移的方法
机译: 一种确定通信网络中第一时钟与第二时钟之间的定时偏移的方法