用于提供基于信用的流控制的方法及系統(tǒng)的制作方法
【專利摘要】本公開涉及用于提供基于信用的流控制的方法及系統(tǒng)。在一種實施例中,一種系統(tǒng)包括適于接收具有多個分組的業(yè)務(wù)流的啟動器端口以及硬件處理器和與該處理器集成和/或可以由該處理器執(zhí)行的邏輯塊,該邏輯塊適于基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè)務(wù)類,還適于把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目標端口,直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。在更多的實施例中描述了用于提供基于信用的流控制的其它系統(tǒng)、方法及計算機程序產(chǎn)品。
【專利說明】用于提供基于信用的流控制的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)中心管理和文件系統(tǒng),并且尤其,本發(fā)明涉及利用流控制信用在 無損以太網(wǎng)中指定優(yōu)先級。
【背景技術(shù)】
[0002] 目前可用的無損以太網(wǎng)網(wǎng)絡(luò)不允許基于信用的流控制,在基于信用的流控制中, 業(yè)務(wù)流的優(yōu)先級是基于可用的信用量來確定的。相反,傳統(tǒng)的無損以太網(wǎng)網(wǎng)絡(luò),尤其是其中 所使用的交換機,在問題或難題出現(xiàn)并且分組不可以傳輸?shù)臅r候簡單地丟棄該分組,并且 在有些情況下,稍后重新發(fā)送被丟棄的分組。這種方法在分組不可傳輸?shù)臅r候給網(wǎng)絡(luò)增加 了附加的等待時間,并且,即使在無損以太網(wǎng)網(wǎng)絡(luò)中,也可以導致有些分組永久性丟失。
[0003] 以太網(wǎng)變得越來越流行。有些傳統(tǒng)的交換式構(gòu)架網(wǎng)絡(luò)可以使用基于信用的流控 制,諸如InfiniBand和其它網(wǎng)絡(luò)協(xié)議,但是這些基于信用的流控制系統(tǒng)既不適用也不能在 以太網(wǎng)網(wǎng)絡(luò)中使用或者利用現(xiàn)有的以太網(wǎng)框架格式和協(xié)議。
【發(fā)明內(nèi)容】
[0004] 在一種實施例中,一種系統(tǒng)包括適于接收具有多個分組的業(yè)務(wù)流的啟動器端口以 及硬件處理器和與該處理器集成和/或可以由該處理器執(zhí)行的邏輯塊,該邏輯塊適于基于 與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè)務(wù)類,還 適于把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目標端口, 直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
[0005] 根據(jù)另一種實施例,用于提供基于信用的流控制的計算機程序產(chǎn)品包括其中包含 程序代碼的計算機可讀存儲介質(zhì),該程序代碼可以被處理器讀取/執(zhí)行,以便利用處理器 接收具有多個分組的業(yè)務(wù)流、基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù) 類,該業(yè)務(wù)類選自多個業(yè)務(wù)類,并且把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一 個或多個分組指定的目標端口,直到分配給目標端口的流信用的量不足以給附加的分組服 務(wù)。
[0006] 在另一種實施例中,用于提供基于信用的流控制的方法包括接收具有多個分組的 業(yè)務(wù)流、基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多 個業(yè)務(wù)類,并且把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的 目標端口,直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
[0007] 本發(fā)明的其它方面與實施例將從以下具體描述變得清楚,當結(jié)合附圖考慮時,以 下具體描述通過例子說明了本發(fā)明的原理。
【專利附圖】
【附圖說明】
[0008] 圖1根據(jù)一種實施例說明了網(wǎng)絡(luò)體系架構(gòu)。
[0009] 圖2根據(jù)一種實施例示出了可以與圖1的服務(wù)器和/或客戶端關(guān)聯(lián)的代表性硬件 環(huán)境。
[0010] 圖3是根據(jù)一種實施例的虛擬化數(shù)據(jù)中心的簡化圖。
[0011] 圖4根據(jù)一種實施例示出了服務(wù)器。
[0012] 圖5根據(jù)一種實施例示出了網(wǎng)絡(luò)。
[0013] 圖6示出了根據(jù)一種實施例的方法的流程圖。
【具體實施方式】
[0014] 以下描述是為了說明本發(fā)明的通用原理而不意于限定本文所要求保護的發(fā)明性 概念。另外,本文所述的特定特征可以結(jié)合其它所述特征在各種可能的組合與置換中的每 一種中使用。
[0015] 除非在本文中另外專門定義,否則所有術(shù)語都要賦予其最廣泛可能的解釋,包括 從本說明書暗示的含義以及本領(lǐng)域技術(shù)人員所理解的和/或在詞典、論文等中定義的含 義。
[0016] 還必須指出,如在本說明書和所附權(quán)利要求中所使用的,除非另外規(guī)定,否則單數(shù) 形式"一個"和"所述"包括復數(shù)的所指對象。還應(yīng)當理解,當在本說明書使用時,術(shù)語"包 括"規(guī)定所述特征、整數(shù)、步驟、操作、元素和/或部件的存在,但是并不排除一個或多個其它 特征、整數(shù)、步驟、操作、元素、部件和/或其組的存在或添加。
[0017] 以下描述公開了用于在無損以太網(wǎng)網(wǎng)絡(luò)中實現(xiàn)基于信用的流控制的系統(tǒng)、方法及 計算機程序產(chǎn)品的幾種優(yōu)選實施例。特別地,基于信用的流控制機制允許把以太網(wǎng)協(xié)議和 現(xiàn)有的或新的InfiniBand、遠程直接存儲器訪問(RDMA)等協(xié)議融合到單個、公共的鏈路類 型中,例如經(jīng)匯融合以太網(wǎng)的RDMA (RoCE)和/或關(guān)于無損以太網(wǎng)的互聯(lián)網(wǎng)廣域RDMA協(xié)議 (iWARP)方法。
[0018] 在一種通用的實施例中,一種系統(tǒng)包括適于接收具有多個分組的業(yè)務(wù)流的啟動器 端口以及硬件處理器和與該處理器集成和/或可以由該處理器執(zhí)行的邏輯塊,該邏輯塊適 于基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè)務(wù) 類,還適于把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目標 端口,直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
[0019] 根據(jù)另一種通用的實施例,用于提供基于信用的流控制的計算機程序產(chǎn)品包括其 中包含程序代碼的計算機可讀存儲介質(zhì),該程序代碼可以被處理器讀取/執(zhí)行,以便利用 處理器接收具有多個分組的業(yè)務(wù)流、基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一 個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè)務(wù)類,并且把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的 所述一個或多個分組指定的目標端口,直到分配給目標端口的流信用的量不足以給附加的 分組服務(wù)。
[0020] 在另一種通用的實施例中,用于提供基于信用的流控制的方法包括接收具有多個 分組的業(yè)務(wù)流、基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類 選自多個業(yè)務(wù)類,并且把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組 指定的目標端口,直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
[0021] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算 機程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、 完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方 式,這里可以統(tǒng)稱為"邏輯塊"、"電路"、"模塊"或"系統(tǒng)"。此外,在一些實施例中,本發(fā)明的 各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算 機可讀介質(zhì)中包含計算機可讀的程序代碼。
[0022] 可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算 機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是--但不限 于--電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算 機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便 攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器 (EPROM或閃存)、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述 的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形 介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置、處理器或者器件使用或者與其結(jié)合使用。
[0023] 計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分、具有一條或多條 電線的電連接、光纖等傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù) 據(jù)信號可以采用多種形式,包括--但不限于--電磁信號、光信號或上述的任意合適的 組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì), 該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者 與其結(jié)合使用的程序。
[0024] 計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括--但不限 于--無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0025] 可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算 機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++ 等,還包括傳統(tǒng)的過程式程序設(shè)計語言一諸如"C"語言或類似的程序設(shè)計語言。程序代碼可 以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、 部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。 在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)--包括局域網(wǎng)(LAN) 或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù) 提供商來通過因特網(wǎng)連接)。
[0026] 下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和 /或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中 各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算 機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算 機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖 和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0027] 也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、 其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(article of manufacture)〇
[0028] 也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備 上,使得一系列操作步驟在計算機、其它可編程裝置或者其它設(shè)備上執(zhí)行,以產(chǎn)生一種計算 機實現(xiàn)的過程,使得在所述計算機或者其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)在所述 流程圖和/或框圖中的一個或多個方框中所指定的功能/動作的過程。
[0029] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程 序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以 代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個 用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所 標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以 基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的 是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行 規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的 組合來實現(xiàn)。
[0030] 圖1根據(jù)一種實施例說明了網(wǎng)絡(luò)體系架構(gòu)100。如圖1中所示,提供了多個遠程網(wǎng) 絡(luò)102,包括第一遠程網(wǎng)絡(luò)104和第二遠程網(wǎng)絡(luò)106。網(wǎng)關(guān)101可以f禹合在遠程網(wǎng)絡(luò)102和 近端網(wǎng)絡(luò)108之間。在所給出的網(wǎng)絡(luò)體系架構(gòu)100的背景下,網(wǎng)絡(luò)104U06每個都可以采 取包括但不限于LAN、諸如互聯(lián)網(wǎng)的WAN、公共交換電話網(wǎng)絡(luò)(PSTN)、內(nèi)部電話網(wǎng)等的任何 形式。
[0031] 在使用中,網(wǎng)關(guān)101充當從遠程網(wǎng)絡(luò)102到近端網(wǎng)絡(luò)108的入口。因此,網(wǎng)關(guān)101 可以充當能夠指引到達網(wǎng)關(guān)101的給定數(shù)據(jù)分組的路由器,以及為給定分組提供進出網(wǎng)關(guān) 101的實際路徑的交換機。
[0032] 另外還包括的是耦合到近端網(wǎng)絡(luò)108并且可以經(jīng)網(wǎng)關(guān)101從遠程網(wǎng)絡(luò)102訪問的 至少一個數(shù)據(jù)服務(wù)器114。應(yīng)當指出,數(shù)據(jù)服務(wù)器114可以包括任何類型的計算設(shè)備/群 件。耦合到每個數(shù)據(jù)服務(wù)器114的是多個用戶設(shè)備116。這種用戶設(shè)備116可以包括臺式 計算機、膝上型計算機、手持式計算機、打印機或者任何其它類型的邏輯塊。應(yīng)當指出,在一 種實施例中,用戶設(shè)備111還可以直接耦合到任何網(wǎng)絡(luò)。
[0033] -個外圍設(shè)備120或者一系列外圍設(shè)備120,例如,傳真機、打印機、聯(lián)網(wǎng)的和/或 本地的存儲單元或系統(tǒng)等,可以耦合到網(wǎng)絡(luò)104、106、108中的一個或多個。應(yīng)當指出,數(shù)據(jù) 庫和/或附加的組件可以與耦合到網(wǎng)絡(luò)104、106、108的任何類型的網(wǎng)絡(luò)元件一起使用或者 集成到其中。在本描述的背景下,網(wǎng)絡(luò)元件可以指網(wǎng)絡(luò)的任何組件。
[0034] 根據(jù)有些方法,本文所描述的方法和系統(tǒng)可以利用虛擬系統(tǒng)和/或模擬一個或 多個其它系統(tǒng)的系統(tǒng)和/或在其上實現(xiàn),諸如模擬IBM z/OS環(huán)境的UNIX系統(tǒng)、虛擬托管 MICROSOFT WINDOWS 環(huán)境的 UNIX 系統(tǒng)、模擬 IBM z/OS 環(huán)境的 MICROSOFT WINDOWS 系統(tǒng)等。 在有些實施例中,這種虛擬化和/或模擬可以通過VMWARE軟件的使用來增強。
[0035] 在更多的方法中,一個或多個網(wǎng)絡(luò)104、106、108可以代表統(tǒng)稱為"云"的系統(tǒng)的集 群。在云計算中,共享資源,諸如處理能力、外圍設(shè)備、軟件、數(shù)據(jù)、服務(wù)器等,以按需關(guān)系提 供給云中的任何系統(tǒng),由此允許服務(wù)跨許多計算系統(tǒng)的訪問和分布。云計算通常涉及云中 所運行的系統(tǒng)之間的互聯(lián)網(wǎng)連接,但是連接系統(tǒng)的其它技術(shù)也可以使用。
[0036] 根據(jù)一種實施例,圖2示出了與圖1的用戶設(shè)備116和/或服務(wù)器114關(guān)聯(lián)的代表 性硬件環(huán)境。這個圖說明了具有經(jīng)系統(tǒng)總線212互連的諸如微處理器的中央處理單元210 以及多個其它單元的工作站的典型硬件配置。
[0037] 圖2中所示的工作站包括隨機存取存儲器(RAM)214、只讀存儲器(ROM)216、用于 把諸如盤存儲單元220的外圍設(shè)備連接到總線212的I/O適配器218、用于把鍵盤224、鼠 標226、揚聲器228、麥克風232和/或諸如觸摸屏和數(shù)碼相機(未示出)的其它用戶接口設(shè) 備連接到總線212的用戶接口適配器222、用于把工作站連接到通信網(wǎng)絡(luò)235(例如,數(shù)據(jù)處 理網(wǎng)絡(luò))的通信適配器234以及用于把總線212連接到顯示設(shè)備238的顯示器適配器236。
[0038] 工作站可以在其上駐留操作系統(tǒng),諸如Microsoft Windows?操作系統(tǒng)(〇S)、 MAC 0S、UNIX 0S等。應(yīng)當認識到,優(yōu)選實施例還可以在除所提到的那些之外的平臺和操作 系統(tǒng)上實現(xiàn)。優(yōu)選實施例可以用JAVA、XML、C和/或C++語言或者其它編程語言編寫,以及 面向?qū)ο蟮木幊谭椒?。可以使用越來越多地用于開發(fā)復雜應(yīng)用的面向?qū)ο蟮木幊蹋∣OP)。
[0039] 現(xiàn)在參考圖3,根據(jù)一種實施例示出了覆蓋網(wǎng)絡(luò)300的概念圖。覆蓋網(wǎng)絡(luò)可以 利用任何覆蓋技術(shù)、標準或協(xié)議,諸如虛擬可擴展局域網(wǎng)(VXLAN)、分布式覆蓋虛擬以太網(wǎng) (DOVE )、利用通用路由封裝的網(wǎng)絡(luò)虛擬化(NVGRE ),等等。
[0040] 為了虛擬化網(wǎng)絡(luò)服務(wù),除簡單地在設(shè)備之間提供構(gòu)架通信路徑(連接性)之外,可 以在分組移動通過網(wǎng)關(guān)314的時候?qū)Ψ纸M服務(wù),這種服務(wù)為在非虛擬網(wǎng)絡(luò)312和虛擬網(wǎng)絡(luò) A304及虛擬網(wǎng)絡(luò)B306之間移動的分組提供路由和轉(zhuǎn)發(fā)。一個或多個虛擬網(wǎng)絡(luò)304、306在 物理的(實際的)網(wǎng)絡(luò)基礎(chǔ)設(shè)施302中存在。如本領(lǐng)域技術(shù)人員將知道的,網(wǎng)絡(luò)基礎(chǔ)設(shè)施302 可以包括通常與網(wǎng)絡(luò)基礎(chǔ)設(shè)施關(guān)聯(lián)和/或在其中使用的任何組件、硬件、軟件和/或功能 性,包括,但不限于,交換機、連接器、電線、電路、電纜、服務(wù)器、主機、存儲介質(zhì)、操作系統(tǒng)、 應(yīng)用、端口、1/0等。這種網(wǎng)絡(luò)基礎(chǔ)設(shè)施302支持至少一個非虛擬網(wǎng)絡(luò)312,這可以是傳統(tǒng)網(wǎng) 絡(luò)。
[0041] 每個虛擬網(wǎng)絡(luò)304、306可以使用任意數(shù)量的虛擬機(VM)308、310。在一種實施例 中,虛擬網(wǎng)絡(luò)A304包括一個或多個VM308,而虛擬網(wǎng)絡(luò)B306包括一個或多個VM310。如圖 3中所示,VM308、310不被虛擬網(wǎng)絡(luò)304、306共享,而是在任何給定的時間都只專門包括在 僅一個虛擬網(wǎng)絡(luò)304、306中。
[0042] 根據(jù)一種實施例,覆蓋網(wǎng)絡(luò)300可以包括利用一個或多個分布式線路卡(DLC)互 連的一個或多個單元交換域可伸縮架構(gòu)組件(SFC)。
[0043] 通過具有"扁平交換機"體系架構(gòu),多個VM可以跨體系架構(gòu)容易且有效地移動數(shù) 據(jù)。一般來說,讓VM跨層-3 (L3)域、在一個子網(wǎng)到另一個子網(wǎng)、互聯(lián)網(wǎng)協(xié)議(IP)子網(wǎng)到 IP子網(wǎng)之間等移動是非常困難的。但是,如果該體系架構(gòu)在非常大的層-2 (L2)域中類似 于一個大的扁平交換機,則有助于VM嘗試跨體系架構(gòu)移動數(shù)據(jù)。
[0044] 參考圖4,示出了根據(jù)一種實施例的服務(wù)器400。如所示出的,服務(wù)器400包括提 供并管理虛擬交換機(vSwitch) 404的虛擬化平臺402。
[0045] 根據(jù)一種實施例,覆蓋功能性可以向服務(wù)器400提供。為了實現(xiàn)這個功能,虛擬化 平臺402可以與多個分立的軟件引擎交互,諸如隧道管理器406、ARP和轉(zhuǎn)發(fā)信息庫(FIB) 管理器408、用于提供互聯(lián)網(wǎng)協(xié)議多播(IPMC)支持的引擎410、分組封裝與解封裝引擎412, 以及本領(lǐng)域中已知的任何其它覆蓋增強軟件引擎。在另一種實施例中,這些模塊或軟件引 擎可以在NIC416或者經(jīng)NIC416連接到服務(wù)器400的覆蓋網(wǎng)關(guān)上展現(xiàn)(enact)。
[0046] 虛擬化平臺402還為任意數(shù)量的VM414,在圖4中示為VM(0)、VM(1)、VM(2)、…、 VM(n),提供支持。VM414可以布置在一個或多個虛擬網(wǎng)絡(luò)中(每個虛擬網(wǎng)絡(luò)都可以具有不同 的虛擬網(wǎng)絡(luò)標識符(VNID),諸如VNID1、VNID2、VNID3等)。示例性虛擬網(wǎng)絡(luò)中VM414的數(shù) 量與布置不是要對可能的配置進行限制,因為附圖僅僅是示出了 VM414和虛擬網(wǎng)絡(luò)的示例 性布置。
[0047]在圖5中,根據(jù)一種實施例示出了網(wǎng)絡(luò)500。如所示出的,具有當代NIC416的服 務(wù)器400和具有覆蓋網(wǎng)關(guān)(GW)NIC508的服務(wù)器506可以在同一個網(wǎng)絡(luò)500中使用。根據(jù) 一種實施例,一個或多個以太網(wǎng)交換機510可以包括在網(wǎng)絡(luò)500中,而且可以提供互連到和 /或讓所有設(shè)備、交換機510、虛擬交換機,以及網(wǎng)絡(luò)500中的任何其它設(shè)備可訪問的一個網(wǎng) 關(guān)交換機502。網(wǎng)關(guān)交換機502可以用于互連服務(wù)器400、506和以太網(wǎng)交換機510,或者服 務(wù)器400、506和以太網(wǎng)交換機510可以彼此直接連接。每個以太網(wǎng)交換機510和網(wǎng)關(guān)交換 機502都包括用于連接到其的多個端口 504。在其它實施例中,當代NIC416可以經(jīng)可以提 供某種覆蓋功能性的虛擬化平臺(VP) 402通信。此外,網(wǎng)絡(luò)500可以包括適于根據(jù)每個個 別端口的優(yōu)先級把流信用分配給網(wǎng)絡(luò)500中所有端口的信用管理器512。
[0048]根據(jù)一種實施例,根據(jù)各個以太網(wǎng)業(yè)務(wù)優(yōu)先級級別,業(yè)務(wù)控制信用可以用于確定 來自流的哪個分組要在交換環(huán)境中處理。根據(jù)一種實現(xiàn),流信用可以在特定網(wǎng)絡(luò)中的端點 進入端口和端點離開端口之間交換,而不在其間的任何中間交換機上交換。換句話說,可以 使用跨網(wǎng)絡(luò)架構(gòu)的端到端信用交換。在各種實施例中,中間交換機可能不會以任何有意義 的途徑意識到這種信用交換,它們可以簡單地傳遞任何必要的信息,以實現(xiàn)信用交換過程, 或者它們可以更完全地包含在信用交換中。
[0049]啟動器(源)系統(tǒng)或設(shè)備以及接收器(目標)系統(tǒng)或設(shè)備具有可用于為以太網(wǎng)流管 理和處理"付費"的預定信用分配。每個以太網(wǎng)流都包括多個分組,并且為了清晰,所提供 的描述將參考一個或多個分組(a packet or packets),但是本文所述的概念、系統(tǒng)、方法 及設(shè)備可以對整個流或者一個或多個分組使用,如本領(lǐng)域技術(shù)人員在閱讀本描述之后將理 解的。
[0050]目標通知啟動器它有多少流信用可用于支付一個或多個分組的服務(wù),并且啟動器 適于只發(fā)送已經(jīng)在流信用中已為其付費的多個分組,直到這些分配的流信用用光并且不能 支付更多的處理。在這種背景下,服務(wù)可以包括為了把分組從啟動器發(fā)送到目標而對分組 執(zhí)行的任何操作,諸如切換操作、安全操作、狀態(tài)檢查、完整性檢查、重新路由操作,等等。
[0051] 在請求要對分組和/或流執(zhí)行的服務(wù)之前,啟動器保留這個交易所需的信用量。 然后,在執(zhí)行服務(wù)的時候,交換流信用。在目標向啟動器發(fā)回指示成功傳輸?shù)拇_認時,對于 分組的成功傳輸,流信用在啟動器上重新開始。可以有多個啟動器與單個目標通信,但是每 個啟動器需要具有為所請求服務(wù)保留的必需流信用,否則服務(wù)就不能執(zhí)行。
[0052] 根據(jù)一種實施例,信用管理器把流信用分配給具有向分組提供服務(wù)的可用帶寬的 端口。根據(jù)有些方法,這個信用管理器可以是在服務(wù)器或某個其它系統(tǒng)上執(zhí)行的集中式的 系統(tǒng)、設(shè)備或軟件。在其它方法中,信用管理器可以是分布式的,具有在需要的時候交換關(guān) 于流信用交換和使用的信息的能力,用于在橋接兩個或更多個分布式信用管理器的網(wǎng)絡(luò)的 部分之間的無縫交互。
[0053] 例如,當使用集中式信用管理器時,啟動器端口可以請求流信用,用于把(具有給 定大小的)分組發(fā)送到(由該分組指定的)期望的目標端口。如果目標端口具有可用的流信 用,則它向啟動器端口提供所需的流信用量并且分組從啟動器端口發(fā)送到目標端口,用于 為其服務(wù)。如果目標端口沒有可用于給分組服務(wù)的足量的流信用,則啟動器端口不發(fā)送分 組。為此,最終啟動器端口會變得被未發(fā)送的分組擁塞,并且因為這種擁塞,啟動器端口會 丟棄未發(fā)送的分組(如目前所做的),對向啟動器端口提供分組的數(shù)據(jù)源施加背壓,或者執(zhí) 行這兩種動作的組合。
[0054] 集中式的信用管理器駐留在位于網(wǎng)絡(luò)的數(shù)據(jù)路徑中的構(gòu)架交換機(或者某種其它 合適的設(shè)備、系統(tǒng)或軟件應(yīng)用)上,并且可以被網(wǎng)絡(luò)中的每個物理交換機和虛擬交換機訪 問。
[0055] 在一種實施例中,集中式的信用管理器可以位于網(wǎng)關(guān)交換機中(該網(wǎng)關(guān)交換機已 經(jīng)滿意對所有虛擬的和物理的其它交換機的訪問)。網(wǎng)絡(luò)管理員可以控制信用管理器(分布 式的或集中式的)、啟用用于信用分配的策略、限制某些端口,和/或使某些端口能夠以全線 速運行(一直都有最大吞吐量)。
[0056] 此外,帶寬切片可以在一個或多個端口上提供,使得,如果一條較高數(shù)據(jù)率的鏈路 被幾條較低數(shù)據(jù)率的鏈路共享,則每條較低數(shù)據(jù)率的鏈路可以獨立地從目標端口請求流信 用。這種方法需要建立流信用對或者隊列空間對,在啟動器端口和目標端口上可用。這種 實施例有可能增加硬件中為網(wǎng)絡(luò)接口卡(NIC)適配器和交換機提供的存儲量,并且在結(jié)合 InfiniBand和RDMA類型網(wǎng)絡(luò)使用時還為流管理提供顯著的好處。
[0057] 在一種實施例中,可以利用數(shù)據(jù)平面以太網(wǎng)分組執(zhí)行流信用交換。換句話說,數(shù)據(jù) 平面以太網(wǎng)分組(具有可以被啟動器和目標端口識別的標準的或修改后的幀格式)可以在 端口之間交換,以便在把分組發(fā)送到目標端口以便為其服務(wù)之前確定足夠流信用的存在。 在一種備選實施例中,數(shù)據(jù)中心橋接(DCB)加密控制協(xié)議(ECP)可以用于交換流信用,但是 這消耗網(wǎng)絡(luò)上的更多分組和帶寬。
[0058] 在傳統(tǒng)的系統(tǒng)中,延長距離的鏈路會遭受緩沖區(qū)信用饑餓,因為它們具有更長的 等待時間并且有效地"存儲"在網(wǎng)絡(luò)中飛行的分組。由于更長的鏈路等待時間,啟動器端口 可能需要空閑下來等待來自目標端口的響應(yīng)以重新開始其信用。在一種實施例中,為了解 決這個問題,根據(jù)一種實施例,長距離鏈路可以被識別并向信用管理器指示,而且信用管理 器可以自動地應(yīng)用等待時間策略,該策略給這些識別出的長距離鏈路更多的信用,以補償 延長的距離。在一種備選實施例中,信用管理器被告知信道延長設(shè)備,諸如波分多路復用器 (WDM)及本領(lǐng)域中已知的其它此類設(shè)備,而且這些設(shè)備可以具有用于這種長距離鏈路的特 殊信用分配。
[0059] 在有些實施例中,單獨的數(shù)據(jù)緩沖區(qū)可以為長距離交換機端口或WDM設(shè)備提供, 以便在接收到信用之前存儲數(shù)據(jù)幀,使得,如果在分組仍然在途中的時候鏈路發(fā)生故障,則 能夠恢復。作為替代,假設(shè)雖然成功傳輸?shù)姆纸M的確認還沒有到來但是即將到來,可以提供 投機的信用,這允許啟動器端口在沒有足夠流信用的情況下發(fā)送數(shù)據(jù)分組。如果已知鏈路 是可靠的,則這種方法使數(shù)據(jù)能夠在長距離鏈路持續(xù)地流化,而無需暫停,讓流信用從目標 端口分配回啟動器端口。
[0060] 在另一種實施例中,可以提供更復雜一些的架構(gòu)網(wǎng)絡(luò),其中進入的分組在進入的 交換機端口歸類,然后交換機從信用管理器請求用于分組的特殊業(yè)務(wù)類的流信用。換句話 說,交換機可以具有用于關(guān)于一個業(yè)務(wù)類的一個特殊優(yōu)先級的信用,但是分組可以根據(jù)不 同的業(yè)務(wù)類(具有不同的優(yōu)先級)來歸類。交換機在進入的分組的業(yè)務(wù)類中可能不具有足夠 的流信用把分組發(fā)送到目標端口。在這種情形的一個例子中,假設(shè)進入的分組被歸類為業(yè) 務(wù)類三,并且交換機具有用于業(yè)務(wù)類四的流信用,但是對于業(yè)務(wù)類三沒有流信用或者流信 用不足。在一種實現(xiàn)中,交換機在獲得足夠的業(yè)務(wù)類三流信用之前將不能夠發(fā)送分組。在 一種進一步復雜化架構(gòu)網(wǎng)絡(luò)的備選實現(xiàn)中,可以支持流信用優(yōu)先級重映射,其中交換機和 信用管理器能夠用一種類型的流信用換取另外一種。繼續(xù)以上的例子,在這種情形下,交換 機可以請求用其可用的業(yè)務(wù)類四流信用換取一定數(shù)量的業(yè)務(wù)類三流信用,以便發(fā)送分組。 在一種方法中,流信用可以按一對一的基礎(chǔ)交換。在另一種方法中,依賴于所交換的流信用 所代表的優(yōu)先級級別的不同,業(yè)務(wù)類的優(yōu)先級可以用于確定每個業(yè)務(wù)類之間不均衡的交易 量。以這種方式,有可能通過從不同的業(yè)務(wù)類重新分配可用的流信用來發(fā)送分組。
[0061] 在一種這樣的實施例中,一種系統(tǒng)可以包括適于接收具有多個分組的業(yè)務(wù)流的啟 動器端口以及硬件處理器和與該處理器集成和/或可以由該處理器執(zhí)行的邏輯塊。該邏輯 塊適于基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個 業(yè)務(wù)類,并且把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目 標端口,直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
[0062] 此外,在各種實施例中,該邏輯塊可以進一步適于在把業(yè)務(wù)流的一個或多個分組 發(fā)送到目標端口之前確定給業(yè)務(wù)流的所述一個或多個分組服務(wù)的必需的流信用的量。在另 一種方法中,該邏輯塊可以進一步適于,在發(fā)送業(yè)務(wù)流的一個或多個分組之前:向由所述一 個或多個分組指定的目標端口發(fā)送第一通知,該第一通知指示給業(yè)務(wù)流的所述一個或多個 分組服務(wù)的必需的流信用的量,以及從目標端口接收第二通知,該第二通知指示目標端口 上可用于給業(yè)務(wù)流的所述一個或多個分組服務(wù)的流信用的量。
[0063] 在另一種進一步的實施例中,該邏輯塊可以進一步適于,在發(fā)送業(yè)務(wù)流的一個或 多個分組之前:當目標端口具有可用于給業(yè)務(wù)流的所述一個或多個分組服務(wù)的必需的流信 用的量時,在目標端口上保留在給業(yè)務(wù)流的所述一個或多個分組服務(wù)時要與啟動器端口交 換的必需的流信用的量。
[0064] 在一種方法中,第一和第二通知可以經(jīng)數(shù)據(jù)平面以太網(wǎng)分組或者本領(lǐng)域中已知的 某種其它合適的技術(shù)交換。
[0065] 根據(jù)另一種實施例,關(guān)于業(yè)務(wù)流的至少一個標準選自以下構(gòu)成的組:業(yè)務(wù)流的優(yōu) 先級、業(yè)務(wù)流的至少一個分組的VLAN標識符,以及業(yè)務(wù)流的一個或多個分組的大小,等等。 [0066] 此外,在有些實施例中,網(wǎng)關(guān)交換機可以包括所述處理器,該網(wǎng)關(guān)交換機可以被網(wǎng) 絡(luò)中的所有物理交換機和虛擬交換機訪問。
[0067] 在另一種實施例中,指示一個或多個分組的業(yè)務(wù)類的標識符可以根據(jù)VLAN標識 符存儲在所述一個或多個分組的頭部的三位VLAN標記部分中。
[0068] 在一種實現(xiàn)中,系統(tǒng)可以包括信用管理器,該信用管理器適于根據(jù)每個個別端口 的優(yōu)先級把流信用分配給網(wǎng)絡(luò)中的所有端口。根據(jù)另一種實施例,除其它可能的技術(shù)之外, 啟動器和目標端口之間延長的距離經(jīng)以下至少一個來解決:增加信用管理器分配給目標端 口的、要用于與其間具有延長的距離的啟動器端口交換的流信用的量,以及在接收到先前 發(fā)送的分組的成功傳輸之前以投機的方式允許啟動器端口發(fā)送附加的分組。
[0069] 根據(jù)一種方法,該邏輯塊可以進一步適于從信用管理器請求對應(yīng)于業(yè)務(wù)流的一個 或多個分組的業(yè)務(wù)類的流信用。此外,在有些方法中,該邏輯塊可以進一步適于請求信用管 理器把對應(yīng)于第一業(yè)務(wù)類的流信用重新映射到對應(yīng)于第二業(yè)務(wù)類的流信用。
[0070] 根據(jù)一種實施例,軟件定義的覆蓋網(wǎng)絡(luò)可以具有用于把帶寬指定給幀優(yōu)先級的公 共管理框架。這種軟件定義的覆蓋網(wǎng)絡(luò)可以實現(xiàn)為對任何覆蓋網(wǎng)絡(luò)協(xié)議的擴展,諸如分布 式覆蓋虛擬以太網(wǎng)(DOVE)、VXLAN、NVGRE,等等,而且可以與來自任何供應(yīng)商的現(xiàn)有虛擬化 平臺一起使用,諸如 VMWare 的 ESX、IBM 的 PowerVM、KVM、Microsoft 的 Hyper-V、Xen 等。 結(jié)果產(chǎn)生的虛擬化平臺虛擬交換機(vSwitch)允許把數(shù)據(jù)組織成優(yōu)先級組(也稱為"業(yè)務(wù) 類"),每個類都被指定一個優(yōu)先級組標識(ID),諸如數(shù)字、字母數(shù)字串等。優(yōu)先級分組是由 交換機業(yè)務(wù)管理器創(chuàng)建的并且存儲在其中。此外,在有些方法中,優(yōu)先級分組不需要特殊的 幀格式,以便被能夠?qū)崿F(xiàn)業(yè)務(wù)優(yōu)先級處理的設(shè)備識別。
[0071] 在一種實施例中,可以使用與已經(jīng)包括在分組頭部中的VLAN標記大小相符的八 個優(yōu)先級(保留3位用于VLAN標記,2 3=8個可能的優(yōu)先級組),例如,以每個虛擬端口為基 礎(chǔ),為每個虛擬端口實現(xiàn)。這使得有可能根據(jù)優(yōu)先級分組把可用鏈路帶寬的不同片段分配 給不同的業(yè)務(wù)類。交換機物理層上的一些帶寬可以利用其它方法分配,而剩余的可用帶寬 可以根據(jù)本文所公開的實施例獨立地管理。
[0072] 根據(jù)一種方法,來自不同業(yè)務(wù)類的業(yè)務(wù)可以提供規(guī)定的或期望的數(shù)據(jù)率,通常是 lOGbit/s,但是任何數(shù)據(jù)率都可以按每個交換機、每個端口或者每個業(yè)務(wù)類為基礎(chǔ)來使用。 假定對VM調(diào)度的處理器硬件支持是可用的(諸如從由Intel、IBM功率處理器所使用的CPU 等),帶寬分配限額可以利用大約±1%的精度來實現(xiàn)。
[0073] 根據(jù)另一種實施例,全鏈路帶寬的一些片段可以為較低優(yōu)先級的業(yè)務(wù)保留并且只 可以被較低優(yōu)先級的業(yè)務(wù)類使用,以便確保鏈路的全部帶寬不被較高優(yōu)先級的業(yè)務(wù)類獨 占。
[0074] 與只可以分配帶寬的物理交換機相反,在vSwitch中,以太網(wǎng)帶寬分配和計算或 處理功率分配都可以提供。當vSwitch接收到分組時,它識別最高優(yōu)先級的分組并且通過 根據(jù)業(yè)務(wù)優(yōu)先級分配其處理資源來對分組的接收作出響應(yīng)。相反,利用ETS的物理交換機 分配物理資源,諸如緩沖區(qū)空間和執(zhí)行級別,但不分配處理資源。
[0075] vSwitch不具有這些資源,而是完全在由服務(wù)器托管的虛擬化平臺中的軟件中實 現(xiàn)。相反,vSwitch通過把最高優(yōu)先級的分組處理指定給用于處理器線程執(zhí)行的較高優(yōu)先級 任務(wù)來實現(xiàn)優(yōu)先級處理,同時調(diào)度器相應(yīng)地分配可用的處理器循環(huán)。因而,兩個級別的資源 分配被管理,一個級別是對網(wǎng)絡(luò)帶寬管理的,而其它資源是為vSwitch處理器帶寬管理的。
[0076] 另一種實施例允許識別較高優(yōu)先級分組的能力。這些分組由托管vSwitch的服務(wù) 器的NIC驅(qū)動器識別。然后,NIC驅(qū)動器通知中間虛擬化平臺內(nèi)核較高的分組優(yōu)先級,然后 該內(nèi)核進而通知vSwitch。
[0077] 此外,在有些方法中,事先計算優(yōu)先級分組的個數(shù)并且把網(wǎng)絡(luò)和處理器帶寬指定 給這些優(yōu)先級分組。例如,優(yōu)先級指定在較高數(shù)據(jù)率的NIC (100Gbit/S或更多)上與較低 數(shù)據(jù)率的NIC上可以不同,該較低數(shù)據(jù)率的NIC共享不同類型的較低帶寬業(yè)務(wù),或者用于諸 如經(jīng)以太網(wǎng)的光纖信道(FCoE)存儲和/或經(jīng)融合以太網(wǎng)(RoCE)集群的遠程直接存儲器訪 問(RDMA)的應(yīng)用。當較高優(yōu)先級的分組到達vSwitch時,虛擬化平臺內(nèi)核調(diào)度器更經(jīng)常地 選擇與那個分組關(guān)聯(lián)的過程,并且因此具有可用于較高優(yōu)先級任務(wù)執(zhí)行的足夠的處理器帶 寬。
[0078] 現(xiàn)在參考圖6,根據(jù)一種實施例示出了用于基于信用的流控制方法600的流程圖。 除其它之外,在各種實施例中,方法600可以根據(jù)本發(fā)明在圖1-5中所繪出的任一環(huán)境中執(zhí) 行。當然,如本領(lǐng)域技術(shù)人員在閱讀本說明書之后將理解的,比圖6中具體描述的更多或更 少的操作可以包括在方法600中。
[0079] 方法600的每個步驟都可以由操作環(huán)境的任何合適組件執(zhí)行。例如,在一種實施 例中,方法600可以部分地或完全地由服務(wù)器托管的vSwitch、服務(wù)器、信用管理器、交換機 業(yè)務(wù)控制器、處理器(諸如CPU、ASIC、FPGA等)、NIC、虛擬化平臺等,或者網(wǎng)絡(luò)系統(tǒng)的任何其 它合適的設(shè)備或組件,執(zhí)行。
[0080] 如圖6中所示,方法600可以用操作602啟動,在那里接收包括多個分組的業(yè)務(wù) 流,諸如通過使用交換機的啟動器端口,物理的或者虛擬的。任何數(shù)量的分組可以包括在業(yè) 務(wù)流中,而且每個分組可以具有頭部、有效載荷以及本領(lǐng)域中已知的其它標準幀格式特征。
[0081] 在操作604中,基于與業(yè)務(wù)流相關(guān)的至少一個標準,諸如業(yè)務(wù)流的大小、業(yè)務(wù)流的 優(yōu)先級、業(yè)務(wù)流的類型等,業(yè)務(wù)流被歸類為一個業(yè)務(wù)類。該業(yè)務(wù)類選自多個業(yè)務(wù)類。在一種 實施例中,有八個業(yè)務(wù)類可用于從中選擇,每個類指示業(yè)務(wù)流和/或其中一個或多個分組 的一個優(yōu)先級。
[0082] 在操作606中,業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組 指定的目標端口,直到分配給該目標端口的流信用的量不足以給附加的分組服務(wù)。以這種 方式,帶寬分配可以跨各個端口在網(wǎng)絡(luò)中以公平的方式被平衡和/或控制。
[0083] 在操作608中,在把業(yè)務(wù)流的一個或多個分組發(fā)送到目標端口之前,確定給業(yè)務(wù) 流的所述一個或多個分組服務(wù)的必需的流信用的量。以這種方式,目標端口能夠保留必需 的流信來接收并為一個或多個分組服務(wù)。
[0084] 在操作610中,第一通知可以發(fā)送到由一個或多個分組指定的目標端口,該第一 通知指示給業(yè)務(wù)流的給一個或多個分組服務(wù)的必需的流信用的量。以這種方式,目標端口 被告知給所述一個或多個分組服務(wù)的必需的流信用的量。
[0085] 在操作612中,第二通知可以從目標端口接收,該第二通知指示目標端口上可用 于給業(yè)務(wù)流的一個或多個分組服務(wù)的流信用的量。以這種方式,啟動器端口被通知目標端 口是否能夠給業(yè)務(wù)流的所述一個或多個分組服務(wù),并且可以確定是把所述一個或多個分組 發(fā)送到目標端口、丟棄所述一個或多個分組,還是對分組的源施加壓力來減慢其接收速率。
[0086] 在操作614中,當目標端口具有可用于給業(yè)務(wù)流的一個或多個分組服務(wù)的必需的 流信用的量時,在目標端口上可以保留在給業(yè)務(wù)流的所述一個或多個分組服務(wù)時要與啟動 器端口交換的必需的流信用的量。根據(jù)一種實施例,第一通知和第二通知可以經(jīng)數(shù)據(jù)平面 以太網(wǎng)分組交換。
[0087] 在另一種實施例中,與業(yè)務(wù)流相關(guān)的至少一個標準可以選自以下構(gòu)成的組:業(yè)務(wù) 流的優(yōu)先級、業(yè)務(wù)流的至少一個分組的VLAN標識符、業(yè)務(wù)流的一個或多個分組的大小,等 等。
[0088] 根據(jù)另一種方法,網(wǎng)關(guān)交換機可以執(zhí)行所述方法,該網(wǎng)關(guān)交換機可以被網(wǎng)絡(luò)中的 所有物理交換機和虛擬交換機訪問。此外,在一種方法中,指示一個或多個分組的業(yè)務(wù)類的 標識符可以根據(jù)VLAN標識符存儲在所述一個或多個分組的頭部的三位VLAN標記部分中。 此外,在有些方法中,利用信用管理器,流信用可以根據(jù)每個個別端口的優(yōu)先級分配給網(wǎng)絡(luò) 中的所有端口。
[0089] 為了解決啟動器和目標端口之間延長的距離,使用以下技術(shù)中的至少一種:1)信 用管理器分配給目標端口的、要用于與其間具有延長的距離的啟動器端口交換的流信用的 量增加,使得有更多的流信用可用于在目標和啟動器端口之間交換;以及2)在接收到先前 發(fā)送分組的成功傳輸?shù)闹甘局?,以投機的方式允許啟動器端口發(fā)送附加的分組,由此允 許附加分組發(fā)送,在其它情況下這種發(fā)送將由于端口之間的距離而被延遲。
[0090] 在另一種實施例中,方法600還可以包括從信用管理器請求對應(yīng)于業(yè)務(wù)流的一個 或多個分組的業(yè)務(wù)類的流信用并且請求信用管理器把對應(yīng)于第一業(yè)務(wù)類的流信用重新映 射到對應(yīng)于第二業(yè)務(wù)類的流信用。以這種方式,當確定其將減輕網(wǎng)絡(luò)中的擁塞或者以別的 方式有助于分組發(fā)送與帶寬分配時,信用管理器被允許以個體為基礎(chǔ)重新映射流信用。
[0091] 附圖中的流程圖和框圖說明了根據(jù)本發(fā)明各種實施例的系統(tǒng)、方法及計算機程序 產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表 一個模塊、區(qū)段或者代碼的一部分,所述模塊、區(qū)段或代碼的一部分包含一個或多個用于實 現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。還應(yīng)當指出,在有些備用的實現(xiàn)中,方框中所標注的功能 也可以以不同于附圖中所標注的順序發(fā)生。例如,根據(jù)所包含的功能,兩個示為連續(xù)的方框 實際上可以基本并行地執(zhí)行,或者它們有時也可以按相反的順序執(zhí)行。還應(yīng)當指出,框圖和 /或流程圖中的每個方框以及框圖和/或流程圖中方框的組合可以用執(zhí)行規(guī)定的功能或動 作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0092] 很清楚,以上系統(tǒng)和/或方法的各種特征可以按任何方式組合,而從以上給出的 描述產(chǎn)生多種組合。
[0093] 還將認識到,本發(fā)明的實施例可以按代表消費者部署成按需服務(wù)的服務(wù)的形式來 提供。
[0094] 雖然上面已經(jīng)描述了各種實施例,但是應(yīng)當理解,它們的給出僅僅是作為例子,而 不是限制。因而,優(yōu)選實施例的廣度和范圍不應(yīng)當受以上描述的任何示例性實施例限制,而 是應(yīng)當只能根據(jù)以下權(quán)利要求及其等價物來定義。
【權(quán)利要求】
1. 一種系統(tǒng),包括: 啟動器端口,適于接收包括多個分組的業(yè)務(wù)流;以及 硬件處理器和與該處理器集成和/或可以由該處理器執(zhí)行的邏輯塊,該邏輯塊適于: 基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè) 務(wù)類;以及 把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目標端口, 直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
2. 如權(quán)利要求1所述的系統(tǒng),其中邏輯塊還適于在把業(yè)務(wù)流的一個或多個分組發(fā)送到 目標端口之前確定給業(yè)務(wù)流的所述一個或多個分組服務(wù)的必需的流信用的量。
3. 如權(quán)利要求2所述的系統(tǒng),其中邏輯塊還適于,在發(fā)送業(yè)務(wù)流的一個或多個分組之 刖: 向由所述一個或多個分組指定的目標端口發(fā)送第一通知,該第一通知指示給業(yè)務(wù)流的 所述一個或多個分組服務(wù)的必需的流信用的量;以及 從目標端口接收第二通知,該第二通知指示目標端口上可用于給業(yè)務(wù)流的所述一個或 多個分組服務(wù)的流信用的量。
4. 如權(quán)利要求3所述的系統(tǒng),其中邏輯塊還適于,在發(fā)送業(yè)務(wù)流的一個或多個分組之 刖: 當目標端口具有可用于給業(yè)務(wù)流的所述一個或多個分組服務(wù)的必需的流信用的量時, 在目標端口上保留在給業(yè)務(wù)流的所述一個或多個分組服務(wù)時要與啟動器端口交換的必需 的流信用的量。
5. 如權(quán)利要求3所述的系統(tǒng),其中第一和第二通知經(jīng)數(shù)據(jù)平面以太網(wǎng)分組交換。
6. 如權(quán)利要求1所述的系統(tǒng),其中關(guān)于業(yè)務(wù)流的至少一個標準選自以下構(gòu)成的組:業(yè) 務(wù)流的優(yōu)先級、業(yè)務(wù)流的至少一個分組的虛擬局域網(wǎng)(VLAN)標識符、以及業(yè)務(wù)流的所述一 個或多個分組的大小。
7. 如權(quán)利要求1所述的系統(tǒng),其中網(wǎng)關(guān)交換機包括所述處理器,該網(wǎng)關(guān)交換機可以被 網(wǎng)絡(luò)中的所有物理交換機和虛擬交換機訪問。
8. 如權(quán)利要求1所述的系統(tǒng),其中指示所述一個或多個分組的業(yè)務(wù)類的標識符根據(jù)虛 擬局域網(wǎng)(VLAN)標識符存儲在所述一個或多個分組的頭部的三位VLAN標記部分中。
9. 如權(quán)利要求1所述的系統(tǒng),還包括信用管理器,該信用管理器適于根據(jù)每個個別端 口的優(yōu)先級把流信用分配給網(wǎng)絡(luò)中的所有端口。
10. 如權(quán)利要求9所述的系統(tǒng),其中啟動器和目標端口之間延長的距離是經(jīng)以下至少 一個來解決的: 增加信用管理器分配給目標端口的、要用于與其間具有延長的距離的啟動器端口交換 的流信用的量;以及 在接收到先前發(fā)送的分組的成功傳輸?shù)闹甘局耙酝稒C的方式允許啟動器端口發(fā)送 附加的分組。
11. 如權(quán)利要求1所述的系統(tǒng),其中邏輯塊還適于從信用管理器請求對應(yīng)于業(yè)務(wù)流的 所述一個或多個分組的業(yè)務(wù)類的流信用。
12. 如權(quán)利要求11所述的系統(tǒng),其中邏輯塊還適于請求信用管理器把對應(yīng)于第一業(yè)務(wù) 類的流信用重新映射到對應(yīng)于第二業(yè)務(wù)類的流信用。
13. -種用于提供基于信用的流控制的方法,該方法包括: 接收包括多個分組的業(yè)務(wù)流; 基于與業(yè)務(wù)流相關(guān)的至少一個標準把業(yè)務(wù)流歸類為一個業(yè)務(wù)類,該業(yè)務(wù)類選自多個業(yè) 務(wù)類;以及 把業(yè)務(wù)流的一個或多個分組發(fā)送到由業(yè)務(wù)流的所述一個或多個分組指定的目標端口, 直到分配給目標端口的流信用的量不足以給附加的分組服務(wù)。
14. 如權(quán)利要求13所述的方法,還包括: 在把業(yè)務(wù)流的一個或多個分組發(fā)送到目標端口之前確定給業(yè)務(wù)流的所述一個或多個 分組服務(wù)的必需的流信用的量; 向由所述一個或多個分組指定的目標端口發(fā)送第一通知,該第一通知指示給業(yè)務(wù)流的 所述一個或多個分組服務(wù)的必需的流信用的量; 從目標端口接收第二通知,該第二通知指示目標端口上可用于給業(yè)務(wù)流的所述一個或 多個分組服務(wù)的流信用的量;以及 當目標端口具有可用于給業(yè)務(wù)流的所述一個或多個分組服務(wù)的必需的流信用的量時, 在目標端口上保留在給業(yè)務(wù)流的所述一個或多個分組服務(wù)時要與啟動器端口交換的必需 的流信用的量, 其中第一通知和第二通知是經(jīng)數(shù)據(jù)平面以太網(wǎng)分組交換的。
15. 如權(quán)利要求13所述的方法,其中關(guān)于業(yè)務(wù)流的至少一個標準選自以下構(gòu)成的組: 業(yè)務(wù)流的優(yōu)先級、業(yè)務(wù)流的至少一個分組的虛擬局域網(wǎng)(VLAN)標識符、以及業(yè)務(wù)流的一個 或多個分組的大小, 其中網(wǎng)關(guān)交換機執(zhí)行該方法,該網(wǎng)關(guān)交換機可以被網(wǎng)絡(luò)中的所有物理交換機和虛擬交 換機訪問; 其中指示所述一個或多個分組的業(yè)務(wù)類的標識符根據(jù)VLAN標識符存儲在所述一個或 多個分組的頭部的三位VLAN標記部分中,以及 其中,利用信用管理器,根據(jù)每個個別端口的優(yōu)先級把流信用分配給網(wǎng)絡(luò)中的所有端 □。
16. 如權(quán)利要求15所述的方法,其中啟動器和目標端口之間延長的距離是經(jīng)以下至少 一個來解決的: 增加信用管理器分配給目標端口的、要用于與其間具有延長的距離的啟動器端口交換 的流信用的量;以及 在接收到先前發(fā)送的分組的成功傳輸?shù)闹甘局耙酝稒C的方式允許啟動器端口發(fā)送 附加的分組。
17. 如權(quán)利要求13所述的方法,還包括: 從信用管理器請求對應(yīng)于業(yè)務(wù)流的所述一個或多個分組的業(yè)務(wù)類的流信用;以及 請求信用管理器把對應(yīng)于第一業(yè)務(wù)類的流信用重新映射到對應(yīng)于第二業(yè)務(wù)類的流信 用。
18. -種用于提供基于信用的流控制的系統(tǒng),該系統(tǒng)包括配置為執(zhí)行如權(quán)利要求 13-17所述的任何一個方法的所有步驟的裝置。
【文檔編號】H04L12/833GK104320350SQ201410150381
【公開日】2015年1月28日 申請日期:2014年4月15日 優(yōu)先權(quán)日:2013年4月15日
【發(fā)明者】C·M.·德庫薩蒂斯, M·格撒特, K·G·坎伯, C·J·明肯伯格 申請人:國際商業(yè)機器公司