新四季網

將虛擬機流卸載至物理隊列的製作方法

2023-10-11 22:47:39

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

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