欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)在os運(yùn)行時(shí)期間發(fā)生的系統(tǒng)錯(cuò)誤的基于策略的響應(yīng)的制作方法

文檔序號(hào):6478388閱讀:250來(lái)源:國(guó)知局
專利名稱:對(duì)在os運(yùn)行時(shí)期間發(fā)生的系統(tǒng)錯(cuò)誤的基于策略的響應(yīng)的制作方法
技術(shù)領(lǐng)域
這一公開(kāi)總地涉及故障恢復(fù),具體地但不窮盡地,涉及對(duì)在操作系統(tǒng)運(yùn)行時(shí)期間發(fā)生的系統(tǒng)錯(cuò)誤的基于策略的響應(yīng)。
背景技術(shù)
計(jì)算機(jī)在現(xiàn)代辦公室環(huán)境中已成為一種無(wú)所不在的工具。但是,這些計(jì)算機(jī)的用戶面對(duì)每天出現(xiàn)的無(wú)數(shù)系統(tǒng)錯(cuò)誤或故障,并不具備補(bǔ)救這些錯(cuò)誤所需的技術(shù)知識(shí)和/或訓(xùn)練。通常,當(dāng)計(jì)算機(jī)遭受故障而用戶又不能解決的時(shí)候,他們會(huì)打電話給信息技術(shù)(“IT”)的技術(shù)人員尋求幫助,這需要人員之間的互換。在一些情況下,IT技術(shù)人員可以通過(guò)電話指導(dǎo)用戶如何補(bǔ)救故障。不過(guò),在很多情況下,IT技術(shù)人員必須實(shí)際前往發(fā)生故障的計(jì)算機(jī)來(lái)診斷問(wèn)題并且補(bǔ)救故障。補(bǔ)救措施可以簡(jiǎn)單到改變運(yùn)行在計(jì)算機(jī)上的應(yīng)用程序中的軟件設(shè)置,一直到在計(jì)算機(jī)上安裝新的軟件或者甚至新的固件映像。
在大的辦公室環(huán)境中,辦公計(jì)算機(jī)通常通過(guò)局域網(wǎng)(“LAN”)與服務(wù)器互連。這些辦公計(jì)算機(jī)被稱為客戶計(jì)算機(jī)。LAN和客戶計(jì)算機(jī)通常是由內(nèi)部IT技術(shù)人員或IT組來(lái)維護(hù)的。IT組的工作就是要盡快診斷并且補(bǔ)救發(fā)生故障的客戶計(jì)算機(jī)??蛻粲?jì)算機(jī)的“故障時(shí)間”相當(dāng)于浪費(fèi)的用戶生產(chǎn)率。然而,對(duì)大辦公室環(huán)境中的大量日常故障作出響應(yīng),這是一項(xiàng)需要很多IT技術(shù)人員的繁重任務(wù)。使用隨叫隨到的IT技術(shù)人員本質(zhì)上是一件很昂貴的事情,而且IT技術(shù)人員常常供不應(yīng)求,這些全都經(jīng)常會(huì)給用戶生產(chǎn)率造成不應(yīng)有的損失。
為了避免這樣的花銷,已經(jīng)開(kāi)發(fā)出多種診斷工具,使得IT技術(shù)人員能夠獲得有關(guān)發(fā)生故障的計(jì)算機(jī)的信息,而不必實(shí)際到達(dá)發(fā)生故障的計(jì)算機(jī)處。過(guò)去,設(shè)備制造商已采用網(wǎng)絡(luò)協(xié)議例如簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(“SNMP”)來(lái)執(zhí)行遠(yuǎn)程系統(tǒng)診斷。IT技術(shù)人員可以使用基于SNMP的軟件工具來(lái)查詢發(fā)生故障的計(jì)算機(jī)的狀態(tài),或者調(diào)用客戶計(jì)算機(jī)的內(nèi)置診斷功能并且遠(yuǎn)程監(jiān)控測(cè)試結(jié)果。但是,這種方法仍然需要IT技術(shù)人員從服務(wù)器計(jì)算機(jī)監(jiān)視補(bǔ)救過(guò)程。此外,如果客戶計(jì)算機(jī)的操作系統(tǒng)發(fā)生了故障或者已經(jīng)“崩潰”,那么基于SNMP的軟件可能就無(wú)法對(duì)IT技術(shù)人員的狀態(tài)查詢作出響應(yīng)。因此,在系統(tǒng)崩潰的情況下,可能仍需要IT技術(shù)人員到客戶計(jì)算機(jī)旁親自解決問(wèn)題。


