国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡(luò)處理器利用斷開/重連流隊列調(diào)度輸出的方法和系統(tǒng)的制作方法

      文檔序號:7611436閱讀:312來源:國知局
      專利名稱:網(wǎng)絡(luò)處理器利用斷開/重連流隊列調(diào)度輸出的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信網(wǎng)絡(luò)設(shè)備,如用來鏈接各種類型和能力的信息處理系統(tǒng)或計算機的設(shè)備,本發(fā)明還涉及在此種設(shè)備中用來進行數(shù)據(jù)處理的部件和方法。本發(fā)明包含一種經(jīng)過改進的用來調(diào)度從連接到多個網(wǎng)絡(luò)處理單元的流控制系統(tǒng)經(jīng)MAC向數(shù)據(jù)傳輸網(wǎng)絡(luò)的信息單元分配的系統(tǒng)和方法。更具體說,本發(fā)明涉及可處理正在處理可變大小的信息分組(信息包)或幀的多個用戶的調(diào)度,為從流控制系統(tǒng)向數(shù)據(jù)傳輸網(wǎng)絡(luò)提供的各幀確定排序而同時允許將多個不同的優(yōu)先級賦予不同的用戶。
      背景技術(shù)
      下面對本發(fā)明的描述系基于一個前提,即讀者具有關(guān)于網(wǎng)絡(luò)數(shù)據(jù)通信和在此種網(wǎng)絡(luò)通信中有用的路由器及交換機的基本知識。特別是,本說明書的前提是熟悉國際標(biāo)準(zhǔn)化組織(ISO)的網(wǎng)絡(luò)體系結(jié)構(gòu)模型,該模型將網(wǎng)絡(luò)運行分為層。基于ISO模型的典型體系結(jié)構(gòu)的層1(有時稱其為“L1”)是物理通路或物理介質(zhì),信號從此層向上通過層2(或“L2”)、層3(或“L3”)等等一直到層7,層7是應(yīng)用程序?qū)?,?yīng)用程序駐留于與網(wǎng)絡(luò)鏈接的計算機系統(tǒng)中。在此文件從頭到尾,對這些層如L1、L2、L3的引用的意圖是援引所述網(wǎng)絡(luò)體系結(jié)構(gòu)的相應(yīng)層。本說明書也基于對于在網(wǎng)絡(luò)通信中使用的稱為分組(包)或幀的位串具有基本的了解。
      從現(xiàn)今的網(wǎng)絡(luò)運行觀點出發(fā),帶寬考慮(或系統(tǒng)在單位時間內(nèi)可處理的數(shù)據(jù)量)日益重要。通過網(wǎng)絡(luò)的通信量正在增加,無論是純粹的容量還是通信業(yè)務(wù)的種類都在增加。有一個時期,某些網(wǎng)絡(luò)主要用于某一類型的通信業(yè)務(wù),比如經(jīng)電話網(wǎng)絡(luò)的話音通信和經(jīng)數(shù)據(jù)傳輸網(wǎng)絡(luò)的數(shù)字?jǐn)?shù)據(jù)的通信。當(dāng)然,除了語音信號之外,電話網(wǎng)絡(luò)也承載有限數(shù)量的“數(shù)據(jù)”(如主叫號和被叫號,用于路由選擇和計費目的),但某些網(wǎng)絡(luò)的主要用途,在一個時期,曾經(jīng)一直主要是傳輸同類分組。
      隨著因特網(wǎng)(松散鏈接的計算機的公眾網(wǎng),有時稱為萬維網(wǎng)或“www.”)和在專用數(shù)據(jù)傳輸網(wǎng)絡(luò)中存在的因特網(wǎng)的內(nèi)部模擬(有時稱為內(nèi)部網(wǎng))的日益普及,通信量出現(xiàn)顯著增加。因特網(wǎng)和內(nèi)部網(wǎng)涉及在遠(yuǎn)程地點之間傳輸大量信息以滿足日益增長的對遠(yuǎn)程訪問信息的需要和正在出現(xiàn)的應(yīng)用。因特網(wǎng)已經(jīng)對分散的地理區(qū)域中的大量用戶開放了數(shù)量急劇增長的遠(yuǎn)程信息并開辟了多種新應(yīng)用,如電子商務(wù),結(jié)果導(dǎo)致網(wǎng)絡(luò)負(fù)載的巨大增加。其他的應(yīng)用,如電子郵件,文件傳送和數(shù)據(jù)庫訪問進一步增加了網(wǎng)絡(luò)的負(fù)載,某些網(wǎng)絡(luò)早已經(jīng)由于高水平的網(wǎng)絡(luò)通信量而處于緊張狀態(tài)。
      當(dāng)前語音和數(shù)據(jù)通信量也匯聚于網(wǎng)絡(luò)。目前數(shù)據(jù)通過因特網(wǎng)(通過因特網(wǎng)協(xié)議或IP)傳輸是免費的,并且語音通信量通常是走費用最低的路徑。IP語音通信(VoIP)和異步傳輸模式或ATM語音通信(VoATM)或幀中繼語音通信(VoFR)等技術(shù)在目前的條件下是語音通信傳輸?shù)馁M用較經(jīng)濟的替代途徑。隨著這些服務(wù)的移植,業(yè)界將會專注于如下的問題,如改變費用結(jié)構(gòu)和關(guān)心在處理器之間傳輸信息的服務(wù)費用和服務(wù)質(zhì)量之間的協(xié)調(diào)問題。
      服務(wù)質(zhì)量方面包括容量或帶寬(在一段時間內(nèi)能容納多少信息)、響應(yīng)時間(處理一個幀需要多長時間)和處理的靈活性(是否可響應(yīng)不同的協(xié)議和幀配置,如不同的封裝或幀標(biāo)題方法)。使用資源的人會考慮服務(wù)質(zhì)量以及服務(wù)費用,其折中方案取決于提供的條件。最好是允許向用戶提供多種不同的優(yōu)先級或調(diào)度算法,由用戶決定他是否要求(從而支付相應(yīng)的費用)保用帶寬、盡力而為的服務(wù)(best effort),或是在高峰期享有盡力而為的服務(wù)的保用帶寬。此外,最好是,分配帶寬的系統(tǒng)具有一個這樣的系統(tǒng)可通過否決用戶的超過其選擇并付費的范圍的容量而強制執(zhí)行用戶所選擇的優(yōu)先級和帶寬。
      某些現(xiàn)有的系統(tǒng)以多種方式處理來自一個處理系統(tǒng)的輸出信息單元。有一種建議是使用保證一組隊列之間公正性的循環(huán)調(diào)度程序。另一種是使用不同的優(yōu)先級并且各有各的隊列。在此種系統(tǒng)中,如果你具有絕對的優(yōu)先級,其中最高優(yōu)先級的工作第一個處理,而最低優(yōu)先級的工作可能永遠(yuǎn)得不到服務(wù)。還有一種調(diào)度輸出的方法涉及多個優(yōu)先表。也有使用層次分組調(diào)度系統(tǒng)的。甚至還有使用不同調(diào)度技術(shù)的組合,在確定信息單元發(fā)送給數(shù)據(jù)傳輸網(wǎng)絡(luò)的次序時使用幾種不同的調(diào)度方法的系統(tǒng)。
      其他一些系統(tǒng)使用一種循環(huán)形式的加權(quán)優(yōu)先級技術(shù),它服務(wù)于所有隊列,對一些隊列的服務(wù)頻率比對其他隊列更高,其基礎(chǔ)是一種確定服務(wù)級的算法。即使是這種加權(quán)優(yōu)先級系統(tǒng)也會向連續(xù)超過賦予用戶的服務(wù)級的用戶提供服務(wù),即使在用戶超過賦予它的服務(wù)級,也會-縱然不是經(jīng)常-繼續(xù)服務(wù),這使系統(tǒng)難于執(zhí)行服務(wù)級政策。
      在判斷服務(wù)哪一個客戶時對分組或幀的大小的考慮為服務(wù)系統(tǒng)增加了一種公正性的量度,因為處理大幀的用戶消耗更多的系統(tǒng)能力,因此應(yīng)該比處理小幀的用戶接受服務(wù)的機會少。某些現(xiàn)有的系統(tǒng)在分配資源時考慮傳輸?shù)囊?guī)模大小,而其他的系統(tǒng)則不然。某些通信系統(tǒng)使用統(tǒng)一的固定大小的分組,使得無須考慮分組的大小,但其他系統(tǒng)在分配資源時則不考慮分組的大小。
      其他現(xiàn)有的系統(tǒng)的目的地是處理通用大小的信息單元,如在所謂的異步傳輸模式(或ATM)系統(tǒng)中,于是在判斷當(dāng)前或未來信息單元的優(yōu)先級時不考慮信息單元的大小。具有加權(quán)(weight-driven)調(diào)度器的ATM系統(tǒng)是現(xiàn)有技術(shù)中用來調(diào)度ATM系統(tǒng)的輸出的已知解決方案之一。
      在任何此種系統(tǒng)中,最好是能夠適應(yīng)系統(tǒng)的約束,如給客戶分配一定的保用帶寬而不論幀的大小,同時提供一種機制來提供如下的附加功能適應(yīng)超過保用帶寬的峰值輸入而同時針對大而持續(xù)的超過系統(tǒng)參數(shù)的情況提供保護,并且仍然可以高效而公平合理地使用網(wǎng)絡(luò)處理器的能力來向數(shù)據(jù)傳輸網(wǎng)絡(luò)提供輸出。
      系統(tǒng)最好是具有最大的靈活性,可以按照要求允許各種類型和層次的服務(wù)。比如,某些用戶要求最小帶寬,其他用戶要求最小帶寬但要求容許成組傳輸,而另外一些用戶可能關(guān)心可提供“盡力而為的服務(wù)(best effort)”的較經(jīng)濟的服務(wù),不管帶寬是不是最小。而對帶寬和成組傳輸規(guī)模的任何限制都必須是可由調(diào)度系統(tǒng)強制進行的。如果一個調(diào)度系統(tǒng)可以在一個簡單而有效但又可以適應(yīng)可變分組長度和提供分配未用帶寬的加權(quán)公正(weighted-fair)排隊系統(tǒng)中實現(xiàn)這些特點中的任何或全部特點,那就很理想了,但是很不幸,在現(xiàn)有技術(shù)中不存在這樣的系統(tǒng)。
      另外,還希望當(dāng)一個流隊列斷開和重連時,與其未曾斷開和重連相比,它不會在隊列中取得更好的優(yōu)先級或更好的位置。
      另外,在計算調(diào)度時,最好是可以使用一個簡單有效的系統(tǒng),以避免給定的流在受到服務(wù)之后與其在調(diào)度中的新位置的復(fù)雜計算相關(guān)的硬件費用。
      這樣,現(xiàn)有技術(shù)的用于處理向網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)分組的系統(tǒng)具有不良缺點和局限,影響了系統(tǒng)的通用性及其運行速度。
      發(fā)明概述本發(fā)明可克服現(xiàn)有技術(shù)系統(tǒng)的缺點和局限,提供簡單但有效的方法來處理來自處理系統(tǒng)的信息單元或幀并將幀引向輸出端口以分配到數(shù)據(jù)傳輸網(wǎng)絡(luò)。本發(fā)明可特別應(yīng)用于處理來自多個用戶的可變長度分組并且對至少某些用戶作出了服務(wù)級別承諾的系統(tǒng)。
      本發(fā)明允許使用對本系統(tǒng)的不同用戶作出的多種類型的服務(wù)級協(xié)議或承諾。就是說,可以向一個用戶提供最小保用帶寬,而同時其他用戶可以享受共享帶寬,在有限的短時間內(nèi)允許峰值帶寬,對一個用戶可以提供最大成組傳輸級服務(wù),所有這些都已經(jīng)編程并且不會影響提供給其他用戶的服務(wù)。
      本發(fā)明的優(yōu)點在于它容許有效的利用帶寬資源并容許服務(wù)級承諾得到執(zhí)行,而同時容許任何剩余的帶寬得到有效而合理的使用。
      本發(fā)明具有的另一優(yōu)點是實施資源分配的同時可適應(yīng)成組傳輸。就是說,用戶可以在有限時間內(nèi)以超過用戶確定的帶寬的成組傳輸速率傳輸一定的通信量,但是如果用戶長時間這樣做,就禁止該用戶超過其正常帶寬進行傳輸,直到用戶為這種過分的使用付出補償為止。這是通過各個用戶的流隊列的“儲備”系統(tǒng)而完成的,該儲備是在該用戶未充分使用其帶寬時建立的。
      本發(fā)明容許不使用除法進行簡單的計算來支持被服務(wù)的流的隊列中的新位置的計算。
      本發(fā)明的另外一個優(yōu)點是在斷開和再連時,給定的流不會由于其斷開而達到更好的位置。
      本發(fā)明利用時隙距離來調(diào)節(jié)幀的大小和隊列權(quán)重,以容許更迅速而容易地計算出下一個位置。
      本發(fā)明還維護使用成組傳輸?shù)倪\行記分并計算和維護可使用的“儲備”以容許在合理范圍內(nèi)使用成組傳輸,但對所述使用加以系統(tǒng)約束。
      所述系統(tǒng)的另外一個優(yōu)點是可提供一個下推棧,在其中為給定時隙或周期安排的最新服務(wù)請求被賦予優(yōu)先權(quán)。這是基于如下假設(shè)較后安排的用戶必定具有較高的優(yōu)先級,并且對該用戶的服務(wù)的任何延遲與對具有較低優(yōu)先級的用戶的服務(wù)的類似延遲相比,會有更大的延遲百分比。使用這種后進先出(LIFO)的系統(tǒng)來執(zhí)行時隙請求允許系統(tǒng)在過載時(即在預(yù)定時間它的工作多于其處理能力),將服務(wù)中察覺到的延遲占相繼服務(wù)之間的正常間隔的百分比降至最小。
      具體來說,本發(fā)明提供了一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);判斷數(shù)據(jù)流是否在隊列中曾經(jīng)有過一個先前的位置;如數(shù)據(jù)流在隊列中曾經(jīng)有過一個先前的位置,則判斷將分配的新位置是否比先前的位置更有利;如將分配的新位置比先前的位置更有利,就利用先前的位置處理此流;以及如所述先前位置比將分配的新位置更有利,就利用新位置處理此流。
      本發(fā)明還提供了一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);接收關(guān)于待處理的每個信息單元的優(yōu)先級信息;根據(jù)與每個信息單元相關(guān)聯(lián)的優(yōu)先級信息將待處理的每個信息單元放入數(shù)個優(yōu)先隊列中的一個之中,一個隊列是基于時間的,而另一個隊列是與時間無關(guān)的;根據(jù)存儲的規(guī)則組為連續(xù)的每一個時鐘周期選擇一個隊列進行處理;根據(jù)一種算法為連續(xù)的每一個時鐘周期從被選擇隊列中選擇一個信息單元進行處理;以及將所選擇的信息單元向目的地傳輸。
      本發(fā)明還提供了一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);根據(jù)儲存的規(guī)則判斷是否允許由一個數(shù)據(jù)流進行一次峰值成組傳輸傳輸,所述規(guī)則包含對數(shù)據(jù)流計算初始儲備;隨著時間的流逝,當(dāng)數(shù)據(jù)的流量低于對該數(shù)據(jù)流建立的閾值時則添加儲備;隨著時間的流逝,當(dāng)數(shù)據(jù)的流量超過所述閾值時則減少儲備;利用此儲備值判斷在給定的時間是否允許峰值成組傳輸傳輸。
      附圖簡述在敘述了現(xiàn)有技術(shù)的某些限制和缺點及本發(fā)明的某些目的和優(yōu)點之后,其他的目的和優(yōu)點對于本領(lǐng)域技術(shù)人員而言,在閱讀示出本發(fā)明的改進的路由系統(tǒng)和方法的附圖的下述說明后就顯而易見了。附圖中

      圖1為包含嵌入式處理器集合體的接口裝置的框圖,其中示出在本發(fā)明的實施中有用的一個下行入隊系統(tǒng)和調(diào)度器。
      圖2為示于圖1的類型的嵌入式處理器集合體的框圖,其中示出了對理解本發(fā)明有用的一個下行入隊系統(tǒng)(及其包含的調(diào)度器)。
      圖3示出根據(jù)本發(fā)明的優(yōu)選實施例,用于在圖2的調(diào)度器中調(diào)度可變長分組的一個系統(tǒng)。
      圖4示出根據(jù)本發(fā)明優(yōu)選實施例,基于用在圖3所示的調(diào)度系統(tǒng)中的日歷的計時器。
      圖5示出了與圖3-4的調(diào)度器相關(guān)的調(diào)度操作的流程圖。
      圖6為示出圖4的時段如何具有不同的時間分辨率的示意圖。
      圖7示出在本發(fā)明中使用的最大成組傳輸規(guī)格。
      圖8-13是本發(fā)明的調(diào)度器的各種部件的流程圖,包括用于計算下一放行時間(next green time)的圖8和圖9,用于計算和更新成組傳輸規(guī)模的“儲備”的圖10和圖11,以及示出為避免從斷開重連獲益而對隊列控制塊設(shè)定時效的圖12和圖13。
      圖14示出根據(jù)本發(fā)明的一個優(yōu)選實施例并且在本發(fā)明的調(diào)度器中有用的一個WGQ日歷。
      圖15示出了與圖3-4的調(diào)度器相關(guān)的調(diào)度操作邏輯的流程圖。
      具體實施例方式
      在下面對優(yōu)選實施例的描述中,對本發(fā)明人目前已知的實現(xiàn)本發(fā)明的最佳實施方案將予以一定程度的詳細(xì)描述。然而,此描述的目的是在一個特定實施例中對本發(fā)明的概念進行一般性的教導(dǎo),而不是將本發(fā)明限制于在此實施例中示出的內(nèi)容,這特別是因為相關(guān)技術(shù)人員將認(rèn)識到利用這些附圖示出和描述的具體結(jié)構(gòu)和操作可以有多種變化和改變。
      圖1示出包含襯底10和多個集成于此襯底上的組件的接口裝置芯片的框圖。組件設(shè)置成為上行配置和下行配置,“上行”配置(有時也稱為“入口(ingress)”)指那些與從數(shù)據(jù)傳輸網(wǎng)絡(luò)入站到芯片的數(shù)據(jù)有關(guān)的部件(到達或進入芯片),而“下行”配置(有時也稱為“出口(egress)”)指那些與以出站方式將數(shù)據(jù)從芯片向數(shù)據(jù)傳輸網(wǎng)絡(luò)傳輸?shù)牟考?離開芯片或向下進入網(wǎng)絡(luò))。數(shù)據(jù)流按照上行和下行配置的相應(yīng)設(shè)置流動;這樣,在圖1的系統(tǒng)中存在上行數(shù)據(jù)流和下行數(shù)據(jù)流。上行或入口配置元件包含一個入隊出隊調(diào)度上行邏輯(EDS-UP)16,多個多路復(fù)用上行MAC(PMM-UP)14,上行交換數(shù)據(jù)移動器(SDM-UP)18,交換接口(SIF)21,數(shù)據(jù)調(diào)整串行鏈路A(DASL-A)22和數(shù)據(jù)調(diào)整串行鏈路B(DASL-B)24。應(yīng)當(dāng)了解,本發(fā)明的優(yōu)選實施例使用數(shù)據(jù)鏈路,也可以使用其他的系統(tǒng)來受益于本發(fā)明,特別是那些支持相對高的數(shù)據(jù)流和系統(tǒng)要求的系統(tǒng),因為本發(fā)明不局限于那些特定的輔助裝置,比如在所述優(yōu)選實施例中使用的數(shù)據(jù)鏈路。
      所示的在系統(tǒng)的下行(或出口)側(cè)的部件包括數(shù)據(jù)鏈路DASL-A 26和DASL-B 28,交換接口SIF 30,交換數(shù)據(jù)移動器SDM-DM 32,入隊出隊調(diào)度器EDS-DN 34和用于出口的多個多路復(fù)用MAC即PMM-DN36。襯底10也包括多個內(nèi)部靜態(tài)隨機存取存儲器部件(S-RAM),一個通信量管理調(diào)度器(TRAFFIC MGT SCHEDULER,也稱為出口調(diào)度器)40和一個嵌入式處理器集合體12。一個接口裝置38由相應(yīng)的DMU總線耦合到PMM 14、36。接口裝置38可以是用來連接到L1電路的任何合適的硬件設(shè)備,如以太網(wǎng)物理(ENET PHY)設(shè)備或異步傳輸模式成幀設(shè)備(ATM FRAMER),兩者都是公知設(shè)備的例子,并且為此目的一般可以在市場上購得。接口裝置的類型和大小是由本芯片及其系統(tǒng)所應(yīng)用的網(wǎng)絡(luò)介質(zhì)確定的,至少是部分如此。多個外部動態(tài)隨機存取存儲器設(shè)備(D-RAMS)和一個S-RAM可由芯片使用。
      雖然此處具體公開的是這樣的網(wǎng)絡(luò),即在相關(guān)的交換機和路由裝置外的一般數(shù)據(jù)流是通過導(dǎo)電體如安裝于建筑物內(nèi)的導(dǎo)線和纜線傳遞的,本發(fā)明預(yù)計其網(wǎng)絡(luò)交換機及其部件也可以應(yīng)用于無線環(huán)境中。比如,此處公開的介質(zhì)訪問控制(MAC)元件可由合適的射頻器件,如由硅鍺技術(shù)制造的器件,代替,這將導(dǎo)致將在此直接公開的器件連接到無線網(wǎng)絡(luò)。在恰當(dāng)使用這種技術(shù)的地方,射頻元件可由合適技術(shù)領(lǐng)域的技術(shù)人員集成到此處公開的VLSI結(jié)構(gòu)中。另外,射頻或其他無線響應(yīng)器件,如紅外(IR)響應(yīng)器件,可與此處公開的其他元件安裝在一個刀片(blade)上以獲得一個在無線網(wǎng)絡(luò)設(shè)備中使用的交換設(shè)備。
      箭頭示出了在圖1中示出的接口系統(tǒng)內(nèi)的一般數(shù)據(jù)流。從以太網(wǎng)物理模塊38經(jīng)DMU總線在以太網(wǎng)MAC 14處接收的數(shù)據(jù)幀或消息(有時也稱為分組或信息單元)由EDS-UP設(shè)備16置于內(nèi)部數(shù)據(jù)緩沖存儲器16a中。幀可以標(biāo)識為正常幀或引導(dǎo)幀(guided frame),然后與在多個處理器中進行的后續(xù)處理的方法和位置聯(lián)系起來。在輸入單元或幀由嵌入式處理器集合體中的多個處理器中的一個處理之后,完整信息單元被發(fā)送到交換機,以被發(fā)送給網(wǎng)絡(luò)處理器的入口側(cè)。一旦在網(wǎng)絡(luò)處理器的入口側(cè)接收到信息單元,就由嵌入式處理器集合體中的多個處理器中的一個對其進行處理,并且當(dāng)出口處理結(jié)束時,通過由處理單元10以外的調(diào)度器40進行調(diào)度并通過PMM-DN多路復(fù)用MAC 36和物理層38發(fā)送到數(shù)據(jù)傳輸網(wǎng)絡(luò)。
      圖2為可應(yīng)用本發(fā)明而受益的處理器系統(tǒng)100的框圖。在此圖2中,多個處理器單元110位于分配單元112和完成單元(completion unit)114之間。每個出口幀F(xiàn)(來自圖中未示出的附加于本發(fā)明的數(shù)據(jù)處理系統(tǒng)的交換機)被接收并儲存于一個下行數(shù)據(jù)存儲器(或DN DS)116中,之后由分配單元112順序移除而分配給多個處理單元110之一,根據(jù)分配單元112的決定,可有處理單元用來處理該幀。在分配單元112和多個處理單元110之間有硬件分類輔助裝置118。由多個網(wǎng)絡(luò)處理器110處理的幀進入完成單元120,此完成單元120經(jīng)流控制系統(tǒng)與下行入隊調(diào)度器(DN Enqueue)34連接。DN Enqueue 34通過PMM DN MAC 36、再經(jīng)DMU數(shù)據(jù)總線到連接到物理層38(數(shù)據(jù)傳輸網(wǎng)絡(luò)本身)。
      圖3的調(diào)度器40提供一個結(jié)構(gòu)和操作方法,可允許根據(jù)在單個統(tǒng)一調(diào)度器系統(tǒng)中的最小帶寬算法、峰值帶寬算法、加權(quán)公正排隊技術(shù)和最大成組傳輸規(guī)模調(diào)度技術(shù),調(diào)度從網(wǎng)絡(luò)處理單元到數(shù)據(jù)處理網(wǎng)絡(luò)的幀傳輸。
      使用基于時間的日歷對具有最小帶寬和盡力而為峰值速率要求的分組進行調(diào)度。如圖3所示,用于此目的的有3個基于時間的日歷兩個用于最小帶寬,第三個用于將流隊列限制到最大盡力而為峰值速率(峰值帶寬整形,peak bandwidth shaping)。用于最小帶寬的兩個日歷(LLS和NLS)容許在最小帶寬QoS級內(nèi)支持不同的服務(wù)級(即低等待時間與正常等待時間)。
      在上述日歷中,使用指針來表示流隊列在日歷內(nèi)的位置。另外,指向存在于系統(tǒng)中的多個日歷中的單個流隊列可能有零個、一個或兩個此種指針。一般情況下,日歷內(nèi)的指針不表示未初始化的或空的流隊列。當(dāng)在系統(tǒng)中的日歷內(nèi)存在一個指向流隊列的指針時,此流隊列可稱為“在日歷內(nèi)”。
      一個時段定義為一個調(diào)度器瞬間scheduler_tick。在每個調(diào)度器瞬間期間,可服務(wù)一個帶寬單元。在優(yōu)選實施例中,此單元定義為“步”并且其單位是每字節(jié)的時間(即1/帶寬)。
      在通信系統(tǒng)中,每個流隊列的最小帶寬規(guī)格的范圍跨數(shù)個數(shù)量級。就是說,某些用戶(或?qū)嶋H上是用戶的關(guān)聯(lián)隊列)將有高帶寬,因為他們傳輸大量數(shù)據(jù)并為該帶寬付費,而其他人選擇了經(jīng)濟型服務(wù)以便在任何時候發(fā)送較少量的信息(帶寬)。為了使專用于此目的硬件量最小,該優(yōu)選實施例采用一種縮放技術(shù)(scaling technique),可允許使用較少的硬件而同時保持通信系統(tǒng)和服務(wù)級協(xié)議(SLA)所要求的范圍和精確度。
      在一優(yōu)選實施例中,如圖4所示,每個基于計時器的日歷由4個“時段(epoch)”組成。每個時段包括512個時隙。每個時隙包含一個指向流隊列的指針的LIFO棧。任何兩個時隙間的距離是帶寬的度量,其值取決于所述時段。在此優(yōu)選實施例中,如圖4所示,兩個時段之間的縮放因子為16。在此優(yōu)選實施例中,將調(diào)度器瞬間的時寬選為150ns,這樣,在時段0內(nèi),1個時隙的距離表示一個在150ns內(nèi)移動512個字節(jié)或約27Gb/s的帶寬,而在時段3內(nèi),1個時隙的距離表示一個在0.614ms內(nèi)移動512個字節(jié)或約6.67Mb/s的帶寬。
      每個時段的時隙數(shù)和在一種實施方式中使用的時段數(shù)是對硬件成本和設(shè)計復(fù)雜程度加以平衡的結(jié)果,其意圖不是限制本發(fā)明的范圍。對于本領(lǐng)域技術(shù)人員而言,顯而易見,可以改變時段的各種組合、時段間的縮放因子和每個時段的時隙數(shù)而不會脫離本發(fā)明的精神。
      Current Time(當(dāng)前時間)是一個寄存器,用來保留當(dāng)前調(diào)度器系統(tǒng)時間的值。每個個調(diào)度器瞬間此寄存器增1。在此優(yōu)選實施例中,當(dāng)前時間寄存器的范圍選擇為基于計時器的調(diào)度器的范圍的4倍。這允許在將當(dāng)前時間與流隊列控制塊中的時間戳域中的一個(即NextRedTime或NextGreenTime)進行比較時判斷當(dāng)前時間輪詢(current time wrap)。
      運行圖5示出本發(fā)明的調(diào)度器的工作流程圖。使用當(dāng)前指針來指示每個時段內(nèi)的服務(wù)位置。在每個調(diào)度器瞬間期間,檢查當(dāng)前指針指示的時隙。如果發(fā)現(xiàn)此時隙是空的,則當(dāng)前指針可前進到下一個非空時隙,或前進到與當(dāng)前時間相對應(yīng)的時隙。請注意,因為時隙之間的距離在時段之間不同,當(dāng)前指針前進通過每個時段的速率不同,而同時“跟上”當(dāng)前時間。如發(fā)現(xiàn)時隙非空,則尋找一個流隊列候選時段。每個時段獨立地判斷是否找到流隊列候選時段。如圖4所示,在候選時段當(dāng)中利用絕對優(yōu)先級選擇來選擇流隊列候選日歷,其中編號最低的時段先選。如圖4所示,選擇順序是1.時段02.時段13.時段24.時段3當(dāng)選中了一個流隊列候選時段時,流隊列指針從LIFO棧出隊。如果在該出隊動作之后當(dāng)前指針指示的時隙被發(fā)現(xiàn)為非空,則當(dāng)前指針保持不變。如果在該出隊動作之后發(fā)現(xiàn)當(dāng)前指針指示的時隙是空的,則當(dāng)前指針可前進到下一個非空時隙,或前進到與當(dāng)前時間相對應(yīng)的時隙,或前進到這樣的時隙其中流隊列服務(wù)動作移動了從該時隙出隊的流隊列。當(dāng)前指針的移動經(jīng)過這些可能的距離中的最短者。
      圖3所示的調(diào)度器系統(tǒng)的構(gòu)成包括多個流210、基于時間的日歷220、230、250、加權(quán)公正排隊(weight fair queuing)(WFQ)日歷240和目的地端口隊列260。
      流210是用來維護共享基于分配的公共系統(tǒng)特征即有關(guān)用戶已選擇并付費的服務(wù)級,的幀的順序列表的控制結(jié)構(gòu)。所述特征包括下述方面的服務(wù)質(zhì)量(Quality of Service,QoS)要求最小帶寬,峰值帶寬,盡力而為帶寬和最大成組傳輸規(guī)模。除了為支持通信系統(tǒng)的QoS的目的而建立的流隊列之外,優(yōu)選實施例需要為下述目的而定義的流隊列廢棄幀(即濾掉的通信量)以及從網(wǎng)絡(luò)處理系統(tǒng)的出口到入口幀數(shù)據(jù)的輪詢。
      使用基于時間的日歷220、230、250對具有最小帶寬和盡力而為峰值速率要求的分組進行調(diào)度。如圖3所示,用于此目的的有3個基于時間的日歷兩個日歷220、230用于最小帶寬,而第三個日歷250用于將流隊列限制到最大盡力而為峰值速率(峰值帶寬整形)。用于最小帶寬的兩個基于時間的日歷220、230(一個確定為低等待時間服務(wù)或LLS的日歷220和另一個確定為正常等待時間服務(wù)或NLS的日歷230)用于最小帶寬,并在最小帶寬QoS級內(nèi)支持不同的服務(wù)級(即低等待時間與正常等待時間)。
      加權(quán)公正排隊(WFQ)日歷240用于盡力而為服務(wù)和盡力而為峰值服務(wù)(當(dāng)與基于時間的日歷220、230之一結(jié)合使用時)。另外,WFQ日歷240支持容許在盡力而為服務(wù)QoS級內(nèi)支持不同服務(wù)級的隊列權(quán)重。在此優(yōu)選實施例中,有40個這種WFQ日歷,與被支持的介質(zhì)端口(輸出端口)數(shù)目相對應(yīng)。選擇40個這種端口是在硬件成本和設(shè)計復(fù)雜程度之間折中的結(jié)果,其意圖不是限制本發(fā)明的范圍。
      在上述每一個日歷中,都使用一個指針(流ID)表示日歷內(nèi)流隊列的位置。這樣,流0在日歷220中具有一個流ID 221,流1在日歷230中具有一個流ID 232,在WFQ 240中具有流ID 241,而流2047在日歷230中具有一個流ID 231,在日歷250中具有流ID 251,如圖3中的箭頭所示。另外,指向存在于系統(tǒng)中的多個日歷中的單個流隊列可能有零個、一個或兩個此種指針。一般情況下,日歷內(nèi)的指針不表示未初始化的或空的流隊列。當(dāng)系統(tǒng)中的特定日歷內(nèi)存在一個指向一個流隊列(或一個流ID)的指針時,此流隊列可稱為“在該特定日歷內(nèi)”。
      目的地端口隊列是用來維護具有公共端口目的地和優(yōu)先級的幀的順序列表的控制結(jié)構(gòu)。在此優(yōu)選實施例中,每個介質(zhì)端口(或輸出端口)設(shè)置2個優(yōu)先級,以容許支持不同的服務(wù)級,即所謂的高優(yōu)先級目的地端口隊列和所謂的低優(yōu)先級目的地端口隊列。選用2個優(yōu)先級是硬件成本和設(shè)計復(fù)雜程度之間折中的結(jié)果,其意圖不是限制本發(fā)明的范圍。另外,此優(yōu)選實施例包括一個單獨的輪詢隊列272和一個廢棄端口隊列270。
      每個基于時間的日歷220、230和250都包括多個時段,在圖3中對每一個日歷各示出4個時段,以互相重疊的矩形表示。圖4示出了4個時段302、304、306和308,同時還一起示出了對這些時段的一種典型定時設(shè)置,其中第一時段302(標(biāo)為時段0)的步長為所述調(diào)度器瞬間(在此例中為512字節(jié)/150納秒),第二時段304的步長等于第一時段302的16倍,第三時段306與第二時段304的倍率相同,而第四時段308第三時段306的倍率相同。這樣,第一時段302具有高的優(yōu)先級(其被調(diào)度用于服務(wù)的頻率為第二時段304的16倍),形成一個服務(wù)優(yōu)先級的層次結(jié)構(gòu),相應(yīng)地成本將會增加。當(dāng)前指針(比如時段302的312)與每一個時段相關(guān)聯(lián)以便提供一個指針指示隊列中的處理當(dāng)前正位于何處。因為通過時段進行處理的本系統(tǒng)是要使當(dāng)前指針增1,所以處理方向在時段中是從低向高。在此圖4中還示出了當(dāng)前時間320和一個調(diào)度器瞬間330,后者驅(qū)動時鐘320以及每個時段內(nèi)的“步”。
      優(yōu)先級的選擇是一種絕對優(yōu)先級選擇,這意味著,因為在任何時間間隔只有一個可以受到服務(wù),所以具有最高優(yōu)先級者將受到服務(wù)。如在每個時段中的當(dāng)前指針都指向一個數(shù)據(jù)流,則最低的一個(時段0)將受到服務(wù)。如時段0不請求服務(wù),則是時段1,時段2,依此類推。
      圖6示出圖4的每個時段的位的時間分辨率。即它說明在當(dāng)前時間儲存器(一個23位計數(shù)器)中哪些位與每個時段相關(guān)聯(lián),關(guān)于這一點見下文。
      圖7示出一個用戶的通信參數(shù)。Y軸上畫出的是使用的帶寬,X軸上是時間。用戶可被分配由箭頭350標(biāo)出的持續(xù)帶寬,并被允許擁有由箭頭360標(biāo)出的峰值成組傳輸帶寬,其成組傳輸持續(xù)時間由成組傳輸?shù)膶挾?70表示。作為使用峰值成組傳輸帶寬的代價,應(yīng)有一個由在時間段380期間沒有帶寬表示的延遲或全靜時間,也可以利用稱為MBS的“儲備”來執(zhí)行延遲或全靜時間(quiet time),詳細(xì)解釋見下文。
      當(dāng)一個隊列變空時,就以斷開的形式將其從日歷中去掉。當(dāng)一個不在任何日歷中的隊列開始發(fā)送幀時,就在一個稱為連接的過程(或者,對原來一直發(fā)送幀的隊列的返回而言,稱為重連(re-connection))中將其當(dāng)作一個新隊列。此斷開和之后的重連過程可能造成的不良后果是可能允許此隊列前進到隊首,到達它以其每次服務(wù)后計算出的優(yōu)先級在原位置繼續(xù)所述過程時所在的位置的前方。
      當(dāng)前時間到基于時間的日歷位置的轉(zhuǎn)換通過檢查當(dāng)前時間、時段間的縮放因子和用于每個時段的時隙數(shù),可以將當(dāng)前時間轉(zhuǎn)換為基于定時器的日歷中的位置。在此優(yōu)選實施例中,縮放因子是16,并且在每個時段中有512個時隙,因此每個時段需要9個位來標(biāo)識時段內(nèi)的位置。如圖6所示,位8至0用來定義時段0內(nèi)的位置,位12至4用于時段1,位16至8用于時段2,位20至12用于時段3。
      當(dāng)添加流隊列時在WFQ日歷中的位置的確定本發(fā)明提出使用加權(quán)公正隊列,其中,最小帶寬客戶不需要的帶寬可用來在盡力而為的基礎(chǔ)上由用戶共享,共享的根據(jù)是一個用來基于權(quán)重或優(yōu)先級和幀長來確定隊列中下一個服務(wù)的順序的公式。
      當(dāng)一個分組入隊到一個流隊列中,并且該流隊列添加到一個WFQ中時,在圖3的WFQ日歷240內(nèi)的位置以下面方式之一確定1.在WFQ日歷的當(dāng)前指針指示的位置上添加。
      2.在WFQ日歷的當(dāng)前指針指示的位置緊前方位置上添加。
      3.利用該流隊列的權(quán)重,QD,確定距當(dāng)前指針指示的位置的距離。
      在此優(yōu)選實施例中,流隊列的權(quán)重用來確定距當(dāng)前指針指示的流隊列的將來位置的距離。此距離的計算具有下面的形式時隙距離=Min((QD*S),1)其中S是縮放因子,可取任何正整數(shù)的值。在此優(yōu)選實施例中此縮放因子S為16。
      當(dāng)前時間到NextGreenTime的轉(zhuǎn)換NextGreenTime是時間戳域,由WFQ日歷240用來提供峰值帶寬整形(與峰值帶寬整形日歷結(jié)合)。將當(dāng)前時間轉(zhuǎn)換為NextGreenTime(在此優(yōu)選實施例中為NxtGT.V,NxtGT.E)要求檢查流隊列控制塊的峰值服務(wù)速率域。
      在此優(yōu)選實施例中,PSD.E的值用來確定從當(dāng)前時間起用于NxtGT.V域的位,如下所示PSD.E當(dāng)前時間位08至0112至4
      216至8320至12NxtGT.E設(shè)定為等于PSD.E的值。
      在NextRedTime或NextGreenTime和當(dāng)前時間之間的比較(比遲檢驗(later than test))在此優(yōu)選實施例中,下面的步驟構(gòu)成一種允許對流隊列的控制塊的時間戳和當(dāng)前時間進行比較的方法。
      1.從當(dāng)前時間選擇位以實行比較。此設(shè)置要求檢查待比較的時間戳(NextRedTime或NextGreenTime)的“點E”域。
      點E當(dāng)前時間位0 8至01 12至42 16至83 20至122.判斷“A”是否是比“B”晚,首先形成B的2的補碼并將結(jié)果與A相加,忽略運算中的任何進位輸出(carry out)。當(dāng)結(jié)果為非零時,并且結(jié)果的最高有效位為0,則A晚于B,否則B晚于A。
      將NextRedTime或NextGreenTime轉(zhuǎn)換為基于時間的日歷中的位置在流隊列控制塊中的時間戳域用作防止流隊列違反其服務(wù)參數(shù)的方法的一部分。在此優(yōu)選實施例中,“點E”域指示時段,“點V”域指示時段內(nèi)距位置0的距離。
      流違反峰值速率時的NextGreenTime計算(使用NextGreenTime作為基礎(chǔ))在此優(yōu)選實施例中,流違反其峰值速率時NextGreenTime的計算是通過檢查確定分組的字節(jié)長度、峰值服務(wù)速率和NextGreenTime的當(dāng)前值的BCI確定的。在圖8中,F(xiàn)L表示由BCI確定的幀的字節(jié)長度。過程框描述如下。
      過程2是縮放因子(點E)對NextGreenTime和峰值服務(wù)速率相同時的時隙距離計算(Temp)。
      過程4是峰值服務(wù)速率縮放因子大于NextGreenTime的縮放因子時的時隙距離計算(Temp)。
      過程5是峰值服務(wù)速率縮放因子小于NextGreenTime的縮放因子時的時隙距離計算(Temp)。
      過程7是時隙距離(Temp)大于當(dāng)前縮放因子的容量(對本優(yōu)選實施例,點V值不能超過511)時的NxtGT.V和NxtGT.E值的計算。
      過程10是時隙距離(Temp)容許當(dāng)前縮放因子減小時的NxtGT.V和NxtGT.E值的計算。這是有好處的,因為縮放因子越小,時基越精確。
      過程11是時隙距離(Temp)不要求或容許當(dāng)前縮放因子改變時的NxtGT.V值的計算。NxtGT.E值保持不變。
      流不違反峰值速率時的NextGreenTime計算(使用當(dāng)前時間作為基礎(chǔ))在此優(yōu)選實施例中,流不違反其峰值速率時的NextGreenTime計算是通過檢查示于圖9的確定分組的字節(jié)長度、峰值服務(wù)速率和當(dāng)前時間的BCI確定的。在圖9中,F(xiàn)L表示由BCI確定的幀的字節(jié)長度。
      過程21是時隙距離計算(Temp)。根據(jù)用于峰值服務(wù)速率的縮放因子,過程塊23、25、27和29從當(dāng)前時間寄存器中的位分配基時(BaseT)值。NextGreenTime將根據(jù)時隙距離、縮放因子和基時確定。
      過程31是時隙距離(Temp)大于當(dāng)前縮放因子的容量(對本優(yōu)選實施例,點V值不能超過511)時的NxtGT.V和NxtGT.E值的計算。
      過程34是時隙距離(Temp)容許當(dāng)前縮放因子減小時的NxtGT.V和NxtGT.E值的計算。這是有好處的,因為縮放因子越小,時基越精確。
      過程35是時隙距離(Temp)不要求或容許當(dāng)前縮放因子改變時的NxtGT.V值和NxtGT.E值的計算。
      MBS獲得的“儲備”的計算在此優(yōu)選實施例中,一個正在使用中(QinUse=1)的具有非零MaxBurst(最大成組傳輸)域的流隊列當(dāng)其為空時可獲取權(quán)標(biāo)。MBSCredit域在分組入隊進入空流隊列時更新。為了判斷賺取的權(quán)標(biāo)的數(shù)目,檢查NextRedTime和當(dāng)前時間,并示于圖10。
      根據(jù)NextRedTime使用的縮放因子,在過程框302、303、305和307中,從當(dāng)前時間中選擇位,以便生成用來確定流隊列空了多長時間的定標(biāo)時間(TimeA)。
      判斷框308判斷TimeA是否晚于由NextRedTime時間戳域指示的時間。為此目的,利用NextRedTime要求流隊列在其下一次可能的調(diào)度時間之后保持為空。如果TimeA不晚于NextRedTime,則不采取進一步的行動。
      判斷框309處理時間輪詢情形并允許在過程框311和310中計算流隊列積累權(quán)標(biāo)的時間長度(TimeT)。
      過程框313、315和316是對MBSCredit.V進行的最后計算。判斷框312和314判斷TimeT是否由于用來定義MBS域的縮放因子而需要調(diào)節(jié)。
      使用了的MBS“儲備”的計算MBSCredit的新值由MBSCredit的當(dāng)前值、用來確定幀的長度的BCI和持續(xù)服務(wù)速率確定。使用持續(xù)速率是由于計算MBS值時所使用的方法(計算從方程中去掉了復(fù)雜的除法)。在此優(yōu)選實施例中,MBSCredit可取負(fù)值。下面描述過程框。在圖11中,F(xiàn)L表示由BCI確定的幀的字節(jié)長度。
      過程框402,404和405確定長度為FL的幀使用的權(quán)標(biāo)的數(shù)目。判斷框402和403用來確定Temp是否由于用來定義MBSCredit域的縮放因子而需要調(diào)節(jié)。
      過程框406利用使用的權(quán)標(biāo)數(shù)目調(diào)節(jié)MBSCredit.V的值。
      流隊列控制塊的過期在流隊列控制塊中使用縮放因子可減少維護時間戳域所需要的硬件。為了精確地確定何時一個時間戳太舊而變得無關(guān),需要一種方法來指出時間戳和剩余域(residue field)不再有效。圖12和圖13示出一種標(biāo)記時間戳不再有效的流隊列控制塊的方法。
      調(diào)度器系統(tǒng)添加了一個所有當(dāng)前正在使用的(QinUse=1)流隊列控制塊的列表。本領(lǐng)域技術(shù)人員知道,可以有多種方法維護這樣一種列表。
      在此優(yōu)選實施例中,時間戳域的點V域擴展了兩位。這添加的兩位是在時間戳域更新時取自當(dāng)前時間指針。所使用的取自當(dāng)前時間指針的位是通過點E域的值確定的,如圖6所示,并如下表所示點E 使用的當(dāng)前時間位010至9114至13218至17322至21使用一個定時器來確定何時進行檢查流隊列控制塊的過程。參考圖12,此方法開始于檢查“老化服務(wù)信號”。當(dāng)這一點為真時,過程繼續(xù),從老化列表502中選擇一個流隊列控制塊(QCB)。此過程在503繼續(xù),檢查所選擇的流隊列控制塊的QinUse域。
      如果此流隊列控制塊未使用,過程返回501并等待下一個服務(wù)信號,否則過程繼續(xù),檢查持續(xù)服務(wù)速率域504和QinRed域505。如流隊列具有用于持續(xù)服務(wù)的規(guī)格(specification)并且流隊列既不在LLS也不在NLS日歷之中(RinRed=0),則在506確定為老化。對“TestAge”采取的動作如下述。
      如流隊列不具有持續(xù)服務(wù)速率規(guī)格,則在507檢查峰值服務(wù)速率域。如未規(guī)定峰值服務(wù)速率,則在501過程繼續(xù)并等待下一個服務(wù)信號。如規(guī)定了峰值服務(wù)速率,則檢查流隊列控制塊,判斷流隊列是否在WFQ日歷508中或在峰值帶寬整形日歷509中。如流隊列在其中一個之中,則過程返回501,否則在510中確定為老化。對“TestAge”采取的動作如下述。
      TestAge,示于圖13,使用流隊列控制塊的時間戳域之一和當(dāng)前時間作為輸入。它將對于QinUse域的狀態(tài)的更新返回給過程。在流程圖5中,此結(jié)果應(yīng)用于512和513來更新流隊列控制塊和從老化列表中取消此流隊列控制塊。
      返回圖13。TestAge過程使用縮放因子E來判斷當(dāng)前時間的哪些位用來判斷時間戳域是否是太老而失掉使用性。過程框600至606實現(xiàn)這一任務(wù)。
      在606和607繼續(xù),在點V域的高階位(在上面定義和在圖3中示出的MM位)和當(dāng)前時間的選擇位之間進行比較。在607和608中的檢驗判斷與時間戳相關(guān)聯(lián)的時段在最后更新以后是否受到過不止一次的輪詢。如出現(xiàn)過一次以上的輪詢,則此時間戳不再有用,就通過把QinUse位設(shè)為零的動作而將時間戳域標(biāo)記為無效,否則QinUse位保持不變(框609,610)。
      加權(quán)公正排隊(WFQ)日歷應(yīng)用于所謂的“盡力而為”服務(wù),并且,當(dāng)與基于時間的日歷結(jié)合時,用于所謂的“盡力而為峰值”服務(wù)。即盡力而為服務(wù)得不到保用帶寬(其中每個單位時間提供x位帶寬),而是要與其他用戶競爭在滿足保用帶寬客戶需求之后剩余的帶寬。這是比保用帶寬級別低的服務(wù),通常便宜得多。所謂的“盡力而為峰值”服務(wù)提供一種對資源的超出用戶定購的保用服務(wù)級的需求的過剩帶寬的競爭性共享。于是,用戶可以購買10Mbit/sec的服務(wù),另外再購買5Mbit的盡力而為峰值,總的峰值服務(wù)達15Mbit的服務(wù)(后5Mbit服務(wù)只有可獲得時才能使用,并且要與其他加權(quán)公正排隊的用戶進行公正競爭)。
      另外,WFQ日歷支持容許在盡力而為服務(wù)QoS級內(nèi)支持不同服務(wù)級的隊列權(quán)重。此處所使用的隊列權(quán)重是一種根據(jù)用戶的服務(wù)級分配給給定用戶的相對優(yōu)先權(quán)。隊列權(quán)重涉及結(jié)合本系統(tǒng)所描述的加權(quán)公正排隊系統(tǒng)中的服務(wù)之間的延遲量。在此優(yōu)選實施例中,如圖3所示,有40個這種WFQ日歷,與支持的介質(zhì)端口數(shù)目相對應(yīng)。選用40個這種端口是綜合考慮硬件成本和設(shè)計復(fù)雜程度的結(jié)果,其意圖不是限制本發(fā)明的范圍。
      一個周期(或時鐘間隔)定義為一個調(diào)度器瞬間;其大小為150或165納秒,依訪問的硬件的響應(yīng)時間而定,但此周期可大可小,依設(shè)計參數(shù)和硬件能力而定。在調(diào)度器瞬間期間選擇一個流隊列進行服務(wù)。所描述的選擇算法導(dǎo)致當(dāng)所有具有最小帶寬規(guī)格(持續(xù)服務(wù)速率)的流隊列不要求服務(wù)(即由調(diào)度器管理的剩余帶寬可由WFQ日歷使用)時WFQ日歷被選擇。換言之,基于時間的隊列220、230在每個時鐘間隔期間都受到服務(wù),如果它們受到調(diào)度并且有信息要傳輸?shù)脑挘蝗绮皇?,則WFQ日歷240在時鐘間隔期間受到服務(wù)。與網(wǎng)絡(luò)處理器的總最小帶寬可以管理的基于定時器的調(diào)度器不同,每個WFQ日歷對一個目的地端口管理盡力而為帶寬。WFQ日歷或隊列240的目的是在競爭流隊列中間公正地共享該盡力而為帶寬。這是通過計算被選擇接受服務(wù)的流隊列傳輸?shù)淖止?jié)數(shù),并在日歷內(nèi)根據(jù)傳輸?shù)淖止?jié)數(shù)將流隊列從其現(xiàn)在位置移動一個距離而完成的。就是說,流在一個調(diào)度器瞬間期間傳輸?shù)淖止?jié)數(shù)越多,則在下一次服務(wù)之前在日歷中上得更遠(yuǎn)(其間的流越多,周期越長)。
      在一個優(yōu)選實施例中,如圖14所示,一個WFQ日歷240a的構(gòu)成包括512個時隙。每個時隙包含一個指向流隊列的指針的LIFO棧。在具體實施例中使用的時隙數(shù)是綜合考慮硬件成本和設(shè)計復(fù)雜程度的結(jié)果,其意圖不是限制本發(fā)明的范圍。
      再參考圖14。當(dāng)前時間是一個寄存器,用來維護當(dāng)前調(diào)度器系統(tǒng)時間值。每個調(diào)度器瞬間此寄存器增1。在此優(yōu)選實施例中,當(dāng)前時間寄存器的范圍選擇為等于基于定時器的調(diào)度器的范圍的4倍。這允許在將當(dāng)前時間與流隊列控制塊中的時間戳域中的一個(即NextGreenTime)進行比較時判斷當(dāng)前時間輪詢。
      當(dāng)前指針用來指示W(wǎng)FQ日歷內(nèi)的服務(wù)位置。與基于定時器的日歷不同,當(dāng)前指針與調(diào)度器系統(tǒng)時間無關(guān)。
      運行如圖15所示,在每個調(diào)度器瞬間期間,首先檢查每個目的地端口隊列的狀態(tài)。每個WFQ日歷與一對端口相關(guān)聯(lián);這樣,WFQ端口0與一個較高優(yōu)先級端口0和一個較低優(yōu)先級端口0相關(guān)聯(lián)。如在線(line)262上目的地端口隊列閾值已經(jīng)被超過,則在該調(diào)度器瞬間期間WFQ日歷不采取進一步的動作(此系統(tǒng)提供一種限制輸出的反壓形式,防止幀發(fā)送出去而系統(tǒng)不能處理)。如目的地端口隊列閾值未超過,就檢查當(dāng)前指針指示的時隙。如發(fā)現(xiàn)時隙為空,則當(dāng)前指針可前進到下一個非空時隙尋求一個候補流隊列WFQ。如發(fā)現(xiàn)所有時隙為空,則當(dāng)前指針保持不變并且沒發(fā)現(xiàn)候補。如在此一個日歷內(nèi)發(fā)現(xiàn)時隙不為空,則存儲于該時隙的流隊列地址是這一端口的候補WFQ。40個WFQ日歷中的每一個都類似的可以為其相關(guān)目的地端口隊列找到一個候補。
      檢查目的地端口閾值的目的是控制從WFQ日歷將分組分配給目的地端口隊列的速率。由于目的地端口隊列將以由附加的介質(zhì)指定的速率流出,對超過閾值的目的地端口的狀態(tài)的檢查可提供一種能夠保證目的地端口隊列不會被以超過其介質(zhì)的帶寬的速率分配分組的機制。在此優(yōu)選實施例中,閾值定義為字節(jié)的度量,并且該閾值應(yīng)該設(shè)定為至少是最大傳輸單位(MTU),該單位是為了保證正確運行對介質(zhì)定義的。
      由于本發(fā)明的目的地是提供一種盡力而為帶寬調(diào)度與最小帶寬相結(jié)合,并且其中單個流隊列既處于基于時間的日歷內(nèi)也處于WFQ日歷內(nèi)的方法,對于正常的工作而言上述機制是必需的。
      最后的流隊列的選擇是在所有的日歷(既包括基于時間的日歷也包含WFQ日歷)間進行。當(dāng)選擇流隊列候補WFQ時,流隊列指針從LIFO棧出隊。如發(fā)現(xiàn)由當(dāng)前指針指示的時隙在這一出隊動作之后為非空(即至少其中還存在一個以上的項目),則當(dāng)前指針不再進行修改。如發(fā)現(xiàn)由當(dāng)前指針指示的時隙在這一出隊動作之后為空,則當(dāng)前指針將前進到下一個非空時隙。如發(fā)現(xiàn)所有時隙為空,則當(dāng)前指針保持不變。
      本領(lǐng)域技術(shù)人員知道,WFQ日歷在分配給它的所有的流隊列中共享可用帶寬。另外,通過對流隊列分配權(quán)重,可改變分配給每個流隊列的帶寬的相對比例。這是通過計算非空服務(wù)流隊列置于的位置而完成的。與高權(quán)重因子相比較,對同一幀長度,一個低權(quán)重因子可對給定的幀長度提供更頻繁的服務(wù),這意味著關(guān)聯(lián)流在“階梯”上向上移動一個較短的距離就可獲得下一個服務(wù)。與此類似,與具有同樣權(quán)重因子提供較短幀的相比較,提供較長幀的流將沿著“階梯”向上被移動一個較大的距離,這意味著具有較短幀的流將接受更頻繁的服務(wù),如果優(yōu)先級和權(quán)重因子相同的話。
      WFQ距離的計算距離計算定義為流隊列在日歷中從它出隊的位置移動的時隙的數(shù)目。在此優(yōu)選實施例中,對WFQ日歷的距離計算的形式為時隙距離=Max(Min((幀長)*QD*K),max_distance)…1)其中時隙距離是整數(shù),幀長以字節(jié)為單位,QD是在流隊列控制塊中指定的隊列權(quán)重,max_distance定義為日歷中的時隙數(shù)減1,而K是分配給目的地端口的縮放因子。K的指定系根據(jù)目的地端口的MTU、WFQ日歷中的時隙數(shù)以及所要求的QD的范圍。對該優(yōu)選實施例,推薦下列K值MTU(字節(jié)) K2048 1/64th9216 1/256th163841/1024th不脫離本發(fā)明的精神可以選擇其他的K值。
      對于相關(guān)技術(shù)人員而言,在結(jié)合附圖看過上面的優(yōu)選實施例的描述后,本發(fā)明的多種改型是顯而易見的。比如,根據(jù)幀的大小加權(quán)和儲存的加權(quán)因子可以用其他的公式代替。日歷內(nèi)的時隙數(shù)目和每一端口的日歷數(shù)目可以改變,以適應(yīng)系統(tǒng)的體系結(jié)構(gòu)。時段的數(shù)目及其每步的距離、當(dāng)前時間寄存器的大小和調(diào)度器瞬間速率也都可以改變而不脫離本發(fā)明的精神。另外,不脫離本發(fā)明的精神可以對系統(tǒng)的實現(xiàn)和優(yōu)先級系統(tǒng)進行多種改型,并且有各種算法可用來確定優(yōu)先級。還有,可以只使用本發(fā)明的某些特征而不相應(yīng)地利用其他特征。因此,對優(yōu)選實施例的上述描述應(yīng)視為對本發(fā)明的原理的純粹示例性的描述而不是對本發(fā)明的限制。
      權(quán)利要求
      1.一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);接收關(guān)于待處理的每個信息單元的優(yōu)先級信息;根據(jù)與每個信息單元相關(guān)聯(lián)的優(yōu)先級信息將待處理的每個信息單元放入數(shù)個優(yōu)先隊列中的一個之中,一個隊列是基于時間的,而另一個隊列是與時間無關(guān)的;根據(jù)存儲的規(guī)則組為連續(xù)的每一個時鐘周期選擇一個隊列進行處理;根據(jù)一種算法為連續(xù)的每一個時鐘周期從被選擇隊列中選擇一個信息單元進行處理;以及將所選擇的信息單元向目的地傳輸。
      2.如權(quán)利要求1記載的方法,其中,根據(jù)一種算法為連續(xù)的每一個時鐘周期從被選擇隊列中選擇一個信息單元進行處理的步驟還包括從一個加權(quán)公正隊列中進行選擇,并根據(jù)信息單元的大小和所選擇的單元的加權(quán)因子,計算在該加權(quán)公正隊列中的新位置。
      3.一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);根據(jù)儲存的規(guī)則判斷是否允許由一個數(shù)據(jù)流進行一次峰值成組傳輸傳輸,所述規(guī)則包含對數(shù)據(jù)流計算初始儲備;隨著時間的流逝,當(dāng)數(shù)據(jù)的流量低于對該數(shù)據(jù)流建立的閾值時則添加儲備;隨著時間的流逝,當(dāng)數(shù)據(jù)的流量超過所述閾值時則減少儲備;利用此儲備值判斷在給定的時間是否允許峰值成組傳輸傳輸。
      4.一種方法,包括下列步驟當(dāng)信息單元在數(shù)據(jù)通信系統(tǒng)中從多個源向多個目的地傳遞時,將數(shù)據(jù)流放入隊列排隊等待服務(wù);判斷數(shù)據(jù)流是否在隊列中曾經(jīng)有過一個先前的位置;如數(shù)據(jù)流在隊列中曾經(jīng)有過一個先前的位置,則判斷將分配的新位置是否比先前的位置更有利;如將分配的新位置比先前的位置更有利,就利用先前的位置處理此流;以及如所述先前位置比將分配的新位置更有利,就利用新位置處理此流。
      全文摘要
      一種從網(wǎng)絡(luò)處理器向數(shù)據(jù)傳輸網(wǎng)絡(luò)以優(yōu)先次序移動信息單元的系統(tǒng)和方法,可適應(yīng)數(shù)種不同的服務(wù)級。本發(fā)明包含一種根據(jù)儲存的與信息單元的各種源相關(guān)聯(lián)的優(yōu)先級對來自網(wǎng)絡(luò)處理單元的經(jīng)過處理的信息單元(或幀)的出口進行調(diào)度的方法和系統(tǒng)。在優(yōu)選實施例中的優(yōu)先級包含低延遲服務(wù)、最小帶寬、加權(quán)公正排隊和防止用戶長時間繼續(xù)超過其服務(wù)級的系統(tǒng)。本發(fā)明包含多個具有不同服務(wù)速率的日歷,允許用戶選擇其想要的服務(wù)速率。如客戶選擇高帶寬服務(wù),則用戶將被納入一個日歷中而可以得到比用戶選擇低帶寬更頻繁的服務(wù)。
      文檔編號H04L12/54GK1642143SQ20051000426
      公開日2005年7月20日 申請日期2001年3月26日 優(yōu)先權(quán)日2000年4月13日
      發(fā)明者布賴恩·米切爾·巴斯, 吉恩·路易斯·卡爾維格納克, 馬克·海德斯, 邁克爾·史蒂文·西格爾, 法布里斯·吉恩·費爾普蘭肯 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1