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

虛擬機器影像分析 Download PDF

Info

Publication number
TWI547874B
TWI547874B TW101115391A TW101115391A TWI547874B TW I547874 B TWI547874 B TW I547874B TW 101115391 A TW101115391 A TW 101115391A TW 101115391 A TW101115391 A TW 101115391A TW I547874 B TWI547874 B TW I547874B
Authority
TW
Taiwan
Prior art keywords
virtual machine
values
settings
target
machine images
Prior art date
Application number
TW101115391A
Other languages
English (en)
Other versions
TW201301137A (zh
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 TW201301137A publication Critical patent/TW201301137A/zh
Application granted granted Critical
Publication of TWI547874B publication Critical patent/TWI547874B/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)

Description

虛擬機器影像分析
本發明關於一種虛擬機器(virtual machine,VM)影像分析。
關於在虛擬機器上所管理的軟體領域中,在虛擬機器客作業系統(guest operating system)內的大量變數使得使用者很難辨別哪些軟體設定是相關於某些任意目的或相應於某些任意目的是顯著的。舉例而言,在試驗(虛擬機器的)客作業系統及/或被安裝在客作業系統上的應用軟體的組態設定之使用者可隨時間推移變更許多組態,例如直接藉由人工編輯、當作如安裝或解除安裝軟體等任務的副效果、等等。當該等組態或設定的變更累計時,很難重迴某人的步驟及識別是什麽導致虛擬機器開始以期望的或非期望的狀態操作。
不僅很難在虛擬機器的衆多變更狀態參數中識別出含有意義或顯著性的參數,而且亦很難區別在虛擬機器上之不同型式或不同類別之可變更數值。有些狀態參數可為客作業系統或應用軟體可讀取以決定如何運作的真實的組態參數。其餘狀態參數可包含由客作業系統所輸出的操作資料,如效能度 量、時間戳記(timestamp)、使用次數等。以評估虛擬機器的目的,在該等參數之中,仍然很難決定與虛擬機器的期望或非期望的目前狀態有關聯的操作資料、及有效地無關於虛擬機器的狀態的操作資料。
以下論述關於使用同儕壓力式(peer-pressure type)演算法的技術以分析虛擬機器影像。
以下概要僅用來介紹在下文實施方式中論述的一些概念。此概要不是全面的且並非意欲描述所主張標的範疇,其中該範疇在本說明書的最後部分由申請專利範圍提出。
在此揭露一種分析虛擬機器影像的技術。在一個實施例中,從一個或多個虛擬機器影像擷取設定的一子集合,該等虛擬機器影像儲存該等設定的數值。該等設定由分別具有該等虛擬機器影像的虛擬機器中所執行之軟體使用。該等虛擬機器影像中的一目標虛擬機器影像被選出,且該等設定的目標值係從該目標虛擬機器影像取得。該等設定的取樣數值係從複數個虛擬機器影像取得。藉由識別在該等虛擬機器影像之間該等數值的相似性及相異性而形成該子集合。可藉由(例如)使用貝氏估計(Bayesian estimations)而統計地分析相似性及相異性。
許多附加的特徵參照被視為與附圖有關聯的下 列詳細描述而將解釋如下。
以下所論述的實施例關於分析虛擬機器影像。如之前在先前技術所提及的,使用者很難篩選虛擬機器上的多個可觀察的數值藉以識別出哪些用於設定或參數的數值是值得注意的及哪些數值不值得注意。為了從可被顯示在虛擬機器上的許多設定中識別出有意義的設定,基於貝氏之同儕壓力技術被用來對一虛擬機器的參數及設定排序及分類。將繼續論述對機器虛擬化之概述,接著論述同儕壓力演算法,接著闡述如何將同儕壓力演算法應用於從虛擬機器影像所擷取的資料。
第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)上執行的虛擬機器監督器(virtual machine monitor,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)指令之類的資訊,且亦認為包含非揮發媒體,該非揮發媒體儲存允許程式或可執行檔案被載入及執行之資訊。實施例及特徵可在任何類型的計算裝置上執行,該等計算裝置包含可攜式裝置、工作站、伺服器、行動無線裝置等。
100‧‧‧虛擬化層
102‧‧‧電腦
104‧‧‧硬體
106‧‧‧中央處理單元
108‧‧‧記憶體
110‧‧‧網路介面
112‧‧‧儲存器
114‧‧‧虛擬機器
114A、114B‧‧‧虛擬機器
140‧‧‧虛擬機器影像
141‧‧‧檔案系統
142‧‧‧啟動及執行虛擬機器的程序
144‧‧‧關閉虛擬機器的311程序
180‧‧‧客作業系統
182‧‧‧狀態
184‧‧‧快照元件
186‧‧‧快照程序
188‧‧‧快照
190‧‧‧執行中程序
192‧‧‧核心資料結構
220~228‧‧‧步驟
252A、252B‧‧‧設定
270‧‧‧設定
290‧‧‧資料庫
314‧‧‧目標設定-數值組對
316‧‧‧取樣設定-數值組對
310‧‧‧同儕壓力元件
312A‧‧‧輸出結果
312B‧‧‧輸出結果
在參照附圖閱讀上述詳細描述後將更好地瞭解本發明,其中相同的元件符號用以表示附加描述中相同的元件。
第1圖圖示示例性虛擬化層。
第2圖圖示與虛擬機器及虛擬機器影像有關之虛擬機器層的處理程序及互動關係。
第3圖圖示如何擷取執行中虛擬機器的快照。
第4圖圖示一般的同儕壓力演算法。
第5圖圖示取得設定的不同策略。
第6圖圖示在虛擬機器影像內的示例性設定。
第7圖圖示具有設定及數值的示例性資料庫。
第8圖圖示使用同儕壓力元件的系統及示例性輸出結果。
314‧‧‧目標設定-數值組對
316‧‧‧取樣設定-數值組對
310‧‧‧同儕壓力元件
312A‧‧‧輸出結果
312B‧‧‧輸出結果

