TW201627859A - 虛擬機器影像分析 - Google Patents

虛擬機器影像分析 Download PDF

Info

Publication number
TW201627859A
TW201627859A TW105109707A TW105109707A TW201627859A TW 201627859 A TW201627859 A TW 201627859A TW 105109707 A TW105109707 A TW 105109707A TW 105109707 A TW105109707 A TW 105109707A TW 201627859 A TW201627859 A TW 201627859A
Authority
TW
Taiwan
Prior art keywords
virtual machine
virtual
values
target
settings
Prior art date
Application number
TW105109707A
Other languages
English (en)
Other versions
TWI563449B (en
Inventor
富萊斯羅伯
巴薩莎拉斯斯里伐特森
杭特蓋倫
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201627859A publication Critical patent/TW201627859A/zh
Application granted granted Critical
Publication of TWI563449B publication Critical patent/TWI563449B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

在此揭露一種分析虛擬機器影像的技術。在一個實施例中,自一個或多個虛擬機器影像擷取設定的一子集合,該等虛擬機器影像中儲存該等設定的數值。該等設定由分別具有該等虛擬機器影像的虛擬機器中所執行之軟體使用。該等虛擬機器影像中的一目標虛擬機器影像被選出,且該等設定的目標數值係從該目標虛擬機器影像取得。該等設定的取樣數值係從複數個虛擬機器影像被取得。藉由識別在該等虛擬機器影像之間該等數值的相似性及相異性而形成該子集合。

Description

虛擬機器影像分析
本發明關於一種虛擬機器(virtual machine,VM)影像分析。
關於在虛擬機器上所管理的軟體領域中,在虛擬機器客作業系統(guest operating system)內的大量變數使得使用者很難辨別哪些軟體設定是相關於某些任意目的或相應於某些任意目的是顯著的。舉例而言,在試驗(虛擬機器的)客作業系統及/或被安裝在客作業系統上的應用軟體的組態設定之使用者可隨時間推移變更許多組態,例如直接藉由人工編輯、當作如安裝或解除安裝軟體等任務的副效果、等等。當該等組態或設定的變更累計時,很難重迴某人的步驟及識別是什麽導致虛擬機器開始以期望的或非期望的狀態操作。
不僅很難在虛擬機器的衆多變更狀態參數中識別出含有意義或顯著性的參數,而且亦很難區別在虛擬機器上之不同型式或不同類別之可變更數值。有些狀態參數可為客作業系統或應用軟體可讀取以決定如何運作的真實的組態參數。其餘狀態參數可包含由客作業系 統所輸出的操作資料,如效能度量、時間戳記(timestamp)、使用次數等。以評估虛擬機器的目的,在該等參數之中,仍然很難決定與虛擬機器的期望或非期望的目前狀態有關聯的操作資料、及有效地無關於虛擬機器的狀態的操作資料。
以下論述關於使用同儕壓力式(peer-pressure type)演算法的技術以分析虛擬機器影像。
以下概要僅用來介紹在下文實施方式中論述的一些概念。此概要不是全面的且並非意欲描述所主張標的範疇,其中該範疇在本說明書的最後部分由申請專利範圍提出。
在此揭露一種分析虛擬機器影像的技術。在一個實施例中,從一個或多個虛擬機器影像擷取設定的一子集合,該等虛擬機器影像儲存該等設定的數值。該等設定由分別具有該等虛擬機器影像的虛擬機器中所執行之軟體使用。該等虛擬機器影像中的一目標虛擬機器影像被選出,且該等設定的目標值係從該目標虛擬機器影像取得。該等設定的取樣數值係從複數個虛擬機器影像取得。藉由識別在該等虛擬機器影像之間該等數值的相似性及相異性而形成該子集合。可藉由(例如)使用 貝氏估計(Bayesian estimations)而統計地分析相似性及相異性。
許多附加的特徵參照被視為與附圖有關聯的下列詳細描述而將解釋如下。
100‧‧‧虛擬化層
102‧‧‧電腦
104‧‧‧硬體
106‧‧‧中央處理單元
108‧‧‧記憶體
110‧‧‧網路介面
112‧‧‧儲存器
114、114A、114B‧‧‧虛擬機器
140‧‧‧虛擬機器影像
141‧‧‧檔案系統
142‧‧‧啟動及執行虛擬機器的程序
144‧‧‧關閉虛擬機器的程序
180‧‧‧客作業系統
182‧‧‧狀態
184‧‧‧快照元件
186‧‧‧快照程序
188‧‧‧快照
190‧‧‧執行中程序
192‧‧‧核心資料結構
220~228‧‧‧步驟
252A、252B‧‧‧設定
270‧‧‧設定
290‧‧‧資料庫
314‧‧‧目標設定-數值組對
316‧‧‧取樣設定-數值組對
311 310‧‧‧同儕壓力元件
312A‧‧‧輸出結果
312B‧‧‧輸出結果
在參照附圖閱讀上述詳細描述後將更好地瞭解本發明,其中相同的元件符號用以表示附加描述中相同的元件。
第1圖圖示示例性虛擬化層。
第2圖圖示與虛擬機器及虛擬機器影像有關之虛擬機器層的處理程序及互動關係。
第3圖圖示如何擷取執行中虛擬機器的快照。
第4圖圖示一般的同儕壓力演算法。
第5圖圖示取得設定的不同策略。
第6圖圖示在虛擬機器影像內的示例性設定。
第7圖圖示具有設定及數值的示例性資料庫。
第8圖圖示使用同儕壓力元件的系統及示例性輸出結果。
以下所論述的實施例關於分析虛擬機器影像。如之前在先前技術所提及的,使用者很難篩選虛擬機器上的多個可觀察的數值藉以識別出哪些用於設定或參數的數值是值得注意的及哪些數值不值得注意。為了從可被顯示在虛擬機器上的許多設定中識別出有意義的設定,基於貝氏之同儕壓力技術被用來對一虛擬機器的參數及設定排序及分類。將繼續論述對機器虛擬化之概述,接著論述同儕壓力演算法,接著闡述如何將同儕壓力演算法應用於從虛擬機器影像所擷取的資料。
第1圖圖示示例性虛擬化層100。電腦102具有硬體104,該硬體包含中央處理單元(CPU)106、記憶體108、網路介面110、非揮發性儲存器112及其餘未圖示的元件,如匯流排、顯示轉接器等。虛擬化層100管理及促成虛擬機器114的執行。雖然未被圖示在第1圖,但是每一虛擬機器114通常具有一個關聯的虛擬磁碟影像及一個客作業系統(guest operating system)。簡言之,虛擬機器114的作業系統及可能應用軟體將有時被稱為客端(guest),該客端被儲存在及被執行自與虛擬機器114有關聯的該虛擬磁碟影像。
虛擬化層100可為已知或未來實施之任一形式態樣,例如Hyper-V Server(TM)、VMWare ESX Server(TM)、Xen、Oracle VM(TM)等。虛擬化層的架構可為託管(hosted)形式,具有在主作業系統(host operating system)上執行的虛擬機器管理 器(VMM);或者虛擬化層的架構可為裸機(bare-metal)形式,具有直接在電腦102的硬體104上執行之超管理器(hypervisor)或類似物。在本案中,術語「虛擬機器」是指系統式虛擬機器,該系統式虛擬機器模擬任一特定的硬體架構(如x86),該硬體架構能夠執行用於該硬體架構的原始碼;對於客端而言,可能幾乎不能將該虛擬機器區別於硬體機器。在本案中論述的虛擬機器既不是抽象式虛擬機器,亦不是例如Java虛擬機器之程序式(process-type)的虛擬機器。
虛擬化層100執行的基本功能有管理虛擬機器114及由自身與虛擬機器114兩者共用硬體104。多種技術中的任一技術可被用來從硬體104隔離虛擬機器114。在一個實施例中,虛擬化層100可提供對應於虛擬機器114的不同隔離環境(如分割區(partition)或網域(domain))。某些虛擬化層100,如共用的虛擬裝置驅動器、虛擬機器間通訊裝置、及虛擬機器管理應用程式介面(API,application programming interfaces),可執行在特定權限的分割區或網域中,用以准許一精簡且有效率的超管理器。在其他實施例中,虛擬機器管理及硬體104的相干共用的功能性可存在於一個單一機上(on-the-metal)超管理器中。
第2圖圖示與虛擬機器114及虛擬機器影像140有關之虛擬化層100的處理程序及互動關係。虛擬 化層100可能性地根據相應的虛擬機器組態參數而實現啟動及執行虛擬機器114的程序142。當虛擬機器114(VM)被啟動時,虛擬化層100識別有關聯的虛擬機器影像140。在實際應用中,任何的虛擬機器影像140可被任何的虛擬機器114使用。虛擬機器影像140可為虛擬化層100的檔案系統141上的一個特定格式化檔案(如VHD,虛擬硬碟)。虛擬化層100載入經識別的虛擬機器影像140。經啟動的虛擬機器114掛載(mount)及讀取虛擬機器影像140(可能尋找一主開機(boot)記錄或其他開機資訊),及啟動一客作業系統,該客作業系統開始執行。
虛擬化層100管理虛擬機器114的執行,處理對客端的核心(kernel)之某些調用、超調用(hypercall)等等,且協調虛擬機器114對下層的硬體104之存取。隨著客端及客端的軟體執行,虛擬化層100可維持虛擬磁碟影像140上的客端之狀態;當客端(或由客端執行的應用軟體)將資料寫入至「磁碟」時,虛擬化層100將資料轉換為虛擬磁碟影像140的格式,並將資料寫入至影像。
虛擬化層100可執行關閉虛擬機器114的程序144。當接收用以停止虛擬機器114的指令時,虛擬機器114的狀態及虛擬機器114的客端被儲存至虛擬磁碟影像140,且執行中的虛擬機器114的程序(或分割 區)被刪除。虛擬機器114的規格設定(specification)可留下用於虛擬機器114稍後的再啟動。
第3圖圖示如何擷取執行中虛擬機器的快照。虛擬機器114具有使用硬體104而在虛擬機器114上執行的客作業系統180。正在執行的虛擬機器114提供虛擬磁碟儲存裝置,該虛擬磁碟儲存裝置儲存客作業系統180及隨之安裝在客作業系統180上的任何應用程式(應用)或其它軟體。總的來說,客作業系統180及應用程式的狀態182可實體地存在於硬體104之各處,如由虛擬化層100所管理。簡言之,實體機器之幾乎任何已知的硬體或軟體特徵可在虛擬機器114上具有一均等者。虛擬化層100包含一快照元件184,該快照元件執行一程序186以擷取快照188。當虛擬機器114正處於執行狀態的同時,指令被接收以擷取虛擬機器114的快照。舉例而言,虛擬化管理系統可跨網路傳送一指令,該指令由虛擬化層100接收。在某些虛擬化實施例中,在快照被擷取之前,可能需要某些初步準備。舉例而言,快取記憶體可需要刷新,檔案系統或儲存系統可需要處於靜止(quiesce)狀態,客作業系統180的記憶體分頁可需要被儲存等等。
擷取快照188可藉由已知技術或是現存的虛擬化技術實施例而實施。特別地,快照188可包含可在一等效執行中的實體機器中取得的任何資訊。舉例而言,快照188可包含虛擬機器114的記憶體的複本 (copy),其中該複本可包含執行處理程序190、核心資料結構192或在虛擬機器114的已虛擬化實體記憶體中的任何資訊。此外,快照188可包含擷取自虛擬機器114所使用的實體或虛擬裝置的任何資訊,其中該資訊包含登錄數值、緩衝內容等等。在某些實施例中,快照程序186亦可擷取關於虛擬機器114的虛擬實體環境的資訊,例如,虛擬CPU資訊(虛擬核心或CPU的個數)、記憶體與儲存器、虛擬裝置、虛擬網路介面卡、基本輸入輸出系統(BIOS)、虛擬主機板、裝置驅動器及其他的數量。某些虛擬化實施例可將快照連結至虛擬機器的磁碟影像且快照可包含執行中虛擬機器的儲存區塊,其中該儲存區塊不同於虛擬機器的磁碟影像。總而言之,快照188為一種持久性物件,例如包含虛擬機器的已擷取工作狀態的檔案。大部份虛擬化實施例允許快照將被載入或被執行。執行快照的虛擬機器(可能不是原來的虛擬機器,其中快照係從原來的虛擬機器被擷取)恰好在快照自原來的虛擬機器被擷取之時間開始執行。換言之,執行擬機器的狀態可被擷取,且之後重返至相同虛擬機器或新的虛擬機器。
應注意的是,在某些虛擬化實施例中,快照及磁碟影像檔案是在功能上可互換的。因此,如在本案中被使用的,術語「虛擬機器影像」將代表虛擬化層100所提供的特定格式檔案(被作為虛擬磁碟提供至虛擬機器),以及代表從執行中虛擬機器所擷取的快照。
第4圖圖示一般同儕壓力演算法,用來診斷故障機器的同儕壓力演算法被詳細地描述在「Automatic Misconfiguration Troubleshooting with PeerPressure」(H.Wang,J.Platt,Y.Chen,R.Zhang,and Y.-M.Wang;USENIX OSDI,2004)。將先前提及的參考文獻之內容藉引用方式併入本案。下文對第4圖之論述總結及歸納了在該引用參考文獻中被描述的演算法。
在步驟220,由使用者選出一目標機器,例如一故障機器。在步驟222,目標相關設定-數值組對(setting-value pair)被擷取。一般而言,位於虛擬機器影像內的任何型式的設定-數值組對可被擷取(如在本案所使用的,「設定」將亦代表運作狀態或寫入/輸出資料,例如記錄檔案或被保留至虛擬機器影像的任何客端/應用狀態或輸出)。舉例而言,一個設定-數值組對可為:登錄機碼(registry key)及該登錄機碼的內容(數值)、一檔案目錄及在該檔案目錄內的一檔案名稱、一檔案及該檔案的第一行、一記錄檔案及在該記錄檔案中的總行數、一虛擬化參數(例如記憶體配置)及該虛擬化參數的數值,等等。亦即,設定(或參數)是識別出相應數值所來自之該虛擬機器影像上的位置的某種資訊,且該數值是該位置處的內容。
在步驟224,目標設定-數值組對可被標準化(canonicalized)。此舉僅是包含將設定及數值轉 換為某些標準化形式,以允許該等格式精確地在語意上被比較。舉例而言,以拼字或格式的多種變化可被校正(例如,「#1」可被轉變為「1」),數值可被隱匿(anonymized)等等。
在步驟226,相關虛擬機器的一取樣集合被識別,及對應於步驟222之設定的設定-數值組對(或僅為數值)的一取樣集合被取得。虛擬機器基於任何的基本準則(如使用者所界定的基本準則)而可被識別。舉例而言,基於一相同虛擬機器影像(如黃金影像(golden image))的虛擬機器可被選出。具有一相同應用程式的虛擬機器可被識別。藉由用途選出的一組虛擬機器可被識別。該等數值隨後被擷取。該等數值可從經識別虛擬機器的虛擬機器影像先行擷取,且隨後以標準化形式儲存在一資料庫內(見於第7圖),當需要用該等數值時,從資料庫取得該等數值。需要用到該等數值時亦可從虛擬機器影像直接地擷取及標準化。
在步驟228,同儕壓力演算法執行統計分析以驅動關於該些設定的資訊。亦即,運算被執行以促使識別哪些設定可能對目標機器(從步驟220)來說是值得注意的及哪些設定不太可能是值得注意的。換言之,統計計算篩除掉的設定被發現具有較低的可能性去實質上影響(或指示)相關於經取樣之虛擬機器的該目標虛擬機器的行為。上文參考文獻提供詳細描述,下文為一些解釋。
大概的想法是,針對某些給定的設定,於該等虛擬機器之中比較該等設定的數值。具有跨所有機器趨向高度一致之數值的一設定不大可能是影響機器行為或是視為機器行為的指示器的設定。具有趨向高度不一致之數值的一設定亦不大可能是行為控制性(behavior-controlling)或行為指示性(behavior-indicating)。換言之,若所有的虛擬機器對於一給定設定具有不同數值,則該設定不大可能影響或預測目標虛擬機器的特徵。居中的設定之數值稍微具有一致性但具某些統計顯著性的變化。舉例而言,若一半或三分之一的機器對於一設定具有一不同數值而其餘的機器具有相同的數值,則很有可能該設定正被有目的地改變及具有效果。估測步驟228消除高度一致的設定與高度非一致的設定,以識別出設定的一子集合,該子集合可對於使用者來說是值得注意的。在一個實施例中,貝氏統計估測被使用,如上文所提及的文獻中所闡述的。
第5圖圖示取得設定的不同策略。在一個實施例中,虛擬機器114A相關於虛擬機器114B。兩者相關是因為該兩個虛擬機器皆具有起源於相同基礎的虛擬機器影像或「黃金」(golden)虛擬機器影像。該兩個虛擬機器可為時間相關;其中之一虛擬機器可為另一虛擬機器的未來時間的版本(為另一虛擬機器的直接子代或另一虛擬機器的複製/快照)等等。兩者相關可能是因 為該兩個虛擬機器皆具有相同的軟體安裝、客作業系統等。隨著時間推移,虛擬機器114A與虛擬機器114B受到變更、更新、組態編輯及其餘持久性狀態改變,如在各自虛擬機器影像中所反映。舉例而言,虛擬機器114A與虛擬機器114B可皆具有一相同設定的實例,如設定252A及252B(「設定i」)。隨著時間的推移,設定252A及252B可取得不同的數值。若單一虛擬機器隨著時間的推移被快照或擷取/複本,該等實例可作為取樣集合(見上述步驟226)且子代的虛擬機器可作為目標虛擬機器。亦即,相同虛擬機器的一相同設定在不同時間點的數值可作為取樣集合。
第6圖圖示在虛擬機器影像270內的示例性設定。如先前所提及的,該等設定可為在虛擬機器影像內任何不變可定址數值。舉例而言,檔案系統物件、登錄項目、虛擬機器元資料(如在虛擬機器影像的標頭)等等。該些設定的數值可隨時間改變,且根據該些數值跨於一取樣空間的一致程度而變更。一些設定可具有高度一致的數值,及一些設定可具有高度非一致的數值(如,反映特定機器的「特徵」的數值,諸如主機名稱、網路位址、使用者名稱等)。
第7圖圖示具有設定及數值的一示例性資料庫290。如「設定」等欄位標籤為明白易曉的。在此實施中,在可取得族群中的每個虛擬機器具有其自身的欄或數值向量。在實施過程中,設定(列)的個數可達到 數萬或更多。應注意,對於某些設定而言,跨虛擬機器的數值可大多為一致的。舉例而言,「installDir」設定對於每一虛擬機器具有相同數值。其它設定可具有高度不一致的數值。舉例而言,「registryKeyX」對於各自的虛擬機器具有不同的數值。其餘設定可具有的數值既非高度一致的,亦非高度不一致的。具有實施特定參數的貝氏統計分析可被用來識別哪些設定有可能是值得注意的。在一個實施例中,多維資料庫被使用。舉例而言,相同機器的數值可隨不同時間及不同改版而被建立索引(indexed)。
第8圖圖示使用同儕壓力元件310之系統及示例性輸出結果312A及312B。同儕壓力元件310被傳遞了目標設定-數值組對(或若使用一組不變的設定,則僅為數值)的一目標集合314。取樣設定-數值組對316亦被傳遞至同儕壓力元件310。同儕壓力元件310執行對該些輸入的統計分析以產生輸出結果,該些輸出結果可被儲存在記錄媒體中、被顯示在顯示器上、經由網路傳輸等。在一個實施例中,輸出結果312A為經分類之設定的一集合,如看來一致的設定、看來不一致的設定及看來是值得注意之候選者的設定。在另一實施例中,輸出結果312B為來自所輸入之目標設定-數值組對314中的經機率排序(probability-ranked)之設定的一集合。輸出結果312B可被減少至經排序之設定中前M個(如前3個)的集合。可代以使用一機率臨界值。
將可理解,不同實施態樣與替代性實施例在以下申請專利範圍被關注及包含。
結論
上述所論述的實施例及特徵可以儲存在揮發性或非揮發性電腦或裝置可讀取媒體內的資料形式實現。此被認為包含至少如光學儲存器(例如光碟唯讀記憶體(CD-ROM))、磁性媒體、快閃唯讀記憶體、或目前或未來儲存數位資訊的任一構件等媒體。所儲存的資訊可以機器可執行指令(例如,編譯可執行二元碼)、原始碼、位元碼或任何可被用以賦能或配置計算裝置以執行上述論述的多種實施例的其它資訊。亦認為包含至少非揮發記憶體,如隨機存取記憶體(RAM)及/或虛擬記憶體,該等記憶體在實現實施例之程式的執行期間儲存諸如中央處理單元(CPU)指令之類的資訊,且亦認為包含非揮發媒體,該非揮發媒體儲存允許程式或可執行檔案被載入及執行之資訊。實施例及特徵可在任何類型的計算裝置上執行,該等計算裝置包含可攜式裝置、工作站、伺服器、行動無線裝置等。
310‧‧‧同儕壓力元件
312A‧‧‧輸出結果
312B‧‧‧輸出結果
314‧‧‧目標設定-數值組對
316‧‧‧取樣設定-數值組對

Claims (19)

  1. 一種識別設定之一子集合的方法,該方法包含下列步驟:存取虛擬機器之設定的已儲存數值,該等設定出現在該等虛擬機器之各者之中,其中各虛擬機器包含一對應虛擬機器影像且包含一對應虛擬機器組態,該虛擬機器影像儲存一客作業系統(guest operating system),該虛擬機器組態指定該虛擬機器的虛擬硬體,該等設定的該等數值包含客端數值(guest value)以供控制虛擬機器影像之該等客作業系統中的軟體,且該等數值包含虛擬化數值以分別供虛擬化層用於供應虛擬硬體給該等虛擬機器;選擇該等虛擬機器之一目標虛擬機器,並從該目標虛擬機器取得目標客端數值及目標虛擬化數值,其中該等目標虛擬化數值指定該目標虛擬機器的虛擬硬體,且該等目標虛擬化數值曾由該目標虛擬機器的一虛擬化層使用以為該目標虛擬機器供應該虛擬硬體;存取該等設定的取樣數值,該等取樣數值已經從該等虛擬機器的一取樣集合所取得,其中該等設定的該等取樣數值包括虛擬硬體設定的取樣虛擬化數值,該等取樣虛擬化數值曾由該虛擬化層使用以為該等虛擬機器之該取樣集合供應虛擬硬體;及 藉由計算該等設定之該等取樣數值、及所取得之該等設定的該等目標客端數值及該等目標虛擬化數值的統計相似性及相異性,以產生一組經分類的設定,來識別出該等設定的該子集合。
  2. 如請求項1所述之方法,進一步包含下列步驟:藉由執行一同儕壓力演算法(peer-pressure algorithm)來進行該識別步驟,該同儕壓力演算法包含一貝氏(Bayesian)統計函數。
  3. 如請求項1所述之方法,其中該目標虛擬機器影像包含一使用者選出的虛擬機器影像,且該等複數個虛擬機器影像彼此相關且相關於該目標虛擬機器影像。
  4. 如請求項3所述之方法,其中該等複數個虛擬機器影像及該目標虛擬機器影像相關是因當作一相同虛擬機器影像在不同時間點上的複本。
  5. 如請求項3所述之方法,其中該等複數個虛擬機器影像及該目標虛擬機器影像相關是因原先是一相同虛擬機器影像的複本。
  6. 如請求項5所述之方法,其中該等複數個虛擬機器影像已執行為虛擬機器,且當該等虛擬機器影像正執行為虛擬機器的同時產生該等數值中的至少一些數值。
  7. 如請求項1所述之方法,其中取得該等目標客端數值之步驟包含下列步驟:解析該目標虛擬機器影像之一檔案系統的檔案,以識別出該等設定及從該等檔案擷取該等目標客端數值。
  8. 一種識別虛擬機器之虛擬機器設定的方法,該方法由一計算裝置所執行,該計算裝置包含儲存器及處理硬體,該方法包含下列步驟:藉由該處理硬體,識別出一目標虛擬機器的複數個目標虛擬機器設定,並取得該目標虛擬機器的該等富目標虛擬機器設定的複數個對應目標數值,其中該等目標虛擬機器設定包含虛擬化設定,該等虛擬化設定由一或更多個虛擬化層直接使用以向該等虛擬機器供應虛擬硬體及用以執行該等虛擬機器,及其中該等複數個目標虛擬機器設定被儲存在該儲存器中;藉由該處理硬體取得該等虛擬機器的取樣數值,該等取樣數值對應於該等目標虛擬機器設定,其中從取樣虛擬機器取得該等取樣數值是藉由從該等取樣虛擬機器擷取該等取樣數值,其中該等取樣數值被儲存在該儲存器中,其中該等取樣數值指定由該一或更多虛擬化層所提供的該等取樣虛擬機器的虛擬硬體,及其中從中取得該等取樣數值的該等取樣虛擬機器包含對應的快照,該等快照是在不同時間點從一相同虛 擬機器取得;及藉由該處理硬體,按照該等取樣數值及該等目標數值來識別出該等目標虛擬機器設定的一子集合,該識別步驟是藉由計算該等取樣虛擬機器之該等取樣數值及所取得之該等目標虛擬機器設定的該等目標數值的統計相似性及相異性,以產生一組經機率排序的設定,以及將該等目標虛擬機器設定的該子集合儲存在該儲存器中。
  9. 如請求項8所述之方法,其中該識別步驟包含下列步驟:按照該等取樣數值及該等目標數值之間的一致程度以進行統計計算。
  10. 如請求項9所述之方法,其中該識別步驟包含複數次貝氏估測(Bayesian estimation)的計算。
  11. 如請求項8所述之方法,進一步包含下列步驟:決定是否將該等目標虛擬機器設定中的一給定虛擬機器設定包括在該子集合內,該決定步驟是基於該給定虛擬機器設定的取樣數值相互一致的程度。
  12. 如請求項11所述之方法,其中當該等取樣數值被判定具有充分的統計一致性時,該給定虛擬機器設定被包括在該子集合內。
  13. 如請求項12所述之方法,其中針對具統 計一致性的該等取樣數值決定一特定數值,且該決定步驟為基於該給定虛擬機器設定的該等取樣數值不同於該特定數值。
  14. 如請求項8所述之方法,其中該等取樣虛擬機器分別包含相異的虛擬機器影像,該等取樣數值已從該等虛擬機器影像被取得。
  15. 如請求項8所述之方法,其中該等虛擬機器設定包含虛擬硬體或虛擬裝置的組態設定,用以致使該虛擬硬體或該等虛擬裝置的供應。
  16. 如請求項8所述之方法,其中該等複數個目標虛擬機器設定是在該目標虛擬機器的檔案內被識別出,而該等目標虛擬機器設定的該等複數個對應目標數值是從該目標虛擬機器的該等檔案擷取出。
  17. 一種電腦可讀取儲存硬體,該電腦可讀取儲存硬體儲存資訊以使包含儲存器及一處理器的一電腦裝置進行一程序,該程序包含:藉由該處理器,識別出該儲存器中儲存之複數個虛擬機器內的虛擬機器虛擬硬體參數,並擷取該等經識別虛擬機器虛擬硬體參數的數值,該等虛擬機器虛擬硬體參數由一或更多超管理器(hypervisor)使用,以當該等虛擬機器由該一或更多超管理器執行時按照該等虛擬機器虛擬硬體參數的數值來對該等虛擬 機器的一客端(guest)提供虛擬硬體,該虛擬硬體由該等虛擬機器的客端如同實體硬體般存取;及藉由該處理器,對該等虛擬機器狀態參數的該等數值應用一統計演算法,以識別出該等虛擬機器虛擬硬體參數的一子集合,該統計演算法計算該等虛擬機器硬體參數的該等數值的統計相似性及相異性,以產生一組經機率排序的虛擬機器硬體參數及一組經分類的虛擬機器硬體參數,以及在該儲存器中儲存該等虛擬機器虛擬硬體參數之該子集合的標記(indicia)。
  18. 如請求項17所述之電腦可讀取儲存硬體,其中該統計演算法按照該等數值來識別出該等虛擬機器虛擬硬體參數的該子集合,使得所具有之數值被判定對應於一致性分類的虛擬機器虛擬硬體參數不被包括在該子集合中,以及所具有之數值被判定對應於非一致性分類的虛擬機器虛擬硬體參數不被包括在該子集合中。
  19. 如請求項17所述之電腦可讀取儲存硬體,其中是否將個別虛擬機器虛擬硬體參數包括在該等虛擬機器虛擬硬體參數之該子集合中的決定,是按照該等個別虛擬機器虛擬硬體參數的數值集合的一致程度來做的。
TW105109707A 2011-06-28 2012-04-30 Virtual machine image analysis TWI563449B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/171,366 US8645950B2 (en) 2011-06-28 2011-06-28 Virtual machine image analysis

Publications (2)

Publication Number Publication Date
TW201627859A true TW201627859A (zh) 2016-08-01
TWI563449B TWI563449B (en) 2016-12-21

Family

ID=47392073

Family Applications (2)

Application Number Title Priority Date Filing Date
TW105109707A TWI563449B (en) 2011-06-28 2012-04-30 Virtual machine image analysis
TW101115391A TWI547874B (zh) 2011-06-28 2012-04-30 虛擬機器影像分析

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW101115391A TWI547874B (zh) 2011-06-28 2012-04-30 虛擬機器影像分析

Country Status (7)

Country Link
US (2) US8645950B2 (zh)
EP (1) EP2726977B1 (zh)
JP (1) JP5960259B2 (zh)
KR (1) KR101930113B1 (zh)
CN (1) CN103620550B (zh)
TW (2) TWI563449B (zh)
WO (1) WO2013003005A2 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
US8949829B1 (en) 2011-06-30 2015-02-03 Emc Corporation Virtual machine disaster recovery
US9158632B1 (en) 2011-06-30 2015-10-13 Emc Corporation Efficient file browsing using key value databases for virtual backups
US8849777B1 (en) 2011-06-30 2014-09-30 Emc Corporation File deletion detection in key value databases for virtual backups
US8843443B1 (en) * 2011-06-30 2014-09-23 Emc Corporation Efficient backup of virtual data
US9229951B1 (en) 2011-06-30 2016-01-05 Emc Corporation Key value databases for virtual backups
US9311327B1 (en) 2011-06-30 2016-04-12 Emc Corporation Updating key value databases for virtual backups
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US9063815B2 (en) * 2012-09-17 2015-06-23 International Business Machines Corporation Provisioning a virtual machine from one or more VM images
CN104424013B (zh) * 2013-08-26 2018-03-09 国际商业机器公司 在计算环境中部署虚拟机的方法和设备
KR101554554B1 (ko) 2013-11-29 2015-09-22 한국과학기술정보연구원 가상 머신 구동 시스템 및 방법
US9507621B1 (en) 2014-08-26 2016-11-29 Amazon Technologies, Inc. Signature-based detection of kernel data structure modification
US9530007B1 (en) 2014-08-26 2016-12-27 Amazon Technologies, Inc. Identifying tamper-resistant characteristics for kernel data structures
US9575793B1 (en) * 2014-08-26 2017-02-21 Amazon Technologies, Inc. Identifying kernel data structures
US9767276B1 (en) 2014-08-26 2017-09-19 Amazon Technologies, Inc. Scanning kernel data structure characteristics
US9495188B1 (en) 2014-09-30 2016-11-15 Palo Alto Networks, Inc. Synchronizing a honey network configuration to reflect a target network environment
US10044675B1 (en) 2014-09-30 2018-08-07 Palo Alto Networks, Inc. Integrating a honey network with a target network to counter IP and peer-checking evasion techniques
US9860208B1 (en) * 2014-09-30 2018-01-02 Palo Alto Networks, Inc. Bridging a virtual clone of a target device in a honey network to a suspicious device in an enterprise network
US9882929B1 (en) 2014-09-30 2018-01-30 Palo Alto Networks, Inc. Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network
US10282112B2 (en) 2014-11-04 2019-05-07 Rubrik, Inc. Network optimized deduplication of virtual machine snapshots
KR20170109603A (ko) * 2015-01-28 2017-09-29 닛본 덴끼 가부시끼가이샤 가상 네트워크 기능 관리 장치, 시스템, 힐링 방법 및 프로그램
JP6197816B2 (ja) * 2015-03-24 2017-09-20 日本電気株式会社 ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
JP6696252B2 (ja) * 2016-03-24 2020-05-20 富士ゼロックス株式会社 通信プログラム、通信装置及び情報処理装置
JP6810163B2 (ja) 2016-05-02 2021-01-06 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 仮想ネットワーク環境におけるスナップショット生成
US10768961B2 (en) 2016-07-14 2020-09-08 International Business Machines Corporation Virtual machine seed image replication through parallel deployment
JP6919173B2 (ja) * 2016-10-20 2021-08-18 富士通株式会社 表示制御プログラム、表示制御方法、及び表示制御装置
US11221920B2 (en) 2017-10-10 2022-01-11 Rubrik, Inc. Incremental file system backup with adaptive fingerprinting
US11372729B2 (en) 2017-11-29 2022-06-28 Rubrik, Inc. In-place cloud instance restore
KR102114238B1 (ko) * 2018-10-11 2020-05-22 전석기 패치 환경을 이용한 멀웨어 판단 방법 및 시스템
CN111240794B (zh) * 2018-11-28 2023-06-13 阿里巴巴集团控股有限公司 容器镜像提取方法、装置以及容器镜像测试方法、装置
US11265346B2 (en) 2019-12-19 2022-03-01 Palo Alto Networks, Inc. Large scale high-interactive honeypot farm
US11271907B2 (en) 2019-12-19 2022-03-08 Palo Alto Networks, Inc. Smart proxy for a large scale high-interaction honeypot farm

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386611B2 (en) * 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
US20050198303A1 (en) 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US8074214B2 (en) 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US7496613B2 (en) * 2006-01-09 2009-02-24 International Business Machines Corporation Sharing files among different virtual machine images
US20080256534A1 (en) 2007-04-12 2008-10-16 International Business Machines Corporation Method for improved image-customization by use of embedded metadata
US8196138B2 (en) 2007-04-19 2012-06-05 International Business Machines Corporation Method and system for migrating virtual machines between hypervisors
US8806479B2 (en) 2007-06-05 2014-08-12 International Business Machines Corporation Creating an application virtual machine image by isolating installation artifacts in shadow area
US20090070752A1 (en) 2007-09-06 2009-03-12 International Business Machines Corporation Method and system for optimization of an application
US8051111B2 (en) * 2008-01-31 2011-11-01 Prowess Consulting, Llc Method and system for modularizing windows imaging format
US20090249284A1 (en) 2008-02-29 2009-10-01 Doyenz Incorporated Automation for virtualized it environments
WO2009110616A1 (ja) 2008-03-07 2009-09-11 日本電気株式会社 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
US8543998B2 (en) * 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
US8191065B2 (en) 2009-04-06 2012-05-29 Red Hat Israel, Ltd. Managing virtual machine images
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
US8140907B2 (en) * 2010-06-29 2012-03-20 International Business Machines Corporation Accelerated virtual environments deployment troubleshooting based on two level file system signature
JP5772127B2 (ja) * 2011-03-25 2015-09-02 富士通株式会社 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム

Also Published As

Publication number Publication date
TWI547874B (zh) 2016-09-01
JP2014518424A (ja) 2014-07-28
EP2726977A2 (en) 2014-05-07
US9207962B2 (en) 2015-12-08
US20130007732A1 (en) 2013-01-03
TWI563449B (en) 2016-12-21
WO2013003005A2 (en) 2013-01-03
JP5960259B2 (ja) 2016-08-02
KR101930113B1 (ko) 2019-03-14
CN103620550A (zh) 2014-03-05
WO2013003005A3 (en) 2013-03-14
KR20140033169A (ko) 2014-03-17
CN103620550B (zh) 2018-10-02
TW201301137A (zh) 2013-01-01
EP2726977B1 (en) 2019-12-11
EP2726977A4 (en) 2015-01-07
US20140143775A1 (en) 2014-05-22
US8645950B2 (en) 2014-02-04

Similar Documents

Publication Publication Date Title
TWI547874B (zh) 虛擬機器影像分析
TWI553558B (zh) 虛擬機快照與分析
US10379967B2 (en) Live rollback for a computing environment
US9063766B2 (en) System and method of manipulating virtual machine recordings for high-level execution and replay
US9760447B2 (en) One-click backup in a cloud-based disaster recovery system
US9733964B2 (en) Live snapshot of a virtual machine
US10255086B2 (en) Determining optimal methods for creating virtual machines
US20110231455A1 (en) Detailed Inventory Discovery on Dormant Systems
US10366226B2 (en) Malicious code analysis device and method based on external device connected via USB cable
CH717425B1 (it) Sistema e metodo per il ripristino selettivo di un sistema informatico a uno stato operativo.
US20160210198A1 (en) One-click backup in a cloud-based disaster recovery system
CN108228319B (zh) 一种基于多桥的语义重构方法
US20120124355A1 (en) Single volume image file extraction
US11500560B2 (en) Method to suggest best SCM configuration based on resource proportionality in a de-duplication based backup storage
CN109564533B (zh) 一种支持即时恢复进程中执行引导进程的设备和方法
US20170185492A1 (en) Method and system of universal server migration

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees