![]() 虛擬機快照與分析
专利摘要:
本文描述用於擷取和分析虛擬機(virtual machine,VM)快照的技術。當一或更多電腦執行以形成虛擬機快照池時,一或更多電腦可自動取得虛擬機的快照。然後讀取虛擬機快照以取得虛擬機快照的特徵屬性集合,包括與執行的訪客作業系統相關的資訊、安裝於虛擬機上的軟體,與虛擬機本身相關的元資料等。在一實施例中,特徵或屬性係使用機器學習演算法分析以自動計算和儲存與虛擬機相關的資訊。 公开号:TW201301139A 申请号:TW101113805 申请日:2012-04-18 公开日:2013-01-01 发明作者:Robert Fries;Galen Hunt;Shobana Balakrishnan 申请人:Microsoft Corp; IPC主号:G06F11-00
专利说明:
虛擬機快照與分析 本發明係關於虛擬機快照與分析。 現代計算仍然有需要改良的領域。電腦在機器內和機器間的層級是如何設計和程式化的不斷演變情形導致性能、安全性、可靠性、功耗、效率等的新問題。增加的複雜性可造成難以識別錯誤或是機器或軟體的關鍵態樣。已知要分析靜態電腦群組(例如休眠機器的靜態檔案),以學習個別機器以及機器群組。實體電腦(實體機器)已被自動分析以識別故障或性能良好的機器、程式編寫錯誤、性能不佳或正經歷錯誤的機器等的共同特點。然而,時至今日,該分析一直僅限於實體機器、日誌檔案、磁碟影像等的靜態狀態。以整體來分析大群組的執行電腦一直是不可能的。 然而,最近在諸如雲端計算、資料中心等之某些環境中,在該等環境上的作業系統和軟體有時在虛擬機(VM)上執行,此舉在下文有詳細介紹。使用虛擬機技術,擷取和儲存正在執行的「機器」快照是可能的,包括機器的硬體狀態、軟體狀態、作業系統狀態、檔案系統狀態、記憶體狀態等。該所擷取的「運動中」機器的狀態存有資訊,該資訊先前沒有被視為可能受到分析之資料集合。 將在下文討論與虛擬機快照分析相關的技術。 包括以下「發明內容」僅是用於介紹在下文之「實施方式」中將討論的一些概念。本「發明內容」不是全面的,且本「發明內容」不意欲劃定所主張標的之範圍,所主張標的之範圍是以呈現於末端之申請專利範圍提供。 本文描述用於擷取和分析虛擬機快照的技術。當一或更多電腦執行以形成虛擬機快照池時,一或更多電腦可自動取得虛擬機的快照。然後讀取虛擬機快照以取得虛擬機快照的特徵屬性集合,包括與執行的訪客作業系統相關的資訊、安裝於虛擬機上的軟體,與虛擬機本身相關的元資料等。在一實施例中,特徵或屬性係使用機器學習演算法分析以自動計算和儲存與虛擬機相關的資訊。 參考下文的詳細描述並考慮隨附圖式,將解釋本發明的許多特徵。 機器虛擬 圖1繪示示例性虛擬層100。電腦102具有硬體104,該硬體104包括中央處理器(CPU)106、記憶體108、網路介面110、非揮發性儲存裝置112,和其他未圖示的組件,如匯流排、顯示適配器等。虛擬層100管理並促進虛擬機114的執行。雖然沒有圖示於圖1,每個虛擬機114通常都有相關聯的虛擬磁碟影像和訪客作業系統。為簡便起見,作業系統和虛擬機114的應用軟體也許有時會被稱為訪客,該訪客是儲存和執行自與虛擬機114相關聯的虛擬磁碟影像。 虛擬層100可能是任何已知或未來的實施,如Hyper-V伺服器(TM)、VMware ESX伺服器(TM)、Xen、Oracle VM(TM)等。虛擬層的架構可能是主機類型,具有在主機作業系統上執行的虛擬機監視器(virtual machinemonitor,VMM),或虛擬層的架構可能是在電腦102的硬體104上直接執行之具有超管理器等的裸機(bare-metal)類型。此處所用的「虛擬機」一詞是指系統類型的虛擬機,該虛擬機模擬能夠執行用於硬體架構之本地代碼的任何特定硬體架構(如x86);對於訪客而言,虛擬機可能與硬體機幾乎沒有區別。此處討論的虛擬機不是如Java虛擬機(Java Virtual Machine)之抽象或程序類型的虛擬機。 虛擬層100由該虛擬層100本身和虛擬機114執行管理虛擬機114和分享硬體104的基本功能。任何類型的技術可用於隔離虛擬機114與硬體104。在一實施例中,虛擬層可以提供對應應於虛擬機114的不同的隔離環境(例如分區或域)。虛擬層100的一些部分,如共享的虛擬裝置驅動器、虛擬機間的通訊設施,和虛擬機管理API(應用程式程式化介面),可能在特殊的特權分區或域執行,允許緊湊、高效的超管理器。在其他實施例中,虛擬機管理的功能和硬體104的連貫共享可常駐於單片的金屬上超管理器。 圖2繪示與虛擬機114和虛擬機影像140相關的虛擬層100的程序和互動。虛擬層100執行啟動和執行虛擬機114的程序142,可能是根據相應的虛擬機配置參數。當虛擬機114(VM)開始時,虛擬層識別相關聯的虛擬機影像140。在實行時,任何虛擬機影像140可由任何虛擬機114使用。虛擬機影像140可能是虛擬層100的檔案系統141上的特殊格式化檔案(例如VHD)。虛擬層100載入經識別的虛擬機影像140。已啟始的虛擬機114裝設並讀取虛擬機影像140,也許尋求主啟動記錄或其他啟動資訊,並且已啟始的虛擬機114啟動開始執行的訪客作業系統。 虛擬層100管理虛擬機114的執行,處理某些到訪客核心的調用、超調用等,並協調虛擬機114至底層硬體104的存取。隨著訪客和該訪客之軟體的執行,虛擬層100可以維持虛擬磁碟影像140上的訪客狀態;當訪客或由訪客執行的應用程式將資料寫入到「磁碟」時,虛擬層100將資料翻譯到虛擬磁碟影像140的格式並寫入至影像。 虛擬層100可以執行用於關機虛擬機114的程序144。當接收到停止虛擬機114的指令時,儲存虛擬機114和該虛擬機114之訪客的狀態到虛擬磁碟影像140,且刪除執行虛擬機114的程序(或分區)。可維持虛擬機114的規定用於之後重新啟動虛擬機114。 虛擬機快照 圖3繪示可以如何擷取執行虛擬機114的快照。虛擬機114具有訪客作業系統180,該訪客作業系統180使用硬體104執行於該虛擬機114上。正在執行的虛擬機113提供虛擬磁碟儲存,該虛擬磁碟儲存儲存訪客作業系統180和任何應用程式或安裝於該訪客作業系統180上的其他軟體。總之,訪客180的狀態182和應用程式可能實體存在於如虛擬層100所管理之硬體104。總之,幾乎所有已知的實體機的硬體或軟體特徵可能在虛擬機114上具有均等物。虛擬層100包括快照組件184,該快照組件184執行程序186以擷取快照188。當虛擬機114正在執行時,接收指令以擷取虛擬機114的快照。例如,虛擬管理系統可跨網路傳輸由虛擬層100所接收的指令。在一些虛擬實施中,在擷取快照之前,可能需要一些前期的準備。例如,快取可能需要清除,檔案系統或儲存系統可能需要靜止,訪客作業系統180的記憶體頁可能需要儲存等。 擷取快照188可與已知的技術或與現有的虛擬化技術實施一起執行。值得注意的是,快照188可包括在相同的運作實體機器中的任何可用資訊。例如,快照188可能包括虛擬機113的記憶體的拷貝,該拷貝可能包括執行程序190、核心資料結構192,或在虛擬機113的虛擬實體記憶體中的任何資訊。此外,快照188可能包括從虛擬機的113所使用的實體或虛擬裝置擷取之資訊,包括暫存器數值、緩衝區內容等。在一些實施中,快照程序186亦可擷取與虛擬機113的虛擬實體環境相關的資訊,如虛擬CPU資訊(虛擬核心或CPU的數目)、記憶體和儲存量、虛擬裝置、虛擬網路介面卡、BIOS、虛擬主機板、裝置驅動程序和其他等。一些虛擬實施可鏈結快照到虛擬機的磁碟影像,且快照可能包括不同於虛擬機的磁碟影像之執行虛擬機的儲存區塊。總之,快照188是持續的物件,如包含經擷取之虛擬機的工作狀態的檔案。大多數虛擬實施允許快照被載入並執行;執行快照的虛擬機(可能不同於原來的快照被擷取之其他虛擬機)如同原始虛擬機在快照擷取時開始執行。換言之,執行虛擬機的狀態可在相同或新的虛擬機被擷取然後恢復。 圖4繪示用於擷取虛擬機快照的系統。不同的虛擬機114執行於網路210、資料中心、雲端計算等。快照管理器212觸發虛擬機114的快照擷取,例如透過發送經由網路210的訊息至執行虛擬機114的主機。快照組件184透過擷取快照188回應,快照188可儲存於快照儲存庫214,包括與來源虛擬機和擷取時間相關的資訊。 快照管理器212可能是管理跨網路之虛擬機的虛擬機管理系統之一部分。在一實施例中,重覆擷取快照188用於任何給定的虛擬機,可能形成虛擬機的連續快照鏈。例如,在圖4中,VM-1具有在不同時間擷取的快照SS1、SS2和其他者。VM-1可在任何時間自該VM-1之快照中一者被重新啟動。例如,SS2被擷取後,SS1可被載入VM-1,且VM-1將在與SS1被擷取時幾乎相同的狀態執行。如此可允許將擷取之虛擬機實例的版本樹或版本層級。 圖5繪示虛擬機快照的層級230。如上所述,對虛擬機進行快照,然後從該快照開始相同或另一虛擬機實例是可能的。如此允許不同的快照鏈從同一基礎虛擬機取得。在圖5中,虛擬機114具有在某個時間點取得的快照SS-1。快照SS-2是在相同或之後的時間取得。新的虛擬機114A可能開始執行快照SS-2,然後取得虛擬機114A的快照,如SS-2.1、SS-2.2等。類似地,快照SS-2.1可以在另一個新虛擬機開始,並可自該虛擬機取得快照SS-2.1.1、SS.2.1.2……。隨著時間的推移,層次230可能以具有自己所鏈結的虛擬機磁碟影像的每個虛擬機實例和來自每者鏈結到該快照之前者之同一虛擬機的快照所形成。應理解到,在某些情況下,層級可能是來自單一虛擬機的簡單擷取序列(如SS-1、SS1.1、SS-1.2),或層級可能是同一基礎虛擬機的各自單一實例的單一快照(例如SS-1、SS-2……SS-N)。 圖6繪示用於擷取虛擬機快照的程序。在步驟232,讀取快照配置檔案。配置指定諸如在何處儲存快照或清除舊快照的頻率之實施細節。配置也可以指定快照擷取的模式,例如擷取頻率、何時或在什麼條件下(例如在5個快照後)分支(fork)新的VM和快照分支、擷取快照的條件(例如當前網路高飽和度的訊號)等。在一實施例中,擷取的快照可能與被視為可能有關之主題或條件相關聯或以該主題或條件標記,此舉可能有助於建立訓練集合。在步驟234,重覆評估配置以決定快照條件是否存在。在步驟236,當步驟234決定條件存在時,擷取快照。可擷取與快照程序有關的元資料,且如前所述,標籤或類似者可與快照相關。 虛擬機的快照分析 圖7繪示用於分析虛擬機快照的系統。快照儲存庫214儲存由一或更多虛擬機114的一或更多快照組件184擷取的虛擬機快照,可能是由基於網路的快照管理器212所指示。虛擬機快照可隨著時間經過而擷取為單一虛擬機114的序列,或虛擬機快照可能是一或更多虛擬機的層級230,或是該一或更多虛擬機的組合。熟悉機器學習之技術者將理解到,在正式的機器學習演算法的實施例中,具有足以產生可靠結果的大量快照可能是必要的。 快照是由特徵擷取器250所讀取。根據特定的用途的分析、分析演算法的選擇等,可以選擇或查詢儲存的虛擬機快照的子集。特徵擷取器250存取虛擬機快照、安裝/讀取檔案系統、讀取儲存的記憶體內容、讀取配置(例如暫存器)設定,及/或讀取與包括於快照之虛擬機有關的元資料,以識別預定義快照特徵之集合。任何類型的特徵可能會受到擷取以進行分析。特徵擷取器250可能有定義要尋求和擷取之特徵的模板或定義檔案,例如檔案集合、虛擬機本身屬性的集合、將被檢查之軟體套裝的集合等。參考圖8更詳細討論特徵擷取和示例性特徵。 返回到圖7,特徵擷取器250以特徵池252的形式輸出特徵集合用於每一虛擬機影像。特徵池252將快照的特徵與取得特徵之單獨快照相關聯。特徵池252允許虛擬機的快照由分析工具254作為群組來分析(例如用於叢集分析或其他類型的機器學習)。 分析工具254接收特徵池252並且分析工具254於特徵池252執行分析。分析可以採取各種各樣的形式。作為在一或更多電腦上執行之軟體的分析工具254可以諸如(從規則資料庫中取得之)決策樹或規則集合之客製邏輯進行程式化,客製邏輯對於將被執行之特定分析而言為具體的(例如安全,或性能,或特定的軟體錯誤)。取代地,分析工具254可使用下述之統計模組化或機器學習技術執行分析,其中分析結論不是來自硬編碼的邏輯,而是取決於訓練資料及/或特徵池252整體的特徵意義。 分析工具254輸出分析輸出256,此舉也可能有多種形式。自動快照分析的目的是識別或估計對應於被分析快照的虛擬機的屬性或特質。因此,分析輸出256可能是根據具有定義條件(例如電腦病毒感染)或具有特定特質(例如將在接下來的8天裡體驗失敗)或者屬於特定類別(例如表現不佳的機器)等的快照排序。分析輸出256也可以識別虛擬機的統計特質、以相似之處分組的機器叢集及其他者,而不是相對於預定的語義來分析快照。 圖8繪示示例性虛擬機快照特徵池。特徵池252A是形式為(快照號碼、特徵、數值)的三元集合;採用與來源虛擬機及/或快照有關的資訊鏈結,以允許結果被關聯於個別快照或虛擬機。特徵不僅可以是擷取自快照的特定數值(例如暫存器設定、檔案名、記憶體容量、版本號碼等),特徵亦可為經計算的數值。例如,特徵可能代表在預定義集合中存在於快照中的檔案數目,或發現是真實的條件數(例如10個病毒條件中可能已發現8個)。示例性特徵池252B是建構特徵池252A的另一種方式。 特徵池252C是特徵向量270的集合。每個特徵向量是以預定義順序排列的數值集合,每個位置的每個數值對應於特徵變量的向量272中的特徵變量的值。在使用機器學習的一些實施例中,沒有必要明確定義特徵變量。再次說明,在特徵向量中的特徵僅是推導自快照的數值,包括該快照的語義內容及/或元資料。例如,以快照讀取作用記憶體的儲存拷貝和剖析諸如開啟檔案名稱之物件、程式物件,或是當虛擬機被快照時可被視為已經為有效的其他物件是可能的。 圖9繪示用於擷取和分析快照特徵的程序。首先,在步驟290,可選擇虛擬機快照之集合用於特徵擷取。如上所述,定義的時間範圍、虛擬機屬性(例如擁有虛擬機的承租人)、隨機抽樣,或其他條件可用於過濾快照。在步驟292,自選定的快照擷取特徵。特徵可選自指定特徵之名稱或位置等的規範。在一實施例中,特徵擷取可以由降維程序加以補充,降維程序降低將進行分析的特徵空間。例如,若發現特徵變量的數值在所選快照的集合幾乎是一致的,特徵變量可能沒有分析數值並特徵變量可以省略。有可用於選擇特徵變量及/或降低在特徵空間中的維數的已知技術。在步驟294,執行特徵池的分析。此舉可能涉及到機器學習或人工智慧的盲目應用、客製的統計分析邏輯等。 圖10繪示分析工具254的示例性實施例。示例性客製分析工具254A在步驟310進行特徵(特徵值)與預定義規則集合或決策樹的比較,步驟312透過排序虛擬機快照或標記一些快照為符合邏輯或足夠數量的條件而輸出結果。示例性統計分析工具254B可應用已知的統計分析演算法。在步驟314,諸如特徵計數、標準偏差值、平均值等之計算可應用於已知的統計演算法,以識別十分相似、統計上突出或異常等之快照。Bayesian分類器分析工具254C採用Bayesian概率演算法。步驟318可以選擇要分析的特徵(例如降維),步驟320採用Bayesian概率計算。輸出可能是排序或快照的概率。 圖11繪示使用訓練資料的機器學習實施例。初步形成訓練資料集合340。訓練資料可能是自動或手動產生。如前所述,訓練樣本可根據與快照擷取有關的資訊來標記,如易當機的虛擬機、地理位置、性能不佳的虛擬機、可靠或性能良好的機器、感染或未受感染的機器等。訓練資料340傳遞到學習機342。然後再根據訓練資料340訓練學習機342,實際上形成應用於樣本的統計模型。在一實施例中,學習機342可能是受監督的學習機,如用於分類樣本的支援向量機(support-vector machine,SVM)。在另一實施例中,沒有使用訓練資料且未受監督的學習演算法(如神經網路)是用於學習機342,如此一來可以總結樣本快照、發現突出特徵等。 圖12繪示用於訓練和使用受監督或半受監督的學習機的程序。在步驟360,透過自動及/或手動標記訓練快照而產生訓練資料集合。在步驟362,自標記的快照擷取特徵;可給予特徵向量快照所推導的標記。在步驟364,使用訓練資料集合訓練學習機366。在步驟368開始使用學習機366分析未標記的快照,其中選擇將要分析的虛擬機快照。在步驟370,以特徵向量的形式擷取特徵。在步驟372,特徵向量372傳遞至經訓練的學習機366,學習機366在步驟372輸出結果。結果可能是以可能性指示的形式,指示個別樣本快照的標記是正確的。 正如前述,可使用多種形式的機器學習。可使用任何類型的線性分類。可使用半監督學習演算法。此處使用的「機器學習」是指任何已知或未來的自動學習的人工智慧演算法,分類上包括:監督學習演算法(如神經網路、Bayesian統計、決策樹、自動學習、回歸分析、高斯程序回歸、歸納邏輯程式設計等);統計分類演算法(例如線性分類器、k-最近鄰點、提高、Bayesian網路、隱式馬可夫模型等);未監督學習演算法(例如資料叢聚、期望最大化、徑向基礎函數網路等);關聯學習(例如a-先驗演算法和FP增長演算法);層次叢聚演算法;部分叢聚演算法及/或其他者。 由於快照是取自當場執行的虛擬機,可能會考慮執行時的狀態。特別是,可以使用訪客作業系統的特徵,包括與記憶體、程序、執行緒、開機狀態,和未發現在休眠的實體電腦中的其他特徵(或該等其他特徵之影像),或在靜態檔案、日誌檔案等中發現的資訊。 結論 上述實施例和特徵可以儲存在揮發性或非揮發性電腦或裝置可讀取媒體之資訊的形式實現。如此被視為至少包括諸如光學儲存(例如緊緻磁碟唯讀記憶體(CD-ROM))、磁性媒體、快閃唯讀記憶體(ROM),或任何現有或未來的數位資訊儲存方式之媒體。儲存的資訊可以機器可執行指令的形式(例如編譯的可執行二進制代碼)、來源代碼、位元組代碼(bytecode),或可用於賦能或配置計算裝置以執行上述討論的各種實施例的任何其他資料。如此也視為包括至少揮發性記憶體以及非揮發性媒體,揮發性記憶體例如是隨機存取記憶體(RAM)及/或虛擬記憶體,儲存諸如實行實施例之程式執行期間的中央處理器(CPU)指令之資訊,非揮發性媒體儲存允許程式或可執行檔案被載入並執行的資訊。實施例和特徵可在任何類型的計算裝置上執行,包括可攜式裝置、工作站、伺服器、行動無線裝置等。 100‧‧‧虛擬層 106‧‧‧中央處理器 108‧‧‧記憶體 110‧‧‧網路介面 212‧‧‧快照管理器 214‧‧‧快照儲存庫 230‧‧‧虛擬機快照的層級 232-236‧‧‧步驟方法 112‧‧‧儲存裝置 114‧‧‧虛擬機 140‧‧‧虛擬機影像 141‧‧‧檔案系統 142‧‧‧啟動和執行虛擬機114的程序 144‧‧‧關機虛擬機114的程序 180‧‧‧訪客作業系統 184‧‧‧快照組件 186‧‧‧程序 188‧‧‧快照 210‧‧‧網路 250‧‧‧特徵擷取器 252‧‧‧特徵池 254‧‧‧分析工具 256‧‧‧分析輸出 270‧‧‧特徵向量 290-294‧‧‧步驟方法 310-320‧‧‧步驟方法 340‧‧‧訓練資料 342‧‧‧學習機 360-372‧‧‧步驟方法 參考隨附圖式閱讀實施方式將更好地理解本說明,其中相同的元件符號是用來指定說明中相同的部分。 圖1繪示示例性虛擬層。 圖2繪示與虛擬機和虛擬機影像相關之虛擬層的程序和互動。 圖3繪示執行虛擬機的快照可以如何擷取。 圖4繪示用於擷取虛擬機快照的系統。 圖5繪示虛擬機快照的層次。 圖6繪示用於擷取虛擬機快照的程序。 圖7繪示用於分析虛擬機快照的系統。 圖8繪示示例性虛擬機快照的特徵池。 圖9繪示用於擷取和分析快照特徵的程序。 圖10繪示分析工具的示例性實施例。 圖11繪示使用訓練資料的機器學習實施例。 圖12繪示用於訓練和使用監督或半監督學習機的程序。 114‧‧‧虛擬機 188‧‧‧快照 210‧‧‧網路 212‧‧‧快照管理器 214‧‧‧快照儲存庫
权利要求:
Claims (20) [1] 一種方法,包括以下步驟:存取儲存的虛擬機快照,該等虛擬機快照已經自一或更多執行虛擬機被擷取;以及自動形成一特徵池,該特徵池包括取自經存取之虛擬機快照的特徵;以及對該特徵池執行自動分析,以識別該等虛擬機快照之一或更多者之一或更多特質。 [2] 如請求項1所述之方法,其中該自動分析包括一機器學習演算法。 [3] 如請求項2所述之方法,其中該自動分析是使用機器學習來執行,該機器學習使用訓練快照的特徵的一訓練資料集合訓練。 [4] 如請求項1所述之方法,其中該等虛擬機快照包括在不同時間所取得之在該等不同時間執行之一相同虛擬機的快照。 [5] 如請求項1所述之方法,其中該等虛擬機快照已經擷取自該等虛擬機之一層級,該等虛擬機之該層級包括親項虛擬機和子項虛擬機,每一子項虛擬機已透過複製一相應親項虛擬機,然後用不同於該親項虛擬機的狀態執行而產生。 [6] 如請求項1所述之方法,其中在複數個電腦主機上執行的該等虛擬機及該自動分析:分別計算對應於該等虛擬機的概率;將該等虛擬機的一或更多者分類為一或更多預定義的類別;或相對於與一預定義特質的相關性,依該等虛擬機相對於彼此來排序,其中一虛擬機的一排序指示與該預定義特質的相對相關性。 [7] 一種電腦可讀取儲存媒體,儲存資訊以致使一或更多電腦執行一程序,該程序包括:對複數個虛擬機快照執行特徵擷取,以取得該等虛擬機快照的特徵值的一集合,該等虛擬機快照已於一或更多虛擬機的執行期間被擷取;以及對所擷取特徵進行自動推理,以排序、識別、分類,及/或計算對應於該等虛擬機快照之該等虛擬機之特質之概率。 [8] 如請求項7所述之電腦可讀取儲存媒體,其中該特徵擷取包括形成該等虛擬機快照的特徵向量,其中每一特徵向量包括一對應虛擬機快照的特徵值,每一特徵向量之該等特徵值對應於定義一特徵空間之特徵變量之一相同集合。 [9] 如請求項8所述之電腦可讀取儲存媒體,該程序更包括使用一機器學習演算法處理該等特徵向量。 [10] 如請求項7所述之電腦可讀取儲存媒體,更包括執行一降維演算法,該降維演算法降低傳遞至該機器學習演算法的每一特徵向量之特徵值之一數目。 [11] 如請求項7所述之電腦可讀取儲存媒體,其中每一虛擬機快照包括一檔案系統,該檔案系統包含一訪客作業系統及一記憶體拷貝,該記憶體拷貝由一訪客作業系統之一執行核心所管理。 [12] 如請求項11所述之電腦可讀取儲存媒體,該特徵擷取包括至少下列之一或更多者:識別在該等檔案系統中的檔案,透過讀取記憶體的拷貝來取得特徵值,取得該等虛擬機的硬體資源的數值,取得該等訪客作業系統的配置設定,以及取得與安裝在該等虛擬機上的軟體有關的資訊。 [13] 如請求項7所述之電腦可讀取儲存媒體,更包括透過標記該等特徵向量之一或更多者而形成一訓練資料集合。 [14] 如請求項7所述之電腦可讀取儲存媒體,更包括使用該訓練資料集合來訓練用來執行該自動推理之一模型或演算法。 [15] 如請求項7所述之電腦可讀取儲存媒體,更包括由該一或更多電腦儲存由推理所取得與該等虛擬機有關的輸出。 [16] 一種用於分析虛擬機的方法,該方法是由一或更多電腦所執行,該方法包括以下步驟:當該等虛擬機正在執行以形成一虛擬機快照池時,自動地快照該等虛擬機;讀取該等虛擬機快照,以取得該等虛擬機快照的屬性的一集合;以及根據該等屬性的該集合,自動計算和儲存與該等虛擬機有關的資訊。 [17] 如請求項16所述之方法,其中與該等虛擬機有關的資訊包括識別該等虛擬機之一子集的資訊。 [18] 如請求項16所述之方法,更包括根據該等屬性來識別相似或不相似虛擬機的一或更多群組,或根據該等屬性來排序該等虛擬機。 [19] 如請求項16所述之方法,其中該等屬性包括屬性變量值,該方法更包括識別一或更多屬性變量作為一預先定義條件之預測或該等虛擬機之特質。 [20] 如請求項16所述之方法,更包括以下步驟:分別自與該等虛擬機相關的元資料取得該等屬性的該集合,該元資料包括與地理位置,或硬體資源,或該等虛擬機的配置相關的資訊。
类似技术:
公开号 | 公开日 | 专利标题 TWI553558B|2016-10-11|虛擬機快照與分析 TWI547874B|2016-09-01|虛擬機器影像分析 Kabinna et al.2018|Examining the stability of logging statements Thomas et al.2014|Static test case prioritization using topic models US10515002B2|2019-12-24|Utilizing artificial intelligence to test cloud applications US9063766B2|2015-06-23|System and method of manipulating virtual machine recordings for high-level execution and replay US8140907B2|2012-03-20|Accelerated virtual environments deployment troubleshooting based on two level file system signature US10705795B2|2020-07-07|Duplicate and similar bug report detection and retrieval using neural networks US9959197B2|2018-05-01|Automated bug detection with virtual machine forking US20200334093A1|2020-10-22|Pruning and prioritizing event data for analysis US10241785B2|2019-03-26|Determination of production vs. development uses from tracer data Cabau et al.2016|Malware classification based on dynamic behavior US20200034224A1|2020-01-30|Early risk detection and management in a software-defined data center US10528407B2|2020-01-07|Integrated statistical log data mining for mean time auto-resolution Chen et al.2016|Automated system change discovery and management in the cloud Cabău et al.2016|Malware classification using filesystem footprints US11175965B2|2021-11-16|Systems and methods for dynamically evaluating container compliance with a set of rules Chouhan et al.2021|A Study of Aging-Related Bugs Prediction in Software System US20220035905A1|2022-02-03|Malware analysis through virtual machine forking Zhang et al.2016|HCOpt: An Automatic Optimizer for Configuration Parameters of Hadoop
同族专利:
公开号 | 公开日 WO2012173831A3|2013-05-23| EP2721479A2|2014-04-23| TWI553558B|2016-10-11| CN103608765B|2017-05-03| CN103608765A|2014-02-26| US9286182B2|2016-03-15| WO2012173831A2|2012-12-20| US20120323853A1|2012-12-20| EP2721479A4|2014-11-19|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6167535A|1997-12-09|2000-12-26|Sun Microsystems, Inc.|Object heap analysis techniques for discovering memory leaks and other run-time information| US6714925B1|1999-05-01|2004-03-30|Barnhill Technologies, Llc|System for identifying patterns in biological data using a distributed network| US7739096B2|2000-03-09|2010-06-15|Smartsignal Corporation|System for extraction of representative data for training of adaptive process monitoring equipment| US7979368B2|2005-07-01|2011-07-12|Crossbeam Systems, Inc.|Systems and methods for processing data flows| US20060085784A1|2004-10-15|2006-04-20|Microsoft Corporation|Systems and methods for authoring and accessing computer-based materials using virtual machines| US8429630B2|2005-09-15|2013-04-23|Ca, Inc.|Globally distributed utility computing cloud| WO2007036072A1|2005-09-29|2007-04-05|Intel Corporation|Apparatus and method for expedited virtual machine launch in vm cluster environment| US8196205B2|2006-01-23|2012-06-05|University Of Washington Through Its Center For Commercialization|Detection of spyware threats within virtual machine| US7818721B2|2006-02-01|2010-10-19|Oracle America, Inc.|Dynamic application tracing in virtual machine environments| AU2006100099A4|2006-02-08|2006-03-16|Pc Tools Technology Pty Limited|Automated Threat Analysis System| US8296759B1|2006-03-31|2012-10-23|Vmware, Inc.|Offloading operations to a replicate virtual machine| US8321377B2|2006-04-17|2012-11-27|Microsoft Corporation|Creating host-level application-consistent backups of virtual machines| US20080016572A1|2006-07-12|2008-01-17|Microsoft Corporation|Malicious software detection via memory analysis| US8607009B2|2006-07-13|2013-12-10|Microsoft Corporation|Concurrent virtual machine snapshots and restore| WO2008055156A2|2006-10-30|2008-05-08|The Trustees Of Columbia University In The City Of New York|Methods, media, and systems for detecting an anomalous sequence of function calls| US9098347B2|2006-12-21|2015-08-04|Vmware|Implementation of virtual machine operations using storage system functionality| US8613080B2|2007-02-16|2013-12-17|Veracode, Inc.|Assessment and analysis of software security flaws in virtual machines| US8055951B2|2007-04-10|2011-11-08|International Business Machines Corporation|System, method and computer program product for evaluating a virtual machine| US9495152B2|2007-06-22|2016-11-15|Red Hat, Inc.|Automatic baselining of business application service groups comprised of virtual machines| US20090007100A1|2007-06-28|2009-01-01|Microsoft Corporation|Suspending a Running Operating System to Enable Security Scanning| US8046694B1|2007-08-06|2011-10-25|Gogrid, LLC|Multi-server control panel| US20090043812A1|2007-08-06|2009-02-12|The Boeing Company|Information assessment associate for checkpoint operations| CA2697965C|2007-08-31|2018-06-12|Cirba Inc.|Method and system for evaluating virtualized environments| US9811849B2|2007-09-28|2017-11-07|Great-Circle Technologies, Inc.|Contextual execution of automated workflows| TW200925995A|2007-12-14|2009-06-16|Inventec Corp|Mobile device and method for loading operating system thereof| US8370833B2|2008-02-20|2013-02-05|Hewlett-Packard Development Company, L.P.|Method and system for implementing a virtual storage pool in a virtual environment| US8972978B2|2008-05-02|2015-03-03|Skytap|Multitenant hosted virtual machine infrastructure| US8543998B2|2008-05-30|2013-09-24|Oracle International Corporation|System and method for building virtual appliances using a repository metadata server and a dependency resolution service| US8719800B2|2008-06-20|2014-05-06|Vmware, Inc.|Accelerating replayed program execution to support decoupled program analysis| US8037032B2|2008-08-25|2011-10-11|Vmware, Inc.|Managing backups using virtual machines| US8307177B2|2008-09-05|2012-11-06|Commvault Systems, Inc.|Systems and methods for management of virtualization data| US8499297B2|2008-10-28|2013-07-30|Vmware, Inc.|Low overhead fault tolerance through hybrid checkpointing and replay| US20100180092A1|2009-01-09|2010-07-15|Vmware, Inc.|Method and system of visualization of changes in entities and their relationships in a virtual datacenter through a log file| TWI559227B|2009-01-12|2016-11-21|幸福居福爾摩沙股份有限公司|具有內建雙可隨機關閉開啟電源作業裝置的電腦系統| US8195980B2|2009-03-31|2012-06-05|Oracle America, Inc.|Virtual machine snapshotting and damage containment| WO2010127365A1|2009-05-01|2010-11-04|Citrix Systems, Inc.|Systems and methods for establishing a cloud bridge between virtual storage resources| US20100293144A1|2009-05-15|2010-11-18|Bonnet Michael S|Using snapshotting and virtualization to perform tasks in a known and reproducible environment| JP5227887B2|2009-05-21|2013-07-03|株式会社日立製作所|バックアップ管理方法| US9495190B2|2009-08-24|2016-11-15|Microsoft Technology Licensing, Llc|Entropy pools for virtual machines| US20120137367A1|2009-11-06|2012-05-31|Cataphora, Inc.|Continuous anomaly detection based on behavior modeling and heterogeneous information analysis| US8930652B2|2009-11-11|2015-01-06|Red Hat Israel, Ltd.|Method for obtaining a snapshot image of a disk shared by multiple virtual machines| US8850403B2|2009-12-04|2014-09-30|Sap Ag|Profiling data snapshots for software profilers| CA2783370C|2009-12-31|2016-03-15|Commvault Systems, Inc.|Systems and methods for performing data management operations using snapshots| US8510590B2|2010-03-17|2013-08-13|Vmware, Inc.|Method and system for cluster resource management in a virtualized computing environment| US8566944B2|2010-04-27|2013-10-22|Microsoft Corporation|Malware investigation by analyzing computer memory| US8406682B2|2010-04-30|2013-03-26|Cloud Niners Information Systems Llc|Virtual laboratory smart agent| US8667334B2|2010-08-27|2014-03-04|Hewlett-Packard Development Company, L.P.|Problem isolation in a virtual environment| EP2622469B1|2010-09-30|2019-11-13|Commvault Systems, Inc.|Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system| CN101989322B|2010-11-19|2012-11-21|北京安天电子设备有限公司|自动提取恶意代码内存特征的方法和系统| US9223610B2|2010-11-24|2015-12-29|International Business Machines Corporation|Management of virtual machine snapshots| US9552215B2|2011-03-08|2017-01-24|Rackspace Us, Inc.|Method and system for transferring a virtual machine| US8832693B2|2011-03-09|2014-09-09|Unisys Corporation|Runtime virtual process creation for load sharing| US20120324236A1|2011-06-16|2012-12-20|Microsoft Corporation|Trusted Snapshot Generation| US8645950B2|2011-06-28|2014-02-04|Microsoft Corporation|Virtual machine image analysis|TW201229910A|2011-01-14|2012-07-16|Hon Hai Prec Ind Co Ltd|Method of activating application in virtual environment| US9229758B2|2011-10-28|2016-01-05|International Business Machines Corporation|Passive monitoring of virtual systems using extensible indexing| US20130111018A1|2011-10-28|2013-05-02|International Business Machines Coporation|Passive monitoring of virtual systems using agent-less, offline indexing| US9158828B1|2011-12-19|2015-10-13|Emc Corporation|Techniques using associated object properties| US8700678B1|2011-12-21|2014-04-15|Emc Corporation|Data provenance in computing infrastructure| EP2828742A4|2012-03-22|2016-05-18|Tier 3 Inc|SUPPLY IN FLEXIBLE MEMORY| US8719286B1|2012-03-30|2014-05-06|Emc Corporation|System and method for block-based subtree virtual machine backup| US8751515B1|2012-03-30|2014-06-10|Emc Corporation|System and method for file-based virtual machine incremental backup| US9324034B2|2012-05-14|2016-04-26|Qualcomm Incorporated|On-device real-time behavior analyzer| US9298494B2|2012-05-14|2016-03-29|Qualcomm Incorporated|Collaborative learning for efficient behavioral analysis in networked mobile device| US9609456B2|2012-05-14|2017-03-28|Qualcomm Incorporated|Methods, devices, and systems for communicating behavioral analysis information| US9202047B2|2012-05-14|2015-12-01|Qualcomm Incorporated|System, apparatus, and method for adaptive observation of mobile device behavior| US9690635B2|2012-05-14|2017-06-27|Qualcomm Incorporated|Communicating behavior information in a mobile computing device| US9529808B1|2012-07-16|2016-12-27|Tintri Inc.|Efficient and flexible organization and management of file metadata| US9495537B2|2012-08-15|2016-11-15|Qualcomm Incorporated|Adaptive observation of behavioral features on a mobile device| US9747440B2|2012-08-15|2017-08-29|Qualcomm Incorporated|On-line behavioral analysis engine in mobile device with multiple analyzer model providers| US9330257B2|2012-08-15|2016-05-03|Qualcomm Incorporated|Adaptive observation of behavioral features on a mobile device| US9319897B2|2012-08-15|2016-04-19|Qualcomm Incorporated|Secure behavior analysis over trusted execution environment| US9104331B2|2012-09-28|2015-08-11|Emc Corporation|System and method for incremental virtual machine backup using storage system functionality| US9110604B2|2012-09-28|2015-08-18|Emc Corporation|System and method for full virtual machine backup using storage system functionality| US10713183B2|2012-11-28|2020-07-14|Red Hat Israel, Ltd.|Virtual machine backup using snapshots and current configuration| US9092837B2|2012-11-29|2015-07-28|International Business Machines Corporation|Use of snapshots to reduce risk in migration to a standard virtualized environment| US9742873B2|2012-11-29|2017-08-22|International Business Machines Corporation|Adjustment to managed-infrastructure-as-a-service cloud standard| US10409980B2|2012-12-27|2019-09-10|Crowdstrike, Inc.|Real-time representation of security-relevant system state| US10089582B2|2013-01-02|2018-10-02|Qualcomm Incorporated|Using normalized confidence values for classifying mobile device behaviors| US9686023B2|2013-01-02|2017-06-20|Qualcomm Incorporated|Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors| US9684870B2|2013-01-02|2017-06-20|Qualcomm Incorporated|Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors| AU2014207540A1|2013-01-15|2015-08-06|Beyondtrust Software, Inc.|Systems and methods for identifying and reporting application and file vulnerabilities| US9467465B2|2013-02-25|2016-10-11|Beyondtrust Software, Inc.|Systems and methods of risk based rules for application control| US9742559B2|2013-01-22|2017-08-22|Qualcomm Incorporated|Inter-module authentication for securing application execution integrity within a computing device| US9491187B2|2013-02-15|2016-11-08|Qualcomm Incorporated|APIs for obtaining device-specific behavior classifier models from the cloud| US9817835B2|2013-03-12|2017-11-14|Tintri Inc.|Efficient data synchronization for storage containers| US9965357B1|2013-03-13|2018-05-08|EMC IP Holding Company LLC|Virtual backup and restore of virtual machines| US20140279739A1|2013-03-15|2014-09-18|InsideSales.com, Inc.|Resolving and merging duplicate records using machine learning| US9405666B2|2013-06-03|2016-08-02|Empire Technology Development Llc|Health monitoring using snapshot backups through test vectors| US8775332B1|2013-06-13|2014-07-08|InsideSales.com, Inc.|Adaptive user interfaces| US9304885B2|2013-06-18|2016-04-05|International Business Machines Corporation|Passive monitoring of virtual systems using agent-less, near-real-time indexing| US9218139B2|2013-08-16|2015-12-22|International Business Machines Corporation|Minimally disruptive virtual machine snapshots| US10628378B2|2013-09-03|2020-04-21|Tintri By Ddn, Inc.|Replication of snapshots and clones| GB2520043A|2013-11-07|2015-05-13|Ibm|Sharing of snapshots among multiple computing machines| CN106663112A|2014-11-26|2017-05-10|谷歌公司|呈现与实体相关联的事件的信息卡| WO2015109593A1|2014-01-27|2015-07-30|华为技术有限公司|虚拟化方法和装置及计算机设备| US8930916B1|2014-01-31|2015-01-06|Cylance Inc.|Generation of API call graphs from static disassembly| US9262296B1|2014-01-31|2016-02-16|Cylance Inc.|Static feature extraction from structured files| JP6662782B2|2014-02-07|2020-03-11|サイランス・インコーポレイテッドCylance Inc.|識別のためのアンサンブル機械学習を利用するアプリケーション実行コントロール| JP2015158773A|2014-02-24|2015-09-03|富士通株式会社|仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム| US10216585B2|2014-02-28|2019-02-26|Red Hat Israel, Ltd.|Enabling disk image operations in conjunction with snapshot locking| US10530837B2|2014-04-10|2020-01-07|International Business Machines Corporation|Always-on monitoring in the cloud| US9798882B2|2014-06-06|2017-10-24|Crowdstrike, Inc.|Real-time model of states of monitored devices| US9875063B2|2014-07-02|2018-01-23|Hedvig, Inc.|Method for writing data to a virtual disk using a controller virtual machine and different storage and communication protocols| US9424151B2|2014-07-02|2016-08-23|Hedvig, Inc.|Disk failure recovery for virtual disk with policies| US9411534B2|2014-07-02|2016-08-09|Hedvig, Inc.|Time stamp generation for virtual disks| US9798489B2|2014-07-02|2017-10-24|Hedvig, Inc.|Cloning a virtual disk in a storage platform| US9864530B2|2014-07-02|2018-01-09|Hedvig, Inc.|Method for writing data to virtual disk using a controller virtual machine and different storage and communication protocols on a single storage platform| US9558085B2|2014-07-02|2017-01-31|Hedvig, Inc.|Creating and reverting to a snapshot of a virtual disk| US9483205B2|2014-07-02|2016-11-01|Hedvig, Inc.|Writing to a storage platform including a plurality of storage clusters| US10067722B2|2014-07-02|2018-09-04|Hedvig, Inc|Storage system for provisioning and storing data to a virtual disk| US20160019081A1|2014-07-21|2016-01-21|Vmware,Inc.|Viewing a snapshot of a virtual machine| US9875322B2|2014-07-31|2018-01-23|Google Llc|Saving and retrieving locations of objects| US9729401B2|2014-08-22|2017-08-08|Vmware, Inc.|Automatic remediation of poor-performing virtual machines for scalable applications| US9092376B1|2014-08-29|2015-07-28|Nimble Storage, Inc.|Methods and systems for ordering virtual machine snapshots| US20160092313A1|2014-09-25|2016-03-31|Empire Technology Development Llc|Application Copy Counting Using Snapshot Backups For Licensing| US10223644B2|2014-09-29|2019-03-05|Cisco Technology, Inc.|Behavioral modeling of a data center utilizing human knowledge to enhance a machine learning algorithm| US9778990B2|2014-10-08|2017-10-03|Hewlett Packard Enterprise Development Lp|Methods and systems for concurrently taking snapshots of a plurality of virtual machines| US9727252B2|2014-11-13|2017-08-08|Hewlett Packard Enterprise Development Lp|Methods and systems for optimal snapshot distribution within a protection schedule| US10242082B2|2014-12-12|2019-03-26|Microsoft Technology Licensing, Llc|Context-driven multi-user communication| CN104407916A|2014-12-15|2015-03-11|北京国双科技有限公司|虚拟机的克隆方法和装置| US9465940B1|2015-03-30|2016-10-11|Cylance Inc.|Wavelet decomposition of software entropy to identify malware| US10389746B2|2015-09-28|2019-08-20|Microsoft Technology Licensing, Llc|Multi-tenant environment using pre-readied trust boundary components| US9678857B1|2015-11-30|2017-06-13|International Business Machines Corporation|Listing optimal machine instances| US10997118B1|2015-12-17|2021-05-04|Amazon Technologies, Inc.|Generating a fresh machine image| US10114702B2|2016-01-06|2018-10-30|International Business Machines Corporation|Method and system to discover and manage distributed applications in virtualization environments| US10733153B2|2016-02-29|2020-08-04|Red Hat, Inc.|Snapshot management in distributed file systems| CN109313565A|2016-05-02|2019-02-05|诺基亚通信公司|虚拟网络环境中的快照创建| JP6664812B2|2016-05-10|2020-03-13|国立研究開発法人情報通信研究機構|仮想資源自動選択システム及び方法| US10248174B2|2016-05-24|2019-04-02|Hedvig, Inc.|Persistent reservations for virtual disk using multiple targets| US10628075B1|2016-06-27|2020-04-21|EMC IP Holding Company LLC|Data protection compliance between storage and backup policies of virtual machines| CN106201656B|2016-06-30|2019-06-07|无锡华云数据技术服务有限公司|一种对kvm虚拟机快照存储空间的统计方法| GB2554983B|2016-08-16|2019-02-13|British Telecomm|Attack assessment in a virtualised computing environment| GB2554982B|2016-08-16|2019-02-13|British Telecomm|Security in virtualised computing environments| GB2554984B|2016-08-16|2019-02-13|British Telecomm|Secure configuration in a virtualised computing environment| GB2555176B|2016-08-16|2019-02-13|British Telecomm|Machine learning for attack mitigation in virtual machines| GB2554981A|2016-08-16|2018-04-18|British Telecomm|Configuration parameters for virtual machines| TWI689824B|2017-01-10|2020-04-01|遊戲橘子數位科技股份有限公司|根據訊息資料內之關鍵字改變虛擬寵物特性之方法| US10754640B2|2017-03-24|2020-08-25|Microsoft Technology Licensing, Llc|Engineering system robustness using bug data| US10977361B2|2017-05-16|2021-04-13|Beyondtrust Software, Inc.|Systems and methods for controlling privileged operations| EP3707632B1|2017-11-07|2022-02-23|British Telecommunications public limited company|Dynamic security policy| US10990432B1|2017-11-30|2021-04-27|Ila Corporation|Method and system for interactive cyber simulation exercises| US10552197B2|2018-01-25|2020-02-04|International Business Machines Corporation|Inexact reconstitution of virtual machine images| US10848468B1|2018-03-05|2020-11-24|Commvault Systems, Inc.|In-flight data encryption/decryption for a distributed storage platform| US10693753B2|2018-05-31|2020-06-23|Hewlett Packard Enterprise Development Lp|Network device snapshots| JP2020004205A|2018-06-29|2020-01-09|株式会社Pfu|情報処理装置、情報処理方法、及びプログラム| CN109814982B|2019-02-28|2021-10-08|北京隆普智能科技有限公司|一种虚拟机自动启动的方法及其系统| US11249787B2|2019-10-01|2022-02-15|Bank Of America Corporation|Method and system for data collection using hypervisor| WO2021163277A1|2020-02-11|2021-08-19|3Sharp LLC|Simulations based on capturing and organizing visuals and dynamics of software products|
法律状态:
2019-07-11| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/163,582|US9286182B2|2011-06-17|2011-06-17|Virtual machine snapshotting and analysis| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|