Claims (17)

  1. 一種用於虛擬機器影像分析的方法,包含下列步驟:選擇設定的一子集合,該等設定對應於從複數個虛擬機器影像所擷取的數值,該等複數個虛擬機器影像包含對應的檔案系統,該等檔案系統包含有其中儲存該等設定的該等數值的檔案,該等設定的該等數值分別控制在該等虛擬機器影像中執行的軟體;選出該等複數個虛擬機器影像中的一目標虛擬機器影像,且從該目標虛擬機器影像取得該等設定的目標數值,已經藉由解析該目標虛擬機器影像之檔案系統中的檔案來識別出該等設定並自該等檔案擷取該等目標數值以取得該等目標數值,該等設定在該等複數個虛擬機器影像之各者中出現;回應於取得該等目標數值,存取該等設定的取樣數值,已藉由解析過該等複數個虛擬機器影像之檔案系統的檔案來識別出該等設定並擷取該等設定的該等取樣數值,以從該等複數個虛擬機器影像中取得該等取樣數值;及回應於取得該等設定的該等取樣數值,藉由基於一統計函數識別出在該等複數個虛擬機器影像之間該等目標數值及該等取樣數值的相似性及相異性,以形成該子集合。
  2. 如申請專利範圍第1項所述之方法,其中該統計函數包含一貝氏(Bayesian)函數,該方法進一步包含以下步驟:執行一同儕壓力演算法(peer-pressure algorithm),該同儕壓力演算法包含一貝氏統計函數,該貝氏統計函數在該些相似性及相異性之計數上運算。
  3. 如申請專利範圍第1項所述之方法,其中該目標虛擬機器影像包含一使用者選出的虛擬機器影像,且該等複數個虛擬機器影像彼此相關且相關於該目標虛擬機器影像。
  4. 如申請專利範圍第3項所述之方法,其中該等複數個虛擬機器影像及該目標虛擬機器影像相關是因當作一相同虛擬機器影像在不同時間點上的複本。
  5. 如申請專利範圍第3項所述之方法,其中該等複數個虛擬機器影像及該目標虛擬機器影像相關是因原先是一相同虛擬機器影像的複本。
  6. 如申請專利範圍第5項所述之方法,其中該等複數個虛擬機器影像已執行為虛擬機器,且當該等虛擬機器影像正執行為虛擬機器的同時產生該等數值 中的至少一些數值。
  7. 如申請專利範圍第1項所述之方法,其中該等取樣數值的取得是藉由從該等取樣虛擬機器的檔案中擷取該等取樣數值,且該等取樣虛擬機器包含在不同時間點從一相同執行中虛擬機器取得的快照。
  8. 如申請專利範圍第1項所述之方法,其中藉由識別以形成該子集合之步驟包含以下步驟:根據該等取樣數值及該等目標數值之間的一致程度以進行統計計算。
  9. 如申請專利範圍第2項所述之方法,進一步包含以下步驟:決定是否將該等設定中的一給定設定包括在該子集合內,該決定步驟是基於該給定設定的取樣數值相互一致的程度。
  10. 如申請專利範圍第9項所述之方法,其中當該等取樣數值被判定具有充分的統計一致性時,該給定設定被包括在該子集合內。
  11. 如申請專利範圍第10項所述之方法,其中針對具統計一致性的該等取樣數值決定一特定數值,且該決定步驟為基於該給定設定的該等取樣數值不同於 該特定數值。
  12. 如申請專利範圍第1項所述之方法,其中該等設定包含該等虛擬機器影像上的軟體的組態設定。
  13. 如申請專利範圍第1項所述之方法,進一步包含以下步驟:根據該等數值排序該等設定。
  14. 一種用於虛擬機器影像分析的電腦可讀取儲存硬體裝置,該電腦可讀取儲存硬體裝置存有使得一電腦裝置能執行一程序的資訊,該程序包含:選擇設定的一子集合,該等設定對應於從複數個虛擬機器影像所擷取的數值,該等複數個虛擬機器影像包含對應的檔案系統,該等檔案系統包含有其中儲存該等設定的該等數值的檔案,該等設定的該等數值分別控制該等虛擬機器影像中的軟體;選出該等複數個虛擬機器影像中的一目標虛擬機器影像,且從該目標虛擬機器影像取得該等設定的目標數值,已經藉由解析該目標虛擬機器影像之檔案系統中的檔案來識別出該等設定並自該等檔案擷取該等目標數值以取得該等目標數值,該等設定在該等複數個虛擬機器影像之各者中出現;回應於取得該等目標數值,存取該等設定的取樣數值,已藉由解析過該等複數個虛擬機器影像之檔 案系統的檔案來識別出該等設定並擷取該等設定的該等取樣數值,以從該等複數個虛擬機器影像中擷取該等取樣數值;及回應於取得該等設定的該等取樣數值,藉由基於一統計函數識別出在該等複數個虛擬機器影像之間該等目標數值及該等取樣數值的相似性及相異性,以形成該子集合。
  15. 如申請專利範圍第14項所述之電腦可讀取儲存硬體裝置,其中該統計函數包含一貝氏(Bayesian)統計函數,該貝氏統計函數包括一同儕壓力演算法(peer pressure algorithm),該同儕壓力演算法根據該等數值來識別出該子集合,以使得具有被判定對應於一致性分類的數值的狀態參數不會被包含在該子集合內,及具有被判定對應於不一致性分類的數值的狀態參數不會被包含在該子集合內。
  16. 如申請專利範圍第15項所述之電腦可讀取儲存硬體裝置,其中具有既未被判定為在一致性分類也未被判定在不一致性分類的數值的狀態參數就被包括在該子集合內。
  17. 如申請專利範圍第14項所述之電腦可讀取儲存硬體裝置,其中該等狀態參數包含該等虛擬機器 影像上軟體的組態設定及運作狀態。
