專利名稱:有計(jì)劃的計(jì)算機(jī)問(wèn)題診斷和解決及其自動(dòng)報(bào)告和更新的制作方法
發(fā)明的領(lǐng)域本發(fā)明通常涉及軟件,尤其涉及有計(jì)劃地確定在操作個(gè)人計(jì)算機(jī)時(shí)發(fā)生的問(wèn)題的根源,并針對(duì)那些問(wèn)題向用戶提供有計(jì)劃的解決方法和/或豐富的診斷數(shù)據(jù)。
計(jì)算技術(shù)已經(jīng)改變了我們工作和游戲方法。近數(shù)十年來(lái),計(jì)算技術(shù)已經(jīng)變得十分復(fù)雜。此復(fù)雜性使計(jì)算機(jī)系統(tǒng)能完成各種各樣的高復(fù)雜性功能及應(yīng)用,從而穩(wěn)定地改善計(jì)算系統(tǒng)的利用。另一方面,那樣的復(fù)雜性也使即使是最熟練的軟件工程師也越來(lái)越難以開(kāi)發(fā)那樣的軟件,使其在所有可能的環(huán)境下完全兼容和發(fā)揮作用。因而,即使先進(jìn)的計(jì)算系統(tǒng)常常遇到一些問(wèn)題,如崩潰,系統(tǒng)掛起,或性能退化。
現(xiàn)在要容易地診斷或判定在計(jì)算系統(tǒng)中許多問(wèn)題的根源是困難或不可能的。計(jì)算系統(tǒng)的操作系統(tǒng)通常包括一些有限的機(jī)制以基本錯(cuò)誤消息的形式來(lái)識(shí)別問(wèn)題的存在。然而,錯(cuò)誤消息不向試圖診斷和解決此問(wèn)題根源或識(shí)別避免此問(wèn)題的變通辦法的人提供足夠信息。
因?yàn)樵S多不同的應(yīng)用和設(shè)備能在給定時(shí)刻在操作系統(tǒng)上運(yùn)行,且因?yàn)樵谀切┙M件之間的互操作性能導(dǎo)致復(fù)雜的問(wèn)題,操作系統(tǒng)常常難以確定,哪個(gè)應(yīng)用,設(shè)備驅(qū)動(dòng)程序或配置是所面臨問(wèn)題的根源。在各種互操作組件由不同的分銷商提供時(shí),互操作性尤其會(huì)導(dǎo)致復(fù)雜的問(wèn)題。問(wèn)題可能牽涉到操作系統(tǒng)、應(yīng)用、或設(shè)備驅(qū)動(dòng)程序,但一旦問(wèn)題暴露(如系統(tǒng)崩潰),再提供在解決問(wèn)題方面任何有用的信息已太晚了。當(dāng)在操作系統(tǒng)上執(zhí)行的應(yīng)用或設(shè)備驅(qū)動(dòng)程序不遵循操作系統(tǒng)按步就班的引導(dǎo)時(shí),問(wèn)題被惡化了。
此外,即使有足夠的診斷問(wèn)題的信息,用戶還常需要作許多工作來(lái)診斷問(wèn)題的根源并提供解決方法。用戶作許多工作來(lái)診斷和解決計(jì)算系統(tǒng)的問(wèn)題的要求會(huì)降低用戶在用計(jì)算系統(tǒng)工作時(shí)的感受,尤其是在用戶期望只有很少計(jì)算系統(tǒng)問(wèn)題時(shí)。
此外,許多用戶沒(méi)有足夠經(jīng)驗(yàn)來(lái)自己診斷及解決計(jì)算系統(tǒng)的問(wèn)題。因此,他們會(huì)采取他們認(rèn)為正確的動(dòng)作,但由于問(wèn)題的不正確的診斷及解決,這些動(dòng)作不能解決問(wèn)題。那些動(dòng)作實(shí)際上會(huì)更加惡化計(jì)算系統(tǒng)的性能或穩(wěn)定性。用戶還能求助于他人來(lái)診斷和解決問(wèn)題,從而導(dǎo)致用戶或幫助解決問(wèn)題的參與者的不必要的時(shí)間或經(jīng)費(fèi)上的開(kāi)銷。
為此,使操作系統(tǒng)能更好判定計(jì)算系統(tǒng)的問(wèn)題的根源的系統(tǒng)和方法是有益的。此外,提供用于處理所識(shí)別的問(wèn)題的有計(jì)劃的措施的系統(tǒng)和方法也是有益的。
發(fā)明的概述通過(guò)本發(fā)明的原理能克服以前技術(shù)有關(guān)的上述問(wèn)題,該原則的目標(biāo)是用于有計(jì)劃地診斷計(jì)算系統(tǒng)中問(wèn)題的根源的系統(tǒng)和方法。在一個(gè)實(shí)施例中,方法包括監(jiān)視由操作系統(tǒng)中合適的裝置產(chǎn)生的事件,至少記錄事件的子集到日志文件中,并檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件。作為響應(yīng)激活診斷模塊。診斷模塊查詢?nèi)罩疚募P(guān)于問(wèn)題的診斷的事件,并通過(guò)估計(jì)查詢的結(jié)果識(shí)別根源。一旦診斷到問(wèn)題的根源,激活對(duì)應(yīng)該根源的解決模塊,有計(jì)劃地解決問(wèn)題。
用戶定義的或默認(rèn)的策略模塊能控制是否和何時(shí)激活診斷模塊和/或解決模決。因而計(jì)算系統(tǒng)的問(wèn)題能被診斷和解決,從而改善用戶的感受,同時(shí)仍允許用戶對(duì)一般的診斷及解決過(guò)程有某些程度的控制。在一個(gè)實(shí)施例中,至少某些查詢結(jié)果被送到錯(cuò)誤報(bào)告服務(wù),后者返回多個(gè)更新之一到計(jì)算系統(tǒng)。這些更新修改記錄哪些事件、診斷模塊如何診斷、和/或解決模塊如何解決。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在下面的描述中說(shuō)明,部分從描述中可見(jiàn),或通過(guò)本發(fā)明的實(shí)踐掌握。本發(fā)明的特征和優(yōu)點(diǎn)能借助特別在附后的權(quán)利要求中指出的裝置和組合認(rèn)識(shí)到并獲得。本發(fā)明的這些和其他特征能從下面描述和附后的權(quán)利要求完全明白,或能通過(guò)后面提出的本發(fā)明的實(shí)踐掌握。
附圖簡(jiǎn)介為了描述能獲得本發(fā)明的上述和其他優(yōu)點(diǎn)和特征的方式,通過(guò)參考在附圖中說(shuō)明的特定實(shí)施例更具體地描述上面簡(jiǎn)述的本發(fā)明。理解這些附圖僅畫(huà)出本發(fā)明的典型實(shí)施例而不認(rèn)為是對(duì)其范圍的限制,本發(fā)明將通過(guò)使用附圖用特別專一和詳細(xì)方式加以描述,其中
圖1示出能實(shí)現(xiàn)本發(fā)明的特征的合適的計(jì)算系統(tǒng);圖2示出能用于實(shí)現(xiàn)本發(fā)明的特征的更具體的體系結(jié)構(gòu);圖3示出按本發(fā)明的原理在計(jì)算系統(tǒng)中有計(jì)劃地診斷及潛在地解決問(wèn)題的方法的流程圖。
較佳實(shí)施例的詳細(xì)描述本發(fā)明涉及在計(jì)算系統(tǒng)中有計(jì)劃地診斷問(wèn)題的根源的機(jī)制。首先加入合適的測(cè)試設(shè)備以產(chǎn)生描述被診斷的任務(wù)的執(zhí)行狀態(tài)的事件。這些事件在操作系統(tǒng)中被監(jiān)視,且至少某些事件被記錄到日志文件中。響應(yīng)錯(cuò)誤條件的檢測(cè),激活診斷模塊。診斷模塊查詢?nèi)罩疚募P(guān)于問(wèn)題的診斷的事件,并通過(guò)估計(jì)查詢的結(jié)果識(shí)別根源。一旦診斷了問(wèn)題的根源,激活對(duì)應(yīng)該根源的解決模塊,有計(jì)劃地解決該問(wèn)題。能遵循策略規(guī)則激活診斷及解決模塊。此外,能由更新服務(wù)按需要自動(dòng)地更新檢測(cè)、診斷和解決模塊。
轉(zhuǎn)向附圖,其中相同的參考號(hào)指的是相同的元件,本發(fā)明圖示成在合適的計(jì)算環(huán)境中實(shí)現(xiàn)。下面的描述基于本發(fā)明的圖示實(shí)施例,不認(rèn)為限制不在此直接描述的本發(fā)明的其他實(shí)施例。
在下面描述中除非特別指出,參考由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的過(guò)程及操作的符號(hào)表示來(lái)描述本發(fā)明。因此可以理解,有時(shí)稱之為計(jì)算機(jī)可執(zhí)行的那樣的過(guò)程和操作包括由計(jì)算機(jī)的處理單元對(duì)以結(jié)構(gòu)形式表示數(shù)據(jù)的電信號(hào)的處理。此處理轉(zhuǎn)換了數(shù)據(jù)或?qū)⑵浔4嬖谟?jì)算機(jī)的存儲(chǔ)系統(tǒng)的位置中,它以本專業(yè)行家眾知的方式重新配置或更換計(jì)算機(jī)的操作。保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是存儲(chǔ)器的物理位置,它們具有由數(shù)據(jù)的格式確定的特定特性。然而,雖然本發(fā)明是在述背景中描述的,但這不意味著限制于此,因?yàn)楸緦I(yè)行家將會(huì)理解,后面描述的各種過(guò)程和操作也能在硬件中實(shí)施。
參考圖1,本發(fā)明涉及監(jiān)視軟件應(yīng)用和硬件的可靠性及可用性。軟件應(yīng)用駐留在計(jì)算機(jī)上,它可以具有多個(gè)不同計(jì)算機(jī)體系結(jié)構(gòu)中的一個(gè)。為了說(shuō)明,圖1示出可用于這些設(shè)備的示例計(jì)算機(jī)體系結(jié)構(gòu)的原理圖。畫(huà)出的體系結(jié)構(gòu)僅是合適環(huán)境的一個(gè)例子,不是想要對(duì)本發(fā)明的使用或功能的范圍提出任何限制。對(duì)于圖1中示出的任何組件或其組合,該計(jì)算設(shè)備不認(rèn)為有任何的依賴性或需求。
本發(fā)明可選用各種其他的通用或?qū)S糜?jì)算或通訊環(huán)境或配置。適用于本發(fā)明的眾知的計(jì)算系統(tǒng)、環(huán)境和配置的例子包括移動(dòng)電話、口袋計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、服務(wù)器、多處理系統(tǒng),基于微機(jī)的系統(tǒng)、小型機(jī),大型主機(jī)和包括任何上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,但不限于這些。
在其最基本的配置中,計(jì)算系統(tǒng)100通常包括至少一個(gè)處理單元102和存儲(chǔ)器104。存儲(chǔ)器104能是易失的(如RAM)/非易失的(如ROM,閃存等),或者兩者的某種組合。此最基本的配置在圖1中由虛線106框出。
存儲(chǔ)介質(zhì)設(shè)備能具有另外的特征和功能。例如,它們能包括附加的存儲(chǔ)器(可移動(dòng)的及不可移動(dòng)的),包括但不局限于PCMCIA卡、磁盤(pán)和光盤(pán)、和磁帶。那些附加存儲(chǔ)器在圖1中由可移動(dòng)存儲(chǔ)器108和不可移動(dòng)存儲(chǔ)器110示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的易失和非易失,可移動(dòng)和不可移動(dòng)介質(zhì),用于存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)那樣的信息。存儲(chǔ)器104、可移動(dòng)存儲(chǔ)器108、和不可移動(dòng)存儲(chǔ)器110均是計(jì)算機(jī)存儲(chǔ)介質(zhì)的例子。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM閃存、其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字多功能盤(pán),其他光存儲(chǔ)器、盒式磁帶、磁帶、磁盤(pán)存儲(chǔ)器,其他磁存儲(chǔ)設(shè)備、和其他能用于存儲(chǔ)所希望的信息并能由計(jì)算設(shè)備訪問(wèn)的介質(zhì),但不限于這些。
這里使用的術(shù)語(yǔ)“模塊”或“組件”指的是在計(jì)算系統(tǒng)上執(zhí)行的軟件對(duì)象或例行程序。這里描述的不同組件、模塊,引擎和服務(wù)能作為在計(jì)算系統(tǒng)上執(zhí)行的對(duì)象或過(guò)程(如作為獨(dú)立的線程)實(shí)現(xiàn)。雖然這里描述的系統(tǒng)和方法最好以軟件實(shí)現(xiàn),以軟硬件或硬件實(shí)現(xiàn)也是可能的并也是預(yù)期的。
計(jì)算設(shè)備100還能包括允許主機(jī)與其他設(shè)備通訊的通訊通道112。通訊通道112是通訊介質(zhì)的例子。通訊介質(zhì)通常體現(xiàn)在計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊,或其他以如載波或其他傳輸機(jī)制那樣的調(diào)制數(shù)據(jù)信號(hào)形式的數(shù)據(jù)上,并包括任何信息提交介質(zhì)。術(shù)語(yǔ)“調(diào)制數(shù)據(jù)信號(hào)”指的是具有一個(gè)或多個(gè)以編碼信號(hào)中信息的方式設(shè)置或改變的特征的信號(hào)。例如,通訊介質(zhì)包括如有線網(wǎng)絡(luò)和直接線連結(jié)那樣的有線介質(zhì),和如聲音、無(wú)線電、紅外和其他無(wú)線介質(zhì)那樣的無(wú)線介質(zhì),但不限于這些。這里使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”包括存儲(chǔ)介質(zhì)和通訊介質(zhì)兩者。
計(jì)算設(shè)備100還具有如鍵盤(pán),鼠標(biāo),輸入筆,語(yǔ)音輸入組件,接觸輸入設(shè)備等那樣的輸入組件114。輸出組件116包括屏幕顯示、揚(yáng)聲器、打印機(jī)等,以及驅(qū)動(dòng)它們的演示模塊(常稱為“適配器”)。計(jì)算設(shè)備100具有電源供應(yīng)118。所有這些組件是業(yè)內(nèi)所眾知的,不必在此多作討論。
圖2示出能用于實(shí)現(xiàn)本發(fā)明的特征的更具體的體系結(jié)構(gòu)200。體系結(jié)構(gòu)200包括與遠(yuǎn)程計(jì)算系統(tǒng)236通訊的計(jì)算系統(tǒng)201。然而,即使沒(méi)有遠(yuǎn)程計(jì)算系統(tǒng)236的幫助計(jì)算系統(tǒng)201也能實(shí)現(xiàn)本發(fā)明的特征,但是沒(méi)有下面描述的更新服務(wù)的特征。雖然不是必須,計(jì)算系統(tǒng)201和236的每一個(gè)可以象上述對(duì)于計(jì)算系統(tǒng)100描述的那樣地構(gòu)造。
圖3示出按本發(fā)明的原理用于有計(jì)劃地診斷和潛在地解決問(wèn)題的方法的流程圖300。因?yàn)榉椒?00能在體系結(jié)構(gòu)200的環(huán)境實(shí)現(xiàn),將頻繁地互相參考圖2和3來(lái)描述它們。
在圖3中,方法300包括監(jiān)視在操作系統(tǒng)中的事件的過(guò)程(過(guò)程301)。參考圖2,被監(jiān)視的事件由在這里一起稱為“事件提供者262”的一系列操作系統(tǒng)(OS)組件,驅(qū)動(dòng)程序和服務(wù)262產(chǎn)生。事件提供者262將事件202通知記錄器204。在一個(gè)實(shí)施例中,在任何給定時(shí)刻收集的數(shù)據(jù)量受限于當(dāng)時(shí)現(xiàn)有的環(huán)境。因此,記錄器204處理較少量事件。因而,任何給定的事件提供者不必對(duì)每個(gè)檢測(cè)到的交互作用產(chǎn)生事件,而只能產(chǎn)生關(guān)系到問(wèn)題根源的更有關(guān)的事件。例如,不需要每當(dāng)盤(pán)驅(qū)動(dòng)器寫(xiě)到扇區(qū)時(shí)產(chǎn)生事件。然而若盤(pán)驅(qū)動(dòng)器未能響應(yīng)讀或?qū)懙拿?,或試圖寫(xiě)入禁寫(xiě)扇區(qū)時(shí),應(yīng)產(chǎn)生一事件。
事件提供者262的例子包括管理電源,即插即用(PnP)操作、存儲(chǔ)管理、總線控制(如PCI)、和其他低層API(應(yīng)用程序界面)的軟件模塊。其他操作系統(tǒng)組件(或應(yīng)用或驅(qū)動(dòng)程序)也能向記錄器204提出事件。其他操作系統(tǒng)組件的例子包括網(wǎng)絡(luò)模塊、圖象模塊、音頻模塊、和打印模塊。
通知記錄器204的事件類型的例子包括用戶請(qǐng)求、系統(tǒng)調(diào)用、設(shè)備連接、通訊請(qǐng)求等。例如,一個(gè)事件可描述用戶已請(qǐng)求將計(jì)算系統(tǒng)201置于低功率或待機(jī)狀態(tài),和在用戶請(qǐng)求不成功時(shí)幫助用戶或支持工程師診斷或解決待機(jī)失敗的后續(xù)事件。例如,待機(jī)失敗可包括那個(gè)應(yīng)用或驅(qū)動(dòng)程序禁止該請(qǐng)求置于低功率狀態(tài)。然而,可由操作系統(tǒng)檢測(cè)的任何其他事件能由事件提供者262向記錄器204提供。
在計(jì)算系統(tǒng)201(尤其是記錄器204)監(jiān)視事件(過(guò)程301)時(shí),記錄器204記錄事件的至少一個(gè)子集到日志文件(過(guò)程302)。例如,事件追蹤日志文件248表示那樣日志文件的例子,記錄器204配置成記錄事件202的全部或一部分??蛇x地,記錄器能配置成記錄最可能有助于診斷問(wèn)題的那些事件。記錄器204還能通知診斷策略服務(wù)208關(guān)于這些事件。在某些實(shí)施例中,流向診斷策略服務(wù)208的事件的量遠(yuǎn)低于流向事件追蹤日志文件248的事件的量。例如,記錄器204在事務(wù)開(kāi)始或終止時(shí)或在發(fā)生錯(cuò)誤條件時(shí)簡(jiǎn)單地通知診斷策略服務(wù)208。
在記錄監(jiān)視的事件的至少一子集(過(guò)程302)的某點(diǎn)處,計(jì)算系統(tǒng)201檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件(過(guò)程303)。參考圖2,這能由診斷策略服務(wù)208完成。診斷策略服務(wù)208例如通過(guò)檢測(cè)預(yù)定的單個(gè)錯(cuò)誤條件,或通過(guò)檢測(cè)已發(fā)生的錯(cuò)誤條件的預(yù)定序列判斷,何時(shí)發(fā)生實(shí)際的問(wèn)題。
一旦檢測(cè)到問(wèn)題,計(jì)算系統(tǒng)201完成一功能的、面向結(jié)果的步驟,來(lái)有計(jì)劃地診斷由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題(步驟310)。這可包括用于完成此結(jié)果的任何對(duì)應(yīng)過(guò)程。然而在圖示實(shí)施例中,這包括從311到314的對(duì)應(yīng)過(guò)程。
在實(shí)際上通過(guò)激活診斷模塊完成有計(jì)劃的診斷之前(過(guò)程311),計(jì)算系統(tǒng)201可查詢規(guī)則,以確定應(yīng)該按該規(guī)則激活診斷模塊(過(guò)程304)。規(guī)則能由所接收的用戶輸入指令設(shè)置,或多半是默認(rèn)設(shè)置。因而,診斷策略服務(wù)208通過(guò)監(jiān)視服務(wù)212間接地連接診斷模塊220。
監(jiān)視服務(wù)212應(yīng)用策略來(lái)過(guò)濾,哪些事件被傳播,直到激活用于判斷根源的診斷模塊220。何時(shí)希望過(guò)濾那樣的事件的例子包括那樣的企業(yè)環(huán)境,在那里信息技術(shù)(IT)經(jīng)理或系統(tǒng)管理員希望操作系統(tǒng)不完成某些自動(dòng)的根源判斷和/或自動(dòng)地問(wèn)題解決過(guò)程。例如,IT經(jīng)理希望得知問(wèn)題的發(fā)生,但是沒(méi)有自動(dòng)的根源分析或不發(fā)生任何自動(dòng)的解決?;騃T經(jīng)理希望有根源分析,但沒(méi)有自動(dòng)解決。
例如,計(jì)算系統(tǒng)201在響應(yīng)判斷根源問(wèn)題時(shí)可以采取的一個(gè)過(guò)程可以是自動(dòng)安裝更新的設(shè)備驅(qū)動(dòng)程序。因?yàn)樵谀承┣闆r,更新的設(shè)備驅(qū)動(dòng)程序能引起不可預(yù)見(jiàn)的操作改變,企業(yè)的IT經(jīng)理可輸入216策略214,規(guī)定用戶不能或無(wú)權(quán)更新設(shè)備驅(qū)動(dòng)程序。IT經(jīng)理能應(yīng)用于監(jiān)視服務(wù)212的策略的其他例子是不采取自動(dòng)的問(wèn)題解決步驟。這將允許用戶或IT經(jīng)理決定是否完成過(guò)程,而不是讓計(jì)算系統(tǒng)201自動(dòng)地完成過(guò)程。
若其存儲(chǔ)的政策允許,當(dāng)由診斷政策服務(wù)208檢測(cè)到一個(gè)或多個(gè)錯(cuò)誤條件的特定組時(shí),監(jiān)視服務(wù)212激活218合適的一個(gè)診斷模塊220(過(guò)程311)。另選地,合適的診斷模塊能由診斷策略服務(wù)208或由事件提供者262之一直接激活(如在沒(méi)有監(jiān)視服務(wù)212的實(shí)施例中)。計(jì)算系統(tǒng)201可包括多個(gè)診斷模塊,每個(gè)用于診斷預(yù)定的錯(cuò)誤條件或預(yù)定的錯(cuò)誤條件序列的根源。
每個(gè)診斷模塊在激活時(shí)被配置成查詢和關(guān)聯(lián)242相關(guān)的數(shù)據(jù)源,以診斷由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題(過(guò)程312),確定關(guān)于在此問(wèn)題事件之前的哪些事件和/或狀態(tài)的信息。例如,那樣的相關(guān)數(shù)據(jù)源可包括事件追蹤日志248、配置數(shù)據(jù)庫(kù)252、如記錄、系統(tǒng)兼容性管理程序254、WMI提供程序256、和其他數(shù)據(jù)源及日志文件250。
根據(jù)特定的操作系統(tǒng)實(shí)施,除了圖中示出的源或代替它們,可以查詢。其他日志文件250(如網(wǎng)絡(luò)狀態(tài)日志)和其他數(shù)據(jù)源。
系統(tǒng)兼容性管理程序254是一個(gè)服務(wù),它從不同的子系統(tǒng)(如PCI總線子系統(tǒng)、USB子系統(tǒng)、和AGP子系統(tǒng))和系統(tǒng)中其他總線驅(qū)動(dòng)程序和驅(qū)動(dòng)程序堆棧中接收有關(guān)已知硬件異常情況的狀態(tài)和錯(cuò)誤消息,這些異常情況需要設(shè)備特定的變通辦法,以允許有問(wèn)題的硬件正常地發(fā)揮作用。那樣的變通辦法能影響設(shè)備如何發(fā)揮功能,并從而不再成為最終用戶感覺(jué)到的問(wèn)題的根源。WMI提供程序揭示了有關(guān)系統(tǒng)上硬件設(shè)備的診斷信息。
診斷模塊估算查詢的結(jié)果244(過(guò)程313),并響應(yīng)該估算識(shí)別一個(gè)或多個(gè)錯(cuò)誤條件的根源(過(guò)程314)。這可通過(guò)運(yùn)行對(duì)應(yīng)于錯(cuò)誤條件的診斷例行程序來(lái)完成。至少某些診斷模塊的每一個(gè)(以及至少某些解決模塊224和診斷策略服務(wù)208)可具有插入能力,以考慮更少地修改對(duì)應(yīng)的診斷模塊。尤其在一個(gè)實(shí)施例中,診斷模塊220將查詢結(jié)果與根源關(guān)聯(lián)的表比較。這就完成了有計(jì)劃地診斷由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的步驟(步驟310)。
若查詢結(jié)果244與識(shí)別的根源相關(guān),激活的診斷模塊220能激活合適的解決模塊224(過(guò)程308),以完成對(duì)應(yīng)于被識(shí)別的根源的識(shí)別的解決方法。對(duì)一個(gè)問(wèn)題已識(shí)別的根源的已知存在的某個(gè)問(wèn)題。將查詢專門(mén)做成能診斷是否存在問(wèn)題。監(jiān)視服務(wù)212可再次考慮存儲(chǔ)的策略,以判斷是否按照規(guī)則激活解決模塊(過(guò)程307)。因而,診斷模塊首先通知222A監(jiān)視服務(wù)212有關(guān)根源。若存儲(chǔ)的策略允許,監(jiān)視服務(wù)212激活222B合適的解決模塊224。也可有多個(gè)解決模塊224,每個(gè)與一個(gè)或多個(gè)根源的不同組相關(guān)。每個(gè)解決模塊也可具有插入能力,以考慮較少的所需修改。
每個(gè)解決模塊224可配置錯(cuò)誤解決例行程序,它們能遵循在監(jiān)視服務(wù)212中的策略由合適的診斷模塊激活。錯(cuò)誤解決例行程序的例子包括搜索和/或安裝新的設(shè)備驅(qū)動(dòng)程序,或禁止或重新配置沖突的設(shè)備驅(qū)動(dòng)程序或應(yīng)用。在一個(gè)實(shí)施例中,至少某些例行程序自動(dòng)地完成(即不需要用戶輸入)。然而,某些解決模塊可利用通過(guò)激活228診斷用戶界面模塊232(如“故障檢修導(dǎo)引”)獲得的用戶輸入??蛇B接診斷用戶界面模塊232以提示用戶輸入附加信息,為合適的解決模塊(或?yàn)檎麄€(gè)計(jì)算系統(tǒng))使用,以求識(shí)別或解決問(wèn)題。在一個(gè)或多個(gè)錯(cuò)誤條件的根源在缺少進(jìn)一步的用戶幫助的情況不能有計(jì)劃地識(shí)別和/或解決時(shí),這特別有用。
在解決模塊224和診斷用戶界面232之間的交互由雙向箭頭228A表示。在診斷模塊220和診斷用戶界面232之間的交互由雙向箭頭228B表示。診斷用戶界面232也能允許用戶與事件產(chǎn)生器262交互228C以修改產(chǎn)生什么事件。
故障檢修應(yīng)用264提供一用戶界面,允許用戶直接向監(jiān)視服務(wù)212報(bào)告問(wèn)題,而不是等待監(jiān)視策略服務(wù)208檢測(cè)此問(wèn)題。然后診斷模塊220診斷所報(bào)告問(wèn)題的根源,接著解決模塊224解決該問(wèn)題。
有時(shí),修改記錄什么事件,診斷模塊如何診斷,或解決模塊如何解決所識(shí)別的問(wèn)題的根源是有益的。例如,也許診斷模塊不能根據(jù)記錄的事件診斷問(wèn)題,或也許解決模塊不作修改不能恰當(dāng)?shù)亟鉀Q問(wèn)題。因而,從診斷策略服務(wù)208、診斷模塊220、解決模塊224和/或診斷用戶界面模塊232來(lái)的信息能傳遞給過(guò)程日志230,用于向錯(cuò)誤報(bào)告服務(wù)238報(bào)告(過(guò)程305)。例如,解決模塊如箭頭226所示地向過(guò)程日志230報(bào)告。
還能向用戶顯示過(guò)程日志230,允許用戶看到檢測(cè)到的問(wèn)題、診斷的結(jié)果是什么、和如何解決被診斷到的問(wèn)題。過(guò)程日志也能提供給遠(yuǎn)端,以允許技術(shù)支持部門(mén)看到有關(guān)事實(shí),而不必依賴用戶講述有關(guān)事實(shí)。過(guò)程日志230也能送到的錯(cuò)誤報(bào)告服務(wù)238,以協(xié)助形成有關(guān)在用戶系統(tǒng)通常發(fā)生那些問(wèn)題的統(tǒng)計(jì)信息。
更新服務(wù)240可用來(lái)發(fā)送更新到計(jì)算系統(tǒng)201的一個(gè)或多個(gè)模塊,讓計(jì)算機(jī)系統(tǒng)201接收(過(guò)程306)。例如,更新服務(wù)240能用附加的事件或事件序列,更新記錄器,以存儲(chǔ)到事件追蹤日志文件248,幫助解決由錯(cuò)誤報(bào)告服務(wù)238,或由其它有關(guān)用戶經(jīng)歷故障的信息源檢測(cè)到的新問(wèn)題的根源。更新服務(wù)240也能更新診斷策略服務(wù)208,以改變?nèi)绾螜z測(cè)問(wèn)題。更新服務(wù)240也能用于更新(改變現(xiàn)有模塊,提供新的模塊,或增加或修改插入模塊)一個(gè)或多個(gè)診斷模塊220和解決模塊224,以反映對(duì)特定問(wèn)題確定的新的解決方法。在一個(gè)實(shí)施例中,更新服務(wù)240由分銷商的計(jì)算系統(tǒng)236操作,并通過(guò)因特網(wǎng)發(fā)送更新的計(jì)算系統(tǒng)201的模塊。另選地,第三方能提供定制改變或整個(gè)新模塊以及配置信息。
若錯(cuò)誤事件沒(méi)有已知的與其相關(guān)的根源,診斷模塊220將報(bào)告此信息到過(guò)程日志230,它轉(zhuǎn)而發(fā)送錯(cuò)誤報(bào)告234到錯(cuò)誤報(bào)告服務(wù)238。
若分銷商能夠從由過(guò)程日志230發(fā)送的信息判定根源,根源相關(guān)的信息和對(duì)應(yīng)的問(wèn)題解決信息通過(guò)更新服務(wù)240被送到計(jì)算系統(tǒng)201。若分銷商不能判定根源,分銷商能使用更新服務(wù)240,命令診斷策略服務(wù)204以存儲(chǔ)附加的事件或狀態(tài)信息到事件追蹤日志文件248。解決模塊224能類似地命令260記錄器存儲(chǔ)附加事件224,以保證達(dá)到合適的解決。當(dāng)附加的信息在下次發(fā)生問(wèn)題之后發(fā)送到錯(cuò)誤報(bào)告服務(wù)238時(shí),該附加信息使分銷商能更好地識(shí)別問(wèn)題的根源。
錯(cuò)誤報(bào)告234能在診斷已知的根源之前被發(fā)送。早期報(bào)告錯(cuò)誤允許更新服務(wù)240在試圖診斷和解決之前更新要更新的診斷模塊220和/或解決模塊224。另選地,錯(cuò)誤能在診斷之后而在解決之前報(bào)告234。在那種情況,更新服務(wù)240能更新專用于解決特定診斷的問(wèn)題的特定解決模塊。
可配置診斷策略服務(wù)208、診斷模塊220、和解決模塊224,以報(bào)告它們的過(guò)程到過(guò)程日志230(如檢測(cè)到錯(cuò)誤、診斷模塊被激活、診斷模塊采取某些步驟、根源被找到且就是它、根源不能判定、解決模塊被激活、解決模塊采取這些步驟、問(wèn)題被解決,問(wèn)題未解決等)。這就向分銷商提供關(guān)于系統(tǒng)是否正診斷問(wèn)題和問(wèn)題是否被解決的信息。此信息對(duì)分銷商是有價(jià)值的,因?yàn)樗捎糜谂袛嘣\斷模塊220或解決模塊224是否需要更新。信息對(duì)于分銷商理解哪些問(wèn)題對(duì)終端用戶是最普遍的是有用的,從而允許分銷商按此信息工作。例如,分銷售能通過(guò)創(chuàng)建新的體系結(jié)構(gòu)作出響應(yīng),以避免將來(lái)再發(fā)生該普遍的問(wèn)題。
錯(cuò)誤報(bào)告234甚至能在診斷已知根源之前發(fā)送。早期報(bào)告錯(cuò)誤允許更新服務(wù)240在試圖診斷及解決之前更新診斷模塊220和/或解決模塊224。另選地,錯(cuò)誤能在診斷后但在解決前報(bào)告234。在此情況,更新服務(wù)240能更新專用于解決特定的診斷出的問(wèn)題的特定的解決模塊。
如上所述,能通過(guò)更新服務(wù)240更新的一個(gè)例子是用于解決模塊224的新的問(wèn)題解決方法。若已識(shí)別出特定類型的錯(cuò)誤,但根源難以判定,更新能命令事件提供者或記錄器存儲(chǔ)更多的事件信息到事件追蹤日志文件248。將允許診斷模塊220發(fā)送更詳細(xì)的住處到過(guò)程日志230,后者發(fā)送更詳細(xì)的信息到錯(cuò)誤報(bào)告服務(wù)。在判定根源和解決問(wèn)題時(shí),附加信息有時(shí)能幫助分銷商的計(jì)算系統(tǒng)236。接著,能下載新的診斷及解決模塊以處理此問(wèn)題。
因而已描述了遵循內(nèi)部的策略約束有計(jì)劃地診斷和解決問(wèn)題的機(jī)制。此外,該機(jī)制在需要時(shí)自我更新,以便更好地診斷錯(cuò)誤條件的根源,并解決此根源。
權(quán)利要求
1.在執(zhí)行操作系統(tǒng)的計(jì)算系統(tǒng)中,一種用于有計(jì)劃地診斷計(jì)算系統(tǒng)中問(wèn)題的根源的方法,其特征在于,所述方法包括在操作系統(tǒng)中產(chǎn)生事件的過(guò)程;將事件的至少一個(gè)子集記錄到日志文件的過(guò)程;檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程;響應(yīng)檢測(cè)一個(gè)或多個(gè)錯(cuò)誤的過(guò)程激活診斷模塊的過(guò)程,其中,診斷模塊配置成在激活時(shí)做下列工作查詢?nèi)罩疚募员汴P(guān)聯(lián)與由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的診斷相關(guān)的事件的過(guò)程;估算查詢結(jié)果的過(guò)程;和響應(yīng)該估算識(shí)別該一個(gè)或多個(gè)錯(cuò)誤條件的根源的過(guò)程。
2.如權(quán)利要求1所述的方法,其特征在于,在檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程之后還包括查詢規(guī)則,以判定診斷模塊按這些規(guī)則應(yīng)被激活的過(guò)程。
3.如權(quán)利要求2所述的方法,其特征在于。所述方法還包括接收用戶輸入,以設(shè)置規(guī)則的過(guò)程。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括把查詢結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括接收一個(gè)或多個(gè)更新的過(guò)程,其中,這些更新修改哪些事件被記錄。
6.如權(quán)利要求5所述的方法,其特征在于,所述這些更新還更改診斷模塊如何診斷。
7.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括接收一個(gè)或多個(gè)更新的過(guò)程,其中,這些更新更改診斷模塊如何診斷。
8.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括響應(yīng)識(shí)別一個(gè)或多個(gè)錯(cuò)誤條件的根源,激活解決模塊的過(guò)程,解決模塊配置成在激活時(shí)做下述工作解決一個(gè)或多個(gè)錯(cuò)誤條件的根源的過(guò)程。
9.如權(quán)利要求8所述的方法,其特征在于,所述方法還包括在檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件過(guò)程之后的下述工作查詢規(guī)則,以判定診斷模塊按這些規(guī)則應(yīng)被激活的過(guò)程。
10.如權(quán)利要求9所述的方法,其特征在于,所述方法還包括接收用戶輸入,以設(shè)置規(guī)則的過(guò)程。
11.如權(quán)利要求8所述的方法,其特征在于,所述方法還包括把查詢結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程。
12.如權(quán)利要求11所述的方法,其特征在于,所述方法還包括接收一個(gè)或多個(gè)更新的過(guò)程,其中,所述這些更新修改哪些事件被記錄。
13.如權(quán)利要求12所述的方法,其特征在于,所述這些更新還更改診斷模塊如何診斷。
14.如權(quán)利要求13所述的方法,其特征在于,所述這些更新還更改解決模塊如何解決問(wèn)題。
15.如權(quán)利要求11所述的方法,其特征在于,所述這些更新更改診斷模塊如何診斷。
16.如權(quán)利要求15所述的方法,其特征在于,所述這些更新還更改解決模塊如何解決問(wèn)題。
17.如權(quán)利要求11所述的方法,其特征在于,所述這些更新更改解決模塊如何解決問(wèn)題。
18.如權(quán)利要求17所述的方法,其特征在于,所述這些更新還更改哪些事件被記錄。
19.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括接收一個(gè)或多個(gè)更新的過(guò)程,其中,所述這些更新更改診斷模塊如何診斷。
20.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括判定一個(gè)或多個(gè)錯(cuò)誤條件的根源不能有計(jì)劃地解決的過(guò)程;和連接用戶界面模塊,以提示用戶輸入由診斷或解決模塊使用的附加信息,以便識(shí)別或解決問(wèn)題的過(guò)程。
21.如權(quán)利要求1所述的方法,其特征在于,所述用戶界面模塊是故障檢修導(dǎo)引。
22.一種在執(zhí)行操作系統(tǒng)的計(jì)算系統(tǒng)中使用的計(jì)算機(jī)程序產(chǎn)品,其特征在于所述計(jì)算機(jī)程序產(chǎn)品用于實(shí)現(xiàn)在計(jì)算系統(tǒng)中有計(jì)劃地診斷問(wèn)題的根源的方法,所述計(jì)算機(jī)程序產(chǎn)品包括其上面有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),所述指令在由計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)完成在操作系統(tǒng)中產(chǎn)生事件的過(guò)程;把事件的至少一個(gè)子集記錄到日志文件的過(guò)程;檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程;響應(yīng)檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程激活診斷模塊的過(guò)程,其中,所述診斷模塊配置成在激活時(shí)做查詢?nèi)罩疚募躁P(guān)聯(lián)與由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的診斷相關(guān)的事件的過(guò)程;和估算查詢結(jié)果的過(guò)程;和響應(yīng)該估算識(shí)別一個(gè)或多個(gè)錯(cuò)誤條件的根源的過(guò)程。
23.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)是物理的存儲(chǔ)介質(zhì)。
24.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可讀指令,當(dāng)由一個(gè)或多個(gè)處理器在執(zhí)行時(shí)使得計(jì)算系統(tǒng)完成把查詢的結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程,和接收一個(gè)或多個(gè)更新的過(guò)程,這些更新修改哪個(gè)事件被記錄或更改診斷模塊如何診斷。
25.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,在由一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得計(jì)算系統(tǒng)完成響應(yīng)識(shí)別一個(gè)或多個(gè)錯(cuò)誤條件的根源的過(guò)程激活解決模塊的過(guò)程,該解決模塊配置成在激活時(shí)解決一個(gè)或多個(gè)錯(cuò)誤條件的根源。
26.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)完成把查詢結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程;和接收一個(gè)或多個(gè)更新的過(guò)程,所述這些更新修改哪些事件被記錄,更改診斷模塊如何診斷,或更改解決模塊如何解決問(wèn)題。
27.如權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)完成判定一個(gè)或多個(gè)錯(cuò)誤條件的根源不能有計(jì)劃地解決的過(guò)程,和連接用戶界面模塊,以提示用戶輸入由解決模塊使用的附加信息,以便識(shí)別或解決問(wèn)題的過(guò)程。
28.在執(zhí)行操作系統(tǒng)的計(jì)算系統(tǒng)中,一種用于有計(jì)劃地診斷計(jì)算系統(tǒng)中問(wèn)題的根源的方法,該方法包括在操作系統(tǒng)中產(chǎn)生事件的過(guò)程;將事件的至少一個(gè)子集記錄到日志文件的過(guò)程;檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程;和有計(jì)劃地診斷由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的步驟。
29.如權(quán)利要求28所述的方法,其特征在于,所述有計(jì)劃地診斷由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的步驟包括響應(yīng)檢測(cè)一個(gè)或多個(gè)錯(cuò)誤的過(guò)程激活診斷模塊的過(guò)程,其中診斷模塊配置成在激活時(shí)做查詢?nèi)罩疚募员汴P(guān)聯(lián)與由一個(gè)或多個(gè)錯(cuò)誤條件證實(shí)的問(wèn)題的診斷相關(guān)的事件的過(guò)程;估算查詢結(jié)果的過(guò)程,和響應(yīng)該估算識(shí)別該一個(gè)或多個(gè)錯(cuò)誤條件的根源的過(guò)程。
30.一種在其上面有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,這些指令在由計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得計(jì)算系統(tǒng)在存儲(chǔ)器中實(shí)例化下列內(nèi)容配置成在日志文件中記錄事件的事件記錄器;配置成在發(fā)生一個(gè)或多個(gè)錯(cuò)誤條件時(shí)檢測(cè)問(wèn)題,并配置成在檢測(cè)到問(wèn)題的至少某些情況下使解決模塊激活的問(wèn)題檢測(cè)模塊;如配置成查詢?nèi)罩疚募?,估算查詢結(jié)果,并根據(jù)該估算診斷該問(wèn)題的診斷模塊。
31.如權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可讀介質(zhì)介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)進(jìn)一步在存儲(chǔ)器中實(shí)例化下面內(nèi)容保存關(guān)于何時(shí)激活診斷模塊的規(guī)則的監(jiān)視模塊,其中監(jiān)視模塊在規(guī)則允許時(shí),響應(yīng)檢測(cè)問(wèn)題的問(wèn)題檢測(cè)模塊引起激活診斷模塊。
32.如權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)進(jìn)一步在存儲(chǔ)器中實(shí)例化下面內(nèi)容配置成在激活時(shí)解決問(wèn)題的解決模塊,其中,診斷模塊還配置成在診斷模塊診斷該問(wèn)題的至少某些情況下使解決模塊激活。
33.如權(quán)利要求32所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可讀介質(zhì)還在其上面有計(jì)算機(jī)可執(zhí)行指令,在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得計(jì)算系統(tǒng)進(jìn)一步在存儲(chǔ)器中實(shí)例化下述內(nèi)容保存關(guān)于何時(shí)激活解決模塊的規(guī)則的監(jiān)視模塊,其中,監(jiān)視模塊在規(guī)則允許時(shí)響應(yīng)診斷問(wèn)題的診斷模塊使解決模塊激活。
34.一種在執(zhí)行操作系統(tǒng)并通過(guò)網(wǎng)絡(luò)連接到錯(cuò)誤報(bào)告服務(wù)的計(jì)算系統(tǒng)中判定計(jì)算系統(tǒng)的問(wèn)題的根源的方法,其特征在于,所述方法包括在操作系統(tǒng)中產(chǎn)生事件的過(guò)程;將事件的至少一個(gè)子集記錄到日志文件的過(guò)程;檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程,并作為響應(yīng)進(jìn)行查詢?nèi)罩疚募躁P(guān)聯(lián)有關(guān)事件的過(guò)程;把查詢結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程,和接收一個(gè)或多個(gè)更新的過(guò)程,其中,所述這些更新修改哪些事件被記錄,采取哪些診斷步驟,或由該計(jì)算系統(tǒng)的操作系統(tǒng)采取或向終端用戶推薦哪些解決步驟。
35.一種在執(zhí)行操作系統(tǒng)并通過(guò)網(wǎng)絡(luò)連接到錯(cuò)誤報(bào)告服務(wù)的計(jì)算系統(tǒng)中使用的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品用于實(shí)現(xiàn)判定在該計(jì)算系統(tǒng)中問(wèn)題的根源的方法,所述算機(jī)程序產(chǎn)品包括一個(gè)或多個(gè)在其上面有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),在由該計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得該計(jì)算系統(tǒng)完成在操作系統(tǒng)中產(chǎn)生事件的過(guò)程;將事件的至少一個(gè)子集記錄到日志文件的過(guò)程;檢測(cè)一個(gè)或多個(gè)錯(cuò)誤條件的過(guò)程,并作為響應(yīng)進(jìn)行查詢?nèi)罩疚募躁P(guān)聯(lián)有關(guān)事件的過(guò)程;把查詢結(jié)果的至少一個(gè)子集發(fā)送到錯(cuò)誤報(bào)告服務(wù)的過(guò)程;和接收一個(gè)或多個(gè)更新的過(guò)程,其中,所述這些更新修改哪些事件被記錄,采取哪些診斷步驟,或由該計(jì)算機(jī)采取哪些解決步驟。
全文摘要
在計(jì)算系統(tǒng)中有計(jì)劃地診斷問(wèn)題的根源。在操作系統(tǒng)中監(jiān)視事件,并且事件至少一個(gè)子集被記錄到日志文件。響應(yīng)錯(cuò)誤條件的檢測(cè)激活診斷模塊。診斷模塊查詢?nèi)罩疚募躁P(guān)聯(lián)有關(guān)問(wèn)題的診斷的事件,并通過(guò)估算查詢結(jié)果識(shí)別根源。一旦診斷了問(wèn)題的根源,激活對(duì)應(yīng)于該根源的解決模塊,以便有計(jì)劃地解決問(wèn)題。能遵循策略規(guī)則激活診斷和解決模塊。此外,記錄、診斷和解決模塊能按需要自動(dòng)地更新。
文檔編號(hào)G06F11/36GK1550989SQ20041004345
公開(kāi)日2004年12月1日 申請(qǐng)日期2004年4月30日 優(yōu)先權(quán)日2003年5月7日
發(fā)明者A·里茨, J·F·龐, J·V·斯密史, M·R·弗爾丁, N·S·朱吉, A 里茨, 龐, 弗爾丁, 斯密史, 朱吉 申請(qǐng)人:微軟公司