專利名稱:用于計算時鐘偏移和時鐘脈沖相位差的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及計算機系統(tǒng),并且尤其涉及計算機系統(tǒng)內(nèi)的時間同步。更為明確地,本發(fā)明涉及用于計算一個計算機系統(tǒng)內(nèi)的兩個時鐘之間的時鐘偏移和時鐘脈沖相位差的方法和系統(tǒng)。
背景技術(shù):
現(xiàn)代計算機出于許多目的使用時鐘,包括確保許多操作按正確順序發(fā)生或同步發(fā)生。因此,時鐘自身按緊密同步操作是重要的。典型地,兩個時鐘通常不是處于完全同步,并且時鐘之間存在定時差異。另外,兩個時鐘可能不是以精確相同的頻率操作,從而時鐘之間的定時差異隨時間而改變。時鐘間定時差異的這種改變被稱為時鐘脈沖相位差(clock skew)。
許多計算機定時協(xié)議需要諸如關(guān)于兩個時鐘之間脈沖相位差和偏移的估計之類的信息。這兩個時鐘可以是例如本地時鐘及其源時鐘。例如,服務(wù)器定時協(xié)議(STP)需要對本地時鐘和該時鐘源之間的脈沖相位差和偏移的估計。這種估計的精確度對于該協(xié)議的同步精確度是至關(guān)重要的。盡管測量時鐘脈沖相位差的方法以及系統(tǒng)是公知的,但這些公知過程趨向于相當復雜,在某些情況下不可靠,或二者皆有。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種用于對計算機系統(tǒng)內(nèi)兩個時鐘之間的時鐘脈沖相位差和時鐘偏移進行估計的改進的過程。
本發(fā)明的另一個目的是同時使用前向延遲和反向延遲來估計在計算機系統(tǒng)內(nèi)兩個時鐘之間的脈沖相位差和偏移。
這些和其他目的通過一種用于計算在計算機系統(tǒng)內(nèi)兩個時鐘之間的時鐘偏移和時鐘脈沖相位差的方法和系統(tǒng)而實現(xiàn)。所述方法包括步驟從計算機系統(tǒng)中的第一處理單元向計算機系統(tǒng)中的第二處理單元發(fā)送數(shù)據(jù)分組,以及從第二處理單元向第一處理單元發(fā)送所述數(shù)據(jù)分組。第一時間戳被提供用于指示該分組離開所述第一處理單元的時間,第二時間戳被提供用于指示該分組到達所述第二處理單元的時間,第三時間戳被提供用于指示該分組離開所述第二處理單元的時間,第四時間戳被提供用于指示該分組到達所述第一處理單元的時間。
所述方法進一步包括步驟使用所述第四時間戳定義反向延遲點的集合,以及使用所述反向延遲點的集合來計算所述第一處理單元和第二處理單元上的時鐘之間的時鐘偏移以及所述時鐘的時鐘脈沖相位差。優(yōu)選地,反向延遲點的集合包括{T4(i),-BD(i)},其中T4(i)是第四時間戳,并且-BD(i)是反向延遲的值。
本發(fā)明進一步的有益效果和優(yōu)勢將通過考慮下面的參考附圖給出的詳細描述而變得明顯,其中所述附圖指定和示出了本發(fā)明的優(yōu)選實施方式。
圖1示出了在其中可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)。
圖2示出了在圖1的網(wǎng)絡(luò)中的時鐘裝置B與時鐘服務(wù)器A之間的分組交換。
圖3示出了當時鐘A的運行比時鐘B快10%時,時鐘裝置B與時鐘服務(wù)器A之間的分組交換。
圖4示出了當僅使用T1時間戳時反向延遲的延遲圖。
圖5示出了當使用T4時間戳時反向延遲的延遲圖。
具體實施例方式
圖1示出了計算機網(wǎng)絡(luò)100,其包括服務(wù)器102、客戶端104以及數(shù)據(jù)存儲單元106。網(wǎng)絡(luò)100還包括用于在這些網(wǎng)絡(luò)裝置之間傳輸數(shù)據(jù)的數(shù)據(jù)連接110。網(wǎng)絡(luò)100可以例如是國際互聯(lián)網(wǎng),但也可以是企業(yè)內(nèi)部互聯(lián)網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點對點鏈路或其他網(wǎng)絡(luò)。
正如上文所述,包括服務(wù)器定時協(xié)議(STP)的各種計算機定時協(xié)議需要計算在計算機系統(tǒng)或在例如網(wǎng)絡(luò)100的網(wǎng)絡(luò)中兩個時鐘之間的脈沖相位差和偏移。本發(fā)明的目的在于獲得所述時鐘脈沖相位差以及時鐘偏移。
首先參考圖3,其示出了在本地裝置B與時鐘服務(wù)器A之間的分組交換。根據(jù)B的時鐘,分組于T1時刻離開B。根據(jù)A的時鐘該分組于T2時刻到達A。隨即裝置A根據(jù)A的時鐘于T3時刻發(fā)送回復分組。該回復消息根據(jù)B的時鐘于T4時刻到達B。通過規(guī)律地發(fā)送這類交換消息并記錄T1、T2、T3、T4的時間戳序列,能夠獲得對裝置B的時鐘與裝置A的時鐘之間的相對偏移和速度差的估計。
根據(jù)T1、T2、T3、T4的時間戳序列計算前向延遲和反向延遲(FD和BD)序列的過程是公知的。舉例而言,在美國專利申請09/920,138和10/157,610以及美國專利6,661,810中描述了這些過程。特別地,F(xiàn)D=T2-T1,BD=T4-T3。
使用T1(i)、T2(i)、T3(i)、T4(i)、FD(i)以及BD(i)來表示用于第i次分組交換的時間戳和延遲。現(xiàn)有技術(shù)構(gòu)造了兩個在二維平面中的延遲點集合,{(T1(i),F(xiàn)D(i))|i=1,...}以及{(T1(i),BD(i))|i=1,...}。美國專利6,661,810獨立地考慮這兩個點集合,可能無法產(chǎn)生本發(fā)明這樣的精確結(jié)果。美國專利申請09/920,138和10/157,610共同地考慮這兩個延遲點集合,產(chǎn)生比美國專利6,661,810更好的精確性。
使用T4值的反向延遲根據(jù)本發(fā)明,所述T4時間戳被用于定義所述反向延遲點的集合,即{(T4(i),-BD(i))|i=1,...}。同時,共同地考慮所述兩個延遲點集合,以獲得對時鐘偏移和離散度的更好估計。更進一步,以對稱的方式共同地考慮這兩個延遲點集合。這種對稱的處理是對美國專利申請No.09/920,138以及No.10/157,610中方法的一個進步。
盡管該分組延遲在現(xiàn)實中應(yīng)該是非負的,但如果僅使用T1時間戳,有可能使延遲估計為負。由表面上為負的延遲所造成的可能的問題能夠通過針對所述反向延遲使用T4時間戳而緩解。這種有益效果將通過一個例子加以描述。在這個例子中,在T3和T2之間存在相當長的延遲。
參考圖3,假使時鐘A的運行比時鐘B快10%。所有的前向或反向延遲根據(jù)時鐘B都為1秒,或等價地,根據(jù)時鐘A都為1.1秒。則對于第一分組,前向延遲為2.2-1=1.2秒以及反向延遲為101-110=-9秒。對于第二分組,前向延遲為為3.3-2=1.3秒以及反向延遲為102-111.1=-9.1秒。在這種情況下,所估計的往返延遲為1.2+(-9)=1.3+(-9.1)=-7.8秒。
在美國專利申請No.09/920,138以及No.10/157610所描述的過程中,當僅使用T1時間戳時,所述延遲圖如圖4所示。
在正常的情況下,該-BD線應(yīng)當?shù)陀贔D線,所述往返延遲的估計值為這兩條線之間的垂直距離。對于這個例子,所述往返延遲的估計值為-7.8秒。
如果T4時間戳被用于反向延遲,則延遲圖如圖5所示。
現(xiàn)在所述-BD線低于FD線,原因是反向延遲點隨著T4的值向右平移了。第101個分組的所述前向延遲為11.2秒。則往返延遲的估計值為11.2+(-9)=2.2秒,是一個正值。
當分組處理的延遲,或T3-T2顯著長于實際分組延遲,并且所述時鐘以差異很大的速度運行時,這種類型的消極影響變得尤為突出。使用T4時間戳提供了對偏移和延遲的值的更精確的估計。
本領(lǐng)域技術(shù)人員將容易明白,本發(fā)明可以以硬件形式、軟件形式或硬件和軟件的組合的形式來實現(xiàn)。任何類型的計算機/服務(wù)器系統(tǒng),或其他適用于實現(xiàn)在此所描述的本方法的任何設(shè)備,都是適合的。硬件和軟件的一種典型的組合可以是帶有計算機程序的通用計算機系統(tǒng),當該計算機程序被加載和執(zhí)行時,該計算機程序?qū)崿F(xiàn)本文所描述的各個方法??蛇x地,可以利用包括用于實現(xiàn)本發(fā)明的一個或多個功能任務(wù)的特定硬件的特殊用途計算機。
本發(fā)明還能夠包含于計算機程序產(chǎn)品中,該計算機程序產(chǎn)品包括所有支持在此所描述方法的實現(xiàn)的各個特征,并且當加載于計算機系統(tǒng)時,該程序產(chǎn)品能夠?qū)崿F(xiàn)這些方法。計算機程序、軟件程序、程序或軟件,在本文中指以任意語言、代碼或符號對一組指令進行的任意表達,這組指令的目的是直接或在以下任一或兩者之后使具有信息處理能力的系統(tǒng)執(zhí)行特定功能(a)轉(zhuǎn)換成另一種語言、代碼或符號;和/或(b)以一種不同的材料形式再現(xiàn)。
盡管很明顯此處披露的本發(fā)明非常適合于實現(xiàn)前述目的,但是應(yīng)該理解本領(lǐng)域技術(shù)人員可以設(shè)計出許多修改和實施方式,并且這意味著隨附的權(quán)利要求覆蓋了落入本發(fā)明的真實精神和范圍內(nèi)的全部這樣的修改和實施方式。
權(quán)利要求
1.一種計算在計算機系統(tǒng)內(nèi)的時鐘偏移以及時鐘脈沖相位差的方法,所述方法包括以下步驟從該計算機系統(tǒng)內(nèi)的第一處理單元向該計算機系統(tǒng)內(nèi)的第二處理單元發(fā)送數(shù)據(jù)分組;從所述第二處理單元向所述第一處理單元發(fā)送所述數(shù)據(jù)分組;提供第一時間戳用以指示所述分組離開所述第一處理單元的時間;提供第二時間戳用以指示所述分組到達所述第二處理單元的時間;提供第三時間戳用以指示所述分組離開所述第二處理單元的時間;提供第四時間戳用以指示所述分組到達所述第一處理單元的時間;使用所述第四時間戳定義一個反向延遲點的集合;以及使用所述反向延遲點的集合計算所述第一處理單元和第二處理單元上的時鐘之間的時鐘偏移以及所述時鐘的時鐘脈沖相位差。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第四時間戳指定所述反向延遲點的集合在圖上的位置。
3.根據(jù)權(quán)利要求1所述的方法,其中所述反向延遲點的集合包括{T4(i),-BD(i)},其中T4(i)為所述第四時間戳,并且-BD(i)為反向延遲值;以及每個反向延遲值使用相應(yīng)的一組所述時間戳計算。
4.根據(jù)權(quán)利要求1所述的方法,進一步包括使用所述時間戳定義一個前向延遲點的集合的步驟,并且其中所述計算步驟包括使用所述反向延遲值的集合以及所述前向延遲值的集合二者來計算所述時鐘偏移和時鐘脈沖相位差的步驟。
5.根據(jù)權(quán)利要求1所述的方法,其中所述定義反向延遲點的集合的步驟包括使用所述第四時間戳定義一個負反向延遲點的集合的步驟。
6.根據(jù)權(quán)利要求1所述的方法,其中所述第一處理單元提供所述第一和第三時間戳,以及所述第二處理單元提供所述第二和第四時間戳。
7.一種用于計算在計算機系統(tǒng)內(nèi)的時鐘偏移和時鐘脈沖相位差的計算系統(tǒng),在這種類型的計算機系統(tǒng)中,數(shù)據(jù)分組從所述計算機系統(tǒng)內(nèi)的第一處理單元向所述計算機系統(tǒng)內(nèi)的第二處理單元發(fā)送,以及所述數(shù)據(jù)分組從所述第二處理單元向所述第一處理單元發(fā)送,以及其中提供第一時間戳用于指示所述分組離開所述第一處理單元的時間,提供第二時間戳用于指示所述分組到達所述第二處理單元的時間,提供第三時間戳用于指示所述分組離開所述第二處理單元的時間,以及提供第四時間戳用于指示所述分組到達所述第一處理單元的時間,所述計算系統(tǒng)包括用于使用所述第四時間戳定義一個反向延遲點的集合的裝置;以及用于使用所述反向延遲點的集合計算所述第一處理單元和第二處理單元上的時鐘之間的時鐘偏移和所述時鐘的時間脈沖相位差的裝置。
8.根據(jù)權(quán)利要求7所述的計算系統(tǒng),其中所述第四時間戳指定所述反向延遲點的集合在圖上的位置。
9.根據(jù)權(quán)利要求7所述的計算系統(tǒng),其中所述反向延遲點的集合包括{T4(i),-BD(i)},其中T4(i)為所述第四時間戳,并且-BD(i)為反向延遲值。
10.根據(jù)權(quán)利要求9所述的計算系統(tǒng),其中每個所述反向延遲值使用相應(yīng)的一組所述時間戳計算。
11.根據(jù)權(quán)利要求7所述的計算系統(tǒng),進一步包括用于使用所述時間戳定義一個前向延遲點的集合的裝置,以及其中所述計算裝置使用所述反向延遲值的集合以及所述前向延遲值的集合二者來計算所述時鐘偏移和時鐘脈沖相位差。
12.根據(jù)權(quán)利要求7所述的計算系統(tǒng),其中所述對一個反向延遲點的集合的定義包括一個負反向延遲點的集合。
13.一種機器可讀的程序存儲裝置,其具體地包含可由機器執(zhí)行的指令程序,以完成用于計算在計算機系統(tǒng)內(nèi)的時鐘偏移和時鐘脈沖相位差的方法步驟,所述方法是依照上述方法權(quán)利要求中的任意一項的方法。
全文摘要
本發(fā)明公開了一種用于計算在計算機系統(tǒng)內(nèi)的兩個時鐘之間的時鐘偏移和時鐘脈沖相位差的方法以及系統(tǒng)。該方法包括從該計算機系統(tǒng)內(nèi)的第一處理單元向該計算機系統(tǒng)內(nèi)的第二處理單元發(fā)送數(shù)據(jù)分組的步驟,以及從該計算機系統(tǒng)內(nèi)的第二處理單元向該計算機系統(tǒng)內(nèi)的第一處理單元發(fā)送該數(shù)據(jù)分組的步驟。第一、第二、第三和第四時間戳被分別提供用于指示該分組離開第一處理單元、到達第二處理單元、離開第二處理單元以及到達第一處理單元的時間。該方法進一步包括使用第四時間戳定義一個反向延遲點的集合的步驟,以及使用所述反向延遲點的集合計算第一和第二處理單元上的時鐘之間的時鐘偏移以及所述時鐘的時鐘脈沖相位差的步驟。
文檔編號H04L7/10GK1929366SQ20061011578
公開日2007年3月14日 申請日期2006年8月17日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者張立, 米歇爾·亨利·西奧多·哈克, 斯科特·M·卡爾森 申請人:國際商業(yè)機器公司