專利名稱:管理與虛擬機(jī)的多個(gè)配置的通信的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明 一般涉及虛擬機(jī)操作系統(tǒng),并且更為特別地涉及確定將在其中 對(duì)到來(lái)的消息進(jìn)行處理的虛擬機(jī)的眾多預(yù)定的配置中的一個(gè)。
背景技術(shù):
虛擬機(jī)操作系統(tǒng)現(xiàn)今為大家所公知。例如,IBM z/VM操作系統(tǒng)像以 下這樣創(chuàng)建了虛擬機(jī)環(huán)境。所述IBM z/VM虛擬機(jī)操作系統(tǒng)的基本操作系 統(tǒng)(也被稱為控制程序、"CP"或管理程序(hypervisor))對(duì)真實(shí)計(jì)算 機(jī)的物理資源(也即CPU時(shí)間、RAM、存儲(chǔ)裝置等等)進(jìn)行邏輯地劃分, 以形成不同的虛擬機(jī)。因此,每個(gè)虛擬機(jī)具有一份處理器時(shí)間、RAM、存 儲(chǔ)裝置等等以形成虛擬計(jì)算機(jī),并執(zhí)行它自己的"客戶,,操作系統(tǒng)和應(yīng)用。 所述客戶操作系統(tǒng)和應(yīng)用在各自的虛擬機(jī)中工作(也即,使用它們的虛擬 機(jī)的那份處理器時(shí)間、RAM、存儲(chǔ)裝置等等),就好像它們正在它們自己 專用的真實(shí)計(jì)算機(jī)中執(zhí)行一樣。不同虛擬機(jī)中的程序還可通過(guò)管理程序相互進(jìn)行通信。根據(jù)一種通信 技術(shù),經(jīng)由管理程序在不同虛擬機(jī)之間的通信可包括使用了諸如用戶間通 信載體("IUCV")或虛擬機(jī)控制設(shè)施("VMCF")之類的專門(mén)的協(xié)議 的消息。這些通信協(xié)議展現(xiàn)出以下公共屬性a) 源虛擬機(jī)首先將消息寫(xiě)入源虛擬地址空間。b )源虛擬機(jī)通過(guò)名字識(shí)別目標(biāo)虛擬才幾。c)管理程序生成中斷以將到來(lái)的消息通知給目標(biāo)虛擬機(jī)。所述中斷在所述目標(biāo)虛擬機(jī)中調(diào)用中斷處理。 d )響應(yīng)于目標(biāo)虛擬機(jī)同意接收所述消息,管理程序?qū)⑾脑吹奶摂M地址空間拷貝到目標(biāo)虛擬機(jī)的虛擬地址空間。 以下是對(duì)IUCV的更詳細(xì)的描述。IUCV是將數(shù)據(jù)從一個(gè)源虛擬機(jī)轉(zhuǎn)
移到一個(gè)目標(biāo)虛擬機(jī)的點(diǎn)對(duì)點(diǎn)協(xié)議。為了經(jīng)由IUCV協(xié)議進(jìn)行通信,源虛 擬機(jī)首先通過(guò)調(diào)用管理程序以聲明(declare)用于中斷和到來(lái)的消息的 IUCV緩沖器來(lái)準(zhǔn)備接收通信。為了發(fā)起通信,源虛擬機(jī)接著調(diào)用管理程 序,指示用于進(jìn)行通信的預(yù)計(jì)的目標(biāo)虛擬機(jī)的身份。如果目標(biāo)虛擬機(jī)通過(guò) 已聲明用于中斷和到來(lái)的消息的IUCV緩沖器而已經(jīng)同意進(jìn)行通信,則管 理程序向目標(biāo)虛擬機(jī)生成中斷并且將用于這個(gè)連接的通信路徑id提供給目 標(biāo)虛擬機(jī)。假設(shè)目標(biāo)虛擬機(jī)同意與源虛擬機(jī)進(jìn)行通信,則所述目標(biāo)虛擬機(jī) 調(diào)用管理程序接受所述通信路徑。接著管理程序中斷源虛擬機(jī)并將用于這 個(gè)連接的通信路徑id提供給源虛擬機(jī)。為了發(fā)送實(shí)際消息,源虛擬機(jī)調(diào)用 管理程序,指示先前獲得的路徑id和待發(fā)送的實(shí)際消息。在響應(yīng)中,管理 程序4吏用所述路徑id來(lái)識(shí)別所述目標(biāo)虛擬機(jī)并向目標(biāo)虛擬才幾生成中斷。目 標(biāo)虛擬機(jī)通過(guò)調(diào)用管理程序接收實(shí)際消息而對(duì)所述中斷做出響應(yīng)。接著,空間并向源虛擬機(jī)生成中斷,指示所述數(shù)據(jù)已經(jīng)被轉(zhuǎn)移。目標(biāo)虛擬機(jī)中的 程序接著可以從目標(biāo)虛擬機(jī)的地址空間中讀取消息。以下是對(duì)VMCF更詳細(xì)的描述。VMCF是將數(shù)據(jù)從源虛擬機(jī)轉(zhuǎn)移到 目標(biāo)虛擬機(jī)的協(xié)議。為了使用VMCF進(jìn)行通信,源虛擬機(jī)首先通過(guò)調(diào)用管 理程序來(lái)授權(quán)它對(duì)VMCF的使用并將它的存儲(chǔ)裝置的一個(gè)區(qū)域聲明為 VMCF中斷緩沖器來(lái)準(zhǔn)備接收通信。為了發(fā)送實(shí)際消息,源虛擬機(jī)構(gòu)建待 傳送的消息并且調(diào)用管理程序?qū)⑺f送給源虛擬機(jī)通過(guò)名字來(lái)識(shí)別的指定 目標(biāo)虛擬機(jī)。如果目標(biāo)虛擬機(jī)也已經(jīng)授權(quán)了它對(duì)VMCF的使用,則管理程 序向目標(biāo)虛擬機(jī)生成VMCF中斷。目標(biāo)虛擬機(jī)通過(guò)調(diào)用管理程序接收實(shí)際 消息而對(duì)所述中斷做出響應(yīng)。管理程序接著將數(shù)據(jù)從源虛擬機(jī)的虛擬地址 空間拷貝到目標(biāo)虛擬^L的虛擬地址空間并向源虛擬^L生成中斷,指示所述 數(shù)據(jù)已經(jīng)被轉(zhuǎn)移。目標(biāo)虛擬機(jī)中的程序接著可以從目標(biāo)虛擬機(jī)的地址空間 中讀取所述消息。因此,IUCV是面向連接的協(xié)議,其中消息在已建立的連接上被來(lái)回 發(fā)送;而VMCF是無(wú)連接的協(xié)議,其中每個(gè)消息通過(guò)名字被獨(dú)立地尋址到 目標(biāo)虛擬機(jī)。術(shù)語(yǔ)"到來(lái)的交互(incoming interaction),,在此,皮用來(lái)指 代與目標(biāo)虛擬機(jī)進(jìn)行通信的請(qǐng)求,例如在像IUCV這樣的面向連接的協(xié)議 的情況下的連接請(qǐng)求,或者在像VMCF這樣的無(wú)連接協(xié)議的情況下的單獨(dú) 消息。關(guān)于IUCV和VMCF協(xié)議的更詳細(xì)的內(nèi)容請(qǐng)參看z/VM: CP Programming Services, IBM order number SC24畫(huà)6084-02,在此通過(guò)參考 《1入此文檔作為本公開(kāi)的 一部分。只^^個(gè)虛擬機(jī)只有一個(gè)配置,那么在IUCV和VMCF下的到來(lái)的交 互就可被明確地解析到所述單個(gè)配置。然而,根據(jù)授權(quán)給Walsh的美國(guó)專 利4,660,144,單個(gè)虛擬機(jī)可以具有兩個(gè)(或更多)不同配置,所有配置凈皮 并行地實(shí)例化,并交替地或同時(shí)有效(可被分派)。這些配置中的每個(gè)配 置指明許多虛擬處理器、許多虛擬機(jī)存儲(chǔ)器、虛擬設(shè)備的地址和類型、以 及相關(guān)聯(lián)的操作系統(tǒng)的名字或根設(shè)備。每個(gè)配置定義了執(zhí)行操作系統(tǒng)和應(yīng) 用的環(huán)境。 一個(gè)配置可凈皮稱為"主"或主要配置,而另一個(gè)配置可凈皮稱為 "附屬,,或次要配置。當(dāng)管理程序針對(duì)由源虛擬機(jī)的配置所發(fā)起的交互生 成中斷時(shí),存在不同的公知的方法供管理程序來(lái)確定目標(biāo)虛擬機(jī)的配置中 的哪一個(gè)將接收并處理所述中斷和相關(guān)聯(lián)的交互。這種確定是必須的,因 為諸如VMCF消息和IUCV連接請(qǐng)求之類的交互被尋址到虛擬機(jī)而不是在 所述虛擬機(jī)內(nèi)所實(shí)例化的具體配置。與每個(gè)配置相關(guān)聯(lián)的中斷處理器是由 在所述配置中運(yùn)行的操作系統(tǒng)所提供的那個(gè)。針對(duì)所有到來(lái)的交互和相關(guān) 聯(lián)的中斷使用預(yù)定的配置之一是公知的。使用這種方法的問(wèn)題是其它配 置被阻止處理任何到來(lái)的交互和相關(guān)聯(lián)的中斷。針對(duì)當(dāng)前中斷使用所述虛 擬機(jī)的當(dāng)前有效的配置也是公知的。使用這種方法的問(wèn)題是當(dāng)前有效的 配置是動(dòng)態(tài)的,并且不能祐l起所述交互的虛擬機(jī)事先可靠地確定為待接 收中斷的恰當(dāng)?shù)囊粋€(gè)配置。本發(fā)明的目標(biāo)是確定目標(biāo)虛擬機(jī)的哪一個(gè)配置適于處理從另一個(gè)虛擬 機(jī)的配置所發(fā)起的到來(lái)的交互。發(fā)明內(nèi)容本發(fā)明涉及一種用于管理第一虛擬機(jī)的多個(gè)配置的系統(tǒng)、方法和程序 產(chǎn)品。接收命令來(lái)將用于處理來(lái)自 一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié)議
的下一個(gè)到來(lái)的交互和隨后到來(lái)的交互的所述第一虛擬機(jī)的配置設(shè)置成首 先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第 一虛擬^l所展現(xiàn)的配置。 確定首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第一虛擬機(jī)所展現(xiàn)的 所述配置。首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的所述第一虛擬機(jī)配置處 理所述下一個(gè)到來(lái)的交互根據(jù)本發(fā)明的特征,所述第一虛擬機(jī)的配置通過(guò)聲明用于接收到來(lái)的 連接請(qǐng)求的緩沖器和/或使能將所述到來(lái)的連接請(qǐng)求告知所述第一虛擬機(jī) 的中斷,而準(zhǔn)備接收針對(duì)面向連接的協(xié)議的下一個(gè)到來(lái)的交互。針對(duì)所述 第 一虛擬機(jī)的隨后到來(lái)的連接請(qǐng)求接著被指引到所確定的配置。由接受前 面的到來(lái)的連接請(qǐng)求的任何一個(gè)配置之前所建立的任何通信路徑保持完 整,并且沿著此路徑的消息繼續(xù)行進(jìn)到接受針對(duì)其建立了所述路徑的連接 的配置。根據(jù)本發(fā)明的另一特征,所述第一虛擬機(jī)的配置通過(guò)授權(quán)它自己接收 到來(lái)的消息并且識(shí)別中斷緩沖器,而準(zhǔn)備接收針對(duì)無(wú)連接協(xié)議的下一個(gè)到 來(lái)的交互。通過(guò)所述無(wú)連接協(xié)議的針對(duì)所述第 一虛擬機(jī)的隨后到來(lái)的消息 接著被指引到所確定的配置。
圖1是在管理程序的程序的控制下進(jìn)行相互通信的多個(gè)虛擬機(jī)的框圖; 一個(gè)(或多個(gè))所述虛擬機(jī)包括兩個(gè)實(shí)例化的配置。圖2是根據(jù)本發(fā)明的圖1中的管理程序的程序內(nèi)的配置管理程序功能 的一部分的流程圖,其允許用戶將用于處理到來(lái)的交互的每個(gè)目標(biāo)虛擬機(jī) 的配置設(shè)置成針對(duì)到來(lái)的交互的主配置、附屬配置或"進(jìn)行準(zhǔn)備的第一配 置,,。圖3是圖1中的管理程序的程序內(nèi)的配置管理程序功能的另一部分的流程圖,所述功能當(dāng)所述設(shè)置命令指明針對(duì)到來(lái)的交互的"進(jìn)行準(zhǔn)備的第 一配置"時(shí)動(dòng)態(tài)地確定針對(duì)到來(lái)的交互使用哪一個(gè)配置。圖4是圖1中的管理程序的程序內(nèi)的另一個(gè)功能的流程圖,所述功能 將來(lái)自源虛擬機(jī)的配置的交互轉(zhuǎn)發(fā)到目標(biāo)虛擬機(jī),并且根據(jù)所述設(shè)置命令
將它遞送給所述目標(biāo)虛擬機(jī)的合適的配置。
具體實(shí)施方式
圖1圖示了真實(shí)的計(jì)算機(jī)系統(tǒng)10,其包括公共總線15上的CPU 12(其 包括一個(gè)或多個(gè)處理器)、RAM 13和ROM 14、以及存儲(chǔ)裝置16?;?操作系統(tǒng)或管理程序的程序20已經(jīng)邏輯地將真實(shí)計(jì)算機(jī)系統(tǒng)10的真實(shí)資 源(全部CPU時(shí)間中的一份或所述CPU的許多虛擬處理器、RAM、ROM、 存儲(chǔ)裝置等等)劃分成虛擬機(jī)30 - 33。因此,每個(gè)虛擬機(jī)30 - 33包括一 個(gè)或多個(gè)配置。針對(duì)虛擬機(jī)30圖示了兩個(gè)不同的配置30-1和30-2。雖 然針對(duì)虛擬才幾31 - 33僅僅圖示了 一個(gè)配置,但是每個(gè)虛擬才幾31 - 33也可 具有兩個(gè)不同的配置。每個(gè)配置是一個(gè)功能單元并且執(zhí)行各自的客戶操作 系統(tǒng)。 一個(gè)或多個(gè)應(yīng)用230-1, 230-2、 231、 232和233也在每個(gè)配置中 執(zhí)行。(雖然在酉己置30 — 1、 30 — 2、 31— l、 32 — 1和33 — 1的每個(gè)中僅僅 圖示了一個(gè)應(yīng)用,但是在每個(gè)配置中可以有多個(gè)應(yīng)用。)如下面所描述, 管理程序20具有它可用來(lái)執(zhí)行虛擬機(jī)的功能的專用存儲(chǔ)器。雖然虛擬機(jī) 30具有超過(guò)一個(gè)有效配置,但是只有一個(gè)配置被用于處理每個(gè)中斷和處理 來(lái)自源虛擬機(jī)配置的相關(guān)聯(lián)的交互。在所圖示的實(shí)施例中,虛擬機(jī)30具有 主配置30-l和附屬配置30-2,而虛擬機(jī)31、 32、 33中的每個(gè)分別具有 單一(主)配置31-1、 32-l和33-l。通過(guò)舉例的方式,這些配置中的 每個(gè)指明許多虛擬處理器、許多虛擬機(jī)存儲(chǔ)器、虛擬設(shè)備的地址和類型、 以及相關(guān)聯(lián)的操作系統(tǒng)的名字或根設(shè)備。例如,每個(gè)配置可使用與其它配 置不同的操作系統(tǒng);這在可執(zhí)行的應(yīng)用類型的方面改善了虛擬機(jī)的通用性。 這允許被調(diào)試的操作系統(tǒng)在主配置中運(yùn)行,以及運(yùn)行調(diào)試工具的操作系統(tǒng) 在附屬配置中運(yùn)行。作為另一個(gè)例子,在虛擬處理器的數(shù)量和被分配給它 們的存儲(chǔ)器的數(shù)量方面,不同的配置可以具有極不相同的"大小"。源虛擬機(jī)的每個(gè)配置可以經(jīng)由管理程序的程序20與其它虛擬機(jī)的配 置中的任何一個(gè)進(jìn)行通信。這種通信可以通過(guò)使用諸如IUCV或VMCF 這樣的各種各樣的協(xié)議來(lái)進(jìn)行。使用IUCV的通信是面向連接的。 一旦連 接路徑被建立,那么就在進(jìn)行通信的虛擬機(jī)的兩個(gè)特定配置之間遞送流過(guò) 所述路徑的消息。然而,建立連接的請(qǐng)求通過(guò)名字來(lái)對(duì)所述目標(biāo)虛擬機(jī)進(jìn)行尋址而不指定所述虛擬機(jī)內(nèi)的具體配置。使用VMCF的通信是無(wú)連接 的。通過(guò)名字將每個(gè)消息尋址到目標(biāo)虛擬機(jī)而不是到所述虛擬機(jī)內(nèi)的具體 配置。在IUCV和VMCF 二者中,存在依賴于目標(biāo)虛擬才幾名字的交互。對(duì)于 IUCV,這些交互包括建立通信路徑的連接請(qǐng)求;在VMCF中,交互識(shí)別 各個(gè)消息的目的地。根據(jù)本發(fā)明,管理程序的程序20基于以下內(nèi)容確定用 于處理諸如到來(lái)的連接請(qǐng)求和消息之類的到來(lái)的交互以及中斷的目標(biāo)虛擬 機(jī)的合適配置。如果管理員事先將虛擬機(jī)設(shè)置/配置為由"主配置"來(lái)處理 到來(lái)的交互和相關(guān)聯(lián)的中斷,則無(wú)論何時(shí)需要中斷,管理程序就將所述中 斷和相關(guān)聯(lián)的交互轉(zhuǎn)發(fā)給所述目標(biāo)虛擬機(jī)的主配置用于進(jìn)行處理。在響應(yīng) 中,所述目標(biāo)虛擬機(jī)的主配置也將處理相關(guān)聯(lián)的交互。相反地,如果管理 員事先將虛擬機(jī):沒(méi)置/配置為由"附屬配置"來(lái)處理到來(lái)的交互和相關(guān)聯(lián)的 中斷,則無(wú)論何時(shí)需要中斷,管理程序就將所述中斷和相關(guān)聯(lián)的交互轉(zhuǎn)發(fā) 給所述目標(biāo)虛擬機(jī)的附屬配置用于進(jìn)行處理。在響應(yīng)中,所述目標(biāo)虛擬機(jī) 的附屬配置也將處理相關(guān)聯(lián)的交互。然而,如果管理員事先將虛擬機(jī)設(shè)置/ 配置為由針對(duì)到來(lái)的交互的"進(jìn)行準(zhǔn)備的第一配置"來(lái)處理它們,則隨后 首先向管理程序聲明IUCV緩沖器或向管理程序發(fā)出VMCF授權(quán)的配置是 目標(biāo)虛擬機(jī)中的用來(lái)處理所述中斷和相關(guān)聯(lián)的交互、與到來(lái)的交互相關(guān)聯(lián) 的所有隨后的中斷、以及相關(guān)聯(lián)的交互的配置(直到該i殳定4皮另一個(gè)設(shè)置 命令改變?yōu)橹?。實(shí)際上,所述設(shè)定是三向開(kāi)關(guān)。此開(kāi)關(guān)可以被設(shè)置成將所有到來(lái)的交 互指引到主配置、將它們?nèi)慷贾敢礁綄倥渲?、或?qū)⑺鼈冎敢降谝粋€(gè) 為它們進(jìn)行準(zhǔn)備的配置。圖2圖示了管理程序的程序20內(nèi)的配置管理程序功能300,其使用戶 能夠經(jīng)由帶有恰當(dāng)參數(shù)的設(shè)置命令來(lái)設(shè)置每個(gè)虛擬機(jī)的配置(也即,"主 配置"、"附屬配置"或"進(jìn)行準(zhǔn)備的第一配置")。程序功能300從用 戶或從另一個(gè)應(yīng)用接收設(shè)置命令(步驟201)并讀取相關(guān)聯(lián)的參數(shù)以確定 所述設(shè)定是針對(duì)"主配置"、"附屬配置"、還是"進(jìn)行準(zhǔn)備的第一配置,,。
如果所述設(shè)定是針對(duì)"主配置"(判決202,"是"分支,和步驟203), 那么程序功能300在表60中(在管理程序20的專用存儲(chǔ)器中)記錄以 此虛擬機(jī)作目標(biāo)的任何IUCV連接請(qǐng)求或VMCF消息(或其它協(xié)議的到來(lái) 的交互)以及相關(guān)聯(lián)的中斷應(yīng)當(dāng)由目標(biāo)虛擬機(jī)的主配置來(lái)處理。如果所述 設(shè)定是針對(duì)"附屬配置"(判決202,"否"分支,判決204,"是"分支, 和步驟205),那么程序功能300在表60中記錄以此虛擬機(jī)作目標(biāo)的任 何IUCV連接請(qǐng)求或VMCF消息(或其它協(xié)議的到來(lái)的交互)應(yīng)當(dāng)由目標(biāo) 虛擬機(jī)的附屬配置來(lái)處理。如果所述設(shè)定是針對(duì)"進(jìn)行準(zhǔn)備的第一配置" (判決202,"否,,分支,判決204,"否"分支,判決206,"是"分支, 和步驟207),那么程序功能300在表60中記錄配置未被預(yù)定,并且以 此虛擬機(jī)作目標(biāo)的任何IUCV連接請(qǐng)求或VMCF消息(或其它協(xié)議的到來(lái) 的交互)應(yīng)當(dāng)由下述的目標(biāo)虛擬^L的配置來(lái)處理,所述配置隨后首先聲明 IUCV緩沖器(或者準(zhǔn)備另一協(xié)議的到來(lái)的交互)。如果設(shè)置命令不符合 前面所述中的任何內(nèi)容,那么程序功能300向用戶報(bào)告錯(cuò)誤(步驟208)。 圖3圖示了配置管理程序功能300的操作,所述操作當(dāng)在圖2的步驟 中被處理的設(shè)置命令指示出"進(jìn)行準(zhǔn)備的第一配置"時(shí)動(dòng)態(tài)地確定待使用 的合適的目標(biāo)虛擬機(jī)配置。針對(duì)每個(gè)虛擬機(jī)30 - 33分別執(zhí)行圖3的步驟。 在步驟301中,程序功能300通過(guò)聲明IUCV緩沖器或發(fā)出VMCF授權(quán)命 令(或者根據(jù)另一協(xié)議采取其它動(dòng)作來(lái)準(zhǔn)備此另一協(xié)議的到來(lái)的交互)而 從虛擬機(jī)的任何一個(gè)配置(主配置或附屬配置)中接收為到來(lái)的通信做準(zhǔn) 備的請(qǐng)求。在本發(fā)明的 一實(shí)施例中,當(dāng)虛擬機(jī)準(zhǔn)備任何一種類型的到來(lái)的通信 (IUCV或VMCF)(或其它協(xié)議的任何其它類型的到來(lái)的通信),且所 述虛擬機(jī)的配置沒(méi)有由設(shè)置命令所預(yù)定--判決302,"否"分支,那么 程序功能300將首先為通信進(jìn)行準(zhǔn)備的目標(biāo)虛擬機(jī)的配置(主配置或附屬 配置)確定為將處理下一個(gè)IUCV或VMCF (或其它協(xié)i義)的交互和相關(guān) 聯(lián)的中斷的虛擬機(jī)的配置。因此,如果目標(biāo)虛擬機(jī)的主配置曾經(jīng)或者現(xiàn)在 首先進(jìn)行準(zhǔn)備下一個(gè)IUCV或VMCF (或其它協(xié)議)的交互(判決303, "是"分支),那么程序功能300動(dòng)態(tài)地分配主配置用于未來(lái)的到來(lái)的IUCV
或VMCF交互和相關(guān)聯(lián)的中斷(步驟304)。然而,如果虛擬機(jī)的附屬配 置曾經(jīng)或現(xiàn)在首先進(jìn)行準(zhǔn)備到來(lái)的IUCV或VMCF (或其它協(xié)議)的交互 (判決303,"否"分支),那么程序功能300動(dòng)態(tài)地分配附屬配置用于 未來(lái)的到來(lái)的IUCV或VMCF (或其它協(xié)議)的交互和相關(guān)聯(lián)的中斷(步 驟305)。圖4圖示了當(dāng)管理程序20被告知源虛擬機(jī)的配置想要發(fā)起與目標(biāo)虛擬 機(jī)的配置的交互時(shí)程序功能300所進(jìn)行的處理。在步驟401中,程序功能 300從源虛擬機(jī)配置接收被尋址到目標(biāo)虛擬機(jī)的VMCF消息或IUCV連接 請(qǐng)求的通知。管理程序20從所述交互中的地址參數(shù)中識(shí)別目標(biāo)虛擬機(jī)(步 驟402),并且接著確定目標(biāo)虛擬機(jī)是否具有超過(guò)一個(gè)實(shí)例化的配置(判 決403)。如果不具有(判決403,"否"分支),那么管理程序20在適 當(dāng)時(shí)發(fā)起用于交互的協(xié)議的中斷和其它處理,并且調(diào)度向目標(biāo)虛擬機(jī)遞送 交互(步驟404)。虛擬機(jī)僅具有一個(gè)可能的配置,所以管理程序20不需 要采取任何動(dòng)作來(lái)確定此配置。再次參考判決403,"是"分支,其中目 標(biāo)虛擬機(jī)具有兩個(gè)或多個(gè)可能的配置(主配置或附屬配置),那么管理程 序20調(diào)用程序功能300,以從表60中確定將用于到目標(biāo)虛擬機(jī)的交互和 相關(guān)聯(lián)的中斷的目標(biāo)虛擬機(jī)的合適配置。如上面參考圖2和圖3所解釋, 程序功能300將基于在設(shè)置命令中所指明的預(yù)定的配置類型或基于"進(jìn)行 準(zhǔn)備的第一配置"(如果這是設(shè)置命令的參數(shù))而知道待使用的目標(biāo)虛擬 機(jī)的合適的配置以及哪一個(gè)配置首先針對(duì)到來(lái)的交互進(jìn)行準(zhǔn)備。如果合適 的配置是主配置(基于伴隨設(shè)置命令的"主配置,,參數(shù),或者在設(shè)置命令 是"進(jìn)行準(zhǔn)備的第一配置,,的情況下主配置首先進(jìn)行準(zhǔn)備)(判決405,"是"分支),那么管理程序20的程序功能300選擇主配置作為用于此交 互和相關(guān)聯(lián)的中斷的合適的配置,并且管理程序20在適當(dāng)時(shí)發(fā)起中斷并 且調(diào)度將交互遞送給目標(biāo)虛擬機(jī)的主配置(步驟404)。然而,如果合適 的配置是附屬配置(基于伴隨設(shè)置命令的"附屬配置,,參數(shù),或者在設(shè)置 命令是"進(jìn)行準(zhǔn)備的第一配置,,的情況下附屬配置首先進(jìn)行準(zhǔn)備)(判決 405,"否"分支),那么管理程序的程序功能300選擇附屬配置作為用于 此交互和相關(guān)聯(lián)的中斷的合適配置,并且管理程序20在適當(dāng)時(shí)發(fā)起用于 到來(lái)的交互的協(xié)議的中斷并且調(diào)度將交互遞送給目標(biāo)虛擬機(jī)的附屬配置(步驟406 )。下面是使用本發(fā)明的例子。主配置最開(kāi)始運(yùn)行諸如使用VMCF和 IUCV的IBM CMS操作系統(tǒng)之類的操作系統(tǒng)。主配置中的CMS操作系統(tǒng) 是進(jìn)行準(zhǔn)備的第一 (并且是唯一的)配置。稍后,主配置被復(fù)位并且諸如 不使用VMCF和IUCV的z/OS或Linux之類的另 一操作系統(tǒng)被加載進(jìn)主 配置。接著,在附屬配置中基于CMS的調(diào)試器被引出。在這個(gè)例子中, 為了供CMS和調(diào)試器使用,通信對(duì)于附屬配置來(lái)說(shuō)是可用的。包括配置管理程序功能300的管理程序的程序20可從計(jì)算機(jī)可讀介質(zhì) (諸如磁帶或磁盤(pán)、光學(xué)介質(zhì)、DVD、存儲(chǔ)棒、半導(dǎo)體存儲(chǔ)器等等)加載 進(jìn)計(jì)算機(jī)IO,或者可經(jīng)由TCP/IP適配器卡71從因特網(wǎng)下載?;谇懊娴膬?nèi)容,公開(kāi)了 一種用于管理與虛擬機(jī)的多個(gè)配置的通信的 系統(tǒng)、方法和程序產(chǎn)品。然而,在不偏離本發(fā)明的范圍的條件下可以做出 許多修改和替換。因此,通過(guò)圖示而非限制的方式已經(jīng)公開(kāi)了本發(fā)明,并 且應(yīng)當(dāng)參考權(quán)利要求來(lái)確定本發(fā)明的范圍。
權(quán)利要求
1.一種用于管理與具有多個(gè)配置的第一虛擬機(jī)的到來(lái)的交互的方法,所述方法包括以下步驟接收命令來(lái)將用于處理來(lái)自一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié)議的下一個(gè)到來(lái)的交互和隨后到來(lái)的交互的所述第一虛擬機(jī)的配置設(shè)置成在接收到所述命令之后首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第一虛擬機(jī)所展現(xiàn)的配置;確定在接收到所述命令之后首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第一虛擬機(jī)所展現(xiàn)的所述配置;以及首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的所述第一虛擬機(jī)配置處理所述下一個(gè)到來(lái)的交互。
2. 根據(jù)權(quán)利要求l所述的方法,其中所述配置中的每個(gè)配置指明以下 中的至少兩個(gè)許多虛擬處理器、許多虛擬機(jī)存儲(chǔ)器、虛擬設(shè)備的地址和 類型、以及相關(guān)聯(lián)的操作系統(tǒng)的名字或根設(shè)備。
3. 根據(jù)權(quán)利要求l所述的方法,其中所述接收命令以設(shè)置用于處理來(lái) 自一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié)議的下一個(gè)到來(lái)的交互和隨后到來(lái) 的交互的所述第一虛擬機(jī)的配置的步驟包括以下步驟接收命令以設(shè)置用 于處理來(lái)自一個(gè)或多個(gè)其它虛擬機(jī)的至少兩個(gè)協(xié)議的下一個(gè)到來(lái)的交互和 隨后到來(lái)的交互的所述第 一虛擬機(jī)的配置。
4. 根據(jù)權(quán)利要求3所述的方法,其中所述兩個(gè)協(xié)議包括用戶間通信載 體和虛擬才幾控制"i殳施協(xié)議。
5. 根據(jù)權(quán)利要求l所述的方法,其中所述第一虛擬機(jī)的配置通過(guò)聲明 用于接收所述到來(lái)的交互的緩存器和/或?qū)⑺鱿乱粋€(gè)到來(lái)的交互告知所 述第一虛擬^L的中斷,而首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互。
6. 根據(jù)權(quán)利要求l所述的方法,其中所述第一虛擬機(jī)的配置通過(guò)授權(quán) 它自己接收所述下一個(gè)到來(lái)的交互并識(shí)別中斷緩沖器,而首先準(zhǔn)備接收所 述下一個(gè)到來(lái)的交互。
7. 根據(jù)權(quán)利要求l所述的方法,其中所述至少一個(gè)協(xié)議是面向連接的 協(xié)議并且所述到來(lái)的交互是連接請(qǐng)求。
8. 根據(jù)權(quán)利要求1所述的方法,其中所述至少一個(gè)協(xié)議是無(wú)連接協(xié)議, 而所述到來(lái)的交互是消息。
9. 一種用于管理第一虛擬機(jī)的多個(gè)配置的系統(tǒng),所述系統(tǒng)包括用于接收命令來(lái)將用于處理來(lái)自 一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié) 議的下一個(gè)到來(lái)的交互和隨后到來(lái)的交互的所述第 一虛擬機(jī)的配置設(shè)置成 在接收到所述命令之后首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第 一虛擬機(jī)所展現(xiàn)的配置的裝置;用于確定在接收到所述命令之后首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互 的、由所述第一虛擬機(jī)所展現(xiàn)的所述配置的裝置;以及首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的所述第一虛擬機(jī)配置包括用 于處理所述下一個(gè)到來(lái)的交互的裝置。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述配置中的每個(gè)配置指明以 下中的至少兩個(gè)許多虛擬處理器、許多虛擬機(jī)存儲(chǔ)器、虛擬設(shè)備的地址 和類型、以及相關(guān)聯(lián)的操作系統(tǒng)的名字或根設(shè)備。
11. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述用于接收命令以設(shè)置用于 處理來(lái)自一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié)議的下一個(gè)到來(lái)的交互和隨 后到來(lái)的交互的所述第 一虛擬機(jī)的配置的裝置包括用于接收命令以設(shè)置 用于處理來(lái)自一個(gè)或多個(gè)其它虛擬機(jī)的至少兩個(gè)協(xié)議的下一個(gè)到來(lái)的交互 和隨后到來(lái)的交互的所述第 一虛擬機(jī)的配置的裝置。
12. 根據(jù)權(quán)利要求ll所述的系統(tǒng),其中所述兩個(gè)協(xié)議包括用戶間通信 載體和虛擬一幾控制i5:施協(xié)i義。
13. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述第一虛擬機(jī)的配置通過(guò)聲 明用于接收所述到來(lái)的交互的緩沖器和/或?qū)⑺鱿乱粋€(gè)到來(lái)的交互告知 所述笫一虛擬機(jī)的中斷,而首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互。
14. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述第一虛擬機(jī)的配置通過(guò)授 權(quán)它自己接收所述下一個(gè)到來(lái)的交互并識(shí)別中斷緩沖器,而首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互。
全文摘要
用于管理第一虛擬機(jī)的多個(gè)配置的系統(tǒng)、方法和程序產(chǎn)品。接收命令來(lái)將用于處理來(lái)自一個(gè)或多個(gè)其它虛擬機(jī)的至少一個(gè)協(xié)議的下一個(gè)到來(lái)的交互和隨后到來(lái)的交互的所述第一虛擬機(jī)的配置設(shè)置成首先隨后準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第一虛擬機(jī)所展現(xiàn)的配置。確定首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的、由所述第一虛擬機(jī)所展現(xiàn)的所述配置。首先準(zhǔn)備接收所述下一個(gè)到來(lái)的交互的所述第一虛擬機(jī)配置處理所述下一個(gè)到來(lái)的交互。
文檔編號(hào)G06F9/46GK101162432SQ20071018060
公開(kāi)日2008年4月16日 申請(qǐng)日期2007年10月9日 優(yōu)先權(quán)日2006年10月10日
發(fā)明者D·L·奧西塞克, D·M·格里菲思, J·P·麥考密克三世, W·R·懷特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司