將虛擬機(jī)流卸載至物理隊(duì)列的制作方法
【專利摘要】本發(fā)明涉及用于將虛擬機(jī)流卸載到物理隊(duì)列的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)系統(tǒng)執(zhí)行一個(gè)或多個(gè)虛擬機(jī),并用管理虛擬機(jī)的網(wǎng)絡(luò)話務(wù)的一個(gè)或多個(gè)規(guī)則來對物理網(wǎng)絡(luò)設(shè)備進(jìn)行編程。該計(jì)算機(jī)系統(tǒng)還將網(wǎng)絡(luò)設(shè)備編程為使用這些規(guī)則來管理網(wǎng)絡(luò)話務(wù)。具體地,網(wǎng)絡(luò)設(shè)備被編程為確定可用于處理虛擬機(jī)的網(wǎng)絡(luò)流的一個(gè)或多個(gè)物理隊(duì)列在該網(wǎng)絡(luò)設(shè)備處的可用性。網(wǎng)絡(luò)設(shè)備還被配置成標(biāo)識虛擬機(jī)的網(wǎng)絡(luò)流,包括標(biāo)識每一網(wǎng)絡(luò)流的特性。網(wǎng)絡(luò)設(shè)備還被配置成基于網(wǎng)絡(luò)流的特性并基于規(guī)則來將網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給物理隊(duì)列中的至少一個(gè)。
【專利說明】將虛擬機(jī)流卸載至物理隊(duì)列
[0001]背景
[0002]1.背景和相關(guān)技術(shù)
[0003]計(jì)算機(jī)系統(tǒng)及相關(guān)技術(shù)影響社會的許多方面。的確,計(jì)算機(jī)系統(tǒng)處理信息的能力已轉(zhuǎn)變了人們生活和工作的方式?,F(xiàn)在,計(jì)算機(jī)系統(tǒng)通常執(zhí)行在計(jì)算機(jī)系統(tǒng)出現(xiàn)以前手動(dòng)執(zhí)行的許多任務(wù)(例如,文字處理、日程安排、帳目管理等)。最近,計(jì)算機(jī)系統(tǒng)彼此耦合并耦合到其他電子設(shè)備以形成計(jì)算機(jī)系統(tǒng)及其他電子設(shè)備可在其上傳輸電子數(shù)據(jù)的有線和無線計(jì)算機(jī)網(wǎng)絡(luò)。因此,許多計(jì)算任務(wù)的執(zhí)行分布在多個(gè)不同的計(jì)算機(jī)系統(tǒng)和/或多個(gè)不同的計(jì)算環(huán)境中。
[0004]一些計(jì)算機(jī)系統(tǒng)被配置成提供用于托管(host) —個(gè)或多個(gè)虛擬機(jī)的虛擬化環(huán)境。例如,并行虛擬化執(zhí)行環(huán)境包括管理程序(hypervisor)。管理程序提供父分區(qū)(有時(shí)被稱為主機(jī))及一個(gè)或多個(gè)子分區(qū)。父分區(qū)與物理硬件通信并管理物理硬件,并被配置成運(yùn)行主操作系統(tǒng)并管理虛擬棧。每個(gè)子分區(qū)被配置成運(yùn)行相應(yīng)的客操作系統(tǒng)的“虛擬機(jī)”。
[0005]虛擬化中的常見場景涉及管理在虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)處執(zhí)行的虛擬機(jī)間的網(wǎng)絡(luò)分組,以及管理在這些虛擬機(jī)以及在主機(jī)計(jì)算機(jī)系統(tǒng)遠(yuǎn)程的計(jì)算機(jī)系統(tǒng)之間流動(dòng)的網(wǎng)絡(luò)分組。如此,主操作系統(tǒng)處的虛擬??砂?lián)網(wǎng)虛擬棧,從而包括虛擬交換機(jī)。虛擬交換機(jī)被配置成截取、檢查以及操縱在與各虛擬機(jī)的連接中通信的網(wǎng)絡(luò)分組。然而,這樣做可能是低效的,因?yàn)檫@導(dǎo)致主操作系統(tǒng)和客操作系統(tǒng)之間的頻繁而昂貴(例如,在CPU使用方面)的上下文切換,并可在網(wǎng)絡(luò)通信中引入等待時(shí)間。
[0006]虛擬化的最近發(fā)展包括單根(single-root) I/O虛擬化(SR1V)。SR1V是外圍組件互連快速(PCIe)總線體系結(jié)構(gòu)的擴(kuò)展,其使PCIe設(shè)備能夠直接與子分區(qū)通信。如此,SR1V使得PCIe設(shè)備能夠通過管理程序?qū)⑵渥陨肀┞队谧臃謪^(qū)/虛擬機(jī)。例如,遵循SR1V的物理網(wǎng)絡(luò)接口卡(NIC)或交換機(jī)可向父分區(qū)呈現(xiàn)一物理功能并向相應(yīng)的子分區(qū)呈現(xiàn)一個(gè)或多個(gè)虛擬功能。主操作系統(tǒng)隨后可包括與物理功能通信的物理功能驅(qū)動(dòng)程序,且每個(gè)客操作系統(tǒng)可執(zhí)行與相應(yīng)的虛擬功能通信的虛擬功能驅(qū)動(dòng)程序。物理NIC隨后可直接與客操作系統(tǒng)傳遞網(wǎng)絡(luò)分組(繞過主操作系統(tǒng)),這可以大大改善網(wǎng)絡(luò)性能。
[0007]盡管SR1V帶來了優(yōu)點(diǎn),然而在虛擬化環(huán)境中的網(wǎng)絡(luò)分組處理領(lǐng)域中仍存在某些低效。
[0008]簡要概沭
[0009]本發(fā)明涉及用于將虛擬機(jī)網(wǎng)絡(luò)流卸載到網(wǎng)絡(luò)硬件的物理隊(duì)列的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。由此,本發(fā)明的各實(shí)施例可使得虛擬機(jī)網(wǎng)絡(luò)話務(wù)能夠在虛擬機(jī)和物理硬件之間直接傳遞,從而繞過父分區(qū)并避免與通過父分區(qū)來路由網(wǎng)絡(luò)話務(wù)相關(guān)聯(lián)的低效率。具體地,本發(fā)明的各實(shí)施例包括配置物理網(wǎng)絡(luò)硬件以將來自虛擬機(jī)的網(wǎng)絡(luò)流分配到物理網(wǎng)絡(luò)硬件處的物理隊(duì)列,并且潛在地將與物理網(wǎng)絡(luò)硬件處存在的物理隊(duì)列的數(shù)目相比更多的網(wǎng)絡(luò)流分配到物理隊(duì)列。
[0010]在一些實(shí)施例中,用于管理網(wǎng)絡(luò)話務(wù)的方法包括計(jì)算機(jī)系統(tǒng)執(zhí)行一個(gè)或多個(gè)虛擬機(jī)。該方法還包括計(jì)算機(jī)系統(tǒng)用被物理網(wǎng)絡(luò)設(shè)備用來管理虛擬機(jī)的網(wǎng)絡(luò)話務(wù)的一個(gè)或多個(gè)規(guī)則來對該物理網(wǎng)絡(luò)設(shè)備進(jìn)行編程。尤其地,物理網(wǎng)絡(luò)設(shè)備被編程為確定一個(gè)或多個(gè)物理隊(duì)列在物理網(wǎng)絡(luò)設(shè)備處的可用性。物理隊(duì)列可用于處理虛擬機(jī)的網(wǎng)絡(luò)流。物理網(wǎng)絡(luò)設(shè)備還被編程為標(biāo)識虛擬機(jī)的多個(gè)網(wǎng)絡(luò)流,包括標(biāo)識這些網(wǎng)絡(luò)流中的每一個(gè)的特性。物理網(wǎng)絡(luò)設(shè)備還被編程為基于網(wǎng)絡(luò)流的特性并基于這些規(guī)則將多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給物理隊(duì)列中的至少一個(gè)。
[0011]提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
[0012]本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中敘述,且其一部分根據(jù)本說明書將是顯而易見的,或可通過對本發(fā)明的實(shí)踐來獲知。本發(fā)明的特征和優(yōu)點(diǎn)可通過在所附權(quán)利要求書中特別指出的工具和組合來實(shí)現(xiàn)和獲得。本發(fā)明的這些以及其它特征、優(yōu)點(diǎn)和特征將根據(jù)以下描述和所附權(quán)利要求而變得更顯而易見,或者可通過如此后闡述的對本發(fā)明的實(shí)踐而獲知。
[0013]附圖簡沭
[0014]為了描述可獲得本發(fā)明的上述和其它優(yōu)點(diǎn)和特征的方式,將通過參考附圖中示出的本發(fā)明的具體實(shí)施例來呈現(xiàn)以上簡要描述的本發(fā)明的更具體描述。可以理解,這些附圖僅描述本發(fā)明的典型實(shí)施例,從而不被認(rèn)為是對其范圍的限制,本發(fā)明將通過使用附圖用附加特征和細(xì)節(jié)來描述和說明,在附圖中:
[0015]圖1示出了可采用本文中所描述的原理的示例性計(jì)算系統(tǒng)。
[0016]圖2示出了可采用本文中所描述的原理的環(huán)境。
[0017]圖3示出了可采用本文中所描述的原理的主機(jī)。
[0018]圖4示出了促成將虛擬機(jī)流卸載到物理隊(duì)列的示例計(jì)算機(jī)體系結(jié)構(gòu)。
[0019]圖5示出了用于管理網(wǎng)絡(luò)話務(wù)的示例方法的流程圖。
[0020]詳細(xì)描沭
[0021]本發(fā)明涉及用于將虛擬機(jī)網(wǎng)絡(luò)流卸載到網(wǎng)絡(luò)硬件的物理隊(duì)列的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。由此,本發(fā)明的各實(shí)施例可使得虛擬機(jī)網(wǎng)絡(luò)話務(wù)能夠在虛擬機(jī)和物理硬件之間直接傳遞,從而繞過父分區(qū)并避免與通過父分區(qū)來路由網(wǎng)絡(luò)話務(wù)相關(guān)聯(lián)的低效率。具體地,本發(fā)明的各實(shí)施例包括配置物理網(wǎng)絡(luò)硬件以將來自虛擬機(jī)的網(wǎng)絡(luò)流分配到物理網(wǎng)絡(luò)硬件處的物理隊(duì)列,并且潛在地將與物理網(wǎng)絡(luò)硬件處存在的物理隊(duì)列的數(shù)目相比更多的網(wǎng)絡(luò)流分配到物理隊(duì)列。
[0022]首先,將參考圖1-3來描述關(guān)于可采用本文中描述的原理的通用計(jì)算系統(tǒng)和計(jì)算環(huán)境的一些介紹性討論。隨后,將參考圖4和圖5來描述用于將虛擬機(jī)網(wǎng)絡(luò)流卸載到網(wǎng)絡(luò)硬件的物理隊(duì)列的基本原理。
[0023]計(jì)算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。例如,計(jì)算系統(tǒng)可以是手持式設(shè)備、電器、膝上型計(jì)算機(jī)、臺式計(jì)算機(jī)、大型機(jī)、分布式計(jì)算系統(tǒng)或甚至常規(guī)上不被認(rèn)為是計(jì)算系統(tǒng)的設(shè)備。在本說明書以及權(quán)利要求書中,術(shù)語“計(jì)算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個(gè)物理有形的處理器以及其上可能已存儲了可由處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的物理有形的存儲器。存儲器可以采取任何形式,并可以取決于計(jì)算系統(tǒng)的性質(zhì)和形式。計(jì)算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個(gè)組分計(jì)算系統(tǒng)。
[0024]本文中描述的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲器等計(jì)算機(jī)硬件。例如,圖1示出了示例性計(jì)算系統(tǒng)100。如圖1所示,在其最基本的配置中,計(jì)算系統(tǒng)100通常包括至少一個(gè)處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲器”在此也可用來指諸如物理存儲介質(zhì)等非易失性大容量存儲。如果計(jì)算系統(tǒng)100是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。如此處所使用的那樣,術(shù)語“模塊”或“組件”可以指代在計(jì)算系統(tǒng)100上執(zhí)行的軟件對象或例程。此處所描述的不同組件、模塊、引擎,以及服務(wù)可以實(shí)現(xiàn)為在計(jì)算系統(tǒng)100上執(zhí)行的對象或進(jìn)程(例如,作為分開的線程)。
[0025]在隨后的描述中,參考由一個(gè)或多個(gè)計(jì)算系統(tǒng)(諸如,計(jì)算系統(tǒng)100)執(zhí)行的動(dòng)作描述了各實(shí)施例。如果這樣的動(dòng)作是以軟件實(shí)現(xiàn)的,則執(zhí)行動(dòng)作的相關(guān)聯(lián)計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器響應(yīng)于已經(jīng)執(zhí)行了計(jì)算機(jī)可執(zhí)行指令來引導(dǎo)計(jì)算系統(tǒng)的操作。這樣的操作的示例涉及對數(shù)據(jù)的操縱。在計(jì)算系統(tǒng)100的上下文中,計(jì)算機(jī)可執(zhí)行指令(以及被操縱的數(shù)據(jù))可被存儲在存儲器104中。計(jì)算系統(tǒng)100還可包含允許計(jì)算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他消息處理器通信的通信信道108。
[0026]這里描述的各實(shí)施例還包括用于承載或存儲計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。因此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種明顯不同種類的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲介質(zhì)和傳輸介質(zhì)。
[0027]計(jì)算機(jī)存儲介質(zhì)包括可記錄型存儲介質(zhì),諸如RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或可用于存儲計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其他介質(zhì)。
[0028]“網(wǎng)絡(luò)”被定義為使得電子數(shù)據(jù)能夠在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其它電子設(shè)備之間傳輸?shù)囊粋€(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)110)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0029]此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)轉(zhuǎn)移到計(jì)算機(jī)存儲介質(zhì)(或者相反)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接?jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)存儲介質(zhì)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。
[0030]計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管已用對結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于此處所描述的所描述特征或動(dòng)作。更具體而言,本文中描述的特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求書的示例形式而公開的。
[0031]本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、平板、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備二者中。
[0032]圖2抽象地示出了可采用本文中所描述的原理的環(huán)境200。在環(huán)境200中,多個(gè)客戶機(jī)210使用接口 202與系統(tǒng)210進(jìn)行交互。環(huán)境200被示為具有三個(gè)客戶機(jī)201A、201B和201C,但是省略號201D表示本文中描述的原理不受限于通過接口 202與系統(tǒng)210對接的客戶機(jī)的數(shù)目。系統(tǒng)210可按需向客戶機(jī)201提供服務(wù),并且由此從系統(tǒng)210接收服務(wù)的客戶機(jī)201的數(shù)目可隨時(shí)間改變。
[0033]客戶機(jī)201中的一個(gè)或多個(gè)例如可如上根據(jù)圖1的計(jì)算系統(tǒng)100所述來結(jié)構(gòu)化。替換地或另選地,客戶機(jī)201中的一個(gè)或多個(gè)可以是通過接口 202與系統(tǒng)210對接的應(yīng)用或其他軟件模塊。接口 202可以是按以下方式來定義的應(yīng)用程序接口(API):使得能夠使用該API的任何計(jì)算系統(tǒng)或軟件實(shí)體可與系統(tǒng)210進(jìn)行通信。
[0034]系統(tǒng)210可以是分布式系統(tǒng),但這不是必須的。在一個(gè)實(shí)施例中,系統(tǒng)210是云計(jì)算環(huán)境。云計(jì)算環(huán)境可以是分布式的,但并不是必需的,并且可甚至分布在世界各地和/或具有跨多個(gè)組織擁有的組件。
[0035]在該描述和下面的權(quán)利要求書中,“云計(jì)算”被定義為用于允許對可配置計(jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用和服務(wù))的共享池的按需網(wǎng)絡(luò)訪問的模型?!霸朴?jì)算”的定義不限于可從這樣的模型(在被合適地部署時(shí))中獲得的任何其他多個(gè)優(yōu)點(diǎn)。
[0036]例如,云計(jì)算機(jī)當(dāng)前被用于市場,以便提供對可配置計(jì)算資源的共享池的普遍存在且方便的按需訪問。此外,可配置計(jì)算資源的共享池可經(jīng)由虛擬化而被快速地供應(yīng),并可利用低管理努力或服務(wù)提供商干預(yù)來發(fā)布,并隨后因此被縮放。
[0037]云計(jì)算模型可由各種特性組成,諸如按需自服務(wù)、廣泛網(wǎng)絡(luò)訪問、資源池、快速靈活性、和所測定的服務(wù)等。云計(jì)算模型還可形成各種服務(wù)模型,諸如例如軟件即服務(wù)(SaaS)、平臺即服務(wù)(PaaS)以及基礎(chǔ)結(jié)構(gòu)即服務(wù)(IaaS)。云計(jì)算模型還可以使用不同的部署模型來部署,諸如私有云、社區(qū)云、公共云和混合云等。在該描述和權(quán)利要求書中,“云計(jì)算環(huán)境”是采用云計(jì)算的環(huán)境。
[0038]如所描繪的,系統(tǒng)210包括多個(gè)主機(jī)211,這些主機(jī)各自能夠運(yùn)行虛擬機(jī)。雖然系統(tǒng)200可包括任何數(shù)目的主機(jī)211,但在圖2中示出了三個(gè)主機(jī)211A、21IB和211C,且省略號211D表不本文中描述的原理不受限于在系統(tǒng)210內(nèi)的主機(jī)的確切數(shù)目??纱嬖谏僦烈粋€(gè),但沒有上限。此外,主機(jī)的數(shù)目可以是靜態(tài)的,或者可由于向系統(tǒng)210添加新主機(jī)或從系統(tǒng)210中丟棄主機(jī)而隨時(shí)間動(dòng)態(tài)地改變。主機(jī)211中的每一個(gè)可以如上針對圖1的計(jì)算系統(tǒng)100所述來結(jié)構(gòu)化。
[0039]每一主機(jī)能夠運(yùn)行一個(gè)或多個(gè)虛擬機(jī),并潛在地運(yùn)行許多虛擬機(jī)。例如,圖3更詳細(xì)地抽象示出主機(jī)300。作為示例,主機(jī)300可表示圖2中的主機(jī)211中的任一個(gè)。在圖3的情況下,主機(jī)300被示為操作三個(gè)虛擬機(jī)310,包括虛擬機(jī)310A、310B和310C。然而,省略號310D再次表示本文中描述的原理不受限于在主機(jī)300上運(yùn)行的虛擬機(jī)的數(shù)目??纱嬖谏僦亮銈€(gè)虛擬機(jī)在主機(jī)上運(yùn)行,而僅上限由主機(jī)300的物理能力來定義。
[0040]在操作期間,虛擬機(jī)模擬完全可操作的計(jì)算系統(tǒng),包括至少一個(gè)操作系統(tǒng)并且也許還包括一個(gè)或多個(gè)其他應(yīng)用。每一虛擬機(jī)均被分配給特定客戶機(jī),并負(fù)責(zé)支持那個(gè)客戶機(jī)的桌面環(huán)境。
[0041]虛擬機(jī)生成桌面映像或其他表示桌面的當(dāng)前狀態(tài)的呈現(xiàn)指令,并接著將該映像或指令傳送到客戶機(jī)以供呈現(xiàn)桌面。例如,參考圖2和圖3,假設(shè)圖3的主機(jī)300表示圖2的主機(jī)211A,并且虛擬機(jī)310A被分配給客戶機(jī)201A(本文中被稱為“主要示例”),則虛擬機(jī)310A可生成桌面映像或指令,并經(jīng)由服務(wù)協(xié)調(diào)系統(tǒng)213和系統(tǒng)接口 202將這樣的指令從主機(jī)21IA分派至相應(yīng)的客戶機(jī)201A。
[0042]隨著用戶與客戶機(jī)處的桌面進(jìn)行交互,用戶輸入從客戶機(jī)被傳送到虛擬機(jī)。例如,在該主要示例中,并參考圖2和圖3,客戶機(jī)201A的用戶與桌面進(jìn)行交互,并且用戶輸入是經(jīng)由接口 201、服務(wù)協(xié)調(diào)系統(tǒng)213和主機(jī)211A從客戶機(jī)201傳送到虛擬機(jī)310A的。
[0043]虛擬機(jī)處理用戶輸入,并且如果合適,則改變桌面狀態(tài)。如果桌面狀態(tài)中這樣的改變將導(dǎo)致在所呈現(xiàn)的桌面中的改變,則虛擬機(jī)更改映像或呈現(xiàn)指令(如果合適的話),并將經(jīng)更改的映像或呈現(xiàn)的指令傳送到客戶機(jī)計(jì)算系統(tǒng)以供合適的呈現(xiàn)。從用戶的角度而言,就好像客戶機(jī)計(jì)算系統(tǒng)本身執(zhí)行桌面處理。
[0044]主機(jī)300包括使用從虛擬機(jī)310的示圖中抽象出的物理資源321來模擬虛擬機(jī)310的虛擬資源的管理程序320。管理程序321還在虛擬機(jī)310之間提供合適的隔離。因此,從任何給定虛擬機(jī)的角度來看,管理程序320提供以下幻像:該虛擬機(jī)正與物理資源對接,即使該虛擬機(jī)僅與物理資源的外觀(例如,虛擬機(jī))對接而未與物理資源直接對接。在圖3中,物理資源321被抽象地表示為包括資源321A到321F。物理資源321的示例包括處理能力、存儲器、盤空間、網(wǎng)絡(luò)帶寬、和媒體驅(qū)動(dòng)器等。
[0045]主機(jī)300可操作監(jiān)視主機(jī)的性能并執(zhí)行管理該主機(jī)的其他操作的主機(jī)代理302。此外,主機(jī)300可包括其他主機(jī)303,諸如如稍后描述的虛擬交換機(jī)。
[0046]參考回圖2,系統(tǒng)200還包括服務(wù)212。在示出的示例中,主機(jī)200包括五個(gè)不同的服務(wù)212A、212B、212C、212D和212E,但是省略號211F表示本文中描述的原理不受限于在系統(tǒng)210中的服務(wù)的數(shù)目。服務(wù)協(xié)調(diào)系統(tǒng)213與主機(jī)211和服務(wù)212進(jìn)行通信,以由此提供客戶機(jī)201所請求的服務(wù)以及可作為所請求的服務(wù)的先決條件的其他服務(wù)(諸如認(rèn)證、和計(jì)費(fèi)等)。
[0047]現(xiàn)在轉(zhuǎn)向圖4,圖4示出了促成將虛擬機(jī)流卸載到物理隊(duì)列的示例計(jì)算機(jī)體系結(jié)構(gòu)400。如所描繪的,計(jì)算機(jī)體系結(jié)構(gòu)400包括主機(jī)402、一個(gè)或多個(gè)虛擬機(jī)412 (包括虛擬機(jī)412a)、和一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備416 (包括物理網(wǎng)絡(luò)設(shè)備416a)。
[0048]主機(jī)402被配置成提供虛擬化環(huán)境。在一些實(shí)施例中,主機(jī)402可對應(yīng)于圖3中的主機(jī)300。例如,主機(jī)402可包括父分區(qū)(其執(zhí)行主操作系統(tǒng))和一個(gè)或多個(gè)子分區(qū)。每一子分區(qū)可被視為提供用于執(zhí)行相應(yīng)的虛擬機(jī)(諸如虛擬機(jī)412a)的虛擬化硬件環(huán)境。主機(jī)402可使用云計(jì)算環(huán)境的代表承租者來托管虛擬機(jī)的一部分。
[0049]虛擬機(jī)412中的每一個(gè)(包括虛擬機(jī)412a)執(zhí)行一個(gè)或多個(gè)虛擬化應(yīng)用,諸如操作系統(tǒng)、應(yīng)用軟件等。虛擬機(jī)412中的每一個(gè)能夠發(fā)送和接收網(wǎng)絡(luò)分組。例如,虛擬機(jī)412中的每一個(gè)包括網(wǎng)絡(luò)棧(例如,TCP/IP棧),并能夠通過主機(jī)402在數(shù)據(jù)路徑432上和/或通過物理網(wǎng)絡(luò)設(shè)備416在數(shù)據(jù)路徑430上發(fā)送和/或接收網(wǎng)絡(luò)分組和其他信息。由此,虛擬機(jī)412可創(chuàng)建網(wǎng)絡(luò)流。
[0050]每一物理網(wǎng)絡(luò)設(shè)備416使用一個(gè)或多個(gè)外部接口連接到其他計(jì)算機(jī)系統(tǒng)和/或網(wǎng)絡(luò)。圖4描繪了物理網(wǎng)絡(luò)設(shè)備416a使用外部接口 426連接到網(wǎng)絡(luò)434。物理網(wǎng)絡(luò)設(shè)備416可包括任何合適類型的物理聯(lián)網(wǎng)設(shè)備,諸如NIC、交換機(jī)等。
[0051]此外,每一物理網(wǎng)絡(luò)設(shè)備416包括與虛擬化環(huán)境兼容的物理硬件。例如,圖4描繪了物理網(wǎng)絡(luò)設(shè)備416a向虛擬機(jī)412呈現(xiàn)物理功能424。具體地,物理網(wǎng)絡(luò)設(shè)備416a可向虛擬機(jī)412中的每一個(gè)呈現(xiàn)一個(gè)或多個(gè)虛擬功能。例如,圖4描繪了物理網(wǎng)絡(luò)設(shè)備416a向虛擬機(jī)412a呈現(xiàn)物理功能424a。虛擬機(jī)412中的每一個(gè)進(jìn)而包括相應(yīng)的虛擬功能驅(qū)動(dòng)程序。例如,圖4描繪了虛擬機(jī)412a包括虛擬功能驅(qū)動(dòng)程序414。由此,虛擬機(jī)412中的每一個(gè)可通過數(shù)據(jù)路徑430來訪問其相應(yīng)的虛擬功能424,并可使用數(shù)據(jù)路徑430來與物理網(wǎng)絡(luò)設(shè)備416a通信網(wǎng)絡(luò)分組,而無需通過主機(jī)402來路由網(wǎng)絡(luò)分組。在與通過主機(jī)402來路由網(wǎng)絡(luò)分組時(shí)相比,這樣做可降低處理器使用和網(wǎng)絡(luò)等待時(shí)間。
[0052]此外,圖4還描繪了物理網(wǎng)絡(luò)設(shè)備416a將物理功能418呈現(xiàn)給主機(jī)402。圖4還描繪了主機(jī)402包括相應(yīng)的物理功能驅(qū)動(dòng)程序410,并且數(shù)據(jù)路徑428將物理網(wǎng)絡(luò)設(shè)備416a處的物理功能418和主機(jī)402處的物理功能驅(qū)動(dòng)程序410相連接。如此,物理功能418和物理功能驅(qū)動(dòng)程序410可操作以在物理網(wǎng)絡(luò)設(shè)備416a和主機(jī)402之間交換網(wǎng)絡(luò)分組。
[0053]如先前指示的,在一些實(shí)施例中,物理NIC 110包括遵循SR1V的PCIe硬件。在此類實(shí)施例中,虛擬功能424或物理功能418中的一者或多者可包括PCIe功能。然而,將領(lǐng)會,本發(fā)明描述的原理可應(yīng)用于各種硬件設(shè)備,而不限于遵循SR1V的設(shè)備或PCIe設(shè)備。
[0054]物理網(wǎng)絡(luò)設(shè)備416中的每一個(gè)可包括一個(gè)或多個(gè)物理隊(duì)列,此一個(gè)或多個(gè)物理隊(duì)列可由物理網(wǎng)絡(luò)設(shè)備416在處理與虛擬機(jī)412相關(guān)聯(lián)的網(wǎng)絡(luò)流時(shí)使用。例如,圖4描繪了物理網(wǎng)絡(luò)設(shè)備416a包括物理隊(duì)列422,包括隊(duì)列422a和任何附加數(shù)目的(即,零個(gè)或更多個(gè))附加物理隊(duì)列,如水平省略號和隊(duì)列422η所表示的。根據(jù)一個(gè)或多個(gè)實(shí)施例,主機(jī)402將物理網(wǎng)絡(luò)設(shè)備416中的一個(gè)或多個(gè)配置為在處理虛擬機(jī)412的網(wǎng)絡(luò)流時(shí)管理其物理隊(duì)列的使用。如所描繪的,例如,主機(jī)402處的虛擬交換機(jī)404可包括規(guī)則406。使用規(guī)則406,虛擬交換機(jī)404可用規(guī)則420來編程物理網(wǎng)絡(luò)設(shè)備416a,并可將物理網(wǎng)絡(luò)設(shè)備416a編程為基于這些規(guī)則來管理到物理隊(duì)列422的網(wǎng)絡(luò)流分配。規(guī)則420可與規(guī)則406相同,可以某種方式改變,和/或可包括規(guī)則子集406。由此,物理網(wǎng)絡(luò)設(shè)備416a可被配置成高效地處理來自虛擬機(jī)412的網(wǎng)絡(luò)流,包括作出網(wǎng)絡(luò)流到物理隊(duì)列422的分配,而無需為了每一網(wǎng)絡(luò)流而牽涉主機(jī)402。
[0055]規(guī)則420可包括使得物理網(wǎng)絡(luò)設(shè)備416a能夠?qū)⒍鄠€(gè)網(wǎng)絡(luò)流分配給各物理隊(duì)列422的規(guī)則,網(wǎng)絡(luò)流在數(shù)目上比物理隊(duì)列422處存在的隊(duì)列的數(shù)目要多。在簡單示例中,來自虛擬機(jī)412的網(wǎng)絡(luò)話務(wù)可涉及八個(gè)活躍網(wǎng)絡(luò)流,而物理網(wǎng)絡(luò)設(shè)備416a可使用規(guī)則420將這八個(gè)流分配給物理隊(duì)列422中的僅四個(gè)可用的隊(duì)列。物理網(wǎng)絡(luò)設(shè)備416a可被配置成使得網(wǎng)絡(luò)流基于流的特性和/或基于流的分類來進(jìn)行隊(duì)列分配。在一些實(shí)施例中,物理網(wǎng)絡(luò)設(shè)備416a基于網(wǎng)絡(luò)流的特性并基于規(guī)則420將這些流置于不同的分類中。在一些附加或替換實(shí)施例中,物理網(wǎng)絡(luò)設(shè)備416a基于虛擬機(jī)412所作出的建議將網(wǎng)絡(luò)流置于不同的分類中。例如,虛擬機(jī)412a可向流附上某屬性,或可將所建議的分類傳遞給與流分開的物理功能418。
[0056]規(guī)則420可允許各自類型的隊(duì)列分配算法。例如,規(guī)則420可指定具有相對較低話務(wù)等級的多個(gè)網(wǎng)絡(luò)流可一起被分配在單個(gè)物理隊(duì)列上,而具有相對較高話務(wù)基本的流將給自被排他地分配給相應(yīng)的物理隊(duì)列。在另一實(shí)施例中,規(guī)則420可指定具有相似或相容要求的多個(gè)流可被組合在同一隊(duì)列上。例如,如果多個(gè)流的網(wǎng)絡(luò)分組將以類似速率行進(jìn)(速率有限),則那些流可一起被分配在單個(gè)物理隊(duì)列上。其他相似或相容要求可包括優(yōu)先級(例如,將低優(yōu)先級的流一起分組在單個(gè)隊(duì)列上)、服務(wù)質(zhì)量(QoS)(例如,將具有低QoS要求的流一起分組在單個(gè)隊(duì)列上)等。規(guī)則420還可指定來自同一虛擬機(jī)的流將被分組在物理隊(duì)列中的單個(gè)物理隊(duì)列或組上。由此,本發(fā)明中的各實(shí)施例可促成在各虛擬機(jī)412中劃分各硬件資源。
[0057]在一些實(shí)施例中,物理網(wǎng)絡(luò)設(shè)備416和虛擬交換機(jī)404可一起用于使其間的網(wǎng)絡(luò)流的執(zhí)行平衡。例如,圖4描繪了虛擬交換機(jī)404可包括基于軟件的虛擬隊(duì)列408 (包括隊(duì)列408a和任何附加數(shù)目(即,零個(gè)或更多個(gè))的附加隊(duì)列,如水平省略號和隊(duì)列408η所表示的)。由此,一些網(wǎng)絡(luò)流可被分配給物理隊(duì)列422,且一些流可被分配給虛擬隊(duì)列408。將領(lǐng)會,與虛擬隊(duì)列408相比,物理隊(duì)列422可提供更快、更細(xì)粒度和/或更可靠的性能。由此,網(wǎng)絡(luò)流可被分類成應(yīng)該被分配給物理網(wǎng)絡(luò)設(shè)備416a處的物理隊(duì)列422以利用更快、更細(xì)粒度和/或更可靠性能的流,以及可被分配給主機(jī)402處的虛擬隊(duì)列(因?yàn)榭焖佟⒓?xì)粒度和/或可靠性能對這些流而言并不一樣重要)的流。這樣的分配可由虛擬機(jī)412建議,和/或可由物理網(wǎng)絡(luò)設(shè)備416和/或虛擬交換機(jī)404作出。
[0058]在一些實(shí)施例中,流可通過多個(gè)物理網(wǎng)絡(luò)設(shè)備416(例如,NIC和交換機(jī)),并且主機(jī)402可將每一物理網(wǎng)絡(luò)設(shè)備編程為獨(dú)立地處理流。例如,一個(gè)物理網(wǎng)絡(luò)設(shè)備可被編程為將該流分配給該設(shè)備處的單個(gè)物理隊(duì)列,而另一物理網(wǎng)絡(luò)設(shè)備可被編程為將這個(gè)流和其他流結(jié)合在一起分配給該設(shè)備處的單個(gè)物理隊(duì)列。
[0059]圖5示出了用于管理網(wǎng)絡(luò)話務(wù)的方法500的流程圖。方法500將參考計(jì)算機(jī)架構(gòu)400的組件和數(shù)據(jù)來描述。
[0060]方法500包括執(zhí)行一個(gè)或多個(gè)虛擬機(jī)的動(dòng)作(動(dòng)作502)。例如,主機(jī)402可執(zhí)行虛擬機(jī)412,虛擬機(jī)412可包括虛擬機(jī)412a。在一些實(shí)施例中,動(dòng)作502可包括以半虛擬化形式(包括使用一個(gè)或多個(gè)遵循SR1V的物理網(wǎng)絡(luò)設(shè)備)來執(zhí)行虛擬機(jī)。由此,至少一個(gè)物理網(wǎng)絡(luò)設(shè)備(例如,物理網(wǎng)絡(luò)設(shè)備418)可向虛擬機(jī)412a呈現(xiàn)虛擬功能(例如,虛擬功能424a),并且虛擬機(jī)412a可包括用于直接與物理網(wǎng)絡(luò)設(shè)備傳遞網(wǎng)絡(luò)分組的相應(yīng)虛擬功能驅(qū)動(dòng)程序(例如,虛擬功能驅(qū)動(dòng)程序414)。
[0061]方法500還包括用一個(gè)或多個(gè)規(guī)則來對物理網(wǎng)絡(luò)設(shè)備進(jìn)行編程的動(dòng)作,這一個(gè)或多個(gè)規(guī)則被配置成管理一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)話務(wù)(動(dòng)作504)。例如,虛擬交換機(jī)404可用規(guī)則420來對物理網(wǎng)絡(luò)設(shè)備416a進(jìn)行編程。規(guī)則420可以是虛擬交換機(jī)404處的規(guī)則406的副本,或基于規(guī)則406。規(guī)則420可被配置成使得物理網(wǎng)絡(luò)設(shè)備416a能夠在與虛擬機(jī)412相關(guān)聯(lián)的網(wǎng)絡(luò)流和物理網(wǎng)絡(luò)設(shè)備416a處的物理隊(duì)列422之間作出分配。
[0062]方法500還包括將物理網(wǎng)絡(luò)設(shè)備編程為管理網(wǎng)絡(luò)話務(wù)的動(dòng)作(動(dòng)作506)。例如,虛擬交換機(jī)404可將物理網(wǎng)絡(luò)設(shè)備416a配置成基于規(guī)則420來作出流分配。在一些實(shí)施例中,將物理網(wǎng)絡(luò)設(shè)備416a編程為管理網(wǎng)絡(luò)話務(wù)作為用規(guī)則420來對物理網(wǎng)絡(luò)設(shè)備416a進(jìn)行編程的結(jié)果而發(fā)生。在其他實(shí)施例中,將物理網(wǎng)絡(luò)設(shè)備416a編程為管理網(wǎng)絡(luò)話務(wù)包括用附加計(jì)算機(jī)可執(zhí)行指令和/或附加配置設(shè)置來明確地對物理網(wǎng)絡(luò)設(shè)備416a進(jìn)行編程。
[0063]動(dòng)作506包括將物理網(wǎng)絡(luò)設(shè)備編程為確定物理網(wǎng)絡(luò)設(shè)備處可用于可用于處理一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)流的一個(gè)或多個(gè)物理隊(duì)列的可用性(動(dòng)作508)。例如,物理網(wǎng)絡(luò)設(shè)備416a可被配置成標(biāo)識物理隊(duì)列422,包括物理隊(duì)列422的目前可用性。
[0064]動(dòng)作506包括將物理網(wǎng)絡(luò)設(shè)備編程為標(biāo)識一個(gè)或多個(gè)虛擬機(jī)的多個(gè)網(wǎng)絡(luò)流,包括標(biāo)識這多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性(動(dòng)作510)。例如,物理網(wǎng)絡(luò)設(shè)備416a可被配置成標(biāo)識與虛擬機(jī)412相關(guān)聯(lián)的網(wǎng)絡(luò)流。物理網(wǎng)絡(luò)設(shè)備416a還可被配置成分析這些流的特性、來自虛擬機(jī)412的分類建議、或任何其他合適的信息,以對這些流進(jìn)行分類或以其他方式對其進(jìn)行歸類。
[0065]動(dòng)作506包括將物理網(wǎng)絡(luò)設(shè)備編程為基于多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性并基于一個(gè)或多個(gè)規(guī)則將多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)(動(dòng)作512)。例如,基于規(guī)則420并基于在動(dòng)作510標(biāo)識出的特性和分類,物理網(wǎng)絡(luò)設(shè)備416a可將這些流分配給物理隊(duì)列422。在這樣做時(shí),物理網(wǎng)絡(luò)設(shè)備416a可將超過物理隊(duì)列的數(shù)目的多個(gè)流分配給物理隊(duì)列422。例如,物理網(wǎng)絡(luò)設(shè)備416a可將具有類相似特性、相容優(yōu)先級或話務(wù)負(fù)載等的流分配給同一物理隊(duì)列。另選地或替換地,物理網(wǎng)絡(luò)設(shè)備416a可與物理交換機(jī)404 —起用于將第一流子集分配給虛擬交換機(jī)404處的虛擬隊(duì)列408,并將第二流子集分配給物理網(wǎng)絡(luò)設(shè)備416a處的物理隊(duì)列422。
[0066]因此,本文中描述的各實(shí)施例可通過使物理網(wǎng)絡(luò)設(shè)備能夠在流和隊(duì)列之間作出分配來改善物理硬件的網(wǎng)絡(luò)性能和利用。當(dāng)作出這樣的分配時(shí),本文中描述的各實(shí)施例可使得物理硬件能夠通過用物理隊(duì)列來處理比可用物理隊(duì)列的數(shù)目更多數(shù)目的流。另選地或替換地,當(dāng)作出這樣的分配時(shí),本文中描述的實(shí)施例可使得物理硬件可在物理隊(duì)列和虛擬隊(duì)列之間平衡流處理。
[0067]本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書的范圍所涵蓋。
【權(quán)利要求】
1.一種虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)(402),該系統(tǒng)被配置成管理在所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)處執(zhí)行的一個(gè)或多個(gè)虛擬機(jī)(412)的網(wǎng)路話務(wù),所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)包括: 一個(gè)或多個(gè)處理器; 一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備(416);以及 其上存儲有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)執(zhí)行虛擬交換機(jī)(404),所述虛擬交換機(jī)被配置成用一個(gè)或多個(gè)相應(yīng)的規(guī)則(420)來對所述一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備中的每一個(gè)進(jìn)行編程,并執(zhí)行以下操作: 確定一個(gè)或多個(gè)物理隊(duì)列(422)在所述物理網(wǎng)絡(luò)設(shè)備處的可用性,所述一個(gè)或多個(gè)物理隊(duì)列能用于處理所述一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)流; 標(biāo)識所述一個(gè)或多個(gè)虛擬機(jī)的多個(gè)網(wǎng)絡(luò)流,包括標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性;以及 基于所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性并基于所述一個(gè)或多個(gè)規(guī)則,將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)。
2.如權(quán)利要求1所述的虛擬化主機(jī)計(jì)算機(jī)系統(tǒng),其特征在于,將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)包括: 將所述多個(gè)網(wǎng)絡(luò)流中的至少兩個(gè)分配給單個(gè)物理隊(duì)列。
3.如權(quán)利要求1所述的虛擬機(jī)主機(jī)計(jì)算機(jī)系統(tǒng),其特征在于,所述多個(gè)網(wǎng)絡(luò)流在數(shù)目上大于所述一個(gè)或多個(gè)物理隊(duì)列,并且其中將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)包括: 將所述多個(gè)網(wǎng)絡(luò)流全部分配給所述一個(gè)或多個(gè)物理隊(duì)列,使得所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)被分配所述網(wǎng)絡(luò)流中一個(gè)以上的網(wǎng)絡(luò)流。
4.如權(quán)利要求1所述的虛擬機(jī)主機(jī)計(jì)算機(jī)系統(tǒng),其特征在于,所述多個(gè)網(wǎng)絡(luò)流在數(shù)目上大于所述一個(gè)或多個(gè)物理隊(duì)列,并且其中將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)包括: 將所述多個(gè)網(wǎng)絡(luò)流的第一子集分配給所述一個(gè)或多個(gè)物理隊(duì)列;以及 將所述多個(gè)網(wǎng)絡(luò)流的第二子集分配給所述虛擬交換機(jī)處的一個(gè)或多個(gè)基于軟件的隊(duì)列。
5.如權(quán)利要求1所述的虛擬化主機(jī)計(jì)算機(jī)系統(tǒng),其特征在于,標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性包括: 標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的至少兩個(gè)網(wǎng)絡(luò)流具有相似的特性;以及 基于所述多個(gè)網(wǎng)絡(luò)流中具有相似特性的所述至少兩個(gè)網(wǎng)絡(luò)流,標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的所述至少兩個(gè)網(wǎng)絡(luò)流能被分配給單個(gè)物理隊(duì)列。
6.如權(quán)利要求5所述的虛擬化主機(jī)計(jì)算機(jī)系統(tǒng),其特征在于,所述多個(gè)網(wǎng)絡(luò)流中具有相似特性的至少兩個(gè)網(wǎng)絡(luò)流包括所述多個(gè)網(wǎng)絡(luò)流中具有相似速率限制特性的至少兩個(gè)網(wǎng)絡(luò)流。
7.一種在計(jì)算機(jī)系統(tǒng)(400)處實(shí)現(xiàn)的用于管理網(wǎng)絡(luò)話務(wù)的方法,所述計(jì)算機(jī)系統(tǒng)包括一個(gè)或多個(gè)處理器和一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備(416),所述方法包括: 執(zhí)行一個(gè)或多個(gè)虛擬機(jī)(412); 用一個(gè)或多個(gè)規(guī)則(420)來對物理網(wǎng)絡(luò)設(shè)備(416a)進(jìn)行編程,所述一個(gè)或多個(gè)規(guī)則被配置成管理所述一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)話務(wù);以及將所述物理網(wǎng)絡(luò)設(shè)備編程為管理網(wǎng)絡(luò)話務(wù),包括: 確定一個(gè)或多個(gè)物理隊(duì)列(422)在所述物理網(wǎng)絡(luò)設(shè)備處的可用性,所述一個(gè)或多個(gè)物理隊(duì)列能用于處理所述一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)流; 標(biāo)識所述一個(gè)或多個(gè)虛擬機(jī)的多個(gè)網(wǎng)絡(luò)流,包括標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性;以及 基于所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性并基于所述一個(gè)或多個(gè)規(guī)則,將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)。
8.如權(quán)利要求7所述的方法,其特征在于,所述多個(gè)網(wǎng)絡(luò)流在數(shù)目上大于所述一個(gè)或多個(gè)物理隊(duì)列,并且其中將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)包括: 將所述多個(gè)網(wǎng)絡(luò)流全部分配給所述一個(gè)或多個(gè)物理隊(duì)列,使得所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)被分配所述網(wǎng)絡(luò)流中一個(gè)以上的網(wǎng)絡(luò)流。
9.如權(quán)利要求7所述的方法,其特征在于,所述多個(gè)網(wǎng)絡(luò)流在數(shù)目上大于所述一個(gè)或多個(gè)物理隊(duì)列,并且其中將所述多個(gè)網(wǎng)絡(luò)流中的一個(gè)或多個(gè)分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)包括: 將所述多個(gè)網(wǎng)絡(luò)流的第一子集分配給所述一個(gè)或多個(gè)物理隊(duì)列;以及 將所述多個(gè)網(wǎng)絡(luò)流的第二子集分配給所述虛擬交換機(jī)處的一個(gè)或多個(gè)基于軟件的隊(duì)列。
10.一種虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)(402),該系統(tǒng)被配置成管理在所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)上執(zhí)行的一個(gè)或多個(gè)虛擬機(jī)(412)的網(wǎng)路話務(wù),所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)包括: 一個(gè)或多個(gè)處理器; 一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備(416);以及 其上存儲有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述虛擬化主機(jī)計(jì)算機(jī)系統(tǒng)執(zhí)行虛擬交換機(jī)(404),所述虛擬交換機(jī)被配置成用一個(gè)或多個(gè)相應(yīng)的規(guī)則(420)來對所述一個(gè)或多個(gè)物理網(wǎng)絡(luò)設(shè)備中的每一個(gè)進(jìn)行編程,并執(zhí)行以下操作: 確定一個(gè)或多個(gè)物理隊(duì)列(422)在所述物理網(wǎng)絡(luò)設(shè)備處的可用性,所述一個(gè)或多個(gè)物理隊(duì)列能用于處理所述一個(gè)或多個(gè)虛擬機(jī)的網(wǎng)絡(luò)流; 標(biāo)識所述一個(gè)或多個(gè)虛擬機(jī)的多個(gè)網(wǎng)絡(luò)流,包括標(biāo)識所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性,所述多個(gè)網(wǎng)絡(luò)流在數(shù)目上大于所述一個(gè)或多個(gè)物理隊(duì)列;以及 基于所述多個(gè)網(wǎng)絡(luò)流中的每一個(gè)的一個(gè)或多個(gè)特性并基于所述一個(gè)或多個(gè)規(guī)則,將所述多個(gè)網(wǎng)絡(luò)流分配給所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè),使得所述一個(gè)或多個(gè)物理隊(duì)列中的至少一個(gè)被分配所述多個(gè)網(wǎng)絡(luò)流中一個(gè)以上的網(wǎng)絡(luò)流。
【文檔編號】G06F9/50GK104428752SQ201380032691
【公開日】2015年3月18日 申請日期:2013年6月12日 優(yōu)先權(quán)日:2012年6月21日
【發(fā)明者】S·坎杜拉, C·金, A·達(dá)巴格, D·班塞爾, D·A·馬爾茨 申請人:微軟公司