專利名稱:裝置內(nèi)故障數(shù)據(jù)的報告的制作方法
裝置內(nèi)故障數(shù)據(jù)的報告技術(shù)領(lǐng)域
背景技術(shù)
現(xiàn)有的操作系統(tǒng)包括以主機軟件組件為目標(biāo)的可靠性和質(zhì)量監(jiān)控系統(tǒng)??煽啃院唾|(zhì)量監(jiān)控系統(tǒng)(經(jīng)由例如軟件修補)執(zhí)行軟件組件的商業(yè)情報搜集、分析和服務(wù)。
各種不同裝置,比如例如數(shù)據(jù)存儲裝置,包括但不局限于硬盤驅(qū)動器、光盤驅(qū)動器和固態(tài)裝置(SSD),已經(jīng)變成了非常龐雜的系統(tǒng),包括多個芯片并且執(zhí)行復(fù)雜的內(nèi)置固件, 該固件可能包括成百上千行的代碼。數(shù)據(jù)存儲裝置可能具有復(fù)雜的狀態(tài)并且會遭遇各種不同的錯誤和故障狀況(比如例如對于硬盤驅(qū)動器而言的震動和沖擊)以及在很多情況下可能是由嵌入式軟件中的使用缺陷造成的其他錯誤和故障狀況。
典型地,內(nèi)部盤診斷軟件是極端復(fù)雜的。當(dāng)數(shù)據(jù)存儲裝置經(jīng)歷故障狀況時,現(xiàn)有的主機系統(tǒng)并不會從數(shù)據(jù)存儲裝置中收集與嵌入式固件的操作有關(guān)的數(shù)據(jù)??梢詫⒃\斷結(jié)果存放在數(shù)據(jù)存儲裝置的內(nèi)部日志中,并且診斷結(jié)果可以記錄有影響的事件的細節(jié)。對于大多數(shù)常用裝置而言,診斷軟件可以是由操作系統(tǒng)直接操控的。診斷結(jié)果可能不提供給供應(yīng)商,除非有問題的數(shù)據(jù)存儲裝置處在保質(zhì)期內(nèi),其被送回給供應(yīng)商。發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容部分是為了以簡化形式介紹概念的選擇,在下面的具體實施方式
部分將會對其作進一步的介紹。本發(fā)明內(nèi)容部分并非意圖認定所要求保護的主題的關(guān)鍵特征或必要特征,也并非意圖用于限制所要求保護主題的范圍。
在按照本發(fā)明主題的一種實施方式中,計算裝置可以包括一個或多個受管理裝置,比如例如,數(shù)據(jù)存儲裝置或其他具有嵌入式固件或軟件并且由計算裝置的操作系統(tǒng)管理的受管理裝置。計算裝置可以從計算裝置和受管理裝置中周期性收集遙測數(shù)據(jù)。所收集的遙測數(shù)據(jù)可以被發(fā)送給至少一個第二計算裝置,以便加以存儲和分析。
在某些實施方式中,計算裝置中的健康(health)監(jiān)測器可以周期性地收集計算裝置的存儲器的至少一部分的快照。該快照可以包括與受管理裝置響應(yīng)請求(包括但不局限于,來自計算裝置的存儲請求)的延遲有關(guān)的信息以及其他信息?;谒占目煺眨】当O(jiān)測器可以確定受管理裝置是否不久之后故障。當(dāng)健康監(jiān)測器確定受管理裝置可能不久之后故障(帶病狀況)時,健康監(jiān)測器可以周期性地從計算裝置和受管理裝置中收集帶病數(shù)據(jù)。在其他一些實施方式中,健康監(jiān)測器可以收集觀測數(shù)據(jù),該觀測數(shù)據(jù)可以有助于改進的分析。
當(dāng)受管理裝置出現(xiàn)故障狀況或者與嵌入式軟件有關(guān)的監(jiān)測數(shù)據(jù)和信息表明與受管理裝置有關(guān)的問題時,計算裝置可以收集數(shù)據(jù),該數(shù)據(jù)可以包括計算裝置的存儲器的完整拷貝,或者計算裝置的存儲器的一個或多個部分的拷貝。計算裝置可以進一步嘗試從受管理裝置收集故障數(shù)據(jù)。計算裝置然后可以將所收集的數(shù)據(jù)發(fā)送給至少一個第二計算裝置,以便存儲和分析。
至少一個第二計算裝置可以收集來自與受管理裝置相關(guān)聯(lián)的大量計算裝置的數(shù)據(jù)的數(shù)據(jù)包并且可以對所收集的數(shù)據(jù)的數(shù)據(jù)包進行更為大量的分析,以及將所收集的數(shù)據(jù)的數(shù)據(jù)包的子集分發(fā)給其他各方。
為了介紹前面引用的方式并且可以獲得其他優(yōu)點與特征,下面將討論更加具體的介紹,并且將會參照在附圖中說明的具體實施方式
來加以闡述。應(yīng)該理解,附圖僅僅描述了典型的實施方式,因此不能被視作是對本發(fā)明范圍的限定,將會通過使用附圖,利用附加的特殊性和細節(jié),介紹和解釋實現(xiàn)方式。
圖1是可以在按照本發(fā)明的主題的實施方式中使用的計算裝置的功能框圖。
圖2是具有嵌入式固件并且包含在圖1的計算裝置中的數(shù)據(jù)存儲裝置的框圖。
圖3說明了按照本發(fā)明的主題的實施方式中的示例數(shù)據(jù)流。
圖4表示與具有嵌入式固件的數(shù)據(jù)存儲裝置進行通信的計算裝置的示例存儲驅(qū)動器堆棧。
圖5是表示計算裝置的各部件以及在與具有嵌入式固件的數(shù)據(jù)存儲裝置進行通信時各部件之間的交互的框圖。
圖6-9是解釋按照本發(fā)明的主題的示例實施方式中的處理的流程圖。
具體實施方式
后面將詳細討論各個實施方式。在討論具體的實現(xiàn)方式的時候,應(yīng)當(dāng)理解這樣做僅僅是為了說明的目的。相關(guān)領(lǐng)域的技術(shù)人員將會意識到,在不偏離本文公開主題的思想和范圍的前提下,可以使用其它的零部件和配置。
概論在各種不同的實施方式中,主機系統(tǒng),比如例如計算裝置,可以包括,或者可以連接至具有嵌入式固件或軟件并且由計算裝置的操作系統(tǒng)管理的受管理裝置。為了簡化下面的介紹,在各種不同的例子中會采用數(shù)據(jù)存儲裝置作為示范性受管理裝置。不過,在其它一些實施方式中,受管理裝置可以是另一種類型的受管理裝置,比如例如非存儲裝置。計算裝置可以包括健康監(jiān)測器以從計算裝置的相關(guān)部件周期地收集遙測數(shù)據(jù),可以與數(shù)據(jù)存儲裝置相連接并且可以將所收集的遙測數(shù)據(jù)發(fā)送給至少一個第二計算裝置,第二計算裝置可以是一個或多個后臺計算裝置、服務(wù)器或者服務(wù)器群。計算裝置可以將所收集的遙測數(shù)據(jù)經(jīng)由一個或多個網(wǎng)絡(luò)發(fā)送給至少一個第二計算裝置。
健康監(jiān)測器可以從計算裝置和數(shù)據(jù)存儲裝置周期地收集遙測數(shù)據(jù)。例如,可以收集計算裝置存儲器的一部分的快照和數(shù)據(jù)存儲裝置存儲器的一部分的快照。對于計算裝置而言,快照可以包括,但不局限于,與數(shù)據(jù)存儲裝置對計算裝置的請求、乃至對預(yù)定量的最新請求(比如例如存儲請求或計算裝置試圖發(fā)送給數(shù)據(jù)存儲裝置的其他請求)作出響應(yīng)的時間長度有關(guān)的信息,以及其他信息。對于數(shù)據(jù)存儲裝置而言,快照可以包括可能對數(shù)據(jù)存儲裝置的供應(yīng)商有幫助的信息。健康監(jiān)測器,或者別的計算裝置部件,可以對所收集的針對計算裝置的快照的至少一部分進行分析并且可以確定該數(shù)據(jù)存儲裝置可能很快故障。在一5種實施方式中,健康監(jiān)測器在數(shù)據(jù)存儲裝置對來自計算裝置的請求作出響應(yīng)的時間出現(xiàn)至少預(yù)定量的時間延遲的時候,可以確定該計算裝置可能很快故障。
當(dāng)健康監(jiān)測器確定數(shù)據(jù)存儲裝置可能很快故障或者數(shù)據(jù)存儲裝置背離其預(yù)期行為(帶病狀態(tài))時,健康監(jiān)測器可以以比數(shù)據(jù)存儲裝置看起來工作正常時收集遙測數(shù)據(jù)所用的時間間隔更為頻繁的時間間隔,從計算裝置和數(shù)據(jù)存儲裝置周期地收集遙測數(shù)據(jù)(在此情形下稱為"帶病遙測數(shù)據(jù)“)。所收集的帶病遙測數(shù)據(jù)可以包括額外的或者與數(shù)據(jù)存儲裝置看起來工作正常時所收集的遙測數(shù)據(jù)不同的信息。例如,所收集的帶病遙測數(shù)據(jù)可以包括計算裝置試圖發(fā)送給數(shù)據(jù)存儲裝置的多至預(yù)訂數(shù)量的最近發(fā)出請求(例如,存儲請求或其他請求),和來自數(shù)據(jù)存儲裝置的數(shù)據(jù),比如例如由數(shù)據(jù)存儲裝置從計算裝置接收到的多至第二預(yù)訂數(shù)量的請求,以及其他數(shù)據(jù)。然后可以將所收集的帶病遙測數(shù)據(jù)發(fā)送到至少一個第二計算裝置,在該至少一個第二計算裝置中,可以存儲所收集的帶病遙測數(shù)據(jù),可以基于從一個或多個相同裝置收集的帶病遙測數(shù)據(jù)的采樣進行數(shù)據(jù)挖掘和分析,并且所收集的數(shù)據(jù)存儲裝置的帶病遙測數(shù)據(jù)的至少一部分可以經(jīng)由供應(yīng)商的計算裝置而由數(shù)據(jù)存儲裝置的供應(yīng)商使用。
當(dāng)數(shù)據(jù)存儲裝置出現(xiàn)故障狀況時,計算裝置可以收集故障遙測數(shù)據(jù),比如例如計算裝置存儲器的完整拷貝,或者計算裝置存儲器的一個或多個部分的拷貝,并且計算裝置可以嘗試從數(shù)據(jù)存儲裝置收集故障遙測數(shù)據(jù)。不過,由于故障狀況,計算裝置可能無法與數(shù)據(jù)存儲裝置進行通信。在這種情形下,故障遙測數(shù)據(jù)的收集可能會出現(xiàn)時間推移(滯后)或者可能僅限于一個子集,比如僅僅來自計算裝置的故障遙測數(shù)據(jù)??梢越?jīng)由一個或多個網(wǎng)絡(luò)將所收集的故障遙測數(shù)據(jù)發(fā)送給至少一個第二計算裝置以便進行分析,并且供應(yīng)商可以經(jīng)由一個或多個網(wǎng)絡(luò)和與一個或多個網(wǎng)絡(luò)之一相連的供應(yīng)商計算裝置,利用從數(shù)據(jù)存儲裝置收集的故障遙測數(shù)據(jù)以及從類似裝置收集的故障遙測數(shù)據(jù)的大量樣本。
當(dāng)數(shù)據(jù)存儲裝置和計算裝置由于故障狀況而不能彼此通信時,數(shù)據(jù)存儲裝置可以收集數(shù)據(jù)存儲裝置故障遙測數(shù)據(jù)并且可以告知計算裝置存在有所收集的數(shù)據(jù)存儲裝置故障遙測數(shù)據(jù)。計算裝置可以重新啟動,可以檢測是否存在所收集的數(shù)據(jù)存儲裝置故障遙測數(shù)據(jù)作為前次會話的快照,可以從數(shù)據(jù)存儲裝置收集數(shù)據(jù)存儲裝置故障遙測數(shù)據(jù),并且可以將所收集的數(shù)據(jù)存儲裝置故障遙測數(shù)據(jù)經(jīng)由一個或多個網(wǎng)絡(luò)提供給至少一個第二計算直ο
示例計算裝置圖1是示例計算裝置100的框圖,可以采用該示例計算裝置100來實現(xiàn)按照本發(fā)明主題的一個或多個實施方式。示例計算裝置100可以包括處理器102、存儲器104、通信接口 106、總線108、主機控制器110和數(shù)據(jù)存儲裝置112??偩€108可以將處理器102連接至存儲器104、通信接口 106和主機控制器110。主機控制器110可以將數(shù)據(jù)存儲裝置112與主機控制器110連接起來。
處理器102可以包括一個或多個解釋和執(zhí)行指令的常規(guī)處理器。存儲器104可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)和/或存儲信息和要由處理器102執(zhí)行的指令的其他類型的動態(tài)或靜態(tài)存儲介質(zhì)。RAM或者其他類型的動態(tài)存儲器介質(zhì)可以存儲指令以及臨時變量或在處理器120執(zhí)行指令期間使用的其他中間信息。ROM或其他類型的靜態(tài)存儲介質(zhì)可以存儲靜態(tài)信息和處理器102的指令。通信接口 106可以經(jīng)由網(wǎng)絡(luò)采用無線或有線方式與其他裝置進行通信。主機控制器110可以接收來自處理器102的請求,可以將該請求傳送到數(shù)據(jù)存儲裝置112,并且可以接收來自數(shù)據(jù)存儲裝置112的響應(yīng)。請求可以包括,但不局限于,存儲請求,存儲請求可以進一步包括從數(shù)據(jù)存儲裝置112讀取信息的請求或者將信息寫入到數(shù)據(jù)存儲裝置112中的請求。
數(shù)據(jù)存儲裝置112可以包括,但不局限于,硬盤驅(qū)動器、光盤驅(qū)動器、SSD以及其他具有嵌入式固件的數(shù)據(jù)存儲介質(zhì)。
雖然圖1僅僅示出了一個數(shù)據(jù)存儲裝置112,但是可以有多個數(shù)據(jù)存儲裝置與主機控制器110進行通信。
示例數(shù)據(jù)存儲裝置圖2是數(shù)據(jù)存儲裝置112的框圖。數(shù)據(jù)存儲裝置112可以包括處理器202、存儲器204、 總線208、存儲控制器210和存儲介質(zhì)212。
存儲器204可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)和/或存儲信息和要由處理器202執(zhí)行的指令的其他類型的動態(tài)和/或靜態(tài)存儲裝置。RAM或者其他類型的動態(tài)存儲裝置可以存儲指令以及臨時變量或在處理器120執(zhí)行指令期間使用的其他中間信息。ROM或其他類型的靜態(tài)存儲裝置可以存儲用于處理器202的靜態(tài)信息和指令,比如例如固件。
處理器202可以包括一個或多個解釋和執(zhí)行靜態(tài)存儲器或動態(tài)存儲器中包含的指令的常規(guī)處理器。例如,指令可以是包含在靜態(tài)存儲器中的嵌入式固件。
存儲介質(zhì)112可以包括硬盤、光盤、SSD或其他能夠儲存數(shù)據(jù)的介質(zhì)。存儲控制器 210可以接收來自主機控制器110的請求并且可以將所接收的請求提供給處理器202。此外,存儲控制器210可以從處理器202接收信息,包括但不限于,從存儲介質(zhì)212中讀出的數(shù)據(jù),并且可以將該信息提供給主機控制器110。總線208使得處理器202能夠與存儲器 204和存儲控制器210進行通信。
雖然附圖1和2圖解說明了具有數(shù)據(jù)存儲裝置112的示范性實施方式,但是在其他一些實施方式中,數(shù)據(jù)存儲裝置112可以被替換為具有處理器、嵌入式代碼和存儲介質(zhì)的任何受管理裝置。
示例數(shù)據(jù)流圖3說明的是針對按照本發(fā)明主題的實施方式而言的示例數(shù)據(jù)流。圖3表示第一計算裝置302、一個或多個第二計算裝置304 (在某些實現(xiàn)方式下可以包括一個或多個后臺計算裝置、服務(wù)器或者服務(wù)器群)和與網(wǎng)絡(luò)308相連的第三方計算裝置306。在某些實施方式中, 第一計算裝置302可以由計算裝置100來實現(xiàn)并且可以與數(shù)據(jù)存儲裝置112或外圍設(shè)備相連接,該外圍設(shè)備可以包括處理器、嵌入式代碼(固件或軟件)和存儲介質(zhì)。一個或多個第二計算裝置304也可以由一個或多個計算裝置100來實現(xiàn)。
網(wǎng)絡(luò)308可以包括一個或多個網(wǎng)絡(luò)、局域網(wǎng)、廣域網(wǎng)、分組式交換網(wǎng)絡(luò)、ATM網(wǎng)絡(luò), 幀中繼網(wǎng)絡(luò)、光纖網(wǎng)、公用交換電話網(wǎng)、無線網(wǎng)、有線網(wǎng)、其他類型的網(wǎng)絡(luò),或者它們的任意組合。
第一計算裝置302可以從第一計算裝置302和與第一計算裝置302連接的數(shù)據(jù)存儲裝置112收集遙測數(shù)據(jù)。在某些實施方式中,數(shù)據(jù)存儲裝置112可以包含在第一計算裝置302內(nèi)并且與第一計算裝置302相連接。可以將所收集的遙測數(shù)據(jù)組合到數(shù)據(jù)包內(nèi)。該數(shù)據(jù)包可以包括多個段,每一段可以包括一個報頭。在某些實施方式中,數(shù)據(jù)包可以包括用于從第一計算裝置302收集的數(shù)據(jù)的第一段和用于從數(shù)據(jù)存儲裝置112收集的數(shù)據(jù)的第二段。第一段的報頭可以包括描述在第一計算裝置302上執(zhí)行的軟件或固件的版本的信息、 數(shù)據(jù)存儲裝置112在收集時的狀態(tài)的指示符以及其他信息。第二段的報頭可以包括由數(shù)據(jù)存儲裝置112計算出來的散列碼(該散列碼可以描述數(shù)據(jù)存儲裝置112的狀態(tài))、裝置識別信息(可以由第二計算裝置304用來正確轉(zhuǎn)發(fā)所積累的收集到的遙測數(shù)據(jù)的樣本)以及可能對數(shù)據(jù)存儲裝置112的供應(yīng)商有用的其他信息。
在某些實施方式中,在數(shù)據(jù)包中可以包含額外的段和相應(yīng)的報頭。例如,可以將所收集到的可在多方間共享的第一計算裝置遙測數(shù)據(jù)包含在一段中,可以將所收集到的不可在多方間共享的第一計算裝置遙測數(shù)據(jù)包含在第二段中,可以將所收集到的可在多方間共享的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)包含在第三段中,并且可以將所收集到的不可在多方間共享的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)包含在第四段中。
在某些實施方式中,可以使用例如數(shù)據(jù)存儲裝置112供應(yīng)商的公共密鑰來對數(shù)據(jù)包中包含的所收集的不可與多方共享的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)進行加密。類似地,可以使用例如某一方的公共密鑰來對所收集到的不可與多方共享的第一計算裝置遙測數(shù)據(jù)進行加密。在其它一些實施方式中,可以使用密鑰,比如例如數(shù)據(jù)存儲裝置112供應(yīng)商的公共密鑰,來對所有收集到的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)進行加密。在另一種實施方式中,可以使用來自多個供應(yīng)商的公共密鑰的組合來對所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)的某些部分進行加密,以便為多個供應(yīng)商提供對所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)的至少某些部分的有限共享的訪問。
在一個可供選用的實施方式中,可以將所收集的遙測數(shù)據(jù)組合到多個數(shù)據(jù)包中。
第一計算裝置302可以經(jīng)由網(wǎng)絡(luò)308將數(shù)據(jù)包發(fā)送給一個或多個第二計算裝置 304。在附圖3中,點劃線代表從第一計算裝置302收集到的遙測數(shù)據(jù),虛線代表從數(shù)據(jù)存儲裝置112收集到的遙測數(shù)據(jù)。
一個或多個第二計算裝置304可以對所接收到的數(shù)據(jù)包中包含的所收集到的遙測數(shù)據(jù)進行存儲和分類。在某些實施方式中,一個或多個第二計算裝置304可以根據(jù)具有所收集到的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)的數(shù)據(jù)包段的報頭中所包含的散列碼來對所收集到的遙測數(shù)據(jù)進行分類。散列碼可以提供與收集數(shù)據(jù)存儲裝置遙測數(shù)據(jù)時數(shù)據(jù)存儲裝置112的狀態(tài)有關(guān)的信息。一個或多個第二計算裝置304可以對所收集的數(shù)據(jù)進行額外分析,以例如確定得到類似分類的收集到的遙測數(shù)據(jù)的共性,并且通過分析計算裝置配置數(shù)據(jù)和訪問模式與報告給第一計算裝置302的內(nèi)部數(shù)據(jù)存儲裝置遙測數(shù)據(jù)之間的相關(guān)度來確定背離正常的行為趨勢。
一個或多個第二計算裝置304可以將所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)存儲在一個或多個文件或隊列中。一個或多個文件或隊列中的每一個可以包括針對各個數(shù)據(jù)存儲裝置供應(yīng)商或其他第三方的收集到的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)。第三方,比如例如,數(shù)據(jù)存儲裝置供應(yīng)商或其他第三方,可以經(jīng)由網(wǎng)絡(luò)308或另一個網(wǎng)絡(luò)建立與一個或多個第二計算裝置 304的連接,以從與該第三方相關(guān)聯(lián)的一個或多個文件或隊列中請求和接收所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)。
可以使用來自于數(shù)據(jù)包的段報頭中的數(shù)據(jù)字段(其中一些是由數(shù)據(jù)存儲裝置112提供的,另一些是由第一計算裝置的部件(包括但不局限于驅(qū)動器)提供的)來正確且安全地將遙測數(shù)據(jù)路由到各個第三方?;诒C苄?,可以在第二計算裝置304處進行遙測數(shù)據(jù)的額外拼接,以分離出該數(shù)據(jù)包的各部分(例如,如果有多個盤,或者有來自不同供應(yīng)商的數(shù)據(jù)存儲裝置)。
所收集的數(shù)據(jù)類型第一計算裝置302可以將所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)和主機遙測數(shù)據(jù)(來自于第一計算裝置302)組合為要發(fā)送給一個或多個第二計算裝置304的數(shù)據(jù)包,主機遙測數(shù)據(jù)可以是主機驅(qū)動器轉(zhuǎn)儲(dump)。所收集的遙測數(shù)據(jù)的格式可以是可擴展的。所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)可以包括裝置轉(zhuǎn)儲(可以包括固件的快照)和反映數(shù)據(jù)存儲裝置112狀態(tài)的裝置生成標(biāo)識符。所收集的主機遙測數(shù)據(jù)可以進一步包括其他信息,包括但不限于環(huán)境數(shù)據(jù)和/或配置數(shù)據(jù)。在某些實施方式中,裝置生成標(biāo)識符可以是散列值并且裝置生成標(biāo)識符和所收集的數(shù)據(jù)存儲裝置遙測數(shù)據(jù)對第一計算裝置302可以是不透明的。在某些實施方式中,散列值可以僅由數(shù)據(jù)存儲裝置112的供應(yīng)商加以分析。
第一計算裝置302的主機存儲驅(qū)動器堆棧可以生成和收集多達預(yù)定數(shù)量的請求的快照,包括但不局限于第一計算裝置302最近試圖發(fā)送給數(shù)據(jù)存儲裝置112的存儲請求。 此外,主機存儲驅(qū)動器堆棧以及控制器堆??梢蕴砑迎h(huán)境數(shù)據(jù),環(huán)境數(shù)據(jù)有助于在第三方計算裝置306上運行的裝置供應(yīng)商軟件分析相關(guān)度。
第一計算裝置302可以收集多種類型的遙測數(shù)據(jù)。例如,可以從數(shù)據(jù)存儲裝置112 周期性地收集輕便(lightweight)裝置轉(zhuǎn)儲并且輕便裝置轉(zhuǎn)儲可以包括一組裝置內(nèi)部計數(shù)器或其他輕便數(shù)據(jù)??梢杂傻谝挥嬎阊b置302的主機存儲驅(qū)動器從數(shù)據(jù)存儲裝置112收集診斷和監(jiān)測數(shù)據(jù),并且診斷和監(jiān)測數(shù)據(jù)可以是可由第一計算裝置302的操作系統(tǒng)理解的。 可以從第一計算裝置302收集主機驅(qū)動器轉(zhuǎn)儲并且主機驅(qū)動器轉(zhuǎn)儲可以包括多達預(yù)定數(shù)量的針對數(shù)據(jù)存儲裝置112的請求的最新歷史、相互連接拓撲結(jié)構(gòu)、驅(qū)動器版本和對數(shù)據(jù)存儲裝置112的供應(yīng)商解決問題有用的其他信息。主機驅(qū)動器可以通過使用對所有裝置通用的獲取命令,并且結(jié)合訪問供應(yīng)商特定數(shù)據(jù)(通過第一計算裝置302的數(shù)據(jù)保存配置的, 比如例如注冊表或其它數(shù)據(jù)保存)的可配置方法,來從數(shù)據(jù)存儲裝置112收集遙測數(shù)據(jù)。
可以從數(shù)據(jù)存儲裝置112收集裝置標(biāo)識數(shù)據(jù)。裝置標(biāo)識數(shù)據(jù)可以包括標(biāo)識數(shù)據(jù)存儲裝置112和數(shù)據(jù)存儲裝置112的固件的標(biāo)識符。例如,裝置標(biāo)識數(shù)據(jù)可以包括供應(yīng)商ID、 產(chǎn)品ID、固件版次和生產(chǎn)cookie。裝置標(biāo)識數(shù)據(jù)可以是可由第一計算裝置302的操作系統(tǒng)和第一計算裝置302上運行的應(yīng)用軟件訪問的。第一計算裝置302的主機存儲驅(qū)動器堆??梢栽卺槍?shù)據(jù)存儲裝置112的I/O故障被檢測到時在事件日志中記錄一個事件??梢詫⑴c所記錄的時間有關(guān)的信息以及統(tǒng)計結(jié)果上傳到第二計算裝置304以便進行可靠性分析。 例如,可以在隨后連續(xù)成功啟動的情況下檢測到啟動故障(盤掛起)。
存儲裝置驅(qū)動器驅(qū)動器是使得較高級計算機程序能夠與硬件裝置交互的計算機程序。圖4說明了可以在按照本發(fā)明主題的各種不同實施方式中采用的示例驅(qū)動器堆棧。
各種不同的應(yīng)用程序,比如例如客戶應(yīng)用程序402(來自于獨立的軟件供應(yīng)商或獨立的硬件供應(yīng)商)、服務(wù)器應(yīng)用程序404、客戶應(yīng)用程序406和服務(wù)器應(yīng)用程序408可以通過對應(yīng)用程序接口(API)進行調(diào)用來與文件系統(tǒng)層410進行交互。
文件系統(tǒng)層410可以與類驅(qū)動器進行交互,所述類驅(qū)動器包括但不局限于盤類驅(qū)動器412。類驅(qū)動器可以執(zhí)行針對一類裝置的公共操作,比如例如磁盤存儲裝置或其他類型的裝置。盤類驅(qū)動器410可以與存儲端口(Storport)驅(qū)動器414、ATA端口(ATAport)驅(qū)動器422、第三方端口驅(qū)動器似6或其他端口驅(qū)動器進行交互。
在可從位于華盛頓州Redmond市的微軟公司獲得的操作系統(tǒng)中包含有存儲端口驅(qū)動器414。存儲端口驅(qū)動器414是可以接收請求的端口驅(qū)動器,包括但不局限于來自盤類驅(qū)動器412的存儲請求,并且存儲端口驅(qū)動器414可以完成該請求,只要該請求不包括數(shù)據(jù)傳遞,或者該請求可以被傳遞到因特網(wǎng)小型計算機系統(tǒng)接口(iSCSI)迷你端口驅(qū)動器416 或?qū)S糜布阅泸?qū)動器,比如例如小型計算機系統(tǒng)接口迷你端口驅(qū)動器418或者高級技術(shù)配件(ATA)迷你端口驅(qū)動器420。iSCSI是在傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)連接上移動SCSI輸入/輸出(I/O)業(yè)務(wù)的存儲輸送協(xié)議。ATA迷你端口驅(qū)動器420將存儲請求翻譯為針對數(shù)據(jù)存儲裝置的專用硬件請求。
ATA端口驅(qū)動器422是將請求(包括但不局限于來自操作系統(tǒng)的存儲請求)翻譯為 ATA協(xié)議的端口驅(qū)動器。微軟高級主機控制器接口(MSAHCI)驅(qū)動器似4是包含在來自微軟公司的操作系統(tǒng)中的迷你端口驅(qū)動器,并且用于操縱串行ATA主機總線適配器。
第三方端口驅(qū)動器似6接收來自盤類驅(qū)動器412的請求并且將這些請求翻譯為針對第三方數(shù)據(jù)存儲裝置的專用硬件請求。
主機控制器110接收來自迷你端口驅(qū)動的請求并且將這些請求提供給數(shù)據(jù)存儲裝置112。主機控制器110還可以接收來自于數(shù)據(jù)存儲裝置112的信息并且可以將所接收的信息提供給適當(dāng)?shù)亩丝隍?qū)動器或迷你端口驅(qū)動器。
因為遙測數(shù)據(jù)的格式是可擴展的,所以在某些實施方式中,主機控制器驅(qū)動器和固件可以以與其他驅(qū)動器相同的方式參與遙測數(shù)據(jù)收集。
示例操作參照圖5,圖6-9是用于說明各種不同實施方式的示例操作的流程圖。圖5說明的是第一計算裝置302中運行的多個模塊。這些模塊可以是由某些實施方式中的第一計算裝置 302的處理器執(zhí)行的軟件或固件。在其它一些實施方式中,這些模塊可以是通過軟件和硬件的組合實現(xiàn)的。硬件可以包括一個或多個硬件邏輯部件,比如例如,專用門陣列(ASIC)或其它硬件邏輯部件。這些模塊可以包括健康監(jiān)測器502、盤類驅(qū)動器504、端口驅(qū)動器506、 迷你端口驅(qū)動器580、錯誤報告客戶端510、操作系統(tǒng)內(nèi)核512、崩潰轉(zhuǎn)儲(crashdump)驅(qū)動器514、轉(zhuǎn)儲端口(dumpport)驅(qū)動器516、轉(zhuǎn)儲迷你端口驅(qū)動器518和數(shù)據(jù)存儲裝置112。
先從圖6的流程圖開始,第一計算裝置302的內(nèi)核512可以開始發(fā)覺與數(shù)據(jù)存儲裝置112有關(guān)的故障并且內(nèi)核512可以調(diào)用崩潰轉(zhuǎn)儲驅(qū)動器514來收集轉(zhuǎn)儲數(shù)據(jù)(動作 602)。
相對于包括盤類驅(qū)動器504、端口驅(qū)動器506和迷你端口驅(qū)動器508的驅(qū)動器堆棧而言,崩潰轉(zhuǎn)儲驅(qū)動器514、轉(zhuǎn)儲端口驅(qū)動器516和轉(zhuǎn)儲迷你端口驅(qū)動器518是并聯(lián)的驅(qū)動器堆棧。崩潰轉(zhuǎn)儲驅(qū)動器514、轉(zhuǎn)儲端口驅(qū)動器516和轉(zhuǎn)儲迷你端口驅(qū)動器518可以包括崩潰安全代碼。崩潰安全代碼是在每次崩潰轉(zhuǎn)儲遙測數(shù)據(jù)收集(例如沒有中斷,沒有同步原語可用)時安全執(zhí)行的代碼。
針對第一計算裝置302,崩潰轉(zhuǎn)儲驅(qū)動器514可以調(diào)用端口驅(qū)動器506來引入主機驅(qū)動器狀態(tài)的快照(動作606)。主機驅(qū)動器空間的快照可以包括多達預(yù)定數(shù)量的最近請求,包括但不局限于從第一計算裝置302到數(shù)據(jù)存儲裝置112的存儲請求,以及其他信息。
崩潰轉(zhuǎn)儲驅(qū)動器514可以確定是否要從數(shù)據(jù)存儲裝置112收集裝置轉(zhuǎn)儲(動作 608)。在某些實施方式中,崩潰轉(zhuǎn)儲驅(qū)動器514可以檢查故障代碼并且確定該故障代碼是否與所關(guān)心的多個故障代碼中的任何一個相匹配。如果該故障代碼與所關(guān)心的多個故障代碼中的一個相匹配,那么崩潰轉(zhuǎn)儲驅(qū)動器514就可以確定要收集裝置轉(zhuǎn)儲。否則,崩潰轉(zhuǎn)儲驅(qū)動器514可以確定不要收集裝置轉(zhuǎn)儲。崩潰轉(zhuǎn)儲驅(qū)動器514還可以扼制數(shù)據(jù)向第二計算裝置304的上傳,以便減小使第二計算裝置304過載的機會。例如,可以采用額外的配置參數(shù)來限制所收集的遙測數(shù)據(jù)的大小或者收集遙測數(shù)據(jù)樣本的頻率。
如果崩潰轉(zhuǎn)儲驅(qū)動器514確定要收集裝置轉(zhuǎn)儲,那么崩潰轉(zhuǎn)儲驅(qū)動器514可以調(diào)用轉(zhuǎn)儲端口驅(qū)動器516來獲得裝置轉(zhuǎn)儲的拷貝(動作610)。轉(zhuǎn)儲端口驅(qū)動器516然后可以向轉(zhuǎn)儲迷你端口驅(qū)動器518發(fā)出命令序列來讀取裝置轉(zhuǎn)儲和用于路由的裝置和/或供應(yīng)商元數(shù)據(jù)。在一種實施方式中,用于路由的裝置和/或供應(yīng)商元數(shù)據(jù)可以包括來自數(shù)據(jù)存儲裝置112的散列碼值(動作612)。
轉(zhuǎn)儲迷你端口驅(qū)動器518然后可以確定數(shù)據(jù)存儲裝置112是否有要收集的裝置轉(zhuǎn)儲(動作614)。如果數(shù)據(jù)存儲裝置112有要收集的裝置轉(zhuǎn)儲,那么轉(zhuǎn)儲端口驅(qū)動器516可以從迷你端口驅(qū)動器518接收裝置轉(zhuǎn)儲,可以將裝置轉(zhuǎn)儲封裝到緩沖器中并且可以將該緩沖器返回到崩潰轉(zhuǎn)儲驅(qū)動器514 (動作616)。崩潰轉(zhuǎn)儲驅(qū)動器514然后可以促使主機驅(qū)動器轉(zhuǎn)儲(主機遙測數(shù)據(jù))和裝置轉(zhuǎn)儲(數(shù)據(jù)存儲裝置遙測數(shù)據(jù))得以被發(fā)送到一個或多個第二計算裝置304 (動作618)。在一種實施方式中,崩潰轉(zhuǎn)儲驅(qū)動器514可以將所封裝的收集到的轉(zhuǎn)儲數(shù)據(jù)提供給錯誤報告客戶端510,錯誤報告客戶端510可以將該數(shù)據(jù)放在要發(fā)送到一個或多個第二計算裝置304的數(shù)據(jù)隊列中。在另一種實施方式中,崩潰轉(zhuǎn)儲驅(qū)動器 514可以將所封裝的收集到的轉(zhuǎn)儲數(shù)據(jù)發(fā)送給一個或多個第二計算裝置304。然后完成該處理。在某些實施方式中,崩潰轉(zhuǎn)儲驅(qū)動器514還可以檢驗數(shù)據(jù)存儲裝置112之前是否獲取過內(nèi)部轉(zhuǎn)儲,并且如果是,那么就獲得該內(nèi)部轉(zhuǎn)儲。這不同于請求第一計算裝置302取得一個即時快照。結(jié)果,這能夠?qū)崿F(xiàn)較早之前介紹的“故障啟動“遙測數(shù)據(jù)的時間推移和收集。
如果在動作614期間,轉(zhuǎn)儲迷你端口驅(qū)動器508確定數(shù)據(jù)存儲裝置112并沒有要收集的裝置轉(zhuǎn)儲,那么可以執(zhí)行動作618來封裝主機驅(qū)動器轉(zhuǎn)儲(主機遙測數(shù)據(jù))并且將該主機驅(qū)動器轉(zhuǎn)儲發(fā)送到一個或多個第二計算裝置304。正如前面提到的那樣,可以將遙測數(shù)據(jù)封裝到多個段中,這些段中的每一個可以具有一個報頭。例如,第一段可以包括可在多方之間共享的主機遙測數(shù)據(jù),并且第二段可以包括不可在多方之間共享的主機遙測數(shù)據(jù)。
如果在動作608期間,崩潰轉(zhuǎn)儲驅(qū)動器514確定數(shù)據(jù)存儲裝置112并沒有要收集的裝置數(shù)據(jù),那么崩潰轉(zhuǎn)儲驅(qū)動器514可以封裝主機驅(qū)動器轉(zhuǎn)儲并且可以促使主機數(shù)據(jù)驅(qū)動器數(shù)據(jù)得以被發(fā)送到一個或多個第二計算裝置304 (動作618)。
參照圖5,圖7說明在初始化期間針對主機驅(qū)動器堆棧的示范性處理。該處理說明了收集數(shù)據(jù)存儲裝置遙測數(shù)據(jù)或轉(zhuǎn)儲數(shù)據(jù)的時間推移。該處理可以從健康監(jiān)測器502對盤類驅(qū)動器504進行調(diào)用來初始化主機驅(qū)動器堆棧開始(動作702)。按照另一種可選方案,內(nèi)核512可以調(diào)用盤類驅(qū)動器504來初始化主機驅(qū)動器堆棧。
盤類驅(qū)動器504然后可以確定數(shù)據(jù)存儲裝置112是否有要收集的裝置轉(zhuǎn)儲(數(shù)據(jù)存儲裝置遙測數(shù)據(jù))(動作704)。如果盤類驅(qū)動器504確定數(shù)據(jù)存儲裝置112有要收集的裝置轉(zhuǎn)儲(例如,在不正?;蚬收蠣顩r期間,數(shù)據(jù)存儲裝置112可能已經(jīng)創(chuàng)建了在系統(tǒng)重啟發(fā)生之前第一處理裝置304無法獲得的內(nèi)部轉(zhuǎn)儲),那么盤類驅(qū)動器504可以調(diào)用端口驅(qū)動器 506來獲得裝置轉(zhuǎn)儲和裝置和/或供應(yīng)商元數(shù)據(jù)的拷貝(動作706)。接著,端口驅(qū)動器506 可以向迷你端口驅(qū)動器508發(fā)出命令序列來從數(shù)據(jù)存儲裝置112中讀取數(shù)據(jù)存儲裝置轉(zhuǎn)儲和裝置和/或供應(yīng)商元數(shù)據(jù)并且將數(shù)據(jù)存儲裝置轉(zhuǎn)儲和裝置和/或供應(yīng)商元數(shù)據(jù)放到緩沖器中(動作708)。端口驅(qū)動器506可以將該緩沖器提供給盤類驅(qū)動器504,然后盤類驅(qū)動器 504可以對數(shù)據(jù)存儲裝置轉(zhuǎn)儲和裝置和/或供應(yīng)商元數(shù)據(jù)以及虛假主機驅(qū)動器轉(zhuǎn)儲(因為主機驅(qū)動器轉(zhuǎn)儲一般來說在初始化期間都是不可用的)進行封裝并且可以將該數(shù)據(jù)包發(fā)送給一個或多個第二計算裝置304 (動作710)。這樣,數(shù)據(jù)存儲裝置遙測數(shù)據(jù)或轉(zhuǎn)儲數(shù)據(jù)的收集可以從創(chuàng)建遙測數(shù)據(jù)或轉(zhuǎn)儲數(shù)據(jù)時被時間推移至直到第一計算裝置302重啟之后。
在某些實施方式中,盤類驅(qū)動器504可以將數(shù)據(jù)包提供給錯誤報告客戶端510并且錯誤報告客戶端510可以將該數(shù)據(jù)包發(fā)送給一個或多個第二計算裝置304。在其他一些實施方式中,盤類驅(qū)動器504可以促使該數(shù)據(jù)包得以通過其他手段被發(fā)送給一個或多個第二計算裝置304。
參照圖5,圖8說明了健康監(jiān)測器502收集轉(zhuǎn)儲(遙測)數(shù)據(jù)的示范性處理。該處理可以從健康監(jiān)測器502啟動計時器開始(動作802)。最初,可以針對用于在數(shù)據(jù)存儲裝置 112的正常工作狀態(tài)下收集轉(zhuǎn)儲數(shù)據(jù)(遙測數(shù)據(jù))的時間間隔來設(shè)置該計時器。
健康監(jiān)測器502然后可以確定是否報告了計時器到期或者非正常狀況(動作 804)。非正常狀況的例子可以包括針對數(shù)據(jù)存儲裝置112的預(yù)定數(shù)量的重試請求、數(shù)據(jù)存儲裝置112對于完成請求的不正常延遲以及非正常狀況的其他指示。
如果報告了計時器到期或者非正常狀況,那么健康監(jiān)測器502可以確定是否存在非正常狀況(動作806)。如果確定了不存在非正常狀況,那么健康監(jiān)測器502可以經(jīng)由應(yīng)用程序接口(API)發(fā)起正常狀況遙測數(shù)據(jù)的收集,正常狀況遙測數(shù)據(jù)可以包括主機驅(qū)動器數(shù)據(jù)和裝置轉(zhuǎn)儲數(shù)據(jù)(動作808)。主機驅(qū)動器數(shù)據(jù)可以包括多達預(yù)定數(shù)量的最近請求,包括但不局限于從第一計算裝置302到數(shù)據(jù)存儲裝置112的存儲請求。主機驅(qū)動器數(shù)據(jù)還可以包括描述第一計算裝置302的運行狀態(tài)的環(huán)境參數(shù)。環(huán)境參數(shù)可能對數(shù)據(jù)存儲裝置112的供應(yīng)商在嘗試重現(xiàn)異常狀態(tài)時有所幫助。裝置轉(zhuǎn)儲數(shù)據(jù)格式可以與由崩潰轉(zhuǎn)儲驅(qū)動器堆棧收集的裝置轉(zhuǎn)儲數(shù)據(jù)相同。按照另一種可選方案,裝置數(shù)據(jù)可以在正常遙測數(shù)據(jù)收集期間包括一種格式,并且在帶病遙測數(shù)據(jù)收集期間包括另一種格式。
如果在動作806期間,健康監(jiān)測器502確定存在非正常狀況,那么健康監(jiān)測器502 可以經(jīng)由API發(fā)起帶病遙測數(shù)據(jù)收集(動作812)。健康監(jiān)測器502然后可以封裝從第一計算裝置302和數(shù)據(jù)存儲裝置112收集的帶病遙測數(shù)據(jù)并且可以將所封裝的收集的帶病遙測數(shù)據(jù)發(fā)送給一個或多個第二計算裝置304 (動作814)。
圖9說明了封裝正?;驇Р∵b測數(shù)據(jù)并且將正常或帶病遙測數(shù)據(jù)發(fā)送給一個或多個第二計算裝置304的示范性處理。該處理從健康監(jiān)測器502經(jīng)由API調(diào)用盤類驅(qū)動器 504收集遙測數(shù)據(jù)開始(動作902)。盤類驅(qū)動器504可以調(diào)用端口驅(qū)動器506來收集正?;驇Р≈鳈C遙測數(shù)據(jù)(動作904)。端口驅(qū)動器506可以向迷你端口驅(qū)動器508發(fā)送命令,以12從數(shù)據(jù)存儲裝置112請求正?;驇Р⊙b置遙測數(shù)據(jù)(動作906)。
端口驅(qū)動器506然后可以確定數(shù)據(jù)存儲裝置112是否有要收集的正?;驇Р⊙b置遙測數(shù)據(jù)(動作908)。如果有,則端口驅(qū)動器506可以經(jīng)由迷你端口驅(qū)動器508從數(shù)據(jù)存儲裝置112接收正?;驇Р∵b測數(shù)據(jù)放入緩沖器并且可以將緩沖器返回到盤類驅(qū)動器504 (動作910)。盤類驅(qū)動器504可以將主機遙測數(shù)據(jù)和裝置遙測數(shù)據(jù)封裝在一起并且可以將所封裝的遙測數(shù)據(jù)提供給錯誤報告客戶端510,以便發(fā)送到一個或多個第二計算裝置(動作 912)。
返回到圖8,在執(zhí)行了動作810或動作814之后,健康監(jiān)測器502可以確定是否存在非正常狀況(動作816)。如果確定了存在非正常狀況,那么健康監(jiān)測器502可以將計時器設(shè)置為非正常狀況時間間隔(動作818)。否則,健康監(jiān)測器502可以將計時器設(shè)置為正常狀況時間間隔(動作820)。動作802-820可以被再次執(zhí)行。
結(jié)論雖然用專用于結(jié)構(gòu)特征和/或方法動作的語言介紹了本發(fā)明主題,但是應(yīng)當(dāng)理解,所附權(quán)利要求中的主題并非必須局限于前面介紹的這些具體特征或動作。相反,前面介紹的具體特征和動作僅僅是以用于實現(xiàn)權(quán)利要求的示例的形式公開的。
所介紹實施方式的其他配置是本發(fā)明范圍的一部分。例如,在其他一些實施方式中,由處理執(zhí)行的動作的順序可以不同和/或可以包括額外的或其他的動作。
由此,所附權(quán)利要求和它們在法律上的等價物定義了實施方式,而不是所給出的任何具體實例。
權(quán)利要求
1.一種機器實現(xiàn)的方法,包括由計算裝置檢測執(zhí)行嵌入式固件并且物理上與計算裝置相連的受管理裝置的故障狀況或非正常狀況(100,112,602,804,806);由計算裝置響應(yīng)于檢測到故障狀況或非正常狀況,從計算裝置收集第一數(shù)據(jù)并且從受管理裝置收集第二數(shù)據(jù),第一數(shù)據(jù)和第二數(shù)據(jù)包括有助于診斷故障狀況或非正常狀況的原因的信息(606,608,610,612,812,814);由計算裝置將第一數(shù)據(jù)和第二數(shù)據(jù)組合到至少一個數(shù)據(jù)包中(812,912);和由計算裝置將該至少一個數(shù)據(jù)包提供給一個或多個第二計算裝置,以便進行分析 (814,912)。
2.按照權(quán)利要求1所述的機器實現(xiàn)的方法,其中至少一個數(shù)據(jù)包具有可擴展的格式。
3.按照權(quán)利要求1所述的機器實現(xiàn)的方法,其中第一數(shù)據(jù)包括關(guān)于計算裝置的環(huán)境數(shù)據(jù)和配置數(shù)據(jù)。
4.按照權(quán)利要求1所述的機器實現(xiàn)的方法,其中第一數(shù)據(jù)包括與計算裝置試圖發(fā)送給受管理裝置的多個最近請求有關(guān)的信息。
5.按照權(quán)利要求1所述的機器實現(xiàn)的方法,進一步包括由計算裝置周期性地收集和監(jiān)測第一遙測數(shù)據(jù),第一遙測數(shù)據(jù)包括與計算裝置的狀態(tài)有關(guān)的信息。
6.按照權(quán)利要求5所述的機器實現(xiàn)的方法,進一步包括 由計算裝置檢測關(guān)于受管理裝置的帶病狀況;由計算裝置響應(yīng)于檢測到帶病狀況,觸發(fā)帶病遙測數(shù)據(jù)的收集,帶病遙測數(shù)據(jù)包括來自計算裝置的第一帶病遙測數(shù)據(jù)和來自受管理裝置的第二帶病遙測數(shù)據(jù);由計算裝置將第一帶病遙測數(shù)據(jù)和第二帶病遙測數(shù)據(jù)組合到包括帶病遙測數(shù)據(jù)的第二數(shù)據(jù)包中;和由計算裝置將第二數(shù)據(jù)包提供給第二計算裝置。
7.按照權(quán)利要求1所述的機器實現(xiàn)的方法,進一步包括 由計算裝置在啟動時執(zhí)行確定受管理裝置具有要收集的新的第二數(shù)據(jù), 從受管理裝置收集新的第二數(shù)據(jù), 形成包括新的第二數(shù)據(jù)的新的數(shù)據(jù)包,和將新的數(shù)據(jù)包提供給第二計算裝置。
8.按照權(quán)利要求1所述的機器實現(xiàn)的方法,此外還包括在執(zhí)行將新的數(shù)據(jù)包提供給第二計算裝置之前,使用與受管理裝置相關(guān)聯(lián)的第三方的公共密鑰,對第二數(shù)據(jù)的至少一部分進行加密。
9.一種計算裝置(100),包括 至少一個處理器(102);用于與執(zhí)行嵌入式固件的受管理裝置通信的控制器(110,112); 通信總線(108);和由存儲器(104)和存儲器(104)與至少一個硬件部件(502,504,506,508,514,516, 518)的組合構(gòu)成的組中的至少一項,該至少一項配置為用于使計算裝置執(zhí)行權(quán)利要求1-8中任何一項的方法。
10. 一種機器可讀存儲介質(zhì)(104),具有記錄于其上的用于由計算裝置的至少一個處理器執(zhí)行權(quán)利要求1-8中任何一項的方法的指令。
全文摘要
公開了方法和計算裝置。計算裝置可以包括具有嵌入式固件的受管理裝置。當(dāng)出現(xiàn)與受管理裝置有關(guān)的故障時,計算裝置內(nèi)的驅(qū)動器可以從計算裝置的驅(qū)動器堆棧中和從受管理裝置中收集故障數(shù)據(jù)。計算裝置可以將所收集的故障數(shù)據(jù)發(fā)送給一個或多個第二計算裝置來加以存儲和分析。計算裝置可以包括用于從計算裝置和受管理裝置周期性收集遙測數(shù)據(jù)的健康監(jiān)測器。當(dāng)健康監(jiān)測器發(fā)現(xiàn)表明可能即將出現(xiàn)故障的狀況時,健康監(jiān)測器可以觸發(fā)從計算裝置和受管理裝置中收集帶病遙測數(shù)據(jù)。從受管理裝置中收集的數(shù)據(jù)可為受管理裝置的供應(yīng)商所用。
文檔編號G06F11/34GK102521111SQ20111034315
公開日2012年6月27日 申請日期2011年11月3日 優(yōu)先權(quán)日2010年11月3日
發(fā)明者N.S.奧布爾, S.C-C.李, V.小奧爾戈文, V.薩多夫斯基 申請人:微軟公司