新四季網

用於虛擬設備的模型驅動的維護的方法和系統的製作方法

2023-07-06 03:40:36 5

專利名稱:用於虛擬設備的模型驅動的維護的方法和系統的製作方法
技術領域:
根據本發明的一個或多個實施例的解決方案一般涉及數據處理領域。更具體而言,此解決方案涉及虛擬設備。
背景技術:
虛擬設備是特定類型的軟體設備。一般而言,軟體設備是包括封裝在預先構建的獨立自備單元中的軟體應用(即,執行特定用戶任務的一個或多個應用程式)以及剛剛足夠作業系統,或JeOS (即,為支持軟體應用專門定製的有限的作業系統)的軟體解決方案;軟體設備提供簡化的管理以及改善的隔離(相對於在完全的通用作業系統上運行的標準軟體應用)。具體而言,虛擬設備是被設計成在虛擬化環境中運行的軟體設備;為此目的,虛擬設備包括一個或多個虛擬機(即,通過物理機的軟體來仿真),每一個都帶有其作業系統以及應用程式。虛擬設備允許以非常簡單而快速的方式來提供相應的服務。每一虛擬設備(如任何其他軟體工件)在其生命周期內常遭受連續的維護操作。具體而言,常常應用修補以糾正錯誤或臨時解決地址安全問題。周期性地提供虛擬設備的新的版本或發行(合併所有可用的修補程序並提供新功能)。然而,虛擬設備的維護十分複雜;的確,在此情況下,維護一般需要對軟體組件的其整個堆棧(即,作業系統、應用程式和/或虛擬機)的若干個更新。在包括多個應用層的大型虛擬設備中該問題特別嚴重,每一個應用層又都包括帶有相應的作業系統以及應用程式的多個虛擬機。為此目的,如US-A-2008/000037060 (此處包括了其完整的描述作為參考)所描述的,可以利用提供對其軟體組件的所有所需的更新的新虛擬設備替換整個虛擬設備。此外,如US-A-2008/0215796 (此處包括了其完整的描述作為參考)所描述的,可以利用「寫入時複製」技術來最小化替換虛擬設備要交換的數據的量。然而,此方法要求任何本地數據(例如,個人信息以及特定自定義)應該適當地與虛擬設備隔開;相反,替換虛擬設備將導致此本地數據的完全丟失。—些工具也可用於促進虛擬設備的管理。具體而言,廣泛地使用建模工具來設計和部署虛擬設備。例如,在「Model-Driven Application Deployment forCloud Computing Environments, White Paper, 2010 年 I 月,,(http: //wikis. sun,com/download/attachments/73401323/CloudPackaging-Final-100131, pdf )(此 處包括了其完整的描述作為參考)陳述了相應的最佳實踐;市場上可用的用於建模虛擬設備的商用的工具是 IBM 公司的 IBM Tivoli Conguration Change Manager (IBM 公司的商標)。此夕卜,在 「FLEXVAPS:A SYSTEM FOR MANAGING VIRTUAL APPLIANCES INHETER0GENE0USVIRTUALIZED ENVIRONMENTS, Kreutz, D. Charao, A. , Grupo de Pesquisa emSist.de Informacao, Univ. Fed. do Pampa, Alegrete, Brazil, Network Operations andManagement Symposium, 2009. LANOMS 2009. Latin American, 2009 年 10 月 19-21,,(此處包括了其完整的描述作為參考)中公開了用於管理異質基礎結構中的虛擬設備的系統,而在 「AN EFFECTIVE ARCHITECTURE FOR AUTOMATED APPLIANCE MANAGEMENT SYSTEMAPPLYING ONTOLOGY-BASED CLOUD DISCOVERY, Amir Vahid Dastjerdil, Sayed GholamHassan Tabatabaei, and Rajkumar Buyya, 201010thIEEE/ACM International Conferenceon Cluster, Cloud and Grid Computing」(此處包括了其完整的描述作為參考)中公開了用於基於本體技術來部署虛擬設備的體系結構。具體而言,rPath公司所推出的商用工具rBuilder (rPath公司的商標)利用深度系統建模,以便以自動方式無縫地更新虛擬設備;此外,如果發生故障,虛擬設備被回滾到已知的良好狀態一例如,如 http://www. rpath. com/corp/images/stories/white_papers/WP_BestPractices. pdf 處的「BEST PRACTICES FOR BUILDINGVIRTUAL APPLIANCES」所描述(此處包括了其完整的描述作為參考)。此外,在US-A-2009/0300641 (此處包括了其完整的描述作為參考)中公開了用於創建虛擬設備的系統。在此情況下,當提供任何軟體組件的更新版本時,向創建包括它們的虛擬設備的用戶發送相應的通知,以便這樣的用戶可以重建帶有更新的軟體組件的相應圖像(以便允許部署這些虛擬設備的任何用戶接收所有它們的軟體組件的正確版本);還可執行測試,以驗證每一虛擬設備是否利用更新的軟體組件正確地表現(以及實現對虛擬設備的適應更新的軟體組件所需的任何更改)。US-A-2010/0312865 (此處包括了其完整的描述作為參考)公開了用於更新虛擬設備的系統,其中,客戶端周期性地聯繫伺服器以確定是否有新的更新可用。如果有,則客戶端下載用於替換虛擬設備的相應部分的差異更新圖像;如果發生錯誤(例如,因為虛擬設備太舊難以直接應用新的更新),則下載完整的更新圖像。在這兩種情況下,一旦用戶結束他/她與虛擬設備的會話,就將(差異或完整的)更新圖像應用到客戶端上。最後,在US-A-2009/0249324 (此處包括了其完整的描述作為參考)中客戶端映射文件與安裝在客戶端上的每一虛擬設備相關聯;客戶端映射文件包括虛擬設備的每一塊的散列值以及表示其在相應圖像內的位置的偏移。當前映射文件同樣與伺服器上的虛擬設備的最新版本相關聯。將當前映射文件與客戶端映射文件進行比較,以確定已經應用於虛擬設備的更改,以便允許客戶端只從伺服器下載虛擬設備的已經更改的部分。然而,本領域內已知的技術不具有一般適用性;實際上,這些技術嚴格地與虛擬設備的特定建模方案關聯,以便它們不能應用於任何其他虛擬設備。此外,當對虛擬設備進行手動更新(獨立於其集中維護)時,已知的技術可能會產生問題。更具體而言,當一些軟體組件已經根據需要被更新時,這可能會導致無用的維護操作;相反,不希望有的手動更新可能會使虛擬設備進入集中維護不能檢測出的不一致的狀態。進一步的缺點是由於在它們的維護過程中虛擬設備的停機時間,該停機時間應該保持得儘可能地短(特別是在關鍵應用中)。

發明內容
一般而言,根據本發明的一個或多個實施例的解決方案基於根據其實際狀態來驅動對虛擬設備的維護的思想。
具體而言,在獨立權利要求中闡述了根據本發明的特定實施例的解決方案的一個或多個方面,在從屬權利要求中闡述同一解決方案的有益特徵,此處逐字地合併了其措詞作為參考(任何有益的特徵都引用根據本發明的一個實施例的解決方案的對其每一個其他方面應用必要的變更的特定方面)。更具體而言,根據本發明的一個實施例的解決方案的一個方面提供用於維護虛擬設備的方法;虛擬設備包括一組軟體組件,每一個軟體組件都安裝在相應的虛擬機上。該方法包括下列步驟。提供維護描述符,包括要被更新到其上的軟體組件中的至少每一個的新級別的指示。對於在所述維護描述符中所指示的每一個軟體組件,確定安裝在所述相應的虛擬機上的所述軟體組件的當前級別。根據所述相應的當前級別以及新級別之間的比較,確定要被實際更新的所述軟體組件的一組舊軟體組件。然後,克隆虛擬設備。通過將每一舊軟體組件更新到所述新級別,來更新所述克隆的虛擬設備。現在將虛擬設備替換為更新的克隆的虛擬設備。根據本發明的一個實施例的解決方案的另一方面提供相應的電腦程式。根據本發明的一個實施例的解決方案的再一個方面提供相應的電腦程式產品。根據本發明的一個實施例的解決方案的一個不同的方面提供相應的系統。


根據本發明的一個或多個實施例的解決方案,以及其進一步特徵以及優點,通過參考純粹地作為非限制性的指示給出的要與各個附圖一起閱讀的下面的詳細描述,將被最佳地理解(其中,為簡單起見,相應的元件利用相同或類似的附圖標記來表示,不重複對它們的說明,每一實體的名稱一般用來表示其類型以及其屬性——諸如值,內容以及表示形式)。具體而言圖1示出了根據本發明的一個實施例的解決方案適用於的數據處理基礎結構的圖形表示,圖2示出了此數據處理基礎結構的一般性計算機的示意框圖,圖3A-圖3F示出了根據本發明的一個實施例的解決方案的應用的示例性情形,以及圖4示出了表示可以被用來實現根據本發明的一個實施例的解決方案的主要軟體模塊的角色的協作圖示。
具體實施例方式現在參考圖1,示出了根據本發明的一個實施例的解決方案的數據處理基礎結構100的圖形表示。數據處理基礎結構100具有基於網絡105—例如,網際網路的分布式體系結構。多個物理和/或虛擬機通過網絡105 —個與另一個地連接。具體而言,一個或多個提供商機器110管理虛擬設備的部署以及它們的維護。每一虛擬設備都安裝在一個或多個用戶機器115上。為此目的,每一用戶機器115都包括虛擬化層(或虛擬機監控程序),該虛擬化層模仿一個或多個虛擬機(每一個虛擬機都包括抽象環境,給出虛擬機對其具有唯一控制的物理機的外觀);商用虛擬化層的一個示例是VMWare公司推出的VMWareESX (VMWare公司的商標)。每一虛擬設備都包括一個或多個虛擬機(在一個或多個用戶機器115上運行);每一虛擬機又包括定義其軟體平臺(例如,JeOS)的作業系統,以及一個或多個在作業系統上運行的應用程式。移到圖2,示出了此數據處理基礎結構的一般性計算機200的示意框圖。計算機200(用來實現上文所提及的物理機或虛擬機)由並聯到系統總線205的多個單元所形成(帶有根據數據處理基礎結構中的計算機200的實際功能適當地縮放的結構)。詳細地,一個或多個微處理器(U P)210控制計算機200的操作;RAM 215被微處理器210用作工作存儲器,而ROM 220存儲用於計算機200的自舉的基本代碼。多個外圍單元圍繞本地總線225 (通過相應接口)而聚集。具體而言,大容量存儲器包括一個或多個硬碟230以及用於讀取DVD或⑶-ROM 240的驅動器235。此外,計算機200包括輸入單元245 (例如,鍵盤以及滑鼠),以及輸出單元250 (例如,監視器以及印表機)。網絡適配器255被用來將計算機連接到網絡(圖中未示出)。橋單元260將系統總線205連接到本地總線225。每一微處理器210和橋單元260都可以作為請求訪問系統總線205以便傳輸信息的主代理(master agent)來操作。判優器265管理對系統總線205的訪問的允許,帶有相互排斥。在圖3A-圖3F中示出了根據本發明的一個實施例的解決方案的應用的示例性情形。從圖3A開始,通用虛擬設備305 (安裝在一個或多個用戶機上,圖中未示出)包括三個虛擬機VMa、VMb和VMc。虛擬機VMa包括兩個軟體組件SWa和SWb (每一個軟體組件都包括作業系統或者應用程式);軟體組件SWa處於級別L2,軟體組件SWb處於級別L4 (例如,通過它們的版本和/或發行來定義)。而虛擬機VMb包括級別LI處的軟體組件SWc,級別L5處的軟體組件SWd,以及級別L3處的軟體組件SWe。最後,虛擬機VMc包括級別L3處的軟體組件SWf,級別L2處的軟體組件SWg。在根據本發明的一個實施例的解決方案中,虛擬設備305的維護是由維護描述符310驅動的(例如,當提供虛擬設備的更新時,從發布它的虛擬設備的提供商機器中檢索)。維護描述符310包括應該被更新到新級別的軟體組件的列表(一般包括其修復問題,解決安全性問題和/或添加進一步功能的升級)。在所涉及的示例中,維護描述符310表示軟體組件SWa應該被更新到級別L3,軟體組件SWd應該被更新到級別L5,以及軟體組件SWf應該被更新到級別L4。移到圖3B,對於在維護描述符310中所指示的每一個軟體組件,確定虛擬設備305中一即,在它被安裝在其中的虛擬機上一的其當前級別(例如,通過在其虛擬機上運行在維護描述符310中所指示的相應的發現命令)。在此情況下,操作確定軟體組件SWa處於級別L2,軟體組件SWd處於級別L5,而軟體組件SWf處於級別L3。現在參考圖3C,根據相應的當前級別(如上面所發現的)以及新級別(如在維護描述符310中所指示的)一例如,噹噹前級別不同於新級別時一之間的比較,確定虛擬設備305中的應該實際被更新的(舊)軟體組件。在所涉及的示例中,軟體組件SWa應該被從級別L2更新到級別L3,以及軟體組件SWf應該被從級別L3更新到級別L4 ;相反,軟體組件SWd不需要執行任何動作,因為它已經在所希望的級別L5處。如圖3D所示,虛擬設備305被克隆為虛擬設備315—在下文中,被稱為當前虛擬設備305和克隆的虛擬設備315,以彼此區別(例如,通過請求託管相應的虛擬機的用戶機器的虛擬機監控程序熱克隆它們)。
繼續到圖3E,在克隆的虛擬設備315中,每一要被更新的軟體組件(即,軟體組件Sffa和SWf )都被置於所希望的級別(即,對於軟體組件SWa,級別L3,以及對於軟體組件SWf,級別L4) 一例如,通過下載相應的維護包並將它們應用到相應的虛擬機。此時,參見圖3F,當前虛擬設備305被替換為(更新的)克隆的虛擬設備315 (軟體組件SWa和SWf現在分別處於級別L3和L4)。上文所描述的根據本發明的一個實施例的解決方案具有一般適用性;具體而言,此技術不與虛擬設備的任何建模方案關聯,以便它可以被應用於任何虛擬設備(甚至在它們不基於任何模型的情況下)。此外,虛擬設備的維護現在基於它們的安裝的實際狀態(考慮可能已經被應用到其上的任何可能的手動更新)。具體而言,這避免了無用的維護操作(當一些軟體組件已經根據需要被更新時),它還可去除將使虛擬設備進入不一致狀態的不希望有的手動更新。所提出的技術縮短了虛擬設備在其維護期間的停機時間。實際上,更新現在被應用於克隆的虛擬設備,而當前虛擬設備可以同時被維護一一般需要的其關閉只用於將它替換為克隆的虛擬設備(一旦應用了所希望的更新)。轉到圖4,示出了表示可以被用來實現根據本發明的一個實施例的解決方案的主要軟體模塊的角色的協作圖示。這些軟體模塊被利用附圖標記400表示為一個整體。當程序正在運行時,信息(程序和數據)通常存儲在硬碟中,並被(至少部分地)加載到相應的(虛擬或物理)機的工作存儲器中。程序最初例如從DVD-ROM安裝到每一硬碟上。具體而言,圖形描述了軟體模塊的靜態結構以及它們的動態行為(通過一系列交換消息,每一個交換消息都表不相應的動作,以序列號前面帶有符號「A」來表不)。具體而言,虛擬設備的維護由維護機器405 (運行維護管理器,下面將詳細描述)來管理;維護機器405包括(通過網絡,圖中未示出)連接到部署了虛擬設備(圖中只示出了一個)的提供商機器110以及其中安裝了虛擬設備(圖中只示出了一個)的用戶機器115的物理或虛擬機。維護機器405存儲包括每一個虛擬設備的部署描述符410 (通過相應的虛擬設備標識符來標識一例如,全局唯一標識符,或GUID)的儲存庫,該儲存庫在其控制下安裝在用戶機器115上一例如,符合開放虛擬化格式(OVF)規範。每當提供每一虛擬設備的新級別時,在相應的提供商機器110上發布一個或多個維護包415以及維護描述符420。每一維護包415都包括用來更新虛擬設備的相應軟體組件的文件。維護描述符420包括用於處理虛擬設備的更新的信息(如下面所描述)。具體而言,維護描述符420包括虛擬設備的虛擬設備標識符,等於相應的部署描述符410中所包含的那個。此外,維護描述符420包括虛擬設備的新級別的指示(例如,對於其版本Nv以及發行Nr,以形式Nv. Nr)。然後,維護描述符420包括虛擬設備的所有軟體組件的列表(例如,其作業系統以及應用程式),每一個軟體組件都通過軟體組件被安裝在其中的虛擬機的名稱以及虛擬機標識符來標識。對於每一個軟體組件,維護描述符420表示其新級別一例如,對於其版本Nv以及發行Nr,也是以形式Nv. Nr。然後,維護描述符420包括要用於發現軟體組件的當前級別的發現命令(或更多),相應的維護包的下載地址,一組(一個或多個)要用於在相應的虛擬機上應用維護包的更新命令,以及一組(一個或多個)要用於驗證在應用維護包之後驗證虛擬設備的正確性的驗證命令(如下面所描述)。維護管理器的監視器425周期性地(例如,每天晚上)從相應的部署描述符410提取虛擬設備標識符以及每一虛擬設備的維護地址(動作「Al.提取」)。然後,監視器425對於虛擬設備,驗證是否有新維護描述符420可用(在相應的維護地址處);例如,此結果可以通過向維護地址提交相應的查詢來實現一該查詢包括虛擬設備標識符以及最後一個維護描述符的級別,如果有的話,它們已經應用於同一個虛擬設備,如監視器425記錄的(動作「A2.監視」)。當有新維護描述符420可用於任何虛擬設備時(S卩,其級別高於其最後一個維護描述符的一個,或者沒有維護描述符應用於其)一例如,如在返回到相應的查詢的響應中所指示的一監視器425將此維護描述符下載到維護機器405上,其中,它用附圖標記430來表示(動作「A3.下載」)。然後,維護描述符430被維護管理器的發現器435訪問。對於維護描述符430中所指示的每一個軟體組件,發現器435提取相應的名稱、虛擬機標識符以及發現命令(動作「A4.提取」)。然後,發現器435在用戶機器115上安裝的虛擬設備(用附圖標記440來表示)的相應的虛擬機(通過其虛擬機標識符來表示)上執行每一發現命令,以便發現相應的軟體組件的當前級別。例如,發現命令可以包括當被提交時直接返回軟體組件的當前級別的查詢;可另選地,發現命令可以包括必須從其虛擬機中檢索的軟體組件的籤名的指示。發現器435將虛擬設備440的所有軟體組件(每一個軟體組件都通過其名稱以及虛擬機標識符來標識)的當前級別保存到發現列表445中(動作「A5.發現」)。維護管理器的比較器450訪問維護描述符430以及發現列表445。比較器450比較虛擬設備440 (通過相同名稱以及虛擬機標識符來標識)的每一軟體組件的當前級別(來自發現列表445)以及新級別(來自維護描述符430),以便確定虛擬設備440中的實際需要更新的軟體組件。對於其新級別不同於其當前級別的每一個(舊)軟體組件,比較器450將相應的名稱以及虛擬機標識符添加到更新列表455中(動作「A6.比較」)。如此,由於始終驗證虛擬設備440的所有軟體組件,因此可以確定虛擬設備440所需的任何類型的更新;具體而言,這確保虛擬設備 始終被置於一致狀態(例如,去除任何不希望有的手動更新)。如果更新列表455是空的,則在虛擬設備440上不需要執行任何動作(由於所有其軟體組件都已經在所希望的級別)。相反,必須更新虛擬設備440的一個或多個軟體組件。在此情況下,要應用於虛擬設備440的更新的摘要(例如,表示要被更新的每一軟體組件的名稱以及虛擬機標識符,以及其當前級別以及新級別)被通知給系統管理員;如果系統管理員批准更新,則他/她調度它們的應用(立即或者稍後)。—旦到達更新的調度時間,維護管理器的下載器460就訪問維護描述符430以及更新列表455。對於更新列表455中所指示的每一個軟體組件,下載器460從維護描述符430中提取相應的下載器地址(動作「A7.提取」)。然後,下載器460將軟體組件的維護包415從其下載地址下載到維護機405上,其中,它用附圖標記465來表示(動作「AS.下載」)。在克隆虛擬設備440之前下載所有維護包465確保此操作儘可能最遲地執行(以便最小化在應用維護包465期間可能向其應用的任何數據更改)。此時,維護管理器的更新器470將(當前)虛擬設備440克隆到(克隆的)虛擬設備475中;例如,此結果可以通過請求用戶機115的虛擬機監控程序來熱克隆其虛擬機來實現一即,無需關閉它們,以便避免停止相應的服務(例如,如http://smkelly. live journal.com/66017, html 處的 「Take a hot clone of a virtual machine in ESX server」 或http://vmetc. com/2008/05/26/cloning-a-running-virtual-machine-using-the-service-console/ 處的 「Cloning a running Virtual Machine using the Service Console,,所描述,此處包括了其完整的描述作為參考)。克隆的虛擬設備475連接到與當前虛擬設備440的網絡分離的維護網絡(例如,虛擬區域網,或VLAN),以便避免任何衝突(動作「A9.克隆」)。對於更新列表455中所指示的每一個軟體組件,更新器470從維護描述符430中提取相應的更新命令(動作「A10.提取」)。然後,更新器470在相應的虛擬機上應用所有維護包465,以將相應的軟體組件帶到它們的新級別。為此目的,更新器470首先打開克隆的虛擬設備475。對於更新列表455中所指示的每一個軟體組件,更新器470將其維護包465複製到克隆的虛擬設備475中的相應的虛擬機。然後,更新器470在此虛擬機上執行相應的更新命令。例如,更新命令包括用於安裝維護包465的安裝命令,以及用於配置相應的軟體組件以及其虛擬機的配置命令,以及可能的任何其他相關軟體組件和虛擬機(動作「All.更新」)。一旦所有維護包465都已經被應用於克隆的虛擬設備475,維護管理器的驗證器480就從維護描述符430中提取更新列表465中所指示的每一軟體組件的驗證命令(動作「A12.提取」)。然後,驗證器480在克隆的虛擬設備475中的其虛擬機上執行每一軟體組件的驗證命令,以確定相應的維護包465的應用的正確性。此時,驗證器480關閉克隆的虛擬設備475 (動作「A13.驗證」)。如果驗證的結果對於所有軟體組件都是肯定的(意思是說,克隆的虛擬設備475都已經正確地被置於其新級別),則更新器470關閉當前虛擬設備440。然後,更新器470確定在其克隆之後已經被應用於當前虛擬設備440的任何數據更改一例如,通過掃描從克隆的時間開始的相應記錄(動作「A14.掃描」)。更新器470將這些數據更改應用到克隆的虛擬設備475,以便將它與當前虛擬設備440重新同步(動作「A15.同步」)。這會防止在更新過程中丟失在當前虛擬設備440中可能已經發生的對本地數據的任何改變(以及克隆的虛擬設備475無法覺察到的)。此時,更新器470將當前虛擬設備440替換為克隆的虛擬設備475 (更新到其新級別,並與當前虛擬設備440的數據更改同步);為此目的,當前虛擬設備440被丟棄,而克隆的虛擬設備475通過將其維護網絡切換到在生產中使用的實際網絡而被打開(動作「A16a.替換」)。相反,當在克隆的虛擬設備475中檢測到一個或多個錯誤時,驗證器480丟棄克隆的虛擬設備475,以便繼續無縫地使用當前虛擬設備440 (動作「A16b.丟棄」);如此,更新過程以事務式的方式執行,如果在更新過程中檢測到錯誤的話,將已經被應用(到克隆的虛擬設備475)的更新回滾。自然,為了滿足本地和特定要求,所屬技術領域的專業人員可以將許多邏輯和/或物理修改和更改應用於上文所描述的解決方案。更具體而言,雖然是以一定程度的細節並參考其一個或多個實施例來描述此解決方案的,但是應該理解,在形式和細節方面的各種省略、替換和變化以及其他實施例都是可以的。具體而言,本發明的不同的實施例甚至可以在沒有前面的描述中所闡述的具體細節(諸如數值)的情況下實施,以提供對本發明的全面理解;相反,還省略或簡化了已知的特徵,以便不致以不需要的細節使描述模糊。此外,很明確,參考所公開的解決方案的任何實施例所描述的特定元素和/或方法步驟可以作為一般設計選擇被包含在任何其他實施例中。在任何情況下,術語「包括」,「具有」和「包含」(以及其任何形式)應該是開放的,非詳盡的含義(即,不僅限於所列舉的項目),術語「基於」,「依賴於」,「根據」(以及其任何形式)應該是非排他性的關係(即,涉及可能的進一步的變化),術語「一個」應該是一個或多個項目(除非明確地指出)。更一般而言,本發明的一個實施例提供了用於維護虛擬設備的方法。如果相同解決方案利用等效的方法來實現(通過使用帶有更多步驟或其一些部分的相同功能的類似的步驟,去除非基本的一些步驟,或添加進一步的可選步驟),類似的考慮也適用;此外,各步驟可以以不同的順序,同時或以交錯的方式(至少部分地)執行。虛擬設備可以包括任何數量(一個或多個)的任何軟體組件(例如,作業系統、應用程式、配置文件等等),每一個軟體組件都安裝在相應的虛擬機上。在本發明的一個實施例中,提供了維護描述符;維護描述符包括待更新到其上的軟體組件中的(至少)每一個的新級別的任何指示(例如,它們的版本和/或發行編號或日期)。對於在所述維護描述符中所指示的每一個軟體組件,確定安裝在所述相應的虛擬機上的所述軟體組件的當前級別。根據所述相應的當前級別以及新級別之間的比較,確定要被實際更新的所述軟體組件的一組舊軟體組件。克隆虛擬設備(優選地,以熱方式一即使不排除任何其他克隆模式)。然後,通過將每一舊軟體組件更新到相應的新級別,來更新克隆的虛擬設備。此時,將虛擬設備替換為更新的克隆的虛擬設備。在本發明的一個實施例中,維護描述符包括所有所述軟體組件中的每一個軟體組件的新級別的指示。在任何情況下,不排除其中維護描述符只包括已經相對於虛擬設備的前一級別(或更多)而更新的軟體組件的基本實現。在本發明的一個實施例中,虛擬設備與包括虛擬設備的設備標識符的設備描述符相關聯,以及維護描述符與所述設備標識符相關聯。在此情況下,通過從設備描述符中提取設備標識符,並檢索與設備標識符相關聯的維護描述符,來檢索維護描述符。然而,如果以不同的方式來定義設備標識符,或者如果以任何其他方式來檢索維護描述符(甚至獨立於相應的虛擬設備的任何設備描述符),類似的考慮也適用。在本發明的一個實施例中,設備描述符還包括維護描述符的維護地址;在此情況下,通過從維護地址下載維護描述符來檢索它。可另選地,沒有任何東西阻止從已經從其中部署了相應的虛擬設備的相同地址下載維護描述符。在本發明的一個實施例中,通過監視維護地址,以了解比已經成功地在所述虛擬設備上應用的最後一個維護描述符更新的新維護描述符的可用性,來檢索維護描述符。可另選地,可以以任何其他方式(例如,簡單地通過其時間戳)來定義維護描述符的級別;此外,還可以手動觸發對維護描述符的可用性的驗證。在本發明的一個實施例中,對於維護描述符中所指示的每一個軟體組件,一組(一個或多個)發現命令被包括在維護描述符內;在此情況下,對於維護描述符中所指示的每一個軟體組件,確定安裝在相應的虛擬機上的軟體組件的當前級別的步驟包括從維護描述符中提取相應的發現命令,以及在相應的虛擬機上執行相應的發現命令。類似的考慮適用於任何其他發現命令(例如,簡單地基於相應的文件的時間戳);在任何情況下,也可以以不同的方式來發現軟體組件的當前級別,甚至獨立於維護描述符(例如,通過外部掃描儀)。在本發明的一個實施例中,對於維護描述符中所指示的每一個軟體組件,下載地址被包括在維護描述符內;在此情況下,更新克隆的虛擬設備包括從維護描述符中提取相應的下載地址,從相應的下載地址下載舊軟體組件的維護包,以及在相應的虛擬機上應用維護包。可另選地,沒有任何東西阻止從已經從其中檢索了相應的維護描述符的相同地址下載維護包;此外,也可以以不同的方式來更新軟體組件(例如,通過利用軟體分發應用)。在本發明的一個實施例中,對於維護描述符中所指示的每一個軟體組件,一組(一個或多個)更新命令被包括在維護描述符內;在此情況下,更新克隆的虛擬設備包括從維護描述符中提取相應的更新命令,以及在相應的虛擬機上執行相應的更新命令。如果提供了類似的和/或替換的更新命令(例如,用於準備軟體組件),則類似的考慮也適用;然而,也可以通過簡單地啟動相應的維護包,來更新軟體組件,無需任何附加命令。在本發明的一個實施例中,該方法還包括驗證更新的克隆的虛擬設備的正確性,以及響應於肯定的驗證結果,允許虛擬設備替換為更新的克隆的虛擬設備,或否則丟棄更新的克隆的虛擬設備。然而,不排除手動驗證更新的克隆的虛擬設備的基本實現。在本發明的一個實施例中,對於維護描述符中所指示的每一個軟體組件,一組(一個或多個)驗證命令被包括在維護描述符內;在此情況下,驗證更新的克隆的虛擬設備的正確性包括從維護描述符中提取相應的驗證命令,以及在相應的虛擬機上執行相應的驗證命令。如上所述,也可以以不同的方式來驗證更新的克隆的虛擬設備,甚至獨立於維護描述符(例如,通過其內置的測試功能一甚至簡單地在整體虛擬設備的級別)。在本發明的一個實施例中,該方法還包括在克隆虛擬設備的步驟和將虛擬設備替換為更新的克隆的虛擬設備的步驟之間確定已經應用於虛擬設備的本地數據的數據更改,以及將數據更改應用到已替換的虛擬設備。如果以不同的方式(例如,通過微分過程)執行重新同步,則類似的考慮也適用;在任何情況下,也可以在更新過程中簡單地防止對本地數據的任何改變(以便避免其重新同步的需求)。本發明的另一實施例提供電腦程式,該電腦程式包括用於當在數據處理系統上執行電腦程式時導致數據處理系統(例如,用戶機器)執行上文所描述的方法的步驟的代碼裝置。本發明的另一實施例提供包括具體化電腦程式的非瞬時計算機可讀介質(例如,DVD-ROM)的電腦程式產品;該電腦程式包括可直接加載到數據處理系統的工作存儲器中從而配置數據處理系統執行相同方法的代碼裝置。在任何情況下,所提出的解決方案可以被實現為獨立的模塊,或者甚至直接實現在每一虛擬設備中。應該容易地看出,還可以將相同解決方案部署為通過網絡訪問的服務。如果以不同的方式構建程序(該程序可以被用來實現本發明的每一實施例),或者如果提供額外的模塊或功能,類似的考慮也適用;同樣,存儲器結構可以是其他類型,或者可以替換為相當的實體(不一定包括物理存儲介質)。程序可以呈現適合於被任何數據處理系統所使用的或與其一起使用的任何形式(例如,在虛擬機內),從而配置系統以執行所希望的操作;具體而言,程序可以是外部或常駐軟體、固件,或微代碼(目標代碼或原始碼的形式一一例如,待編譯的或者解釋的)的形式。此外,還可以在任何計算機可使用的介質上提供程序(具體而言,作為非瞬時介質上的製品);介質可以是適合於包含、存儲、傳遞、傳播或傳輸程序的任何元件。例如,介質可以是電子、磁性、光學、電磁、紅外或半導體類型;這樣的介質的示例有固定盤(其中可以預先加載程序),可移動磁碟、帶、卡、線路、光纖、無線連接、網絡、廣播波等等。在任何情況下,根據本發明的一個實施例的解決方案有助於甚至利用硬體結構(例如,集成在半導體材料的晶片中),或利用被適當地編程或以別的方式配置的軟體和硬體的組合來實現。本發明的另一實施例提供包括用於執行上文所描述的方法的步驟的裝置的系統(例如,用戶機器)。如果系統具有不同的結構或包括相當的組件,或者它具有其他操作的特徵,則類似的考慮也適用。在任何情況下,其每個組件都可以被分成更多元件,或者兩個或更多組件可以結合為單個元件;此外,每一組件都可以被複製以支持相應的操作並行地執行。還指出(除非特別指明),不同的組件之間的任何交互一般不需要是連續的,它可以是直接的或者通過一個或多個中介間接的。
權利要求
1.一種用於維護包括一組軟體組件的虛擬設備的方法(Al-A16b),每一個組件都安裝在相應的虛擬機上,所述方法包括下列步驟 收集(A1-A3)包括要被更新到其上的至少每一個所述軟體組件的新級別的指示的維護描述符, 對於在所述維護描述符中所指示的每一個軟體組件,確定(A4-A5)安裝在所述相應的虛擬機上的所述軟體組件的當前級別, 根據所述相應的當前級別和新級別之間的比較,確定(A6)要被實際更新的所述軟體組件的一組舊軟體組件, 克隆(A9)所述虛擬設備, 通過將其每一舊軟體組件更新到所述新級別,來更新(A7-A8,AlO-1 I)所述克隆的虛擬設備,以及 通過所述更新的克隆的虛擬設備,來替換(A16a)所述虛擬設備。
2.根據權利要求1所述的方法(Al-A16b),其中,所述維護描述符包括所有所述軟體組件中的每一個軟體組件的所述新級別的指示。
3.根據權利要求1或2所述的方法(Al-A16b),其中,所述虛擬設備與包括所述虛擬設備的設備標識符的設備描述符相關聯,以及所述維護描述符與所述設備標識符相關聯,檢索(A1-A3)維護描述符的步驟包括 從所述設備描述符提取(Al)所述設備標識符,以及 檢索(A2-A3)與所述設備標識符相關聯的所述維護描述符。
4.根據權利要求1到3中任一權利要求所述的方法(Al-A16b),其中,所述設備描述符還包括所述維護描述符的維護地址,檢索(A1-A3)維護描述符的步驟包括 從所述維護地址下載(A3)所述維護描述符。
5.根據權利要求4所述的方法(Al-A16b),其中,檢索(A1-A3)維護描述符的步驟包括 監視(A2)所述維護地址,以了解比已經成功地在所述虛擬設備上應用的最後一個維護描述符更新的新維護描述符的可用性。
6.根據權利要求1到5中任一權利要求所述的方法(Al-A16b),其中,對於所述維護描述符中所指示的每一個軟體組件,一組發現命令被包括在所述維護描述符內,對於所述維護描述符中所指示的每一個軟體組件,所述確定(A4-A5)安裝在所述相應的虛擬機上的所述軟體組件的當前級別的步驟包括 從所述維護描述符提取(A4)所述相應的發現命令,以及 在所述相應的虛擬機上執行(A5)所述相應的發現命令。
7.根據權利要求1到6中任一權利要求所述的方法(Al-A16b),其中,對於所述維護描述符中所指示的每一個軟體組件,下載地址被包括在所述維護描述符內,通過將所述克隆的虛擬設備的每一舊軟體組件更新到所述新級別來更新(A7-A8,A10-11)所述克隆的虛擬設備的步驟包括 從所述維護描述符提取(A7)所述相應的下載地址, 從所述相應的下載地址下載(AS)所述舊軟體組件的維護包,以及 在所述相應的虛擬機上應用(AlO-All)所述維護包。
8.根據權利要求1到7中任一權利要求所述的方法(Al-A16b),其中,對於所述維護描述符中所指示的每一個軟體組件,一組更新命令被包括在所述維護描述符內,通過將所述克隆的虛擬設備的每一舊軟體組件更新到所述新級別來更新(A7-A8,A10-11)所述克隆的虛擬設備的步驟包括 從所述維護描述符提取(AlO)所述相應的更新命令,以及 在所述相應的虛擬機上執行(Al I)所述相應的更新命令。
9.根據權利要求1到8中任一權利要求所述的方法(Al-A16b),還包括下列步驟 驗證(A12-A13)所述更新的克隆的虛擬設備的正確性,以及 響應於所述驗證的肯定結果,允許(A16a)所述虛擬設備替換為所述更新的克隆的虛擬設備,或否則丟棄(A16b)所述更新的克隆的虛擬設備。
10.根據權利要求9所述的方法(Al-A16b),其中,對於所述維護描述符中所指示的每一個軟體組件,一組驗證命令被包括在所述維護描述符內,驗證(A12-A13 )所述更新的克隆的虛擬設備的正確性的步驟包括 從所述維護描述符提取(A12)所述相應的驗證命令,以及 在所述相應的虛擬機上執行(A13)所述相應的驗證命令。
11.根據權利要求1到10中任一權利要求所述的方法(Al-A16b),還包括下列步驟 在所述克隆(A9)所述虛擬設備的步驟和所述將所述虛擬設備替換(A16a)為所述更新的克隆的虛擬設備的步驟之間確定(A14)要應用於所述虛擬設備的本地數據的數據更改,以及 將所述數據更改應用(A15)到所述被替換的虛擬設備。
12.—種包括用於執行根據權利要求1到11中任一權利要求所述的方法(Al-A16b)的步驟的裝置(400)的系統(I 15)。
全文摘要
本發明涉及用於虛擬設備的模型驅動的維護的方法和系統。提出用於維護包括一組軟體組件的虛擬設備的解決方案,每一個軟體組件都安裝在相應的虛擬機上。方法(A1-A16b)包括提供(A1-A3)包括要被更新到其上的至少每一個軟體組件的新級別的指示的維護描述符,對於在所述維護描述符中所指示的每一個軟體組件,確定(A4-A5)安裝在相應的虛擬機上的軟體組件的當前級別,根據相應的當前級別和新級別之間的比較,確定(A6)要被實際更新的軟體組件的一組舊軟體組件,克隆(A9)所述虛擬設備,通過將其每一舊軟體組件更新到新級別,來更新(A7-A8,A10-11)克隆的虛擬設備,以及通過更新的克隆的虛擬設備,來替換(A16a)所述虛擬設備。
文檔編號G06F9/455GK103034523SQ20121036666
公開日2013年4月10日 申請日期2012年9月28日 優先權日2011年10月5日
發明者M·阿爾塞斯, G·西亞諾, A·D·科克, L·皮切蒂, M·米列斯基 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