TW101115391A 2011-06-28 2012-04-30 虛擬機器影像分析 TWI547874B (zh)

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
TW201301137A TW201301137A (zh) 2013-01-01
TWI547874B true TWI547874B (zh) 2016-09-01

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 Before (1)

Application Number Title Priority Date Filing Date
TW105109707A TWI563449B (en) 2011-06-28 2012-04-30 Virtual machine image analysis

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 (33)

* 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
US9229951B1 (en) 2011-06-30 2016-01-05 Emc Corporation Key value databases for virtual backups
US8843443B1 (en) * 2011-06-30 2014-09-23 Emc Corporation Efficient backup of virtual data
US8849777B1 (en) 2011-06-30 2014-09-30 Emc Corporation File deletion detection in key value databases for virtual backups
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
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 한국과학기술정보연구원 가상 머신 구동 시스템 및 방법
US9767276B1 (en) 2014-08-26 2017-09-19 Amazon Technologies, Inc. Scanning kernel data structure characteristics
US9507621B1 (en) 2014-08-26 2016-11-29 Amazon Technologies, Inc. Signature-based detection of kernel data structure modification
US9575793B1 (en) * 2014-08-26 2017-02-21 Amazon Technologies, Inc. Identifying kernel data structures
US9530007B1 (en) 2014-08-26 2016-12-27 Amazon Technologies, Inc. Identifying tamper-resistant characteristics for kernel data structures
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
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
US9495188B1 (en) 2014-09-30 2016-11-15 Palo Alto Networks, Inc. Synchronizing a honey network configuration to reflect a target network environment
US20160125059A1 (en) 2014-11-04 2016-05-05 Rubrik, Inc. Hybrid cloud data management system
EP3252600A4 (en) * 2015-01-28 2018-02-28 Nec Corporation Virtual network function management device, system, healing method, and program
JP6197816B2 (ja) * 2015-03-24 2017-09-20 日本電気株式会社 ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
JP6696252B2 (ja) * 2016-03-24 2020-05-20 富士ゼロックス株式会社 通信プログラム、通信装置及び情報処理装置
CN109313565A (zh) 2016-05-02 2019-02-05 诺基亚通信公司 虚拟网络环境中的快照创建
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
CN117891472B (zh) * 2024-03-11 2024-06-04 杭州吉利汽车数字科技有限公司 一种裸金属镜像部署的方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI243313B (en) * 2002-12-10 2005-11-11 Ibm Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
US20090198731A1 (en) * 2008-01-31 2009-08-06 Prowess Consulting, Llc Method and system for modularizing windows imaging format

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2009108943A2 (en) 2008-02-29 2009-09-03 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 富士通株式会社 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI243313B (en) * 2002-12-10 2005-11-11 Ibm Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
US20090198731A1 (en) * 2008-01-31 2009-08-06 Prowess Consulting, Llc Method and system for modularizing windows imaging format

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Helen J.Wang,Automatic Misconfiguration Troubleshooting with PeerPresure,2004 *

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI547874B (zh) 虛擬機器影像分析
TWI553558B (zh) 虛擬機快照與分析
US11403028B2 (en) Virtualized block device backing for virtualization containers
US9256454B2 (en) Determining optimal methods for creating virtual machines
US20140208314A1 (en) Automatically Propagating Updates in a Data Center
US20220035905A1 (en) Malware analysis through virtual machine forking
Pagani et al. Introducing the temporal dimension to memory forensics
US20110231455A1 (en) Detailed Inventory Discovery on Dormant Systems
US20170235945A1 (en) Malicious code analysis device and method based on external device connected via usb cable
JP2021174495A (ja) コンピュータシステムを動作可能状態に選択的に復元するシステムおよび方法
Miller et al. Insights gained from constructing a large scale dynamic analysis platform
US20140298002A1 (en) Method and device for identifying a disk boot sector virus, and storage medium
CN108228319B (zh) 一种基于多桥的语义重构方法
TW201820198A (zh) 檢測系統及檢測方法
US11436251B2 (en) Data size based replication
CN114978963A (zh) 一种网络系统监控分析方法、装置、电子设备及存储介质
CN115421785B (zh) 应用程序的移植处理方法、装置和介质
KR102008953B1 (ko) 메모리 오염 감시 장치 및 방법
US20220343206A1 (en) System and method for assigning performance defects to software processing components
US20240152615A1 (en) Device for extracting trace of act, method for extracting trace of act, and program for extracting trace of act
CN109564533B (zh) 一种支持即时恢复进程中执行引导进程的设备和方法