TWI431531B - 用於更新虛擬機器的方法及系統 - Google Patents

用於更新虛擬機器的方法及系統 Download PDF

Info

Publication number
TWI431531B
TWI431531B TW096110232A TW96110232A TWI431531B TW I431531 B TWI431531 B TW I431531B TW 096110232 A TW096110232 A TW 096110232A TW 96110232 A TW96110232 A TW 96110232A TW I431531 B TWI431531 B TW I431531B
Authority
TW
Taiwan
Prior art keywords
computing device
library
host computing
update
maintenance
Prior art date
Application number
TW096110232A
Other languages
English (en)
Other versions
TW200809627A (en
Inventor
Eric J Winner
Gilad Golan
Robert M Fries
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200809627A publication Critical patent/TW200809627A/zh
Application granted granted Critical
Publication of TWI431531B publication Critical patent/TWI431531B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Description

用於更新虛擬機器的方法及系統
本發明係關於以一修補更新一虛擬機器或其一組件,以維護虛擬機器或組件。特別是,本發明係關於一系統及方法,其可更新一程式庫或與其相似者中之此一虛擬機器且因此可離線更新之。更明確地說,本發明係關於此一系統及方法,其可部署來自程式庫以及進入一上線狀態之虛擬機器,以套用該修補,或以一而不致悖離本發明之精神及範圍之形式連同可套用該修補之檔案掛載虛擬機器。
應可理解,一虛擬機器(VM)為一軟體構造或與其相似者,其可基於仿真一硬體系統之目的在一運算裝置或與其相似者(即,一「主機」)上作業。傳統上,雖然並非必須,VM為一應用程式或與其相似者,且可用於主機上以樣例化一使用應用程式或與其相似者,且同時將此使用應用程式與此主機裝置或此主機上之其他應用程式隔離。在一種傳統情形中,主機能容納複數個部署之VM,每一VM可執行作為可自主機取得之資源的某些預定功能。明顯地,就所有意圖及目的而言,每一VM為一運算機器,雖然是虛擬之形式,且因此能夠以相同之方式向其使用應用程式及外部世界二者表示其本身。
傳統上,雖然並非必要,一主機可將其每一VM部署於一分離分區中。此主機可包括一虛擬化層其具有一VM監視器或與其相似者可作為一間控應用程式或「超管理器」,虛擬化層可在該處間控和/或以其他方式管理主機之每一VM的監督態樣,且可作為每一VM及外部世界間之一種可能連結。
一VM的證明之一為VM身為一虛擬構造且能隨意停止及再啟動,且還有當VM停止時能將以一檔案或與其相似者之形式儲存並擷取之。特別是,在一特定運算裝置上樣例化之VM為一單一軟體構造,能精巧地將其包裝成如軟體構造一般,其包括關於此VM之所有資料,包括關於VM之作業資料及狀態資訊。因此,可藉由停止位於第一種主機之VM、將該停止之VM移動至第二種主機、以及在第二種主機再啟動該移動之VM、或與其相似者,將一第一種主機上之一VM移動或「轉移」至一第二種主機。更一般而言,可利用一類似方式將一VM自一第一種平台轉移至一第二種平台,其中平台可代表不同主機、相同主機之不同組態、或與其相似者。在後者之情形中,且應可理解,一運算裝置可具有一不同組態,舉例而言,若加入額外記憶體、改變一處理器、提供一額外輸入裝置、移除一選擇裝置、等。
可利用一類似方式來維護VM之一程式庫,其中程式庫中之每一VM為一停止且儲存之VM,其在適當指令下可供擷取及再啟動。因此,且作為一種實施例,需要一特定處理情境之一使用者或與其相似者能細察程式庫以找出其中一種適當之VM其能夠處理該情境且當找出此一VM時能擷取以及再啟動VM。已經部署一VM之一使用者或與其相似者能利用相似之方式,在任何適當時點停止該VM並將停止之VM儲存至程式庫以供稍後擷取,在該時點上,能夠再啟動程式庫中正在擷取之該已儲存VM以繼續處理。
應理解,VM包括一作業系統、一或更多種使用應用程式、及其他各種軟體構造(即,總稱為「軟體構造」),且VM之每一軟體構造可能有時需要以一修補或與其相似者之形式進行的一種更新。可以理解,可基於多種理由之任一者執行此一更新,包括將該構造保持於現行狀態、提供該構造額外機能、處理與該構造相關之安全性議題、或與其相似者。一般而言,構造可包括更新機能其可週期性地向一更新來源查詢任何新修補、以及若可用時更新機能取得新修補並安裝之,也許可在一使用者或與其相似者之協助和/或許可下進行。
明顯地,停止並儲存於一程式庫或與其相似者中之一VM無法執行任何處理,且因此,此一停止及儲存之VM的一構造之更新機能可能無法適當地取得並安裝。可以理解,當其VM經停止並儲存時,若更新之本質相對不重要時,無法更新一構造可能是一種次要之不便,或若更新之本質相對重要時,這可能是一種較重大之問題。在前者之情形中,可能相對較不重要之一更新可以是例如一種可提供額外顯示功能之更新。在後者之情形中,可能相對較重要之一更新可以是例如一種處理一安全性議題之更新。
特別是關於相對較重要之一更新,當可利用正常之方式自程式庫擷取VM並再啟動時,可能無法接受需等待直到某種不確定之時間才將更新套用至一VM。相對應地,存在一種需求,需要一種系統及方法以允許將任何更新且特別是任何重要更新套用至一程式庫中之一VM。
本發明可滿足上述需求,本發明中提出一種系統及方法,其係關於一運算裝置上之虛擬機器(VMs)的一程式庫。將每一VM以一種停止之形式儲存於此程式庫中,以供自程式庫擷取之以及在一主機運算裝置上再啟動之。程式庫之每一VM為一軟體構造,當於一主機運算裝置上再啟動時其可仿真一硬體系統。每一再啟動之VM包括複數個軟體構造。程式庫中每一VM之每一軟體構造至少可能為非現行及需要一軟體更新。
在本發明之方法中,對於程式庫中之每一VM,可週期性地決定VM之每一軟體構造是否為現行。若VM之任何軟體構造並非現行,在程式庫中將VM標記為非現行。在某些時點,可接收一選擇,其為來自欲擷取之程式庫且將於一主機運算裝置上再啟動之一VM。若所選之VM在程式庫中標記為非現行,可在不具有任何主機運算裝置之存取之一維護主機運算裝置更新該VM,之後可在主機運算裝置再啟動該更新之VM。
為了更新VM,可自程式庫擷取此VM並於維護主機運算裝置上再啟動之,且可藉由自一相對應來源取得如至少一種修補之之所需軟體更新,以允許於維護主機運算裝置更新該再啟動VM之每一非現行軟體構造。或者是,將VM掛載於一運算裝置、檢視該掛載之VM的組成組件以決定該VM之每一軟體構造是否為現行、以及藉由自相對應更新來源取得如至少一種修補之必須軟體更新來更新每一非現行軟體構造,並將每一修補套用至該掛載之VM。
電腦環境
第1圖及下文敘述之本意為針對可供本發明和或其部份於其中實作之一種適當運算環境之一種簡短一般敘述。雖然並非必須,此處於電腦可執行指令之一般脈絡下描述本發明,例如程式模組等由一電腦如一用戶端工作站或一伺服器執行者。一般而言,程式模組包括常式、應用程式、物件、組件,資料結構及與其相似者其能執行特定任務或實作特定抽象資料類型。此外,應可理解,可利用其他電腦系統組態來實作本發明和/或其部份,包括手持式裝置、多處理器系統、以微處理器為基礎或可程式化消賣性電子產品、網路PC、迷你電腦、主機電腦及與其相似者。亦可將本發明實作於分散式運算環境中,其中任務係由透過一通訊網路連接之遠端處理裝置來執行。在一分散式運算環境中,程式模組可位於本機以及遠端記憶體儲存裝置二者中。
如第1圖所示,一示範性一般用途運算系統包括一傳統個人電腦120或與其相似者,包括一處理單元121、一系統記憶體122、以及將各種系統元件包括系統記憶體耦合至處理單元121的一種系統匯流排123。系統匯流排123可以是多種匯流排結構類型之任一種,包括運用多種匯流排架構之任一種的一記憶體匯流排或記憶卡、一周邊匯流排、以及一區域匯流排。系統記憶體包括唯讀記憶體(ROM)124以及隨機存取記憶體(RAM)125。可將一基本輸入/輸出系統(BIOS)126儲存於ROM 124中,其含有基本常式,可協助在個人電腦120中之元件間的資訊傳輸,例如在開機過程中。
電腦120可更包括一而不致悖離本發明之精神及範圍機127可用於讀取並寫入一而不致悖離本發明之精神及範圍(此處未顯示)、一磁碟機128可用於讀取並寫入一種可移除磁碟129、以及一光碟機130可用於讀取或寫入可移除光碟131例如一CD-ROM或其他光學媒體。而不致悖離本發明之精神及範圍機127、磁碟機128、以及光碟機130分別由一種而不致悖離本發明之精神及範圍機介面132、一磁碟機介面133、以及一光碟機介面134連接至系統匯流排123。這些硬體以及與其相關聯之電腦可讀取媒體對個人電腦120之電腦可讀取指令、資料結構、程式模組、以及其他資料提供了非易變儲存。
雖然此處所述之示範性環境採用一而不致悖離本發明之精神及範圍、一可移除磁碟129以及一可移除光碟131,應可理解,示範性作業環境中也可以利用其他可儲存電腦可存取資料的電腦可讀取媒體。此種其他媒體類型包括一磁匣、一快閃記憶卡、一數位多功能光碟、一Bernoulli卡匣、一隨機存取記憶體(RAM)、一唯讀記憶體(ROM)、及與其相似者。
可將多種應用程式模組儲存在而不致悖離本發明之精神及範圍、可移除磁碟129以及光碟131、ROM124或RAM125中,包括一作業系統135、一或多種應用程式136、其他應用程式模組137與應用程式資料138。一使用者可經由輸入裝置如鍵盤140與指向裝置142,將指令與資訊輸入至個人電腦120中。其他輸入裝置(此處未顯示)可包括一麥克風、搖桿、遊戲墊、衛星碟、掃描器、或與其相似者。這些與其他輸入裝置通常經由耦合至系統匯流排的一種序列埠介面146連接至處理單元121,但可經由其他介面連接,例如一平行埠、一遊戲埠、或一通用序列匯流排(USB)。一螢幕147或其他類型之顯示裝置亦可透過一介面例如一視訊配接卡148連接至系統匯流排123。除了螢幕147之外,個人電腦通常包括其他周邊輸出裝置(此處未顯示),例如擴音器與印表機。第1圖之示範性系統亦包括一主機配接卡155、一小型電腦系統介面(SCSI)匯流排156、及連接至該SCSI匯流排156之一外接儲存裝置162。
個人電腦120可在一種網路化環境中作業,其係利用邏輯連線至一或更多種遠端電腦,例如遠端電腦149。遠端電腦149可以是另一種個人電腦、一伺服器、一路由器、一網路PC、一對等裝置、或其他常見網路節點,且通常包括上文關於個人電腦120所述之多種或全部元件,雖然第1圖中僅闡明了一種記憶體儲存裝置150。第1圖中所繪之邏輯連接包括一區域網路(LAN)151以及一廣域網路(WAN)152。此種網路環境在辦公室或企業內電腦網路、內部網路、與網際網路中很常見。
當用於一LAN網路環境時,個人電腦120透過一網路介面或配接卡153連接至區域網路151。當用於一WAN網路環境時,個人電腦120通常可包括一數據機154、或其他可在廣域網路152如網際網路中建立通訊的裝置。數據機154可以是內建或外接,其係透過序列埠介面146連接至系統匯流排123。在一網路化環境中,可將關於電腦120所示之程式模組或其一部份儲存於遠端記憶體儲存裝置中。可以理解,此處所示之網路連線僅為示範性,且可利用其他在廣域網路中建立連線之方法。
主機及虛擬機器程式庫
參照第2圖所示,本發明專可運用於虛擬機器(VMs)12之一程式庫10的脈絡中,其中之每一者以一種停止且很有可能是關閉之形式儲存於此程式庫10中,且可利用一適當方式自程式庫10擷取之並於一主機14上再啟動。應注意,在此處程式庫10、VM 12、及主機14可以是任何適當程式庫、VM、及主機,而不致悖離本發明之精神與範圍。此一程式庫、VM、及主機為習知技藝人士所知,且因而不需在此進一步詳述。
如上文所述,程式庫10中之每一VM 12為一體構造或與其相似者,當於一主機14上再啟動時其可仿真一硬體系統。因此,VM 12可運用主機14之資源以樣例化一使用應用程式或與其相似者,且同時將此使用應用程式與此主機14及此主機14上之其他應用程式隔離。如圖所示,主機14可容納複數個部署之VM 12,其中每一VM 12可獨立執行某些預定功能。舉例而言,部署於主機14上之VM 12的至少某一些可作為資料伺服器、此VM 12之至少某些可作為關於耦合至主機14之一網路16的網路伺服器、此VM 12之至少某些可作為郵件伺服器、以及此VM 12之至少某些可執行低階功能包括維護功能、資料收集、硬體監視器、錯誤更正、檔案管理、及與其相似者。明顯地,就所有意圖及目的而言,每一VM 12為一運算機器,雖然是虛擬之形式。
主機14本身可以是一種適當運算裝置例如一桌上型電腦、一膝上型電腦、一手持式電腦、一個人資料助理、一主機電腦、或有主機或VM12之一或更多者必須之機能及能力之任何其他類型的運算裝置。需謹記在心,每一VM可能需要來自主機14之大量記憶體、I/O作業、儲存空間、及處理器能力,然而,且同時需記住,可預期主機14在任一時間能夠容納2、5、10、20或更多之VM 12,主機14應能夠擁有大量之能力及資源以便事實上容納這些VM 12。
程式庫10可以是任何種類之運算裝置的任何種類之程式庫,而不致悖離本發明之精神及範圍。舉例而言,程式庫10可常駐於一伺服器中,後者具有足夠之能力以容納此程式庫10之所有VM 12,或其可僅常駐於具有足夠前述能力之一適當而不致悖離本發明之精神及範圍中。在後者之情形中,硬碟甚至可以是主機14之部份。然而,應注意,在有多重可用主機14之情形中,此程式庫10和該主機14之間可能實際上彼此分離但卻有通訊連接。可想見,程式庫10本身可常駐於一虛擬機器上。
如上所述,可隨意停止並再啟動作為一虛擬構造之每一VM 12,且當停止時能利用與一檔案或與其相似者相似之方式將之儲存於程式庫10中並於該處進行擷取。特別是,每一VM 12為一種單一軟體構造,能精巧地將其包裝成如軟體構造一般,其包括關於此VM 12之所有資料,包括關於VM 12之作業資料及狀態資訊。因此,可藉由停止位於一第一種主機14之一VM 12,將該停止之VM 12移動至一第二種主機14、以及在第二種主機14再啟動該移動之VM 12,將第一種主機14上之該VM 12移動或「轉移」至第二種主機14。
傳統上,雖然並非必須,第2圖之系統包括在一適當運算裝置或與其相似者上作業之一VM控制器18。原則上,且可理解,可操作此VM控制器18以便自程式庫10擷取一儲存之VM 12,且可藉由在一特定主機14上再啟動之而部署該擷取之VM,且亦可停止該部署之VM 12並將該停止之VM 12儲存於程式庫10,上述動作皆於一使用者或與其相似者之適當指引下進行。因此,需要一特定處理情境之一使用者或與其相似者能藉由VM控制器18細察程式庫10以找出一適當VM 12其能夠處理該情境,且當找出此一VM 12時,使用者能運用VM控制器18以擷取並再啟動VM 12。已經部署一VM之一使用者或與其相似者能利用相似之方式,在任何適當時點停止該VM並將停止之VM儲存至程式庫以供稍後擷取,在該時點上,能夠再啟動程式庫中正在擷取之該已儲存VM以繼續處理。此處應注意,VM控制器18,可以是任何適當之VM控制器而不致背離本發明之精神及範圍。此一VM控制器18為習知技藝人士所知,且因而不需在此進一步詳述。
以修補進行更新
如上所述,在一實體層面中程式庫20中之每一VM 12本身為一軟體構造,但在一虛擬層面中VM 12本身包括複數個軟體構造其包括一作業系統具有一註冊檔或與其相似者、一或更多種使用應用程式、各種裝置驅動程式及裝置程式庫、及與其相似者(即,總稱為「軟體構造」)。明顯地,任何VM 12之每一軟體構造可能隨時需要以一修補或與其相似者之形式進行一軟體更新。此種以一修補20或與其相似者進行之一軟體更新為習知技藝人士所熟知,且因而不需在此進一步詳述。可以理解,可基於多種理由之任一者執行此一更新,包括將該構造保持於現行狀態、提供該構造額外機能、處理與該構造相關之安全性議題、或與其相似者。對應地,本發明可在不考慮任何特定軟體更新或修補20(下文稱為「修補20」)或其類型之情形下作業。
一般而言,可利用一種至少部份自動化之方式將一修補20套用至一軟體構造例如一VM 12之軟體構造。同樣地,該構造可包括更新機能其可週期性地向一或更多種更新來源22查詢任何新修補20,且若可用時更新機能由更新來源22取得每一新修補20並安裝之,也許可在一使用者或與其相似者之協助和/或許可下進行。更新機能以及一構造或與其相似者為習知技藝人士所熟知,且因而不需在此進一步詳述。相對應地,本發明可在不考慮任何特定更新機能之情形下作業。
然而,應注意,要讓一VM 12之任何特定構造的更新機能作業,必須部署並作業VM 12本身。換言之,一種已停止並儲存於一程式庫或與其相似者中之VM無法執行任何處理,及因此無法取得此一停止及儲存之VM的一構造之更新機能且無法安裝來自更新來源22之一修補20。簡言之,無法更新常駐於程式庫10中之一VM 12的一軟體構造。因此,軟體構造必須有效等待更新,直到由程式庫10擷取該VM 12並於一主機14上再啟動為止。
然而,應注意,非常有可能在一種情形中針對儲存於程式庫10中之一VM 12的一特定構造發出一重要更新例如一安全性更新。在此一情形中,VM 12並未受到該安全性更新針對一安全性威脅提供之保護,且因此不應將之部署至具有此一未受保護狀態之構造的任何主機74中。特別是,且當主機14能夠存取任何網路例如網路16時,部署此一未受保護之VM 12可能導致一主機之任何一者發生嚴重的安全性問題,包括破壞網路16、主機14、網路16上之其他主機14、及與其相似者之一安全性。
因此,且同樣參照第2圖,在本發明之一具體實施例中,VM控制器18可將VM 12部署至一維護主機14m,其中維護主機14m能夠藉由一種適當之通訊耦合而存取更新來源22,但無法藉由網路16或其他方式存取任何主機14。特別是,且參照第3圖,VM控制器18能夠以一排程器24(第2圖)為基礎而作業來週期性地部署一或更多種VM 12之每一者以供維護主機14m進行更新(步驟301)。可以理解,在維護主機14m,以適當取得之修補20來更新每一部署之VM 12的軟體構造之一或更多者修補20(步驟305),其後可停止該更新之VM 12並以更新之形式將之儲存於程式庫10,以等待在一主機14進行下一部署(步驟307)。能夠以部署之VM 12的軟體構造觸發之處理為基礎來更新此軟體構造(步驟303a),或能夠以VM控制器18觸發之處理來更新之(步驟303b)。在後者之情形中,VM控制器18運用適當之已知介面來實踐此種觸發。
應注意,排程器24可以是任何適當排程器,例如舉例而言一任務排程器其為VM控制器18之部份,且可以任何適當類別為基礎排程每一VM 12以進行更新,而不致悖離本發明之精神及範圍。舉例而言,排程器24可作業以造成VM控制器18可在每一週、每二週、及與其相似者將每一VM 12部署至維護主機14m。此一排程器及此排成為習知技藝人士所熟知且因而不需在此進一步詳述。亦應注意,維護主機14m可以是任何適當主機而不致悖離本發明之精神及範圍,其符合維護主機需將其上每一部署之VM 12由其他主機14隔離或以其他方式分離以及僅允許存取更新來源22之需求。
可以理解,VM控制器18以第2圖之排程器24為基礎來進行第3圖所示之作業時,在某種程度上欠缺效率,因為不論該VM 12是否需要進行更新,都會將每一VM 12部署於維護主機14m。相對應地,且在本發明之一具體實施例中,並參照第4圖,並非在最初將每一排程之VM 12部署至維護主機14m,VM控制器18反而會將VM 12掛載至一運算裝置例如維護主機14m、程式庫10或與其相似者,而使得可檢視VM之組成組件(步驟401)。掛載此VM 12以供檢視為習知技藝人士所熟知且因而不需在此進一步詳述。相對應地,可執行任何特定形式之掛載而不致悖離本發明之精神及範圍。舉例而言,可掛載此VM 12而使得能夠以具有複數個檔案或與其相似者之一硬碟或與其相似者之形式來檢視其組成組件。
當掛載後,VM控制器18可檢視VM 12之各種部份以決定VM 12之各種構造是否為現行(步驟403)。特別是,且可以理解,VM可藉由檢視來自掛載之VM 12的資訊例如檔案版本、註冊表資訊、及傳統上可用以決定是否需要以一或更多種修補20進行更新之其他資料,以進行此一決定。假設實際上需要一或更多種修補20,VM控制器18接著可執行由一適當更新來源22取得每一此修補20(步驟405)並將之套用至VM 12。明顯地,可將此修補20套用至掛載之VM 12(步驟407a),或若有必要時套用至部署於維護主機14m上之VM 12(步驟407b)。
在前者之情形中,如在步驟407a,VM控制器18可藉由在掛載之VM 12上進行檔案取代、修改、及與其相似者來特用每一修補20。可藉由在掛載之VM 12上定位註冊表設定檔案以及之後載入在維護主機14m、程式庫10、或與其相似者上載入該定位之註冊表設定、修改載入之設定檔、以將修改之設定檔作為相對應定位之設定檔之一種替換,來進行任何必要之註冊表修改。在後者之情形中,如在步驟407b,VM控制器18首先可由維護主機14m或與其相似者卸載VM 12,且之後將之部署於此維護主機14m上。最後,當已經利用所有所需修補20更新VM 12之後,VM控制器18可接著將更新之VM 12移動回程式庫10,不論是藉由自維護主機14m或與其相似者卸載VM 12以及將卸載之VM 12儲存於程式庫10中(步驟409a)、或藉由停止該部署之VM 12並將停止之VM 12儲存於程式庫10中(步驟409b)。
可以理解,以第4圖所示之方式作業之VM控制器18有時可能略顯不足,因為不論使用者或與其相似者是否運用該VM 12,均會更新每一VM 12。亦即,即便很少或幾乎不會部署VM 12,仍會更新每一VM 12。相對應地,且在本發明之一具體實施例中,以及參照第5圖,並非實際更新每一非現行VM 12,VM控制器反而會將VM 12標記為非現行,且僅會在事實上部署VM 12之前才會實際更新之。特別是,且如前所述,VM控制器18可決定每一排程之VM 12是否為現行(步驟501),舉例而言可藉由掛載VM 12而使得能夠檢視VM 12之組成組件,如步驟401。然而,在此處,同樣能夠以一種適當方式來標記每一非現行VM 12(步驟503),舉例而言可藉由將一適當記法包括於程式庫10中之VM 12。因此,當一使用者由程式庫10選擇將部署之每一VM 12時(步驟505),VM控制器18首先可查核所選VM 12是否標記為非現行(步驟507)。若為非現行,首先可將VM 12部署或掛載至維護主機14m,並如步驟301及後續步驟、或401及後續步驟更新之(步驟509),之後將目前為現行之VM 12部署至一主機14以供選擇之使用者使用(步驟511安全性)。
結論
實踐連同本發明執行之處理所必須之程式設計相對明確易懂,且應為習知技藝人士熟知。相對應地,並未於此處敘述此種程式設計。則可運用任何特定程式設計以實踐本發明而不致悖離其精神及範圍。
在上文敘述中,可以發現本發明至少包含一種新穎且有用之系統及方法其可用以將一更新套用至儲存於一程式庫10中之一VM 12。應可理解,可對上述具體實施例進行修改而不致悖離其發明性範圍。因而應了解,本發明不限於所揭露之特定具體實施例,且其本意應涵蓋附錄申請專利範圍界定之本發明的精神及範圍內之修改。
10...程式庫
12...虛擬機器
14...主機
14M...維護主機
16...網路
18...VM控制器
20...修補
22...更新來源
24...排程器
120...個人電腦系統
121...處理單元
122...系統記憶體
123...系統匯流排
124...唯讀記憶體
125...隨機存取記憶體
126...基本輸入/輸出系統
127...硬碟機
128...磁碟機
129...可移除磁碟
130...光碟機
131...可移除光碟
132...硬碟機介面
133...磁碟機介面
134...光碟機介面
135...作業系統
136...應用程式
137...程式模組
138...程式資料
140...鍵盤
142...指向裝置
146...序列埠介面
147...螢幕
148...視訊配接卡
149...遠端電腦
150...記憶儲存裝置
151...區域網路
152...廣域網路
153...網路介面
154...數據機
155...主機配接卡
156...SCSI匯流排
162...外接儲存裝置
連同附隨圖式可更加了解本發明之具體實施例的上述發明內容以及實施方式。基於闡明本發明之目的,圖式中顯示目前較佳之具體實施例。然而,應可理解,本發明不限於所示之特定配置及手段。其中圖式如下:第1圖為一區塊圖,闡明一種一般用途電腦系統其中可納入本發明之態樣和/或其部份;第2圖為一區塊圖,闡明一種具有虛擬機器(VMs)之一程式庫的系統,可於一維護主機再啟動其中之每一者或將之掛載至一運算裝置以依照本發明之具體實施例進行更新;以及第3-5圖為流程圖,顯示以第2圖之系統依照本發明之具體實施例執行的關鍵步驟。
10...程式庫
12...虛擬機器
14...主機
14M...維護主機
16...網路
18...VM控制器
20...修補
22...更新來源
24...排程器

Claims (20)

  1. 一種用於更新在一計算系統中之虛擬機器(VM)的方法,該計算系統包含一主機計算裝置、一程式庫及一維護主機計算裝置,該主機計算裝置耦合至一網路,該程式庫無法存取該網路,該維護主機計算裝置無法存取該網路,其中該網路可對該主機計算裝置及部署在該主機計算裝置上的任何VM造成一安全性風險,該方法至少包含:將在一停止之形式的一VM儲存在該程式庫中;自該程式庫擷取該VM;在該維護主機計算裝置上再啟動該VM;藉由自一相對應更新來源取得所需軟體更新做為至少一修補(patch),於該維護主機計算裝置處更新該再啟動之VM的每一非現行軟體構造;停止該更新之VM並將該停止之VM儲存於該程式庫;以及於該主機計算裝置處再啟動該更新之VM。
  2. 如申請專利範圍第1項所述之方法,該方法進一步包含於外部觸發即將更新之該再啟動VM的每一非現行軟體構造。
  3. 如申請專利範圍第1項所述之方法,其中該再啟動VM之每一非現行軟體構造經配置以於內部觸發即將更新之每 一非現行軟體構造本身。
  4. 如申請專利範圍第1項所述之方法,其中該計算系統進一步包含一VM控制器,且其中該VM控制器經配置以自該程式庫擷取該VM,於該維護主機計算裝置上再啟動該擷取之VM,以及停止該再啟動之VM並將該停止之更新VM儲存於該程式庫之處。
  5. 如申請專利範圍第4項所述之方法,其中該VM控制器經配置以基於一排程器而週期性地於該維護主機計算裝置處再啟動該程式庫之每一VM以供更新。
  6. 如申請專利範圍第1項所述之方法,該方法進一步包含基於一排程器,週期性地於該維護主機計算裝置處再啟動該程式庫之每一VM以供更新。
  7. 如申請專利範圍第1項所述之方法,其中該VM係在一週期性基礎上被擷取自該程式庫。
  8. 如申請專利範圍第1項所述之方法,該方法進一步包含:週期性地決定是否該VM的任何軟體構造為非現行;其中該VM係回應於產生一決定的該週期性地決定步驟而在該維護主機計算裝置上被再啟動,該決定係該VM 之任何軟體構造為非現行。
  9. 一種用於更新在一計算系統中之虛擬機器(VM)的方法,該計算系統包含一主機計算裝置、一程式庫及一維護主機計算裝置,該主機計算裝置耦合至一網路,該程式庫無法存取該網路,該維護主機計算裝置無法存取該網路,其中該網路可對該主機計算裝置及部署在該主機計算裝置上的任何VM造成一安全性風險,該方法至少包含:將在一停止之形式的一VM儲存在該程式庫中;在一週期性基礎上自該程式庫擷取該VM;將該擷取之VM掛載至該維護主機計算裝置;檢視該掛載之VM的組成組件以決定該VM之每一軟體構造是否為現行,以及針對每一非現行軟體構造,藉由自一相對應更新來源取得所需軟體更新做為如至少一修補並將每一修補套用至該掛載之VM,於該維護主機計算裝置處更新每一非現行軟體構造;將該更新之VM儲存於該程式庫處;以及於該主機計算裝置處再啟動該更新之VM。
  10. 如申請專利範圍第9項所述之方法,該方法進一步包含:當該VM被掛載於該維護主機計算裝置時,將每一修補套用至該非現行軟體構造;以及 將該更新之VM自該維護主機計算裝置卸載後,將該更新之VM儲存於該程式庫處。
  11. 如申請專利範圍第9項所述之方法,該方法進一步包含:於該維護主機計算裝置處將每一修補套用至該非現行軟體構造;自該維護主機計算裝置卸載該VM,並接著於該維護主機計算裝置上再啟動該VM;以及於該維護主機計算裝置處停止該更新之VM後,將該更新之VM儲存於該程式庫處。
  12. 如申請專利範圍第9項所述之方法,進一步包含將該擷取之VM掛載至該維護主機計算裝置,而使得能以具有複數個檔案之一硬碟的形式來檢視該掛載之VM的組成組件。
  13. 如申請專利範圍第9項所述之方法,其中檢視該掛載之VM的組成組件之步驟至少包含檢視來自該掛載之VM的資訊,該資訊包括檔案版本。
  14. 如申請專利範圍第9項所述之方法,其中該計算系統進一步包含一VM控制器,該VM控制器經配置以自該程 式庫擷取該VM,將該擷取之VM掛載至該維護主機計算裝置,且在該程式庫處儲存該更新之VM。
  15. 如申請專利範圍第14項所述之方法,其中該VM控制器經配置以基於一排程器而週期性地於該維護主機計算裝置處再啟動該程式庫之每一VM以供更新。
  16. 如申請專利範圍第9項所述之方法,該方法進一步包含基於一排程器而週期性地於該維護主機計算裝置處再啟動該程式庫之每一VM以供更新。
  17. 一種用於更新複數個虛擬機器(VM)的系統,該系統至少包含:一主機計算裝置,該主機計算裝置耦合至一網路,該主機計算裝置經配置以容納一或更多經部署之VM,其中該網路可對該主機計算裝置及部署在該主機計算裝置上的任何VM造成一安全性風險;一程式庫,該程式庫無法存取該網路,該程式庫經配置儲存在一停止之形式的複數個VM;一維護主機計算裝置,該維護主機計算裝置無法存取該網路,該維護主機計算裝置經配置以容納一或更多經部署之VM;以及一虛擬機器控制器,該虛擬機器控制器經配置以: 自該程式庫擷取一VM,在該維護主機計算裝置上再啟動該VM,當該VM在該維護主機計算裝置上被再啟動時,以一軟體更新來更新該VM之各非現行軟體構造,停止該更新之VM,將該停止之更新VM儲存在該程式庫中,以及在該主機計算裝置上再啟動該更新之VM。
  18. 如申請專利範圍第17項所述之系統,其中該VM控制器經配置以週期性地自該程式庫擷取該VM,並於該維護主機計算裝置處再啟動該程式庫之該VM以供更新。
  19. 如申請專利範圍第17項所述之系統,其中該VM控制器經配置以基於一排程器而自該程式庫擷取該VM以及於該維護主機計算裝置處再啟動該程式庫之該VM以供更新。
  20. 如申請專利範圍第17項所述之系統,進一步包含:一更新來源,該更新來源包含複數個軟體更新,其中該虛擬機器控制器經配置以自該更新來源中的該等複數個軟體更新擷取該軟體更新。
TW096110232A 2006-05-22 2007-03-23 用於更新虛擬機器的方法及系統 TWI431531B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/439,395 US8291409B2 (en) 2006-05-22 2006-05-22 Updating virtual machine with patch on host that does not have network access

Publications (2)

Publication Number Publication Date
TW200809627A TW200809627A (en) 2008-02-16
TWI431531B true TWI431531B (zh) 2014-03-21

Family

ID=38713349

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096110232A TWI431531B (zh) 2006-05-22 2007-03-23 用於更新虛擬機器的方法及系統

Country Status (14)

Country Link
US (1) US8291409B2 (zh)
EP (1) EP2024849B1 (zh)
JP (1) JP5113836B2 (zh)
KR (1) KR101279696B1 (zh)
CN (1) CN101454765B (zh)
AU (1) AU2007254474B9 (zh)
BR (1) BRPI0712660B1 (zh)
CA (1) CA2649888C (zh)
HK (1) HK1129748A1 (zh)
MX (1) MX2008014860A (zh)
MY (1) MY151935A (zh)
RU (1) RU2439677C2 (zh)
TW (1) TWI431531B (zh)
WO (1) WO2007136448A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7873955B1 (en) 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7856661B1 (en) * 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US7870387B1 (en) 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8352930B1 (en) 2006-04-24 2013-01-08 Mcafee, Inc. Software modification by group to minimize breakage
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US20080126792A1 (en) * 2006-09-19 2008-05-29 Herington Daniel E Systems and methods for achieving minimal rebooting during system update operations
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US8407696B2 (en) * 2007-06-04 2013-03-26 International Business Machines Corporation Method for delivering, testing, and applying software patches or other changes to a conventionally installed application in virtual application containers
CN100555298C (zh) * 2007-06-08 2009-10-28 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8701189B2 (en) 2008-01-31 2014-04-15 Mcafee, Inc. Method of and system for computer system denial-of-service protection
JP2009217395A (ja) * 2008-03-07 2009-09-24 Nec Corp 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8145471B2 (en) * 2008-04-30 2012-03-27 International Business Machines Corporation Non-destructive simulation of a failure in a virtualization environment
US8185884B2 (en) * 2008-06-23 2012-05-22 Novell, Inc. System and method for offline updation of software in virtual machine (VM) images
US9361089B2 (en) * 2008-07-22 2016-06-07 International Business Machines Corporation Secure patch updates of a virtual machine image in a virtualization data processing system
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US9003411B2 (en) * 2009-05-13 2015-04-07 Verizon Patent And Licensing Inc. Automated provisioning and configuration of virtual and physical servers
US8032618B2 (en) 2009-06-05 2011-10-04 Microsoft Corporation Asynchronous update of virtualized applications
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US8341627B2 (en) 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US9552497B2 (en) * 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8533701B2 (en) * 2010-03-15 2013-09-10 Microsoft Corporation Virtual machine image update service
WO2011117954A1 (ja) * 2010-03-20 2011-09-29 株式会社Pfu 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
US20110237234A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US8751857B2 (en) * 2010-04-13 2014-06-10 Red Hat Israel, Ltd. Monitoring of highly available virtual machines
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US20120102190A1 (en) * 2010-10-26 2012-04-26 International Business Machines Corporation Inter-virtual machine communication
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
CN102262549B (zh) * 2011-03-02 2014-10-15 奇智软件(北京)有限公司 补丁安装方法与系统
US8713088B2 (en) * 2011-03-27 2014-04-29 Hewlett-Packard Development Company, L.P. Identifying users of remote sessions
DE102011080231B4 (de) 2011-08-01 2022-09-29 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren, Vorrichtung und System zur Maschinensteuerungswartung
US9772784B2 (en) 2011-08-10 2017-09-26 Nutanix, Inc. Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8924954B2 (en) 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
CN102402446B (zh) * 2011-11-22 2014-12-17 华为数字技术(成都)有限公司 应用软件的安装方法和应用软件的安装装置
CN104182257B (zh) * 2011-11-22 2017-09-05 华为数字技术(成都)有限公司 应用软件的安装方法和应用软件的安装装置
JP5100883B2 (ja) * 2011-11-29 2012-12-19 株式会社東芝 計算機および計算機の制御方法
GB2511012B (en) * 2011-12-08 2014-12-10 Ibm Method and system for patching a virtual image
US8776058B2 (en) 2011-12-11 2014-07-08 International Business Machines Corporation Dynamic generation of VM instance at time of invocation
WO2013088301A1 (en) 2011-12-12 2013-06-20 International Business Machines Corporation Maintenance of offline virtual machines based on maintenance register
WO2013140460A1 (en) * 2012-03-23 2013-09-26 Hitachi, Ltd. Patch applying method for virtual machine by cloning an operating system image on shared storage and applying a patch to this cloned image
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
JP6213053B2 (ja) 2012-09-04 2017-10-18 富士通株式会社 プログラム、情報処理装置およびスケジュール決定方法
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9710291B2 (en) * 2013-06-19 2017-07-18 Empire Technology Development Llc Processor-optimized library loading for virtual machines
JP6098392B2 (ja) * 2013-06-24 2017-03-22 富士通株式会社 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US9507727B2 (en) * 2013-07-17 2016-11-29 Bitdefender IPR Management Ltd. Page fault injection in virtual machines
US9600262B2 (en) 2013-09-19 2017-03-21 International Business Machines Corporation System, method and program product for updating virtual machine images
EP3061030A4 (en) 2013-10-24 2017-04-19 McAfee, Inc. Agent assisted malicious application blocking in a network environment
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9733958B2 (en) * 2014-05-15 2017-08-15 Nutanix, Inc. Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management
US10642507B2 (en) 2015-01-30 2020-05-05 Nutanix, Inc. Pulsed leader consensus management
JP2017004201A (ja) * 2015-06-09 2017-01-05 富士通株式会社 パッチプログラム抽出装置、パッチプログラム抽出プログラム及びパッチプログラム抽出方法
US9600267B2 (en) * 2015-06-15 2017-03-21 International Business Machines Corporation Optimizing provisioning through automated virtual machine template generation
CN105426753B (zh) * 2015-11-18 2019-06-21 北京北信源软件股份有限公司 无代理来宾虚拟机已安装软件检测方法、装置及系统
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10768920B2 (en) * 2016-06-15 2020-09-08 Microsoft Technology Licensing, Llc Update coordination in a multi-tenant cloud computing environment
US10362092B1 (en) 2016-10-14 2019-07-23 Nutanix, Inc. Entity management in distributed systems
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
USD886143S1 (en) 2018-12-14 2020-06-02 Nutanix, Inc. Display screen or portion thereof with a user interface for database time-machine
US10817157B2 (en) 2018-12-20 2020-10-27 Nutanix, Inc. User interface for database management services
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11556517B2 (en) 2020-05-17 2023-01-17 International Business Machines Corporation Blockchain maintenance
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US11640340B2 (en) 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching
US11803368B2 (en) 2021-10-01 2023-10-31 Nutanix, Inc. Network learning to control delivery of updates
US20230221939A1 (en) * 2022-01-07 2023-07-13 Dell Products L.P. Version history based upgrade testing across simulated information technology environments

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990660B2 (en) * 2000-09-22 2006-01-24 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US8205193B2 (en) * 2001-06-11 2012-06-19 Hewlett-Packard Development Company, L.P. Runtime updating of virtual machine class files
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
JP4094560B2 (ja) * 2004-01-23 2008-06-04 株式会社エヌ・ティ・ティ・データ リソース分割サーバ及びリソース分割サーバプログラム
US20050257206A1 (en) * 2004-05-14 2005-11-17 Semerdzhiev Krasimir P Pair-update mechanism for update module
US7908339B2 (en) * 2004-06-03 2011-03-15 Maxsp Corporation Transaction based virtual file system optimized for high-latency network connections
US7441272B2 (en) * 2004-06-09 2008-10-21 Intel Corporation Techniques for self-isolation of networked devices
KR100627728B1 (ko) * 2004-07-28 2006-09-25 에스케이 텔레콤주식회사 데이터 코어망을 이용한 가상머신 애플리케이션의업데이트 방법 및 시스템
US7437721B2 (en) * 2004-09-29 2008-10-14 Microsoft Corporation Isolating software deployment over a network from external malicious intrusion
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US20070234331A1 (en) * 2006-01-06 2007-10-04 Sun Microsystems, Inc. Targeted automatic patch retrieval
US8225314B2 (en) * 2006-03-31 2012-07-17 Intel Corporation Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user

Also Published As

Publication number Publication date
CN101454765B (zh) 2012-01-18
EP2024849A4 (en) 2009-11-11
KR101279696B1 (ko) 2013-06-27
AU2007254474B9 (en) 2012-05-24
CA2649888A1 (en) 2007-11-29
HK1129748A1 (zh) 2009-12-04
EP2024849A1 (en) 2009-02-18
BRPI0712660A8 (pt) 2016-12-13
BRPI0712660A2 (pt) 2012-09-04
CN101454765A (zh) 2009-06-10
US20070271561A1 (en) 2007-11-22
KR20090018909A (ko) 2009-02-24
EP2024849B1 (en) 2015-04-22
US8291409B2 (en) 2012-10-16
JP5113836B2 (ja) 2013-01-09
CA2649888C (en) 2015-05-12
RU2008146053A (ru) 2010-05-27
JP2009538469A (ja) 2009-11-05
AU2007254474B2 (en) 2012-04-05
TW200809627A (en) 2008-02-16
RU2439677C2 (ru) 2012-01-10
MY151935A (en) 2014-07-31
MX2008014860A (es) 2008-12-01
BRPI0712660B1 (pt) 2019-06-18
WO2007136448A1 (en) 2007-11-29
AU2007254474A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
TWI431531B (zh) 用於更新虛擬機器的方法及系統
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
US8205194B2 (en) Updating offline virtual machines or VM images
JP6258940B2 (ja) Bpramを使用したソフトウェア・アプリケーションのレイアウトおよび実行
CN103988181B (zh) 用于给虚拟映像打补丁的方法和系统
US8543797B1 (en) Managed desktop system
US20140325202A1 (en) Intelligent boot device selection and recovery
US20100138823A1 (en) Method and system for software virtualization directly from an installation package
US20080235445A1 (en) IT Automation Appliance Imaging System and Method
US8112620B2 (en) Method and system for discovery of a root file system
US9477504B2 (en) Maintenance of offline virtual machines based on a maintenance register
CN102207896A (zh) 虚拟机崩溃文件生成技术
US20200285609A1 (en) Deferred path resolution during container deployment
US9619340B1 (en) Disaster recovery on dissimilar hardware
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
US7506115B2 (en) Incremental provisioning of software
KR100947136B1 (ko) 소프트웨어의 증분 프로비져닝
Wolf et al. Installing VM Applications on Desktops

Legal Events

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