国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步的制作方法

      文檔序號(hào):6593243閱讀:281來源:國知局
      專利名稱:對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步的制作方法
      對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步背景背景和相關(guān)技術(shù)計(jì)算機(jī)系統(tǒng)和相關(guān)技術(shù)影響社會(huì)的許多方面。的確,計(jì)算機(jī)系統(tǒng)處理信息的能力 已轉(zhuǎn)變了人們生活和工作的方式。計(jì)算機(jī)系統(tǒng)現(xiàn)在通常執(zhí)行在計(jì)算機(jī)系統(tǒng)出現(xiàn)以前手動(dòng)執(zhí) 行的許多任務(wù)(例如,文字處理、日程安排和會(huì)計(jì)等)。最近,計(jì)算機(jī)系統(tǒng)彼此耦合并耦合到 其他電子設(shè)備以形成計(jì)算機(jī)系統(tǒng)和其他電子設(shè)備可以在其上傳輸電子數(shù)據(jù)的有線和無線 計(jì)算機(jī)網(wǎng)絡(luò)。因此,許多計(jì)算任務(wù)的執(zhí)行分布在多個(gè)不同的計(jì)算機(jī)系統(tǒng)和/或多個(gè)不同的 計(jì)算環(huán)境上。網(wǎng)絡(luò)實(shí)際上已變得如此豐富,以致簡單的啟用網(wǎng)絡(luò)的計(jì)算系統(tǒng)可以通過通常被 稱為“因特網(wǎng)”的網(wǎng)絡(luò)聚集而與散布在全球的數(shù)百萬個(gè)其他計(jì)算系統(tǒng)中的任何一個(gè)進(jìn)行通 信。這樣的計(jì)算系統(tǒng)可以包括臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或平板個(gè)人計(jì)算機(jī);個(gè)人數(shù)字助理 (PDA);電話;或能夠通過數(shù)字網(wǎng)絡(luò)通信的任何其他計(jì)算機(jī)或設(shè)備。為通過網(wǎng)絡(luò)進(jìn)行通信,一個(gè)計(jì)算系統(tǒng)(在本文中稱為“發(fā)送計(jì)算系統(tǒng)”)構(gòu)造或 以其他方式訪問電子消息,并通過網(wǎng)絡(luò)將該電子消息傳送到另一計(jì)算系統(tǒng)(在本文中稱為 “接收計(jì)算系統(tǒng)”)。在電子消息是電子郵件或即時(shí)消息時(shí),該電子消息可由人類用戶閱讀, 或改為由在接收計(jì)算系統(tǒng)上運(yùn)行的應(yīng)用程序讀取。該電子消息可由在發(fā)送計(jì)算系統(tǒng)上運(yùn)行 的應(yīng)用程序在可能的人類用戶的幫助的情況下來構(gòu)造。在分布式計(jì)算環(huán)境內(nèi),多個(gè)不同節(jié)點(diǎn)可以互操作以執(zhí)行所需計(jì)算操作。計(jì)算操作 的適當(dāng)執(zhí)行通??扇Q于彼此具有對(duì)時(shí)間的某種共同理解的各個(gè)不同節(jié)點(diǎn)。許多系統(tǒng)利用 通常被分發(fā)給所有節(jié)點(diǎn)的、各節(jié)點(diǎn)可進(jìn)行參考來獲得絕對(duì)時(shí)間的“主”時(shí)鐘。然而,將時(shí)鐘 同步到絕對(duì)時(shí)間需要同步協(xié)議和高連接性。通過參考主時(shí)鐘的時(shí)鐘同步還造成潛在瓶頸點(diǎn) 和故障的中心點(diǎn)。在諸如因特網(wǎng)等一些網(wǎng)絡(luò)上,高連接性實(shí)際上是不可能的,因?yàn)橛?jì)算機(jī)系 統(tǒng)頻繁地連接并斷開該網(wǎng)絡(luò)?!?duì)等系統(tǒng)使用與公共的一天中的時(shí)間時(shí)鐘源的周期性同步來實(shí)現(xiàn)偽同步行 為。因此,這些系統(tǒng)也具有必須存在且在某些時(shí)刻(例如,新成員加入)可用的公共時(shí)間主 機(jī),以便擁有可信且安全的系統(tǒng)。簡要概述本發(fā)明涉及用于對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步的方法、系統(tǒng)和計(jì)算機(jī)程序 產(chǎn)品。在一些實(shí)施例中,確定觀察計(jì)算機(jī)系統(tǒng)所聲稱的在一不同的被觀察計(jì)算機(jī)系統(tǒng)處的 時(shí)間與該被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際(本地)時(shí)間之間的偏差。觀察計(jì)算機(jī)系統(tǒng)參與同被 觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換。消息交換包括觀察計(jì)算機(jī)系統(tǒng)記錄在發(fā)送消息時(shí)該觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的 發(fā)送時(shí)間。消息交換包括觀察計(jì)算機(jī)系統(tǒng)向被觀察計(jì)算機(jī)系統(tǒng)發(fā)送一個(gè)或多個(gè)消息。消息 交換包括觀察計(jì)算機(jī)系統(tǒng)隨后從被觀察計(jì)算機(jī)系統(tǒng)接收響應(yīng)于該消息的相關(guān)消息。該相關(guān) 消息包含來自被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間(其本地時(shí)間)。消息交換包括觀察計(jì)算機(jī)系統(tǒng)記 錄在接收到該相關(guān)消息時(shí)該觀察計(jì)算機(jī)系統(tǒng)處的(本地)時(shí)鐘的接收時(shí)間。消息交換包括觀察計(jì)算機(jī)系統(tǒng)記錄在接收到該相關(guān)消息時(shí)被觀察計(jì)算機(jī)系統(tǒng)的本地時(shí)間。觀察計(jì)算機(jī)系統(tǒng)基于所記錄的發(fā)送消息的時(shí)間與包括在相關(guān)消息中的來自被觀 察計(jì)算機(jī)系統(tǒng)的時(shí)間之差、時(shí)鐘量程約束、以及時(shí)鐘漂移約束來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處 的時(shí)間相對(duì)于觀察計(jì)算機(jī)系統(tǒng)的本地時(shí)間的下限。觀察計(jì)算機(jī)系統(tǒng)基于所記錄的接收到相 關(guān)消息的本地時(shí)間與包括在該相關(guān)消息中的來自被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間之差、時(shí)鐘量程 約束、以及時(shí)鐘漂移約束來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于觀察計(jì)算機(jī)系統(tǒng)的時(shí)間 的上限。觀察計(jì)算機(jī)系統(tǒng)計(jì)算上限和下限之差。觀察計(jì)算機(jī)系統(tǒng)通過使計(jì)算得到的差除以 平均因子(如計(jì)算得到的差除以2)來計(jì)算觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處 的時(shí)間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的最大偏差。后續(xù)消息交換可被用來進(jìn)一步 細(xì)化下限和上限。觀察計(jì)算機(jī)系統(tǒng)可以基于下限和上限來計(jì)算指示一事件在被觀察計(jì)算機(jī) 系統(tǒng)處發(fā)生的時(shí)間范圍。在其他實(shí)施例中,計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng) 處的時(shí)鐘之間的最大偏差。計(jì)算機(jī)系統(tǒng)訪問時(shí)鐘量程約束。時(shí)鐘量程約束指示異步分布式 系統(tǒng)的計(jì)算機(jī)系統(tǒng)間的時(shí)鐘量化之間的最大差。計(jì)算機(jī)系統(tǒng)訪問漂移率約束。漂移率約束 指示異步分布式系統(tǒng)的每一計(jì)算機(jī)系統(tǒng)在指定時(shí)間段內(nèi)的最大時(shí)鐘漂移。計(jì)算機(jī)系統(tǒng)訪問最大往返約束。最大往返約束指示在異步分布式系統(tǒng)的任何兩個(gè) 計(jì)算機(jī)系統(tǒng)之間進(jìn)行的請(qǐng)求/回復(fù)消息交換的最大時(shí)間量。計(jì)算機(jī)系統(tǒng)基于時(shí)鐘量程約 束、漂移率約束、以及最大往返約束來計(jì)算異步系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)的時(shí)鐘之間的最大 偏差。提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概 念。本概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定 所要求保護(hù)的主題的范圍。在隨后的描述中闡述,并且部分地將從本說明書中顯而易見,或可以通過本發(fā)明 的實(shí)施來獲知。本發(fā)明的特征和優(yōu)點(diǎn)可通過在所附權(quán)利要求書中特別指出的工具和組合來 實(shí)現(xiàn)和獲得。本發(fā)明的這些和其他特征將通過以下描述和所附權(quán)利要求書變得更加顯而易 見,或可通過對(duì)下文中所述的本發(fā)明的實(shí)踐來領(lǐng)會(huì)。附圖簡述為了描述可以獲得本發(fā)明的上文所列舉的及其他優(yōu)點(diǎn)和特征的方式,將通過參考 附圖中所示的本發(fā)明的各具體實(shí)施例來呈現(xiàn)上文簡要描述的本發(fā)明的更具體的描述??梢?理解,這些附圖只描繪了本發(fā)明的各典型實(shí)施例,并且因此不被認(rèn)為是對(duì)其范圍的限制,將 通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋本發(fā)明,在附圖中

      圖1示出示例異步分布式系統(tǒng),它便于對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步。圖2是用于確定觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間與被觀察 計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的偏差的示例方法的流程圖。圖3是用于指示一事件在被觀察計(jì)算機(jī)系統(tǒng)處的發(fā)生時(shí)間的示例方法的流程圖。圖4是用于計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)處的 時(shí)鐘之間的最大偏差的示例方法的流程圖。圖5示出便于計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)處的時(shí)鐘之間的最大偏差的示例計(jì)算機(jī)體系結(jié)構(gòu)。詳細(xì)描述本發(fā)明涉及用于對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步的方法、系統(tǒng)和計(jì)算機(jī)程序 產(chǎn)品。在一些實(shí)施例中,確定觀察計(jì)算機(jī)系統(tǒng)所聲稱的一不同的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí) 間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際(本地)時(shí)間之間的偏差。觀察計(jì)算機(jī)系統(tǒng)參與同被觀察 計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換。消息交換包括觀察計(jì)算機(jī)系統(tǒng)記錄在發(fā)送消息時(shí)該觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的 發(fā)送時(shí)間。消息交換包括觀察計(jì)算機(jī)系統(tǒng)向被觀察計(jì)算機(jī)系統(tǒng)發(fā)送一個(gè)或多個(gè)消息。消息 交換包括觀察計(jì)算機(jī)系統(tǒng)隨后從被觀察計(jì)算機(jī)系統(tǒng)接收響應(yīng)于該消息的相關(guān)消息。該相關(guān) 消息包含來自被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間(其本地時(shí)間)。消息交換包括觀察計(jì)算機(jī)系統(tǒng)記 錄在接收到該相關(guān)消息時(shí)該觀察計(jì)算機(jī)系統(tǒng)處的(本地)時(shí)鐘的接收時(shí)間。消息交換包括 觀察計(jì)算機(jī)系統(tǒng)記錄在接收到該相關(guān)消息時(shí)被觀察計(jì)算機(jī)系統(tǒng)的本地時(shí)間。觀察計(jì)算機(jī)系統(tǒng)基于所記錄的發(fā)送消息的時(shí)間與包括在相關(guān)消息中的來自被觀 察計(jì)算機(jī)系統(tǒng)的時(shí)間之差、時(shí)鐘量程約束、以及時(shí)鐘漂移約束來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處 的時(shí)間相對(duì)于觀察計(jì)算機(jī)系統(tǒng)的本地時(shí)間的下限。觀察計(jì)算機(jī)系統(tǒng)基于所記錄的接收到相 關(guān)消息的本地時(shí)間與包括在該相關(guān)消息中的來自被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間之差、時(shí)鐘量程 約束、以及時(shí)鐘漂移約束來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于觀察計(jì)算機(jī)系統(tǒng)的時(shí)間 的上限。觀察計(jì)算機(jī)系統(tǒng)計(jì)算上限和下限之差。觀察計(jì)算機(jī)系統(tǒng)通過使計(jì)算得到的差除以 平均因子(如計(jì)算得到的差除以2)來計(jì)算觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處 的時(shí)間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的最大偏差。后續(xù)消息交換可被用來進(jìn)一步 細(xì)化下限和上限。觀察計(jì)算機(jī)系統(tǒng)可以基于下限和上限來計(jì)算指示一事件在被觀察計(jì)算機(jī) 系統(tǒng)處發(fā)生的時(shí)間范圍。在其他實(shí)施例中,計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng) 處的時(shí)鐘之間的最大偏差。計(jì)算機(jī)系統(tǒng)訪問時(shí)鐘量程約束。時(shí)鐘量程約束指示異步分布式 系統(tǒng)的計(jì)算機(jī)系統(tǒng)間的時(shí)鐘量化之間的最大差。計(jì)算機(jī)系統(tǒng)訪問漂移率約束。漂移率約束 指示異步分布式系統(tǒng)的每一計(jì)算機(jī)系統(tǒng)在指定時(shí)間段內(nèi)的最大時(shí)鐘漂移。計(jì)算機(jī)系統(tǒng)訪問最大往返約束。最大往返約束指示在異步分布式系統(tǒng)的任何兩個(gè) 計(jì)算機(jī)系統(tǒng)之間進(jìn)行的請(qǐng)求/回復(fù)消息交換的最大時(shí)間量。計(jì)算機(jī)系統(tǒng)基于時(shí)鐘量程約 束、漂移率約束、以及最大往返約束來計(jì)算異步系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)的時(shí)鐘之間的最大 偏差。本發(fā)明的各實(shí)施例可以包括或利用含有計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這將在 以下做出進(jìn)一步討論。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令 和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或 專用計(jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理 存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限 制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同的計(jì)算機(jī)可讀介質(zhì)物理存儲(chǔ)介質(zhì)和傳輸 介質(zhì)。物理存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通 用或?qū)S糜?jì)算機(jī)訪問的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子 數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一通信連接(硬連線、無線、或硬連線或 無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì) 可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置并可由通用或 專用計(jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上面各項(xiàng)的組合也應(yīng)該包括在計(jì)算機(jī)可讀介質(zhì)的 范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程 序代碼裝置可從傳輸介質(zhì)自動(dòng)轉(zhuǎn)移到物理存儲(chǔ)介質(zhì)(或者相反)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù) 鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的 RAM中,然后最終被傳送到計(jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的物理存儲(chǔ)介 質(zhì)。由此,應(yīng)當(dāng)理解,物理存儲(chǔ)介質(zhì)可被包括在同樣(或甚至主要)利用傳輸介質(zhì)的計(jì)算機(jī) 系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令包括例如使通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備執(zhí)行某一 功能或一組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言 等中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主 題,但可以理解的是,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。相反,上述 特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò) 計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息 處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型 計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可以在其中通 過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路 的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)踐。在分布式系 統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。在本說明書及所附權(quán)利要求書中,量化被定義為不是連續(xù)的,即在一定持續(xù)時(shí)間 內(nèi)(例如,1秒)保持一個(gè)值并隨后變成新值。在本說明書及所附權(quán)利要求書中,漂移被定義為一個(gè)時(shí)鐘與另一時(shí)鐘相比不以完 全相同的速度運(yùn)行。因此,在某一時(shí)間量之后,一個(gè)時(shí)鐘可能“漂離”另一時(shí)鐘。時(shí)鐘可在 不同的方向上漂移(例如,相對(duì)于另一時(shí)鐘落后或超前)并能以不同的速度漂移。在不同 的時(shí)刻,個(gè)別的時(shí)鐘的漂移還可響應(yīng)于環(huán)境改變(如周圍溫度、電池電量等)而變化。一般而言,異步系統(tǒng)內(nèi)的時(shí)鐘可以順應(yīng)一個(gè)或多個(gè)約束。例如,實(shí)際的計(jì)算機(jī)時(shí)鐘 可能被限于以非常接近同一速度(由它們本地時(shí)鐘值的前進(jìn)來測量)來度過時(shí)間。因此, 可以用最壞情況的方式來補(bǔ)償時(shí)鐘的機(jī)械制造中的不精密性(相對(duì)很小并且可能無關(guān)緊 要)。因此,本發(fā)明的各實(shí)施例利用考慮這些約束的算法,使得主觀察者可以與其他觀察者 合作來建立關(guān)于從主觀察者的觀點(diǎn)來看的在給定時(shí)間其他觀察者的時(shí)鐘值的相對(duì)強(qiáng)的界 限(即使主觀察者不能直接觀察到其他時(shí)鐘)。因此,本發(fā)明的各實(shí)施例可被實(shí)現(xiàn)來在不使用公共的外部一天中的時(shí)間(time-of-day)時(shí)鐘實(shí)體的情況下提供跨異步系統(tǒng)的最差情況(例如,最大偏差)當(dāng)前時(shí)間 的相對(duì)一致(安全)的視圖。異步分布式系統(tǒng)中的計(jì)算機(jī)系統(tǒng)不依賴公共時(shí)間主機(jī),并且 因此實(shí)際上是“無主機(jī)”的。在一些實(shí)施例中,主觀察者(例如,節(jié)點(diǎn))可以觀察單個(gè)時(shí)鐘(它的時(shí)鐘)的值, 并且一組對(duì)等觀察者(以主觀察者相同的形式)可以向其他觀察者傳遞異步非瞬時(shí)消息, 從而通過觀察者間通信路徑引入不確定的延遲。本發(fā)明的一些示例的描述基于以下符號(hào)來提供1. t0、tl、t2……是公共時(shí)間線中的具體事件指示。2. (tl-tO)描述兩個(gè)事件(tl和t0)之間的確切持續(xù)時(shí)間。3.如果事件t0在另一事件tl之前發(fā)生,則t0 < tl4.X (t0)是在事件t0發(fā)生時(shí)觀察到的時(shí)鐘X的值。3. (X(tl)-X(tO))是兩個(gè)事件(tl和t0)之間的由時(shí)鐘X測量的持續(xù)時(shí)間值(時(shí) 間跨度)。5. 0X定義時(shí)鐘X的觀察者。6. "0X.發(fā)送(0Y,{內(nèi)容}) ”表示0X向0發(fā)送具有指定內(nèi)容的消息(例如,請(qǐng)求) 的事件。7. "0X.接收(0Y,{內(nèi)容})”表示0X向從0Y接收具有指定內(nèi)容的消息(例如,回 復(fù))的事件。因此,在以下異步分布式系統(tǒng)約束下A.時(shí)鐘的值單調(diào)遞增如果t0 < tl,則 X(t0) <= X(tl)B.時(shí)鐘量程Q存在上限,使得對(duì)于任何時(shí)鐘X 如果t0+Q < tl,則 X(t0) < X(tl)C.時(shí)鐘漂移D存在上限,使得對(duì)于任何時(shí)鐘X和事件t0 < tl 如果t0<tl,則(l-D)*(X(tl)-X(t0)) <= (tl-t0)+QD.以及如果t0<tl,則(tl-tO) <= ((l+D)*(X(tl)-X(t0)))+Q利用所描述的符號(hào)并且在具有所描述的約束的異步分布式系統(tǒng)中,可以發(fā)生以下 消息交換序列@t0 :0X 觀察到 X(t0)itl :0X.發(fā)送(0Y,{X(t0)})@t2 :0Y 接收(0X,{X(t0)})@t3 :0Y 觀察到 Y(t3)it4 :0Y.發(fā)送(0X,{X(t0),Y(t3)}it5 :0X.接收(0Y,{X(t0),Y(t3)}@t6 :0X 觀察到 X(t6)該消息交換序列是請(qǐng)求/回復(fù)操作的序列,其中0X向0Y查詢0Y的當(dāng)前本地時(shí)鐘 值,從而記錄它這樣做的時(shí)間(to)和它得到回復(fù)的時(shí)間(t6)。(^現(xiàn)在知道Y在X的本地 時(shí)鐘具有值X(t0)時(shí)的時(shí)間與在X的本地時(shí)鐘具有值X(t6)時(shí)的時(shí)間之間的某一點(diǎn)具有值Y(t3)。雖然可以使用消息的組合來表示全局次序,但0X和0Y中的每一個(gè)可以根據(jù)它們自 己的獨(dú)立時(shí)間線來操作。在沒有漂移的完美本地時(shí)鐘的情況下,(^可以確立與時(shí)鐘Y在t6之后的任何時(shí)刻 t的值有關(guān)的以下界限Y(t) >= X(t)-(X(t6)-Y(t3))
      Y (t) < = X (t) + (Y (t3) -X (tO))考慮量化,0X可以確立與時(shí)鐘Y在t6之后的任何時(shí)刻t的值有關(guān)的以下界限Y(t) >= X(t)-(X(t6)-Y(t3) +2Q)Y(t) <= X(t) + (Y(t3)-X(tO) +2Q)Q項(xiàng)表示時(shí)鐘是量化的。為了理解量化對(duì)每一界限添加了兩個(gè)Q項(xiàng),假定作出了觀 察,使得X(t0) =0,Y(t3) =1以及X(t6) =2。這將暗示著時(shí)鐘處于不確定度為2的同 步中。為了找到實(shí)際的不確定度,可以考慮這三個(gè)時(shí)鐘中的每一個(gè)的可導(dǎo)致這一觀察的邊 界情況
      X觀察到X(t0)Y觀察到Y(jié)(t3)X觀察到X(t6)最大負(fù)誤最大正誤差差0+A1+A2+A110+A1+A3-A12-2A0+A2-A2+A2-2A2A0+A2-A3-A2-2厶11-A1+A2+A2A11-A1+A3-A2A2-2厶1-A2-A2+A12A1-A2-A3-A11前三列指示觀察的時(shí)間相對(duì)于時(shí)鐘變成給定時(shí)間的時(shí)間。例如,在第二列,“2-A ” 指示在Y將其值從1變成2的事件之前的事件的時(shí)間。第四列是列1和2之差,并且第五 列是列2和3之差。取來自最后兩列的最大值并令A(yù)逼近0,可發(fā)現(xiàn)在任一方向上的最大不確定度都 是2。將這一不確定度與觀察到的不確定度相比較,量化引入了量為2的可能誤差。根據(jù)觀 察對(duì)這些值的改變同等地影響觀察到的結(jié)果和可能的邊界情況,這可一般化到任何X(t0)、 Y(t3)以及X(t6)。因此,量化引入等于2Q的誤差項(xiàng)??紤]量化和時(shí)鐘漂移,0X可以確立與時(shí)鐘Y在t6之后的任何時(shí)刻t的值有關(guān)的以 下界限Y(t) >= X(t)-(X(t6)-Y(t3) +2Q)-2D(X(t)-(X(t6) +X(tO))/2+2Q)
      y (t) < = X (t) + (Y (t3) -X (tO) +2Q) +2D (X (t) - (X (t6) +X (tO)) /2+2Q)
      10
      這些值之差是(X (t) + (Y (t3) -X (t0) +2Q) +2D (X (t) - (X (t6) +X (tO)) /2+2Q))-(X (t) - (X (t6) -Y (t3) +2Q) -2D (X (t) - (X (t6) +X (tO)) /2+2Q))= X (t) -X (t) +Y (t3) -Y (t3) +X (t6) -X (tO) +4Q+4D (X (t) - (X (t6) +X (tO)) /2+2Q)= X (t6) -X (tO) +4Q+4D (X (t) - (X (t6) +X (tO)) /2+2Q)這暗示最大誤差是(X (t6) -X (tO)) /2+2Q+2D (X (t) - (X (t6) +X (tO)) /2+2Q)在該表達(dá)式中,(X(t6)-X(t0))是從 到 并返回的請(qǐng)求-回復(fù)交互所花的時(shí)間。 Q取決于時(shí)鐘的值被更新的頻率。最后一項(xiàng)2D(X(t)-(X(t6)+X(tO))/2+2Q)指示界限如何 因?yàn)榭赡艿臅r(shí)鐘漂移而隨時(shí)間變?nèi)?即,衰減)。消息交換序列查詢可以重復(fù)多次并且0X可以選擇來自任何查詢的最緊上限,并可 選擇來自任何查詢的最緊下限。在選擇時(shí),最緊上限和最緊下限不必來自同一查詢。通過 周期性地重復(fù)消息交換序列查詢,觀察者(在該示例中是ox)可以最小化第三項(xiàng),因?yàn)樵谌?何時(shí)刻T都將具有最近的測量。圖1示出異步分布式系統(tǒng)100,它便于對(duì)異步分布式系統(tǒng)系統(tǒng)100中的時(shí)鐘進(jìn)行 同步。參考圖1,計(jì)算機(jī)體系結(jié)構(gòu)100并可計(jì)算機(jī)系統(tǒng)101、151以及其他計(jì)算機(jī)系統(tǒng)191。 所描繪的計(jì)算機(jī)系統(tǒng)中的每一個(gè)及其對(duì)應(yīng)的組件可通過諸如例如局域網(wǎng)(“LAN”)、廣域網(wǎng) (“WAN”)、通用串行總線(USB)或甚至因特網(wǎng)等網(wǎng)絡(luò)(或作為網(wǎng)絡(luò)的一部分)彼此連接。因 此,所描繪的組件中的每一個(gè)以及任何其他連接的組件都可以創(chuàng)建消息相關(guān)數(shù)據(jù)并通過網(wǎng) 絡(luò)交換消息相關(guān)數(shù)據(jù)(例如,網(wǎng)際協(xié)議(“IP”)數(shù)據(jù)報(bào)和利用IP數(shù)據(jù)報(bào)的其他更高層協(xié)議, 諸如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡單郵件傳輸協(xié)議(“SMTP”)
      寸J o異步分布式系統(tǒng)100實(shí)際上可以是任何類型的異步系統(tǒng),如對(duì)等系統(tǒng)。如圖所示,計(jì)算機(jī)系統(tǒng)101包括時(shí)鐘管理模塊102和時(shí)鐘103。一般而言,計(jì)算機(jī) 系統(tǒng)101被配置成參與同其他計(jì)算機(jī)系統(tǒng)的請(qǐng)求/回復(fù)消息交換序列,并基于與該請(qǐng)求/ 回復(fù)消息交換序列相關(guān)聯(lián)的時(shí)間數(shù)據(jù)來維護(hù)被觀察計(jì)算機(jī)系統(tǒng)處的所聲稱的時(shí)間。時(shí)鐘管理模塊102被配置成記錄并維護(hù)與計(jì)算機(jī)系統(tǒng)101同異步分布式系統(tǒng)100 的其他計(jì)算機(jī)系統(tǒng)之間的通信相關(guān)聯(lián)的時(shí)間數(shù)據(jù)(例如,時(shí)間數(shù)據(jù)194)。時(shí)鐘管理模塊102 可以當(dāng)在計(jì)算機(jī)系統(tǒng)101處發(fā)送和接收消息時(shí)記錄時(shí)鐘103處的時(shí)間。時(shí)鐘管理模塊102 還可以存儲(chǔ)從被觀察計(jì)算機(jī)系統(tǒng)(例如,計(jì)算機(jī)系統(tǒng)151)接收到的、包含在作為請(qǐng)求/回 復(fù)消息交換序列的一部分接收到的回復(fù)消息中的時(shí)間。根據(jù)所記錄的時(shí)間和接收到的時(shí) 間,時(shí)鐘管理模塊102可以指示指定范圍內(nèi)事件在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生的時(shí)間。如圖所示,計(jì)算機(jī)系統(tǒng)151包括時(shí)鐘管理模塊152和時(shí)鐘153。一般而言,計(jì)算機(jī) 系統(tǒng)151被配置成參與同其他計(jì)算機(jī)系統(tǒng)的請(qǐng)求/回復(fù)消息交換序列,并基于與該請(qǐng)求/ 回復(fù)消息交換序列相關(guān)聯(lián)的時(shí)間數(shù)據(jù)來維護(hù)被觀察計(jì)算機(jī)系統(tǒng)處的所聲稱的時(shí)間。時(shí)鐘管理模塊152被配置成記錄并維護(hù)與計(jì)算機(jī)系統(tǒng)151同異步分布式系統(tǒng)100 的其他計(jì)算機(jī)系統(tǒng)之間的通信相關(guān)聯(lián)的時(shí)間數(shù)據(jù)。時(shí)鐘管理模塊152可以當(dāng)在計(jì)算機(jī)系統(tǒng) 151處發(fā)送和接收消息時(shí)記錄時(shí)鐘153處的時(shí)間。時(shí)鐘管理模塊152還可以存儲(chǔ)從被觀察計(jì)算機(jī)系統(tǒng)(例如,計(jì)算機(jī)系統(tǒng)101)接收到的、包含在作為請(qǐng)求/回復(fù)消息交換序列的一 部分接收到的回復(fù)消息中的時(shí)間。根據(jù)所記錄的時(shí)間和接收到的時(shí)間,時(shí)鐘管理模塊152 可以指示指定范圍內(nèi)事件在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生的時(shí)間。本發(fā)明的各實(shí)施例包括觀察他們自己的時(shí)鐘并推斷其他時(shí)鐘的值的范圍的各個(gè) 計(jì)算機(jī)系統(tǒng)。例如,計(jì)算機(jī)系統(tǒng)101可以觀察時(shí)鐘103并可以推斷時(shí)鐘153 (以及其他計(jì)算 機(jī)系統(tǒng)191處的時(shí)鐘)的值的范圍。類似地,計(jì)算機(jī)系統(tǒng)151可以觀察時(shí)鐘153并可以推 斷時(shí)鐘103(以及其他計(jì)算機(jī)系統(tǒng)191處的時(shí)鐘)的值的范圍。其他計(jì)算機(jī)系統(tǒng)191也可 以觀察它們自己的時(shí)鐘并推斷時(shí)鐘103和153中的每一個(gè)的值的范圍。時(shí)鐘管理模塊還可以用異步分布式系統(tǒng)100中的各時(shí)鐘之間的最大量化差Q(例 如,量化192)和異步分布式系統(tǒng)100中的每時(shí)間段D的最大時(shí)鐘漂移(例如,漂移193)來 配置。因此,本發(fā)明的一些實(shí)施例包括利用請(qǐng)求/回復(fù)消息交換來確定觀察計(jì)算機(jī)系統(tǒng) 所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的偏差。請(qǐng)求 /回復(fù)消息交換可包括請(qǐng)求消息和對(duì)應(yīng)的回復(fù)消息。例如,消息交換184包括請(qǐng)求181和回 復(fù)182。根據(jù)所確定的偏差,觀察計(jì)算機(jī)系統(tǒng)可以例如推斷被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的值 的范圍。然而,還可以使用具有更松散相互關(guān)系(例如,比明確的請(qǐng)求/回復(fù)更松散)的消 肩、o因此,本發(fā)明的一些實(shí)施例包括利用在所發(fā)送和接收到的消息之間具有較松散相 互關(guān)系的請(qǐng)求/回復(fù)消息交換來確定觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí) 間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的偏差。例如,一個(gè)計(jì)算機(jī)可以發(fā)送多個(gè)請(qǐng)求并 收回較少數(shù)量的對(duì)應(yīng)響應(yīng)或只收回一個(gè)對(duì)應(yīng)響應(yīng)(例如,由其他消息交換185表示)。此 外,來自一個(gè)計(jì)算機(jī)的回復(fù)還可以表示從該一個(gè)計(jì)算機(jī)回到另一計(jì)算機(jī)的請(qǐng)求。因此,消息 可以表示請(qǐng)求和回復(fù)兩者。另外,通常不需要規(guī)定要在何時(shí)返回對(duì)接收到的請(qǐng)求的回復(fù)。因 此,即使在請(qǐng)求/回復(fù)對(duì)之間存在強(qiáng)相關(guān)的情況下,對(duì)何時(shí)返回回復(fù)也沒有約束。例如,在 請(qǐng)求/回復(fù)184內(nèi),沒有規(guī)定響應(yīng)于接收到請(qǐng)求181在何時(shí)返回回復(fù)182的時(shí)間約束。圖2是用于確定觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間與被觀察 計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的偏差的示例方法200的流程圖,該方法包括。將參考異步 分布式系統(tǒng)100中的組件和數(shù)據(jù)來描述方法200。方法200包括參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換的動(dòng)作(動(dòng)作 201)。例如,計(jì)算機(jī)系統(tǒng)101可以參與同計(jì)算機(jī)系統(tǒng)151的消息交換184?;蛘?,計(jì)算機(jī)系 統(tǒng)101可以參與一個(gè)或多個(gè)其他消息交換185。與消息交換184相比,這些消息交換可以 具有請(qǐng)求和回復(fù)之間的更松散耦合。在其他實(shí)施例中,計(jì)算機(jī)系統(tǒng)101參與其他消息交換 185但不參與消息交換184。因此,計(jì)算機(jī)系統(tǒng)101可以參與不包括任何請(qǐng)求/回復(fù)消息交 換的相關(guān)消息的松散耦合消息交換。參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換可包括記錄在發(fā)送消息時(shí)觀察 計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的時(shí)間的動(dòng)作(動(dòng)作202)。例如,時(shí)鐘管理模塊102可以在時(shí)間數(shù)據(jù) 194中記錄時(shí)間條目171。時(shí)間條目171記錄在計(jì)算機(jī)系統(tǒng)101發(fā)送請(qǐng)求181時(shí)時(shí)鐘103處 的時(shí)間,例如以小時(shí)分鐘秒.毫秒的格式。因此,時(shí)間條目181指示請(qǐng)求181是在時(shí)鐘 103指示時(shí)間8點(diǎn)時(shí)發(fā)送的。作為替換或組合,還可以為其他請(qǐng)求(例如,要包括在其他消息交換185中的請(qǐng)求)添加時(shí)間條目。參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換可 包括向被觀察計(jì)算機(jī)系統(tǒng)發(fā)送消息的動(dòng)作(動(dòng)作203),該消息包括所記錄的發(fā)送時(shí)間。例 如,計(jì)算機(jī)系統(tǒng)101可以向計(jì)算機(jī)系統(tǒng)151發(fā)送請(qǐng)求181。請(qǐng)求181可包括來自時(shí)間條目 171的信息。作為替換或組合,也可以從計(jì)算機(jī)系統(tǒng)101將一個(gè)或多個(gè)其他請(qǐng)求(例如,作 為其他消息交換185的一部分)發(fā)送到計(jì)算機(jī)系統(tǒng)151。參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換可包括隨后從被觀察計(jì)算機(jī)系 統(tǒng)接收響應(yīng)于該消息的相關(guān)消息的動(dòng)作(動(dòng)作204),該相關(guān)消息包含來自被觀察計(jì)算機(jī)系 統(tǒng)的時(shí)間。例如,計(jì)算機(jī)系統(tǒng)101可以接收來自計(jì)算機(jī)系統(tǒng)151的回復(fù)182?;貜?fù)182包括 時(shí)間183。時(shí)間183指示在時(shí)鐘153處觀察到的時(shí)間(例如,發(fā)送182回復(fù)的時(shí)間、處理請(qǐng) 求181的時(shí)間,等等)。作為替換或組合,也可從計(jì)算機(jī)系統(tǒng)151接收一個(gè)或多個(gè)其他回復(fù) (例如,其他消息交換185中包括的回復(fù))。因此,一個(gè)或多個(gè)回復(fù)可包括指示在時(shí)鐘153 處觀察到的時(shí)間的時(shí)間。參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換可包括記錄在接收到相關(guān)消息 時(shí)觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的接收時(shí)間的動(dòng)作(動(dòng)作205)。例如,時(shí)鐘管理模塊102可以 在時(shí)間數(shù)據(jù)194中記錄時(shí)間條目172。時(shí)間條目172記錄在計(jì)算機(jī)系統(tǒng)101接收到回復(fù)182 時(shí)時(shí)鐘103處的時(shí)間。因此,時(shí)間條目172指示回復(fù)182是在時(shí)鐘103指示時(shí)間8點(diǎn)又64 毫秒時(shí)接收到的。作為替換或組合,時(shí)鐘管理模塊102還可以(在時(shí)間數(shù)據(jù)194中)記錄 指示何時(shí)接收到其他消息交換185包括的其他回復(fù)的時(shí)間條目。參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換可包括記錄來自被觀察計(jì)算機(jī) 系統(tǒng)的時(shí)間的動(dòng)作(動(dòng)作206)。例如,時(shí)鐘管理模塊102可以在時(shí)間數(shù)據(jù)194中記錄時(shí)間 條目173。時(shí)間條目173記錄在時(shí)鐘153處觀察到的計(jì)算機(jī)系統(tǒng)151的時(shí)間(例如,接收到 請(qǐng)求181、在請(qǐng)求181的處理期間,等等)。時(shí)間條目173指示在請(qǐng)求回復(fù)交換序列184期 間是在8點(diǎn)又43毫秒觀察到時(shí)鐘153的時(shí)間。作為替換或組合,時(shí)鐘管理模塊102還可以 (在時(shí)間數(shù)據(jù)194中)記錄用于其他消息交換185中包括的其他回復(fù)中所包含的時(shí)間的時(shí) 間條目。方法200包括基于所記錄的發(fā)送消息的時(shí)間與來自被觀察計(jì)算機(jī)系統(tǒng)的包括在 相關(guān)消息中的時(shí)間之差來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于觀察計(jì)算機(jī)系統(tǒng)的時(shí)間 的下限的動(dòng)作(動(dòng)作207)。例如,時(shí)鐘管理模塊102可以計(jì)算時(shí)鐘103的時(shí)間相對(duì)于時(shí)鐘 153的下限161。時(shí)鐘管理模塊102可以實(shí)現(xiàn)上述公式來計(jì)算關(guān)于時(shí)鐘153的下限161。因 此,在接收到回復(fù)182并且觀察到時(shí)鐘103讀數(shù)8:00:00. 064的時(shí)刻,下限161可以如下計(jì) 算時(shí)鐘 153> =8:00:00. 064-(8:00:00. 064-8 00 00. 043+15 毫秒)-2 (0. 0007) (8:00:00. 064- (8:00:00. 064+8 00 00. 000) /2+15 毫秒)時(shí)鐘 153 >= 8:00:00. 064-(21 毫秒 +15 毫秒)-0. 0014(32 毫秒 +15 毫秒)時(shí)鐘 153 >= 8:00:00. 064-36 毫秒-0. 07 毫秒時(shí)鐘 153 >= 8:00:00. 027作為替換或組合,時(shí)鐘管理模塊102還可從與其他消息交換185中的其他請(qǐng)求和其他回復(fù)相關(guān)的時(shí)間條目來計(jì)算下限161。方法200包括基于所記錄的接收到相關(guān)消息的時(shí)間與來自被觀察計(jì)算機(jī)系統(tǒng)的 包括在該相關(guān)消息中的時(shí)間之差來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于觀察計(jì)算機(jī)系 統(tǒng)的時(shí)間的上限的動(dòng)作(動(dòng)作208)。例如,時(shí)鐘管理模塊102可以計(jì)算時(shí)鐘103的時(shí)間相 對(duì)于時(shí)鐘153的上限162。時(shí)鐘管理模塊102可以實(shí)現(xiàn)上述公式來計(jì)算關(guān)于時(shí)鐘153的上 限161。因此,在接收到回復(fù)183并且觀察到時(shí)鐘103讀數(shù)8:00:00. 064的時(shí)刻,上限162 可以如下計(jì)算時(shí)鐘 153< =8:00:00. 064+(8:00:00. 043-8 00 00. 000+15 毫秒) +2 (0. 0007) (8:00:00. 064- (8:00:00. 064+8 00 00. 000) /2+15 毫秒)時(shí)鐘 153 <= 8:00:00. 064+ (43 毫秒 +15 毫秒)+0. 0014(32 毫秒 +15 毫秒)時(shí)鐘 153 <= 8:00:00. 064+58 毫秒 +0. 07 毫秒時(shí)鐘 153 <= 8:00:00. 123作為替換或組合,時(shí)鐘管理模塊102還可從與其他消息交換185中的其他請(qǐng)求和 其他回復(fù)相關(guān)的時(shí)間條目來計(jì)算上限162。方法200包括計(jì)算上限和下限之差的動(dòng)作(動(dòng)作209)。例如,時(shí)鐘管理模塊102 可以計(jì)算上限162和下限161之差。在接收到回復(fù)182的時(shí)刻并考慮量化192,上限162和 下限161之差大約等于123毫秒-27毫秒,即96毫秒。方法200包括通過將計(jì)算得到的差除以平均因子來計(jì)算觀察計(jì)算機(jī)系統(tǒng)所聲稱 的被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間與被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的最大偏差的動(dòng)作 (動(dòng)作210)。例如,時(shí)鐘管理模塊102可以將96毫秒除以2來計(jì)算得到48毫秒。時(shí)鐘103 與153之間的偏移量的中點(diǎn)是((8:00:00. 027+8:00:00. 123)/2)-80000. 064,這指示時(shí) 鐘153比時(shí)鐘103大約提前12毫秒。如上所述,作為消息交換184的替換或與其組合,計(jì)算機(jī)系統(tǒng)101可以參與同計(jì) 算機(jī)系統(tǒng)151的其他消息交換。因此,所推斷的時(shí)間范圍的下限和/或上限可以基于這 些其他消息交換來進(jìn)行細(xì)化。因此,下限161可以在任何后續(xù)發(fā)送時(shí)間-觀察到的時(shí)間 小于大于-43毫秒時(shí)進(jìn)行細(xì)化。例如,如果發(fā)送時(shí)間是8:01:27. 53并且觀察到的時(shí)間是 8:01:27. 69,則下限161可被細(xì)化成_(16毫秒+20毫秒+時(shí)鐘漂移分量)。類似地,上限 162可以在任何后續(xù)接收時(shí)間-觀察到的時(shí)間小于小于21毫秒時(shí)進(jìn)行細(xì)化。例如,如果接 收時(shí)間是8:03:52. 07并且觀察到的時(shí)間是8:03:51. 92,則上限162可被細(xì)化成(15毫秒 +20毫秒+時(shí)鐘漂移分量)。下限和上限兩者可以指示觀察計(jì)算機(jī)系統(tǒng)時(shí)鐘落后被觀察時(shí)鐘的某一時(shí)間量。例 如,下限可以是-47毫秒且上限可以是-12毫秒。下限和上限的這一組合指示計(jì)算機(jī)系統(tǒng) 時(shí)鐘落后被觀察時(shí)鐘至少12毫秒并且落后被觀察時(shí)鐘不超過47毫秒。類似地,下限和上限兩者可以指示觀察計(jì)算機(jī)系統(tǒng)時(shí)鐘超前被觀察時(shí)鐘的某一時(shí) 間量。例如,下限可以是17毫秒且上限可以是82毫秒。下限和上限的這一組合指示計(jì)算 機(jī)系統(tǒng)時(shí)鐘超前被觀察時(shí)鐘至少17毫秒并且超前被觀察時(shí)鐘不超過82毫秒。在一些實(shí)施例中,時(shí)鐘管理模塊被配置成至少在預(yù)定義時(shí)間間隔上(如,每分鐘、每兩分鐘,等等)啟動(dòng)請(qǐng)求/回復(fù)消息交換或其他消息交換。消息交換可以承載在異步分 布式系統(tǒng)中的各計(jì)算機(jī)系統(tǒng)之間交換的其他(例如,應(yīng)用程序)消息上。還可以根據(jù)其他 策略(如越過漂移限度)來啟動(dòng)用于時(shí)鐘同步的請(qǐng)求/回復(fù)或其他消息交換。在推斷了被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間之后,觀察計(jì)算機(jī)可以使用所推斷的時(shí)間來 計(jì)算一事件在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生或可能(即,將要)發(fā)生的時(shí)間的時(shí)間界限。因此,本發(fā)明的各實(shí)施例便于兩個(gè)計(jì)算機(jī)系統(tǒng)之間對(duì)時(shí)間共同理解,即對(duì)時(shí)間的 度過的安全視圖。例如,從最大偏差或時(shí)間范圍,觀察計(jì)算機(jī)系統(tǒng)可以制定被觀察計(jì)算機(jī)系 統(tǒng)處的時(shí)間度過的安全視圖。從安全的觀點(diǎn)看,觀察計(jì)算機(jī)系統(tǒng)可以假定(在計(jì)算得到的 界限內(nèi))過去事件何時(shí)在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生。例如,計(jì)算機(jī)系統(tǒng)101可以假定事件 196何時(shí)在計(jì)算機(jī)系統(tǒng)151處發(fā)生。同樣從安全觀點(diǎn)看,兩個(gè)計(jì)算機(jī)系統(tǒng)可以就一事件要在 將來何時(shí)發(fā)生達(dá)成一致。結(jié)果,一個(gè)計(jì)算機(jī)系統(tǒng)可以假定(在計(jì)算得到的界限內(nèi))一事件 何時(shí)將在另一計(jì)算機(jī)系統(tǒng)處發(fā)生。圖3是用于指示一事件在被觀察計(jì)算機(jī)系統(tǒng)處的發(fā)生時(shí)間的示例方法的流程圖。方法300包括參與同被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)消息交換的動(dòng)作(動(dòng)作 301)。每一消息交換包括記錄在發(fā)送請(qǐng)求消息時(shí)觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的時(shí)間的動(dòng)作 (動(dòng)作302)。每一消息交換包括向被觀察計(jì)算機(jī)系統(tǒng)發(fā)送一個(gè)或多個(gè)請(qǐng)求消息的動(dòng)作(動(dòng) 作303),每一請(qǐng)求消息包括對(duì)應(yīng)的所記錄的發(fā)送時(shí)間。每一消息交換包括隨后從被觀察計(jì) 算機(jī)系統(tǒng)接收響應(yīng)于請(qǐng)求消息的一個(gè)或多個(gè)回復(fù)消息的動(dòng)作(動(dòng)作304),回復(fù)消息包含來 自被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間。每一消息交換包括記錄在接收到回復(fù)消息時(shí)觀察計(jì)算機(jī)系統(tǒng) 處的時(shí)鐘的時(shí)間的動(dòng)作(動(dòng)作305)。例如,計(jì)算機(jī)系統(tǒng)101可以參與消息交換184和其他消息交換185。每一消息交換 可包括發(fā)送一個(gè)或多個(gè)請(qǐng)求(例如,181),記錄發(fā)送每一請(qǐng)求的時(shí)間(例如,171),接收一 個(gè)或多個(gè)回復(fù)(例如,182),記錄接收到每一回復(fù)的時(shí)間(例如,172),以及記錄包含在來自 觀察者計(jì)算機(jī)系統(tǒng)的回復(fù)(例如,173)中的時(shí)間(例如,183)。方法300包括基于一個(gè)或多個(gè)消息交換來計(jì)算被觀察計(jì)算機(jī)系統(tǒng)相對(duì)于觀察計(jì) 算機(jī)系統(tǒng)的時(shí)間的時(shí)間界限的動(dòng)作(動(dòng)作306),該時(shí)間界限被配置成在該一個(gè)或多個(gè)消息 交換之后被應(yīng)用于觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間以聲稱被觀察計(jì)算機(jī)系統(tǒng)處的指定時(shí)間范圍。 該時(shí)間界限包括表示計(jì)算得到的時(shí)間界限的底部的時(shí)間下限和表示計(jì)算得到的時(shí)間界限 的頂部的時(shí)間上限。例如,計(jì)算機(jī)系統(tǒng)101可以計(jì)算并細(xì)化下限161和上限162。方法300包括觀察計(jì)算機(jī)系統(tǒng)在一個(gè)或多個(gè)消息交換之后接收指示的動(dòng)作(動(dòng)作
      307),該指示選自以下各項(xiàng)a)過去事件在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生的指示以及b)—事件 何時(shí)將在被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生的指示。例如,計(jì)算機(jī)系統(tǒng)101可以檢測事件196。在接 收到事件196之后,時(shí)鐘管理模塊可以在時(shí)間數(shù)據(jù)194中記錄時(shí)間條目174。時(shí)間條目194 指示在8:00:28. 016時(shí)檢測到事件196。或者,計(jì)算機(jī)系統(tǒng)101可以接收一事件何時(shí)將在計(jì) 算機(jī)系統(tǒng)151處發(fā)生的指示并記錄該事件要在何時(shí)發(fā)生的時(shí)間條目。方法300包括觀察計(jì)算機(jī)系統(tǒng)計(jì)算被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間范圍的動(dòng)作(動(dòng)作
      308),該時(shí)間范圍指示在被觀察計(jì)算機(jī)系統(tǒng)處a)過去事件何時(shí)發(fā)生或b)事件何時(shí)將在被 觀察計(jì)算機(jī)系統(tǒng)處發(fā)生,該時(shí)間范圍是基于在接收到指示時(shí)觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間并基 于計(jì)算得到的時(shí)間界限的下限和上限來計(jì)算的。例如,根據(jù)時(shí)間條目174,時(shí)鐘管理模塊102可以計(jì)算指示事件196在計(jì)算機(jī)系統(tǒng)151處何時(shí)發(fā)生的時(shí)間范圍。如此,新下限可如下 計(jì)算時(shí)鐘 153> =8:00:00. 064-(8:00:00. 064-8:00:00. 043+15 毫秒)-2(0. 0007) (8:00:28. 016-(8 00 00. 064+8:00:00. 000)/2+15 毫秒)時(shí)鐘 153 >= 8:00:00. 064-(21 毫秒 +15 毫秒)-() 0014(28,016 毫秒-32毫秒+15毫秒)時(shí)鐘 153 >= 8:00:00. 064-36 毫秒-39. 2 毫秒時(shí)鐘 153 >= 7:59:59. 089并且新上限可如下計(jì)算時(shí)鐘 153< =8:00:00. 064+(8:00:00. 043-8 00 00. 000+15 毫秒)+2(0. 0007) (8:00:28. 016-(8 00 00. 064+8:00:00. 000)/2+15 毫秒)時(shí)鐘 153 <= 8:00:00. 064+ (43 毫秒 +15 毫秒)+0. 0014(32 毫秒 +15 毫秒)時(shí)鐘 153 <= 8:00:00. 064+58 毫秒 +39. 2 毫秒時(shí)鐘 153 <= 8:00:00. 161因此,在檢測到事件196的時(shí)刻并考慮量化192,上限162和下限161之差大約等 于161毫秒-(-11毫秒),即172毫秒。時(shí)鐘管理模塊102可以將172毫秒除以2以計(jì)算 得到86毫秒作為最大偏差。這一新偏差可被用來計(jì)算時(shí)間186,即事件196在計(jì)算機(jī)系統(tǒng) 151處發(fā)生的推斷時(shí)間(在最大偏差內(nèi))。時(shí)鐘103和153之間的偏移量的中點(diǎn)是((8:00:27. 970+8:00:28. 102)/2)-8 00 28. 0168:00:28. 066-8:00:28. 016 = 50毫秒,這指示時(shí)鐘153比時(shí)鐘103超前50毫秒?;蛘?,可以計(jì)算一事件將要發(fā)生的時(shí)間的下限和上限。方法300包括向一個(gè)或多個(gè)其他計(jì)算機(jī)系統(tǒng)發(fā)送包括指示和計(jì)算得到的時(shí)間范 圍的事件消息的動(dòng)作(動(dòng)作309)。例如,計(jì)算機(jī)系統(tǒng)100可以向其他計(jì)算機(jī)系統(tǒng)191發(fā)送 包括事件196 (或事件196將在何時(shí)發(fā)生的指示)和時(shí)間186的事件消息197。接收到事 件消息197的計(jì)算機(jī)系統(tǒng)可以基于事件消息197來作出關(guān)于計(jì)算機(jī)系統(tǒng)151的狀態(tài)的判 定。例如,一計(jì)算機(jī)系統(tǒng)可以從計(jì)算機(jī)系統(tǒng)151接收計(jì)算機(jī)系統(tǒng)151在8:00:15. 13時(shí)在 線的指示。該計(jì)算機(jī)系統(tǒng)隨后可以接收指示計(jì)算機(jī)系統(tǒng)151離線的事件消息197。因?yàn)?8 00 28. 016 士86毫秒在8 00 15. 13之后,所以該計(jì)算機(jī)系統(tǒng)可以調(diào)整它的關(guān)于計(jì)算機(jī)系 統(tǒng)151的狀態(tài)。情況有可能是最大偏差造成與先前接收到的時(shí)間的重疊,從而造成關(guān)于哪一事件 發(fā)生得更早的潛在沖突。例如,如果時(shí)間184是8:00:15. 47士90. 22毫秒,則偏差造成存在 著事件196實(shí)際上在8:00:15. 13之前發(fā)生的某種幾率。在這種情況下,接收事件消息的計(jì) 算機(jī)系統(tǒng)可以參考預(yù)定義規(guī)則(例如,服務(wù)級(jí)協(xié)定)來解決沖突。隨時(shí)間流逝,計(jì)算機(jī)系統(tǒng)可以計(jì)算請(qǐng)求/回復(fù)(或其他消息)交換的平均完成時(shí) 間。使用這一平均值和預(yù)定義時(shí)間間隔,計(jì)算機(jī)系統(tǒng)可以估計(jì)時(shí)間差的最壞情況誤差界限。例如,參考圖1,如果請(qǐng)求/回復(fù)消息交換的平均完成時(shí)間是40毫秒并且預(yù)定義時(shí)間間隔是 30秒,則最壞情況誤差界限可以計(jì)算為士 [(40毫秒/2)+20毫秒+2*((· 5分鐘/24)*60分 鐘)*(60 秒)]=81. 5 毫秒。情況有可能是系統(tǒng)如從平均值或甚至從硬件規(guī)范中已經(jīng)知道時(shí)鐘量程約束、漂移 率約束、以及最大往返約束的(至少所估計(jì)的)值。最大誤差等式可被用來計(jì)算(異步分 布式系統(tǒng)中的各計(jì)算機(jī)系統(tǒng)之間的)觀察計(jì)算機(jī)系統(tǒng)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間 與被觀察計(jì)算機(jī)處的實(shí)際時(shí)間的最大偏差。圖5示出便于計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)處 的時(shí)鐘之間的最大偏差的示例計(jì)算機(jī)體系結(jié)構(gòu)500。圖4是用于計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng) 的異步分布式系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)處的時(shí)鐘之間的最大偏差的示例方法400的流程圖。 方法400將參考計(jì)算機(jī)體系結(jié)構(gòu)500中的組件和數(shù)據(jù)來描述。方法400包括訪問時(shí)鐘量程約束的動(dòng)作(動(dòng)作401),時(shí)鐘量程約束指示異步分布 式系統(tǒng)的各計(jì)算機(jī)系統(tǒng)之間的時(shí)鐘量化間的最大差。例如,計(jì)算機(jī)系統(tǒng)501可以訪問時(shí)鐘 量程約束511,如硬件規(guī)范Q = 15毫秒。方法400包括訪問漂移率約束的動(dòng)作(動(dòng)作402),漂移率約束指示異步分布式系 統(tǒng)的每一計(jì)算機(jī)系統(tǒng)在指定時(shí)間段內(nèi)的最大時(shí)鐘漂移。觀察者可以學(xué)習(xí)指定被觀察者的最 壞情況漂移或針對(duì)這一最壞情況漂移來配置?;蛘?,觀察者可被配置成對(duì)任何被觀察者都 假定最壞情況漂移。例如,計(jì)算機(jī)系統(tǒng)501可以訪問時(shí)鐘漂移率約束512,如D <每天1分 鐘漂移。因此,時(shí)鐘漂移率約束512可應(yīng)用于特定被觀察者或任何被觀察者。方法400包括訪問最大往返約束的動(dòng)作(動(dòng)作403),最大往返約束指示在異步分 布式系統(tǒng)的任何兩個(gè)計(jì)算機(jī)系統(tǒng)之間發(fā)生的請(qǐng)求/回復(fù)消息交換的最大時(shí)間量。例如,計(jì) 算機(jī)系統(tǒng)501可以訪問最大往返約束513。往返約束513可以例如根據(jù)計(jì)算機(jī)系統(tǒng)101 — 分鐘查詢一次計(jì)算機(jī)系統(tǒng)151并且往返時(shí)間小于50毫秒來得到。方法400包括基于時(shí)鐘量程約束、漂移率約束、以及最大往返約束來計(jì)算異步系 統(tǒng)的不同計(jì)算機(jī)系統(tǒng)的時(shí)鐘之間的最大偏差的動(dòng)作。例如,計(jì)算機(jī)系統(tǒng)501可以基于時(shí)鐘 量程約束511、時(shí)鐘漂移率約束512、以及往返約束513來計(jì)算最大時(shí)鐘偏差514。最大偏差等式便于觀察計(jì)算機(jī)系統(tǒng)了解被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間總是處于計(jì) 算得到的界限內(nèi)。在一些實(shí)施例中,可以使用以下最大偏差等式((接收時(shí)間-發(fā)送時(shí)間)/2)+Q+(2D*(T-平均值(發(fā)送時(shí)間,接收時(shí)間)+Q))或者在預(yù)定或指定值的情況下(R/2)+Q+(2*D*預(yù)定義請(qǐng)求/回復(fù)消息交換時(shí)間間隔)因此,根據(jù)參考方法400描述的各個(gè)約束,最大偏差便于觀察計(jì)算機(jī)系統(tǒng)了解被 觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間總是處于(50毫秒/2)+15毫秒+(2*(1分鐘/24*60分鐘)*(60 秒))之內(nèi),這是25毫秒+15毫秒+83毫秒=123毫秒。此外,緊接著消息交換序列查詢 之后,時(shí)鐘漂移率約束D分量對(duì)最大誤差的影響接近于0。S卩,(2*( 0/24*60分鐘)*(60 秒))=O0因此,緊接著消息交換序列查詢之后,觀察計(jì)算機(jī)系統(tǒng)可以了解被觀察計(jì)算機(jī)系 統(tǒng)處的時(shí)間大約是25毫秒+15毫秒+0毫秒=40毫秒。因此,本發(fā)明的各實(shí)施例便于創(chuàng)建跨諸如常見異步(分布式)系統(tǒng)內(nèi)的各個(gè)成員 等一組對(duì)等節(jié)點(diǎn)(觀察者)的可信且實(shí)際的公共時(shí)間(一天中的時(shí)間)基準(zhǔn)??梢栽诓粎⒖脊仓鳈C(jī)的情況下,經(jīng)由跟蹤并累積節(jié)點(diǎn)(觀察者)對(duì)之間的最壞情況相對(duì)時(shí)間偏移來 創(chuàng)建一類偽同步系統(tǒng)??梢曰诠?jié)點(diǎn)對(duì)之間的定序的交互來形成直接和間接因果關(guān)系。如 此,給定對(duì)一個(gè)節(jié)點(diǎn)的觀察,合作節(jié)點(diǎn)可以基本上確保另一個(gè)節(jié)點(diǎn)將觀察到的一天的時(shí)間 的下限。因此,本發(fā)明的各實(shí)施例可被應(yīng)用來在不使用公共外部一天內(nèi)的時(shí)間時(shí)鐘實(shí)體的 情況下提供跨這樣的異步系統(tǒng)的最壞情況(即,最大偏差)當(dāng)前時(shí)間的一致(基本上安全) 的視圖。 在不偏離本發(fā)明的精神或必要特征的情況下,本發(fā)明能以其他具體形式來實(shí)現(xiàn)。 所描述的實(shí)施例在各個(gè)方面都只作為說明性的,而不是限制性的。因此,本發(fā)明的范圍由所 附權(quán)利要求書而不是由前面的描述指出。在權(quán)利要求的等效方案內(nèi)的含義和范圍內(nèi)的所有 更改都將包括在它們的范圍內(nèi)。
      權(quán)利要求
      一種在包括多個(gè)計(jì)算機(jī)系統(tǒng)(101、151、191)的異步分布式系統(tǒng)(100)中的觀察計(jì)算機(jī)系統(tǒng)(101)處的、用于確定所述觀察計(jì)算機(jī)系統(tǒng)(100)所聲稱的被觀察計(jì)算機(jī)系統(tǒng)(151)處的時(shí)間與所述被觀察計(jì)算機(jī)系統(tǒng)(151)處的實(shí)際時(shí)間之間的偏差的方法,所述觀察計(jì)算機(jī)系統(tǒng)(101)包括處理器和系統(tǒng)存儲(chǔ)器,所述異步分布式系統(tǒng)(100)具有時(shí)鐘量化約束(192)和漂移率約束(193),所述時(shí)鐘量化約束(192)指示所述異步分布式系統(tǒng)(100)的各計(jì)算機(jī)系統(tǒng)(101、151、191)之間的時(shí)鐘量化間的最大差,所述漂移率約束(193)指示所述異步分布式系統(tǒng)(100)的每一計(jì)算機(jī)系統(tǒng)在指定時(shí)間段內(nèi)的最大時(shí)鐘偏移,所述方法包括參與同所述被觀察計(jì)算機(jī)系統(tǒng)(151)的一個(gè)或多個(gè)消息交換(184、185)的動(dòng)作,所述消息交換包括記錄在發(fā)送消息(181)時(shí)在所述觀察計(jì)算機(jī)系統(tǒng)(101)處的時(shí)鐘(103)的發(fā)送時(shí)間(171)的動(dòng)作;將消息(181)發(fā)送到所述被觀察計(jì)算機(jī)系統(tǒng)(151)的動(dòng)作,所述消息(181)包括所記錄的發(fā)送時(shí)間(171);隨后從所述被觀察計(jì)算機(jī)系統(tǒng)(151)接收響應(yīng)于所述消息(181)的相關(guān)消息(182)的動(dòng)作,所述相關(guān)消息(182)包含來自所述被觀察計(jì)算機(jī)系統(tǒng)(151)的時(shí)間(183);記錄在接收到所述相關(guān)消息(182)時(shí)在所述觀察計(jì)算機(jī)系統(tǒng)(101)處的時(shí)鐘(103)的接收時(shí)間(172)的動(dòng)作;以及記錄來自所述被觀察計(jì)算機(jī)系統(tǒng)(151)的時(shí)間(173)的動(dòng)作;基于所記錄的發(fā)送所述消息的時(shí)間(181)與包括在所述相關(guān)消息中的來自所述被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間(183)之間的差、所述時(shí)鐘量程約束(192)、以及所述時(shí)鐘漂移約束(193)來計(jì)算所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于所述觀察計(jì)算機(jī)系統(tǒng)的時(shí)間的下限(161)的動(dòng)作;基于所記錄的接收到所述相關(guān)消息的時(shí)間(182)與包括在所述相關(guān)消息中的來自所述被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間(183)之間的差、所述時(shí)鐘量程約束(192)、以及所述時(shí)鐘漂移約束(193)來計(jì)算所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間相對(duì)于所述觀察計(jì)算機(jī)系統(tǒng)的時(shí)間的上限(162)的動(dòng)作;計(jì)算所述上限(162)和所述下限(161)之差的動(dòng)作;以及所述處理器通過將計(jì)算得到的差除以平均因子來計(jì)算所述觀察計(jì)算機(jī)系統(tǒng)所聲稱的所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間與所述被觀察計(jì)算機(jī)系統(tǒng)處的實(shí)際時(shí)間之間的最大偏差的動(dòng)作。
      2.如權(quán)利要求1所述的方法,其特征在于,還包括所述觀察計(jì)算機(jī)系統(tǒng)使用計(jì)算得到 的最大偏差來制定所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)間度過的安全視圖的動(dòng)作。
      3.如權(quán)利要求1所述的方法,其特征在于,還包括所述觀察計(jì)算機(jī)系統(tǒng)和所述被觀察 計(jì)算機(jī)系統(tǒng)就一事件何時(shí)發(fā)生達(dá)成一致的動(dòng)作。
      4.如權(quán)利要求3所述的方法,其特征在于,所述觀察計(jì)算機(jī)系統(tǒng)和所述被觀察計(jì)算機(jī) 系統(tǒng)就一事件何時(shí)發(fā)生達(dá)成一致的動(dòng)作還包括所述觀察計(jì)算機(jī)系統(tǒng)檢測到過去事件在所 述被觀察計(jì)算機(jī)系統(tǒng)處發(fā)生的動(dòng)作。
      5.如權(quán)利要求3所述的方法,其特征在于,所述觀察計(jì)算機(jī)系統(tǒng)和所述被觀察計(jì)算機(jī)系統(tǒng)就一事件何時(shí)發(fā)生達(dá)成一致的動(dòng)作包括所述觀察計(jì)算機(jī)系統(tǒng)和所述被觀察計(jì)算機(jī)系 統(tǒng)就一事件在將來何時(shí)發(fā)生達(dá)成一致的動(dòng)作。
      6.如權(quán)利要求1所述的方法,其特征在于,還包括所述觀察計(jì)算機(jī)系統(tǒng)參與同所述被觀察計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)其他消息交換的動(dòng) 作;以及所述觀察計(jì)算機(jī)系統(tǒng)基于所記錄的與所述一個(gè)或多個(gè)其他消息交換相對(duì)應(yīng)的時(shí)間來 細(xì)化所述下限和所述上限中的一個(gè)或多個(gè)的動(dòng)作。
      7.—種在觀察計(jì)算機(jī)系統(tǒng)(101)處的用于指示一事件在被觀察計(jì)算機(jī)系統(tǒng)(151)處發(fā) 生的時(shí)間的方法,所述觀察計(jì)算機(jī)系統(tǒng)包括處理器和系統(tǒng)存儲(chǔ)器,所述方法包括參與同所述被觀察計(jì)算機(jī)系統(tǒng)(151)的一個(gè)或多個(gè)消息交換(184、185)的動(dòng)作,每一 消息交換包括記錄在發(fā)送請(qǐng)求消息(181)時(shí)在所述觀察計(jì)算機(jī)系統(tǒng)(101)處的時(shí)鐘(103)的時(shí)間(171)的動(dòng)作;將一個(gè)或多個(gè)請(qǐng)求消息(181)發(fā)送到所述被觀察計(jì)算機(jī)系統(tǒng)(151)的動(dòng)作,每一請(qǐng)求 消息包括對(duì)應(yīng)的所記錄的發(fā)送時(shí)間;隨后從所述被觀察計(jì)算機(jī)系統(tǒng)(151)接收響應(yīng)于所述一個(gè)或多個(gè)請(qǐng)求消息(181)的 一個(gè)或多個(gè)回復(fù)消息(182)的動(dòng)作,每一回復(fù)消息包含來自所述被觀察計(jì)算機(jī)系統(tǒng)的時(shí)間 (183);以及記錄在接收到回復(fù)消息(182)時(shí)在所述觀察計(jì)算機(jī)系統(tǒng)(101)處的時(shí)鐘(103)的時(shí)間(172)的動(dòng)作;基于所述一個(gè)或多個(gè)消息交換(184、185)來計(jì)算所述被觀察計(jì)算機(jī)系統(tǒng)(151)相對(duì)于 所述觀察計(jì)算機(jī)系統(tǒng)(101)的時(shí)間的時(shí)間界限(161、162)的動(dòng)作,所述時(shí)間界限(161、162) 被配置成在所述一個(gè)或多個(gè)消息交換(184、185)之后被應(yīng)用于所述觀察計(jì)算機(jī)系統(tǒng)(101) 處的時(shí)間以聲稱所述被觀察計(jì)算機(jī)系統(tǒng)處的指定時(shí)間范圍,所述時(shí)間界限包括 表示計(jì)算得到的時(shí)間界限的底部的時(shí)間下限(161);以及 表示計(jì)算得到的時(shí)間界限的頂部的時(shí)間上限(162);所述處理器在所述一個(gè)或多個(gè)消息交換(184、185)之后接收指示的動(dòng)作,所述指示選 自以下各項(xiàng)a)過去事件在所述被觀察計(jì)算機(jī)系統(tǒng)(151)處發(fā)生的指示以及b) —事件何 時(shí)將在所述被觀察計(jì)算機(jī)系統(tǒng)(151)處發(fā)生的指示;所述處理器計(jì)算所述被觀察計(jì)算機(jī)系統(tǒng)(151)的時(shí)間范圍的動(dòng)作,所述時(shí)間范圍指示 在所述被觀察計(jì)算機(jī)系統(tǒng)(151)處a)所述事件何時(shí)發(fā)生或b)所述事件將在何時(shí)發(fā)生,所 述時(shí)間范圍是基于在接收到所述指示時(shí)所述觀察計(jì)算機(jī)系統(tǒng)(101)處的時(shí)間并基于所述 計(jì)算得到的時(shí)間界限的下限(161)和上限(162)來計(jì)算的;以及向一個(gè)或多個(gè)其他計(jì)算機(jī)系統(tǒng)(191)發(fā)送包括所述指示和所述計(jì)算得到的時(shí)間范圍 (186)的事件消息(197)的動(dòng)作。
      8.如權(quán)利要求7所述的方法,其特征在于,所述基于所述一個(gè)或多個(gè)消息來計(jì)算所述 被觀察計(jì)算機(jī)系統(tǒng)相對(duì)于所述觀察計(jì)算機(jī)系統(tǒng)的時(shí)間的時(shí)間界限的動(dòng)作包括至少部分地 基于在所述一個(gè)或多個(gè)消息交換中的任一個(gè)中所記錄的發(fā)送請(qǐng)求消息的時(shí)間與來自所述 被觀察計(jì)算機(jī)系統(tǒng)的包括在對(duì)應(yīng)回復(fù)消息中的時(shí)間之間的最小差來將所述下限設(shè)為某一值的動(dòng)作。
      9.如權(quán)利要求8所述的方法,其特征在于,所述將所述下限設(shè)為某一值的動(dòng)作包括至 少部分地基于所述觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的量化與所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的 量化之差的指示來將所述下限設(shè)為某一值的動(dòng)作。
      10.如權(quán)利要求8所述的方法,其特征在于,所述將所述下限設(shè)為某一值的動(dòng)作包括至 少部分地基于所述觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的時(shí)鐘漂移和所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí) 鐘的時(shí)鐘漂移來將所述下限設(shè)為某一值的動(dòng)作。
      11.如權(quán)利要求7所述的方法,其特征在于,所述基于所述一個(gè)或多個(gè)請(qǐng)求/回復(fù)消息 來計(jì)算所述被觀察計(jì)算機(jī)系統(tǒng)相對(duì)于所述觀察計(jì)算機(jī)系統(tǒng)的時(shí)間的時(shí)間界限的動(dòng)作包括 至少部分地基于在所述一個(gè)或多個(gè)請(qǐng)求/回復(fù)消息交換中的任一個(gè)中所記錄的接收到一 回復(fù)消息的時(shí)間與來自所述被觀察計(jì)算機(jī)系統(tǒng)的包括在所述回復(fù)消息中的時(shí)間之間的最 小差來將所述上限設(shè)為某一值的動(dòng)作。
      12.如權(quán)利要求11所述的方法,其特征在于,所述將所述上限設(shè)為某一值的動(dòng)作包括 至少部分地基于所述觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的量化與所述被觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘 的量化之差的指示來將所述上限設(shè)為某一值的動(dòng)作。
      13.如權(quán)利要求11所述的方法,其特征在于,所述將所述上限設(shè)為某一值的動(dòng)作包括 至少部分地基于所述觀察計(jì)算機(jī)系統(tǒng)處的時(shí)鐘的時(shí)鐘漂移和所述被觀察計(jì)算機(jī)系統(tǒng)處的 時(shí)鐘的時(shí)鐘漂移來將所述上限設(shè)為某一值的動(dòng)作。
      14.如權(quán)利要求7所述的方法,其特征在于,所述異步分布式系統(tǒng)是對(duì)等系統(tǒng)。
      15.一種在計(jì)算機(jī)系統(tǒng)(501)處的用于計(jì)算包括多個(gè)計(jì)算機(jī)系統(tǒng)的異步分布式系統(tǒng)的 不同計(jì)算機(jī)系統(tǒng)處的時(shí)鐘之間的最大偏差(514)的方法,所述計(jì)算機(jī)系統(tǒng)包括處理器和系 統(tǒng)存儲(chǔ)器,所述方法包括訪問時(shí)鐘量程約束(511)的動(dòng)作,所述時(shí)鐘量程約束指示所述異步分布式系統(tǒng)的各計(jì) 算機(jī)系統(tǒng)之間的時(shí)鐘量化間的最大差;訪問漂移率約束(512)的動(dòng)作,所述漂移率約束指示所述異步分布式系統(tǒng)的每一計(jì)算 機(jī)系統(tǒng)在指定時(shí)間段內(nèi)的最大時(shí)鐘漂移;訪問最大往返約束(513)的動(dòng)作,所述最大往返約束指示在所述異步分布式系統(tǒng)的任 何兩個(gè)計(jì)算機(jī)系統(tǒng)之間發(fā)生請(qǐng)求/回復(fù)消息交換的最大時(shí)間量;以及所述處理器基于所述時(shí)鐘量程約束、所述漂移率約束、以及所述最大往返約束來計(jì)算 所述異步系統(tǒng)的不同計(jì)算機(jī)系統(tǒng)的時(shí)鐘之間的最大偏差(514)的動(dòng)作。
      全文摘要
      本發(fā)明涉及用于對(duì)異步分布式系統(tǒng)中的時(shí)鐘進(jìn)行同步的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。本發(fā)明的各實(shí)施例便于創(chuàng)建跨諸如常見異步(分布式)系統(tǒng)內(nèi)的各個(gè)成員等一組對(duì)等節(jié)點(diǎn)(觀察者)的不穩(wěn)定且實(shí)際的公共時(shí)間(一天中的時(shí)間)基準(zhǔn)??梢栽诓粎⒖脊仓鳈C(jī)的情況下,經(jīng)由跟蹤并累積節(jié)點(diǎn)(觀察者)對(duì)之間的最壞情況相對(duì)時(shí)間偏移來創(chuàng)建一類偽同步系統(tǒng)。如此,給定對(duì)一個(gè)節(jié)點(diǎn)的觀察,合作節(jié)點(diǎn)可以基本上確保另一個(gè)節(jié)點(diǎn)將觀察到的一天中的時(shí)間的下限。因此,本發(fā)明的各實(shí)施例可被應(yīng)用來在不使用公共的外部一天中的時(shí)間時(shí)鐘實(shí)體的情況下提供跨這樣的異步系統(tǒng)的最壞情況(即,最大偏差)當(dāng)前時(shí)間的一致(基本上安全)的視圖。
      文檔編號(hào)G06F1/12GK101981527SQ200980111815
      公開日2011年2月23日 申請(qǐng)日期2009年3月27日 優(yōu)先權(quán)日2008年3月27日
      發(fā)明者M·J·馬魯切克, M·穆赫辛, R·L·哈沙 申請(qǐng)人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1