一步促使計(jì)算平臺用于:
確定分組所屬的流;
確定要用于服務(wù)于屬于流的分組的LSC ;以及將記號添加到分組,從而識別要用于服務(wù)于分組的LSC。
[0092]28.一種計(jì)算平臺,其包括:
處理器,其包括多個(gè)處理器核;
系統(tǒng)存儲器,其操作地耦合于處理器;
網(wǎng)絡(luò)接口控制器(NIC),其包括操作地耦合于處理器的至少一個(gè)網(wǎng)絡(luò)端口和存儲器;
以及
存儲設(shè)備,其具有存儲在其上的多個(gè)指令,包括配置成經(jīng)由處理器核中的一個(gè)或多個(gè)而執(zhí)行的指令,用于促使裝置用于:
實(shí)例化多個(gè)虛擬機(jī)(VM)或虛擬化容器(容器),每個(gè)VM或容器包括虛擬網(wǎng)絡(luò)接口控制器(vNIC),VM或容器的至少一部分托管虛擬網(wǎng)絡(luò)組件;
在平臺上配置軟件定義網(wǎng)絡(luò)(SDN),其包括具有耦合于相應(yīng)vNICs的虛擬網(wǎng)絡(luò)端口的虛擬交換機(jī)和在所述NIC上的至少一個(gè)網(wǎng)絡(luò)端口 ;
經(jīng)由多個(gè)虛擬網(wǎng)絡(luò)組件實(shí)現(xiàn)本地服務(wù)鏈(LSC),每個(gè)虛擬網(wǎng)絡(luò)組件配置成對要由LSC處理的多個(gè)分組中的每個(gè)執(zhí)行一個(gè)或多個(gè)服務(wù);以及
通過將分組數(shù)據(jù)從托管第一虛擬網(wǎng)絡(luò)組件的第一 VM或容器可訪問的緩沖器寫入托管第二虛擬網(wǎng)絡(luò)組件的第二 VM或容器的vNIC的接收(Rx)緩沖器而在VM或容器之間傳輸對應(yīng)于多個(gè)分組的分組數(shù)據(jù),該第一虛擬網(wǎng)絡(luò)組件配置成執(zhí)行LSC中的當(dāng)前服務(wù),該第二虛擬網(wǎng)絡(luò)組件配置成執(zhí)行LSC中的下一個(gè)服務(wù)。
[0093]29.如條款28的計(jì)算平臺,其中多個(gè)指令的執(zhí)行進(jìn)一步促使計(jì)算平臺用于:
實(shí)現(xiàn)多個(gè)LSC,每個(gè)LSC包括要對使用該LSC處理的分組執(zhí)行的唯一服務(wù)序列;以及對托管虛擬網(wǎng)絡(luò)組件的每個(gè)VM或容器配置本地流表,其中對于指定VM或容器的本地流表包括對于包括要由該VM或容器托管的虛擬網(wǎng)絡(luò)組件所執(zhí)行的服務(wù)的每個(gè)LSC的條目,并且每個(gè)LSC的條目識別對于托管LSC中的下一個(gè)虛擬網(wǎng)絡(luò)組件的VM或容器的vNIC接收(Rx)端口或Rx緩沖器中的至少一個(gè)。
[0094]30.如條款28或29的計(jì)算平臺,其中多個(gè)指令的執(zhí)行進(jìn)一步促使計(jì)算平臺分配共享存儲器空間,由對于VM或容器中的每個(gè)的vNIC所采用的接收緩沖器采用該共享存儲器空間,其中使每個(gè)VM或容器能夠從共享存儲器空間讀取和寫入共享存儲器空間。
[0095]31.如條款28-30中的任一項(xiàng)的計(jì)算平臺,其中多個(gè)指令的執(zhí)行進(jìn)一步促使計(jì)算平臺:
確定在NIC處接收的分組所屬的流或要用于服務(wù)于分組的LSC中的至少一個(gè);以及將分組從NIC轉(zhuǎn)發(fā)到對于用于托管對LSC所定義的第一虛擬網(wǎng)絡(luò)組件的VM或容器的vNIC的接收緩沖器。
[0096]32.如條款28-31中的任一項(xiàng)的計(jì)算平臺,其中多個(gè)指令的執(zhí)行進(jìn)一步促使計(jì)算平臺用于:
將NIC上的存儲器的至少一部分配置為存儲器映射輸入-輸出(MM1)地址空間;以及將NIC配置成,
在MM1地址空間中的接收緩沖器中緩沖對于在網(wǎng)絡(luò)接口的預(yù)定義網(wǎng)絡(luò)端口處從網(wǎng)絡(luò)接收的多個(gè)分組中的每個(gè)的分組數(shù)據(jù);以及
使用直接存儲器訪問(DMA)數(shù)據(jù)傳輸將對于每個(gè)分組的分組數(shù)據(jù)從接收緩沖器復(fù)制到對于用于托管對LSC所定義的第一虛擬網(wǎng)絡(luò)組件的VM或容器的vNIC的接收緩沖器。
[0097]33.一種計(jì)算平臺,其包括:
網(wǎng)絡(luò)接口控制器(NIC),其包括至少一個(gè)網(wǎng)絡(luò)端口和存儲器,以及用于以下功能的部件:
實(shí)例化多個(gè)虛擬機(jī)(VM)或虛擬化容器(容器),每個(gè)VM或容器包括虛擬網(wǎng)絡(luò)接口控制器(vNIC),VM或容器的至少一部分托管虛擬網(wǎng)絡(luò)組件;
在平臺上配置軟件定義網(wǎng)絡(luò)(SDN),其包括具有耦合于相應(yīng)vNIC的虛擬網(wǎng)絡(luò)端口的虛擬交換機(jī)和在所述NIC上的至少一個(gè)網(wǎng)絡(luò)端口 ;
經(jīng)由多個(gè)虛擬網(wǎng)絡(luò)組件實(shí)現(xiàn)本地服務(wù)鏈(LSC),每個(gè)虛擬網(wǎng)絡(luò)組件配置成對要由LSC處理的多個(gè)分組中的每個(gè)執(zhí)行一個(gè)或多個(gè)服務(wù);以及
通過將分組數(shù)據(jù)從托管第一虛擬網(wǎng)絡(luò)組件的第一 VM或容器可訪問的緩沖器寫入托管第二虛擬網(wǎng)絡(luò)組件的第二 VM或容器的vNIC的接收(Rx)緩沖器而在VM或容器之間傳輸對應(yīng)于多個(gè)分組的分組數(shù)據(jù),該第一虛擬網(wǎng)絡(luò)組件配置成執(zhí)行LSC中的當(dāng)前服務(wù),該第二虛擬網(wǎng)絡(luò)組件配置成執(zhí)行LSC中的下一個(gè)服務(wù)。
[0098]34.如條款33的計(jì)算平臺,其進(jìn)一步包括用于以下功能的部件:
實(shí)現(xiàn)多個(gè)LSC,每個(gè)LSC包括要對使用該LSC處理的分組執(zhí)行的唯一服務(wù)序列;以及對托管虛擬網(wǎng)絡(luò)組件的每個(gè)VM或容器配置本地流表,其中對于指定VM或容器的本地流表包括對于包括要由該VM或容器托管的虛擬網(wǎng)絡(luò)組件所執(zhí)行的服務(wù)的每個(gè)LSC的條目,并且每個(gè)LSC的條目識別對于托管LSC中的下一個(gè)虛擬網(wǎng)絡(luò)組件的VM或容器的vNIC接收(Rx)端口或Rx緩沖器中的至少一個(gè)。
[0099]35.如條款33或34的計(jì)算平臺,其進(jìn)一步包括用于分配共享存儲器空間的部件,由對于VM或容器中的每個(gè)的vNIC所采用的接收緩沖器采用該共享存儲器空間,其中使每個(gè)VM或容器能夠從共享存儲器空間讀取和寫入共享存儲器空間。
[0100]36.如條款33-35中的任一項(xiàng)的計(jì)算平臺,其進(jìn)一步包括用于以下功能的部件: 確定在NIC處接收的分組所屬的流或要用于服務(wù)于分組的LSC中的至少一個(gè);以及將分組從NIC轉(zhuǎn)發(fā)到對于用于托管對LSC所定義的第一虛擬網(wǎng)絡(luò)組件的VM或容器的
vNIC的接收緩沖器。
[0101]37.如條款33-36中的任一項(xiàng)的計(jì)算平臺,其進(jìn)一步包括用于以下功能的部件: 將NIC上的存儲器的至少一部分配置為存儲器映射輸入-輸出(ΜΜΙ0)地址空間;以及將NIC配置成,
在ΜΜΙ0地址空間中的接收緩沖器中緩沖對于在網(wǎng)絡(luò)接口的預(yù)定義網(wǎng)絡(luò)端口處從網(wǎng)絡(luò)接收的多個(gè)分組中的每個(gè)的分組數(shù)據(jù);以及
使用直接存儲器訪問(DMA)數(shù)據(jù)傳輸將對于每個(gè)分組的分組數(shù)據(jù)從接收緩沖器復(fù)制到對于用于托管對LSC所定義的第一虛擬網(wǎng)絡(luò)組件的VM或容器的vNIC的接收緩沖器。
[0102]盡管一些實(shí)施例已經(jīng)參考特定實(shí)現(xiàn)描述,其他實(shí)現(xiàn)根據(jù)一些實(shí)施例是可能的。另夕卜,在圖中圖示和/或本文描述元件或其他特征的設(shè)置和/或順序不必采用圖示和描述的特定方式設(shè)置。許多其他設(shè)置根據(jù)一些實(shí)施例是可能的。
[0103]在圖中示出的每個(gè)系統(tǒng)中,元件在一些情況下可每個(gè)具有相同的標(biāo)號或不同的標(biāo)號來啟示代表的元件可以不同和/或相似。然而,元件可足夠靈活以具有不同的實(shí)現(xiàn)并且與本文示出或描述的系統(tǒng)中的一些或全部一起工作。在圖中示出的各種元件可相同或不同。哪一個(gè)稱為第一元件以及哪個(gè)叫作第二元件是任意的。
[0104]在描述和權(quán)利要求中,可使用術(shù)語“耦合”和“連接”連同它們的派生詞。要理解這些術(shù)語不規(guī)定為是彼此的同義詞。相反,在特定實(shí)施例中,“連接”可用于指示兩個(gè)或以上的元件彼此直接物理或電接觸。“耦合”可意指兩個(gè)或以上的元件彼此直接物理或電接觸。然而,“耦合”還可意指兩個(gè)或以上的元件彼此不直接接觸,但彼此仍共同操作或相互作用。
[0105]實(shí)施例是本發(fā)明的實(shí)現(xiàn)或示例。在說明書中對“實(shí)施例”、“一個(gè)實(shí)施例”、“一些實(shí)施例”或“其他實(shí)施例”的引用意指結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一些實(shí)施例中,而不一定是所有實(shí)施例中?!皩?shí)施例”、“一個(gè)實(shí)施例”或“一些實(shí)施例”的各種表現(xiàn)不一定都指相同的實(shí)施例。
[0106]不是本文描述和圖示的所有部件、特征、結(jié)構(gòu)、特性等需要包括在特定實(shí)施例或多個(gè)特定實(shí)施例中。例如,如果說明書規(guī)定部件、特征、結(jié)構(gòu)、過程或特性“可”、“可能”或“可以”被包括,則不需要包括該特定部件、特征、結(jié)構(gòu)、過程或特性。如果說明書或權(quán)利要求引用“一”元件,這不意指僅存在描述的元件中的一個(gè)。如果說明書或權(quán)利要求指“額外的”元件,這不排除存在超過一個(gè)額外的元件。
[0107]前面的詳細(xì)描述中的斜體字母(例如‘if和‘ΛΟ用于描繪整數(shù),并且特定字母的使用不限于特定實(shí)施例。此外,相同的字母可用于代表獨(dú)立整數(shù),或可使用不同的字母。另夕卜,詳細(xì)描述中特定字母的使用可與關(guān)于詳細(xì)描述中的相同主旨的權(quán)利要求中使用的字母匹配或不匹配。
[0108]如上文論述的,本文的實(shí)施例的各種方面可通過對應(yīng)的軟件和/或固件部件和應(yīng)用來便利化,例如在由嵌入式處理器或類似物執(zhí)行的軟件和/或固件或服務(wù)器或設(shè)備處理器上運(yùn)行的軟件。從而,本發(fā)明的實(shí)施例可用作或支持在某一形式的處理核(例如計(jì)算機(jī)的CPU、多核處理器的一個(gè)或多個(gè)核)上執(zhí)行的軟件程序、軟件模塊、固件和/或分布式軟件、在處理器或核上運(yùn)行的或用別的方式在計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)上或內(nèi)實(shí)施或?qū)崿F(xiàn)的虛擬機(jī)。計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)包括用于采用由機(jī)器(例如,計(jì)算機(jī))可讀形式存儲或傳送信息的任何機(jī)構(gòu)。例如,計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)包括采用計(jì)算機(jī)或計(jì)算機(jī)器(例如,計(jì)算設(shè)備、電子系統(tǒng),等)可訪問的形式提供(例如,存儲和/或傳送)信息的任何機(jī)構(gòu),例如可記錄/不可記錄介質(zhì)(例如,只讀存儲器(R0M)、隨機(jī)存取存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存設(shè)備,等)。內(nèi)容可以是直接可執(zhí)行的(“對象”或“可執(zhí)行”形式)、源代碼或差分代碼(“差量”或“補(bǔ)丁”代碼)。計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)還可包括可從其下載內(nèi)容的存儲或數(shù)據(jù)庫。計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)還可包括在銷售或交付時(shí)具有存儲在其上的內(nèi)容的設(shè)備或產(chǎn)品。從而,交付具有存儲內(nèi)容的設(shè)備或提供內(nèi)容用于通過通信介質(zhì)下載可理解為提供制造物品,其包括具有本文描述的這樣的內(nèi)容的計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì)。
[0109]本文描述的在上文稱為過程、服務(wù)器或工具的各種部件可以是用于執(zhí)行描述的功能的部件。由本文描述的各種部件執(zhí)行的操作和功能可經(jīng)由嵌入式硬件或類似物或硬件和軟件的任何組合由在處理元件上運(yùn)行的軟件實(shí)現(xiàn)。這樣的部件可實(shí)現(xiàn)為軟件模塊、硬件模塊、專用硬件(例如,應(yīng)用特定硬件、ASIC、DSP,等)、嵌入式控制器、硬接線電路、硬件邏輯等。軟件內(nèi)容(例如,數(shù)據(jù)、指令、配置信息,等)可經(jīng)由制造物品提供,該制造物品包括計(jì)算機(jī)可讀或機(jī)器可讀非暫時(shí)性存儲介質(zhì),其提供代表可以執(zhí)行的指令的內(nèi)容。該內(nèi)容可導(dǎo)致計(jì)算機(jī)執(zhí)行本文描述的各種功能/操作。
[0110]本發(fā)明的圖示實(shí)施例在上文的描述(包括在摘要中描述的)不規(guī)定為窮舉的或?qū)⒈景l(fā)明限制在公開的精確形式。如相關(guān)領(lǐng)域內(nèi)技術(shù)人員將認(rèn)識到的,盡管本發(fā)明的具體實(shí)施例以及其示例為了說明目的而在本文描述,各種等同的修改在本發(fā)明的范圍內(nèi)是可能的。
[0111]可以根據(jù)上文的詳細(xì)描述對本發(fā)明做出這些修改。在下列權(quán)利要求中使用的術(shù)語不應(yīng)解釋為將本發(fā)明限制在說明書和圖中公開的具體實(shí)施例。相反,通過下列權(quán)利要求完全確定本發(fā)明的范圍,要根據(jù)建立的權(quán)利要求解釋的法律原則而解釋這些權(quán)利要求。
【主權(quán)項(xiàng)】
1.一種在計(jì)算平臺上實(shí)現(xiàn)的方法,多個(gè)虛擬機(jī)(VM)或虛擬化容器(容器)在所述計(jì)算平臺上運(yùn)行,每個(gè)VM或容器包括虛擬網(wǎng)絡(luò)接口控制器(vNIC),其通信地耦合于軟件定義網(wǎng)絡(luò)(SDN)中的虛擬交換機(jī),所述方法包括: 經(jīng)由所述多個(gè)VM或容器所托管的多個(gè)虛擬網(wǎng)絡(luò)組件來實(shí)現(xiàn)本地服務(wù)鏈(LSC),每個(gè)虛擬網(wǎng)絡(luò)組件配置成對要由所述LSC處理的多個(gè)分組中的每個(gè)執(zhí)行一個(gè)或多個(gè)服務(wù);以及 在不使用所述虛擬交換機(jī)的情況下,在VM或容器之間傳輸所述多個(gè)分組中所包含的分組數(shù)據(jù)。2.如權(quán)利要求1所述的方法,其中通過將分組數(shù)據(jù)直接寫入第二Rx緩沖器來將所述