專利名稱:多節(jié)點(diǎn)網(wǎng)絡(luò)的動(dòng)態(tài)調(diào)試設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多處理器/多節(jié)點(diǎn)網(wǎng)絡(luò),尤其涉及動(dòng)態(tài)監(jiān)視在節(jié)點(diǎn)間傳送的網(wǎng)絡(luò)分組,檢測錯(cuò)誤和實(shí)時(shí)收集在節(jié)點(diǎn)的調(diào)試數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù):
目前,在多處理器/多節(jié)點(diǎn)連網(wǎng)系統(tǒng)中,一個(gè)處理器可能發(fā)生問題,但是由于監(jiān)視系統(tǒng)的監(jiān)視工具/人員的反應(yīng)緩慢,以及網(wǎng)絡(luò)中所包含的節(jié)點(diǎn)的數(shù)目的緣故,支持該問題的調(diào)試(debugging)的數(shù)據(jù)可能丟失。如果為了調(diào)試該問題,需要來自在許多位置的許多節(jié)點(diǎn)/系統(tǒng)的帶有同時(shí)的時(shí)戳的數(shù)據(jù),那么該問題被進(jìn)一步復(fù)雜化。
美國專利No.5119377描述一種用于連網(wǎng)計(jì)算機(jī)系統(tǒng)的問題管理系統(tǒng),藉此,在軟件開發(fā)期間,檢錯(cuò)碼被放置在軟件程序內(nèi)。當(dāng)在節(jié)點(diǎn)檢測到錯(cuò)誤或故障時(shí),執(zhí)行只捕捉調(diào)試軟件錯(cuò)誤所需的數(shù)據(jù)的處理。在執(zhí)行時(shí)間之前靜態(tài)地定義待捕捉的數(shù)據(jù)。
美國專利No.6769077描述一種遠(yuǎn)程內(nèi)核調(diào)試系統(tǒng),其中主計(jì)算機(jī)調(diào)試器遠(yuǎn)程發(fā)出停止目標(biāo)計(jì)算機(jī)的核心操作系統(tǒng)的執(zhí)行的命令,并且通過串行總線由主計(jì)算機(jī)提取和保存目標(biāo)計(jì)算機(jī)的物理存儲器的快照。
對該問題的其它解決方案包括諸如被動(dòng)地監(jiān)視網(wǎng)絡(luò)分組的局域網(wǎng)(LAN)“嗅探器”之類的產(chǎn)品。它們借助過濾器定義,收集特定類型的網(wǎng)絡(luò)分組。這種解決方案的缺陷在于數(shù)據(jù)緩沖器會(huì)很快溢出,感興趣的分組會(huì)丟失。此外,這種解決方案并不基于問題出現(xiàn)觸發(fā)數(shù)據(jù)收集。另一缺陷在于任何分組分析需要數(shù)據(jù)的后處理。
理想的是提供一種收集和在連網(wǎng)計(jì)算機(jī)的節(jié)點(diǎn)處發(fā)生的程序故障有關(guān)的信息的系統(tǒng)和方法,其中在首次錯(cuò)誤檢測時(shí)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)地從多個(gè)系統(tǒng)收集調(diào)試信息。
發(fā)明內(nèi)容
本發(fā)明的目的在于一種監(jiān)視許多遠(yuǎn)程節(jié)點(diǎn)/系統(tǒng),檢查在所涉及的系統(tǒng)之間傳遞的數(shù)據(jù),如果檢測到錯(cuò)誤,那么對網(wǎng)絡(luò)中的所有系統(tǒng)發(fā)送保存其當(dāng)前狀態(tài)/調(diào)試數(shù)據(jù)的命令的方法和系統(tǒng)。
本發(fā)明的方法和系統(tǒng)包括一個(gè)或多個(gè)探查裝置(probe device),所述一個(gè)或多個(gè)探查裝置監(jiān)視許多遠(yuǎn)程節(jié)點(diǎn)/系統(tǒng)間的分組通信,并當(dāng)分組在探查裝置被收集時(shí),實(shí)時(shí)地處理所述分組。這樣,和LAN嗅探器的情況不一樣,系統(tǒng)不是被動(dòng)的數(shù)據(jù)收集器。特別地,探查裝置實(shí)時(shí)地檢查數(shù)據(jù),并且一旦檢測到錯(cuò)誤,就觸發(fā)在遠(yuǎn)程節(jié)點(diǎn)的數(shù)據(jù)收集,保證在本地和遠(yuǎn)程節(jié)點(diǎn)所有必需的調(diào)試數(shù)據(jù)都被收集。可對于正被監(jiān)視的每種條件,逐個(gè)情況地確定該數(shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種動(dòng)態(tài)調(diào)試包含包括多個(gè)設(shè)備的基礎(chǔ)結(jié)構(gòu)的多節(jié)點(diǎn)網(wǎng)絡(luò)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品,每個(gè)設(shè)備適合于通過節(jié)點(diǎn)之間的鏈路傳遞消息,包括使設(shè)置在每個(gè)節(jié)點(diǎn)中的定時(shí)時(shí)鐘同步的信息。所述設(shè)備包括使每個(gè)節(jié)點(diǎn)和監(jiān)視包括在由節(jié)點(diǎn)傳遞的每條消息中的數(shù)據(jù)的探查裝置互連的探查鏈路。每個(gè)探查裝置處理來自每條消息的數(shù)據(jù),確定觸發(fā)條件在節(jié)點(diǎn)處的存在,響應(yīng)檢測到觸發(fā)條件,產(chǎn)生通過探查鏈路由網(wǎng)絡(luò)中的所有節(jié)點(diǎn)接收的指令每個(gè)節(jié)點(diǎn)收集有關(guān)的調(diào)試數(shù)據(jù)和/或中斷操作的消息。這樣,在首次錯(cuò)誤檢測時(shí),在每個(gè)節(jié)點(diǎn)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集調(diào)試信息,而不必手動(dòng)干預(yù)。
有利的是,本發(fā)明的系統(tǒng)和方法允許從多個(gè)系統(tǒng)同時(shí)收集調(diào)試數(shù)據(jù)。此外,本發(fā)明可用在實(shí)現(xiàn)其它協(xié)議,從而在計(jì)算機(jī)設(shè)備的互連網(wǎng)絡(luò)的節(jié)點(diǎn)間傳遞信息,以便調(diào)試這樣的節(jié)點(diǎn)的系統(tǒng)中??筛鶕?jù)被分析的協(xié)議定義觸發(fā)。
結(jié)合附圖,根據(jù)下面的詳細(xì)說明,對本領(lǐng)域的技術(shù)人員來說,本發(fā)明的目的、特征和優(yōu)點(diǎn)將變得明顯,其中圖1是描述其中實(shí)現(xiàn)本發(fā)明的系統(tǒng)10的圖;圖2是圖解說明根據(jù)本發(fā)明,由定時(shí)網(wǎng)絡(luò)中的探查裝置實(shí)現(xiàn)的方法50的流程圖;圖3A-3B圖解說明根據(jù)本發(fā)明,檢測網(wǎng)絡(luò)中的各種觸發(fā)條件之一,并在網(wǎng)絡(luò)的節(jié)點(diǎn)啟動(dòng)中斷和數(shù)據(jù)保存功能的步驟。
具體實(shí)施例方式
本發(fā)明的目的在于一種在首次錯(cuò)誤檢測時(shí),收集和異常有關(guān)的信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集所述信息的系統(tǒng)和方法。
圖1圖解說明實(shí)現(xiàn)收集和在連網(wǎng)計(jì)算機(jī)的節(jié)點(diǎn)處發(fā)生的程序故障有關(guān)的信息的系統(tǒng)和方法的連網(wǎng)系統(tǒng)10,其中在首次錯(cuò)誤檢測時(shí)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集所述調(diào)試信息。在一個(gè)實(shí)施例中,系統(tǒng)10包括一個(gè)或多個(gè)服務(wù)器設(shè)備15或客戶機(jī)設(shè)備20,這里,每個(gè)設(shè)備15、20被交替稱為中央電子復(fù)合體(CEC),中央電子復(fù)合體一般意味封裝成單一實(shí)體的處理器復(fù)合體。例如,一個(gè)CEC 15、20可包含IBM系統(tǒng)z9,或者IBM eServerzSeries(例如zSeries 990(z990)或zSeries 890(z890))系統(tǒng)。在圖1中,第一CEC或服務(wù)器節(jié)點(diǎn)15被表示成與一個(gè)或多個(gè)CEC或客戶機(jī)節(jié)點(diǎn)連接。
實(shí)現(xiàn)本發(fā)明的一個(gè)例證應(yīng)用是其中在CEC之間保持時(shí)鐘同步的定時(shí)網(wǎng)絡(luò)。在本發(fā)明的說明中,按照服務(wù)器時(shí)間協(xié)議(STP)管理這樣的定時(shí)網(wǎng)絡(luò)。按照STP,在網(wǎng)絡(luò)中的節(jié)點(diǎn)之間發(fā)送數(shù)據(jù)分組,以使每個(gè)節(jié)點(diǎn)的時(shí)鐘,例如日時(shí)時(shí)鐘(Time-of-Day clockTOD時(shí)鐘)保持同步。如圖1中所示,根據(jù)STP,在分組中提供的信息通過耦接鏈路16傳遞,其中每個(gè)CEC發(fā)送/接收對STP網(wǎng)絡(luò)中的其它系統(tǒng)的請求/響應(yīng)分組中的數(shù)據(jù)。在圖1中描述的定時(shí)網(wǎng)絡(luò)中,可每秒多次在CEC 15和每個(gè)客戶機(jī)CEC 20之間定期交換定時(shí)消息(例如,每64毫秒一次)。
假定情況是CEC之間的鏈接遭受臨時(shí)中斷,位于特定CEC的時(shí)鐘失去同步。既然重要的是了解特定系統(tǒng)的時(shí)鐘為什么失去與定時(shí)網(wǎng)絡(luò)的剩余部分的同步,因此提出了本發(fā)明的系統(tǒng),以便能夠?qū)崟r(shí)收集和特定問題相關(guān)的數(shù)據(jù)。本發(fā)明提供一種采取探查器的形式的解決方案,所述解決方案實(shí)現(xiàn)同時(shí)從多個(gè)系統(tǒng)(CEC)收集數(shù)據(jù)的方法。
如圖1中所示,根據(jù)本發(fā)明,提供多個(gè)STP探查裝置30,每個(gè)探查裝置通過探查鏈路36,與網(wǎng)絡(luò)中的每個(gè)CEC節(jié)點(diǎn)建立一個(gè)路徑。每個(gè)探查裝置30被配置成接收歸因于在執(zhí)行STP主程序中設(shè)置的特殊探查識別異常分支點(diǎn)(probe recognition hook)產(chǎn)生的定時(shí)分組。借助主線代碼了解探查裝置,因?yàn)樗褂梦ㄒ坏膮f(xié)同定時(shí)網(wǎng)絡(luò)(CTN)標(biāo)識符。在STP實(shí)現(xiàn)中,存在消息間到達(dá)時(shí)間間隔。探查裝置能夠檢測錯(cuò)誤的速度直接和該時(shí)間相關(guān)。從而,如果消息間時(shí)間間隔為毫秒級,那么探查裝置能夠檢測在相同數(shù)目的毫秒內(nèi)的錯(cuò)誤。當(dāng)檢查來自CEC節(jié)點(diǎn)的單個(gè)定時(shí)分組,或者來自一個(gè)或多個(gè)節(jié)點(diǎn)的分組的組合時(shí),如果探查裝置30發(fā)現(xiàn)問題,那么它產(chǎn)生專用分組,并把專用分組發(fā)送給網(wǎng)絡(luò)中的所有系統(tǒng),從而把所有相關(guān)的調(diào)試數(shù)據(jù)保存到相應(yīng)的存儲裝置,例如位于節(jié)點(diǎn)的硬盤驅(qū)動(dòng)器,以便稍后分析。由于利用點(diǎn)對點(diǎn)耦接鏈路的STP分組的本質(zhì),這種數(shù)據(jù)收集將在探查裝置30確定存在錯(cuò)誤的很短時(shí)間內(nèi)被觸發(fā)。一般來說,所述很短時(shí)間為微秒級。當(dāng)在每個(gè)系統(tǒng)收到收集相關(guān)信息的信號時(shí),在STP實(shí)現(xiàn)中,存在“凍結(jié)”所有相關(guān)控制塊的狀態(tài)的選擇。從而,當(dāng)探查裝置檢測到錯(cuò)誤時(shí),它“立即”觸發(fā)數(shù)據(jù)收集,而不是等待操作員干預(yù)。另外如圖1中所示,與探查裝置相關(guān)聯(lián)的是存儲器存儲裝置32,用于保存從監(jiān)視的每個(gè)定時(shí)分組的字段提取的數(shù)據(jù),和記錄與在每個(gè)節(jié)點(diǎn)檢測的錯(cuò)誤情況相關(guān)的信息。
圖2圖解說明根據(jù)本發(fā)明,由STP定時(shí)網(wǎng)絡(luò)中的探查裝置實(shí)現(xiàn)的方法50的流程圖。如圖2中所示,當(dāng)收到分組時(shí),STP探查碼從在探查系統(tǒng)接收的分組中獲得信息,分析所述信息,并立即決定STP網(wǎng)絡(luò)是否在正確工作。在第一步驟55中,描述了取回與探查裝置連接(attach)的每個(gè)CEC的標(biāo)識符的步驟。在該步驟可初始化用于報(bào)告和每個(gè)CEC有關(guān)的信息的日志文件。探查裝置動(dòng)態(tài)確定它將監(jiān)視哪些CEC。通過專有診斷接口(PDI),探查裝置被啟動(dòng),從而取回定時(shí)分組,分析定時(shí)分組以獲知是否有異常,并在相連的CEC上立即啟動(dòng)數(shù)據(jù)收集。
從而,如在步驟58所示,步驟58是進(jìn)入將實(shí)現(xiàn)用于檢查每個(gè)節(jié)點(diǎn)的消息數(shù)組,即取回在探查裝置接收的每個(gè)定時(shí)消息并把其內(nèi)容保存在產(chǎn)生的數(shù)組(未示出)中的PDI的循環(huán)的步驟。如在下一步驟62,在一個(gè)例證的實(shí)現(xiàn)中,run_stp_pdi函數(shù)被調(diào)用,該函數(shù)從發(fā)出的分組取回?cái)?shù)據(jù)(例如一個(gè)256字節(jié)的條目),并將其保存在為該節(jié)點(diǎn)創(chuàng)建的數(shù)組中。其數(shù)據(jù)被提取的定時(shí)消息中的特定字段包括(但不限于)stratum(連接的服務(wù)器的層級);timing_state(指示相連的服務(wù)器的定時(shí)狀態(tài),例如同步、不同步或者時(shí)鐘被停止);root_delay和root_dispersion(相對于CEC時(shí)鐘源);timing_mode(相連服務(wù)器的定時(shí)模式);和valid_entry字段(指示消息是否包含有效的數(shù)據(jù))。特別地,作為實(shí)現(xiàn)PDI函數(shù)調(diào)用的結(jié)果,來自這些消息的數(shù)據(jù)值被復(fù)制到專用于該節(jié)點(diǎn)的數(shù)組(如果該條目未在先前的PDI函數(shù)調(diào)用中被取回)。除了檢查沒有條目重復(fù)之外,還實(shí)現(xiàn)一種特殊的索引,以保證沒有任何條目被遺漏。在一個(gè)實(shí)施例中,在繞回存儲區(qū)(wrap-roundin-storage area)中可保存每個(gè)節(jié)點(diǎn)256個(gè)條目。
由于這里描述的例證實(shí)施例和定時(shí)協(xié)議有關(guān),因此探查裝置能夠通過利用分組中的定時(shí)數(shù)據(jù),計(jì)算它自己和它正探查的CEC之間的時(shí)鐘偏移量。這些計(jì)算的偏移量也可被分析,以符合特定的標(biāo)準(zhǔn)。
繼續(xù)到步驟65,步驟65是處理PDI結(jié)果的步驟。在一個(gè)例證實(shí)現(xiàn)中,process_pdi_results函數(shù)被調(diào)用,該函數(shù)關(guān)于觸發(fā)條件檢查數(shù)組中的當(dāng)前消息。根據(jù)本發(fā)明,這種實(shí)時(shí)分析允許探查碼通知操作員(1)是否已發(fā)生“值得注意的事件”。所述“值得注意的事件”是對STP網(wǎng)絡(luò)來說非致命的不尋常事件;或者(2)是否發(fā)生了“災(zāi)難事件”,響應(yīng)這種情況,探查裝置將向網(wǎng)絡(luò)中的每個(gè)系統(tǒng)發(fā)送消息,指令它保存相關(guān)數(shù)據(jù),并且可能中斷執(zhí)行。
圖3A圖解說明檢測觸發(fā)條件的步驟。在第一實(shí)例中,如在步驟68-69所示,探查裝置將首先檢查在消息數(shù)據(jù)中指示的“定時(shí)狀態(tài)”,并確定是否發(fā)生了從同步狀態(tài)到非同步狀態(tài)的狀態(tài)轉(zhuǎn)變。如果是,那么探查裝置確定報(bào)告的偏移量值保持在容限之內(nèi)。如果偏移量在容限之外,那么這構(gòu)成“值得注意的”事件(STP網(wǎng)絡(luò)已適當(dāng)?shù)貦z測該條件),并將被照此記錄。但是,如在步驟69所示,如果確定節(jié)點(diǎn)的定時(shí)狀態(tài)已從同步狀態(tài)轉(zhuǎn)變到非同步狀態(tài),并且偏移量保持在容限內(nèi),那么這構(gòu)成“災(zāi)難”事件,并將被照此處理。它被認(rèn)為是災(zāi)難性的,因?yàn)閮蓚€(gè)不同的字段值彼此不一致。在災(zāi)難情況下,啟動(dòng)另外的調(diào)試操作,從而探查裝置經(jīng)由PDI接口產(chǎn)生要求執(zhí)行被中斷并且在STP中的每個(gè)節(jié)點(diǎn)收集調(diào)試數(shù)據(jù)的控制指令。響應(yīng)該控制消息,將在STP網(wǎng)絡(luò)的每個(gè)相連節(jié)點(diǎn)立即記錄數(shù)據(jù)供調(diào)試之用。對由探查裝置確定的每個(gè)災(zāi)難事件采取該調(diào)試操作。
繼續(xù)到圖3A的步驟70,步驟70是確定探查裝置計(jì)算的時(shí)間偏移量是否大于預(yù)定值的步驟。圖3B更詳細(xì)地描述了步驟70。在第一步驟72,確定探查裝置計(jì)算的在non-Stratum-1級服務(wù)器的偏移量(SS_offset)和為Stratum-1級服務(wù)器記錄的偏移量(S1_offset)之間的差值的絕對值是否大于modified_sync_check_threshold值,例如在50和150微秒之間,以及其它服務(wù)器的定時(shí)狀態(tài)(SS_timing_state)是否同步。即|SS_offset-S1_offset|>modified_sync_check_threshold并且SS_timing_state=synchronized如果上述條件成立,那么被認(rèn)為是災(zāi)難事件。
在步驟72,如果條件不成立,那么處理進(jìn)入步驟74,進(jìn)行第一根離散“完整性檢查(sanity check)”,以確定在由除Stratum-1級服務(wù)器之外的服務(wù)器發(fā)出的消息中記錄的根離散值(root dispersionvalue),即SS_root_disp是否大于sync_check_threshold值(sync_check_threshold值是定時(shí)網(wǎng)絡(luò)的預(yù)定值,約為50微秒),以及其它服務(wù)器的定時(shí)狀態(tài)是否同步。即
如果SS_root_disp>sync_check_threshold,并且SS_timing_state=synchronized如果上述等式成立,那么再一次,這被處理為災(zāi)難事件。
其它觸發(fā)條件包括對于由正在被分析的協(xié)議所允許的預(yù)定范圍檢查字段值。圖3B的步驟80中表示了一個(gè)例子,在步驟80中,隨著它和在服務(wù)器的定時(shí)消息中關(guān)于服務(wù)器記錄的“Stratum”變化相關(guān),檢測觸發(fā)條件。從而,在步驟80,關(guān)于與在相同服務(wù)器的前一定時(shí)消息中指示的在先值相比,在最新的定時(shí)消息的“stratum”字段中指示的值是否已改變,進(jìn)行比較。如果stratum已改變,那么這表示“值得注意的”事件,并將照此記錄操作。另一方面,如果確定在stratum字段中指示的值在規(guī)定范圍之外,它構(gòu)成“災(zāi)難”事件,并將被照此處理。否則,在步驟80,如果Stratum級變化不是災(zāi)難性的,那么處理進(jìn)入圖3B的步驟90,檢測格式變化觸發(fā)條件。
在該特定的實(shí)施例中,存在必須在定時(shí)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)按照協(xié)同方式發(fā)生的全局事件。觸發(fā)被定義,以檢測何時(shí)這些全局變化在所有節(jié)點(diǎn)不發(fā)生。不同的消息格式和參數(shù)關(guān)鍵字(key)(ctn_param_key)一起被用于指示這些全局事件。具體地,如果探查裝置確定存在格式變化(借助定時(shí)消息的ctn_param_key字段),那么探查裝置預(yù)期通過檢查其它節(jié)點(diǎn)各自的定時(shí)消息,在規(guī)定的時(shí)間(即,等于4個(gè)后續(xù)的定時(shí)消息的持續(xù)時(shí)間)內(nèi)在其它節(jié)點(diǎn)上看到相同的變化。如果在四個(gè)消息內(nèi),對于每個(gè)相連的節(jié)點(diǎn),探查裝置沒有發(fā)現(xiàn)格式變化指示(即,定時(shí)消息的ctn_param_key字段沒有變化),那么這是“災(zāi)難性的”事件,并將被照此處理。
從而,根據(jù)本發(fā)明,進(jìn)行允許探查碼把幾種事件通知操作員的實(shí)時(shí)分析?!爸档米⒁獾氖录笔菍TP網(wǎng)絡(luò)來說非致命的不尋常事件。這種情況下,探查碼將把該事件連同日期和時(shí)間一起記錄到探查裝置的日志中。值得注意的事件的一個(gè)例子是當(dāng)在先分組有效時(shí),無效的定時(shí)分組的接收,或者反之亦然。探查裝置還檢測“災(zāi)難性事件”。災(zāi)難性事件的例子包括(但不限于)(a)分組指示不在所支持的范圍中的stratum層級;(b)在可接受的時(shí)間范圍內(nèi)沒有收到所需的格式變化,并且沒有分組被遺漏;(c)收到指示定時(shí)網(wǎng)絡(luò)不同步的分組,但是時(shí)間偏移量指示網(wǎng)絡(luò)仍然在可接受的容限內(nèi);以及(d)在格式方面變化,而不是關(guān)鍵字方面的變化。
一旦探查裝置30確定發(fā)生了“災(zāi)難性事件”,那么探查裝置通過探查鏈路向網(wǎng)絡(luò)中的每個(gè)系統(tǒng)發(fā)送一個(gè)消息,指令該系統(tǒng)保存相關(guān)數(shù)據(jù),并且可能中斷執(zhí)行。這種處理將保證在網(wǎng)絡(luò)中的每個(gè)系統(tǒng)獲得用于所檢測的問題的調(diào)試數(shù)據(jù),并將為數(shù)據(jù)分析和問題確定及解決創(chuàng)造條件。
在本實(shí)施例中,探查裝置還可被擴(kuò)展到檢測兩個(gè)時(shí)鐘之間的長期時(shí)鐘漂移率。例如,可通過利用獨(dú)立的專用探查鏈路,經(jīng)由來自一個(gè)或多個(gè)探查機(jī)器30的探查,監(jiān)視在圖1中的各個(gè)節(jié)點(diǎn),即設(shè)備15、20的時(shí)鐘。每個(gè)探查機(jī)器向所有客戶機(jī)和服務(wù)器發(fā)送探查分組。探查機(jī)器并不調(diào)整它們的本地機(jī)器時(shí)鐘。與通過觀察延遲測量結(jié)果來檢測時(shí)鐘偏移量和偏斜類似,這些延遲測量結(jié)果揭示被探查的設(shè)備上的時(shí)鐘和探查機(jī)器上的時(shí)鐘之間的相對時(shí)鐘行為。這種方法使得能夠觀察所有其它時(shí)鐘相對于相同本地時(shí)鐘的行為。與相同時(shí)鐘在相對行為方面的差異顯示被探查的這些時(shí)鐘之間的差異。事實(shí)上,使用GPS(全球定位系統(tǒng))或PPS(每秒脈沖數(shù)服務(wù))信號的全球時(shí)鐘正在使用相同的抽象概念,因?yàn)镚PS或PPS信號起探查站的作用,并且在本地時(shí)鐘級計(jì)算時(shí)鐘和信號之間的差異。
從而,在一個(gè)實(shí)施例中,探查可被用于檢測兩個(gè)時(shí)鐘之間的長期時(shí)移漂移。探查還可被用于檢測可能在客戶機(jī)和服務(wù)器之間,或者在不同的客戶機(jī)之間,或者在運(yùn)行不同的同步算法的客戶機(jī)之間的多個(gè)時(shí)鐘方面的差異。探查還可被用于研究在各種不利的環(huán)境(例如擁塞的鏈路,斷開的鏈路(down link)等)下,不同的同步算法的行為。在一個(gè)例證實(shí)現(xiàn)中,在建立同步環(huán)境(包括建立探查機(jī)器30并使它們與服務(wù)器和客戶機(jī)相連)之后,每隔一定時(shí)間從探查機(jī)器向服務(wù)器和客戶機(jī)傳送探查分組。從探查分組獲得的數(shù)據(jù)可被分析,從而獲得被探查的機(jī)器的動(dòng)作。例如,這樣的數(shù)據(jù)可被用于描繪來自被探查的每個(gè)機(jī)器的前向延遲和負(fù)后向延遲;獲得前向延遲和負(fù)后向延遲之間的中心線,以描述被探查的機(jī)器的時(shí)鐘行為;或者描繪來自被探查的所有機(jī)器的中心線并進(jìn)行比較。
上面參考根據(jù)本發(fā)明的實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的圖表,說明了本發(fā)明。顯然每個(gè)圖表可由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可被提供給通用計(jì)算機(jī),專用計(jì)算機(jī),嵌入式處理器或其它可編程數(shù)據(jù)處理設(shè)備的處理器,從而產(chǎn)生一臺機(jī)器,以致通過計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)這里規(guī)定的功能的裝置。
這些計(jì)算機(jī)程序指令還可被保存在能夠指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備按照特定的方式起作用的計(jì)算機(jī)可讀存儲器中,以致保存在計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括實(shí)現(xiàn)這里規(guī)定的功能的指令裝置的制造產(chǎn)品。
計(jì)算機(jī)程序指令還可被裝入計(jì)算機(jī)可讀的或者其它可編程數(shù)據(jù)處理設(shè)備,導(dǎo)致在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行一系列的操作步驟,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的進(jìn)程,以致在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)這里規(guī)定的功能的步驟。
應(yīng)明白本發(fā)明可用在實(shí)現(xiàn)其它連網(wǎng)協(xié)議,從而在計(jì)算機(jī)設(shè)備的互連網(wǎng)絡(luò)的節(jié)點(diǎn)間傳遞信息,以便調(diào)試這樣的節(jié)點(diǎn)的系統(tǒng)中。雖然顯然這里公開的發(fā)明非常適合于實(shí)現(xiàn)上面陳述的目的,不過要認(rèn)識到本領(lǐng)域的技術(shù)人員可設(shè)計(jì)出各種修改和實(shí)施例,附加的權(quán)利要求覆蓋落入本發(fā)明的精神和范圍內(nèi)的所有這樣的修改和實(shí)施例。
權(quán)利要求
1.一種用于對多節(jié)點(diǎn)網(wǎng)絡(luò)進(jìn)行動(dòng)態(tài)調(diào)試的設(shè)備,所述網(wǎng)絡(luò)包含包括多個(gè)設(shè)備的基礎(chǔ)結(jié)構(gòu),每個(gè)設(shè)備適合于按照協(xié)議在節(jié)點(diǎn)之間傳遞消息,所述設(shè)備包括使所述多節(jié)點(diǎn)網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)與探查裝置互連的多個(gè)探查鏈路,所述探查裝置監(jiān)視包括在由所述網(wǎng)絡(luò)中的節(jié)點(diǎn)傳遞的每條消息中的數(shù)據(jù);在所述探查裝置處理來自每條消息的數(shù)據(jù),從而確定觸發(fā)條件在節(jié)點(diǎn)處的存在,并且響應(yīng)檢測到觸發(fā)條件,產(chǎn)生通過所述探查鏈路由所述網(wǎng)絡(luò)中的所有節(jié)點(diǎn)接收的消息,以中斷所述節(jié)點(diǎn)處的操作并記錄可用于調(diào)試的數(shù)據(jù)的裝置,從而在首次錯(cuò)誤檢測時(shí)在每個(gè)節(jié)點(diǎn)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集調(diào)試信息,而不必手動(dòng)干預(yù)。
2.按照權(quán)利要求1所述的設(shè)備,其中針對由所述協(xié)議定義的在范圍之外的值定義觸發(fā)條件。
3.按照權(quán)利要求1所述的設(shè)備,其中針對由所述協(xié)議定義的多個(gè)消息字段內(nèi)容間的不一致值,定義觸發(fā)條件。
4.按照權(quán)利要求1所述的設(shè)備,其中定義觸發(fā)條件以檢測由所述協(xié)議定義的網(wǎng)絡(luò)變化的有效性。
5.按照權(quán)利要求1所述的設(shè)備,其中探查裝置計(jì)算相對于它正在探查的節(jié)點(diǎn)設(shè)備的協(xié)議相關(guān)值,并在多個(gè)節(jié)點(diǎn)設(shè)備間比較這些值,其中針對與比較所述值的結(jié)果相關(guān)的情況定義所述觸發(fā)條件。
6.按照權(quán)利要求1所述的設(shè)備,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述設(shè)備被用于檢測設(shè)置在節(jié)點(diǎn)設(shè)備的系統(tǒng)時(shí)鐘之間的長期時(shí)鐘漂移率。
7.按照權(quán)利要求1所述的設(shè)備,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述設(shè)備被用于檢測在運(yùn)行相同或不同同步算法的定時(shí)網(wǎng)絡(luò)內(nèi)的系統(tǒng)時(shí)鐘方面的差異。
8.按照權(quán)利要求1所述的設(shè)備,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述設(shè)備被用于確定在各種不利的環(huán)境下,不同的同步算法的行為。
9.一種用于對多節(jié)點(diǎn)網(wǎng)絡(luò)進(jìn)行動(dòng)態(tài)調(diào)試的方法,所述網(wǎng)絡(luò)包含包括多個(gè)設(shè)備的基礎(chǔ)結(jié)構(gòu),每個(gè)設(shè)備適合于按照協(xié)議在節(jié)點(diǎn)之間傳遞消息,所述方法包括實(shí)現(xiàn)通過探查鏈路監(jiān)視由所述網(wǎng)絡(luò)中的節(jié)點(diǎn)傳遞的每條消息中包括的數(shù)據(jù)的探查裝置;在所述探查裝置處理來自每條消息的數(shù)據(jù),從而確定觸發(fā)條件在節(jié)點(diǎn)處的存在,并且響應(yīng)檢測到觸發(fā)條件,產(chǎn)生通過所述探查鏈路由所述網(wǎng)絡(luò)中的所有節(jié)點(diǎn)接收的消息,用于中斷所述節(jié)點(diǎn)處的操作并記錄可用于調(diào)試的數(shù)據(jù),從而在首次錯(cuò)誤檢測時(shí)在每個(gè)節(jié)點(diǎn)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集調(diào)試信息,而不必手動(dòng)干預(yù)。
10.按照權(quán)利要求9所述的方法,其中所述處理數(shù)據(jù)包括確定由所述協(xié)議定義的在范圍之外的值,所述在范圍之外的值定義觸發(fā)條件。
11.按照權(quán)利要求9所述的方法,其中所述處理數(shù)據(jù)包括確定由所述協(xié)議定義的多個(gè)消息字段內(nèi)容間的不一致值,所述多個(gè)消息字段內(nèi)容間的不一致值定義觸發(fā)條件。
12.按照權(quán)利要求9所述的方法,其中所述處理數(shù)據(jù)包括檢測由所述協(xié)議定義的網(wǎng)絡(luò)變化的有效性,無效的網(wǎng)絡(luò)變化定義觸發(fā)條件。
13.按照權(quán)利要求9所述的方法,其中所述探查裝置計(jì)算相對于它正在探查的節(jié)點(diǎn)設(shè)備的協(xié)議相關(guān)值,并在多個(gè)節(jié)點(diǎn)設(shè)備間比較這些值,其中針對與比較所述值的結(jié)果相關(guān)的情況定義所述觸發(fā)條件。
14.按照權(quán)利要求9所述的方法,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述方法包括檢測設(shè)置在節(jié)點(diǎn)設(shè)備的系統(tǒng)時(shí)鐘之間的長期時(shí)鐘漂移率。
15.按照權(quán)利要求9所述的方法,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述方法包括檢測在運(yùn)行相同或不同同步算法的定時(shí)網(wǎng)絡(luò)內(nèi)的系統(tǒng)時(shí)鐘方面的差異。
16.按照權(quán)利要求9所述的方法,其中所述協(xié)議管理用于使網(wǎng)絡(luò)中的系統(tǒng)時(shí)鐘同步的定時(shí)信息的傳遞,所述方法包括確定在各種不利的環(huán)境下,不同的同步算法的行為。
17.一種機(jī)器可讀的程序存儲裝置,所述程序存儲裝置確實(shí)包含可由機(jī)器執(zhí)行從而實(shí)現(xiàn)動(dòng)態(tài)調(diào)試多節(jié)點(diǎn)網(wǎng)絡(luò)的方法步驟的指令的程序,所述網(wǎng)絡(luò)包含包括多個(gè)設(shè)備的基礎(chǔ)結(jié)構(gòu),每個(gè)設(shè)備適合于按照協(xié)議在節(jié)點(diǎn)之間傳遞消息,所述方法是按照前述方法權(quán)利要求任意之一所述的方法。
全文摘要
動(dòng)態(tài)調(diào)試多節(jié)點(diǎn)網(wǎng)絡(luò)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品,所述多節(jié)點(diǎn)網(wǎng)絡(luò)包含包括多個(gè)設(shè)備的基礎(chǔ)結(jié)構(gòu),每個(gè)設(shè)備適合于在節(jié)點(diǎn)之間傳遞消息,所述消息可包括使設(shè)置在每個(gè)節(jié)點(diǎn)的定時(shí)時(shí)鐘同步的信息。所述設(shè)備包括使每個(gè)節(jié)點(diǎn)與一個(gè)探查裝置互連的多個(gè)探查鏈路,所述探查裝置監(jiān)視包括在由節(jié)點(diǎn)傳遞的每條消息中的數(shù)據(jù)。每個(gè)探查裝置處理來自每條消息的數(shù)據(jù),從而確定觸發(fā)條件在節(jié)點(diǎn)處的存在,并且響應(yīng)檢測到觸發(fā)條件,產(chǎn)生由網(wǎng)絡(luò)中的所有節(jié)點(diǎn)接收的專用消息。每個(gè)節(jié)點(diǎn)通過中斷節(jié)點(diǎn)處的操作和記錄可用于調(diào)試的數(shù)據(jù),響應(yīng)所述專用消息。這樣,在首次錯(cuò)誤檢測時(shí)在每個(gè)節(jié)點(diǎn)收集調(diào)試信息,并在執(zhí)行時(shí)間動(dòng)態(tài)收集調(diào)試信息,而不必手動(dòng)干預(yù)。
文檔編號G06F11/36GK1929412SQ20061012161
公開日2007年3月14日 申請日期2006年8月23日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者威廉·M·薩卡爾, 丹尼斯·M·塞維格尼, 斯科特·M·卡爾森, 多納德·克拉特里, 特雷沃·E·卡爾森, 喬納?!·布拉巴利, 戴維·A·埃爾克, 米切爾·亨利·索多爾·哈克, 老羅納德·M·斯密斯, 張立 申請人:國際商業(yè)機(jī)器公司