專利名稱:用于自動化計算機(jī)支持的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于自動化計算機(jī)支持的系統(tǒng)和方法。
背景技術(shù):
隨著信息技術(shù)復(fù)雜性持續(xù)增加,問題管理成本會逐步升高,因為支持事件的頻率上升,并且對于人工分析員的技能設(shè)置要求變得更為苛求。傳統(tǒng)的問題管理工具被設(shè)計用來通過增加執(zhí)行這些支持任務(wù)的人工效率來減少成本。這典型地通過至少部分地使事故單信息的捕獲自動化以及通過使訪問知識庫便利來完成。盡管有用,但是這種類型的自動化已到達(dá)收益遞減點,因為它未能處理支持模型本身中的根本弱點——它對人工的依賴。
表1顯示了和傳統(tǒng)的基于人工的支持模型中的事件解決有關(guān)的人工成本分布。顯示的數(shù)據(jù)由幫助桌面軟件的主要供應(yīng)商MotiveCommunications Inc.of Austin,Texas(www.motive.com)提供。最高成本項目是與需要人工分析和/或交互的任務(wù)(例如診斷、調(diào)查、解決)有關(guān)的那些。
表1
用于自動化問題管理的傳統(tǒng)軟件解決方案試圖減少這些成本并跨越服務(wù)水平的寬范圍添加價值。Forrester Research,Inc.of Cambridge,MA(www.forrester.com)提供了這些服務(wù)水平的有用表征。ForresterResearch將傳統(tǒng)自動化計算機(jī)支持解決方案分成5個服務(wù)水平,包括(1)集中恢復(fù)(Mass-Healing)——事件發(fā)生之前解決;(2)自動恢復(fù)(Self-Healing)——事件發(fā)生時解決;(3)自動服務(wù)(Self-Service)——用戶呼叫之前解決事件;(4)輔助服務(wù)(Assisted-Service)——用戶呼叫時解決事件;以及(5)臺面訪問(Desk-side Visit)——當(dāng)所有其他失敗時解決事件。根據(jù)Forrester,使用傳統(tǒng)的自動恢復(fù)服務(wù)的每個事件的成本小于1美元。然而,如果最終需要臺面訪問的話,則成本迅速逐步升高,達(dá)到每個事件多于300美元。
集中恢復(fù)的目標(biāo)是要在事件發(fā)生之前解決它們。在傳統(tǒng)的系統(tǒng)中,通過使所有的PC配置相同,或者最低程度上確保在一臺PC上發(fā)現(xiàn)的問題不能在任何其他PC上重復(fù),來實現(xiàn)這個目標(biāo)。典型地與這種服務(wù)水平有關(guān)的傳統(tǒng)產(chǎn)品由軟件分布工具和配置管理工具組成。諸如反病毒掃描程序、入侵檢測系統(tǒng)和數(shù)據(jù)完整性檢驗程序之類的安全產(chǎn)品同樣被認(rèn)為是這個水平的部分,因為它們集中在防止事件發(fā)生上。
試圖處理這種服務(wù)水平的傳統(tǒng)產(chǎn)品,通過將管理的群體限制到少量的已知正確配置,并且通過檢測并消除相對少量的已知錯誤配置(例如病毒簽名),來進(jìn)行操作。這種方法的問題在于它假定(1)能夠提前知道所有正確和錯誤的配置;以及(2)一旦它們已知,它們保持相對穩(wěn)定。隨著計算機(jī)和網(wǎng)絡(luò)系統(tǒng)復(fù)雜性增加,網(wǎng)絡(luò)中任何特定節(jié)點的穩(wěn)定性趨于減少。任何特定節(jié)點上的硬件和軟件都可能頻繁變化。例如,許多軟件產(chǎn)品能夠使用經(jīng)由內(nèi)部網(wǎng)絡(luò)或因特網(wǎng)訪問的軟件補丁自動更新自己。由于存在無限數(shù)量的正確與錯誤配置,并且由于它們經(jīng)常變化,所以這些傳統(tǒng)自動恢復(fù)產(chǎn)品永遠(yuǎn)不能多于部分有效。
進(jìn)一步,病毒作者持續(xù)開發(fā)越來越聰明的病毒。傳統(tǒng)病毒檢測與根除軟件依賴于識別已知模式的能力以檢測并根除病毒。然而,隨著病毒的數(shù)目和復(fù)雜性增加,維持已知病毒的和用于那些病毒的修理的數(shù)據(jù)庫所需的資源,連同將所述修理分發(fā)給網(wǎng)絡(luò)上的節(jié)點群體所需的資源,變得勢不可擋。另外,使用微軟視窗操作系統(tǒng)的傳統(tǒng)PC包括7,000以上的系統(tǒng)文件和全都是多值的100,000以上的注冊表項。因此,對于所有的實際目的,可能存在無限數(shù)量的正確狀態(tài)和無限數(shù)量的錯誤狀態(tài),使得識別錯誤狀態(tài)的任務(wù)更加復(fù)雜。
自動恢復(fù)水平的目標(biāo)是,在問題導(dǎo)致呼叫幫助臺之前,理想地在用戶恰好明白問題存在之前,感應(yīng)并自動校正它們。自從80年代末以來,當(dāng)時Peter Norton引進(jìn)了一套PC診斷與修復(fù)工具(www.Symantec.com),傳統(tǒng)自動恢復(fù)工具就已存在。這些工具還包括下述工具,所述工具允許用戶將PC恢復(fù)到安裝新產(chǎn)品之前的恢復(fù)點集(restore point set)。然而,沒有傳統(tǒng)工具在現(xiàn)實條件下工作良好。
這些傳統(tǒng)工具的一個根本問題是以下方面的困難創(chuàng)建參考模型,其具有足夠的范圍、間隔尺寸和柔性,以允許“正?!迸c“異常”可靠地區(qū)分。使該問題增加的是下述事實“正常”的定義必須隨著新軟件更新和部署應(yīng)用程序而經(jīng)常改變。這是個艱難的技術(shù)挑戰(zhàn),并且尚未被任何傳統(tǒng)工具所攻克。
自動服務(wù)水平的目標(biāo)是,通過提供使最終用戶能夠幫助他們自己的自動化工具和知識庫的集合,來減少幫助臺呼叫的業(yè)務(wù)量。傳統(tǒng)自動服務(wù)產(chǎn)品由“基本知識的”知識庫和軟件解決方案的集合組成,所述軟件解決方案使諸如重置遺忘的密碼之類的低風(fēng)險、重復(fù)的支持功能自動化。這些傳統(tǒng)解決方案具有以下顯著的不利方面它們增加了自我造成的損害的可能性。因為這個原因,它們限于特定類型的問題和應(yīng)用。
輔助服務(wù)水平的目標(biāo)是,通過提供用于管理服務(wù)請求的自動化基礎(chǔ)設(shè)施,并且通過提供遠(yuǎn)程控制個人計算機(jī)和與最終用戶交互的能力,來增強(qiáng)人工效率。傳統(tǒng)輔助服務(wù)產(chǎn)品包括幫助臺軟件、在線參考資料以及遠(yuǎn)程控制軟件。
盡管這種服務(wù)水平的產(chǎn)品也許是在此描述的傳統(tǒng)產(chǎn)品和解決方案中最成熟的,但是它們?nèi)匀晃茨艹浞譂M足用戶和組織的需要。特別地,這些產(chǎn)品自動診斷問題的能力,在能夠正確識別的問題的類型方面,以及診斷準(zhǔn)確性(通常多重選擇)方面,都嚴(yán)重受限。
當(dāng)所有其他都失敗時,桌面訪問就變得必要。這種服務(wù)水平包括任何“實地”活動,其可能變得有必要,以恢復(fù)不能遠(yuǎn)程診斷/修復(fù)的計算機(jī)。它還包括跟蹤和管理這些活動以確保及時解決。在所有的服務(wù)水平中,這種水平最有可能需要來自高度訓(xùn)練的并從而是昂貴的人力資源的大量時間。
這種水平的傳統(tǒng)產(chǎn)品由專門診斷工具和軟件產(chǎn)品組成,所述軟件產(chǎn)品隨著時間的過去并潛在地跨越多個顧客服務(wù)代表跟蹤并解決顧客問題。
這樣一來,所需要的就是范式轉(zhuǎn)換(paradigm shift),其有必要顯著減少支持成本。這種轉(zhuǎn)換會用新的支持模型的出現(xiàn)來表征,在所述新的模型中,機(jī)器將充當(dāng)用于進(jìn)行決定和發(fā)起行動的主要代理。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了用于自動化計算機(jī)支持的系統(tǒng)和方法。根據(jù)本發(fā)明的一個實施例的一種方法包括從多個計算機(jī)接收多個快照(snapshot);將所述多個快照存儲在數(shù)據(jù)存儲器中;以及至少部分地基于所述多個快照,創(chuàng)建自適應(yīng)參考模型。在另一個實施例中,計算機(jī)可讀介質(zhì)(像例如隨機(jī)存取存儲器或計算機(jī)磁盤之類)包含用于執(zhí)行這樣的方法的代碼。
提及這些實施例并不是為了限制或規(guī)定本發(fā)明,而是為了提供本發(fā)明實施例的例子以有助于理解。在詳細(xì)說明中討論了示范性的實施例,并且在那里提供了本發(fā)明的進(jìn)一步的說明。通過檢查這個詳細(xì)說明可以進(jìn)一步理解本發(fā)明的各種實施例提供的優(yōu)點。
當(dāng)參考附圖閱讀以下詳細(xì)說明時,可以更好地理解本發(fā)明的這些以及其他的特征、方面和優(yōu)點,其中圖1顯示了用于執(zhí)行本發(fā)明的一個實施例的示范性環(huán)境;圖2是顯示本發(fā)明的一個實施例中的信息和行動流程的方框圖;圖3是顯示本發(fā)明的一個實施例中的異常檢測的總體過程的流程圖;圖4是顯示本發(fā)明的一個實施例中的自適應(yīng)參考模型的部件的方框圖;圖5是顯示本發(fā)明的一個實施例中的規(guī)范化客戶機(jī)上的注冊表信息的過程的流程圖;
圖6是顯示本發(fā)明的一個實施例中的用于識別和響應(yīng)異常的方法的流程圖;圖7是顯示本發(fā)明的一個實施例中的用于識別一定類型的異常的過程的流程圖;圖8是顯示本發(fā)明的一個實施例中的用于生成自適應(yīng)參考模型的過程的流程圖;圖9是顯示本發(fā)明的一個實施例中的用于主動異常檢測的過程的流程圖;圖10是顯示本發(fā)明的一個實施例中的用于異常檢測的反應(yīng)過程的流程圖;圖11是本發(fā)明的一個實施例中的用于創(chuàng)建自適應(yīng)參考模型的用戶界面的屏幕截圖;圖12是本發(fā)明的一個實施例中的用于管理自適應(yīng)參考模型的用戶界面的屏幕截圖;圖13是本發(fā)明的一個實施例中的用于選擇快照以用于創(chuàng)建識別過濾器的用戶界面的屏幕截圖;圖14是本發(fā)明的一個實施例中的用于管理識別過濾器的用戶界面的屏幕截圖;圖15是顯示本發(fā)明的一個實施例中的用于選擇“黃金系統(tǒng)”供策略模板之用的用戶界面的屏幕截圖;以及圖16是本發(fā)明的一個實施例中的用于選擇策略模板資產(chǎn)的用戶界面的屏幕截圖。
具體實施例方式
本發(fā)明的實施例提供了用于自動化計算機(jī)支持的系統(tǒng)及方法。現(xiàn)在參考附圖,其中遍及多個附圖相同的數(shù)字指示相同的元件,圖1是顯示用于執(zhí)行本發(fā)明的一個實施例的示范性環(huán)境的方框圖。顯示的實施例包括自動化支持設(shè)施102。盡管自動化支持設(shè)施102在圖1中被顯示為單個設(shè)施,但是它可以包含多個設(shè)施,或者被并入到管理群體所在的地點。自動化支持設(shè)施包括防火墻104,其與網(wǎng)絡(luò)106通信,用于向存儲在自動化支持設(shè)施102之內(nèi)的數(shù)據(jù)提供安全。自動化支持設(shè)施102還包括收集部件108。收集部件108除了其他特征之外還提供一種機(jī)制,用于傳送自動化支持設(shè)施102的進(jìn)進(jìn)出出的數(shù)據(jù)。傳送程序可以使用標(biāo)準(zhǔn)協(xié)議,諸如文件傳送協(xié)議(FTP)或超文本傳送協(xié)議(HTTP)之類,或者可以使用私有協(xié)議。收集部件還提供下載、解壓縮和解析進(jìn)來的快照所需的處理邏輯。
顯示的自動化支持設(shè)施102還包括分析部件110,其與收集部件108通信。分析部件110包括硬件和軟件,用于執(zhí)行在此說明的自適應(yīng)參考模型,并將自適應(yīng)參考模型存儲在數(shù)據(jù)庫部件112中。分析部件110從數(shù)據(jù)庫部件112中提取自適應(yīng)參考模型和快照,在參考模型的環(huán)境中分析快照,識別并過濾任何異常,并且在適當(dāng)時傳輸(一個或多個)響應(yīng)代理程序(response agent)。分析部件110還向系統(tǒng)提供用戶界面。
顯示的實施例還包括數(shù)據(jù)庫部件112,其與收集部件108以及分析部件110通信。數(shù)據(jù)庫部件112提供用于存儲數(shù)據(jù)的手段,所述數(shù)據(jù)來自代理程序,并且用于本發(fā)明實施例執(zhí)行的過程。數(shù)據(jù)庫部件的主要功能可以是存儲快照和自適應(yīng)參考模型。它包括一組數(shù)據(jù)庫表格以及自動管理那些表格所需的處理邏輯。顯示的實施例僅包括一個數(shù)據(jù)庫部件112和一個分析部件110。其他實施例包括許多數(shù)據(jù)庫和/或分析部件112、110。一個實施例包括一個數(shù)據(jù)庫部件和多個分析部件,允許多個支持人員共享單個數(shù)據(jù)庫,同時執(zhí)行并行的分析任務(wù)。
本發(fā)明的實施例將自動化支持提供給管理群體114,其可以包含多個客戶計算機(jī)116a、b。管理群體經(jīng)由網(wǎng)絡(luò)106向自動化支持設(shè)施102提供數(shù)據(jù)。
在圖1顯示的實施例中,在每個監(jiān)視的機(jī)器116a、b之內(nèi)部署代理部件202。代理部件202從客戶機(jī)116搜集數(shù)據(jù)。以預(yù)定的時間間隔(例如每天一次)或響應(yīng)來自分析部件110的命令,代理部件202獲取它駐留的機(jī)器的狀態(tài)的詳細(xì)快照。這個快照包括以下的詳細(xì)檢查所有的系統(tǒng)文件、指定的應(yīng)用文件、注冊表、性能計數(shù)器、進(jìn)程、服務(wù)、通信端口、硬件配置以及日志文件。每次掃描的結(jié)果然后被壓縮并以快照的形式傳輸給收集部件108。
圖1中顯示的服務(wù)器、計算機(jī)和網(wǎng)絡(luò)部件中的每一個都包含處理器和計算機(jī)可讀介質(zhì)。如本領(lǐng)域技術(shù)人員眾所周知的那樣,通過將多種功能組合到單個計算機(jī)中,或者可選擇地,通過使用多個計算機(jī)執(zhí)行單個任務(wù),可以以無數(shù)方式配置本發(fā)明的實施例。
本發(fā)明的實施例使用的處理器可以包括例如數(shù)字邏輯處理器,其當(dāng)支持根據(jù)本發(fā)明的過程必要時,能夠處理輸入、執(zhí)行算法并生成輸出。這樣的處理器可以包括微處理器、ASIC和狀態(tài)機(jī)。這樣的處理器包括或者可以與例如計算機(jī)可讀介質(zhì)的介質(zhì)通信,所述介質(zhì)存儲這樣的指令,當(dāng)所述指令由處理器執(zhí)行時,使處理器執(zhí)行在此說明的步驟。
計算機(jī)可讀介質(zhì)的實施例包括但不限于電子、光學(xué)、磁性或其他存儲或傳輸裝置,其能夠?qū)⒂嬎銠C(jī)可讀指令提供給處理器,諸如與觸摸感應(yīng)輸入裝置通信的處理器之類。合適的介質(zhì)的其他例子包括但不限于軟盤、CD-ROM、磁盤、存儲芯片、ROM、RAM、ASIC、配置的處理器、所有的光學(xué)介質(zhì)、所有的磁帶或其他磁性介質(zhì)、或者計算機(jī)處理器能夠從其中讀取指令的任何其他介質(zhì)。同樣,各種其他形式的計算機(jī)可讀介質(zhì)可以向計算機(jī)傳輸或運送指令,包括路由器、專用或公用網(wǎng)絡(luò)、或者其他傳輸裝置或信道,既包括有線又包括無線。指令可以包含來自任何計算機(jī)編程語言的代碼,包括例如C、C#、C++、Visual Basic、Java以及JavaScript。
圖2是顯示本發(fā)明的一個實施例中的信息和行動流程的方框圖。顯示的實施例包含代理部件202。代理部件202是在每個監(jiān)視的機(jī)器之內(nèi)部署的系統(tǒng)的部分。它可以執(zhí)行3個主要功能。首先,它可以負(fù)責(zé)搜集數(shù)據(jù)。以預(yù)定的時間間隔、響應(yīng)來自分析部件110的命令、或者響應(yīng)由代理部件202檢測到的所關(guān)心的事件,代理部件202可以執(zhí)行客戶機(jī)116a、b的廣泛掃描。這種掃描可以包括以下的詳細(xì)檢查所有的系統(tǒng)文件、指定的應(yīng)用文件、注冊表、性能計數(shù)器、硬件配置、日志、運行任務(wù)、服務(wù)、網(wǎng)絡(luò)連接以及其他相關(guān)數(shù)據(jù)。每次掃描的結(jié)果被壓縮并且以“快照”的形式經(jīng)由網(wǎng)絡(luò)106傳輸給收集部件108。
在一個實施例中,代理部件202讀取要被檢查的文件的每個字節(jié),并且為每個文件創(chuàng)建數(shù)字簽名或散列(hash)。數(shù)字簽名識別每個文件的確切內(nèi)容,而不是簡單地提供諸如大小和創(chuàng)建日期之類的元數(shù)據(jù)。一些傳統(tǒng)病毒改變文件頭信息,試圖愚弄依賴用于檢測的元數(shù)據(jù)的系統(tǒng)。這樣的實施例能夠成功地檢測這樣的病毒。
代理部件202對客戶機(jī)的掃描可以是資源密集型的。在一個實施例中,周期性地,例如每天當(dāng)用戶不在使用客戶機(jī)時的時間期間,執(zhí)行全掃描。在另一個實施例中,代理部件202執(zhí)行客戶機(jī)的增量掃描,僅記錄從上次掃描以來的變化。在另一個實施例中,在要求時代理部件202執(zhí)行掃描,向試圖修復(fù)客戶機(jī)上的異常的技術(shù)人員或支持人員提供有價值的工具。
代理202執(zhí)行的第二個主要功能是行為阻斷(behavior blocking)。代理202經(jīng)常地(或基本上經(jīng)常地)監(jiān)視對諸如系統(tǒng)文件和注冊表之類的關(guān)鍵系統(tǒng)資源的訪問。它能夠選擇性地實時阻斷對這些資源的訪問,以防止惡意軟件破壞。盡管行為監(jiān)視在正在進(jìn)行的基礎(chǔ)上發(fā)生,但是行為阻斷能夠作為修復(fù)行動的部分。例如,如果分析部件110懷疑病毒存在,則它能夠下載修復(fù)行動,以使代理阻斷病毒訪問管理的系統(tǒng)之內(nèi)的關(guān)鍵信息資源。代理部件202從監(jiān)視過程提供信息作為快照的部分。
代理部件202執(zhí)行的第三個主要功能是提供用于響應(yīng)代理程序的執(zhí)行環(huán)境。響應(yīng)代理程序是移動軟件部件,其執(zhí)行自動化過程以處理各種類型的故障狀況。例如,如果分析部件110懷疑病毒存在,則它能夠下載響應(yīng)代理程序,以使代理部件202從管理的系統(tǒng)中去除可疑的資產(chǎn)。代理部件202可以作為正被監(jiān)視的計算機(jī)上的服務(wù)或其他后臺進(jìn)程運行。因為本發(fā)明的實施例提供的信息的范圍和間隔尺寸,與用傳統(tǒng)的系統(tǒng)相比,能夠更加精確地執(zhí)行修復(fù)。盡管根據(jù)客戶機(jī)進(jìn)行了說明,但是管理群體114可以包含PC工作站、服務(wù)器、或任何其他類型的計算機(jī)。
顯示的實施例還包括自適應(yīng)參考模型部件206。建立自動化支持產(chǎn)品中的一個困難的技術(shù)挑戰(zhàn)是,創(chuàng)建能夠用于在正常和異常系統(tǒng)狀態(tài)之間進(jìn)行區(qū)分的參考模型?,F(xiàn)代計算機(jī)的系統(tǒng)狀態(tài)由許多多值變量確定,并從而存在事實上幾乎無限數(shù)量的正常和異常狀態(tài)。使事情更糟的是,這些變量隨著部署新的軟件更新并且隨著最終用戶通信而頻繁地變化。顯示的實施例中的自適應(yīng)參考模型206分析來自許多計算機(jī)的快照,并且使用專門為了這個目的而設(shè)計的普通數(shù)據(jù)提煉算法或?qū)S脭?shù)據(jù)提煉算法,來識別統(tǒng)計顯著模式。作為結(jié)果的規(guī)則集極其豐富(成百上千條規(guī)則),并且被定制成管理群體的獨特特征。在顯示的實施例中,建立新的參考模型的過程完全自動化,并且能夠被周期性地執(zhí)行,以允許模型適合于諸如軟件更新的計劃部署之類的預(yù)期變化。
由于自適應(yīng)參考模型206用于分析來自機(jī)器群體的統(tǒng)計顯著模式,所以在一個實施例中,分析最小數(shù)量的機(jī)器以確保統(tǒng)計測量的準(zhǔn)確性。在一個實施例中,測試近50臺機(jī)器的最小群體,以實現(xiàn)用于分析機(jī)器的系統(tǒng)性相關(guān)的模式。參考一旦被確立,樣本就能夠用于確定在整個群體或群體的任何成員之內(nèi)是否發(fā)生任何異常的事情。
在另一個實施例中,分析部件110計算一組成熟規(guī)格(maturitymetrics),其使用戶能夠確定何時足夠數(shù)量的樣本已被累積以提供準(zhǔn)確的分析。這些成熟規(guī)格指示已滿足對應(yīng)于各種置信水平(例如高、中和低)的預(yù)定標(biāo)準(zhǔn)的模型的每個水平處的可用關(guān)系的百分比。在一個這樣的實施例中,用戶監(jiān)視所述規(guī)格,并且確保足夠的快照已被吸收同化以創(chuàng)建成熟模型。在另一個這樣的實施例中,分析部件110吸收同化樣本,直到它達(dá)到用戶預(yù)定的成熟目標(biāo)集為止。在任一這樣的實施例中,不必要吸收同化一定數(shù)量的樣本(例如50)。
圖2中顯示的實施例還包含策略模板部件208。策略模板部件208允許服務(wù)提供商以“策略”的形式將規(guī)則手工插入到自適應(yīng)參考模型中。策略是屬性(文件、注冊表項等等)和值的組合,當(dāng)其被提供給模型時,覆蓋模型中的統(tǒng)計地生成的信息的部分。這種機(jī)制能夠用于使多種共同的維護(hù)活動自動化,諸如檢驗對安全策略的服從以及檢查以確保適當(dāng)?shù)能浖乱驯话惭b之類。
當(dāng)計算機(jī)發(fā)生某種故障時,它通常影響若干不同的信息資產(chǎn)(文件、注冊表項等等)。例如,“特洛伊”可能安裝惡意文件,添加一定的注冊表項以確保執(zhí)行那些文件,并且開通用于通信的端口。通過將來自被感染的機(jī)器的快照與自適應(yīng)參考模型中包含的標(biāo)準(zhǔn)相比較,圖2中顯示的實施例將這些不希望的變化檢測為異常。異常被定義為意外存在的資產(chǎn)、意外不存在的資產(chǎn)、或具有未知值的資產(chǎn)。對照識別過濾器216的庫匹配異常。識別過濾器216包含異常的特定模式,其指示特定根本原因狀況或普通類狀況的存在。識別過濾器216還將狀況與嚴(yán)重性指示、文本描述以及對響應(yīng)代理程序的鏈接相聯(lián)系。在另一個實施例中,識別過濾器216能夠用于識別并解釋良性異常。例如,如果用戶添加管理員確信不會造成任何問題的新的應(yīng)用程序,則根據(jù)本發(fā)明的系統(tǒng)仍然會將所述新的應(yīng)用程序報告為一組異常。如果應(yīng)用程序是新的,那么將添加的資產(chǎn)報告為異常是正確的。然而,管理員能夠使用識別過濾器216將通過添加應(yīng)用程序產(chǎn)生的異常解釋為良性。
在本發(fā)明的實施例中,某些屬性涉及連續(xù)的過程。例如,性能數(shù)據(jù)由各種計數(shù)器組成。這些計數(shù)器計量在特定時限期間發(fā)生的各種事件。為了確定這樣的計數(shù)器的值跨越群體是否正常,本發(fā)明的一個實施例計算平均值和標(biāo)準(zhǔn)差。如果計數(shù)器的值從平均值背離多于一定數(shù)量的標(biāo)準(zhǔn)差,則聲明異常。
在另一個實施例中,機(jī)制處理自適應(yīng)參考模型206吸收同化包含異常的快照的情況。一旦模型達(dá)到預(yù)期成熟水平,它就經(jīng)歷去除可能已被吸收同化的異常的過程。這些異常作為強(qiáng)關(guān)系之孤立例外在成熟模型中是可見的。例如,如果文件A連同文件B在999臺機(jī)器中出現(xiàn),但是在1臺機(jī)器中文件A存在而文件B丟失,則過程會假定后者關(guān)系異常,并會從模型中將其去除。當(dāng)模型隨后用于檢查時,任何包含文件A但是不包含文件B的機(jī)器都會被標(biāo)記為異常。
圖2中顯示的本發(fā)明的實施例還包括響應(yīng)代理程序庫212。響應(yīng)代理程序庫212允許服務(wù)提供商創(chuàng)造并存儲對于特定故障狀況的自動化響應(yīng)。這些自動化響應(yīng)從腳本集合中構(gòu)造,其能夠被調(diào)度給管理的機(jī)器,以執(zhí)行像替換文件或改變注冊表值的行動。一旦已分析了故障狀況并且已定義了響應(yīng)代理程序,就應(yīng)當(dāng)自動地校正任何隨后發(fā)生的相同故障狀況。
圖3是顯示本發(fā)明的一個實施例中的異常檢測的總體過程的流程圖。在顯示的實施例中,代理部件(202)在周期的基礎(chǔ)上、例如每天一次地執(zhí)行快照302。這種快照包括收集大量的數(shù)據(jù),并且能夠獲取任何地方,從幾分鐘到幾個小時地執(zhí)行,這取決于客戶機(jī)的配置。當(dāng)掃描完成時,結(jié)果被壓縮、格式化、并且以快照的形式傳輸給被稱為收集部件的安全服務(wù)器304。收集部件充當(dāng)用于從管理群體提交的所有快照的中央倉庫。每個快照然后由收集部件解壓縮、解析、并且存儲在數(shù)據(jù)庫的各種表格中。
檢測功能(218)使用自適應(yīng)參考模型部件(206)中存儲的數(shù)據(jù),以對照成百上千的統(tǒng)計相關(guān)關(guān)系檢查快照的內(nèi)容,所述統(tǒng)計相關(guān)關(guān)系已知對于該管理群體是正常的308。如果未發(fā)現(xiàn)異常310,則過程結(jié)束324。
如果發(fā)現(xiàn)異常310,則咨詢識別過濾器(210),以確定異常是否匹配任何已知的狀況312。如果答案為是,那么根據(jù)已被診斷的狀況報告異常314。否則,將異常報告為未被識別的異常316。識別過濾器(216)還指示對于該特定類型的狀況是否已授權(quán)自動化響應(yīng)318。
在一個實施例中,識別過濾器(216)能夠識別并合并多種異常。在已分析整個快照并且已檢測與該快照相關(guān)的所有異常之后,執(zhí)行將識別過濾器與異常匹配的過程。如果在異常的子集和識別過濾器之間發(fā)現(xiàn)匹配,則在輸出流中,識別過濾器的名稱會和異常的子集相關(guān)。例如,病毒的存在可能生成一組文件異常、進(jìn)程異常、以及注冊表異常。識別過濾器能夠用于合并這些異常,以便用戶會簡單地看到描述性的名稱,其將所有異常都關(guān)聯(lián)到可能的共同原因,亦即病毒。
如果自動化響應(yīng)已被授權(quán),那么響應(yīng)代理程序庫(212)就下載適當(dāng)?shù)捻憫?yīng)代理程序給受感染的機(jī)器320。受感染機(jī)器中的代理部件(202)然后就執(zhí)行校正故障狀況所需的腳本序列322。顯示的過程然后結(jié)束324。
本發(fā)明的實施例顯著減少了維護(hù)個人計算機(jī)和服務(wù)器群體的成本。通過在故障狀況逐步升高到幫助臺之前自動檢測并校正它們,并且通過提供診斷信息以縮短支持分析員解決未被自動處理的任何問題所需的時間,一個實施例完成了這個目標(biāo)。
減少事件發(fā)生頻率的任何事情,在計算機(jī)支持成本方面都具有顯著正面影響。本發(fā)明的一個實施例監(jiān)視并調(diào)節(jié)管理的機(jī)器的狀態(tài),以便它對威脅更有抵抗力。使用策略模板,服務(wù)提供商能夠日常地監(jiān)視每個管理的系統(tǒng)的安全態(tài)勢,自動地調(diào)節(jié)安全設(shè)置并安裝軟件更新以消除已知的弱點。
在基于人工的支持模型中,故障狀況由最終用戶檢測,報告給幫助臺,并由人工專家診斷。這個過程以若干方式增加成本。首先,當(dāng)最終用戶等待解決時存在與喪失的生產(chǎn)率相關(guān)的成本。同樣,存在通常由幫助臺人員執(zhí)行的數(shù)據(jù)收集的成本。另外,存在診斷的成本,所述診斷需要受過訓(xùn)練的(昂貴的)支持分析員的服務(wù)。與此相反,根據(jù)本發(fā)明執(zhí)行的基于機(jī)器的支持模型自動地感應(yīng)、報告、并診斷許多軟件相關(guān)的故障狀況。自適應(yīng)參考模型技術(shù)使具有極其多樣性情況下的異常狀況的檢測以及以前不可能的具有敏感性和準(zhǔn)確性的變化成為可能。
在本發(fā)明的一個實施例中,為了防止錯誤肯定,能夠配置系統(tǒng)以在各種置信水平下操作,并且使用識別過濾器能夠濾出已知為良性的異常。識別過濾器還能夠用于警告服務(wù)提供商存在特定類型的不希望的或惡意的軟件。
在傳統(tǒng)系統(tǒng)中,通常由人工通過應(yīng)用一系列的反復(fù)試驗修復(fù)行動來解決計算機(jī)事件。這些修復(fù)行動趨于成為“大鐵錘”變種,亦即影響遠(yuǎn)遠(yuǎn)多于它們打算校正的故障狀況的解決方案。多重選擇修復(fù)過程和大鐵錘解決方案是不充分理解問題的結(jié)果以及不必要成本的來源。因為根據(jù)本發(fā)明的系統(tǒng)使數(shù)據(jù)充分表征問題,所以它能夠以兩種方式減少修復(fù)成本。首先,如果識別過濾器已被定義,其指定需要的自動化響應(yīng),那么就能夠自動解決事件。第二,如果自動修復(fù)不可能,則系統(tǒng)的診斷能力消除了基于人工的修復(fù)過程中固有的猜測,減少了執(zhí)行時間并允許更大的精確度。
圖4是顯示本發(fā)明的一個實施例中的自適應(yīng)參考模型的部件的方框圖。圖4僅僅是示范性的。
圖4中顯示的實施例顯示了多層、單筒倉(single-silo)的自適應(yīng)參考模型402。在顯示的實施例中,筒倉404包含3個層值層(valuelayer)406、簇層(cluster layer)408和簡檔層(profile layer)410。
值層406跟蹤圖1的管理群體(114)的在此說明的代理部件(202)提供的資產(chǎn)/值對的值。當(dāng)快照與自適應(yīng)參考模型402相比較時,自適應(yīng)參考模型402的值層406估計其中包含的每個資產(chǎn)/值對的值部分。這種估計包括確定快照中的任何資產(chǎn)值是否違反了管理群體之內(nèi)資產(chǎn)值的統(tǒng)計顯著模式,如由自適應(yīng)參考模型402表示的那樣。
例如,代理(116b)傳送快照,其包括用于特定系統(tǒng)文件的數(shù)字簽名。在吸收同化過程期間(當(dāng)正在構(gòu)造自適應(yīng)參考模型時),模型為每個資產(chǎn)名記錄它遇到的值以及遇到該值的次數(shù)。這樣一來,對于每個資產(chǎn)名,模型知道它已在群體中看到的“合法”值。當(dāng)模型用于檢查時,值層406確定快照中每個屬性的值是否匹配模型中“合法”值中的一個。例如,在文件的情況下,若干“合法”值是可能的,因為在管理群體中可能存在文件的不同版本。如果模型包含統(tǒng)計相容的一個或多個文件值,并且快照包含并不匹配任何的模型中的文件值,則聲明異常。模型還能夠檢測對于屬性不存在“合法”值的情形。例如,日志文件就沒有合法值,因為它們頻繁地變化。如果不存在“合法”值,那么在檢查期間將忽視快照中的屬性值。
在一個實施例中,自適應(yīng)參考模型402執(zhí)行標(biāo)準(zhǔn),以確保異常確實是異常,而不僅僅是新文件變體。標(biāo)準(zhǔn)可以包括置信水平。置信水平并不阻止獨特的文件被報告為異常。置信水平將檢查過程期間模型中使用的關(guān)系限制到滿足一定標(biāo)準(zhǔn)的那些關(guān)系。與每個水平相關(guān)的標(biāo)準(zhǔn)被設(shè)計用來實現(xiàn)一定的統(tǒng)計概率。例如,在一個實施例中,用于高置信水平的標(biāo)準(zhǔn)被設(shè)計用來實現(xiàn)大于90%的統(tǒng)計概率。如果指定較低的置信水平,那么在檢查過程中就包括不如統(tǒng)計可靠的另外的關(guān)系??紤]可行的、但是較少可能的關(guān)系的過程類似于當(dāng)我們需要進(jìn)行決定而沒有會允許我們確信的所有信息時的人工推測過程。在持續(xù)變化的環(huán)境中,管理員可能希望濾出與低置信水平相關(guān)的異常,亦即,管理員可能希望消除盡可能多的錯誤肯定。
在執(zhí)行置信水平的實施例中,如果用戶報告機(jī)器發(fā)生某種故障,但是管理員在默認(rèn)置信水平下不能看到任何異常,則管理員能夠降低置信水平,使分析過程能夠考慮具有較低統(tǒng)計顯著性且在較高的置信水平下被忽視的關(guān)系。通過減少置信水平,管理員允許自適應(yīng)參考模型402包括下述模式,所述模式可能不具有足夠的樣本以成為統(tǒng)計顯著的,但是可能提供關(guān)于問題是什么的線索。換言之,管理員在允許機(jī)器推測。
在另一個實施例中,如果在吸收同化指定數(shù)量的快照之后,資產(chǎn)值未能展示任何穩(wěn)定的模式,則值層406從自適應(yīng)參考模型402中消除資產(chǎn)值。例如,許多應(yīng)用程序生成日志文件。日志文件的值經(jīng)常變化并且從機(jī)器到機(jī)器很少相同。在一個實施例中,最初估計這些文件值,然后在指定數(shù)量的估計之后,它們被從自適應(yīng)參考模型402中消除。通過從模型402中消除這些類型的文件值,系統(tǒng)消除了檢測過程218期間的不必要比較,并且通過裁剪掉低值信息,減少了數(shù)據(jù)庫存儲需求。
本發(fā)明的實施例并不限于從自適應(yīng)參考模型402中消除資產(chǎn)值。在一個實施例中,過程同樣適用于資產(chǎn)名。某些資產(chǎn)名是“生來獨特的”,亦即它們對特定機(jī)器是獨特的,但是它們是正常操作的副產(chǎn)品。在一個實施例中,分開的過程處理不穩(wěn)定的資產(chǎn)名。這樣的實施例中的這個過程識別生來獨特的資產(chǎn)名,并且允許它們停留在模型中,以便它們不被報告為異常。
圖4中顯示的第二個層是簇層408。簇層408跟蹤資產(chǎn)名之間的關(guān)系。資產(chǎn)名能夠應(yīng)用于多種實體,包括文件名、注冊表項名、端口號、進(jìn)程名、服務(wù)名、性能計數(shù)器名、或者硬件特征。當(dāng)通常在管理群體(114)中的機(jī)器上一前一后地存在特定的一組資產(chǎn)名時,如果若干所述資產(chǎn)名組不存在,則簇層408能夠標(biāo)記異常。
例如,執(zhí)行微軟視窗操作系統(tǒng)的計算機(jī)上的許多應(yīng)用程序需要多個動態(tài)鏈接庫(DLL)。每個DLL通常會依賴于一個或多個其他DLL。如果第一個DLL存在,那么其他DLL也必須存在。簇層408跟蹤這種依賴性,并且如果DLL中的一個丟失或被改變,則簇層408警告管理員已發(fā)生異常。
圖4中顯示的自適應(yīng)參考模型402中的第三個層是簡檔層410。顯示的實施例中的簡檔層410基于簇關(guān)系的違反檢測異常。存在兩種類型的關(guān)系,結(jié)合的(簇一起出現(xiàn))和排他的(簇從不一起出現(xiàn))。簡檔層410允許自適應(yīng)參考模型檢測未被簇層檢測到的丟失的資產(chǎn)以及資產(chǎn)之間的沖突。簡檔層410確定哪些簇彼此之間具有強(qiáng)結(jié)合與排他關(guān)系。在這樣的實施例中,如果在快照中沒有檢測到特定的簇,其中,由于與它具有強(qiáng)結(jié)合關(guān)系的其他簇的存在,正常情況下預(yù)計它會在那里,那么簡檔層410將該簇的不存在檢測為異常。同樣,如果在快照中檢測到簇,其中,正常情況下預(yù)計它不會在那里,因為存在與它具有強(qiáng)排他關(guān)系的其他簇,那么簡檔層410將第一個簇的存在檢測為異常。簡檔層410允許自適應(yīng)參考模型402檢測在筒倉404的較低水平下不可檢測的異常。
可以以本領(lǐng)域技術(shù)人員眾所周知的各種方式執(zhí)行圖4中顯示的自適應(yīng)參考模型402。通過優(yōu)化自適應(yīng)參考模型402的處理,并且通過提供足夠的處理和存儲資源,本發(fā)明的實施例能夠支持無限數(shù)量的管理群體和個人客戶。新模型的吸收同化和檢查中模型的使用都包括成百上千的屬性名稱和值的比較。使用用于名稱和值的文本串執(zhí)行這些比較是非??量痰奶幚砣蝿?wù)。在本發(fā)明的一個實施例中,進(jìn)來的快照中的每個獨特的字符串都被賦予整數(shù)標(biāo)識符。然后使用整數(shù)標(biāo)識符而不是字符串來執(zhí)行比較。因為和與文件名或注冊表項名相關(guān)的長字符串相比,計算機(jī)能夠快得多地比較整數(shù),所以極大地增強(qiáng)了處理效率。
自適應(yīng)參考模型402依靠來自代理部件(202)的數(shù)據(jù)。上面說明了代理部件(202)的功能性,其為本發(fā)明的一個實施例中的用戶界面和代理部件(202)的功能概要。
本發(fā)明的實施例能夠跨越管理群體中的客戶機(jī)比較注冊表項??缭竭\行微軟視窗操作系統(tǒng)的不同機(jī)器比較注冊表項中的一個困難源自全局唯一標(biāo)識符(“GUID”)的使用。用于一臺機(jī)器上特定項目的GUID可能不同于用于第二臺機(jī)器上同樣項目的GUID。因此,本發(fā)明的實施例提供了用于為了比較的目的而規(guī)范化GUID的機(jī)制。
圖5是顯示本發(fā)明的一個實施例中的規(guī)范化客戶機(jī)上的注冊表信息的過程的流程圖。在顯示的實施例中,首先將GUID歸合成兩個組502。第一個組用于跨越管理群體中的機(jī)器非唯一(重復(fù))的GUID。第二個組包括跨越機(jī)器唯一的GUID,亦即,相同的項在管理群體之內(nèi)的不同機(jī)器上具有不同的GUID。下一步分類用于第二個組的項504。用這種方式,能夠識別相同機(jī)器之內(nèi)兩個或更多項之間的關(guān)系。目的是為了以下述方式規(guī)范化這樣的關(guān)系,所述方式將允許它們跨越多個機(jī)器相比較。
顯示的實施例下一步為項中的值創(chuàng)建散列506。這為所有的名稱、路徑名、以及項中包含的其他值創(chuàng)建了唯一的簽名。然后用散列代替GUID 508。用這種方式,在機(jī)器之內(nèi)維持了唯一性,但是相同的散列在每個機(jī)器中出現(xiàn),以便能夠識別關(guān)系。關(guān)系允許自適應(yīng)參考模型識別管理群體之內(nèi)的異常。
例如,傳統(tǒng)病毒常常改變注冊表項,以便受感染的機(jī)器會運行傳播病毒的可執(zhí)行文件。本發(fā)明的實施例由于它的規(guī)范化注冊表項的能力所以能夠識別群體的一個或多個機(jī)器中注冊表的變化。
圖6是顯示本發(fā)明的一個實施例中的用于識別和響應(yīng)異常的方法的流程圖。在顯示的實施例中,諸如收集部件(108)之類的處理器接收來自多個計算機(jī)的多個快照602。盡管以下討論將圖6中顯示的過程描述為由分析部件(110)執(zhí)行,但是任何適當(dāng)?shù)奶幚砥鞫伎梢詧?zhí)行顯示的過程。多個快照可以包含少至來自兩個計算機(jī)的兩個快照。可選擇地,多個快照可以包含數(shù)以千計的快照??煺瞻P(guān)于要被檢查的群體中的計算機(jī)的數(shù)據(jù)。例如,可以從與組織的局域網(wǎng)通信的計算機(jī)中的每一個接收多個快照。每個快照包含資產(chǎn)/值對的收集,所述資產(chǎn)/值對表示了計算機(jī)在特定時間點的狀態(tài)。
隨著收集部件(108)接收快照,它存儲它們604。存儲快照可以包含將它們存儲在數(shù)據(jù)存儲器中,諸如數(shù)據(jù)庫(112)或存儲器(未顯示)之類??梢耘R時或永久地存儲快照。同樣,在本發(fā)明的一個實施例中,整個快照存儲在數(shù)據(jù)存儲器中。在另一個實施例中,只存儲已從以前版本變化的部分快照(亦即增量快照)。
分析部件(110)使用多個快照中的數(shù)據(jù)創(chuàng)建自適應(yīng)參考模型606??煺罩械拿恳粋€都包含多個資產(chǎn),其包含多個成對的資產(chǎn)名和資產(chǎn)值。資產(chǎn)是計算機(jī)的屬性,諸如文件名、注冊表項名、性能參數(shù)、或者通信端口之類。資產(chǎn)反映了分析的計算機(jī)群體之內(nèi)的實際或虛擬的計算機(jī)狀態(tài)。資產(chǎn)值是資產(chǎn)在特定時間點的狀態(tài)。例如,對于文件而言,值可以包含MD5散列,其表示文件的內(nèi)容;對于注冊表項而言,值可以包含文本串,其表示賦予項的數(shù)據(jù)。
自適應(yīng)參考模型同樣包含多個資產(chǎn)。自適應(yīng)參考模型的資產(chǎn)可以與快照的資產(chǎn)相比較,以識別異常以及為了其他的目的。在一個實施例中,自適應(yīng)參考模型包含數(shù)據(jù)的收集,所述數(shù)據(jù)關(guān)于在特定時間點的表征一個或多個正常計算機(jī)的資產(chǎn)之間的各種關(guān)系。
在一個實施例中,分析部件(110)識別資產(chǎn)名的簇。簇包含一起出現(xiàn)的資產(chǎn)名的一個或多個非重疊的組。分析部件(110)同樣可以試圖識別簇之間的關(guān)系。例如,分析部件(110)可以計算概率矩陣,其考慮到快照中特定簇的存在,預(yù)測快照中任何其他簇存在的可能性?;诖罅靠煺盏牟⑶一蛘叻浅8?例如大于95%)或者非常低(例如小于5%)的概率能夠由模型使用以檢測異常?;谏倭靠煺盏?亦即不是統(tǒng)計顯著的數(shù)量)或者既不是非常高也不是非常低的概率不用于檢測異常。
自適應(yīng)參考模型可以包含置信標(biāo)準(zhǔn),用于確定何時關(guān)系能夠用于測試快照。例如,置信標(biāo)準(zhǔn)可以包含用于自適應(yīng)參考模型中包含的若干快照的最小閾值。如果未超過閾值,則不會使用關(guān)系。自適應(yīng)參考模型同樣可以或者代替地包含用于自適應(yīng)參考模型中包含的若干快照的最小閾值,所述自適應(yīng)參考模型包括關(guān)系,只有當(dāng)超過閾值時才使用關(guān)系。在一個實施例中,自適應(yīng)參考模型包含最大閾值,其用于不同資產(chǎn)值的數(shù)量對包含所述資產(chǎn)值的快照數(shù)量的比率。自適應(yīng)參考模型可以包含與數(shù)字資產(chǎn)值相關(guān)的一個或多個最小與最大閾值。
自適應(yīng)參考模型或快照中的多個資產(chǎn)中的每一個都可以和資產(chǎn)類型相關(guān)。資產(chǎn)類型可以包含例如文件、注冊表項、性能測量、服務(wù)、硬件部件、運行的進(jìn)程、日志、以及通信端口。本發(fā)明的實施例還可以使用其他的資產(chǎn)類型。為了節(jié)約空間,可以壓縮資產(chǎn)名和資產(chǎn)值。例如,在本發(fā)明的一個實施例中,收集部件(108)識別多個快照之一中資產(chǎn)名或資產(chǎn)值的第一次出現(xiàn),并且生成與該第一次出現(xiàn)相關(guān)的標(biāo)識符。隨后,如果收集部件(108)識別資產(chǎn)名或資產(chǎn)值的第二次出現(xiàn),則收集部件(108)將標(biāo)識符與第二個資產(chǎn)名和資產(chǎn)值相關(guān)聯(lián)。標(biāo)識符和資產(chǎn)名或資產(chǎn)值然后能夠存儲在索引中,而只有標(biāo)識符以數(shù)據(jù)的方式存儲在自適應(yīng)參考模型或快照中。用這種方式,存儲頻繁重復(fù)的資產(chǎn)名或值所需的空間被最小化。
可以自動生成自適應(yīng)參考模型。在一個實施例中,自適應(yīng)參考模型被自動生成,然后被手工修改以說明技術(shù)支持人員或其他的知識。圖11是本發(fā)明的一個實施例中的用于創(chuàng)建自適應(yīng)參考模型的用戶界面的屏幕截圖。在顯示的實施例中,用戶通過將要被包括在模型中的快照從機(jī)器選擇菜單窗口1102移動到任務(wù)中機(jī)器窗口1104來選擇它們。當(dāng)用戶完成選擇過程并點擊完成按鈕1106時,自動化任務(wù)就被創(chuàng)建,其導(dǎo)致模型生成。一旦模型已被創(chuàng)建,用戶就能夠使用另一個界面屏幕管理它。圖12是本發(fā)明的一個實施例中的用于管理自適應(yīng)參考模型的用戶界面的屏幕截圖。
再次參考圖6,一旦自適應(yīng)參考模型已被創(chuàng)建,分析部件(110)就將多個快照中的至少一個與自適應(yīng)參考模型相比較608。例如,收集部件(108)可以在數(shù)據(jù)庫部件(112)中接收并存儲100個快照。分析部件(110)使用所述100個快照創(chuàng)建自適應(yīng)參考模型。分析部件(110)然后開始將多個快照中的每一個快照與自適應(yīng)參考模型相比較。一段時間之后收集部件(108)可以從代理部件接收100個新的快照,其然后能夠由分析部件使用以生成自適應(yīng)參考模型的修改版本并識別異常。
在本發(fā)明的一個實施例中,一個或多個快照與自適應(yīng)參考模型的相比較包含檢查資產(chǎn)名之間的關(guān)系。例如,當(dāng)?shù)诙Y產(chǎn)名存在時,第一資產(chǎn)名存在的概率可能很高。在一個實施例中,所述相比較包含確定快照中所有的資產(chǎn)名是否都存在于自適應(yīng)參考模型之內(nèi),并且是否與資產(chǎn)名之間的多個高概率關(guān)系相一致。
仍然參考圖6,在一個實施例中,分析部件(110)比較快照與自適應(yīng)參考模型,以便識別計算機(jī)上可能存在的任何異常610。異常表明快照的某個部分背離了如自適應(yīng)參考模型定義的那樣的正常。例如,資產(chǎn)名或值可以背離如自適應(yīng)參考模型定義的那樣的在特定情形下預(yù)期的正常資產(chǎn)名和資產(chǎn)值。異常也許、也許不發(fā)出信號,稱在與快照相關(guān)聯(lián)的計算機(jī)上或涉及所述計算機(jī)存在已知或新的故障或問題狀況。狀況是一組相關(guān)的異常。例如,一組異??梢韵嚓P(guān),因為它們起因于單個根本原因。例如,當(dāng)特定應(yīng)用程序通常不存在于給定群體之內(nèi)的其他計算機(jī)上時,異??梢灾甘驹搼?yīng)用程序在計算機(jī)上的存在。異常的識別還可以用于諸如容量平衡之類的功能。例如,通過估計幾個服務(wù)器的性能測量,分析部件(110)能夠確定何時觸發(fā)新服務(wù)器的自動部署和配置以處理變化的需求。
狀況包含一組相關(guān)的異常。例如,一組異常可以相關(guān),因為它們起因于單個根本原因,諸如安裝應(yīng)用程序或存在“蠕蟲”之類。狀況可以包含狀況類。狀況類允許各種狀況彼此組合。
在圖6顯示的實施例中,如果發(fā)現(xiàn)異常,則分析部件(110)嘗試將異常與識別過濾器匹配,以便診斷狀況612。異??梢员蛔R別為良性異常,以便消除分析期間的噪聲,亦即以便避免因為作為正常操作過程結(jié)果的異常的存在而遮蓋真正的故障狀況。檢查是快照和自適應(yīng)參考模型的相比較。檢查可以自動執(zhí)行。檢查的輸出可以包含一組已被檢測到的異常和狀況。在一個實施例中,將異常與多個識別過濾器匹配。識別過濾器包含狀況或狀況類的簽名。例如識別過濾器可以包含成對的資產(chǎn)名和值的收集,其當(dāng)被放在一起時,表示諸如蠕蟲的存在之類的希望識別的狀況的簽名。普通識別過濾器可以提供用于創(chuàng)建更加特殊的過濾器的模板。例如,適合于搜索一般蠕蟲的識別過濾器可以適合于搜索特殊蠕蟲。
在本發(fā)明的一個實施例中,識別過濾器包含以下的至少一個與狀況相關(guān)的資產(chǎn)名、與狀況相關(guān)的資產(chǎn)值、與狀況相關(guān)的資產(chǎn)名和資產(chǎn)值的組合、與資產(chǎn)值和狀況相關(guān)的最大閾值、以及與資產(chǎn)值和狀況相關(guān)的最小閾值。來自快照的資產(chǎn)名/值對可以和來自識別過濾器的名/值對相比較,以發(fā)現(xiàn)匹配并診斷狀況。名/值匹配可以是確切的,或者識別過濾器可以包含通配符,允許部分值進(jìn)入到識別過濾器中,然后與快照匹配。特定的資產(chǎn)名和/或值可以與多個識別過濾器匹配以診斷狀況。
可以以各種方式創(chuàng)建識別過濾器。例如,在本發(fā)明的一個實施例中,用戶從存在所關(guān)心的狀況的機(jī)器中復(fù)制異常。異??梢员惶峤坏疆惓R總中,從所述異常匯總中,它們能夠被選擇并復(fù)制到過濾器。在另一個實施例中,用戶在過濾器定義中輸入通配符。例如,一段稱作Gator的間諜軟件生成數(shù)以千計的以字符串“hklm\software\gator\”打頭的注冊表項。本發(fā)明的實施例可以提供通配符機(jī)制以有效處理這種情形。通配符可以例如是百分號(%),并且可以用在文本串之前、文本串之后、或者文本串中間。繼續(xù)Gator的例子,如果用戶在過濾器主體中輸入字符串“hklm\software\gator\%”,那么過濾器將識別任何以“hklm\software\gator\”打頭的項。用戶可能希望構(gòu)造用于尚未在管理群體中經(jīng)歷的狀況的過濾器。例如,用于病毒的過濾器,所述病毒基于因特網(wǎng)上的公共可用的信息,而不是管理群體之內(nèi)病毒的實際實例。為了處理這種情形,用戶直接將相關(guān)信息輸入到過濾器中。
圖13是本發(fā)明的一個實施例中的用于選擇快照以用于創(chuàng)建識別過濾器的用戶界面的屏幕截圖。用戶訪問顯示的屏幕截圖以選擇要被使用的快照,以創(chuàng)建識別過濾器。圖14是本發(fā)明的一個實施例中的用于創(chuàng)建或編輯識別過濾器的用戶界面的屏幕截圖。在顯示的實施例中,在數(shù)據(jù)源窗口1402中顯示了來自圖13中顯示的界面中選擇的快照的資產(chǎn)。用戶選擇這些資產(chǎn)并將它們復(fù)制到源窗口1404,以創(chuàng)建識別過濾器。
在一個實施例中,識別過濾器和一組異常之間的匹配與質(zhì)量測量有關(guān)。例如,與識別過濾器中資產(chǎn)名及資產(chǎn)值的子集和一組異常中資產(chǎn)名及資產(chǎn)值的匹配相比,識別過濾器中所有資產(chǎn)名及資產(chǎn)值和一組異常中資產(chǎn)名及資產(chǎn)值的確切匹配可以與更高的質(zhì)量測量相關(guān)。
識別過濾器也可以包含其他屬性。例如,在一個實施例中,識別過濾器包含控制標(biāo)記,用于確定是否包括自適應(yīng)參考模型中的資產(chǎn)名和資產(chǎn)值。在另一個實施例中,識別過濾器包含與一個或多個狀況相關(guān)的一個或多個文本描述。在又一個實施例中,識別過濾器包含嚴(yán)重性指示器,其根據(jù)例如它可能造成多大的破壞、去除可能有多困難、或者某個其他適當(dāng)?shù)臏y量,來指示狀況的嚴(yán)重性。
識別過濾器可以包含這樣的字段,所述字段實質(zhì)上是管理的。例如,在一個實施例中,識別過濾器包含識別過濾器標(biāo)識符、創(chuàng)建者名稱、以及更新日期-時間。
仍然參考圖6,分析部件(110)下一步響應(yīng)狀況614。響應(yīng)狀況例如可以包含向支持技術(shù)員生成諸如電子郵件之類的通知;向問題管理系統(tǒng)提交事故單;請求許可以采取行動,例如請求來自支持技術(shù)員的確認(rèn)以安裝補?。灰约皬亩鄠€計算機(jī)中的至少一個中去除所述狀況。去除所述狀況例如可以包含使響應(yīng)代理程序在受所述狀況感染的多個計算機(jī)中的任何一個中執(zhí)行。狀況可以與自動響應(yīng)相關(guān)。對每個狀況可以重復(fù)診斷612和響應(yīng)狀況614的步驟。同樣,對于每個單獨的快照可以重復(fù)發(fā)現(xiàn)異常610的過程。
在圖6顯示的實施例中,分析部件(110)下一步確定另外的快照是否要被分析616。如果是這樣的話,那么對于每個快照重復(fù)以下步驟快照與自適應(yīng)參考模型相比較608;發(fā)現(xiàn)異常610;異常與識別過濾器匹配以診斷狀況612;以及響應(yīng)所述狀況614。一旦所有的快照都已被分析,過程就結(jié)束618。
在本發(fā)明的一個實施例中,一旦分析部件(110)已識別狀況,分析部件(110)就嘗試確定群體之內(nèi)多個計算機(jī)中的哪些被所述狀況感染。例如,分析部件(110)可以檢查快照以識別特殊組的異常。分析部件(110)然后可以代表每個受感染的計算機(jī)使對所述狀況的響應(yīng)執(zhí)行。例如,在一個實施例中,代理部件(202)駐留在多個計算機(jī)中的每一個上。代理部件(202)生成由分析部件(110)估計的快照。在一個這樣的實施例中,如果分析部件(110)在一個計算機(jī)上識別到了狀況,則分析部件(110)使用代理部件(202)執(zhí)行響應(yīng)程序。在診斷狀況中,分析部件(110)也許、也許不能夠識別狀況的根本原因。
圖7是顯示本發(fā)明的一個實施例中的用于識別一定類型的異常的過程的流程圖。在顯示的實施例中,分析部件(110)估計多個計算機(jī)的快照702。這些快照能夠是基本快照,其包含計算機(jī)的完整狀態(tài),或者是增量快照,其包含自從最后的基本快照以來的計算機(jī)狀態(tài)的變化。分析部件(110)使用快照創(chuàng)建自適應(yīng)參考模型704。注意,當(dāng)為了這個目的使用增量快照時,分析部件必須首先通過將增量快照中描述的變化施加到最近的基本快照來重新組成基本快照的等價物。分析部件(110)隨后為多個計算機(jī)中的至少一個接收第二快照(基本或增量)706。可以基于各種事件,諸如預(yù)定量的時間過去、新程序的安裝、或者某個其他適當(dāng)?shù)氖录?,來?chuàng)建快照。
分析部件(110)比較第二快照與自適應(yīng)參考模型以嘗試并檢測異常。在計算機(jī)上可能存在各種類型的異常。在顯示的實施例中,分析部件(110)首先嘗試識別意外不存在的資產(chǎn)名710。例如,群體之內(nèi)所有的或基本上所有的計算機(jī)可能都包括特定的文件。資產(chǎn)名的存在記錄了所述文件在自適應(yīng)參考模型中的存在。如果所述文件從群體之內(nèi)的一個計算機(jī)中意外缺失,亦即資產(chǎn)名未被發(fā)現(xiàn),則某種狀況可能正在感染所述文件丟失的計算機(jī)。如果資產(chǎn)名意外不存在,則所述不存在被識別為異常712。例如,可以將識別計算機(jī)、日期、以及意外不存在的資產(chǎn)的條目輸入到數(shù)據(jù)存儲器中。
分析部件(110)下一步嘗試識別意外存在的資產(chǎn)名714。諸如文件名或注冊表項之類的意外資產(chǎn)名的存在,可能指示了諸如計算機(jī)蠕蟲之類的故障狀況的存在。如果資產(chǎn)名以前從未看過,或者如果在發(fā)現(xiàn)它的上下文中以前從未看過,則它就是意外存在。如果資產(chǎn)名意外存在,則所述存在被識別為異常716。
分析部件(110)下一步嘗試識別意外資產(chǎn)值718。例如,在一個實施例中,分析部件(110)嘗試識別字符串資產(chǎn)值,其對于與它相關(guān)的資產(chǎn)名是未知的。在另一個實施例中,分析部件(110)將數(shù)字資產(chǎn)和與相應(yīng)的資產(chǎn)名相關(guān)的最小或最大閾值相比較。在本發(fā)明的實施例中,可以基于用于群體之內(nèi)資產(chǎn)值的平均值和標(biāo)準(zhǔn)差自動設(shè)置閾值。根據(jù)顯示的實施例,如果檢測到意外資產(chǎn)值,則它被識別為異常720。然后過程結(jié)束722。
盡管圖7中的過程被顯示為串行過程,但是快照與自適應(yīng)參考模型的比較以及異常的識別可以并行發(fā)生。同樣,描述的每個步驟可以被重復(fù)無數(shù)次。進(jìn)一步,在每個循環(huán)期間,或者增量快照或者基本快照能夠與自適應(yīng)參考模型相比較。
一旦已完成分析,分析部件(110)就可以生成諸如異常報告之類的結(jié)果??梢詫⑦@個報告進(jìn)一步提供給用戶。例如,分析部件(110)可以生成網(wǎng)頁,其包含快照與自適應(yīng)參考模型的比較結(jié)果。本發(fā)明的實施例可以提供用于執(zhí)行自動化安全審查、文件和注冊表完整性檢驗、基于異常的病毒檢測、以及自動化修復(fù)的手段。
圖8是顯示本發(fā)明的一個實施例中的用于生成自適應(yīng)參考模型的過程的流程圖。在顯示的實施例中,分析部件(110)經(jīng)由數(shù)據(jù)庫部件訪問來自多個計算機(jī)的多個快照。每個快照都包含多個成對的資產(chǎn)名和資產(chǎn)值。分析部件(110)自動地創(chuàng)建至少部分地基于所述快照的自適應(yīng)參考模型。
自適應(yīng)參考模型可以包含任何的各種資產(chǎn)名和值的若干屬性、關(guān)系、以及測量。在圖8顯示的實施例中,分析部件(110)首先發(fā)現(xiàn)一個或多個獨特的資產(chǎn)名,然后確定每個獨特資產(chǎn)名在多個快照之內(nèi)出現(xiàn)的次數(shù)804。例如,用于基本操作系統(tǒng)驅(qū)動器的文件可能在群體之內(nèi)基本上所有的計算機(jī)上出現(xiàn)。文件名是獨特的資產(chǎn)名;它在快照之內(nèi)只會出現(xiàn)一次,但是很可能在基本上所有的快照上都會出現(xiàn)。
在顯示的實施例中,分析部件(110)下一步確定與每個資產(chǎn)名相關(guān)的獨特資產(chǎn)值806。例如,用于關(guān)于步驟804描述的驅(qū)動器的文件名資產(chǎn),對于該文件名資產(chǎn)的每次出現(xiàn)很可能會具有相同的值。與此相反,用于日志文件的文件值很可能會具有與出現(xiàn)次數(shù)同樣多的不同值,亦即,任何特定計算機(jī)上的日志文件會包含與群體中每個其他計算機(jī)不同數(shù)量的條目。
由于群體可能非常大,所以在圖8顯示的實施例中,如果與資產(chǎn)名相關(guān)的獨特值的數(shù)量超過了閾值808,則暫停確定810。換言之,在上面描述的日志文件的例子中,計算機(jī)是否處于正常狀態(tài)并不取決于具有一致值的日志文件??梢灶A(yù)料日志文件內(nèi)容在每個計算機(jī)上變化。然而要注意的是,日志文件的存在或不存在可能存儲在自適應(yīng)參考模型中,作為正常或異常的指示。
在圖8顯示的實施例中,分析部件(110)下一步確定與每個資產(chǎn)名相關(guān)的獨特字符串資產(chǎn)值812。例如,在一個實施例中,只存在兩種類型的資產(chǎn)值字符串和數(shù)字。文件散列和注冊表項值是字符串的例子;性能計數(shù)器值數(shù)字的例子。
分析部件(110)下一步確定與獨特數(shù)字值相關(guān)的統(tǒng)計測量,所述獨特數(shù)字值與資產(chǎn)名相關(guān)814。例如,在一個實施例中,分析部件(110)捕獲諸如存儲器分頁之類的性能測量。如果群體中的一個計算機(jī)常常分頁存儲器,則可能指示流氓程序在后臺執(zhí)行并且需要大量的存儲器資源。然而,如果群體中的每個或相當(dāng)大量的計算機(jī)常常分頁存儲器,則可能指示計算機(jī)通常缺乏存儲器資源。在一個實施例中,分析部件(110)為與獨特資產(chǎn)名相關(guān)的數(shù)字值確定平均值和標(biāo)準(zhǔn)差。在存儲器例子中,如果用于一個計算機(jī)的存儲器分頁的測量遠(yuǎn)遠(yuǎn)落在用于群體的統(tǒng)計平均值的外面,則可以識別異常。
在本發(fā)明的一個實施例中,通過應(yīng)用策略模板可以修改自適應(yīng)參考模型。策略模板是資產(chǎn)/值對的收集,所述資產(chǎn)/值對被識別并應(yīng)用于自適應(yīng)參考模型,以建立反映特定策略的規(guī)范。例如,策略模板可以包含多個成對的資產(chǎn)名和資產(chǎn)值,其預(yù)料存在于正常的計算機(jī)中。在一個實施例中,應(yīng)用策略模板包含修改自適應(yīng)參考模型,以便策略模板中存在的成對的資產(chǎn)名和資產(chǎn)值看起來好像已存在于多個快照中的每一個中,亦即,看起來好像是群體中計算機(jī)的正常狀態(tài)。
圖15是顯示本發(fā)明的一個實施例中的用于選擇“黃金系統(tǒng)”供策略模板之用的用戶界面的屏幕截圖。如上所述,用戶首先選擇策略模板將要基于其上的黃金系統(tǒng)。圖16是本發(fā)明的一個實施例中的用于選擇策略模板資產(chǎn)的用戶界面的屏幕截圖。如同用于創(chuàng)建識別過濾器的用戶界面一樣。用戶從數(shù)據(jù)源窗口1602選擇資產(chǎn),并且將它們復(fù)制到內(nèi)容窗口,模板內(nèi)容窗口1604。
圖9是顯示本發(fā)明的一個實施例中的用于主動異常檢測的過程的流程圖。在顯示的實施例中,當(dāng)分析發(fā)生時,分析部件(110)建立到數(shù)據(jù)庫(112)的連接,所述數(shù)據(jù)庫(112)存儲要被分析的快照902。在顯示的實施例中,只使用一個數(shù)據(jù)庫。然而,在其他數(shù)據(jù)庫中,可以分析來自多個數(shù)據(jù)庫的數(shù)據(jù)。
在執(zhí)行診斷檢查之前,創(chuàng)建一個或多個參考模型904。參考模型周期性更新,例如每周一次,以確保它們包含的信息保持最新。本發(fā)明的一個實施例提供了任務(wù)調(diào)度程序,其允許模型創(chuàng)建被配置為完全自動化的過程。
一旦參考模型已被創(chuàng)建,它就能夠以各種方式被處理,以使不同類型的分析成為可能。例如,可以定義如上所述的策略模板906。例如,策略模板可以要求管理群體中所有的機(jī)器都安裝并運行反病毒軟件。一旦策略模板已被應(yīng)用于模型,對照該模型的診斷檢查就會包括用于策略服從的測試。策略模板能夠用于多種應(yīng)用中,包括自動化安全審查、性能閾值檢查、以及視窗更新管理。策略模板包含資產(chǎn)和值組,其會被強(qiáng)迫進(jìn)入到模型中作為規(guī)范。在一個實施例中,模板編輯過程基于“黃金系統(tǒng)”方法。黃金系統(tǒng)是這樣的系統(tǒng),所述系統(tǒng)展示了用戶希望并入到模板中的資產(chǎn)和值。用戶找出相應(yīng)于黃金系統(tǒng)的快照,然后選擇用戶希望包括在模板中的每個資產(chǎn)/值對。
在圖9顯示的過程中,然后將策略模板應(yīng)用于模型以修改其正常的定義908。這允許以這樣的方式成形模型,所述方式允許檢查對照如在此描述的那樣的用戶定義的策略的服從。
同樣可以轉(zhuǎn)換模型910。轉(zhuǎn)換過程改變了參考模型。例如,在一個實施例中,轉(zhuǎn)換過程從模型中去除任何唯一的信息資產(chǎn),亦即任何在一個并且只在一個快照中出現(xiàn)的資產(chǎn)。當(dāng)對照轉(zhuǎn)換的模型執(zhí)行檢查時,所有的唯一信息資產(chǎn)都會被報告為異常。這種類型的檢查在使第一次安裝代理部件時存在的以前未知的故障狀況浮現(xiàn)方面很有用。轉(zhuǎn)換的模型在建立初始基線方面很有用,因為它們暴露了唯一的特性。因為這個原因,轉(zhuǎn)換的模型有時在本發(fā)明的實施例中被稱作基線模型。
在另一個實施例中,模型建立過程從模型中去除任何匹配識別過濾器的信息資產(chǎn),以確保已知的故障狀況不被并入到模型中。當(dāng)?shù)谝淮伟惭b系統(tǒng)時,管理群體十分平常地包含若干尚未被注意到的已知故障狀況。發(fā)現(xiàn)這些狀況并將它們從模型中去除很重要,因為不然的話,它們會被并入到自適應(yīng)參考模型中,作為機(jī)器正常狀態(tài)的部分。
代理部件(202)在預(yù)定的基礎(chǔ)上獲取每個管理的機(jī)器的狀態(tài)的快照924??煺毡粋鬏敳⒆鳛榭煺者M(jìn)入到數(shù)據(jù)庫中。同樣可以在要求時或者響應(yīng)諸如應(yīng)用程序安裝之類的特定事件而生成快照。
在顯示的主動問題管理過程中,執(zhí)行對照最新參考模型的最近快照的周期性檢查912。周期性檢查的輸出是一組異常,其作為結(jié)果向用戶顯示914。結(jié)果還包括被識別為異常與識別過濾器匹配結(jié)果的任何狀況??梢匀缟纤龅囟x識別過濾器916。異常被傳遞通過用于解釋導(dǎo)致一組狀況的識別過濾器。狀況能夠在從如視窗更新一樣良性的某個事情到如特洛伊一樣嚴(yán)重的某個事情的嚴(yán)重性范圍中變動。
能夠在計算機(jī)中發(fā)生的故障狀況隨著組成該計算機(jī)的硬件和軟件部件進(jìn)化而變化。因此,存在隨著發(fā)現(xiàn)異常的新組合而定義并共享新識別過濾器的持續(xù)需要。識別過濾器能夠被看作證明故障狀況的非常詳細(xì)且結(jié)構(gòu)化的方法,并且能夠被看作這樣它們表示了促進(jìn)協(xié)作的重要機(jī)制。顯示的實施例包含下述機(jī)制,所述機(jī)制用于將識別過濾器導(dǎo)出到XML文件并且從XML文件導(dǎo)入識別過濾器。
一旦識別出狀況,就生成證明主動檢查結(jié)果的報告920。報告可以包含例如所有檢測到的狀況的概要描述或特定狀況的詳細(xì)描述。
圖10是顯示本發(fā)明的一個實施例中的反應(yīng)過程的流程圖。在圖10顯示的過程中,假定自適應(yīng)參考模型已經(jīng)被創(chuàng)建。當(dāng)用戶呼叫幫助臺報告問題時,顯示的過程開始1002。在傳統(tǒng)的幫助臺范例中,下一個步驟將會是口頭收集關(guān)于用戶正在經(jīng)歷的癥狀的信息。與此相反,在顯示的本發(fā)明的實施例中,下一個步驟是對照最近的快照運行可疑機(jī)器的診斷檢查1003。如果這沒有產(chǎn)生問題狀況的直接診斷,那么可能存在3種可能性(1)自從獲取最后的快照以來狀況已發(fā)生;(2)狀況是新的,并且不被其過濾器識別;或者(3)狀況在分析范圍之外,例如是硬件問題。
如果懷疑自從獲取最后的快照以來狀況已發(fā)生,那么用戶可以使客戶機(jī)上的代理部件(202)獲取另一張快照1006。一旦作為結(jié)果的快照可用,就能夠執(zhí)行新的診斷檢查1004。
如果懷疑故障狀況是新的,則分析員可以執(zhí)行比較功能,其提供諸如可能已被安裝的新的應(yīng)用程序之類的在特定時間窗口期間的機(jī)器狀態(tài)變化的細(xì)目分類1008。用戶還可以察看各種時間點的機(jī)器狀態(tài)的詳細(xì)表示1010。如果分析員識別出新的故障狀況,則用戶能夠?qū)①Y產(chǎn)組識別為用于隨后分析的識別過濾器1012。
盡管傳統(tǒng)的產(chǎn)品已集中在增強(qiáng)基于人工的支持模型的效率上,但是本發(fā)明的實施例是圍繞不同的范例——基于機(jī)器的支持模型來設(shè)計的。這種方法的根本不同在數(shù)據(jù)收集和分析的領(lǐng)域中最為深刻地表明了它自己。由于機(jī)器而不是人工將執(zhí)行大量的收集數(shù)據(jù)的分析,所以收集的數(shù)據(jù)能夠是數(shù)量龐大的。例如,在一個實施例中,從單個機(jī)器收集的數(shù)據(jù),其被稱作用于所述機(jī)器的“健康檢查”或快照,包括用于成百上千的屬性的值。收集龐大數(shù)量的數(shù)據(jù)的能力,在能夠檢測出的狀況的數(shù)量和種類方面,向本發(fā)明的實施例提供了傳統(tǒng)系統(tǒng)之上的顯著優(yōu)點。
本發(fā)明的另一個實施例提供了強(qiáng)大的分析能力。這樣的實施例中的用于高度值分析的基礎(chǔ),是在正常和異常狀況之問準(zhǔn)確區(qū)分的能力。例如,通過從它從其客戶機(jī)中收集的快照數(shù)據(jù)中提煉統(tǒng)計顯著關(guān)系,根據(jù)本發(fā)明的一個系統(tǒng)自動合成其參考模型。作為結(jié)果的“自適應(yīng)”參考模型定義對于在那個特定時刻的那個特定管理群體而言什么是正常。
本發(fā)明的一個實施例結(jié)合上面描述的數(shù)據(jù)收集和自適應(yīng)分析特征。在這樣的實施例中,與自適應(yīng)參考模型的分析能力結(jié)合的卓越的數(shù)據(jù)收集能力轉(zhuǎn)化為若干顯著的有競爭力的優(yōu)點,包括下述能力通過每日實施安全審查并檢查軟件更新以消除弱點,提供了對安全威脅的自動保護(hù)。這樣的實施例還可以在問題導(dǎo)致生產(chǎn)率喪失或者呼叫幫助臺之前能夠在常規(guī)的基礎(chǔ)上主動地掃描所有管理的系統(tǒng)以發(fā)現(xiàn)它們。
執(zhí)行自適應(yīng)參考模型能力的本發(fā)明的實施例還能夠預(yù)先檢測未知的故障狀況。進(jìn)一步,這樣的實施例被自動地合成并維持,而需要很少的或不需要廠家更新起作用。向特定的管理群體自動定制這樣的實施例,使其能夠檢測對該群體獨特的故障模式。
本發(fā)明實施例的另外的優(yōu)點在于,在不能自動解決故障狀況的情況下,這樣的實施例能夠提供大量的結(jié)構(gòu)化技術(shù)信息,以促進(jìn)支持技術(shù)員的工作。
本發(fā)明的一個實施例提供了自動修復(fù)識別的問題的能力。這樣的實施例,當(dāng)與以前描述的實施例的自適應(yīng)參考模型結(jié)合時,因其識別故障狀況所有方面的能力而獨特地能夠自動修復(fù)。
本發(fā)明的實施例還在在此描述的服務(wù)水平方面提供了傳統(tǒng)系統(tǒng)與方法之上的許多優(yōu)點。例如,在集中恢復(fù)服務(wù)水平方面,與一旦破壞已發(fā)生來解決事件相比,防止事件發(fā)生顯著較便宜。本發(fā)明的實施例顯著增加了下述事件的百分比,所述事件能夠以包含現(xiàn)實環(huán)境中計算機(jī)不同且動態(tài)性質(zhì)的方式被檢測/防止,而不需要人工干預(yù)。
進(jìn)一步,通過自動檢測并修復(fù)已知和未知異常,本發(fā)明的實施例能夠處理自動恢復(fù)服務(wù)水平。執(zhí)行在此描述的自適應(yīng)參考模型的實施例獨特地適合于自動檢測和修復(fù)。自動服務(wù)和修復(fù)還有助于消除或者至少使對自動服務(wù)和臺面訪問的需要最小化。
通過提供卓越的診斷能力和廣泛的信息資源,本發(fā)明的實施例提供了輔助服務(wù)水平的優(yōu)點。實施例收集并分析大量的最終用戶數(shù)據(jù),促進(jìn)與基于人工的支持模型相關(guān)的多種需要,包括安全審查、配置審查、庫存管理、性能分析、故障診斷。
已介紹了本發(fā)明實施例的前述說明,目的僅僅是為了顯示和說明,而不是打算窮舉或?qū)⒈景l(fā)明限制到披露的精確形式。其無數(shù)的修改和改編對本領(lǐng)域技術(shù)人員而言將會是明顯的,而不會背離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種方法,包括從多個計算機(jī)接收多個快照;將所述多個快照存儲在數(shù)據(jù)存儲器中;至少部分地基于所述多個快照,創(chuàng)建自適應(yīng)參考模型;將所述多個快照中的至少一個與所述自適應(yīng)參考模型相比較;以及基于所述比較識別至少一個異常。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括將所述至少一個異常與至少一個識別過濾器匹配,以診斷所述多個計算機(jī)中至少一個上的狀況。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括響應(yīng)所述狀況。
4.如權(quán)利要求3所述的方法,其中,響應(yīng)所述狀況包括以下的至少一個生成通知;向問題管理系統(tǒng)提交事故單;請求許可以采取行動;以及從所述多個計算機(jī)中的至少一個中去除所述狀況。
5.如權(quán)利要求4所述的方法,其中,去除所述狀況包括使修復(fù)程序在受所述狀況感染的所述多個計算機(jī)中的所述至少一個上執(zhí)行。
6.如權(quán)利要求2所述的方法,進(jìn)一步包括確定所述多個計算機(jī)中的哪些受到所述狀況感染;以及代表受所述狀況感染的所述多個計算機(jī)中的每一個使對所述狀況的響應(yīng)執(zhí)行。
7.如權(quán)利要求2所述的方法,其中,診斷所述狀況包括識別所述至少一個異常的根本原因。
8.如權(quán)利要求2所述的方法,其中,所述至少一個識別過濾器包括以下的至少一個與所述狀況相關(guān)的資產(chǎn)名;與所述狀況相關(guān)的資產(chǎn)值;與所述狀況相關(guān)的資產(chǎn)名和資產(chǎn)值的組合;與資產(chǎn)值和所述狀況相關(guān)的最大閾值;以及與資產(chǎn)值和所述狀況相關(guān)的最小閾值。
9.如權(quán)利要求8所述的方法,其中,所述至少一個識別過濾器進(jìn)一步包括通配符。
10.如權(quán)利要求8所述的方法,其中,所述至少一個識別過濾器包括控制標(biāo)記,用于確定是否在所述自適應(yīng)參考模型中包括所述資產(chǎn)名和所述資產(chǎn)值。
11.如權(quán)利要求2所述的方法,其中,所述至少一個識別過濾器包括所述狀況的文本描述。
12.如權(quán)利要求2所述的方法,其中,所述至少一個識別過濾器進(jìn)一步包括與所述狀況相關(guān)的嚴(yán)重性指示符。
13.如權(quán)利要求2所述的方法,其中,所述至少一個識別過濾器進(jìn)一步包括識別過濾器標(biāo)識符;創(chuàng)建者名稱;以及更新日期—時間。
14.如權(quán)利要求2所述的方法,其中,所述至少一個識別過濾器與到用于所述狀況的自動化響應(yīng)的鏈接相關(guān)。
15.如權(quán)利要求2所述的方法,其中,所述狀況包括狀況類。
16.如權(quán)利要求2所述的方法,其中,將所述至少一個異常與所述至少一個識別過濾器匹配包括識別存在于多個識別過濾器中的與所述至少一個異常相關(guān)的資產(chǎn)名。
17.如權(quán)利要求2所述的方法,其中所述至少一個識別過濾器包括多個識別過濾器,并且其中將所述至少一個異常與所述至少一個識別過濾器匹配包括識別匹配所述多個識別過濾器中的資產(chǎn)值的所述至少一個異常中的資產(chǎn)值。
18.如權(quán)利要求2所述的方法,進(jìn)一步包括確定所述至少一個識別過濾器和所述至少一個異常之間的匹配質(zhì)量。
19.如權(quán)利要求1所述的方法,其中,所述多個快照中的每一個都包括與所述多個計算機(jī)中的一個相關(guān)的多個資產(chǎn)。
20.如權(quán)利要求19所述的方法,其中,所述多個資產(chǎn)中的每一個都包括資產(chǎn)名和資產(chǎn)值。
21.如權(quán)利要求19所述的方法,其中,所述多個資產(chǎn)中的每一個都與資產(chǎn)類型相關(guān)。
22.如權(quán)利要求21所述的方法,其中,所述資產(chǎn)類型包括以下之中的一個文件、注冊表項、性能測量、服務(wù)、硬件部件、運行的進(jìn)程、日志、以及通信端口。
23.如權(quán)利要求1所述的方法,其中,所述至少一個異常包括以下的至少一個意外存在的資產(chǎn)名;意外不存在的資產(chǎn)名;對于資產(chǎn)名而言未知的字符串資產(chǎn)值,所述資產(chǎn)名與所述字符串資產(chǎn)值相關(guān);小于最小閾值或大于最大閾值的數(shù)字資產(chǎn)值,所述最小閾值和所述最大閾值用于與所述數(shù)字資產(chǎn)值相關(guān)的資產(chǎn)名。
24.如權(quán)利要求1所述的方法,其中,將所述多個快照中的至少一個與所述自適應(yīng)參考模型相比較包括生成結(jié)果;以及將所述結(jié)果提供給用戶。
25.如權(quán)利要求1所述的方法,其中所述多個快照中的每一個都包括多個成對的資產(chǎn)名和資產(chǎn)值,并且其中將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較包括比較每個資產(chǎn)名與所述自適應(yīng)參考模型,以識別意外存在的資產(chǎn)名;比較每個資產(chǎn)名與所述自適應(yīng)參考模型,以識別意外不存在的資產(chǎn)名;以及比較每個資產(chǎn)值與所述自適應(yīng)參考模型,以識別未知的或不尋常的資產(chǎn)值。
26.如權(quán)利要求25所述的方法,其中,將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較進(jìn)一步包括確定資產(chǎn)值是否降到最小閾值之下或者超過最大閾值。
27.如權(quán)利要求25所述的方法,其中,將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較進(jìn)一步包括確定所述多個快照中的所述至少一個中的所有的所述資產(chǎn)名是否都存在于所述自適應(yīng)參考模型之內(nèi),并且與資產(chǎn)名之間的多個高概率關(guān)系是否一致。
28.如權(quán)利要求25所述的方法,其中,將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較進(jìn)一步包括確定與分析范圍測量和診斷準(zhǔn)確度測量相關(guān)的置信水平。
29.如權(quán)利要求1所述的方法,其中,所述多個快照包括與所述多個計算機(jī)中的一個相關(guān)的基本快照,所述基本快照包括多個資產(chǎn)名和資產(chǎn)值,其表示所述多個計算機(jī)中的所述一個在特定時間點的狀態(tài);以及與所述多個計算機(jī)中的所述一個相關(guān)的增量快照,所述增量快照包括多個資產(chǎn)名和資產(chǎn)值,其從創(chuàng)建所述基本快照以來已改變。
30.如權(quán)利要求1所述的方法,其中,所述多個快照由駐留在多個計算機(jī)中每一個上的軟件代理程序創(chuàng)建。
31.如權(quán)利要求30所述的方法,進(jìn)一步包括根據(jù)預(yù)定時間表和預(yù)定事件發(fā)生中的至少一個,收集用于所述多個快照中的一個的資產(chǎn)信息。
32.如權(quán)利要求1所述的方法,進(jìn)一步包括識別資產(chǎn)名或資產(chǎn)值在所述多個快照之一中的第一次出現(xiàn);生成與所述資產(chǎn)名或資產(chǎn)值的所述第一次出現(xiàn)相關(guān)的標(biāo)識符;將所述標(biāo)識符與所述資產(chǎn)名或資產(chǎn)值的所述第一次出現(xiàn)相關(guān)聯(lián);識別所述資產(chǎn)名或資產(chǎn)值在所述多個資產(chǎn)/值對中的第二次出現(xiàn);以及將所述標(biāo)識符與所述資產(chǎn)名或資產(chǎn)值的所述第二次出現(xiàn)相關(guān)聯(lián)。
33.一種在其上編碼程序代碼的計算機(jī)可讀介質(zhì),所述程序代碼包括用于從多個計算機(jī)接收多個快照的程序代碼;用于將所述多個快照存儲在數(shù)據(jù)存儲器中的程序代碼;用于至少部分地基于所述多個快照創(chuàng)建自適應(yīng)參考模型的程序代碼;用于將所述多個快照中的至少一個與所述自適應(yīng)參考模型相比較的程序代碼;以及用于基于所述比較識別至少一個異常的程序代碼。
34.如權(quán)利要求33所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于以下的程序代碼將所述至少一個異常與至少一個識別過濾器匹配,以診斷所述多個計算機(jī)中至少一個上的狀況。
35.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于響應(yīng)所述狀況的程序代碼。
36.如權(quán)利要求35所述的計算機(jī)可讀介質(zhì),其中,用于響應(yīng)所述狀況的程序代碼包括以下的至少一個用于生成通知的程序代碼;用于向問題管理系統(tǒng)提交事故單的程序代碼;用于請求許可以采取行動的程序代碼;以及用于從所述多個計算機(jī)中的至少一個中去除所述狀況的程序代碼。
37.如權(quán)利要求36所述的計算機(jī)可讀介質(zhì),其中,用于去除所述狀況的程序代碼包括用于使修復(fù)程序在受所述狀況感染的所述多個計算機(jī)中的所述至少一個上執(zhí)行的程序代碼。
38.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于確定所述多個計算機(jī)中的哪些受到所述狀況感染的程序代碼;以及用于代表受所述狀況感染的所述多個計算機(jī)中的每一個使對所述狀況的響應(yīng)執(zhí)行的程序代碼。
39.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),其中,用于診斷所述狀況的程序代碼包括用于識別所述至少一個異常的根本原因的程序代碼。
40.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),其中,用于將所述至少一個異常與所述至少一個識別過濾器匹配的程序代碼包括用于識別存在于多個識別過濾器中的與所述至少一個異常相關(guān)的資產(chǎn)名的程序代碼。
41.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),其中所述至少一個識別過濾器包括多個識別過濾器,并且其中用于將所述至少一個異常與所述至少一個識別過濾器匹配的程序代碼包括用于識別匹配所述多個識別過濾器中的資產(chǎn)值的所述至少一個異常中的資產(chǎn)值的程序代碼。
42.如權(quán)利要求34所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于確定所述至少一個識別過濾器和所述至少一個異常之間的匹配質(zhì)量的程序代碼。
43.如權(quán)利要求33所述的計算機(jī)可讀介質(zhì),其中,用于將所述多個快照中的至少一個與所述自適應(yīng)參考模型相比較的程序代碼包括用于生成結(jié)果的程序代碼;以及用于將所述結(jié)果提供給用戶的程序代碼。
44.如權(quán)利要求33所述的計算機(jī)可讀介質(zhì),其中所述多個快照中的每一個都包括多個成對的資產(chǎn)名和資產(chǎn)值,并且其中用于將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較的程序代碼包括用于比較每個資產(chǎn)名與所述自適應(yīng)參考模型以識別意外存在的資產(chǎn)名的程序代碼;用于比較每個資產(chǎn)名與所述自適應(yīng)參考模型以識別意外不存在的資產(chǎn)名的程序代碼;以及用于比較每個資產(chǎn)值與所述自適應(yīng)參考模型以識別未知的或不尋常的資產(chǎn)值的程序代碼。
45.如權(quán)利要求44所述的計算機(jī)可讀介質(zhì),其中,用于將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較的程序代碼進(jìn)一步包括用于確定資產(chǎn)值是否降到最小閾值之下或者超過最大閾值的程序代碼。
46.如權(quán)利要求44所述的計算機(jī)可讀介質(zhì),其中,用于將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較的程序代碼進(jìn)一步包括用于以下的程序代碼確定所述多個快照中的所述至少一個中的所有的所述資產(chǎn)名是否都存在于所述自適應(yīng)參考模型之內(nèi),并且與資產(chǎn)名之間的多個高概率關(guān)系是否一致。
47.如權(quán)利要求44所述的計算機(jī)可讀介質(zhì),其中,用于將所述多個快照中的所述至少一個與所述自適應(yīng)參考模型相比較的程序代碼進(jìn)一步包括用于確定與分析范圍測量和診斷準(zhǔn)確度測量相關(guān)的置信水平的程序代碼。
48.如權(quán)利要求33所述的計算機(jī)可讀介質(zhì),其中,所述多個快照由駐留在多個計算機(jī)中每一個上的軟件代理程序創(chuàng)建。
49.如權(quán)利要求48所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于以下的程序代碼根據(jù)預(yù)定時間表和預(yù)定事件發(fā)生中的至少一個,收集用于所述多個快照中的一個的資產(chǎn)信息。
50.如權(quán)利要求33所述的計算機(jī)可讀介質(zhì),進(jìn)一步包括用于識別資產(chǎn)名或資產(chǎn)值在所述多個快照之一中的第一次出現(xiàn)的程序代碼;用于生成與所述資產(chǎn)名或資產(chǎn)值的所述第一次出現(xiàn)相關(guān)的標(biāo)識符的程序代碼;用于將所述標(biāo)識符與所述資產(chǎn)名或資產(chǎn)值的所述第一次出現(xiàn)相關(guān)聯(lián)的程序代碼;用于識別所述資產(chǎn)名或資產(chǎn)值在所述多個資產(chǎn)/值對中的第二次出現(xiàn)的程序代碼;以及用于將所述標(biāo)識符與所述資產(chǎn)名或資產(chǎn)值的所述第二次出現(xiàn)相關(guān)聯(lián)的程序代碼。
全文摘要
在此描述了用于提供自動化計算機(jī)支持的系統(tǒng)和方法。所描述的一種方法包括從多個計算機(jī)(202)接收多個快照(206);將所述多個快照存儲在數(shù)據(jù)存儲器中;以及至少部分地基于所述多個快照,創(chuàng)建自適應(yīng)參考模型。該描述的方法進(jìn)一步包括將所述多個快照中的至少一個與所述自適應(yīng)參考模型相比較;并且基于所述比較識別至少一個異常(210)。
文檔編號G06F17/30GK1860476SQ200480028102
公開日2006年11月8日 申請日期2004年8月11日 優(yōu)先權(quán)日2003年8月11日
發(fā)明者大衛(wèi)·尤金·胡克斯 申請人:合聲系統(tǒng)公司