啟用主機的管理信道的制作方法
【專利摘要】在目標(biāo)虛擬機(VM)和與該VM通信的主機或應(yīng)用之間提供邏輯通信路徑。目標(biāo)VM在具有管理程序和代理的管理程序主機上運行。管理程序管理VM的執(zhí)行。指示哪些VM在哪些主機上執(zhí)行的映射被維護。當(dāng)主機或應(yīng)用要將消息或分組發(fā)送到目標(biāo)VM時,該映射被查閱并且托管該目標(biāo)VM的管理程序主機被標(biāo)識出。可以標(biāo)識目標(biāo)VM的消息或分組被傳送至管理程序主機。在管理程序主機處的代理選擇管理程序和目標(biāo)VM之間的通信信道。管理程序隨后通過所選擇的信道把消息或分組傳遞到目標(biāo)VM。
【專利說明】啟用主機的管理信道
[0001]背景
[0002]在機器虛擬化領(lǐng)域,虛擬機(VM)具有網(wǎng)絡(luò)功能。也即,VM可以實現(xiàn)網(wǎng)絡(luò)協(xié)議棧以經(jīng)由網(wǎng)絡(luò)與其他VM或物理機器通信。例如,虛擬化主機(例如,Hyper-V (TM)主機)可以形成托管客VM的虛擬機結(jié)構(gòu)的一部分,其中結(jié)構(gòu)控制器管理虛擬化結(jié)構(gòu)(如在此背景中所使用的,“主機”可指例如結(jié)構(gòu)控制器,或者任何其他計算機)。然而,由于各種原因,在網(wǎng)絡(luò)上的主機和VM之間可能不存在網(wǎng)絡(luò)連接,即使在該主機和運行該VM的機器(被稱作“VM主機”)之間存在網(wǎng)絡(luò)連接。例如,VM可能在主機不屬于的虛擬專用網(wǎng)絡(luò)(VPN)上并且該VM的網(wǎng)絡(luò)地址可能在該主機的網(wǎng)路上無效。防火墻可能阻止從該主機的網(wǎng)絡(luò)訪問VM,而允許在VM主機的網(wǎng)絡(luò)上訪問VM。VM可能只是在可能需要與VM通信的主機不同的網(wǎng)絡(luò)上。
[0003]在某些情況下,使用諸如HTTP (超文本傳輸協(xié)議)、SOAP (簡單對象訪問協(xié)議)、WMI(TM) (Windows管理工具)、WS管理協(xié)議(經(jīng)由HTTP通過基于SOAP的協(xié)議傳輸WMI調(diào)用)等標(biāo)準(zhǔn)協(xié)議來與VM通信是合乎需要的。例如,在某些數(shù)據(jù)中心或云中,VM可具有在其上運行的可能通過針對控制(例如,通過HTTP的WMI)或數(shù)據(jù)(經(jīng)由HTTP的BITS)的一個或多個通信信道來執(zhí)行管理功能(諸如,向客操作系統(tǒng)應(yīng)用補丁、處理云結(jié)構(gòu)任務(wù)等)的網(wǎng)絡(luò)代理或服務(wù)。這些管理服務(wù)或代理由例如控制器主機上運行的管理應(yīng)用(例如,結(jié)構(gòu)控制器)控制。管理應(yīng)用向VM的網(wǎng)絡(luò)地址發(fā)送例如HTTP分組的分組,并且HTTP分組被遞送至管理代理。管理代理可以響應(yīng)于分組的載荷中的信息來執(zhí)行功能。然而,當(dāng)管理應(yīng)用沒有到VM的網(wǎng)絡(luò)連接時,調(diào)用VM上的管理代理是不可能的。
[0004]下面討論經(jīng)由管理程序和VM之間的通信信道啟動與VM通信的技術(shù)。
[0005]概述
[0006]以下概述僅是為了介紹在以下詳細描述中討論的某些概念而被包括的。本概述并不是全面的,并且不旨在描繪所要求保護的主題的范圍,該范圍由所附的權(quán)利要求書來闡明。
[0007]在目標(biāo)虛擬機(VM)和與該VM通信的主機或應(yīng)用之間提供邏輯通信路徑。例如,虛擬化主機和VM之間的路徑。目標(biāo)VM在具有管理程序和代理(例如,HTTP代理)的管理程序主機上運行。管理程序管理VM的執(zhí)行。指示哪些VM在哪些主機上執(zhí)行的映射被維護。當(dāng)主機或應(yīng)用要將消息或分組發(fā)送到目標(biāo)VM時,該映射被查閱并且托管該目標(biāo)VM的管理程序主機被標(biāo)識出??梢詷?biāo)識目標(biāo)VM的消息或分組被傳送至管理程序主機。在管理程序主機處的代理選擇管理程序和目標(biāo)VM之間的通信信道。管理程序隨后通過所選擇的信道把消息或分組傳遞到目標(biāo)VM。
[0008]許多附帶特征將參考以下的詳細描述并結(jié)合附圖考慮以在下文解釋。
[0009]附圖簡述
[0010]根據(jù)附圖閱讀以下詳細描述,將更好地理解本發(fā)明,其中在所附描述中使用相同的附圖標(biāo)記來指代相同的部分。
[0011]圖1示出示例虛擬化層。
[0012]圖2示出與虛擬機和虛擬機映像有關(guān)的虛擬化層的過程和交互。[0013]圖3示出應(yīng)用與在由VM托管的客操作系統(tǒng)上運行的代理進行通信的示例。
[0014]圖4示出應(yīng)用和VM之間的邏輯通信路徑的概覽。
[0015]圖5示出客戶端主機發(fā)起與VM的連接。
[0016]圖6示出管理程序主機處理來自客戶端主機的分組。
[0017]詳細描述
[0018]以下討論的實施例涉及使用VM/管理程序主機上的內(nèi)部通信信道來允許外部網(wǎng)路通信。討論將從虛擬化技術(shù)和虛擬化層(也被稱作管理程序)的概覽開始。接下來描述應(yīng)用和VM之間的網(wǎng)絡(luò)通信的示例。將說明使用管理程序主機上的專用信道的邏輯通信路徑的概覽。最后,將詳細地描述這種通信路徑的細節(jié),該通信路徑包括在該通信路徑的一端處的應(yīng)用以及在該通信路徑的另一端處的管理程序主機(VM主機)。
[0019]機器虛擬化
[0020]圖1示出示例虛擬化層100。計算機102具有硬件104,該硬件104包括中央處理單元(CPU) 106、存儲器108、網(wǎng)絡(luò)接口 110、非易失性存儲112以及諸如總線、顯示適配器等沒有示出的其他組件。虛擬化層100管理和促進虛擬機114的執(zhí)行。盡管圖1中未示出,每個虛擬機114通常具有相關(guān)聯(lián)的虛擬盤映像和客操作系統(tǒng)。為簡明起見,虛擬機114的操作系統(tǒng)和可能的應(yīng)用軟件有時會被稱作訪客,訪客存儲在與虛擬機114相關(guān)聯(lián)的虛擬盤映像中并且從與虛擬機114相關(guān)聯(lián)的虛擬盤映像中執(zhí)行。為方便起見,術(shù)語“管理程序”在本文中將被用來指各種形式的虛擬化層。此外,如下文將討論的,虛擬機114被用來托管分布式應(yīng)用的各元素。
[0021]虛擬化層100可以是任何種已知或未來的實現(xiàn),諸如Hyper-V服務(wù)器(TM)、VMWareESX服務(wù)器(TM)、Xen、0racle VM (TM)等。虛擬化層的架構(gòu)可以是虛擬機監(jiān)視器(VMM)在主機操作系統(tǒng)上運行的托管類型,或者是管理程序等在計算機102的硬件104上直接運行的裸金屬類型。如本文中所使用的,術(shù)語“虛擬機”是指模擬任何特定的硬件架構(gòu)(例如,x86)能夠運行該硬件架構(gòu)的本機代碼的系統(tǒng)型虛擬機;對于訪客而言,虛擬機與硬件機器可能是幾乎不可區(qū)分的。在本文中所討論的虛擬機不是諸如Java虛擬機等抽象或進程型的虛擬機。
[0022]虛擬化層100執(zhí)行管理虛擬機114以及由其本身和虛擬機114 二者共享硬件104的基本功能??梢允褂酶鞣N技術(shù)中的任何一種把虛擬機114和硬件104隔離開。在一個實施例中,虛擬化層可以提供與虛擬機114相對應(yīng)的不同的隔離環(huán)境(S卩,分區(qū)或域)。虛擬化層100中的一些,諸如共享虛擬設(shè)備驅(qū)動程序、虛擬機內(nèi)通信設(shè)施和虛擬機管理API (應(yīng)用編程接口),可以在一個特殊的特權(quán)分區(qū)或域中運行,從而允許緊湊且高效的管理程序。在其他實施例中,用于虛擬機管理和對硬件104的一致共享的功能可以駐留在單片金屬上(on-the-metal)系統(tǒng)管理程序中。
[0023]圖2示出與虛擬機114和虛擬機映像140有關(guān)的虛擬化層100的過程和交互。虛擬化層100可能根據(jù)相應(yīng)的虛擬機配置參數(shù)執(zhí)行啟動并執(zhí)行虛擬機114的過程142。當(dāng)虛擬機(VM)114被啟動時,虛擬化層標(biāo)識相關(guān)聯(lián)的虛擬機映像140。在實踐中,任何虛擬機114可以使用任何虛擬機映像140。虛擬機映像140可以是虛擬化層100的文件系統(tǒng)141上的經(jīng)特殊格式化的文件(如,VHD)。虛擬化層100加載所標(biāo)識的虛擬機映像140。啟動的虛擬機114也許通過尋求主引導(dǎo)記錄或其他引導(dǎo)信息來安裝和讀取虛擬機映像140,并且引導(dǎo)開始執(zhí)行的客操作系統(tǒng)。
[0024]虛擬化層100管理虛擬機114的執(zhí)行,處理對訪客的內(nèi)核的特定調(diào)用、超級調(diào)用等,以及協(xié)調(diào)虛擬機114對底層硬件104的訪問。隨著訪客及其軟件運行,虛擬化層100可以維護虛擬盤映像140上的訪客的狀態(tài);當(dāng)訪客或由訪客運行的應(yīng)用向“盤”寫數(shù)據(jù)時,虛擬化層100將該數(shù)據(jù)轉(zhuǎn)換成虛擬盤映像140的格式并寫入到該映像。
[0025]虛擬化層100可以執(zhí)行用于關(guān)閉虛擬機114的過程144。當(dāng)接收到停止虛擬機114的指令時,虛擬機114及其訪客的狀態(tài)被保存到虛擬盤映像140,并且執(zhí)行中的虛擬機114的過程(或分區(qū))被刪除??梢员A籼摂M機114的規(guī)范以用于虛擬機114的稍后重啟。
[0026]對虛擬機通信的概覽
[0027]圖3示出應(yīng)用180與在由VM186托管的客操作系統(tǒng)(訪客184)上運行的代理182進行通信的示例。可以是例如管理應(yīng)用的應(yīng)用180在客戶端主機188上運行,該客戶端主機188可以是具有用于允許經(jīng)由網(wǎng)絡(luò)190通信的網(wǎng)絡(luò)接口卡(NIC) 189的普通計算機。客戶端主機188具有包括各種協(xié)議實現(xiàn)的協(xié)議棧,各種協(xié)議實現(xiàn)包括應(yīng)用協(xié)議實現(xiàn)192 (由應(yīng)用180實現(xiàn))、傳輸協(xié)議實現(xiàn)194和網(wǎng)絡(luò)協(xié)議實現(xiàn)196。
[0028]訪客184也具有上述協(xié)議的實現(xiàn),管理程序主機198上的管理程序196 —樣具有上述協(xié)議的實現(xiàn)。管理程序主機198是運行管理VM186的執(zhí)行的管理程序196的計算機。代理182 (也稱作“訪客代理182”)駐留在訪客184上并且可以實現(xiàn)與應(yīng)用180所實現(xiàn)的相同的應(yīng)用協(xié)議。應(yīng)用180和訪客182可以是任何種軟件,例如后臺網(wǎng)絡(luò)服務(wù)、交互應(yīng)用、可執(zhí)行應(yīng)用、較大的應(yīng)用或套件的組件,等等。在一個實施例中,應(yīng)用180可以是管理VM的虛擬機管理應(yīng)用,并且代理182根據(jù)與應(yīng)用180的通信執(zhí)行管理功能。
[0029]VM186的執(zhí)行由管理程序196管理,管理程序196可以管理圖3中未示出的其他VM0在客戶端主機188和VM186之間的直接連接可能的情況下,應(yīng)用180和代理182經(jīng)由網(wǎng)絡(luò)190如下通信。應(yīng)用180根據(jù)應(yīng)用協(xié)議192 (例如,HTTP分組或消息)形成應(yīng)用消息。應(yīng)用180請求其本地操作系統(tǒng)向管理程序主機198的網(wǎng)絡(luò)地址(例如,HTTP地址)發(fā)送消息。本地操作系統(tǒng)的協(xié)議棧開啟到管理程序主機198的連接,把應(yīng)用180的消息封裝在傳輸載荷中并把該傳輸載荷封裝在網(wǎng)絡(luò)分組202中。其網(wǎng)絡(luò)頭部(包含管理程序主機198的網(wǎng)絡(luò)地址)通過網(wǎng)絡(luò)190被路由到管理程序主機198。管理程序主機192可以把分組202傳遞到VM186并繼而到訪客184和訪客代理182。按此方式,各種載荷被相應(yīng)的協(xié)議實現(xiàn)提取,并且訪客代理182接收所傳送的應(yīng)用消息(例如,“命令foo”)。過程是相似的,但在訪客代理182把應(yīng)用消息傳送到應(yīng)用192時相反。
[0030]如在本文中所使用的,術(shù)語“客戶端”、“客戶端主機”、“應(yīng)用”以及“代理”、“管理程序”和“管理程序主機”以其最寬泛的含義被使用。使用本文中所述各技術(shù)來進行通信的特定平臺和軟件較不重要的。事實上,值得注意的是現(xiàn)有應(yīng)用級軟件和協(xié)議可以使用以下所述的通信技術(shù)而無需顯著的修改(如果有的話),尤其在經(jīng)由網(wǎng)絡(luò)(例如,應(yīng)用180)與VM通信的那端。此外,盡管有時為了說明而提及了 HTTP、IP (因特網(wǎng)協(xié)議)、以及TCP/UDP (傳輸控制協(xié)議/通用數(shù)據(jù)報協(xié)議)協(xié)議,以下描述的通信技術(shù)可以與任何標(biāo)準(zhǔn)聯(lián)網(wǎng)協(xié)議或其版本(例如,SOCKS)—起工作。此外,為簡明起見,“HTTP”將被認為指HTTP及HTTPs (HTTP安全)的各種版本及各種變體。
[0031]邏輯通信路徑,應(yīng)用和管理稈序?qū)嵤├齕0032]圖4示出應(yīng)用180和VM186之間的邏輯通信路徑220的概覽。管理程序主機198上的代理222使客戶端主機188與VM186橋接??梢约僭O(shè)VM186和客戶端主機188具有通信所必須的網(wǎng)路組件(例如,協(xié)議棧)但是不能直接通信。例如,網(wǎng)絡(luò)190可能不能在它們之間路由網(wǎng)絡(luò)分組(例如,任意一方在網(wǎng)絡(luò)190上不可尋址)。然而,在客戶端主機188處,網(wǎng)絡(luò)分組223可以被引導(dǎo)至虛擬化層的網(wǎng)絡(luò)地址(管理程序主機198的地址)。當(dāng)分組223被接收到時,代理222確定分組223意在被VM186接收并且致使虛擬化層(管理程序)通過專用或本地通信信道224向VM186傳遞該分組。
[0033]在一個實施例中,VM-主機映射地圖226包含指示哪些VM駐留在哪些管理程序主機上的信息。客戶端主機188可以使用已知的VM186的標(biāo)識符(可能被應(yīng)用180所知道)來在VM主機映射226中查找管理程序主機198的網(wǎng)絡(luò)地址。該標(biāo)識符可以被添加到分組223以供代理222使用??蛻舳酥鳈C188將分組223發(fā)送到查找到的管理程序主機198的網(wǎng)絡(luò)地址,網(wǎng)絡(luò)190使用該查找到的地址將分組223路由226到管理程序主機198。如上所述,代理222使用VM186的標(biāo)識符(例如,來自HTTP連接頭部)來使得虛擬化層向VM186傳遞分組 223。
[0034]圖5示出客戶端主機188發(fā)起與VM186的連接??蛻舳酥鳈C188具有對VM-主機映射226的訪問。客戶端主機188執(zhí)行用于與VM186通信的過程250。在步驟252,與特定VM186通信的請求254被接收,該請求可能是應(yīng)用180的邏輯的一部分,或者可能接收自外部實體。在步驟256,VM186的標(biāo)識符(例如,圖5中的“VM1”)被用來查找其上駐留有VM186的主機;即管理程序主機186。該查找可以返回管理程序主機198的網(wǎng)絡(luò)地址或者網(wǎng)絡(luò)主機名(如在本文中所使用的,假設(shè)“網(wǎng)絡(luò)地址”包括數(shù)字地址和可以被解析為數(shù)字地址的主機名這兩者)。在步驟258,形成包括實質(zhì)載荷(例如,應(yīng)用協(xié)議消息)的分組223。在使用HTTP的實施例中,在步驟258形成的分組223是HTTP分組并且管理程序主機的網(wǎng)絡(luò)地址被包括在該HTTP頭部中。在步驟260,使用管理程序的網(wǎng)絡(luò)地址(圖5中的“網(wǎng)絡(luò)addrl”,例如“128.1.2.3”)將分組223傳送至網(wǎng)絡(luò)190。
[0035]在一個實施例中,過程250可以完全地或者部分地由應(yīng)用180執(zhí)行。在另一個實施例中,應(yīng)用180可以充當(dāng)要與VM186通信的其他應(yīng)用的代理或服務(wù)。這些應(yīng)用向應(yīng)用180傳遞VM標(biāo)識符和消息正文,并且應(yīng)用180構(gòu)建該正文的分組、添加VM標(biāo)識符以及將該分組傳送到相應(yīng)的管理程序主機。在又一個實施例中,不是維護查找表(VM-主機映射226),VM標(biāo)識符可以是向DNS (域名服務(wù))服務(wù)器注冊的、映射到與VM相對應(yīng)的管理程序主機的網(wǎng)絡(luò)地址的全局唯一主機名(可能具有局部的或有限的范圍以避免沖突)。在這種情況下,當(dāng)應(yīng)用或者客戶端主機想要與VM通信時,它經(jīng)由本地DNS服務(wù)器來查找VM的標(biāo)識符(例如,“假”DNS名)以獲取正確的管理程序主機的網(wǎng)絡(luò)地址。
[0036]只要代理222和客戶端主機/應(yīng)用共享相同的名稱,VM標(biāo)識符的形式并不重要。系統(tǒng)可以使用命名VM的任何約定,例如定制URI(統(tǒng)一資源標(biāo)識符)格式,諸如“主機”。
[0037]圖6示出管理程序主機198處理來自客戶端主機188的分組223。代理222結(jié)合虛擬化層或管理程序192 —起操作以執(zhí)行過程280。在步驟282,管理程序主機198接收分組223,分組223包括目標(biāo)VM (即,VM186)的VM標(biāo)識符(例如“VM1 ”、“主機1: VMl”等)。代理222提取VM標(biāo)識符,并且在步驟283在信道表284中查找VM標(biāo)識符。信道表283將通信信道224、224A映射到相應(yīng)的VM186、186A。每個通信信道224、224A可以具有包括管理程序側(cè)端點286和VM側(cè)端點288 (在一個實施例中,VM側(cè)端點286是VM186的虛擬NIC)的一對通信端點。如果步驟283沒有發(fā)現(xiàn)通信信道,執(zhí)行步驟290并且創(chuàng)建新的信道。到新的信道的引用隨后被添加到信道表284。注意,虛擬NIC或管理NIC可以是連接與主機和各VM連接的內(nèi)部網(wǎng)絡(luò)交換機的虛擬總線網(wǎng)絡(luò)適配器;各VM具有自動內(nèi)部IP地址(例如,在169的范圍內(nèi))。在一個實施例中,維護與內(nèi)部網(wǎng)絡(luò)交換機相關(guān)聯(lián)的ACL (訪問控制列表)以防止每一訪客VM未經(jīng)許可彼此通信;在ACL中沒有顯式許可時,主機到VM的通信被允許但是VM-VM通信不被允許。
[0038]為分組223標(biāo)識出了正確的通信信道224后,在步驟292,管理程序192和/或代理222將分組223傳遞到通信信道224。繼而,VM186執(zhí)行過程294。在步驟296,訪客184接收分組223。在步驟298,基于分組223,訪客184將分組223傳遞到訪客代理182,訪客代理182繼續(xù)服務(wù)于分組223的實質(zhì)內(nèi)容(例如,執(zhí)行“命令foo”)。例如,分組223的應(yīng)用-協(xié)議類型(例如,HTTP)可以被訪客映射到訪客代理182監(jiān)聽的端口號。也即,訪客代理182可以監(jiān)聽特定端口(例如,用于管理的指定的WS-管理端口 5986,用于數(shù)據(jù)的BITS端口8114,等等)。代理222 (例如,HTTP代理)監(jiān)聽(管理程序主機186的)外部IP地址的相同端口(5986,8114)。代理222隨后將任何傳入流量轉(zhuǎn)發(fā)到訪客VM中的相應(yīng)端口上,從而允許在訪客VM上復(fù)用各種控制和數(shù)據(jù)流量。
[0039]關(guān)于這些通信信道,在一個實施例中,這些通信信道基于用來向管理程序主機198遞送分組223的相同的網(wǎng)絡(luò)和/或傳輸協(xié)議。實際上,通信信道可以是管理程序主機192和VM186之間的受限專用網(wǎng)絡(luò)連接。在另一個示例中,代理222可以在向VM186轉(zhuǎn)發(fā)分組223之前查看分組223并改變頭部信息或以其他方式修改分組223。
[0040]實際上,從應(yīng)用180和訪客代理182的角度來看,這兩者能夠使用普通網(wǎng)絡(luò)通信協(xié)議和地址來交換應(yīng)用級通信,與VM能從客戶端主機188處被直接地訪問或?qū)ぶ窌r它們可能做的事情非常像。關(guān)于接收分組,代理222的作用和各已知代理的作用非常像。
[0041 ] 如上所述,通信還可以源自訪客184或訪客代理182內(nèi),并且通過通信信道和虛擬化層被傳遞至代理222。例如,訪客代理182可以被配置有客戶端主機188的網(wǎng)絡(luò)地址。代理222繼而將源自訪客的分組傳送到客戶端主機188。
[0042]在一個實施例中,為了提供VM的可見性,管理程序主機(VM在其上運行的主機)可以在VM被創(chuàng)建時自注冊VM。例如,管理程序主機可以為新VM向VM-主機映射表226添加標(biāo)識主機和新VM的新條目。
[0043]
[0044]以上討論的實施例和特征都可用儲存在易失性或非易失性計算機或設(shè)備可讀介質(zhì)中的信息的形式來實現(xiàn)。這被認為至少包括諸如光學(xué)存儲(例如,緊致盤只讀存儲器(CD-ROM))、磁介質(zhì)、閃速只讀存儲器(ROM)或存儲數(shù)字信息的任何現(xiàn)有或未來手段等介質(zhì)。所存儲的信息可采用機器可執(zhí)行指令(例如,經(jīng)編譯的可執(zhí)行二進制代碼)、源代碼、字節(jié)代碼或可用于允許或配置計算機設(shè)備來執(zhí)行上述各實施例的信息的任何其它形式。這還被認為至少包括諸如隨機存取存儲器(RAM)和/或在程序的執(zhí)行以實現(xiàn)一實施例的期間存儲諸如中央處理單元(CPU)指令等信息的虛擬存儲器等易失性存儲器,以及存儲允許程序或可執(zhí)行代碼被加載和執(zhí)行的信息的非易失性介質(zhì)。實施例和特征可在任何類型的計算設(shè)備上執(zhí)行,這些計算設(shè)備包括便攜設(shè)備、工作站、服務(wù)器、移動無線設(shè)備等。
【權(quán)利要求】
1.一種用于在第一主機上運行的目標(biāo)虛擬機(VM)和第二主機上運行的應(yīng)用之間提供網(wǎng)絡(luò)連接的方法,所述方法包括: 經(jīng)由所述第一主機處的網(wǎng)絡(luò)來接收由所述應(yīng)用發(fā)起的連接請求,所述請求包括標(biāo)識所述目標(biāo)VM的信息; 在管理所述VM的管理程序和所述目標(biāo)VM之間形成通信信道;以及 通過所述信道將所述請求傳遞到所述目標(biāo)VM。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通信信道僅對所述管理程序和所述目標(biāo)VM可訪問,從而使所述第一主機上的另一 VM在沒有授權(quán)的情況下不能使用所述通信信道與所述目標(biāo)VM通信。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分組包括因特網(wǎng)協(xié)議分組,其中所述第一主機具有第一因特網(wǎng)協(xié)議(IP)地址,所述第二主機具有第二 IP地址,并且所述目標(biāo)VM具有第三IP地址,其中所述網(wǎng)絡(luò)不能將分組從所述第二主機的第二 IP地址路由到所述VM的第三IP地址。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括通過所述第二主機將分組尋址到所述第一 IP地址來將所述分組從所述第二主機發(fā)送到所述第一主機。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述分組包括符合應(yīng)用級協(xié)議的載荷,所述方法還包括在所述分組已經(jīng)通過通信信道被所述VM接收之后將所述載荷遞送到在所述VM上執(zhí)行的代理。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通信信道包括所述管理程序的內(nèi)部網(wǎng)絡(luò)交換機和由所述管理程序提供并被分配給所述目標(biāo)VM的虛擬網(wǎng)絡(luò)接口卡。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理程序和所述第一主機上的代理協(xié)作以允許所述第二主機使用標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議與所述目標(biāo)VM通信。
8.一種或多種存儲使計算機能夠執(zhí)行一種過程的信息的計算機可讀存儲介質(zhì),所述過程包括: 執(zhí)行虛擬機(VM)和所述VM上的客操作系統(tǒng),其中所述VM包括網(wǎng)絡(luò)級協(xié)議的實現(xiàn)和傳輸協(xié)議的實現(xiàn),并且其中所述VM的執(zhí)行由所述計算機上的管理程序管理; 執(zhí)行所述計算機上的代理;以及 在所述計算機處接收分組,所述分組符合協(xié)議并且已經(jīng)使用網(wǎng)絡(luò)協(xié)議被尋址并發(fā)送到所述計算機的網(wǎng)絡(luò)地址,其中所述代理確定所述VM要接收所述分組,并且作為響應(yīng)所述管理程序通過所述VM和所述管理程序之間的專用通信信道(224)將所述分組傳遞到所述VM。
9.根據(jù)權(quán)利要求8所述的一種或多種計算機可讀存儲介質(zhì),其特征在于,所述VM實現(xiàn)所述網(wǎng)絡(luò)協(xié)議并且具有根據(jù)所述網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)地址,經(jīng)由所述網(wǎng)絡(luò)將所述分組傳送到所述計算機的主機不具有經(jīng)由所述網(wǎng)絡(luò)和所述網(wǎng)絡(luò)協(xié)議與所述VM的所述網(wǎng)絡(luò)地址的直接連接。
10.根據(jù)權(quán)利要求8所述的一種或多種計算機可讀存儲介質(zhì),其特征在于,所述過程還包括在所述計算機處維護指示哪些VM對應(yīng)于被所述管理程序管理的哪些VM的信道信息。
11.一種方法,其中第一主機包括管理所述第一主機上的虛擬機(VM)的執(zhí)行的虛擬化層,所述方法包括: 建立所述虛擬化層和VM之間的通信信道,所述VM包括所述第一主機上的VM之一,所述通信信道具有在所述虛擬化層中的第一端點和在所述VM中的第二端點; 在所述第一主機經(jīng)由網(wǎng)絡(luò)從第二主機接收分組;以及 由在所述第一主機上執(zhí)行的代理啟用所述第二主機和所述VM之間的間接網(wǎng)絡(luò)連接,致使所述虛擬化層通過所述通信信道之一將所述分組傳遞到所述VM。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述方法還包括維護分別與所述虛擬化層和所述VM之間的各通信信道相關(guān)聯(lián)的關(guān)聯(lián)信息,并且當(dāng)分組被所述代理處理時,所述代理使用所述關(guān)聯(lián)信息來選擇要將所述分組攜帶到所述VM之一的通信信道。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述代理包括管理超文本傳輸協(xié)議(HTTP)0
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述分組包括HTTP頭部,所述HTTP頭部包括標(biāo)識所述VM的標(biāo)識符,并且所述代理讀取所述HTTP頭部,提取所述標(biāo)識符以及使用所述標(biāo)識符來選擇要接收所述分組的信道。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述VM的客操作系統(tǒng)實現(xiàn)傳輸協(xié)議和網(wǎng)絡(luò)協(xié)議以允許經(jīng)由所述訪客的網(wǎng)絡(luò)地址到所述客操作系統(tǒng)的連接,其中所述第二主機無法使用所述網(wǎng)絡(luò)協(xié)議和所述網(wǎng)絡(luò)地址經(jīng)由所述網(wǎng)絡(luò)直接連接到所述VM,其中所述方法還包括所述第二主機將所述分組 尋址到所述第一主機的網(wǎng)絡(luò)地址。
【文檔編號】H04L29/06GK103621041SQ201280031632
【公開日】2014年3月5日 申請日期:2012年6月6日 優(yōu)先權(quán)日:2011年6月27日
【發(fā)明者】R·弗萊爾斯, S·帕塔薩拉蒂, A·薩格維, A·拉瑪拉丁納姆, M·吉爾 申請人:微軟公司