參考以下附圖來(lái)描述本發(fā)明非限制性并且非窮盡性的實(shí)施方案,其中除非特別指出,在各個(gè)附圖中相同的標(biāo)號(hào)是指相同的部分。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施方案,圖示了對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的處理系統(tǒng)的框圖。
圖2的狀態(tài)圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方案,一個(gè)處理系統(tǒng)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)所循環(huán)經(jīng)歷的狀態(tài)。
圖3的流程圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方案,用于實(shí)現(xiàn)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的處理系統(tǒng)的方法。
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施方案,圖示了通過(guò)網(wǎng)絡(luò)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的服務(wù)器-客戶端系統(tǒng)的框圖。
圖5的流程圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方案,用于實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的客戶端系統(tǒng)的方法。
圖6的流程圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方案,用于實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的服務(wù)器系統(tǒng)的方法。
圖7圖示了根據(jù)本發(fā)明的一個(gè)實(shí)施方案,實(shí)現(xiàn)對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的處理系統(tǒng)、客戶端系統(tǒng)或服務(wù)器系統(tǒng)的示例性計(jì)算機(jī)系統(tǒng)。
具體實(shí)施例方式
這里描述的是對(duì)在操作系統(tǒng)(“OS”)運(yùn)行時(shí)期間發(fā)生的系統(tǒng)錯(cuò)誤實(shí)現(xiàn)基于策略的響應(yīng)的系統(tǒng)和方法的實(shí)施方案。在一些描述中闡述了大量具體的細(xì)節(jié),以提供對(duì)本發(fā)明實(shí)施方案的完整理解。然而,相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,沒(méi)有這些具體細(xì)節(jié)中的一個(gè)或多個(gè),或者利用其他方法、組件或材料等也可以實(shí)現(xiàn)本發(fā)明。此外,沒(méi)有示出及描述公知的結(jié)構(gòu)、材料或操作,以免模糊了本發(fā)明的各個(gè)方面。
在整個(gè)說(shuō)明書(shū)中提及“一個(gè)實(shí)施方案”或者“實(shí)施方案”是指參考該實(shí)施方案所描述的具體特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施方案中。因此,短語(yǔ)“在一個(gè)實(shí)施方案中”或者“在實(shí)施方案中”在整個(gè)說(shuō)明書(shū)不同地方的出現(xiàn)不一定都是指同一個(gè)實(shí)施方案。此外,具體的特征、結(jié)構(gòu)或特性可以以適當(dāng)?shù)姆绞奖唤M合在一個(gè)或多個(gè)實(shí)施方案中。
在本發(fā)明的一個(gè)實(shí)施方案中,一個(gè)處理系統(tǒng)能夠診斷系統(tǒng)錯(cuò)誤,并且能夠基于容錯(cuò)策略對(duì)該系統(tǒng)錯(cuò)誤作出響應(yīng)。該處理系統(tǒng)甚至能夠診斷并響應(yīng)導(dǎo)致系統(tǒng)崩潰的系統(tǒng)錯(cuò)誤,例如當(dāng)該處理系統(tǒng)的操作系統(tǒng)(“OS”)掛起或凍結(jié)時(shí)。在一個(gè)實(shí)施方案中,服務(wù)器系統(tǒng)能夠通過(guò)網(wǎng)絡(luò)診斷并響應(yīng)客戶端系統(tǒng)的系統(tǒng)錯(cuò)誤。下面將詳細(xì)描述本發(fā)明的這些和其他實(shí)施方案以及附加特征。
圖1是圖示了根據(jù)本發(fā)明的實(shí)施方案,對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的處理系統(tǒng)100的框圖。在一個(gè)實(shí)施方案中,處理系統(tǒng)100包括中央處理單元(“CPU”)105、存儲(chǔ)器單元110、存儲(chǔ)器位置125和非易失性(“NV”)存儲(chǔ)單元130。在一個(gè)實(shí)施方案中,存儲(chǔ)器單元110包括保護(hù)區(qū)111和非保護(hù)區(qū)113。在一個(gè)實(shí)施方案中,故障響應(yīng)代理(agent)135和容錯(cuò)策略140被存儲(chǔ)在存儲(chǔ)器單元110的保護(hù)區(qū)111中。在一個(gè)實(shí)施方案中,故障響應(yīng)代理145被存儲(chǔ)在NV存儲(chǔ)單元130中。在一個(gè)實(shí)施方案中,OS150和軟件應(yīng)用程序155都被存儲(chǔ)并運(yùn)行在存儲(chǔ)器單元110的非保護(hù)區(qū)113中。
處理系統(tǒng)100的元件如下互連。CPU104被可通信地耦合到NV存儲(chǔ)單元130,以從中接收并執(zhí)行固件指令。此外,CPU105被可通信地耦合到存儲(chǔ)器單元110,以執(zhí)行OS150和軟件應(yīng)用程序155。在一些情形中,固件指令可以由CPU105從NV存儲(chǔ)單元130轉(zhuǎn)移到存儲(chǔ)器單元110,并從中由CPU105來(lái)執(zhí)行。
在一個(gè)實(shí)施方案中,CPU105是基于Intel體系結(jié)構(gòu)的CPU。在其他實(shí)施方案中,CPU105是能夠接收、發(fā)送并執(zhí)行軟件指令的任何處理器。在一個(gè)實(shí)施方案中,存儲(chǔ)器單元110是系統(tǒng)隨機(jī)訪問(wèn)存儲(chǔ)器(“RAM”)。在其他實(shí)施方案中,存儲(chǔ)器單元110是硬盤(pán)、軟盤(pán)、磁帶驅(qū)動(dòng)器、非易失性存儲(chǔ)器等。在一個(gè)實(shí)施方案中,NV存儲(chǔ)單元130是只讀存儲(chǔ)器器件。在其他實(shí)施方案中,NV存儲(chǔ)單元130是可編程只讀存儲(chǔ)器器件、可擦除可編程只讀存儲(chǔ)器器件、電可擦除可編程只讀存儲(chǔ)器器件、閃存器件等。
現(xiàn)在參考圖1和2,處理系統(tǒng)100的一個(gè)實(shí)施方案循環(huán)經(jīng)歷以下?tīng)顟B(tài),以對(duì)系統(tǒng)錯(cuò)誤實(shí)現(xiàn)基于策略的響應(yīng)。在系統(tǒng)關(guān)閉狀態(tài)210中,處理系統(tǒng)100被關(guān)機(jī)。當(dāng)CPU105接收到開(kāi)機(jī)信號(hào)時(shí),狀態(tài)轉(zhuǎn)移213將處理系統(tǒng)100轉(zhuǎn)移到初始化狀態(tài)220。
在初始化狀態(tài)220中,處理系統(tǒng)105開(kāi)始它的早期初始化。這一初始化過(guò)程可以包括由CPU105執(zhí)行任務(wù),例如從NV存儲(chǔ)單元130加載引導(dǎo)程序,執(zhí)行開(kāi)機(jī)自檢測(cè)(“POST”),以及搜索附接的驅(qū)動(dòng)器以找到OS150并將OS150的文件加載到存儲(chǔ)器單元110的非保護(hù)區(qū)113中。例如,在微軟WindowsTM環(huán)境中,CPU105可以將被稱為IO.SYS的文件加載到非保護(hù)區(qū)113中。在一個(gè)實(shí)施方案中,初始化狀態(tài)220包括將故障響應(yīng)代理145加載到存儲(chǔ)器單元110的保護(hù)區(qū)111中。為清楚起見(jiàn),一旦故障響應(yīng)代理145從固件130被加載到保護(hù)區(qū)111中,它將被稱為故障響應(yīng)代理135。應(yīng)當(dāng)認(rèn)識(shí)到,故障響應(yīng)代理145可以被存儲(chǔ)在可通信地耦合到CPU105的任何非易失存儲(chǔ)器件中,例如硬盤(pán)等。如果處理系統(tǒng)100被可通信地耦合到網(wǎng)絡(luò),它也可以經(jīng)由動(dòng)態(tài)主機(jī)配置協(xié)議(“DHCP”)或其他適當(dāng)?shù)木W(wǎng)絡(luò)協(xié)議,在初始化狀態(tài)220期間獲取服務(wù)器地址。處理系統(tǒng)100可以在初始化狀態(tài)220期間執(zhí)行很多其他任務(wù),為清楚起見(jiàn)沒(méi)有包括進(jìn)來(lái)。
當(dāng)引導(dǎo)程序?qū)?duì)處理系統(tǒng)100的控制交給OS150時(shí),發(fā)生狀態(tài)轉(zhuǎn)移223。狀態(tài)轉(zhuǎn)移223將處理系統(tǒng)100從初始化狀態(tài)220轉(zhuǎn)移到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230。在OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230中,OS150對(duì)處理系統(tǒng)100具有控制權(quán),并且CPU105可以在OS150的上面執(zhí)行任意數(shù)量的軟件應(yīng)用程序155。
在一個(gè)實(shí)施方案中,當(dāng)CPU105接收到中斷信號(hào)107時(shí),處理系統(tǒng)100經(jīng)由狀態(tài)轉(zhuǎn)移233轉(zhuǎn)移到受保護(hù)運(yùn)行模式狀態(tài)240。當(dāng)處于受保護(hù)運(yùn)行模式狀態(tài)240中時(shí),OS運(yùn)行時(shí)被中止。在受保護(hù)運(yùn)行模式狀態(tài)240期間,處理系統(tǒng)100的運(yùn)行被保護(hù)以免受到在OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230期間執(zhí)行的OS150或應(yīng)用程序155的破壞。因此,即使OS150已經(jīng)崩潰并且CPU105不能在OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230期間進(jìn)行有用的執(zhí)行,CPU105也能夠在受保護(hù)運(yùn)行模式狀態(tài)240期間執(zhí)行軟件指令。
在一個(gè)實(shí)施方案中,受保護(hù)運(yùn)行模式狀態(tài)240是內(nèi)建于Intel SL增強(qiáng)型486和PentiumTMCPU內(nèi)的系統(tǒng)管理模式(“SMM”)。在這一實(shí)施方案中,當(dāng)CPU105接收到系統(tǒng)管理中斷(“SMI”)時(shí),進(jìn)入SMM。當(dāng)一個(gè)事件產(chǎn)生SMI時(shí),CPU105通過(guò)將其當(dāng)前狀態(tài)的實(shí)質(zhì)部分保存在狀態(tài)保存映射表中而作出響應(yīng),初始化某些寄存器以提供SMM執(zhí)行環(huán)境,然后開(kāi)始在SMM內(nèi)執(zhí)行。在這個(gè)SMM的實(shí)施方案中,存儲(chǔ)器單元110的保護(hù)區(qū)域111被稱為系統(tǒng)管理隨機(jī)訪問(wèn)存儲(chǔ)器(“SMRAM”)。只有在SMM期間執(zhí)行的應(yīng)用程序有權(quán)訪問(wèn)SMRAM。因此,在OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230期間執(zhí)行的OS150和軟件應(yīng)用程序155不具有對(duì)SMRAM的訪問(wèn)權(quán)。以這種方式,就可以保護(hù)在SMM期間執(zhí)行的SMRAM和應(yīng)用程序(例如故障響應(yīng)代理135)免受OS150和/或軟件應(yīng)用程序155的破壞。即使OS150已經(jīng)崩潰,或者軟件應(yīng)用程序155之一掛起,CPU105在SMM期間的執(zhí)行也不受影響。另外,SMM對(duì)OS155是透明的,并且是OS不可知(agnostic)的。換言之,OS150和軟件應(yīng)用程序155并不知道SMM和SMRAM。
一旦處于受保護(hù)運(yùn)行模式狀態(tài)240中,故障響應(yīng)代理135就查詢處理系統(tǒng)100,以確定是否發(fā)生了系統(tǒng)錯(cuò)誤。如果故障響應(yīng)代理135沒(méi)有檢測(cè)到系統(tǒng)錯(cuò)誤,則處理系統(tǒng)100沿著狀態(tài)轉(zhuǎn)移235返回到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230。一旦處理系統(tǒng)100沿著狀態(tài)轉(zhuǎn)移235返回到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230,CPU105的執(zhí)行就在它原來(lái)停止的地方恢復(fù)。
如果故障響應(yīng)代理135檢測(cè)到了系統(tǒng)錯(cuò)誤,則故障響應(yīng)代理135作出響應(yīng),以基于容錯(cuò)策略140來(lái)補(bǔ)救所述系統(tǒng)錯(cuò)誤。在一個(gè)實(shí)施方案中,容錯(cuò)策略140包含與系統(tǒng)錯(cuò)誤相對(duì)應(yīng)的一列策略命令(directive)。故障響應(yīng)代理135執(zhí)行這些策略命令,以對(duì)檢測(cè)到的系統(tǒng)錯(cuò)誤作出響應(yīng)。下面將更詳細(xì)地討論容錯(cuò)策略140。基于故障響應(yīng)代理135所執(zhí)行的具體策略命令,處理系統(tǒng)100將沿著狀態(tài)轉(zhuǎn)移235返回到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230,或者沿著狀態(tài)轉(zhuǎn)移243轉(zhuǎn)移到系統(tǒng)關(guān)閉狀態(tài)210。如果處理系統(tǒng)100返回到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230,那么它將再次返回到受保護(hù)運(yùn)行模式狀態(tài)240。下面將更詳細(xì)地討論處理系統(tǒng)100執(zhí)行狀態(tài)轉(zhuǎn)移233的頻率。如果處理系統(tǒng)100沿著狀態(tài)轉(zhuǎn)移243轉(zhuǎn)移到系統(tǒng)關(guān)閉狀態(tài)210,那么處理系統(tǒng)100將以與上述類似的方式返回到OS運(yùn)行時(shí)運(yùn)行模式狀態(tài)230。
現(xiàn)在參考圖1和圖3,根據(jù)本發(fā)明,處理系統(tǒng)100的一個(gè)實(shí)施方案如下運(yùn)行,以實(shí)現(xiàn)對(duì)系統(tǒng)錯(cuò)誤的基于策略的響應(yīng)。
在處理框305中,處理系統(tǒng)100開(kāi)機(jī)。開(kāi)機(jī)事件可能是處理系統(tǒng)100的用戶開(kāi)啟處理系統(tǒng)100的結(jié)果,或者它可能是處理系統(tǒng)100復(fù)位的結(jié)果。離開(kāi)處理框305,處理系統(tǒng)100將經(jīng)過(guò)前面結(jié)合初始化狀態(tài)220所描述的早期系統(tǒng)初始化(處理框310)。接著,CPU105將故障響應(yīng)代理145加載到存儲(chǔ)器單元110的保護(hù)區(qū)域111中(處理框315)。在處理框320中,CPU105發(fā)動(dòng)引導(dǎo)目標(biāo)(例如,當(dāng)在微軟WindowsTM環(huán)境中運(yùn)行時(shí)是指IO.SYS)。此時(shí),處理系統(tǒng)100前進(jìn)到處理框325,進(jìn)入OS運(yùn)行時(shí)運(yùn)行模式。
當(dāng)處于OS運(yùn)行時(shí)運(yùn)行模式中時(shí),OS150控制CPU105以及處理系統(tǒng)100中未示出的各種其他元件的操作。此外,一個(gè)或多個(gè)軟件應(yīng)用程序155可以在OS150之上運(yùn)行。OS運(yùn)行時(shí)運(yùn)行模式代表了CPU105和處理系統(tǒng)100的普通運(yùn)行模式。
在處理框330中,CPU105接收到中斷信號(hào)107,指示CPU105激活受保護(hù)運(yùn)行模式。在一個(gè)實(shí)施方案中,以一個(gè)設(shè)定的間隔周期性地產(chǎn)生中斷信號(hào)107(例如心跳式中斷)。在一個(gè)實(shí)施方案中,響應(yīng)于硬件看門(mén)狗定時(shí)器而觸發(fā)中斷信號(hào)107。看門(mén)狗定時(shí)器是一個(gè)時(shí)鐘電路,它從起始數(shù)開(kāi)始向下數(shù)到零。如果看門(mén)狗定時(shí)器正在監(jiān)視的事件在看門(mén)狗定時(shí)器到達(dá)零之前發(fā)生了,那么看門(mén)狗定時(shí)器復(fù)位到起始數(shù),并且再次開(kāi)始向下計(jì)數(shù)。如果該時(shí)鐘電路到達(dá)零,則該電路產(chǎn)生中斷信號(hào)107。在一個(gè)實(shí)施方案中,看門(mén)狗定時(shí)器對(duì)存儲(chǔ)器位置125進(jìn)行監(jiān)控,而存儲(chǔ)器位置125又是由OS 150或者軟件應(yīng)用程序155之一以設(shè)定的間隔來(lái)更新的。因此,如果負(fù)責(zé)更新存儲(chǔ)器位置125的OS150或軟件應(yīng)用程序155之一掛起或者以其他方式發(fā)生故障(即,引發(fā)了系統(tǒng)錯(cuò)誤),那么在看門(mén)狗定時(shí)器向下數(shù)到零之前存儲(chǔ)器位置125不能被更新。在這種情況下,看門(mén)狗定時(shí)器將產(chǎn)生中斷信號(hào)107。在一個(gè)實(shí)施方案中,中斷信號(hào)107就是前面所描述的SMI。
一旦在處理框330中產(chǎn)生中斷信號(hào)107,CPU105就激活受保護(hù)運(yùn)行模式(處理框335),并且中止OS運(yùn)行時(shí)運(yùn)行模式。當(dāng)OS運(yùn)行時(shí)間被中止時(shí),在處理框315中被加載到存儲(chǔ)器單元110的保護(hù)區(qū)域111中的故障響應(yīng)代理135查詢處理系統(tǒng)100的各個(gè)方面,以確定是否已發(fā)生了系統(tǒng)故障或系統(tǒng)錯(cuò)誤(處理框340)。在一個(gè)實(shí)施方案中,查詢處理系統(tǒng)100包括訪問(wèn)存儲(chǔ)器位置125,以確定自從故障響應(yīng)代理135上一次查詢存儲(chǔ)器位置125到現(xiàn)在,在存儲(chǔ)器位置125中所包含的數(shù)據(jù)是否已在OS運(yùn)行時(shí)運(yùn)行模式期間,以預(yù)定或預(yù)期的方式隨著時(shí)間演變。因此,如果OS150或軟件應(yīng)用程序155之一掛起,它可能就不再能夠象故障響應(yīng)代理135所預(yù)期的那樣對(duì)存儲(chǔ)器位置125進(jìn)行更新。在OS運(yùn)行時(shí)運(yùn)行模式和受保護(hù)運(yùn)行模式之間連續(xù)轉(zhuǎn)移之后,故障響應(yīng)代理135可以將數(shù)據(jù)的當(dāng)前值和數(shù)據(jù)的先前值做比較。如果數(shù)據(jù)沒(méi)有以預(yù)期的方式改變,則故障響應(yīng)代理135確定發(fā)生了系統(tǒng)錯(cuò)誤(判決框345)。
在一個(gè)實(shí)施方案中,存儲(chǔ)器位置125是OS150和/或軟件應(yīng)用程序155可以訪問(wèn)的數(shù)據(jù)寄存器。在一個(gè)實(shí)施方案中,存儲(chǔ)器位置125是存儲(chǔ)器單元110的非保護(hù)區(qū)域113內(nèi)的存儲(chǔ)器位置或多個(gè)存儲(chǔ)器位置。存儲(chǔ)器位置125可以是耦合到CPU105的任意存儲(chǔ)器件或多個(gè)存儲(chǔ)器件的任意存儲(chǔ)地址位置或多個(gè)存儲(chǔ)地址位置,其在OS運(yùn)行時(shí)間內(nèi)以可確定的方式演變,或者在OS運(yùn)行時(shí)間內(nèi)以可確定的方式保持靜態(tài)。應(yīng)當(dāng)理解,雖然在圖1中只示出了一個(gè)存儲(chǔ)器位置125,但是故障響應(yīng)代理135可以訪問(wèn)處理系統(tǒng)100內(nèi)任意數(shù)量的存儲(chǔ)器位置125,以收集有關(guān)處理系統(tǒng)100的運(yùn)行健康狀況的診斷信息。在一個(gè)實(shí)施方案中,應(yīng)用程序155中的每一個(gè)都具有至少一個(gè)對(duì)應(yīng)的存儲(chǔ)器位置125,在處理框340中,故障響應(yīng)代理135可以在受保護(hù)運(yùn)行模式期間對(duì)該位置進(jìn)行查詢。
故障響應(yīng)代理135除了知道存儲(chǔ)器位置125在處理系統(tǒng)100的健康運(yùn)行期間被預(yù)期如何隨著時(shí)間演變之外,還知道存儲(chǔ)器位置125的其他屬性和特性。例如,如果存儲(chǔ)器位置125包含處理系統(tǒng)100的系統(tǒng)時(shí)鐘數(shù)據(jù),那么故障響應(yīng)代理135將會(huì)擁有這一信息,并且知道系統(tǒng)時(shí)鐘應(yīng)當(dāng)在以可確定的方式遞增。如果系統(tǒng)時(shí)鐘數(shù)據(jù)在對(duì)存儲(chǔ)器位置125的連續(xù)查詢之間沒(méi)有遞增預(yù)期的量,那么故障響應(yīng)代理135可以查詢處理系統(tǒng)100的其他方面,以確定是系統(tǒng)時(shí)鐘應(yīng)用程序發(fā)生了故障還是OS150發(fā)生了故障。
如果故障響應(yīng)代理135在判決框345確定已發(fā)生了系統(tǒng)錯(cuò)誤,則故障響應(yīng)代理基于容錯(cuò)策略140對(duì)該系統(tǒng)錯(cuò)誤作出響應(yīng)(處理框355)。在一個(gè)實(shí)施方案中,容錯(cuò)策略140包含與系統(tǒng)錯(cuò)誤相對(duì)應(yīng)的一列策略命令。故障響應(yīng)代理135執(zhí)行這些策略命令,以響應(yīng)所檢測(cè)到的系統(tǒng)錯(cuò)誤。例如,一個(gè)這樣的策略命令可以是復(fù)位處理系統(tǒng)100。在這種情況下,處理系統(tǒng)100將返回處理框305,并且如上所述地從那里開(kāi)始執(zhí)行。其他策略命令可以包括終止作為系統(tǒng)錯(cuò)誤源的一個(gè)或多個(gè)軟件應(yīng)用程序155的執(zhí)行,將所保存的基本輸入輸出系統(tǒng)映像恢復(fù)到NV存儲(chǔ)單元130中,或者將所保存的軟件映像(例如OS150的系統(tǒng)文件)恢復(fù)到耦合到CPU105的硬盤(pán)(未示出)中。在一個(gè)實(shí)施方案中,故障響應(yīng)代理135維護(hù)一個(gè)檢測(cè)到的系統(tǒng)錯(cuò)誤的日志。在這個(gè)實(shí)施方案中,如果故障響應(yīng)代理135幾次將同一系統(tǒng)錯(cuò)誤寫(xiě)入日志(例如一星期四次),那么故障響應(yīng)代理135基于容錯(cuò)策略140和包含重復(fù)系統(tǒng)錯(cuò)誤的日志,可以確定一種謹(jǐn)慎的策略命令就是分別將所保存的軟件映像或者所保存的BIOS映像恢復(fù)到硬盤(pán)或NV存儲(chǔ)單元130中。
返回判決框345,如果故障響應(yīng)代理135確定未發(fā)生系統(tǒng)錯(cuò)誤,則處理系統(tǒng)100禁用受保護(hù)運(yùn)行模式(處理框350),并且CPU105從它在OS運(yùn)行時(shí)運(yùn)行模式中停止的地方繼續(xù)執(zhí)行(處理框325)。在一個(gè)實(shí)施方案中,在OS運(yùn)行時(shí)運(yùn)行模式和受保護(hù)運(yùn)行模式之間的這一循環(huán)無(wú)限制地繼續(xù)下去。此外,在一個(gè)實(shí)施方案中,應(yīng)用程序155和OS150恢復(fù)執(zhí)行,而不知道它們?cè)?jīng)被中止過(guò)。運(yùn)行保護(hù)模式的這種透明性可以通過(guò)就在激活受保護(hù)運(yùn)行模式之前保存CPU105的狀態(tài)參數(shù)來(lái)實(shí)現(xiàn)。在禁用受保護(hù)運(yùn)行模式之后,所保存的狀態(tài)參數(shù)被復(fù)制回CPU105,并且OS運(yùn)行時(shí)運(yùn)行模式恢復(fù)執(zhí)行。
圖4是根據(jù)本發(fā)明的實(shí)施方案,通過(guò)網(wǎng)絡(luò)403對(duì)系統(tǒng)錯(cuò)誤執(zhí)行基于策略的響應(yīng)的服務(wù)器-客戶端系統(tǒng)400的實(shí)施方案的框圖。在這個(gè)實(shí)施方案中,服務(wù)器-客戶端系統(tǒng)400包括客戶端系統(tǒng)401,該系統(tǒng)經(jīng)由網(wǎng)絡(luò)403可通信地耦合到服務(wù)器系統(tǒng)402??蛻舳讼到y(tǒng)401所示出的實(shí)施方案包括CPU105、存儲(chǔ)器單元110、通信鏈路415、存儲(chǔ)器位置125和NV存儲(chǔ)單元130。服務(wù)器系統(tǒng)402所示出的實(shí)施方案包括CPU405、存儲(chǔ)器單元410和通信鏈路417。在一個(gè)實(shí)施方案中,存儲(chǔ)器單元410包括策略代理435和容錯(cuò)策略440。
在一個(gè)實(shí)施方案中,客戶端系統(tǒng)401與處理系統(tǒng)100類似,但是具有通過(guò)網(wǎng)絡(luò)403與服務(wù)器系統(tǒng)402通信的附加功能。通信鏈路415將客戶端系統(tǒng)401的CPU105耦合到網(wǎng)絡(luò)403。類似地,通信鏈路417將服務(wù)器系統(tǒng)402的CPU405耦合到網(wǎng)絡(luò)403。通信鏈路415和417可以是能夠連接到網(wǎng)絡(luò)并且通過(guò)網(wǎng)絡(luò)進(jìn)行通信的任何設(shè)備。在一個(gè)實(shí)施方案中,通信鏈路415和417是網(wǎng)絡(luò)接口卡。網(wǎng)絡(luò)403的實(shí)施方案包括局域網(wǎng)、廣域網(wǎng)、因特網(wǎng)等。
現(xiàn)在參考圖4和圖5,根據(jù)本發(fā)明的實(shí)施方案,客戶端系統(tǒng)401的一個(gè)實(shí)施方案如過(guò)程500所示的那樣運(yùn)行,以通過(guò)網(wǎng)絡(luò)403對(duì)系統(tǒng)錯(cuò)誤實(shí)現(xiàn)基于策略的響應(yīng)。除了以下所討論的內(nèi)容之外,客戶端系統(tǒng)401的實(shí)施方案類似于處理系統(tǒng)100的實(shí)施方案那樣運(yùn)行。
在處理框505,客戶端系統(tǒng)401開(kāi)機(jī)。此后,客戶端系統(tǒng)401經(jīng)過(guò)早期系統(tǒng)初始化(處理框510),并且將故障響應(yīng)代理145加載到存儲(chǔ)器單元110的保護(hù)區(qū)域111中(處理框515)。在處理框520中,客戶端系統(tǒng)401獲取服務(wù)器系統(tǒng)402的服務(wù)器地址。在一個(gè)實(shí)施方案中,客戶端系統(tǒng)401廣播DHCP呼叫,以獲得服務(wù)器系統(tǒng)402在網(wǎng)絡(luò)403上的服務(wù)器地址,以在將來(lái)與服務(wù)器系統(tǒng)402通信。應(yīng)當(dāng)理解的是,客戶端系統(tǒng)401可以使用其他網(wǎng)絡(luò)協(xié)議與服務(wù)器系統(tǒng)402之間實(shí)現(xiàn)網(wǎng)絡(luò)403上的通信,此外,DHCP呼叫的時(shí)間選擇可以放在過(guò)程500中所圖示的處理框520之前或之后。在處理框525中,客戶端系統(tǒng)401發(fā)動(dòng)OS150的引導(dǎo)目標(biāo)。一旦OS150控制了CPU105,客戶端系統(tǒng)401就進(jìn)入OS運(yùn)行時(shí)運(yùn)行模式(處理框530)。
在處理框535中,CPU105接收到中斷信號(hào),該信號(hào)指示應(yīng)當(dāng)激活受保護(hù)運(yùn)行模式。在一個(gè)實(shí)施方案中,CPU105接收到指示受保護(hù)運(yùn)行模式應(yīng)當(dāng)被激活的中斷信號(hào)107。在一個(gè)實(shí)施方案中,CPU105接收到從服務(wù)器系統(tǒng)402發(fā)出的中斷信號(hào)407,該信號(hào)指示出客戶端系統(tǒng)401應(yīng)激活受保護(hù)運(yùn)行模式。在一個(gè)實(shí)施方案中,中斷信號(hào)407是通過(guò)網(wǎng)絡(luò)403傳輸?shù)臄?shù)據(jù)包(data packet),它觸發(fā)通信鏈路415的喚醒LAN功能。在這個(gè)喚醒LAN的實(shí)施方案中,通信鏈路415指示CPU105響應(yīng)于經(jīng)由網(wǎng)絡(luò)403接收到中斷信號(hào)407而激活受保護(hù)運(yùn)行模式。
一旦客戶端系統(tǒng)401正運(yùn)行在受保護(hù)運(yùn)行模式中,故障響應(yīng)代理135就查詢客戶端系統(tǒng)401,以確定是否發(fā)生了系統(tǒng)錯(cuò)誤(處理框545)。對(duì)客戶端系統(tǒng)401的查詢類似于前面結(jié)合處理系統(tǒng)100所描述的過(guò)程,就是可能發(fā)生的系統(tǒng)錯(cuò)誤的類型。如果故障響應(yīng)代理135確定已發(fā)生了系統(tǒng)錯(cuò)誤(判決框550),則故障響應(yīng)代理135生成錯(cuò)誤消息408,該消息包含了描述具體系統(tǒng)錯(cuò)誤的數(shù)據(jù),并將錯(cuò)誤消息408經(jīng)由通信鏈路415和網(wǎng)絡(luò)403發(fā)送到服務(wù)器系統(tǒng)402。
在發(fā)送了錯(cuò)誤消息408后,故障響應(yīng)代理135等待一段預(yù)定的時(shí)間,以從服務(wù)器系統(tǒng)402接收策略命令409。如果客戶端系統(tǒng)401接收到策略命令409(判決框560),那么故障響應(yīng)代理135解析策略命令570,并且執(zhí)行包含在策略命令570內(nèi)的指令。在一個(gè)實(shí)施方案中,策略命令570包括一個(gè)簡(jiǎn)單的復(fù)位指令。在一個(gè)實(shí)施方案中,策略命令570包括以下指令,該指令指示正從服務(wù)器系統(tǒng)402通過(guò)網(wǎng)絡(luò)403發(fā)送新的軟件映像,客戶端系統(tǒng)401將要接收這一新的軟件映像,并且客戶端系統(tǒng)401應(yīng)將這一新的軟件映像安裝在客戶端系統(tǒng)401中的適當(dāng)位置。在一個(gè)實(shí)施方案中,這一新的軟件映像包含未被破壞的OS 150的文件,以替換已被破壞的OS150的文件。在一個(gè)實(shí)施方案中,策略命令570包括以下指令,該指令指示正從服務(wù)器系統(tǒng)402通過(guò)網(wǎng)絡(luò)403發(fā)送新的BIOS映像,客戶端系統(tǒng)401將要接收這一新的BIOS映像,并且客戶端系統(tǒng)401應(yīng)將這一新的BIOS映像安裝在客戶端系統(tǒng)401中適當(dāng)?shù)奈恢?。在一個(gè)實(shí)施方案中,策略命令570包括供故障響應(yīng)代理135基于其內(nèi)置的容錯(cuò)策略140來(lái)響應(yīng)系統(tǒng)錯(cuò)誤的指令。應(yīng)當(dāng)理解,策略命令409可以包括以上指令中的一些或全部,還可以包括其他指令。
在一個(gè)實(shí)施方案中,如果在等待了預(yù)定的時(shí)間段后,故障響應(yīng)代理135沒(méi)有從服務(wù)器系統(tǒng)402接收到策略命令409,則故障響應(yīng)代理135基于具體的系統(tǒng)錯(cuò)誤以及存儲(chǔ)在客戶端系統(tǒng)401中的容錯(cuò)策略140,對(duì)檢測(cè)到的系統(tǒng)錯(cuò)誤作出響應(yīng)。換言之,如果故障響應(yīng)代理135沒(méi)有從服務(wù)器系統(tǒng)402接收到有關(guān)如何對(duì)具體的系統(tǒng)錯(cuò)誤進(jìn)行響應(yīng)的指令,那么故障響應(yīng)代理135將自行采取措施,以基于它自己的內(nèi)置容錯(cuò)策略140來(lái)補(bǔ)救系統(tǒng)錯(cuò)誤。
返回判決框550,如果故障響應(yīng)代理135沒(méi)有檢測(cè)到系統(tǒng)錯(cuò)誤,則客戶端系統(tǒng)401將禁用受保護(hù)運(yùn)行模式(處理框575)并返回OS運(yùn)行時(shí)運(yùn)行模式(處理框530)。在客戶端系統(tǒng)401已被開(kāi)機(jī)后的期間中,這一激活受保護(hù)運(yùn)行模式以及禁用受保護(hù)運(yùn)行模式的循環(huán)過(guò)程可以無(wú)限繼續(xù)下去。此外,運(yùn)行保護(hù)模式的激活頻率可以基于某個(gè)固定的持續(xù)時(shí)間(例如,每10秒,每1秒等),或者基于如上所述的硬件中斷來(lái)激活,基于軟件中斷來(lái)激活,或者基于其中一些或全部的組合來(lái)激活。
現(xiàn)在參考圖4和圖6,根據(jù)本發(fā)明的實(shí)施方案,服務(wù)器系統(tǒng)402的一個(gè)實(shí)施方案如過(guò)程600所示的那樣運(yùn)行,以通過(guò)網(wǎng)絡(luò)403對(duì)系統(tǒng)錯(cuò)誤實(shí)現(xiàn)基于策略的響應(yīng)。
在處理框605中,服務(wù)器系統(tǒng)402的系統(tǒng)管理員或用戶使得策略代理435能夠運(yùn)行在服務(wù)器系統(tǒng)402上。在一個(gè)實(shí)施方案中,策略代理435是存儲(chǔ)在存儲(chǔ)器單元410中并且由CPU405來(lái)執(zhí)行的軟件應(yīng)用程序。在一個(gè)實(shí)施方案中,存儲(chǔ)器單元410是系統(tǒng)RAM。
在處理框610中,策略代理435通過(guò)網(wǎng)絡(luò)403發(fā)送中斷信號(hào)407,以指示客戶端系統(tǒng)401激活受保護(hù)運(yùn)行模式。策略代理435可以以多種方式生成并發(fā)送中斷信號(hào)407,這些方式包括周期性地,隨機(jī)地,響應(yīng)于網(wǎng)絡(luò)403上源自客戶端系統(tǒng)401的異常網(wǎng)絡(luò)流量或者在網(wǎng)絡(luò)403上缺少源自客戶端系統(tǒng)401的網(wǎng)絡(luò)流量,在一天或一周內(nèi)的預(yù)定時(shí)間(例如,在網(wǎng)絡(luò)403的非使用高峰時(shí)間),或者在服務(wù)器系統(tǒng)402的用戶的指引下進(jìn)行。應(yīng)當(dāng)理解,在過(guò)程600的其他實(shí)施方案中,可以跳過(guò)處理框610,因?yàn)榭蛻舳讼到y(tǒng)401可以在沒(méi)有接收到中斷信號(hào)407的情況下,有能力自己激活受保護(hù)運(yùn)行模式。
在判決框615中,策略代理435可能從客戶端系統(tǒng)401接收到錯(cuò)誤消息408,也可能沒(méi)有接收到。如果客戶端系統(tǒng)401在激活受保護(hù)運(yùn)行模式后檢測(cè)到系統(tǒng)錯(cuò)誤,并通過(guò)網(wǎng)絡(luò)403發(fā)送錯(cuò)誤消息408,那么策略代理435就解析錯(cuò)誤消息408,以基于容錯(cuò)策略440生成策略命令409(處理框625)。在一個(gè)實(shí)施方案中,容錯(cuò)策略440包含與多種類型的系統(tǒng)錯(cuò)誤相對(duì)應(yīng)的一列策略命令(例如,補(bǔ)救指令)。因此,當(dāng)策略代理435接收并解析錯(cuò)誤消息408時(shí),策略代理435參考容錯(cuò)策略440生成策略命令409,該策略命令409包含用于客戶端系統(tǒng)401的補(bǔ)救指令。在一個(gè)實(shí)施方案中,當(dāng)策略代理435生成策略命令409時(shí),它要考慮客戶端系統(tǒng)401所報(bào)告的具體系統(tǒng)錯(cuò)誤以及其他因素。舉例來(lái)說(shuō),策略代理435在決定要發(fā)送何種類型的補(bǔ)救指令時(shí),可能會(huì)考慮網(wǎng)絡(luò)403上的網(wǎng)絡(luò)流量。在網(wǎng)絡(luò)流量高的時(shí)間段內(nèi),策略代理435可以拒絕開(kāi)始新的軟件或BIOS映像的傳輸,相反發(fā)送短的策略命令409,例如復(fù)位指令。策略代理435可以考慮的另一個(gè)因素就是包含由客戶端系統(tǒng)401發(fā)送的錯(cuò)誤消息408的記錄的日志文件。如果策略代理435確定客戶端系統(tǒng)401已經(jīng)發(fā)送異常多數(shù)量的錯(cuò)誤消息408(例如一星期五個(gè)),那么容錯(cuò)策略440可以向策略代理435指示新的軟件映像和/或BIOS映像應(yīng)當(dāng)被上載到客戶端系統(tǒng)401。
在一個(gè)實(shí)施方案中,響應(yīng)于從客戶端系統(tǒng)401接收到錯(cuò)誤消息408,策略代理435可以向客戶端系統(tǒng)401上的故障響應(yīng)代理140發(fā)送一條或多條查詢指令,以收集有關(guān)故障響應(yīng)代理135所檢測(cè)到的系統(tǒng)錯(cuò)誤的更多信息。在這個(gè)實(shí)施方案中,錯(cuò)誤消息408可以只是代表一種指示,即故障響應(yīng)代理135已檢測(cè)到客戶端系統(tǒng)401中的系統(tǒng)錯(cuò)誤,但是不包含有關(guān)系統(tǒng)錯(cuò)誤類型的任何信息。在用上述查詢指令收集了更多的診斷信息后,策略代理435可以連同容錯(cuò)策略440一起使用這一診斷信息,從而生成策略命令409。
在判決框630中,策略代理435確定是否發(fā)送策略命令409。如果策略代理435確定發(fā)送策略命令409,則在處理框640中完成發(fā)送,然后策略代理435在處理框620中等待一段預(yù)定的時(shí)間,之后在處理框610中通過(guò)網(wǎng)絡(luò)403將另一個(gè)中斷信號(hào)407廣播到客戶端系統(tǒng)401。如上所述,如果特定的策略命令409將要上載新的軟件或BIOS映像到客戶端系統(tǒng)401,并且網(wǎng)絡(luò)流量當(dāng)前又很高,那么策略代理435可以拒絕在此時(shí)發(fā)送所述特定的策略命令409。相反,策略代理435可以暗示所述特定的策略命令409將在稍后網(wǎng)絡(luò)流量低一些的時(shí)候進(jìn)行發(fā)送。在這種情況下,客戶端系統(tǒng)401在分配好的時(shí)期內(nèi)將不會(huì)接收到策略命令409,并且客戶端系統(tǒng)401上的故障響應(yīng)代理135將根據(jù)它自己內(nèi)置的容錯(cuò)策略140行事。如果策略代理435在判決框630中確定不發(fā)送策略命令409,那么策略代理435在處理框620中等待一段預(yù)定的時(shí)間,之后發(fā)送另一個(gè)中斷信號(hào)407。
返回判決框615,如果在發(fā)送了中斷信號(hào)407之后,策略代理435沒(méi)有在等待適當(dāng)長(zhǎng)的一段時(shí)間后接收到錯(cuò)誤消息408,那么策略代理435假定客戶端系統(tǒng)401沒(méi)有系統(tǒng)錯(cuò)誤要報(bào)告。在這種情況下,策略代理435等待一段預(yù)定的時(shí)間(處理框620),然后發(fā)送另一個(gè)中斷信號(hào)407。只要策略代理435在服務(wù)器系統(tǒng)402上被激活,這個(gè)等待,然后發(fā)送中斷信號(hào)407的循環(huán)過(guò)程就可以無(wú)限繼續(xù)下去。按照這種方式,就可以補(bǔ)救在耦合到網(wǎng)絡(luò)403的客戶端系統(tǒng)401發(fā)生的系統(tǒng)錯(cuò)誤或故障,而無(wú)需人工干預(yù),并且使客戶端系統(tǒng)401的停機(jī)時(shí)間最短。
應(yīng)當(dāng)理解,雖然示出只有一個(gè)客戶端系統(tǒng)401被耦合到網(wǎng)絡(luò)403,但是任意數(shù)量的客戶端系統(tǒng)401都可以被耦合到網(wǎng)絡(luò)403。此外,服務(wù)器系統(tǒng)402可以被配置為按照上述方式服務(wù)并維護(hù)很多客戶端系統(tǒng)401。
圖7圖示了根據(jù)本發(fā)明的教導(dǎo),實(shí)現(xiàn)處理系統(tǒng)100、客戶端系統(tǒng)401或服務(wù)器系統(tǒng)402的計(jì)算機(jī)系統(tǒng)700的示例性實(shí)施方案。計(jì)算機(jī)系統(tǒng)700包括機(jī)箱705、監(jiān)視器710、鼠標(biāo)715(或其他點(diǎn)選設(shè)備)和鍵盤(pán)720。所圖示的實(shí)施方案的機(jī)箱705中還包括軟盤(pán)驅(qū)動(dòng)器725、硬盤(pán)730、電源(未示出)和主板735,主板735上含有適當(dāng)?shù)募呻娐?,包括系統(tǒng)RAM740、非易失存儲(chǔ)器745和一個(gè)或多個(gè)CPU750。
在一個(gè)實(shí)施方案中,網(wǎng)絡(luò)接口卡(“NIC”)(未示出)被耦合到主板735的擴(kuò)展槽(未示出)。NIC用于將計(jì)算機(jī)系統(tǒng)700連接到計(jì)算機(jī)網(wǎng)絡(luò)755,例如局域網(wǎng)、廣域網(wǎng)或因特網(wǎng)。在一個(gè)實(shí)施方案中,網(wǎng)絡(luò)755還被耦合到遠(yuǎn)程計(jì)算機(jī)760,使得計(jì)算機(jī)系統(tǒng)700和遠(yuǎn)程計(jì)算機(jī)760可以相互通信。
硬盤(pán)730可以包括單個(gè)單元或多個(gè)單元,并且可以可選地位于計(jì)算機(jī)系統(tǒng)700之外。監(jiān)視器710用于顯示由計(jì)算機(jī)系統(tǒng)700運(yùn)行的軟件程序和程序模塊所生成的圖形和文本。鼠標(biāo)715(或其他點(diǎn)選設(shè)備)可以被連接到串行端口、USB端口或者其他可通信地耦合到CPU750的類似端口。鍵盤(pán)720以類似于鼠標(biāo)715的方式被可通信地耦合到主板735,以使用戶可輸入文本和命令。
在一個(gè)實(shí)施方案中,非易失存儲(chǔ)器745是用于存儲(chǔ)故障響應(yīng)代理145的NV存儲(chǔ)單元130。在一個(gè)實(shí)施方案中,RAM740是具有保護(hù)區(qū)域111和非保護(hù)區(qū)域113的存儲(chǔ)器單元110。
以上對(duì)本發(fā)明所圖示實(shí)施方案的描述,包括說(shuō)明書(shū)摘要中的描述在內(nèi),都不想是窮盡性的或者將本發(fā)明限制到所公開(kāi)的精確形式。雖然這里出于說(shuō)明性的目的描述了本發(fā)明的特定實(shí)施方案和實(shí)施例,但是本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到,在本發(fā)明的范圍內(nèi)有可能作出多種等同的修改。
可以根據(jù)以上詳細(xì)的描述對(duì)本發(fā)明作出這些修改。在所附權(quán)利要求書(shū)中所使用的術(shù)語(yǔ)不應(yīng)當(dāng)被解釋成將本發(fā)明限制到在說(shuō)明書(shū)和權(quán)利要求書(shū)中所公開(kāi)的具體實(shí)施方案中。相反,本發(fā)明的范圍完全由所附的權(quán)利要求書(shū)來(lái)限定,該權(quán)利要求書(shū)將根據(jù)已有的對(duì)權(quán)利要求的解釋原則來(lái)理解。
權(quán)利要求
1.一種方法,包括在處理系統(tǒng)中激活受保護(hù)運(yùn)行模式;在所述受保護(hù)運(yùn)行模式期間查詢所述處理系統(tǒng),以確定是否發(fā)生了系統(tǒng)錯(cuò)誤;如果確定已發(fā)生了系統(tǒng)錯(cuò)誤,則基于容錯(cuò)策略來(lái)響應(yīng)所述系統(tǒng)錯(cuò)誤;以及如果確定沒(méi)有發(fā)生系統(tǒng)錯(cuò)誤,則禁用受保護(hù)運(yùn)行模式。
2.如權(quán)利要求1所述的方法,其中查詢所述處理系統(tǒng)以確定是否發(fā)生了系統(tǒng)錯(cuò)誤的操作是由存儲(chǔ)在所述處理系統(tǒng)的存儲(chǔ)器的保護(hù)區(qū)域中的故障響應(yīng)代理來(lái)完成的。
3.如權(quán)利要求2所述的方法,其中所述處理系統(tǒng)的所述運(yùn)行保護(hù)模式包括系統(tǒng)管理模式,并且其中所述存儲(chǔ)器的保護(hù)區(qū)域包括系統(tǒng)管理隨機(jī)訪問(wèn)存儲(chǔ)器。
4.如權(quán)利要求1所述的方法,其中所述受保護(hù)運(yùn)行模式響應(yīng)于硬件中斷而被激活。
5.如權(quán)利要求1所述的方法,其中所述受保護(hù)運(yùn)行模式被周期性地激活。
6.如權(quán)利要求1所述的方法,其中當(dāng)所述處理系統(tǒng)從可通信地耦合到所述處理系統(tǒng)的服務(wù)器系統(tǒng)接收到中斷信號(hào)時(shí),激活所述受保護(hù)運(yùn)行模式。
7.如權(quán)利要求1所述的方法,其中查詢所述處理系統(tǒng)的操作包括查詢包含所述處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器位置,以確定所述數(shù)據(jù)在所述處理系統(tǒng)的操作系統(tǒng)運(yùn)行時(shí)運(yùn)行模式期間,是否以預(yù)定的方式隨時(shí)間演變。
8.如權(quán)利要求1所述的方法,還包括如果確定已發(fā)生了系統(tǒng)錯(cuò)誤,則向可通信地耦合到所述處理系統(tǒng)的服務(wù)器系統(tǒng)發(fā)送錯(cuò)誤消息;以及從所述服務(wù)器系統(tǒng)向所述處理系統(tǒng)發(fā)送策略命令,所述策略命令是從所述容錯(cuò)策略和所述錯(cuò)誤消息而導(dǎo)出的。
9.如權(quán)利要求8所述的方法,其中所述策略命令包括以下指令中的至少一個(gè),即加載軟件映像的指令、加載基本輸入輸出系統(tǒng)映像的指令、以及復(fù)位指令。
10.如權(quán)利要求1所述的方法,還包括基于所述容錯(cuò)策略和所確定的系統(tǒng)錯(cuò)誤來(lái)執(zhí)行以下操作中的至少一種,從而響應(yīng)所確定的系統(tǒng)錯(cuò)誤,其中所述操作包括恢復(fù)所保存的軟件映像,恢復(fù)所保存的基本輸入輸出映像,以及復(fù)位所述處理系統(tǒng)。
11.一種其上包含指令的機(jī)器可讀介質(zhì),所述指令將由機(jī)器執(zhí)行來(lái)完成以下操作在處理系統(tǒng)中激活受保護(hù)運(yùn)行模式;在所述受保護(hù)運(yùn)行模式期間查詢所述處理系統(tǒng),以確定是否發(fā)生了系統(tǒng)錯(cuò)誤;以及如果確定已發(fā)生了系統(tǒng)錯(cuò)誤,則基于容錯(cuò)策略來(lái)響應(yīng)所述系統(tǒng)錯(cuò)誤。
12.如權(quán)利要求11所述的機(jī)器可讀介質(zhì),還具有完成以下操作的指令如果確定沒(méi)有發(fā)生系統(tǒng)錯(cuò)誤,則禁用所述受保護(hù)運(yùn)行模式,并且激活操作系統(tǒng)運(yùn)行時(shí)運(yùn)行模式。
13.如權(quán)利要求12所述的機(jī)器可讀介質(zhì),其中所述受保護(hù)運(yùn)行模式被周期性地激活。
14.如權(quán)利要求11所述的機(jī)器可讀介質(zhì),其中所述受保護(hù)運(yùn)行模式響應(yīng)于中斷信號(hào)而被激活。
15.如權(quán)利要求11所述的機(jī)器可讀介質(zhì),其中查詢所述處理系統(tǒng)并且響應(yīng)所述系統(tǒng)錯(cuò)誤的操作是由從所述處理系統(tǒng)的存儲(chǔ)器的保護(hù)區(qū)域執(zhí)行的故障響應(yīng)代理來(lái)完成的,以保護(hù)所述故障響應(yīng)代理在所述處理系統(tǒng)的操作系統(tǒng)運(yùn)行時(shí)運(yùn)行模式期間不受到破壞。
16.如權(quán)利要求15所述的機(jī)器可讀介質(zhì),其中所述處理系統(tǒng)的所述運(yùn)行保護(hù)模式包括系統(tǒng)管理模式,并且其中所述存儲(chǔ)器的保護(hù)區(qū)域包括系統(tǒng)管理隨機(jī)訪問(wèn)存儲(chǔ)器。
17.如權(quán)利要求11所述的機(jī)器可讀介質(zhì),其中由所述故障響應(yīng)代理查詢所述處理系統(tǒng)的操作包括查詢包含所述處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器位置,以確定所述數(shù)據(jù)在所述處理系統(tǒng)的操作系統(tǒng)運(yùn)行時(shí)期間,是否以預(yù)定的方式隨時(shí)間演變。
18.如權(quán)利要求11所述的機(jī)器可讀介質(zhì),還具有完成以下操作的指令如果確定已發(fā)生了系統(tǒng)錯(cuò)誤,則向可通信地耦合到所述處理系統(tǒng)的服務(wù)器系統(tǒng)發(fā)送錯(cuò)誤消息;以及從所述服務(wù)器系統(tǒng)接收策略命令,所述策略命令至少部分地是從所述容錯(cuò)策略和所述錯(cuò)誤消息中導(dǎo)出的。
19.如權(quán)利要求18所述的機(jī)器可讀介質(zhì),其中所述策略命令包括以下指令中的至少一個(gè),即加載軟件映像的指令、加載基本輸入輸出系統(tǒng)映像的指令、以及復(fù)位指令。
20.一種客戶端系統(tǒng),包括中央處理單元(“CPU”),該單元在受保護(hù)運(yùn)行模式和操作系統(tǒng)(“OS”)運(yùn)行時(shí)運(yùn)行模式中執(zhí)行指令;以及可通信地耦合到所述CPU并且存儲(chǔ)故障響應(yīng)代理的非易失存儲(chǔ)單元,所述故障響應(yīng)代理由所述CPU在所述受保護(hù)運(yùn)行模式期間執(zhí)行,所述故障響應(yīng)代理用于檢測(cè)在所述OS運(yùn)行時(shí)運(yùn)行模式期間發(fā)生的系統(tǒng)錯(cuò)誤,并且基于容錯(cuò)策略來(lái)響應(yīng)該系統(tǒng)錯(cuò)誤。
21.如權(quán)利要求20所述的客戶端系統(tǒng),還包括可通信的耦合到所述CPU的存儲(chǔ)器單元,所述存儲(chǔ)器單元具有保護(hù)區(qū)域,所述故障響應(yīng)代理加載到所述保護(hù)區(qū)域中,以防止所述故障響應(yīng)代理在所述OS運(yùn)行時(shí)運(yùn)行模式期間受到破壞。
22.如權(quán)利要求20所述的客戶端系統(tǒng),還包括可通信地將所述CPU耦合到服務(wù)器系統(tǒng)的通信鏈路,當(dāng)所述故障響應(yīng)代理檢測(cè)到系統(tǒng)錯(cuò)誤時(shí),所述故障響應(yīng)代理經(jīng)由所述通信鏈路向所述服務(wù)器系統(tǒng)發(fā)送錯(cuò)誤消息。
23.如權(quán)利要求22所述的客戶端系統(tǒng),其中所述錯(cuò)誤消息是由所述故障響應(yīng)代理響應(yīng)于以下操作而生成的,所述操作為查詢包含數(shù)據(jù)的所述客戶端系統(tǒng)的存儲(chǔ)器位置,以確定所述數(shù)據(jù)在所述OS運(yùn)行時(shí)運(yùn)行模式期間,是否以預(yù)定的方式隨時(shí)間演變。
24.如權(quán)利要求22所述的客戶端系統(tǒng),其中所述容錯(cuò)策略被存儲(chǔ)在所述服務(wù)器系統(tǒng)上,并且其中所述故障響應(yīng)代理從所述服務(wù)器系統(tǒng)接收策略命令,所述策略命令至少部分地是從所述容錯(cuò)策略和所述錯(cuò)誤消息中導(dǎo)出的。
25.如權(quán)利要求24所述的客戶端系統(tǒng),其中所述策略命令包括以下指令中的至少一個(gè),即加載軟件映像的指令、加載基本輸入輸出系統(tǒng)映像的指令、以及復(fù)位指令。
26.如權(quán)利要求22所述的客戶端系統(tǒng),其中如果所述故障響應(yīng)代理沒(méi)有從所述服務(wù)器系統(tǒng)接收到策略命令,那么所述故障響應(yīng)代理至少部分地基于所述系統(tǒng)錯(cuò)誤和所述容錯(cuò)策略來(lái)執(zhí)行以下操作中的至少一種,其中包括恢復(fù)所保存的軟件映像,恢復(fù)所保存的基本輸入輸出映像,以及復(fù)位所述客戶端系統(tǒng)。
27.如權(quán)利要求20所述的客戶端系統(tǒng),其中所述受保護(hù)運(yùn)行模式被周期性地激活。
28.一種服務(wù)器系統(tǒng),包括耦合到網(wǎng)絡(luò)并且從可通信地耦合到所述網(wǎng)絡(luò)的客戶端系統(tǒng)接收錯(cuò)誤消息的通信鏈路;存儲(chǔ)容錯(cuò)策略的存儲(chǔ)器單元;以及可通信地耦合到所述通信鏈路和所述存儲(chǔ)器單元的中央處理單元(“CPU”),所述CPU執(zhí)行策略代理,所述策略代理生成至少部分地從所接收的錯(cuò)誤消息和所述容錯(cuò)策略中導(dǎo)出的策略命令,所述策略命令響應(yīng)于所接收的錯(cuò)誤消息,通過(guò)所述網(wǎng)絡(luò)被發(fā)送到所述客戶端系統(tǒng)。
29.如權(quán)利要求28所述的服務(wù)器系統(tǒng),其中所述策略命令包括以下指令中的至少一種,即加載軟件映像的指令、加載基本輸入輸出系統(tǒng)映像的指令、以及復(fù)位指令。
30.如權(quán)利要求28所述的服務(wù)器系統(tǒng),其中所述策略代理在所述網(wǎng)絡(luò)上發(fā)送將由所述客戶端系統(tǒng)接收的中斷信號(hào),所述中斷信號(hào)在所述客戶端系統(tǒng)中激活受保護(hù)運(yùn)行模式,并且如果所述客戶端系統(tǒng)有未處理的系統(tǒng)錯(cuò)誤,則使得所述客戶端系統(tǒng)通過(guò)所述網(wǎng)絡(luò)發(fā)送所述錯(cuò)誤信號(hào)。
全文摘要
本發(fā)明公開(kāi)了一種用于檢測(cè)并響應(yīng)系統(tǒng)錯(cuò)誤的方法和裝置。為了檢測(cè)系統(tǒng)錯(cuò)誤,在處理系統(tǒng)中激活受保護(hù)運(yùn)行模式。當(dāng)受保護(hù)運(yùn)行模式被激活時(shí),對(duì)處理系統(tǒng)進(jìn)行查詢,以確定是否發(fā)生了系統(tǒng)錯(cuò)誤。如果確定已經(jīng)發(fā)生了系統(tǒng)錯(cuò)誤,則基于容錯(cuò)策略來(lái)響應(yīng)該系統(tǒng)錯(cuò)誤。
文檔編號(hào)G06F11/00GK1754153SQ200480005327
公開(kāi)日2006年3月29日 申請(qǐng)日期2004年2月4日 優(yōu)先權(quán)日2003年3月12日
發(fā)明者邁克爾·羅斯曼, 文森特·齊默 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
额尔古纳市| 达拉特旗| 巢湖市| 唐河县| 长治市| 凤山县| 塘沽区| 霍林郭勒市| 雷州市| 云浮市| 济宁市| 江西省| 祁阳县| 浠水县| 兴山县| 土默特右旗| 千阳县| 大兴区| 平定县| 德钦县| 梨树县| 安福县| 荥经县| 盐津县| 辽阳市| 嘉义市| 红桥区| 靖州| 深水埗区| 柳河县| 义马市| 东辽县| 社旗县| 武功县| 峡江县| 大洼县| 万全县| 佛坪县| 新丰县| 静宁县| 江津市|