使用單個共享緩存支持服務質量差異化的制作方法
【技術領域】
[0001]本公開一般而言涉及網絡通信領域,并且更特別地,涉及管理單個共享緩存中不同類別的服務。
【背景技術】
[0002]擁塞可以涉及堵塞網絡路徑的過多網絡流量。擁塞的常見原因可以包括單個網絡環節或者沖突域上的過多用戶、來自于帶寬密集的網絡應用的高需求、訪問因特網的用戶的快速增長數量、個人計算機(PC)和服務器的增長的功率等。數據網絡通常嘗試對不同類型的流量提供不同類別的服務。例如,語音流量偏好低抖動,控制流量偏好低延遲,且盡力而為流量獲得剩余的全部帶寬。提供這一差異化服務的典型方式為,對每種類別的流量提供單獨隊列,并根據某種策略,從每一個隊列調度流量從輸出端口輸出。這一策略通常將輸出鏈接帶寬的百分比分配至每一種類別,以在過載條件下被應用。達到高速運行的一個潛在難點發生在當分組退出網絡設備時。在網絡設備的輸出端口排隊等候的分組需要被成形和調度以用于傳送。這一成形典型地在每一服務類別(CoS)的基礎上執行。
[0003]附圖簡要說明
[0004]為了提供本公開和特征及它們的優勢的更為完整的理解,對接下來的描述連同附圖一并作出參考,其中,相同的標號代表類似的部分,其中:
[0005]圖1為根據實施例的開關元件的示例性表述;
[0006]圖2為根據實施例的輸出端口的示例性表述;
[0007]圖3為根據實施例的具有兩個層次的調度策略的輸出端口的簡化表述;
[0008]圖4為根據實施例的開關元件的示例性框圖;
[0009]圖5為根據實施例示出了用于管理開關元件中的多個數據分組的方法的簡化流程圖;
[0010]圖6為根據實施例示出了用于管理緩存的方法的簡化流程圖;以及
[0011]圖7為根據實施例示出了具有用于排空隊列的二級調度策略的方法的簡化流程圖。
_2] 示例性實施例的詳細描述
[0013]臟
[0014]圖1為根據實施例的開關元件100的簡化表述。開關元件100包括連接至交叉開關104的N個輸入端口 102-1...102-No交換開關104轉而將輸入端口 102-1...102-N的每一個連接至P個輸出端口 106-1...106-Ρ,這里P可以等于N。在這一實施例中,N和P等于48,然而,在其它實施例中,N和P可以等于任何其它數字。交叉開關104可以包括確認反饋回路108。另外,每一個輸出端口可以包括Xon/Xoff廣播回路110。
[0015]開關元件可以具有多于一個輸出端口和多于一個輸入端口。端口通常被組織為每一個具體端口起既能輸入又能輸出的作用。然而,為了描述的目的,將輸入端口和輸出端口當作分開的實體是有用的,因為它們邏輯上分開且通常被實現為分開的實體。在任意輸入端口接收的分組在該端口例如通過針對類型、源和目的地、端口號等檢驗頭部信息且確定許多規則和處理中的哪些適用然后通過應用預定過程處理該分組而被預處理。一些分組可以為用于諸如視頻流或網頁的數據分組,例如,通過在被確定耦接至下一節點的任何輸出端口將它們重發,這些分組可以被處理,其中分組通過該下一節點繼續被傳送直至最終目的地。其它分組可能被確定為來自于鄰居路由器的查詢,這些分組可以被轉移至中央處理單元(CPU)以用于準備隨后答復,并被返回給該鄰居。
[0016]圖2為根據實施例的輸出端口 200的簡化表述。輸出端口 200可以為如圖1中所示的任一個輸出端口 106-1...106-Ρ的示例。輸出端口 200可以包括測量策略202、調度策略204、和隊列206。在示例性實施例中,輸出端口 200可以從交叉開關接收數據分組。數據分組可以為單播可丟棄流量208、單播不可丟棄流量210、多播流量212、和/或一些其它類型的數據流量。另外,數據分組可以為不同類別的服務(CoS)。
[0017]單播流量208和210從單個源被發送至單個目的地。存在一個設備,傳送指定用于一個接收方的消息。單播可丟棄流量208和單播不可丟棄流量210之間的區別為,單播不可丟棄流量210被認為丟棄是不符合需求的。多播流量212使單個設備能與多個目的地通信。例如,它允許類似于電話會議的通信。來自于任何地方的任何人可以加入該會議,且會議中的每個人聽到發言者不得不說的話。發言者的消息不是被廣播至任何地方,而是只被廣播至電話會議本身中的那些人。
[0018]在一個或多個實施例中,并且特別地,關于單播可丟棄流量208,在進入緩存(未被示出)之前,數據分組可以被測量策略202管理。緩存可以被單播可丟棄流量208、單播不可丟棄流量210、和多播流量212共享。測量策略202可以為嚴格策略(strict policy)、加權輪叫調度(weighted round robin)、赤字加權輪叫調度(deficit weighted roundrobin, DWRR)、計數策略(counting policy)、策略組合、和/或一些其它類型的測量策略。不同的CoS可以具有被允許的不同需求以通過輸出端口 200。在一個示例中,相比另一類型的類別,語音連接可能需要更多的數據分組帶寬。在這一示例中,測量策略202可以讓用于語音連接的CoS具有比另一 CoS更高的優先權。
[0019]另外,關于單播可丟棄流量208,Xon/Xoff信號216可以被發送至輸入端口。通過向輸入端口指示在開關元件的輸入側開始緩存單播可丟棄流量208,Xon/Xoff信號216可以能夠在每一種類別基礎上使能和禁止對輸出端口 200的訪問。Xon/Xoff信號216可以使用例如如圖1中所示的Xon/Xoff廣播回路110。
[0020]測量策略202和Xon/Xoff信號216可以被一起使用以管理單播可丟棄流量的不同類別的流。例如,如果存在類別A、B和C,A具有B和C的兩倍加權(當在測量策略202中使用權重時)。當流量進入輸出端口 200時,測量策略202可以保持對多少數據分組已進入緩存(未被示出)的追蹤。在這一示例中,A被允許100單位,B和C被允許50單位。單位可以為一個數據分組或網絡上任何其它類型的分隔數據的方法。測量策略200可以在分組進入緩存時,對它們計數。當任何類別開始達到它們的分配額時,Xon/Xoff信號216可以被發送至輸入端口以開始緩存這些類別。當分配額被達到時(或者考慮到Xon/Xoff信號216的延遲,在這一時間之前),Xon/Xoff信號216可以被發送。
[0021]另外,當單播可丟棄流量208、單播不可丟棄流量210和多播流量212進入緩存時,指向緩存中的每一個數據分組的位置的地址(未被示出)的指針(未被示出)進入隊列206 (還被指代為列表)。指針可以被放入與如下數據分組的CoS相應的隊列,指針指向這些數據分組的地址。調度策略204可以表達可以從緩存獲取的單播可丟棄流量208、單播不可丟棄流量210、和多播流量212的流量類別之間的所需服務比例。調度策略204可以使用與測量策略202類似類型的加權系統。在這種方式下,對數據分組,需要從緩存以與它們被放入緩存的比例相同或大體上相同的比例獲取,這保證緩存不會變滿。多播流量212可以首先進入多播緩存220,且然后進入多播復制階段222。在多播復制階段222期間,多播流量被復制到其它輸出端口。多播流量212還可以受消減閾值224的支配。
[0022]在操作方面,并且在特定的實施例中,開關元件的輸出端口(還被稱為多階段開關構造)可以被實現為共享存儲器開關。隊列(還被稱為輸出隊列)和存儲器管理單元(還被稱為輸出調度器)可以位于此處。然而,單播流量可以被緩存于輸入端口處的隊列中,簡單的Xon/Xoff控制信號將隊列206連接至輸入隊列。開關元件可以同時發送非常多的流量至單個共享存儲器階段。由于Xon/Xoff廣播回路110所引起的延遲,一旦Xoff信號被發布,可能需要撥出大量緩存以捕獲傳送中的分組。如果每一種類別的單播可丟棄流量208被實現為單獨的緩存,則每一種類別將需要撥出大量的緩存以用于傳送的吸收,因為傳送中的單播分組可能屬于任何流量類別。示例性實施例的一個或多個可以支持8個或更多的單播流量類別。一個或多個實施例提供了如下方案,其中單播流量類別共享單個緩存,但是服務類別差異化仍然能夠被調度策略204應用。
[0023]在