亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

對在os運行時期間發(fā)生的系統(tǒng)錯誤的基于策略的響應的制作方法

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


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