專利名稱:分布式處理網(wǎng)絡(luò)系統(tǒng)中的日歷時(shí)鐘的同步化的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在分布式處理網(wǎng)絡(luò)系統(tǒng)的每個(gè)站中保有的日歷時(shí)鐘同步化,特別是涉及其中存在可能有動(dòng)態(tài)變化的顯著延時(shí)的那類(lèi)系統(tǒng),本發(fā)明進(jìn)而涉及了提供一種與一般站處理器相比能獲得較高分辨率的日歷時(shí)鐘。
在分布式處理系統(tǒng)中,特別是在分布式控制系統(tǒng)中,一個(gè)較為困難的任務(wù)是保持一種分布式的同步日歷時(shí)鐘。該時(shí)鐘形成各站所需的時(shí)間標(biāo)準(zhǔn),以便進(jìn)行分布式任務(wù)的調(diào)度并精確標(biāo)記各個(gè)事件的發(fā)生(用于記錄整個(gè)網(wǎng)絡(luò)的事件的排序)?,F(xiàn)有的典型的日歷控制系統(tǒng)中的控制條件要求任何兩站之間最壞的狀態(tài)偏差要小于200微秒。于是,每一個(gè)時(shí)鐘的分辨率必須為100微秒而每一時(shí)鐘的精確度必須是正負(fù)100微秒。
最簡(jiǎn)單的解決辦法是讓一個(gè)站周期地發(fā)送包含準(zhǔn)確的日歷時(shí)間的信息。各站在收到該信息時(shí)將其時(shí)鐘設(shè)置到該信息所規(guī)定的值。但不幸的是在該信息構(gòu)造之時(shí)與遠(yuǎn)方站中的時(shí)鐘設(shè)置之時(shí)這兩者之間有很多顯著的而又可變化的延時(shí)。這些延時(shí)包括發(fā)送計(jì)算機(jī)中的處理時(shí)間,等待傳輸?shù)呐抨?duì)延時(shí),源網(wǎng)絡(luò)接口中的處理時(shí)間,訪問(wèn)媒體等待延時(shí),傳輸時(shí)間,媒體傳播延時(shí),站轉(zhuǎn)發(fā)器延時(shí),目的站網(wǎng)絡(luò)接口處理時(shí)間,目的站計(jì)算機(jī)中的排隊(duì)延時(shí),以及軟件處理的延時(shí)。這些延時(shí)及其可變性阻礙了同步不能達(dá)到所希望的精確性。
以上的分析是假設(shè)應(yīng)用每一個(gè)站中處理器中操作系統(tǒng)所保有的日歷時(shí)鐘。上述許多的延時(shí)效應(yīng)通過(guò)向傳輸及接收站的網(wǎng)絡(luò)接口都添加特殊的硬件是可以消除的。特別是,傳輸站的硬件讀取在傳輸?shù)臅r(shí)刻的當(dāng)?shù)厝諝v時(shí)鐘并將該值插入到該信息中去。這將消除由以下延時(shí)所引起的誤差發(fā)送計(jì)算機(jī)中的處理時(shí)間,等待傳輸?shù)呐抨?duì)延時(shí),源網(wǎng)絡(luò)接口中的處理時(shí)間以及等待訪問(wèn)媒體的延時(shí)。接收站的硬件將檢測(cè)該時(shí)鐘信息,抽取該日歷時(shí)間,對(duì)當(dāng)?shù)厝諝v時(shí)鐘進(jìn)行設(shè)置。這將消除由以下因素引起的誤差目地網(wǎng)絡(luò)接口中的處理時(shí)間,目的計(jì)算機(jī)中的排隊(duì)延時(shí)以及軟件處理延時(shí)。其余的誤差僅與傳輸時(shí)間,媒體傳播延時(shí)以及站轉(zhuǎn)發(fā)器延時(shí)樣關(guān)。遺憾的是實(shí)現(xiàn)上述功能的特殊硬件是相當(dāng)復(fù)雜的。由于每一個(gè)站都必須能夠承擔(dān)記時(shí)器的功能,于是所有的站都要求有兩組特殊的硬件。
美國(guó)專利No.4,815,110提出用于在分布式處理系統(tǒng)中日歷時(shí)鐘同步化的另一種系統(tǒng)。該時(shí)間同步化過(guò)程分為兩個(gè)階段。在第一階段中,計(jì)時(shí)器站在網(wǎng)絡(luò)上傳輸一個(gè)特殊的信息。在收到該信息的時(shí)刻,每一站的硬件就鎖存(即保留)其當(dāng)?shù)厝諝v時(shí)鐘值。在第二階段,該計(jì)時(shí)器站傳輸包含當(dāng)該站在第一階段接收到的它自己的信息時(shí)所保留的它的日歷時(shí)鐘的數(shù)值。與該計(jì)時(shí)器日歷時(shí)間在每一其他站被接收時(shí),所接收的值從所保留的值中減去。所得結(jié)果數(shù)值表示當(dāng)?shù)貢r(shí)鐘與計(jì)時(shí)器站的時(shí)鐘之間的差并且用于校正該當(dāng)?shù)貢r(shí)鐘。該過(guò)程所需的硬件比上面討論的要簡(jiǎn)單得多,而且消除了傳輸時(shí)間誤差。所需硬件僅包括用于表示當(dāng)?shù)厝諝v時(shí)間的硬件計(jì)數(shù)器和在第一階段過(guò)程中識(shí)別時(shí)鐘信息的電路。然而,該計(jì)數(shù)器必須能支持以下操作讀取,設(shè)置與鎖存。而且該計(jì)數(shù)器中的值必須表示絕對(duì)時(shí)間。
在本發(fā)明的受讓人所發(fā)展的一個(gè)類(lèi)似的系統(tǒng)中,一個(gè)單獨(dú)的主站在第一階段向所有的站發(fā)送特殊的定時(shí)信息,而在第二階段,該主站與另外兩個(gè)站這三個(gè)站向所有的站發(fā)送它們收到該特殊定時(shí)信號(hào)的次數(shù)。然后每一站將兩個(gè)所收到的最接近的日歷時(shí)間信號(hào)求平均并校正該平均值。
在某些網(wǎng)絡(luò)中,諸如FDDI(光纖分布數(shù)據(jù)接口)計(jì)數(shù)旋轉(zhuǎn)環(huán)網(wǎng)絡(luò),信息是通過(guò)環(huán)中每個(gè)站的網(wǎng)絡(luò)接口中的轉(zhuǎn)發(fā)器從一個(gè)站傳送到別的站的。這一轉(zhuǎn)發(fā)器的功能導(dǎo)致了延時(shí),例如導(dǎo)致了大約750毫微秒的延時(shí)。而且,連接各站通信媒體也引起了延時(shí)。另外,F(xiàn)DDI網(wǎng)絡(luò)通過(guò)選擇站之間順時(shí)針與反時(shí)針的光纖區(qū)段可以重構(gòu)網(wǎng)絡(luò)構(gòu)形以調(diào)整運(yùn)行中止。這種在構(gòu)形上的變化將影響網(wǎng)絡(luò)中一個(gè)或多個(gè)站所經(jīng)歷的延時(shí)。
另一個(gè)問(wèn)題是許多現(xiàn)今的工作站的操作系統(tǒng)的日歷時(shí)鐘不具有能適合許多分布式處理系統(tǒng)應(yīng)用程序的需要的所要求的分辨率。
本發(fā)明的一個(gè)目的即是提供用于分布式處理系統(tǒng)中站日歷時(shí)鐘同步化的改進(jìn)裝置。
本發(fā)明的另一目的在于以最少的特定硬件來(lái)達(dá)到上述這一基本目標(biāo)。
本發(fā)明的又一目的是應(yīng)用每一站的操作系統(tǒng)的日歷時(shí)鐘來(lái)達(dá)到上述目的,并且即使在操作系統(tǒng)的日歷時(shí)鐘不具有網(wǎng)絡(luò)系統(tǒng)所要求的分辨率的情形下也能達(dá)到。
本發(fā)明再有一個(gè)目的就是提供這樣一種用于站日歷時(shí)鐘同步化的改進(jìn)裝置,該裝置適應(yīng)于網(wǎng)絡(luò)延時(shí)及諸如伴隨網(wǎng)絡(luò)構(gòu)形變化的網(wǎng)絡(luò)延時(shí)的動(dòng)態(tài)變化。
這些及其他目的將由針對(duì)具有用于日歷時(shí)鐘站同步化的裝置的分布式處理系統(tǒng)的本發(fā)明所實(shí)現(xiàn),該裝置在每一個(gè)站中包括了網(wǎng)絡(luò)接口中的一個(gè)自由振蕩計(jì)數(shù)器,該計(jì)數(shù)器保持著時(shí)間間隔的計(jì)數(shù)。該裝置還包括了在指定的計(jì)時(shí)器站中的周期產(chǎn)生定時(shí)信號(hào)的裝置,該信號(hào)通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳輸?shù)桨ㄔ撚?jì)時(shí)器站在內(nèi)的所有的站。在收到該定時(shí)信號(hào)時(shí)每一網(wǎng)絡(luò)接口中的裝置鎖存在自由振蕩計(jì)數(shù)器中該計(jì)數(shù)。該計(jì)時(shí)器站還包括了向所有的站傳輸表示該計(jì)時(shí)器站收到定時(shí)信號(hào)的時(shí)間的日歷時(shí)間的該計(jì)時(shí)器的日歷時(shí)間信號(hào)的裝置。每一其他站包括從鎖存計(jì)數(shù)和自由振蕩器計(jì)數(shù)器中的計(jì)數(shù),以及從在收到計(jì)時(shí)器日歷時(shí)鐘信號(hào)時(shí)的操作系統(tǒng)的日歷時(shí)鐘的日歷時(shí)間中判定一個(gè)站參考時(shí)間的裝置。每一站還包括判定站的日歷參考時(shí)間與收到的計(jì)時(shí)器日歷時(shí)間之間的差并根據(jù)這一差調(diào)整操作系統(tǒng)中的日歷時(shí)鐘的裝置。
裝設(shè)了另外一些站作為計(jì)時(shí)器站并且如果那些站在相應(yīng)指定的間隔內(nèi)未收到定時(shí)信號(hào)則這些站承擔(dān)計(jì)時(shí)器功能。
每一站均將由網(wǎng)絡(luò)接口的轉(zhuǎn)發(fā)器功能所引起的延時(shí)以及在計(jì)算該站的參考時(shí)間通信媒體延時(shí)都計(jì)算在內(nèi)。這一計(jì)算將由于網(wǎng)絡(luò)構(gòu)形變化所造成的累積和延時(shí)的變化也計(jì)算在內(nèi)。
本發(fā)明在站的操作系統(tǒng)的日歷時(shí)鐘并不具有應(yīng)用程序所要求的分辨率的地方還提供了改進(jìn)的站的日歷時(shí)鐘讀取的分辨率。該站操作系統(tǒng)日歷時(shí)鐘具有以時(shí)鐘中斷作附標(biāo)的軟件計(jì)數(shù)器。根據(jù)本發(fā)明,當(dāng)前日歷時(shí)間讀取裝置將這一軟件計(jì)數(shù)器的日歷時(shí)間乘以網(wǎng)絡(luò)接口中的自由振蕩計(jì)數(shù)器的分辨與該軟件計(jì)數(shù)器分辨率的比率而產(chǎn)生一個(gè)高分辨率乘積。自上一個(gè)時(shí)鐘中斷以來(lái)所產(chǎn)生的自由振蕩計(jì)數(shù)器中的計(jì)數(shù)變化是加到這一乘積上而得到當(dāng)前高分辨率日歷時(shí)間的。本發(fā)明這方面的一個(gè)實(shí)施例中,自由振蕩計(jì)數(shù)器具有模數(shù)等于軟件計(jì)數(shù)器中一個(gè)時(shí)間單位而每當(dāng)自由振蕩計(jì)數(shù)器翻轉(zhuǎn)就產(chǎn)生時(shí)鐘中斷,于是自上一個(gè)中斷以來(lái)自由振蕩計(jì)數(shù)器中的計(jì)數(shù)變化僅僅是當(dāng)前的計(jì)數(shù)。
本發(fā)明的一個(gè)目的是提供一種分布式處理系統(tǒng),該系統(tǒng)使得網(wǎng)絡(luò)中所有的時(shí)鐘都可以自行同步化。
就這一目的來(lái)看,本發(fā)明屬于一種包含多站的分布式處理系統(tǒng),每個(gè)站具有帶有能維護(hù)站日歷時(shí)鐘的操作系統(tǒng)的站處理器和一個(gè)網(wǎng)絡(luò)接口;一個(gè)通過(guò)上述網(wǎng)絡(luò)接口而連接起上述多個(gè)站的數(shù)據(jù)通信網(wǎng)絡(luò);將上述站處理器中的上述站日歷時(shí)鐘同步化的同步裝置;上述同步裝置的特征在于在每一網(wǎng)絡(luò)接口中具有保持時(shí)間間隔計(jì)數(shù)的自由振蕩計(jì)數(shù)器;每一網(wǎng)絡(luò)接口中能選擇性地存儲(chǔ)上述計(jì)數(shù)的鎖存裝置;在一個(gè)指定的定時(shí)器站中有可周期地產(chǎn)生定時(shí)信號(hào)并且這信號(hào)經(jīng)由該數(shù)據(jù)通信網(wǎng)而向包括該定時(shí)器站的所有的站傳輸?shù)难b置;在每一上述網(wǎng)絡(luò)接口中有在收到上述定時(shí)信號(hào)時(shí)而在該鎖存裝置中鎖存該自由振蕩計(jì)數(shù)器中的上述計(jì)數(shù)的裝置;在上述計(jì)時(shí)器站中有這樣的裝置,能夠通過(guò)上述數(shù)據(jù)通信網(wǎng)絡(luò)向所有上述站順序傳輸表示在收到上述定時(shí)信號(hào)時(shí)的計(jì)時(shí)器站處的日歷時(shí)間的計(jì)時(shí)器日歷時(shí)間信號(hào);在上述除去上述的計(jì)時(shí)器站之外的其他站中有這樣的裝置,該裝置在自由振蕩計(jì)數(shù)器中鎖存的計(jì)數(shù),在收到上述計(jì)時(shí)器日歷時(shí)間信號(hào)時(shí)的自由振蕩計(jì)數(shù)器的計(jì)數(shù)以及在收到計(jì)時(shí)器日歷時(shí)間信號(hào)時(shí)在操作系統(tǒng)日歷時(shí)鐘中的日歷時(shí)間來(lái)確定一個(gè)站的參考日歷時(shí)間;以及在每個(gè)站中確定站參考日歷時(shí)間和所收到的計(jì)時(shí)器日歷時(shí)間之間的差并根據(jù)這一差來(lái)調(diào)整上述操作系統(tǒng)中的上述日歷時(shí)鐘的裝置。
通過(guò)較佳實(shí)施例的下述陳述同時(shí)參見(jiàn)附圖就可獲得對(duì)本發(fā)明的完整的理解,這些附圖有
圖1是與本發(fā)明相關(guān)的一個(gè)分布式處理網(wǎng)絡(luò)系統(tǒng)的略圖。
圖2是構(gòu)成圖1的系統(tǒng)一部分的多個(gè)站之一的略圖。
圖3-7是在圖1與圖2的分布式處理網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)本發(fā)明的適用的計(jì)算機(jī)程序流程圖。
本發(fā)明的陳述將就由FDDI(光纖分布式數(shù)據(jù)交互,下同)網(wǎng)絡(luò)實(shí)現(xiàn)的分布式數(shù)據(jù)處理網(wǎng)絡(luò)系統(tǒng)來(lái)進(jìn)行,雖然本專業(yè)的技術(shù)人員都明白本發(fā)明適用于由其他類(lèi)型的網(wǎng)絡(luò)所實(shí)現(xiàn)的這種系統(tǒng)。
圖1表示了具有多站3a-d的分布式處理網(wǎng)絡(luò)系統(tǒng)1。系統(tǒng)1的四個(gè)站只是示例性的,而系統(tǒng)1中是可以包含任何數(shù)目的站的。站3a-d由網(wǎng)絡(luò)5以一個(gè)對(duì)偶環(huán)的構(gòu)形相連接,其中一個(gè)環(huán)7以反時(shí)針?lè)较騻鬏斝畔?,而第二個(gè)環(huán)9則以順時(shí)針?lè)较騻鬏斝畔ⅰ?br>
在本發(fā)明的該較佳形式中應(yīng)用了FDDI網(wǎng)絡(luò)標(biāo)準(zhǔn)。在這種網(wǎng)絡(luò)中,兩個(gè)環(huán)7與9包含了用作通信媒體的光纖。在其他網(wǎng)絡(luò)中,可應(yīng)用同軸電纜或雙扭線作為通信媒體。FDDI網(wǎng)絡(luò)具有一個(gè)開(kāi)放網(wǎng)絡(luò)的體系結(jié)構(gòu)。FDDI網(wǎng)絡(luò)包括一個(gè)站管理標(biāo)準(zhǔn),該標(biāo)準(zhǔn)在其他裝置之中控制著網(wǎng)絡(luò)的配置。在正常條件下,當(dāng)站3傳輸信息時(shí),該信息是順序地由兩個(gè)環(huán)之一傳送到每一個(gè)站的,其中每個(gè)站為下一個(gè)站轉(zhuǎn)發(fā)該信息。于是如果應(yīng)用的是內(nèi)環(huán)7,而站3a傳輸信息,則站3d接收該信息并為站3c轉(zhuǎn)發(fā)該信息,站3c又為站3b轉(zhuǎn)發(fā)該信息。如果站3a從該系統(tǒng)退出或象在圖1中11處所示在環(huán)中出現(xiàn)故障,則站管理重新對(duì)網(wǎng)絡(luò)進(jìn)行配置以保證所有其余的有效站能接收所傳輸?shù)男畔?。于是,由于該環(huán)在11處斷開(kāi),當(dāng)由站3a發(fā)出的信息到達(dá)站3c時(shí),則傳輸在另一環(huán)9上返回通過(guò)站3d和3a而到達(dá)站3b。
每一站在中斷所接收的信息而執(zhí)行的轉(zhuǎn)發(fā)功能是需要一個(gè)有限的時(shí)間的。例如,在該示例性系統(tǒng)中大約是750毫微秒。此外,還有由形成環(huán)7和9的通信媒體所引起的延時(shí)。在FDDI網(wǎng)絡(luò)的光纖媒體中,這一延時(shí)一般是每千米大約5至6微秒。在一個(gè)延伸到數(shù)千米的分布式處理系統(tǒng)中累積的延時(shí)是相當(dāng)大的,尤其是如上所述的那樣,當(dāng)信息通過(guò)各站兩次的轉(zhuǎn)發(fā)而返回時(shí),積累的延時(shí)尤為顯著。
如圖2中所示,在一個(gè)分布式控制系統(tǒng)中的站3可能包括通過(guò)一個(gè)網(wǎng)絡(luò)接口15連接到網(wǎng)絡(luò)5的環(huán)7和環(huán)9的分布式處理單元和工作站13。分布式處理單元和工作站13都包含一個(gè)處理器17。分布式處理單元執(zhí)行系統(tǒng)1的控制功能。通常,這功能包括調(diào)節(jié)一個(gè)特定的系統(tǒng)變量到一個(gè)設(shè)置點(diǎn)的值。工作站是作為人-機(jī)界面,通過(guò)該界面操作者控制和監(jiān)視分布式處理系統(tǒng)1。系統(tǒng)1中各站功能的協(xié)調(diào)需要實(shí)時(shí)數(shù)據(jù)的交換。FDDI標(biāo)準(zhǔn)提供了數(shù)據(jù)傳輸?shù)耐胶彤惒椒绞?。同步方式通過(guò)周期重復(fù)系統(tǒng)中各種參數(shù)的當(dāng)前值用于傳輸實(shí)時(shí)數(shù)據(jù)。如前面提到的,這就要求保持在每一站中的處理器17中的日歷時(shí)鐘同步化。在典型的現(xiàn)期控制系統(tǒng)中的控制條件要求最劣情形偏差在各站時(shí)鐘之間要小于200微秒。本發(fā)明通過(guò)在每一網(wǎng)絡(luò)接口中提供帶有鎖存器21的自由振蕩計(jì)數(shù)器19以所要求的精度達(dá)到了各站時(shí)鐘之間的應(yīng)用同步化。該自由振蕩計(jì)數(shù)器并不表示絕對(duì)時(shí)間,因而也就永遠(yuǎn)不需要置零。計(jì)數(shù)器19應(yīng)足夠?qū)捠沟盟恢骂l繁地翻轉(zhuǎn),而軟件必須能夠處理這種翻轉(zhuǎn)。
根據(jù)本發(fā)明,其中的一個(gè)站指定為計(jì)時(shí)器站。這個(gè)站通過(guò)網(wǎng)絡(luò)5周期地向每個(gè)其他的站傳輸定時(shí)信號(hào)。在收到這定時(shí)信號(hào)時(shí),自由振蕩計(jì)數(shù)器19中的記數(shù)存留在鎖存器21之中。該計(jì)時(shí)器站然后向所有其他的站發(fā)出表示它收以定時(shí)信息的日歷時(shí)間的計(jì)時(shí)器日歷時(shí)間信息。由于自由振蕩計(jì)數(shù)器值并不表示絕對(duì)時(shí)間,故這一計(jì)時(shí)器日歷時(shí)間值必須進(jìn)行計(jì)算。這計(jì)算是通過(guò)讀取處理器17中的操作系統(tǒng)日歷時(shí)鐘和自由振蕩記數(shù)器19來(lái)進(jìn)行的。處理器17通常具有一個(gè)中斷產(chǎn)生器18,該產(chǎn)生器周期地產(chǎn)生用于使得操作系統(tǒng)日歷時(shí)鐘遞增的中斷。在收到定時(shí)信號(hào)的瞬間自由振蕩計(jì)數(shù)器19的當(dāng)前值與鎖存器21中的存留值之間的差乘以自由振蕩計(jì)數(shù)器的記錄計(jì)數(shù)的周期。該結(jié)果值是從計(jì)時(shí)器站收到定時(shí)信號(hào)后所經(jīng)過(guò)的時(shí)間量。這一時(shí)間從剛剛讀取的操作系統(tǒng)日歷時(shí)鐘值中減去。所得結(jié)果即為在計(jì)時(shí)器站收到時(shí)標(biāo)的瞬間的日歷時(shí)間。這一值被放入計(jì)時(shí)器日歷時(shí)間信息中并通過(guò)網(wǎng)絡(luò)5傳輸?shù)狡渌尽?br>
當(dāng)每一其他站3收到該計(jì)時(shí)器日歷時(shí)間信號(hào)時(shí),該站首先計(jì)算出用于它的日歷時(shí)鐘的參考值。所使用的計(jì)算與計(jì)時(shí)器站的計(jì)算相同。之時(shí)所收到的計(jì)時(shí)器日歷時(shí)間從該站所計(jì)算的參考日歷時(shí)間中減去。其結(jié)果值表示當(dāng)?shù)貢r(shí)標(biāo)與計(jì)時(shí)器站的時(shí)標(biāo)之間的差并被用來(lái)校正當(dāng)?shù)厝諝v時(shí)鐘。通過(guò)設(shè)置操作系統(tǒng)的時(shí)鐘,逐步調(diào)節(jié)之即可完成這種校正,或者在需要精確值時(shí)通過(guò)當(dāng)?shù)匦U?xiàng)從當(dāng)?shù)貢r(shí)鐘值中加上或減去而達(dá)到這種校正。
至此所陳述的時(shí)鐘同步化過(guò)程忽略了在網(wǎng)絡(luò)中傳送定時(shí)信號(hào)的延時(shí)。其所產(chǎn)生的誤差的大小決定于所用的網(wǎng)絡(luò)類(lèi)型。如上所討論過(guò)的,在諸如典型的FDDI環(huán)狀網(wǎng)絡(luò)中,造成這種延時(shí)的主要兩因素是每一節(jié)點(diǎn)的信息轉(zhuǎn)發(fā)的站延時(shí)(每站可達(dá)750毫微秒)以及在媒體中信號(hào)傳播的延時(shí)(對(duì)于光纖電纜每千米大約為5微秒左右)。執(zhí)行時(shí)鐘同步化功能的軟件需要校正從計(jì)時(shí)器站收到的時(shí)鐘值以補(bǔ)償當(dāng)?shù)卣九c計(jì)時(shí)器站之間的傳輸延時(shí)。這一補(bǔ)償是基于已知電纜長(zhǎng)度和當(dāng)前網(wǎng)絡(luò)的配置。當(dāng)網(wǎng)絡(luò)重新配置時(shí)時(shí)鐘同步化必須暫時(shí)停止。當(dāng)網(wǎng)絡(luò)的布局已確立時(shí),則時(shí)鐘同步化就恢復(fù)起來(lái)。如前已提及的那樣,F(xiàn)DDI網(wǎng)絡(luò)的站管理水平?jīng)Q定網(wǎng)絡(luò)的當(dāng)前布局。
如果計(jì)時(shí)器站出了故障或是從網(wǎng)絡(luò)中移出,則另一個(gè)站必須承擔(dān)起這個(gè)功能。作到這一點(diǎn)是通過(guò)向每一站指定一個(gè)獨(dú)有的時(shí)間間隔。如果該站在這一時(shí)間間隔內(nèi)設(shè)有收到定時(shí)信號(hào),則它就成為定時(shí)器站并傳輸定時(shí)信號(hào)?;谒付ǖ膬好鞯臅r(shí)間間隔各個(gè)站可按順序承擔(dān)定時(shí)器的功能。
圖3-5表示了應(yīng)用自由振蕩計(jì)數(shù)器實(shí)現(xiàn)網(wǎng)絡(luò)日歷時(shí)鐘同步化的三個(gè)程序的流程圖。圖3表示了用于計(jì)時(shí)器站周期傳輸定時(shí)信號(hào)的TX-CLOCK-MESSAGE(發(fā)送-時(shí)鐘-信息,下同)程序的流程圖。程序23在25處以為下一間隔設(shè)定喚醒報(bào)警而開(kāi)始。在27處該程序產(chǎn)生如上所討論的包含計(jì)時(shí)信號(hào)的一個(gè)時(shí)鐘信息。該信息在29處排隊(duì)待傳輸,之后該程序在31處等待下一個(gè)報(bào)警。
圖4表示響應(yīng)計(jì)時(shí)信號(hào)的接收而執(zhí)行RX-CLOCK-MESSAGE(接收-時(shí)鐘-信息)程序。由于在任何給定的時(shí)間只存在一個(gè)計(jì)時(shí)器站,故由于任何站都可以承擔(dān)起計(jì)時(shí)器的功能,該程序可被所有的站執(zhí)行。該程序在35通過(guò)判定該站是否為當(dāng)前計(jì)時(shí)器站而開(kāi)始。如果不是,則程序在37處退出。如果是當(dāng)前計(jì)時(shí)器站,則該程序在29處讀取自由振蕩計(jì)數(shù)器中的當(dāng)前計(jì)數(shù),該站處理器操作系統(tǒng)的日歷時(shí)鐘的當(dāng)前時(shí)間以及存留在鎖存器21中的計(jì)數(shù)。
如果自由振蕩計(jì)數(shù)器中的當(dāng)前計(jì)數(shù)大于被鎖存的計(jì)數(shù),那么計(jì)算定時(shí)信號(hào)接收時(shí)間是如下計(jì)算的從日歷時(shí)鐘的當(dāng)前日歷時(shí)間中減去自由振蕩計(jì)數(shù)器中的當(dāng)前計(jì)數(shù)與鎖存的計(jì)數(shù)之差乘以自由振蕩計(jì)數(shù)器的周期。但是,如果自由振蕩計(jì)數(shù)器中的當(dāng)前計(jì)數(shù)小于鎖存的計(jì)數(shù),則表明自由振蕩計(jì)數(shù)器已發(fā)生翻轉(zhuǎn),那么接收時(shí)間是在41處如下進(jìn)行計(jì)算的從自由振蕩計(jì)數(shù)器的最大計(jì)數(shù)中減去該鎖存計(jì)數(shù),加上自由振蕩計(jì)數(shù)器中的當(dāng)前計(jì)數(shù)并乘以自由振蕩計(jì)數(shù)器的周期。然后所得的值從當(dāng)前操作系統(tǒng)中日歷時(shí)鐘值中減去。然后計(jì)時(shí)器站在43處產(chǎn)生一個(gè)包含計(jì)時(shí)器日歷時(shí)間信號(hào)的計(jì)時(shí)器日歷時(shí)間信息。這個(gè)日歷時(shí)間信息在45處排隊(duì)待傳輸,并且在該程序在49處退出之前在47處對(duì)該程序的報(bào)警間隔置零。
圖5表示了一個(gè)RX-TIME-OF-DAY(日因時(shí)間接收)程序,該程序由每個(gè)站在收到包含計(jì)時(shí)器日歷時(shí)間的日歷時(shí)間信息時(shí)執(zhí)行。該程序在53處由讀取自由振蕩計(jì)數(shù)器與操作系統(tǒng)日歷時(shí)鐘的當(dāng)前值以及鎖存的計(jì)數(shù)而開(kāi)始。然后應(yīng)用圖4中所示程序的模塊43中的同樣的計(jì)算在55處計(jì)算接收時(shí)間。然后在57處基于網(wǎng)絡(luò)布局計(jì)算從本站到計(jì)時(shí)器站的網(wǎng)絡(luò)延時(shí)。即把每一中間站的轉(zhuǎn)發(fā)器延時(shí)加到信息所經(jīng)過(guò)道路的計(jì)時(shí)器站與本地站間通信媒體長(zhǎng)度的全部延時(shí)之上。之后在59處通過(guò)首先從計(jì)時(shí)器延遲時(shí)間中減去網(wǎng)絡(luò)延時(shí),然后減去在55處計(jì)算出的接收時(shí)間而計(jì)算出調(diào)節(jié)量。此后該調(diào)節(jié)量在該程序于63處退出之前在61處用于調(diào)節(jié)本地日歷時(shí)鐘。
典型的操作系統(tǒng)時(shí)鐘具有正負(fù)10毫秒的分辨率。如上所說(shuō),這是不能適合大多數(shù)時(shí)間同步化要求的。根據(jù)本發(fā)明的另一方面,一個(gè)站的網(wǎng)絡(luò)接口中的自由振蕩計(jì)數(shù)器19是與該站的處理器中操作系統(tǒng)時(shí)鐘結(jié)合在一起而形成了高分辨率的日歷時(shí)鐘。一般來(lái)說(shuō),處理器17中的操作系統(tǒng)是利用周期性中斷裝置來(lái)保持日歷時(shí)間的跟蹤。這一中斷是由硬件來(lái)產(chǎn)生的。當(dāng)這一中斷出現(xiàn)時(shí),操作系統(tǒng)通常是使得軟件計(jì)數(shù)器增加1。該計(jì)數(shù)器從一固定的時(shí)間點(diǎn)起度量所經(jīng)歷的時(shí)間。與該計(jì)數(shù)器相關(guān)聯(lián)的單位通常是與日歷時(shí)鐘的分辨率,即10毫秒,相一致的。根據(jù)本發(fā)明這一方面的一個(gè)實(shí)施例,網(wǎng)絡(luò)接口中的自由振蕩計(jì)數(shù)器19是設(shè)計(jì)成具有等于所要求的中斷速率的模數(shù),即最大時(shí)間值。這時(shí)自由振蕩計(jì)數(shù)器的翻轉(zhuǎn)是用來(lái)提供用于操作系統(tǒng)日歷時(shí)鐘的中斷的。表示從一個(gè)固定的時(shí)間點(diǎn)起所經(jīng)歷的時(shí)間的高分辨率計(jì)數(shù)是如下計(jì)算的將軟件計(jì)數(shù)器中的計(jì)數(shù)乘以硬件分辨率對(duì)軟件分辨率的比率然后加上自由振蕩計(jì)數(shù)器的值。然后這一高分辨率日歷時(shí)間值就可用來(lái)代替前述同步化過(guò)程中操作系統(tǒng)的日歷時(shí)鐘。所應(yīng)注意的是由于自由振蕩計(jì)數(shù)器是不可設(shè)置的,于是時(shí)間的校正最可能的是通過(guò)存儲(chǔ)校正項(xiàng)而達(dá)到。
本發(fā)明這方面的另一個(gè)實(shí)施例中,如平常那樣是由操作系統(tǒng)日歷時(shí)鐘來(lái)產(chǎn)生時(shí)鐘中斷的。但是,中斷服務(wù)程序修改為在日歷時(shí)間中斷的瞬間讀取并存留自由振蕩計(jì)數(shù)器的值。然后表示自一固定時(shí)間點(diǎn)所經(jīng)歷的時(shí)間的高分辨率計(jì)數(shù)是這樣來(lái)計(jì)算的將軟件計(jì)數(shù)器中的計(jì)數(shù)乘以硬件分辨率對(duì)軟件分辨率的比率并加上自由振蕩計(jì)數(shù)器當(dāng)前值與日歷時(shí)間中斷發(fā)生時(shí)的存留值之間的差。如上在時(shí)間同步化中所述那樣,差值的計(jì)算過(guò)程必須能夠處理計(jì)數(shù)器的翻轉(zhuǎn)。
圖6表示了站3中處理器17所運(yùn)行的產(chǎn)生高分辨率日歷時(shí)間信號(hào)的計(jì)算機(jī)程序65的流程圖。當(dāng)該程序在67處被調(diào)用時(shí)該程序在69處讀取軟件日歷時(shí)鐘和計(jì)數(shù)器19中的計(jì)數(shù)。然后在71處高分辨率日歷時(shí)間的計(jì)算如果計(jì)數(shù)器19沒(méi)有翻轉(zhuǎn)則按第一個(gè)公式進(jìn)行,當(dāng)發(fā)生了翻轉(zhuǎn)時(shí)則按第二個(gè)公式計(jì)算。程序然后在73處退出。
圖7表示了響應(yīng)每一時(shí)鐘中斷由處理器17所執(zhí)行的程序的流程圖。該程序作為用于程序65中的COUNT-AT-IRQ(中斷請(qǐng)求處的計(jì)數(shù))信號(hào)保留自由振蕩計(jì)數(shù)器19的值。
至此已對(duì)本發(fā)明的一個(gè)特定的實(shí)施例進(jìn)行了詳細(xì)的陳述,而本技術(shù)專業(yè)的人員能夠理解的是根據(jù)這里所透露的全部要為可作出各種細(xì)節(jié)上的修改和變化。因而,所透露的特定方案目的僅是示例性的,而且不能作為對(duì)本發(fā)明所及范圍的限制,以下將對(duì)本發(fā)明給出所附權(quán)利要求的整個(gè)范圍及其任何的和全部的等價(jià)方案。
權(quán)利要求
1.公布式處理系統(tǒng)(1),其組成為一組多個(gè)站(3),每個(gè)站具有帶有保持站日歷時(shí)鐘的操作系統(tǒng)的站處理器(17),以及網(wǎng)絡(luò)接口(15);一個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)(5),它通過(guò)上述網(wǎng)絡(luò)接口(15)連接上述一組多個(gè)站(3);以及同步化上述站處理器中的上述站日歷時(shí)鐘的同步化裝置;上述同步化裝置的特征在于每一網(wǎng)絡(luò)接口中的自由振蕩計(jì)數(shù)器(19)保持一種時(shí)間間隔的計(jì)數(shù);每一網(wǎng)絡(luò)接口中的鎖存裝置(21)有選擇地存儲(chǔ)上述計(jì)數(shù);在一指定的計(jì)時(shí)器站中的裝置(23)周期地產(chǎn)生定時(shí)信號(hào),該信號(hào)通過(guò)上述的數(shù)據(jù)通信網(wǎng)絡(luò)(5)傳輸?shù)桨ㄉ鲜鲇?jì)時(shí)器站在內(nèi)的所有上述站(3);每一上述網(wǎng)絡(luò)接口(15)中有裝置在收到上述定時(shí)信號(hào)時(shí)在上述鎖存裝置(21)中鎖存在自由振蕩計(jì)數(shù)器(19)中的上述計(jì)數(shù);隨后上述計(jì)時(shí)器站中的裝置(39-45)通過(guò)上述數(shù)據(jù)通信網(wǎng)張向所有上述站傳輸表示在收到上述計(jì)時(shí)信號(hào)時(shí)計(jì)時(shí)器站處的日歷時(shí)間的計(jì)時(shí)器日歷時(shí)間信號(hào);除去上述計(jì)時(shí)器站之外的上述站中的裝置(53-57)由自由振蕩計(jì)數(shù)器中鎖存的計(jì)數(shù),由在收到上述計(jì)時(shí)器日歷時(shí)間信號(hào)時(shí)自由振蕩計(jì)數(shù)器(19)中的計(jì)數(shù)以及在收到上述計(jì)時(shí)器日歷時(shí)間信號(hào)時(shí)操作系統(tǒng)日歷時(shí)鐘中的日歷時(shí)間來(lái)確定一個(gè)站的參考日歷時(shí)間;以及每個(gè)站中的裝置(59-61)確定站的參考日歷時(shí)間和所收到的計(jì)數(shù)器日歷時(shí)間之間的差并基于此差來(lái)調(diào)節(jié)上述操作系統(tǒng)中的上述日歷時(shí)鐘。
2.權(quán)利要求1的組合,其中上述計(jì)時(shí)器站包括裝置(41),該裝置從在收到定時(shí)信號(hào)時(shí)鎖存在其網(wǎng)絡(luò)接口(15)的上述鎖存器(21)中的計(jì)數(shù),從自由振蕩計(jì)數(shù)器(19)中的當(dāng)前計(jì)數(shù)以及操作系統(tǒng)日歷時(shí)鐘中的當(dāng)前日歷時(shí)間而產(chǎn)生上述計(jì)時(shí)器日歷時(shí)間信號(hào)。
3.權(quán)利要求1的組合,其中如果在預(yù)定的時(shí)間間隔內(nèi)沒(méi)有收到定時(shí)信號(hào)則第二個(gè)站(3)成為計(jì)時(shí)器站并包括產(chǎn)生和傳輸上述定時(shí)信號(hào)與計(jì)時(shí)器日歷時(shí)間信號(hào)。
4.權(quán)利要求1的組合,其中數(shù)個(gè)站(3)中的另一個(gè)站依次成為計(jì)時(shí)器站,如果在對(duì)于該數(shù)個(gè)站分別預(yù)定的一序列時(shí)間間隔之內(nèi)都沒(méi)有收到一個(gè)定時(shí)信號(hào),其中的每個(gè)站都包括產(chǎn)生和傳輸上述定時(shí)信號(hào)和計(jì)時(shí)器日歷時(shí)間信號(hào)的裝置(23,39-45)。
5.權(quán)利要求1的組合,其中確定上述站參考日歷時(shí)間的上述裝置(53-59)包括因上述定時(shí)信號(hào)從上述計(jì)時(shí)器站到上述站的傳輸中的延時(shí)而要對(duì)上述站參考日歷時(shí)間作調(diào)節(jié)的裝置(57-59)。
6.權(quán)利要求1的組合,其中上述數(shù)據(jù)通信網(wǎng)絡(luò)(5)以帶有上述網(wǎng)絡(luò)接口(15)的計(jì)數(shù)器旋轉(zhuǎn)環(huán)的配置來(lái)連接上述站(3),這些接口可繞上述具有預(yù)定的延時(shí)的環(huán)來(lái)傳輸上述定時(shí)信號(hào)和計(jì)時(shí)器日歷時(shí)間信號(hào),又其中確定上述站參考日歷時(shí)間的上述裝置(53-57)將上述站的計(jì)時(shí)器站之間所有網(wǎng)絡(luò)控制器的上述預(yù)定時(shí)間的延遲計(jì)算在內(nèi)。
7.權(quán)利要求6的組合,其中上述數(shù)據(jù)通信網(wǎng)絡(luò)(5)的上述計(jì)數(shù)器旋轉(zhuǎn)環(huán)的配置在站之間具有通信媒體(7,9)的長(zhǎng)度,這長(zhǎng)度使得已知的時(shí)間延遲引入了上述定時(shí)信號(hào)和計(jì)時(shí)器日歷時(shí)間信號(hào)的傳輸,而且其中確定上述站參考信號(hào)的上述裝置(53-57)進(jìn)而將上述已知的因上述站與計(jì)時(shí)器站之間的通信媒體(7,9)長(zhǎng)度而產(chǎn)生的時(shí)間延遲計(jì)算在內(nèi)。
8.權(quán)利要求7的組合,該組合包括改變上述數(shù)據(jù)通信網(wǎng)絡(luò)計(jì)數(shù)器旋轉(zhuǎn)環(huán)的配置的裝置,并且其中確定上述站參考信號(hào)的上述裝置(53-57)在確定站參考日歷時(shí)間時(shí)將網(wǎng)絡(luò)接口(15)的個(gè)數(shù)以及站(3)之間通信媒體(7,9)長(zhǎng)度的變化計(jì)算在內(nèi)。
9.權(quán)利要求1的組合,其中由至少一個(gè)站處理器(17)保有的上述日歷時(shí)鐘具有以時(shí)鐘中斷作為附標(biāo)其分辨率低于自由振蕩計(jì)數(shù)器(19)的軟件計(jì)數(shù)器并包括當(dāng)前日歷時(shí)間讀取裝置,該裝置將上述軟件計(jì)數(shù)器中的日歷時(shí)間乘以自由振蕩計(jì)數(shù)器的分辨率對(duì)軟件計(jì)數(shù)器分辨率的比率而產(chǎn)生一個(gè)高分辨率的乘積并加到該乘積上自由振蕩計(jì)數(shù)器中計(jì)數(shù)從上一個(gè)時(shí)鐘中斷以來(lái)的變化而得到當(dāng)前高分辨率日歷時(shí)間。
10.權(quán)利要求9的組合,其中上述自由振蕩計(jì)數(shù)器具有等于上述軟件計(jì)數(shù)器中的時(shí)間單位的模數(shù),上述組合包括每當(dāng)上述自由振蕩器翻轉(zhuǎn)即產(chǎn)生上述時(shí)鐘中斷的裝置(19),以及其中上述當(dāng)前日歷時(shí)間讀取裝置將自由振蕩計(jì)數(shù)器中的計(jì)數(shù)加到上述乘積上而作為從上一個(gè)時(shí)鐘中斷以來(lái)的計(jì)數(shù)的變化。
11.權(quán)利要求9的組合,其中包括當(dāng)上述軟件計(jì)數(shù)器由時(shí)鐘中斷附標(biāo)時(shí)將自由振蕩計(jì)數(shù)器中的計(jì)數(shù)作第一計(jì)數(shù)存儲(chǔ)的裝置,以及其中上述當(dāng)前日歷讀取裝置通過(guò)從自由振蕩計(jì)數(shù)器的當(dāng)前計(jì)數(shù)中減去該第一計(jì)數(shù)而確定自由振蕩計(jì)數(shù)器中的計(jì)數(shù)變化。
12.一種分布式數(shù)據(jù)處理系統(tǒng)(1),其組合形式包括一組多個(gè)網(wǎng)絡(luò)站(3),每一站保持有日歷時(shí)鐘并具有一個(gè)網(wǎng)絡(luò)接口(15);一個(gè)帶有計(jì)數(shù)旋轉(zhuǎn)環(huán)配置(7,9)的數(shù)據(jù)通信網(wǎng)絡(luò)(5),該配置通過(guò)上述網(wǎng)絡(luò)口(15)把上述多網(wǎng)絡(luò)站(3)彼此連接起來(lái),這些網(wǎng)絡(luò)接口以預(yù)定的時(shí)間延遲在上述數(shù)據(jù)通信網(wǎng)絡(luò)上傳輸、接收并再傳輸數(shù)據(jù);以及在上述網(wǎng)絡(luò)站中同步化上述日歷時(shí)鐘的裝置(17,19,21),其特征為一個(gè)指定的計(jì)時(shí)器站中的裝置(23)通過(guò)上述網(wǎng)絡(luò)接口(15)向上述數(shù)據(jù)通信網(wǎng)絡(luò)(5)傳輸一個(gè)定時(shí)信號(hào);包括上述計(jì)時(shí)器站在內(nèi)的每一站中的裝置(19)存留與上述定時(shí)信號(hào)收到的時(shí)間相關(guān)的站信號(hào);上述計(jì)時(shí)器站中的裝置(39,45)通過(guò)其網(wǎng)絡(luò)接口(15)向上述數(shù)據(jù)通信網(wǎng)絡(luò)(5)傳輸表示該計(jì)時(shí)器站收到上述定時(shí)信號(hào)的時(shí)間的計(jì)時(shí)器日歷時(shí)間信號(hào);裝置(57)在收到上述定時(shí)信號(hào)時(shí)基于上述數(shù)據(jù)通信網(wǎng)絡(luò)的上述計(jì)數(shù)旋轉(zhuǎn)環(huán)的配置對(duì)于每一站確定一網(wǎng)絡(luò)延時(shí);每一站中的裝置(455,59)計(jì)算上述計(jì)時(shí)器日歷時(shí)間和由上述站信號(hào)及上述網(wǎng)絡(luò)延時(shí)導(dǎo)出的時(shí)間的參考時(shí)間之間的差,以及裝置(61)由上述的差值對(duì)上述的站日歷時(shí)間作調(diào)整。
13.權(quán)利要求12的組合,包括在上述的數(shù)據(jù)通信網(wǎng)絡(luò)的上述計(jì)數(shù)器旋轉(zhuǎn)環(huán)配置中作調(diào)節(jié)的裝置(23),并且其中對(duì)每一站確定一個(gè)網(wǎng)絡(luò)延時(shí)的上述裝置(57)將上述數(shù)據(jù)通信網(wǎng)絡(luò)(5)的上述計(jì)數(shù)器旋轉(zhuǎn)環(huán)配置(7,9)中的上述調(diào)節(jié)計(jì)算在內(nèi)。
全文摘要
分布式處理系統(tǒng)的計(jì)數(shù)器旋轉(zhuǎn)環(huán)網(wǎng)絡(luò)上每一站中的操作系統(tǒng)時(shí)鐘通過(guò)在計(jì)時(shí)器站所傳輸?shù)臅r(shí)鐘信息收到的瞬間在每一站的網(wǎng)絡(luò)接口中的自由振蕩計(jì)數(shù)器中鎖存的計(jì)數(shù)來(lái)同步化。這時(shí)該計(jì)時(shí)器站從其操作系統(tǒng)日歷時(shí)鐘及其自由振蕩計(jì)數(shù)器來(lái)計(jì)算其收到時(shí)鐘信息的時(shí)間,并將此計(jì)時(shí)器收到的時(shí)間傳播到其他站。每一其余的站從其操作系統(tǒng)日歷時(shí)間及其自由振蕩計(jì)數(shù)器中的計(jì)數(shù)來(lái)計(jì)算其自己收到的時(shí)間,并應(yīng)用其收到的時(shí)間與計(jì)時(shí)器收到的時(shí)間之間的差來(lái)校正其操作系統(tǒng)日歷時(shí)鐘。
文檔編號(hào)G06F13/00GK1081301SQ9310728
公開(kāi)日1994年1月26日 申請(qǐng)日期1993年6月19日 優(yōu)先權(quán)日1992年6月19日
發(fā)明者沃倫·A·伊德蘭, 艾伯特·W·克魯, 卡爾·J·斯塔比 申請(qǐng)人:西屋電氣公司