中介虛擬機任務管理的制作方法
【專利摘要】一種系統(tǒng),其中虛擬機管理器確定將在主機計算系統(tǒng)上所執(zhí)行的虛擬機上執(zhí)行的任務。主機計算系統(tǒng)還執(zhí)行從虛擬機管理器接收虛擬機任務的中介虛擬機任務管理模塊。應來自虛擬機的請求,該中介模塊向做出請求的虛擬機標識將在該做出請求的虛擬機上執(zhí)行的任務。虛擬機或許還可發(fā)起對所標識的這些任務的執(zhí)行。由于虛擬機本身發(fā)起與中介模塊的聯(lián)系并且不直接與虛擬機管理器交互,因此虛擬機管理器無需處在與虛擬機相同的信任范圍中。
【專利說明】中介虛擬機任務管理
[0001]背景
[0002]對計算系統(tǒng)的虛擬化已經(jīng)使得能夠?qū)崿F(xiàn)對計算系統(tǒng)的靈活且方便的設置和維護。計算系統(tǒng)通過使得虛擬機位于該虛擬機所服務的客戶端計算系統(tǒng)遠程地操作來被虛擬化。虛擬機模擬完全可操作的計算系統(tǒng)的邏輯,包括操作系統(tǒng)、其各個應用以及對應的設置,并且該虛擬機通過位于遠程的客戶端計算系統(tǒng)與用戶進行接口。例如,虛擬機接收來自遠程客戶端的客戶端輸入,并將所得到的桌面映像信息提供回客戶端??蛻舳瞬徊僮鲗牟僮飨到y(tǒng),而是僅僅接收用戶輸入,并使用由虛擬機提供的所得到的桌面映像來呈現(xiàn)桌面。
[0003]虛擬機在通常具有許多其他虛擬機的主機計算系統(tǒng)(在本領(lǐng)域中也被稱為虛擬化【技術(shù)領(lǐng)域】中的“主機”或“節(jié)點”)上操作。虛擬機使用的硬件也常常位于主機上,包括處理資源、存儲、網(wǎng)絡、存儲器等等。每一虛擬機通過經(jīng)由系統(tǒng)管理程序與可用硬件對接來維持對隔離計算系統(tǒng)的正確仿真。
[0004]簡要概述
[0005]本文描述的至少一個實施例涉及一種系統(tǒng),其中虛擬機管理器確定將在主機計算系統(tǒng)上所執(zhí)行的虛擬機上執(zhí)行的任務。主機計算系統(tǒng)還執(zhí)行從虛擬機管理器接收虛擬機任務的中介虛擬機任務管理模塊。應來自虛擬機的請求,該中介模塊向做出請求的虛擬機標識將在該做出請求的虛擬機上執(zhí)行的任務。虛擬機或許還可發(fā)起對所標識的這些任務的執(zhí)行。由于虛擬機本身發(fā)起與中介模塊的聯(lián)系并且不直接與虛擬機管理器交互,因此虛擬機管理器無需處在與虛擬機相同的信任范圍中。
[0006]僅僅作為示例,這些虛擬機可以在最初從主映像中開始運轉(zhuǎn)時被配置成詢問將執(zhí)行什么附加定制以作為置備虛擬機的一部分。然而,任務可出于任何其它目的,諸如安裝更新或補丁、啟用或禁用特征(諸如操作系統(tǒng)特征或配置設置)、更新策略、確定虛擬機遵從性、執(zhí)彳T許可任務,等等。
[0007]本概述不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0008]附圖簡述
[0009]為了描述能夠獲得上述和其它優(yōu)點和特征的方式,各實施例的更具體的描述將通過參考各附圖來呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實施例,并且因此不被認為是對其范圍的限制,將通過使用附圖并利用附加特征和細節(jié)來描述和解釋各實施例,在附圖中:
[0010]圖1示出了其中可采用本文描述的一些實施例的計算系統(tǒng);
[0011]圖2示出了其中虛擬機管理器可使得在虛擬機上執(zhí)行任務的環(huán)境。
[0012]圖3示出了用于在圖2的虛擬機管理器和圖2的中介虛擬機任務管理模塊之間進行通信的方法的流程圖;
[0013]圖4示出了用于在圖2的中介虛擬機任務管理模塊和圖2的虛擬機之間進行通信的方法的流程圖;以及
[0014]圖5示出了其中使用具有用于實現(xiàn)圖3和4的邏輯的擴展的虛擬交換機的圖2的中介虛擬機任務管理模塊的實施例。
[0015]詳細描述
[0016]根據(jù)本文描述的實施例,公開了一種系統(tǒng),其中虛擬機管理器確定將在主機計算系統(tǒng)上所執(zhí)行的虛擬機上執(zhí)行的任務。主機計算系統(tǒng)還執(zhí)行從虛擬機管理器接收虛擬機任務的中介虛擬機任務管理模塊。應來自虛擬機的請求,該中介模塊向做出請求的虛擬機標識將在該做出請求的虛擬機上執(zhí)行的任務。虛擬機或許還可發(fā)起對所標識的這些任務的執(zhí)行。由于虛擬機本身發(fā)起與中介模塊的聯(lián)系并且不直接與虛擬機管理器交互,因此虛擬機管理器無需處在與虛擬機相同的信任范圍中。
[0017]首先,將參考圖1來描述關(guān)于計算系統(tǒng)的一些引導性討論。然后,中介虛擬機任務管理模塊的環(huán)境、結(jié)構(gòu)和操作的實施例將參考后續(xù)附圖來描述。
[0018]計算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。計算系統(tǒng)可以例如是手持式設備、電器、膝上型計算機、臺式計算機、大型機、分布式計算系統(tǒng),或者甚至通常不被視為計算系統(tǒng)的設備。在本說明書以及權(quán)利要求書中,術(shù)語“計算系統(tǒng)”被廣義地定義為包括任何設備或系統(tǒng)(或其組合),該設備或系統(tǒng)包含至少一個物理有形的處理器以及其上能含有可由處理器執(zhí)行的計算機可執(zhí)行指令的物理有形的存儲器。存儲器可以采取任何形式,并可以取決于計算系統(tǒng)的特性和形式。計算系統(tǒng)可以分布在網(wǎng)絡環(huán)境中,并可包括多個組分計算系統(tǒng)。
[0019]如圖1所示,在其最基本的配置中,計算系統(tǒng)100通常包括至少一個處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲器”在此也可用來指諸如物理存儲介質(zhì)等非易失性大容量存儲。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。如此處所使用的那樣,術(shù)語“模塊”或“組件”可以指在計算系統(tǒng)上執(zhí)行的軟件對象或例程。此處所描述的不同組件、模塊、引擎,以及服務可以實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或進程(例如,作為分開的線程)。
[0020]在隨后的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述了各實施例。如果這樣的動作是以軟件實現(xiàn)的,則執(zhí)行動作的相關(guān)聯(lián)計算系統(tǒng)的一個或多個處理器響應于已經(jīng)執(zhí)行了計算機可執(zhí)行指令來引導計算系統(tǒng)的操作。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計算機可執(zhí)行指令(以及被操縱的數(shù)據(jù))可以存儲在計算系統(tǒng)100的存儲器104中。計算系統(tǒng)100還可包含允許計算系統(tǒng)100例如通過網(wǎng)絡110與其他消息處理器通信的通信信道108。
[0021]本文描述的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機硬件,如以下更詳細討論的。本文描述的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C系統(tǒng)訪問的任何可用介質(zhì)。存儲計算機可執(zhí)行指令的計算機可讀介質(zhì)是物理存儲介質(zhì)。承載計算機可執(zhí)行指令的計算機可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質(zhì):計算機存儲介質(zhì)和傳輸介質(zhì)。
[0022]計算機存儲介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設備、或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)。
[0023]“網(wǎng)絡”被定義為允許在計算機系統(tǒng)和/或模塊和/或其他電子設備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。當信息通過網(wǎng)絡或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的網(wǎng)絡和/或數(shù)據(jù)鏈路。上述的組合也應被包括在計算機可讀介質(zhì)的范圍內(nèi)。
[0024]此外,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動傳輸?shù)接嬎銠C存儲介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡或數(shù)據(jù)鏈路接收到的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接嬎銠C系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機存儲介質(zhì)。因而,應當理解,計算機存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計算機系統(tǒng)組件中。
[0025]計算機可執(zhí)行指令例如包括,當在處理器處執(zhí)行時使通用計算機、專用計算機、或?qū)S锰幚碓O備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如二進制代碼、諸如匯編語言之類的中介格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實現(xiàn)權(quán)利要求的示例形式而公開的。
[0026]本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、網(wǎng)絡PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明也可在其中通過網(wǎng)絡鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務的分布式系統(tǒng)環(huán)境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備二者中。
[0027]圖2示出了其中虛擬機主機可使得在虛擬機上執(zhí)行任務的環(huán)境200。環(huán)境200包括操作(或執(zhí)行)多個虛擬機211的虛擬機主機210。虛擬機主機210可以例如如上所述地被構(gòu)造成圖1的計算系統(tǒng)100。在虛擬化的【技術(shù)領(lǐng)域】中,執(zhí)行多個虛擬機的計算系統(tǒng)經(jīng)常被稱為“主機”或“節(jié)點”。本文描述的原理不限于在虛擬機主機210上執(zhí)行的虛擬機的數(shù)量,因為該數(shù)量可以在虛擬機開始運轉(zhuǎn)(即,開始執(zhí)行)和引退時相當頻繁地改變。此外,雖然常規(guī)的虛擬機主機能夠維持特定數(shù)量的虛擬機,但本文描述的原理不限于虛擬機的特定數(shù)量。然而,僅僅出于說明性目的且僅僅作為示例,虛擬機211被示為包括五個虛擬機21IA到211E,省略號211F表示該數(shù)量的廣泛靈活性。
[0028]虛擬機主機210還操作中介虛擬機任務管理模塊212 (其在此也將被簡稱為“中介模塊212”)。如果由圖1的計算系統(tǒng)100用軟件實現(xiàn),中介模塊212可通過計算系統(tǒng)(諸如圖1的計算系統(tǒng)100)使用一個或多個處理器(諸如圖1的處理器102)執(zhí)行計算機可執(zhí)行指令來創(chuàng)建。這些計算機可執(zhí)行指令可被包含在包括計算機程序產(chǎn)品的計算機可讀介質(zhì)(諸如計算機存儲介質(zhì))上。指令的執(zhí)行可導致主機如此處所描述地實例化和/或操作中介模塊212。
[0029]中介模塊212充當虛擬機管理器201和虛擬機211之間的中介。虛擬機管理器201被配置成確定將在主機計算系統(tǒng)上所執(zhí)行的虛擬機211的特定子集(例如,一個虛擬機)上執(zhí)行的任務。如下所述,虛擬機管理器201不直接指示虛擬機執(zhí)行任務。相反,虛擬機管理器201向中介212提供任務。虛擬機然后向中介212請求任務。由此,虛擬機211無需處在與虛擬機管理器201相同的信任范圍內(nèi),以使得虛擬機管理器201提供將由虛擬機執(zhí)行的任務。管理器201可能不一定以與向虛擬機標識相同的形式明確定義各個任務。例如,或許虛擬機管理器僅僅為虛擬機(或某一更高級任務)設置目標狀態(tài),并且中介模塊212或許將任務分解成更小的分量。
[0030]在圖2中,省略號213表示虛擬機管理器201可通過與多個虛擬機主機中的全部或部分中的每一個主機上的中介模塊交互來對這些虛擬機主機執(zhí)行本文描述的操作。然而,為了簡明起見,虛擬機管理器201的操作將參照其與單個虛擬機主機210的交互來描述,但本文描述的原理可被擴展成單個虛擬機管理器201對多個虛擬機主機執(zhí)行這些操作。
[0031]中介模塊212通信地耦合到虛擬機管理器201,如由雙向箭頭221表示的。中介模塊212還通信地耦合到虛擬機211,如由雙向箭頭222表示的。
[0032]圖3示出了用于如由雙向箭頭221表示的虛擬機管理器201和中介模塊212之間的通信的方法300的流程圖。方法300可以在中介模塊212接收到來自虛擬機管理器201的任務(動作301)時執(zhí)行。該任務將由虛擬機211的子集來執(zhí)行。例如,或許該任務將由虛擬機211中的單個虛擬機(例如,虛擬機211A)來執(zhí)行。該任務可通過接收標識該任務的信息或者通過接收從中可推斷出該任務將被執(zhí)行的信息(諸如對將任務的執(zhí)行將會發(fā)生的更高級指示性或目標狀態(tài)的標識)來從虛擬機管理器“接收到”。
[0033]然后使任務排隊(動作302)。在一個實施例中,接收到的任務在相同的隊列中排隊(之后被稱為“單隊列”實施例),而不管該任務將由虛擬機211中的哪一個虛擬機執(zhí)行。在替代實施例(之后被稱為“多隊列”實施例)中,對于每一個虛擬機都存在一隊列。在這種情況下,首先標識目標虛擬機的身份并且然后使任務排隊(動作302)。在虛擬機管理器201提供更高級的指示性或目標狀態(tài)的情況下,中介模塊212可執(zhí)行某一處理以便從該指示性或目標狀態(tài)中標識出任務。
[0034]虛擬機管理器201和中介模塊212之間的信道221上的通信不一定與中介模塊212與虛擬機211之間的信道222上的通信同步。因此,圖4示出了用于如由雙向箭頭222表示的中介模塊212與虛擬機之間的通信的單獨方法400的流程圖。
[0035]方法400在從虛擬機接收到對一個或多個任務的請求(動作401)時啟動。中介模塊212然后在隊列中搜索針對做出請求的虛擬機的任務(動作402)。例如,在單隊列實施例中,標識做出請求的虛擬機,并且遍歷隊列以查找被標識為對應于做出請求的虛擬機的任務。在多隊列實施例中,查找對應于做出請求的虛擬機的隊列,并且然后在該隊列內(nèi)部的任務固有地針對做出請求的虛擬機。中介然后向虛擬機標識這些任務(動作403)。虛擬機然后或許可以執(zhí)行任務。例如,在某些情況下,可能由于虛擬機可以安全地執(zhí)行任務的情形而固有地存在足夠的信任。
[0036]通信信道222被示為是雙向的,因為虛擬機211向中介模塊212傳遞請求,并且中介模塊212向做出請求的虛擬機傳遞任務。然而,虛擬機211還可向中介模塊212傳遞其他數(shù)據(jù)。例如,虛擬機可以向中介模塊傳遞關(guān)于該虛擬機的性能數(shù)據(jù)、關(guān)于該虛擬機的遙測數(shù)據(jù)、執(zhí)行任務的結(jié)果,等等。
[0037]由于中介模塊212與虛擬機管理器201之間的通信信道221可選地也可以是雙向的,因此中介模塊212也可回過來向虛擬機管理器201報告信息。例如,中介模塊212可聚集從各虛擬機211接收到的數(shù)據(jù),并且回過來向虛擬機管理器201提供這些聚集的數(shù)據(jù)。另選地或另外地,中介模塊212也可回過來向虛擬機管理器201提供按虛擬機數(shù)據(jù)。
[0038]直到此時,將在虛擬機上執(zhí)行的任務已被大致描述。這是因為本文描述的更寬泛的原理不限于將在虛擬機上執(zhí)行的任務的特定類型。然而,為了簡明起見,現(xiàn)在將更詳細地描述各種示例任務。
[0039]一種類型的任務可以是涉及將虛擬機置于準備好進行操作的特定開始目標狀態(tài)的置備任務。當虛擬機啟動時,它從特定主映像中開始運轉(zhuǎn),這規(guī)定了操作系統(tǒng)、應用集合和關(guān)于該虛擬機的配置信息就在開始運轉(zhuǎn)之后處于其初始狀態(tài)。然而,通過允許在虛擬機從主映像中開始運轉(zhuǎn)后執(zhí)行進一步的置備任務,可提供對虛擬機的進一步的定制置備。主映像可被構(gòu)造成使得虛擬機在從該主映像中開始運轉(zhuǎn)后被配置成詢問進一步的置備任務。虛擬機可被進一步配置成在或許執(zhí)行某一認證(任務由虛擬機管理器而不是某一其他惡意外部組件標識)后執(zhí)行任務。
[0040]由此,例如即使可能存在有限數(shù)量的主映像(例如,或許每一個操作系統(tǒng)一個),也可能存在被提供給虛擬機的用戶的許多其他定制。例如,用戶不僅可選擇操作系統(tǒng),而且可挑選和選擇在虛擬機上具有哪些應用、哪些配置以及虛擬機將與什么許可和遵從性相關(guān)聯(lián)。由此,示例置備任務可包括安裝特定應用或應用集合、在虛擬機上安裝一個或多個補丁或者對虛擬機執(zhí)行某一其他更新、啟用或禁用特征(諸如操作系統(tǒng)特征)、其中虛擬機的特定策略被調(diào)整的策略更改或設置任務、其中虛擬機被驗證為遵從一個或多個標準的集合的遵從性檢查任務和/或其中虛擬機與一個或多個許可證相關(guān)聯(lián)的許可操作。
[0041]然而,任務不限于置備任務,因為本文描述的方法也可在操作虛擬機期間、在已經(jīng)置備虛擬機之后執(zhí)行。因此,以下任務也可在置備虛擬機之后進行:安裝特定應用或應用集合、在虛擬機上安裝一個或多個補丁或者對虛擬機執(zhí)行某一其他更新、啟用或禁用特征、其中虛擬機的特定策略被調(diào)整的策略更改或設置任務、其中虛擬機被驗證為遵從一個或多個標準的集合的遵從性檢查任務和/或其中虛擬機與一個或多個許可證相關(guān)聯(lián)的許可操作。
[0042]圖5示出了中介模塊212的實施例500。中介模塊500使用虛擬交換機510。虛擬機交換機是允許在虛擬機之間進行通信并且可通過使用交換機擴展來增強其功能的組件。由此,增強的虛擬交換機使得能夠?qū)νㄐ艌?zhí)行邏輯,而不是僅僅在虛擬機之間轉(zhuǎn)發(fā)通信。然而,在此虛擬交換機被用來允許在虛擬機管理器201和虛擬機211之間進行通信。
[0043]虛擬交換機具有用于通信地將該虛擬交換機與外部模塊耦合的相關(guān)聯(lián)的端口。例如,端口 51IA到51IF被分別用于去往和來自虛擬機21IA到21IE的通信,并且使用虛擬機用來進行通信的協(xié)議。在某些情況下,用于各個虛擬機的通信協(xié)議可因虛擬機而異。端口501用于去往和來自虛擬機管理器201的通信,并且使用虛擬機管理器201識別出的適當通信協(xié)議。
[0044]虛擬交換機允許使用其中可以對這些通信應用邏輯的多個擴展520。例如,擴展520被示為包括擴展521和522,但省略號523表示這些擴展的數(shù)量的靈活性。在一個實施例中,圖3和4的邏輯可使用擴展520來體現(xiàn)以使得虛擬交換機510在具有本文描述的如由圖2的中介模塊212執(zhí)行的功能情況下操作。類似地,由中介模塊212執(zhí)行的用于從更高級的指示性或目標狀態(tài)中標識出任務的任何處理也可使用擴展520來設置。虛擬交換機擴展允許對網(wǎng)絡分組的過濾/捕捉/轉(zhuǎn)發(fā)。這被用來捕捉分組并將其從主機210注入目標虛擬機。虛擬交換機510中的交換機擴展520截取來自目標虛擬機211的目標狀態(tài)請求,并且從對應的任務隊列回復該請求。
[0045]再次參考圖2,主機210和虛擬機管理器201之間的信道221也可使用不同或單獨的管理網(wǎng)絡接口卡(NIC)信道,該信道不同于虛擬機211連接到的虛擬交換機510。在該實施例中,虛擬交換機510內(nèi)的擴展520從主機-虛擬機通信信道222中利用。當虛擬交換機510中的擴展520截取來自虛擬機的請求時,虛擬機查找中介虛擬機任務管理模式并將具有對應任務的響應注入回到虛擬機中。
[0046]圖2的環(huán)境200允許虛擬機管理器201通過向中介模塊212提交任務來要求由虛擬機執(zhí)行這些任務。虛擬機211處在與中介模塊共同的信任范圍中,并因此足夠信任該中介模塊來詢問將要執(zhí)行的任務。因此,即使虛擬機可能未處在與虛擬機管理器201相同的信任范圍中,虛擬機管理器201也仍然可以請求執(zhí)行任務,并且如果該過程中存在足夠信任,則虛擬機211可使得在其自身上執(zhí)行這些任務。因此,虛擬機211可維護其安全性,同時仍然使得在其上執(zhí)行有幫助的任務。
[0047]本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實施例在所有方面都應被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
【權(quán)利要求】
1.一種計算機程序產(chǎn)品,包括其上具有計算機可執(zhí)行指令的一個或多個計算機可讀存儲介質(zhì)(104),所述計算機可執(zhí)行指令被構(gòu)造成使得在由虛擬機主機計算系統(tǒng)(100、210)的一個或多個處理器(102)執(zhí)行時所述虛擬機主機計算系統(tǒng)被配置成創(chuàng)建: 通信地耦合到虛擬機管理器(201)以及多個虛擬機(211)的中介虛擬機任務管理模塊(212、500),所述中介虛擬機任務管理模塊被配置成從所述虛擬機管理器接收(301)將要執(zhí)行的任務,并且對于接收到的每一個任務執(zhí)行以下動作: 標識所述任務將被應用于的虛擬機的動作;以及 當接收到來自所標識的虛擬機的任務請求(401)時向所標識的虛擬機標識(402、403)所述任務的動作。
2.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是作為置備所述虛擬機的一部分來執(zhí)行的。
3.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是作為在已經(jīng)置備所述虛擬機后操作所述虛擬機的一部分來執(zhí)行的。
4.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是安裝應用。
5.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是在所述虛擬機上安裝補丁。
6.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是對所述虛擬機執(zhí)行更新。
7.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是啟用或禁用特征。
8.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是執(zhí)行對所述虛擬機的遵從性檢查。
9.如權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述任務是對所述虛擬機執(zhí)行許可操作。
10.一種系統(tǒng)(200),包括: 執(zhí)行多個虛擬機(211)的主機計算系統(tǒng)(210); 虛擬機管理器(201),所述虛擬機管理器被配置成確定(301)將在所述主機計算系統(tǒng)上所執(zhí)行的所述多個虛擬機中的至少特定子集上執(zhí)行的任務, 所述主機計算系統(tǒng)還執(zhí)行中介虛擬機任務管理模塊(212、500), 所述中介虛擬機任務管理模塊通信地耦合(221)到所述虛擬機管理器以便從所述虛擬機管理器接收虛擬機任務(301),并且 所述中介虛擬機任務管理模塊通信地耦合(222)到所述虛擬機中的至少該特定子集,以便在從所述虛擬機的特定子集中的特定虛擬機接收到(401)對任務的請求時標識(402、403)將由該特定虛擬機執(zhí)行的這些任務。
【文檔編號】G06F9/50GK104471537SQ201380032564
【公開日】2015年3月25日 申請日期:2013年6月5日 優(yōu)先權(quán)日:2012年6月19日
【發(fā)明者】A·拉瑪拉丁納姆, S·帕塔薩拉蒂 申請人:微軟公司