国产精品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>

      數(shù)據(jù)報調(diào)度的設備及方法

      文檔序號:7606156閱讀:272來源:國知局
      專利名稱:數(shù)據(jù)報調(diào)度的設備及方法
      技術(shù)領域
      本發(fā)明的背景網(wǎng)絡上數(shù)據(jù)報所體驗的服務質(zhì)量被描述為遲滯、抖動和遺失。許多網(wǎng)絡應用對一個或者更多的這種因素很敏感。例如,一個交互式的應用,如果網(wǎng)絡的總延時超出極限時不可用。流動型的應用,例如視頻,可以允許大量的固定的延時,但是如果不同數(shù)據(jù)報在延時過程中所體驗的抖動或者偏差超出極限的話,則需要額外的緩沖區(qū)。還有一些應用不允許數(shù)據(jù)報的遺失,例如由于擁擠問題數(shù)據(jù)報存在丟棄現(xiàn)象。
      現(xiàn)今,大多數(shù)網(wǎng)際間的通信量被處理為單一類別的通信量,它在最優(yōu)效果原則上傳送。換句話說,網(wǎng)絡力圖在合理的時間量里傳送所有數(shù)據(jù)報,但不做關(guān)于延時或遺失的保證。由于網(wǎng)絡通信量的bursty屬性,由于擁擠問題,一些數(shù)據(jù)報也許會延時或者丟棄,而不同數(shù)據(jù)報所體驗的延時可能有顯著不同。最優(yōu)效果傳送適合于許多類型的通信量的時候,例如文件傳輸和網(wǎng)頁訪問,并不適合于別的類型的通信量,例如實時的音頻和視頻流。
      為保證實時限制通信量以及提供收費類服務給某些客戶,一些網(wǎng)絡把通信量分隔成類并按通信量的類來提供服務保證。例如,通信量可以劃分出一類,來保證恒定比特率和恒定延時。另一個類用于保證最小量比特率,一個或者更多的最優(yōu)效果的類分配給總網(wǎng)絡帶寬的不同片段。
      網(wǎng)絡服務中傳輸(數(shù)據(jù)報、單元、或者幀)的單位、服務的類可能被編碼成許多不同方式的單位。例如,在網(wǎng)際數(shù)據(jù)報中,服務的類也許在數(shù)據(jù)報的報頭區(qū)域利用“8比特類型服務”(8-bit-type-service)(ToS)確定。另一方面,服務的類也許得自數(shù)據(jù)報所屬的數(shù)據(jù)流。在交換式的以太網(wǎng)(ATM)中,服務的類和單元傳播的虛擬線路回路相聯(lián)系。
      服務保證是通過輸入校正和輸出調(diào)度相結(jié)合而實現(xiàn)的。輸入校正確保所有的通信量在到達路由器的時候依從于適當?shù)姆諈f(xié)議。當數(shù)據(jù)報到達路由器時,如果到達的時間遵從于適當?shù)姆諈f(xié)議的話,會被檢查確認。如果數(shù)據(jù)報是依從的,它會被正常處理。如果數(shù)據(jù)報放棄依從,例如一個被保證為10M比特/秒帶寬的數(shù)據(jù)流耗費了15M比特/秒,它會被標記。此數(shù)據(jù)報然后可能正常處理,使得它的服務降低,或者被丟棄,這取決于網(wǎng)絡的方針。
      輸出調(diào)度確定了數(shù)據(jù)報留在路由器特定輸出通道的次序。調(diào)度是保證特定的服務質(zhì)量的一個關(guān)鍵因素。例如,要保證一個特定數(shù)據(jù)流的恒定比特率,這個數(shù)據(jù)流的數(shù)據(jù)報必須在超出了自己可用的容量的bursty最優(yōu)效果數(shù)據(jù)流之前被調(diào)度。為確保一個流動型數(shù)據(jù)流的低抖動,每一個數(shù)據(jù)報都必須在一個狹窄的時間窗口中被調(diào)度離開路由器。
      保證比特率通信量(GBR)的輸出調(diào)度經(jīng)常利用多路隊列結(jié)構(gòu)完成,舉例說明如圖6所示。單獨的輸出隊列501-503提供給通信量的每個類(基類排隊(CBQ))或者給每個網(wǎng)絡數(shù)據(jù)流(每數(shù)據(jù)流排隊)。圖中顯示有三個隊列,但其他的數(shù)值也是可以的。每個隊列包含若干數(shù)量的等待越過531輸出線路發(fā)送的數(shù)據(jù)報(例如,數(shù)據(jù)報521)。和每個隊列相聯(lián)的是一個計數(shù)器511-513,它指出什么時候下一個數(shù)據(jù)報應該離開隊列。和恒定比特率通信量相聯(lián)的隊列,例如,計數(shù)器指出下一個數(shù)據(jù)報可能離開隊列的時間。當一個數(shù)據(jù)報離開隊列之后,計算器會更新成現(xiàn)行的時間加上反映數(shù)據(jù)報長度被帶寬分配劃分的一個增量。這種更新方法符合為了恒定比特率服務質(zhì)量的ATM的“漏存儲段(leaky-bucket)”算法。
      最優(yōu)效果通信量的輸出調(diào)度經(jīng)常利用加權(quán)平等排隊(WFQ)完成。這樣的通信量也利用圖6舉例說明所示設備調(diào)度,給每個通信量的類或者每個數(shù)據(jù)流一個單獨的隊列。由于最優(yōu)效果通信量,無論如何,隊列中的數(shù)據(jù)報沒有分配給在輸出端口上的一個保證比特率。相反的,每個隊列被分配給可用的帶寬片斷,數(shù)據(jù)報在最優(yōu)效果基礎上依照可用的帶寬調(diào)度。對于和每個隊列相聯(lián)的最優(yōu)效果通信量,和計數(shù)器511-513相聯(lián)每個隊列,依照加權(quán)平等排隊算法(WFQ),當輸出帶寬可用的時候,和最小計數(shù)器相聯(lián)的隊列被選擇發(fā)送并且它的計數(shù)器按照它相應的帶寬份額遞增。
      在先進技術(shù)的路由器中,尋找最小計數(shù)器、選擇適當?shù)年犃泻透屡c此隊列相聯(lián)的計數(shù)器任務典型的被在微處理器上的軟件所完成。由于上層的數(shù)據(jù)處理需要發(fā)送基類隊列或者每數(shù)據(jù)流隊列每個的數(shù)據(jù)報,這些進程常常被約束使用低速的連接和適量的隊列(10s,不是100s)。(引見Ferguson和Huston,Quality of Service,Wiley,1998,P61)。
      本發(fā)明的概述依照本發(fā)明的一個特性,網(wǎng)絡路由器包括存儲被運送的數(shù)據(jù)報的隊列。調(diào)度程序選擇的被運送的數(shù)據(jù)報的隊列占有調(diào)度值,例如GBR和WFQ計數(shù)器值,和隊列相聯(lián)。調(diào)度值在選擇網(wǎng)絡里比較以選擇被運送的數(shù)據(jù)報。
      這個選擇網(wǎng)絡可能是個樹結(jié)構(gòu),樹結(jié)構(gòu)的每個葉子代表一個隊列的調(diào)度值。樹結(jié)構(gòu)的內(nèi)部節(jié)點代表樹結(jié)構(gòu)的兄弟節(jié)點比較調(diào)度值中的獲勝者??商鎿Q的是,選擇網(wǎng)絡可能是個排序網(wǎng)絡,經(jīng)它比較調(diào)度值以按照調(diào)度的優(yōu)先級排序隊列。
      在樹結(jié)構(gòu)中,調(diào)度程序?qū)⒄{(diào)度值之間的比較限制在從代表變化調(diào)度值的葉子節(jié)點到樹結(jié)構(gòu)的根的貫穿整個樹結(jié)構(gòu)的路徑上。
      樹結(jié)構(gòu)的內(nèi)部節(jié)點存儲了來自兄弟節(jié)點間的勝者的調(diào)度值。內(nèi)部節(jié)點也存儲了符合已存的調(diào)度值的葉子節(jié)點的特性。
      在一個可替換的樹結(jié)構(gòu)中,每一節(jié)點標識到獲勝葉子節(jié)點的路徑。當觸發(fā)器數(shù)組標識每個內(nèi)部節(jié)點的勝者的時候,隨機訪問內(nèi)存儲器(RAM)只存儲葉子節(jié)點。比較器比較觸發(fā)器數(shù)組指向的在RAM中的葉子節(jié)點的調(diào)度值。
      依照本發(fā)明的一個方面,附加的指示器和每個葉子節(jié)點相聯(lián)以屏蔽來自調(diào)度的節(jié)點的隊列。
      調(diào)度程序可能包括隨機訪問內(nèi)存用于存儲樹結(jié)構(gòu)。地址寄存器存儲從RAM訪問被比較的調(diào)度值的地址。比較寄存器存儲從RAM來的被比較的調(diào)度值,和比較調(diào)度值的比較器。調(diào)度程序另外還包括接收地址寄存器的地址硬件和確定被比較的調(diào)度值儲存的兄弟節(jié)點的硬件。硬件還確定存儲了比較獲勝的調(diào)度值的父節(jié)點的地址。
      調(diào)度程序可能包括管道級,每個管道級比較樹結(jié)構(gòu)的單獨部分指向的調(diào)度值。隨機訪問橫過管道級被分區(qū),每個分區(qū)至少存儲樹結(jié)構(gòu)的一層。每個管道級包括地址寄存器,比較寄存器和比較器。
      每個調(diào)度程序可能包括符合第一個調(diào)度方法同隊列的第一個子集相聯(lián)的調(diào)度值和符合第二個調(diào)度方法同隊列的第二個子集相聯(lián)的調(diào)度值,至少一個隊列是隊列的第一個子集和第二個子集的各自的成員。
      調(diào)度值可能包括依照恒定比特率(CBR)服務保證的調(diào)度的發(fā)送時間。調(diào)度值可能另外代表利用加權(quán)平均排隊(WFQ)調(diào)度方針的理論發(fā)送時間。最先調(diào)度的CBR隊列第一個被標識。如果標識CBR隊列的調(diào)度值小于或等于當前時間,相應的數(shù)據(jù)報被從該CBR隊列發(fā)送,和隊列相聯(lián)的CBR調(diào)度值被更新。否則,數(shù)據(jù)報被從有最先調(diào)度值的WFQ隊列法送,該調(diào)度值被更新。
      依照本發(fā)明的另一方面,調(diào)度值被更新以反映可變數(shù)據(jù)報的長度和反映應用于優(yōu)先數(shù)據(jù)報填充的字節(jié)。
      依照本發(fā)明的另一方面,調(diào)度分多級完成。數(shù)據(jù)報存儲在第一組和第二組隊列中。第一個調(diào)度程序選擇出第一組隊列中的隊列,數(shù)據(jù)報從此隊列運送到第一個中級隊列里,第二個調(diào)度程序選擇出第二組隊列中的隊列,數(shù)據(jù)報從此隊列運送到第二個中級隊列里。另外一個調(diào)度程序選擇出被運送的數(shù)據(jù)報來源的中級隊列。多級調(diào)度包括兩個或者更多的調(diào)度級,并且每組隊列以一個或多個調(diào)度方法為基礎調(diào)度。
      更具體地說,本發(fā)明能使裝置用大量的隊列(在優(yōu)選實施方案中4096),在較高線路速率上完成基類隊列和每數(shù)據(jù)流隊列,即使當數(shù)據(jù)報的長度很短(40字節(jié)大小)的時候。單一消去的競賽在恒定比特率隊列中進行。競賽中的每場比賽里最小計數(shù)器的隊列取得勝利。如果贏得競賽的隊列的計數(shù)器小于當前的時間,那么該隊列的數(shù)據(jù)報報頭被傳送,計數(shù)器隨著更新。否則單獨的競賽會為最優(yōu)效果隊列運行。
      為允許數(shù)據(jù)報調(diào)度在較高線路速率,競賽可能利用專用的硬件結(jié)構(gòu)完成,硬件結(jié)構(gòu)包括保存樹的(key,id)對子的RAM來代表競賽,兩個保存當前比賽的競爭者的寄存器,比較器。為更進一步的數(shù)據(jù)處理,競賽遞增的完成。每次計數(shù)器變化,只有那些在競賽中是沿著從變化的計數(shù)器到競賽勝利者的路徑的比賽重新運行。競賽的剩余的保持不變。通過這種路徑,競賽可以在lg(N)個周期里結(jié)束,N是競爭的隊列數(shù)。
      用管道輸送競賽提供了很迅速的調(diào)度。競賽被劃分為兩個或者更多的管道級。樹的每個層全部歸于管道級里。當級i的最后一層的比賽結(jié)束的時候,結(jié)果被送往級i+1,級i被釋放以開始下一個競賽。最后的情況是,樹的每層可能被放置在單獨的管道級里并且調(diào)度程序可以結(jié)束競賽,并且此后每個時鐘周期調(diào)度數(shù)據(jù)報。
      在一個實施方案中,和每個隊列相關(guān)的有兩個計數(shù)器,用于恒定比特率(CBR)調(diào)度,用于加權(quán)平等排隊(WFQ)調(diào)度。數(shù)據(jù)報調(diào)度引擎最先分配帶寬給利用CBR算法的CBR隊列以更新CBR計數(shù)器。然后,所有的剩余帶寬分配給利用WFQ算法的WFQ隊列以更新WFQ計數(shù)器。通過設置和這些計數(shù)器相聯(lián)的權(quán),假定的隊列可能被分配CBR帶寬或者WFQ帶寬,或者首先被分配CBR的分配額,然后在所有CBR分配額飽和后共用WFQ帶寬。
      為允許變長數(shù)據(jù)報的調(diào)度和允許在物理層完成字節(jié)填充的數(shù)據(jù)報調(diào)度程序的使用,通常的CBR和WFQ調(diào)度算法被擴展以運算變長數(shù)據(jù)報長度和使用上層填充字節(jié)的運行的數(shù)量。
      圖紙的簡要說明上述的和另外的目的,從下列更為詳細發(fā)明的優(yōu)選實施方案的敘述中發(fā)明的特征和優(yōu)點是很顯而易見的,如附圖的圖解,在圖解中提及的特征涉及了所有不同視圖的相同部分。繪圖不需要規(guī)模,重點是放在舉例說明發(fā)明的原理上。


      圖1舉例說明數(shù)據(jù)報調(diào)度樹結(jié)構(gòu)來實現(xiàn)發(fā)明。
      圖2舉例說明圖1中樹的節(jié)點在隨機訪問內(nèi)存中的映射表。
      圖3舉例說明在圖1的樹結(jié)構(gòu)中,節(jié)點105的計數(shù)器的值有變化,內(nèi)部節(jié)點結(jié)果也變化。
      圖4舉例說明處理樹結(jié)構(gòu)的硬件。
      圖5介紹圖4中硬件處理樹結(jié)構(gòu)的數(shù)據(jù)流程圖。
      圖6舉例說明有三隊列的優(yōu)先技術(shù)系統(tǒng),此系統(tǒng)為和本發(fā)明保持一致時可能修改。
      圖7舉例說明樹結(jié)構(gòu)的用每個葉子節(jié)點屏蔽位的增加來實施本發(fā)明。
      圖8A-C舉例說明用來實現(xiàn)在管道體系結(jié)構(gòu)里的樹結(jié)構(gòu)的硬件。
      圖9給出在連續(xù)的周期中,圖9的管道寄存器中本范例數(shù)據(jù)。
      圖10給出由圖9的數(shù)據(jù)產(chǎn)生的樹的結(jié)構(gòu)。
      圖11舉例說明發(fā)明的可替換實施方案中排序網(wǎng)絡。
      圖12舉例說明更新CBR計數(shù)器的電路。
      圖13舉例說明更新WFQ計數(shù)器的電路。
      圖14同時利用CBR和WFQ調(diào)度法的競賽的數(shù)據(jù)流程圖。
      圖15舉例說明樹結(jié)構(gòu)的可替換的實施方案,在此計數(shù)器值只存儲在葉子節(jié)點。
      圖16舉例說明節(jié)點955的值改變后,圖15的樹結(jié)構(gòu)。
      圖17舉例說明本發(fā)明的多級實施方案。
      圖18和圖1樹結(jié)構(gòu)給出的十進制計數(shù)法相聯(lián)節(jié)點地址的二進制表示法。
      圖19給出的實現(xiàn)圖15的樹結(jié)構(gòu)的硬件。
      圖20A-B給出的實現(xiàn)圖19觸發(fā)器數(shù)組的硬件。
      本發(fā)明的詳細描述以下是發(fā)明的優(yōu)選實施方案的描述。
      利用競賽排序的數(shù)據(jù)報調(diào)度用于選擇最小的計數(shù)器隊列的數(shù)據(jù)結(jié)構(gòu)的舉例說明如圖1。該圖顯示了三元組的樹。每個三元組包括地址、隊列的ID,和相聯(lián)的計數(shù)器值或主鍵(key)。樹的葉子100-107代表和每個隊列相聯(lián)的計數(shù)器。對于每個葉子,地址和隊列的ID是相同的并且key保存著和標識隊列相聯(lián)的計數(shù)器值。為清晰起見,圖中只顯示了八個隊列;然而,在優(yōu)選實施方案中,有4096個隊列。
      在圖1里的樹的每個內(nèi)部節(jié)點108-114代表葉子節(jié)點間競賽的一場比賽的結(jié)果。例如,節(jié)點109代表葉子節(jié)點102和103之間一場比賽的結(jié)果。由于節(jié)點102有較小的key,所以它贏得比賽并且節(jié)點109拷貝了節(jié)點102隊列的ID和key來記錄此勝利。
      109節(jié)點的地址,9,代表它在樹中的位置。如圖18舉例說明的,在b=lg(N)+1的位置,地址是b位(b-bit)數(shù)字。在圖1和18中的樹的例子中,N=8,b=4。在優(yōu)選實施方案中,N=4096,b=13。葉子節(jié)點的地址最高位清零盡管內(nèi)部節(jié)點的地址的最高位設置了。指派地址便于計算父親、子孫、兄弟節(jié)點的地址。地址a的節(jié)點的父親通過把a右移一位,然后設置有效位來計算。類似的,內(nèi)部節(jié)點b的最上部的孩子的地址通過左移b一位來計算,較低的孩子等于上層孩子的地址,但設置最小有效位。最后,節(jié)點的兄弟的地址通過補足節(jié)點地址的最低有效位得出。這些算法非常方便的用“C”語言表示如下parent(a)=8|(a>>1);upperChild(b)=b<<1;lowerChild(b)=(b<<1)|;sibling(c)=c^1;這些算法在硬件里十分有效由于它們只包含移位,只需要配線、單一位的OR或XOR運算。
      假設一組N數(shù)列,因而樹有N個葉子節(jié)點,在競賽中必須完成N-1場比賽以選擇勝利者(最小計數(shù)器的隊列)??墒牵瑢τ赒oS輸出調(diào)度我們可以通過觀察來減少每個競賽所需要的比賽次數(shù)至多為lg(N),只有最后選擇隊列中的計數(shù)器,每次變化。因此,只有那些包括這個隊列的比賽需要被重賽。這些比賽在從變化的葉子節(jié)點到樹的根節(jié)點的路徑上。那些不在這條路徑上的其他比賽結(jié)果,保持不變。
      這個計算競爭結(jié)果的遞增的方法在圖3中舉例說明。繪圖顯示了隊列5在圖1的競賽中被選出,計數(shù)器(和此后的key)從1增加到9后的樹的狀態(tài)。樹中變化的值用黑體字顯示并且重賽的比賽用粗線顯示。因為節(jié)點105的key已經(jīng)變化了,節(jié)點104和105之間的比賽被重賽。節(jié)點110的key的變化,導致110和111之間的比賽被重賽。這時隊列5的比賽失敗,導致節(jié)點113的ID和key變化。最后,節(jié)點112和113之間的比賽被重賽、節(jié)點2贏得比賽和此后的競爭。
      因此,如圖所舉例說明的,單一計數(shù)器更新后,競爭只通過重賽lg(N)次比賽而重新計算,勝過全部的N-1次。對于圖3中的實例,本方法把比賽次數(shù)從7減少到3。對于優(yōu)選實施方案,本方法把要運行的比賽次數(shù)從4095減少到12。
      數(shù)據(jù)報調(diào)度的硬件引擎為在硬件里完成競賽任務,樹的節(jié)點被映射到如圖2所示的隨機訪問內(nèi)存(RAM)中的一張表。這里的RAM 200有15個區(qū),編址0到14,每個保存代表圖1中樹的15個節(jié)點中一個的記錄。前八個區(qū)保存代表圖1的樹的八個葉子節(jié)點的記錄,剩余的七個區(qū)保存代表圖1的樹的七個內(nèi)部節(jié)點的記錄。每條記錄由兩個段組成ID標識贏得當前比賽的隊列(葉子節(jié)點),和對應該隊列的key(計數(shù)器值)。對于每條葉子節(jié)點記錄,ID總是和保存這條記錄的區(qū)的地址相同。
      用于遞增地完成競爭的硬件引擎如圖4所示。每個節(jié)點記錄的ID和key段保存在雙通道SRAM 200中。SRAM 200有地址為321的讀取通道和數(shù)據(jù)輸出線路323、為地址322的寫入通道和數(shù)據(jù)輸入線路324。這個引擎包括三個寄存器地址寄存器301、比較寄存器312和兄弟寄存器311。地址寄存器301保存最近更新的節(jié)點的地址。在下文中我們提到這個節(jié)點為當前節(jié)點。比較寄存器保存當前節(jié)點的ID和key。當前節(jié)點的兄弟節(jié)點(和當前節(jié)點共有一個父親的節(jié)點)的key和ID存儲在兄弟寄存器中。在下文中我們提到這個節(jié)點為兄弟節(jié)點。
      計算當前節(jié)點的父節(jié)點和兄弟節(jié)點的邏輯和地址寄存器301相聯(lián)。由于比較寄存器里更新的節(jié)點記錄必須寫回地址寄存器上當前節(jié)點的地址表里,地址寄存器的內(nèi)容被用于直接寫入RAM 200的地址322。為完成下一場比賽,兄弟節(jié)點必須取出,所以地址寄存器322的內(nèi)容通過兄弟函數(shù)302(補足最低有效位)產(chǎn)生給RAM 200的讀取地址321。當前節(jié)點和兄弟節(jié)點比較后,這兩個節(jié)點的父節(jié)點成為新的當前節(jié)點,比賽的勝利者成為新當前節(jié)點的更新值。為計算樹的這步的地址,當前節(jié)點地址322通過父親函數(shù)303(右移并且設置最高位)來計算當前節(jié)點地址的新值。在遞增的新競賽開始時多路復用器304用于把從線路325來的葉子節(jié)點地址送入當前節(jié)點地址。
      與比較寄存器和兄弟寄存器相聯(lián)的邏輯用來初始化競爭,完成競爭中每場比賽所要求的key的比較,用每場比賽的勝者的ID和key來更新當前節(jié)點。比較器313把線路328上的兄弟節(jié)點的key和線路329上的當前節(jié)點的key做比較。如果兄弟的key小于當前節(jié)點key,在下一個周期的開始時線路331被維護并且兄弟寄存器的內(nèi)容被送入比較寄存器。
      多路復用器315把在每個競賽開始時從線路325來的被更新隊列的ID送入比較寄存器的ID段。注意這個隊列的ID也是葉子節(jié)點的地址。因此,相同的值在競賽的開始時送入進地址寄存器301。多路復用器316把每個競賽開始時隊列計數(shù)器的更新值送入比較寄存器312的key段中。
      競賽排序的運算描述為圖5的流程圖。排序從比較寄存器312和地址寄存器301初始化的框401開始。更新了計數(shù)器的隊列的ID經(jīng)過多路復用器304被送入進地址寄存器301,也經(jīng)過多路復用器315被送入比較寄存器312的ID段。同時,和從隊列相關(guān)的計數(shù)器值經(jīng)過多路復用器316送入比較寄存器的key段。
      一旦競賽初始化,樹的每步由經(jīng)過405、框402構(gòu)成的重復循環(huán)構(gòu)成。雖然這個循環(huán)包括四個框,每個重復發(fā)生在單時鐘周期內(nèi)。首先,在框402中,比較寄存器中更新的當前節(jié)點被存進RAM中適當?shù)牡刂防?。這個寫入的發(fā)生跳過線路324的數(shù)據(jù)、利用了線路322上寫入地址。同時此節(jié)點的兄弟的節(jié)點記錄利用線路321上兄弟地址從RAM 200讀取。此兄弟記錄出現(xiàn)在數(shù)據(jù)輸出線路323上并被送入兄弟寄存器311。這個寄存器是個透明的鎖存器,以便在讀取兄弟記錄的同一個周期里,兄弟寄存器的輸出對于比較器來說是現(xiàn)成可用的。本領域的技術(shù)人員懂得依靠邏輯技術(shù)來實現(xiàn)引擎,兄弟寄存器被省略,兄弟記錄直接從RAM的輸出線路323訪問。框402也同樣,當前節(jié)點的父節(jié)點被計算并且此值在周期末尾送入地址寄存器以便RAM可在之后的周期中使用。
      RAM讀取和寫入后,兄弟和當前節(jié)點做比較且當前節(jié)點于是更新。這個過程的描述在框403和404中。在判斷框403中,兄弟寄存器328的key段和比較寄存器329的key段由比較器313做比較。如果兄弟的key小于當前節(jié)點的key,流程進入框404并且比較寄存器被周期末尾時兄弟寄存器的值更新。框404表示了兄弟贏得比賽因而成為新的當前節(jié)點的情況。把兄弟送入比較寄存器導致父節(jié)點在下一個周期中被寫入獲勝的ID和key,記錄下比賽結(jié)果。如果當前節(jié)點比兄弟節(jié)點的key小,當前節(jié)點贏得比賽。如果這樣流程圖跳過框404并且比較寄存器保持不變。這導致在下一個周期中父節(jié)點被寫入的是當前節(jié)點的值,重新記錄比賽結(jié)果。
      框405檢驗競爭的完成。如果,在更新后,地址寄存器指向高于表的根部,競賽結(jié)束,獲勝隊列的ID保存在比較寄存器312的ID段里并且在線路330上可用。在我們八個隊列的實例中,這種情形發(fā)生在地址寄存器更新為值15的時候,它超過了根節(jié)點的地址14。一般而言,這個終止條件隨時檢測當前節(jié)點的地址,視作二進制數(shù),全都是1s。如果競賽沒有結(jié)束,流程圖回到節(jié)點402,此處相同的進程被重做樹的上面一層。
      屏蔽一個空隊列當隊列為空時,它必須從競賽的競爭中屏蔽,因為它不能提供數(shù)據(jù)報在它獲勝的事件中被輸出。這可以通過設置它的計數(shù)器為最大可能值來實現(xiàn)。可是,這個解決辦法不可行,因為計數(shù)器的值必須被保存以決定何時下一個數(shù)據(jù)報到達被調(diào)度離開隊列的時間。切實可行的解決方法,圖解在圖7,競賽樹的每個葉子節(jié)點增加單一位的屏蔽段。當此位設置時,節(jié)點被視為假設是最大可能值(所有1s用二進制表示)因而輸了所有與激活的節(jié)點的比賽。當數(shù)據(jù)報到達空隊列的時候,令它非空,屏蔽段被清除并且遞增競賽利用保存的計數(shù)器值來完成以更新樹的狀態(tài)。
      圖7顯示了一個實例,圖3中樹的隊列7被屏蔽。葉子節(jié)點107,對應著隊列7,設置它的屏蔽位,因而它在和葉子節(jié)點106的比賽中失敗了。這場比賽的結(jié)果被記錄在中間的節(jié)點111,這個結(jié)果傳給樹的上層,更新中間節(jié)點113。如果葉子節(jié)點107的屏蔽位在樹的其它位置變化之前被清除,節(jié)點107和106之間的比賽利用目前計數(shù)器的值重新運行。此比賽的結(jié)果被傳往樹的上面,返回到圖3的狀態(tài)。
      為數(shù)據(jù)報調(diào)度引擎裝管道在非常高的線路速率,每三個周期利用圖4的硬件來結(jié)束遞增競賽是不夠的(或者4096個隊列的競賽每12個周期)。數(shù)據(jù)報調(diào)度的較高速率,數(shù)據(jù)報每周期,可以通過為競賽排序裝管道來實現(xiàn),如圖8A-C所示。圖8A-C的電路由三個管道級組成,600,620和640。每個管道級包括圖4中所有的競賽排序引擎的邏輯,但不只運算樹的一層。表200保存的節(jié)點狀態(tài)橫過三個管道級被劃分。樹的葉子,區(qū)0-7,保存在管道級600的RAM 610。第一層內(nèi)部節(jié)點,區(qū)8-11,保存在管道級620的RAM 630,第二層內(nèi)部節(jié)點,區(qū)12-13,保存在管道級640的RAM 650。注意,這里不需要存儲樹的根,區(qū)14,作為獲勝節(jié)點的ID和key分別的在線路653和654上輸出。
      設想,例如,以圖1所顯示的最初的狀態(tài)開始并且把隊列5相關(guān)的計數(shù)器變到9,如圖3那樣做。圖8A-C的管道回路計算三個周期內(nèi)和此變化相聯(lián)的遞增的競賽。在第一個周期的開始,地址寄存器601越過線路690,送入葉子節(jié)點5的地址/ID。同時,比較寄存器602的ID部分送入相同的值,比較寄存器602的key部分越過線路691,送入9,隊列計數(shù)器的新值。在第一個周期期間,葉子節(jié)點5的新輸入,利用寫地址端口606和寫數(shù)據(jù)端口604,寫回RAM610的區(qū)5。同樣在這個周期,此節(jié)點的兄弟節(jié)點的記錄,節(jié)點4,利用讀取地址端口607和讀取數(shù)據(jù)端口605,從RAM 610中讀取。在實例中,這個記錄的值是4.10(ID=4,key=10)。線路607上的讀取地址4,利用兄弟部件615生成,補足線路606上的當前節(jié)點地址5的最小有效位。一旦兄弟記錄4.10從RAM中讀取,將被保存在兄弟寄存器603中。本領域的技術(shù)人員懂得如果RAM610提供靜態(tài)輸出,兄弟記錄的值可以直接從RAM輸出端口605存取,不需要兄弟寄存器。無論什么情況,在線路608上的兄弟記錄10的key段,和當前記錄的key段做比較,在線路609上的9,通過比較寄存器617。比較器661的輸出控制多路復用器618和619選擇比較寄存器602里當前節(jié)點記錄5.9或兄弟寄存器603里的兄弟記錄4.10,分別輸出到在線路613和614上下一級的ID和key段。如果這樣,9比10小,所以比較器選擇比較寄存器中的5.9輸出。在這個選擇同時,父邏輯器616通過右移線路606上的當前地址和設置最高位來計算和下一級10相關(guān)節(jié)點的地址。此地址輸出到線路612上的下一級。
      在第二個周期期間,管道620的第二級,用類似方法更新樹的第二層的中間節(jié)點110,計算節(jié)點110和111之間比賽的勝者。此周期開始時,節(jié)點地址,在線路612上的10,送入地址寄存器621和最后級的獲勝節(jié)點記錄,線路613和614上的5.9,送入比較寄存器622。于是RAM630讀取兄弟記錄7.6。比較器比較兄弟和當前記錄的key,選擇最小key的記錄輸出到線路633和634上。如果這樣,兄弟記錄,7.6,被輸出。同時,父邏輯器636計算節(jié)點10的父親的地址,假如這樣的話,節(jié)點13,在線路632是輸出此值。
      最后的管道級640以相似方法操作。采用地址13的節(jié)點,用它的新記錄更新節(jié)點,7.6,讀取它的兄弟記錄,2.5,比較key,輸出勝者,2.5。
      圖8A-C的管道調(diào)度引擎計算了和圖4的循環(huán)引擎在同一時間量的單一遞增競賽。盡管,它的優(yōu)點是它可以每周期開始新的遞增競賽。管道操作的例子在圖9的表中做了舉例說明。繪圖按時間過程顯示了流程中每個寄存器在不同行列的內(nèi)容。每個時間段在單獨欄目顯示。繪圖顯示了三個遞增競賽的計算隊列5的計數(shù)器變成9(如圖3所示),使隊列7屏蔽(如圖7所示,圖9中屏蔽狀態(tài)用字母d標志),最后把隊列2的計數(shù)器變成15(如圖10所示)。
      每個此競賽開始于連貫的周期5.9在周期1,7.d在周期2,2.15在周期3,每個競賽用三個周期完成。每周期特定競賽從管道級前進到下一個。圖9中黑體線顯示了競賽5.9的前進。由于此競賽在周期2前進到第二管道級,第一個管道級被釋放以開始下一個競賽,7.d是這種例子。類似的,第一個競賽在周期3開始時空出第二個管道級,允許第二個競賽在此周期開始第二級。以這種方法,管道結(jié)構(gòu)使得每個周期有一個新競賽開始、每個競賽在開始三個周期后結(jié)束。在4096個隊列的優(yōu)選實施方案中,管道有12級,每個競賽開始12周期結(jié)束。
      本領域的技術(shù)人員懂得,圖4重復引擎和圖8A-C多管道引擎在設計可能性的連續(xù)區(qū)上是兩個端點。對4096個隊列,舉例來說,可替換使用六級管道,此處每個管道處理樹的兩層并且在它的結(jié)果送往下一級前執(zhí)行兩個循環(huán)。其它的組合(例如四級,每級完成三個循環(huán);三級,每級完成四個循環(huán);或者兩級,每級完成六個循環(huán))相對于特性而交替使用、實現(xiàn)復雜組成是可能的。
      利用排序網(wǎng)絡的數(shù)據(jù)報調(diào)度快速的數(shù)據(jù)報調(diào)度的一個可替換方法使用了如圖11所示的排序網(wǎng)絡。排序網(wǎng)絡在它的輸出線路711-718上接受一組八個隊列的ID/key對子,并且把這些記錄按照key遞減的幅度在輸出線路721-727上排序。
      對于八個輸入,排序網(wǎng)絡由六級702-707組成,每級包括四個比較交換單元??傮w而言,有2n個輸出的網(wǎng)絡需要2n級,每級包括2n-1個比較交換單元。由粗線連接的兩個圓圈表示每個比較交換單元,例如701。此單元在左端子接受兩個輸入,比較兩個輸入的key段,如果需要的話交換輸入使得較小key的記錄在較上的右端子輸出,而且較大key的記錄在較低的右端子輸出。
      為允許排序網(wǎng)絡每周期處理一組新的更新,把它用如圖8A-C的競賽搜索引擎的相同方法管道輸送,排序網(wǎng)絡的每級在一個特定時間周期里完成它的比較和交換。同樣,為減少硬件的復雜性,排序網(wǎng)絡通過利用每級的單一比較交換單元和只操作該級上變化的輸入對子,以遞增方法更新。
      本領域的技術(shù)人員懂得圖11的排序網(wǎng)絡是個八個輸入批量排序網(wǎng)絡。網(wǎng)絡被擴充給較大數(shù)量的輸入,例如4096個輸入的網(wǎng)絡,有24級2048個比較交換單元。同樣,其它排序網(wǎng)絡(例如Cormen、Leiseron和Rivest的第28章的描述,Introduction toAlgorithms,MIT Press,1990)可能被批量網(wǎng)絡所取代。
      利用排序網(wǎng)絡的調(diào)度方法和使用競賽樹的調(diào)度方法相比有較高硬件復雜性和較高的性能。利用排序網(wǎng)絡,多重數(shù)據(jù)報在單周期內(nèi)通過選擇排序網(wǎng)絡頂部的幾個輸出被調(diào)度。同樣,幾個隊列的計數(shù)器在單周期內(nèi)被更新如同每次更新完成全部的排序,勝于完成競賽樹的遞增排序。
      聯(lián)合CBR和WFQ的調(diào)度在優(yōu)選實施方案中,每個隊列和兩個計數(shù)器相關(guān)。第一個計數(shù)器,STT,保存依據(jù)恒定比特率(CBR)服務保證的數(shù)據(jù)報的調(diào)度發(fā)送時間。第二個計數(shù)器,TTT,保存數(shù)據(jù)報的理論發(fā)送時間以在相對于其它利用加權(quán)平等排隊(WFQ)方針的最優(yōu)效果通信量原則上競爭。和每個計數(shù)器相關(guān)的是屏蔽位,它可以用來屏蔽來自參與如圖7所示的競爭的計數(shù)器。因而,對于假設數(shù)列,如果設置了WQF的屏蔽位,該數(shù)列的數(shù)據(jù)報依照CBR服務保證來調(diào)度。如果設置了CBR的屏蔽位,該數(shù)列的數(shù)據(jù)報為全部CBR數(shù)據(jù)報利用WFQ方針被調(diào)度之后剩余的任何帶寬而競爭。如果兩個屏蔽位都清除了,數(shù)據(jù)報首先依照CBR服務保證調(diào)度。然后,如果飽和了全部CBR通信量后有任何頻道帶寬剩余,利用WFQ方針的隊列的數(shù)據(jù)報和最優(yōu)效果通信量為剩余的帶寬競爭。最后,如果兩個屏蔽位都設置了,隊列被屏蔽,沒有數(shù)據(jù)報被調(diào)度。
      為實現(xiàn)雙調(diào)度方針,兩個競爭樹被保存。當樹的每個隊列使用STT計數(shù)器作為key的時候,另一個樹使用TTT計數(shù)器作為key。在每個調(diào)度的間隔期間,下一個要發(fā)送的數(shù)據(jù)報被選出,如圖14的流程圖所示。這個過程開始于CBR競爭中勝者被檢驗的框901。勝者的key用WSTT(勝者的STT)表示,隊列的ID用WCID(CBR競爭ID的勝者)表示。如果WSTT小于或等于當前時間,獲勝的CBR隊列中的數(shù)據(jù)報適合發(fā)送,控制進入框903-905來發(fā)送這個數(shù)據(jù)報并因而更新調(diào)度狀態(tài)。如果WSTT大于當前時間,沒有CBR數(shù)據(jù)報是當前適合輸出并控制進入最優(yōu)效果數(shù)據(jù)報被選出的框906-909。
      這種情況時在WSTT小于或者等于當前時間的地方,隊列WCID最前面的數(shù)據(jù)報的發(fā)送在框903開始。此數(shù)據(jù)報是帶有最早的STT的CBR數(shù)據(jù)報、并因此應該成為第一個跳過線路被發(fā)送的數(shù)據(jù)報。當數(shù)據(jù)報發(fā)送開始以后,此隊列的STT被更新以反映此數(shù)據(jù)報在框904里發(fā)送所消耗的帶寬資源。此數(shù)據(jù)報的新STT被表示為NSTT。計算的詳情如圖12所示并描述如下。在框905中,CBR競賽被更新以反映隊列WCID新的STT。此更新利用了圖4中循環(huán)流程或者圖8A-C中的管道流程來執(zhí)行。一旦遞增競賽結(jié)束并且數(shù)據(jù)報發(fā)送結(jié)束,控制重返框901以決定下一個要發(fā)送的數(shù)據(jù)報。
      如果在給出時間沒有適合發(fā)送的CBR數(shù)據(jù)報,WFQ調(diào)度法從檢驗WFQ競賽中獲勝者的框906開始運行。獲勝者的key表示為WTTT(winner’s TTT),獲勝者的ID表示為WWID(winnerof WFQ tournament ID)??刂迫缓笤贑BR路徑繼續(xù)進行。獲勝的WFQ數(shù)據(jù)報在框907里發(fā)送。這是最優(yōu)效果數(shù)據(jù)報調(diào)度,依據(jù)了WFQ調(diào)度算法來獲取可用帶寬的下一個可用部分。在框908中,獲勝隊列的TTT被更新了。此TTT更新運算的詳情如圖13所示并描述如下。在框909中WFQ樹的遞增競賽被執(zhí)行,用隊列WWID的新TTT來更新樹。最后,在競賽和數(shù)據(jù)報發(fā)送都結(jié)束后,控制返回框901去調(diào)度下一個數(shù)據(jù)報。
      相同的硬件被用于執(zhí)行WFQ競賽和CBR競賽。在特定調(diào)度間隔期間,競賽或者另外的被執(zhí)行。從不需要同時執(zhí)行兩個競賽。要在單排序引擎中支持兩個競賽,為了兩個競賽和用于選擇活動競賽的高地址位,每個RAM(在圖4中200,或者圖8A-C的610、630、650)是雙倍容量以保存樹。
      可變數(shù)據(jù)報長度調(diào)度用字節(jié)填充圖12顯示了當數(shù)據(jù)報依照CBR服務協(xié)議被發(fā)送后用于計算新STT的邏輯。邏輯遵循ATM“漏存儲段”通信量整形算法(參考,F(xiàn)erguson and Huston,Quality of Service,65頁)擴充以保存可變長度數(shù)據(jù)報和經(jīng)由物理層的位填充。邏輯通過在減法器802中從當前時間減去給出限制開始。線路803上的減法的結(jié)果和線路801上的當前STT在最大值單元804中作比較,兩者中間較大的被輸出到線路805上用作基線,新的STT由它計算而來。通過限制這個基線不少于在當前時間以前的給出的限制,數(shù)據(jù)流,轉(zhuǎn)向空閑一段時間是防止認購超額輸出線路直到它追趕上給出的時間為止。實際上,數(shù)據(jù)流的burstiness被限制于限于CBR加權(quán)的比例。這個比例代表比特的數(shù)量,當隊列空閑而且把追趕上當前時間的突發(fā)做擴展的時候,隊列可以堆積。
      在線路805上的基線STT通過時間量而遞增,可以以恒定比特率開始傳送當前數(shù)據(jù)報,包括所有的上層。首先,上層的兩個形態(tài)被加到在地址806里的數(shù)據(jù)報長度以在線路807上得到總數(shù)據(jù)報長度。上層的第一個形態(tài)對于報頭和組幀信息是每一個數(shù)據(jù)報上層恒定的需要。上層的第二個形態(tài)是由于某些物理層需要字節(jié)填充的物理層的上層。當發(fā)送每個數(shù)據(jù)報和加上這個數(shù)作為在下一個數(shù)據(jù)報發(fā)送時候上層的第二個形態(tài)時每個隊列保持填充一定數(shù)量的字節(jié)。保持這個連續(xù)數(shù)量允許填充字節(jié)以精確的解釋在CBR測量隊列即使假定數(shù)據(jù)報的填充的字節(jié)數(shù)量直到發(fā)送的時候才知道。
      在線路807上的總數(shù)據(jù)報長度接著通過和乘法器808里的CBR加權(quán)相乘來得到所需要的時間的間隔以發(fā)送數(shù)據(jù)報,所有的上層,在保證比特率下。CBR加權(quán)是和保證比特率彼此相反的,表達為輸出總線比特率的片段。換句話說CBR加權(quán)=輸出總線比特率/恒定比特率。一旦時間間隔通過乘法器808計算了,它通過加法器809被加到基線STT,作為結(jié)果的新的STT儲存在每隊列寄存器800。
      為利用加權(quán)平等排隊的隊列調(diào)度的新TTT的計算如圖13所示。計算的進行在某種意義上類似加權(quán)平等排隊算法(參考Zhang,“Service Disciplines for Guaranteed Performance Cervice inPacket-Switching Networks,”Proceedings of IEEE,83(10),Oct1995.)的擴充以處理可變數(shù)據(jù)報長度和數(shù)據(jù)報上層在某種意義上類似于上面描述的CBR算法。上層在加法器820里加起來,并且總數(shù)據(jù)報長度通過WFQ加權(quán)在乘法器822里相乘。乘法器822的輸出由加法器824增加到基線STT,新STT儲存在每隊列寄存器826。
      可替換的競賽排序競賽排序算法的一個可替換實施方案涉及僅僅儲存樹的每個內(nèi)部節(jié)點的每場比賽的結(jié)果。這和儲存每個內(nèi)部節(jié)點的比賽勝者的ID和key大不相同。這個可替換的實施方案舉例說明在圖15和16。圖15舉例說明代表和圖1相同的競賽的競賽樹,但是僅僅每場比賽的結(jié)果儲存在每個內(nèi)部節(jié)點。例如,葉子節(jié)點950和951之間比賽獲勝的是上部的節(jié)點950,所以0儲存在內(nèi)部節(jié)點958。葉子節(jié)點958和959之間比賽獲勝的是下部的節(jié)點959,所以1儲存在內(nèi)部節(jié)點962,等等。
      和圖15中樹的任何節(jié)點相關(guān)的ID和key通過跟隨從節(jié)點到獲勝葉子的路徑來識別。在路徑的每步,要是節(jié)點保存?zhèn)€0(表示上部節(jié)點比賽獲勝)上部的孩子被選擇,要是節(jié)點保存?zhèn)€1(表示下部節(jié)點比賽獲勝)下部的孩子被選擇。例如,和競賽勝者相關(guān)的ID和key,節(jié)點964通過跟隨樹中到節(jié)點955的粗體的路徑標識為ID5和key1。注意貫穿這條路徑的內(nèi)部節(jié)點的狀態(tài)也賦給此節(jié)點ID 1012=5。這個ID對應任一比賽的勝者,可以很快的利用多路復用器沿指定的路徑選擇適當?shù)膬?nèi)部節(jié)點來產(chǎn)生。
      當葉子節(jié)點更新時,競賽排序在某種意義上的遞增計算類似上面所描述的。例如,考慮如圖16舉例說明的情況,和節(jié)點955相關(guān)的計數(shù)器或者key從1變?yōu)?。沿節(jié)點955到根節(jié)點964路徑的每場比賽必須按順序重新計算。首先,第一層比賽的競爭者的ID,4,通過補足5的LSB來計算。節(jié)點955的key,9,和節(jié)點954的key,10,之間的比賽然后運行使955成為勝者。內(nèi)部節(jié)點960更新為a1以記錄下這個比賽的結(jié)果。其次第二層比賽競爭者的ID通過沿從節(jié)點961,960的兄弟,到它的獲勝葉子節(jié)點957,ID7和key6的路徑來計算。因此957贏得了比賽,所以內(nèi)部節(jié)點963更新為a1以記錄這個結(jié)果。最后的比賽的競爭者通過沿節(jié)點962,963的兄弟,到它的獲勝的葉子節(jié)點952的路徑被標識。假如這樣,952贏的比賽,所以根節(jié)點964更新為a0以記錄這個結(jié)果。注意,這個比賽完成時,從964到葉子節(jié)點952的路徑有值為010,葉子節(jié)點2的二進制的ID。
      圖4和圖8的硬件引擎可以很容易適應這個可替換的競賽查找在樹里每場比賽的結(jié)果儲存的地方。這個自適應的是通過減少RAMS的容量來保存僅僅葉子節(jié)點,增加觸發(fā)器數(shù)組來保存內(nèi)部節(jié)點的值,增加一組多路復用器從觸發(fā)器的狀態(tài)以計算比賽勝者的ID來完成的。僅僅在競賽初RAM不需要有一個單獨的寫端口作為它被寫入。所有后來的狀態(tài)的改變記錄在觸發(fā)器數(shù)組里。在圖8A-C的管道設備中,每個管道級的專用的RAMS也必須被帶有為每個管道級的獨立讀取端口的單個多端口RAM代替。
      圖19顯示了非管道硬件引擎塊圖,完成這個可替換的競賽排序。這是圖4的邏輯的自適應和相應的組件被同一的編碼。RAM200,既然這樣,可是,僅僅保存葉子節(jié)點的計數(shù)器值。它不保存內(nèi)部節(jié)點的ID和狀態(tài)。在排序的開始,當隊列的計數(shù)器變化了值,變化的隊列的ID和key輸出到線路上325和326的引擎。在第一個周期,key被寫入RAM數(shù)組200以更新此隊列存儲的key。在后來的周期中,尋址邏輯沿著樹向根的方向走,在303中計算在前一個周期間訪問的父節(jié)點的地址。節(jié)點地址將應用于觸發(fā)器數(shù)組的多路復用器,在樹的這一層的兄弟的勝者的葉子節(jié)點的ID依次恢復到寄存器992。兄弟勝者的地址接著被應用于RAM200以讀取寄存器311的在內(nèi)部節(jié)點里勝者對應的key。這個key在比較器313中和當前節(jié)點的key做比較。比較的結(jié)果更新觸發(fā)器樹組的狀態(tài),并且新key是勝利者,代替當前key寄存器312的key。
      圖19的觸發(fā)器樹組991的詳情如圖20A-B所示。觸發(fā)器樹組接受在線路n3到n0上的當前節(jié)點的地址,并且輸出在線路w2和w0上的兄弟競賽中獲勝的葉子節(jié)點的地址。反相器1010通過完成LSB把節(jié)點地址轉(zhuǎn)換為兄弟的地址。觸發(fā)器958到964保存了競賽里每次比較的結(jié)果。觸發(fā)器顯示的和圖15的狀態(tài)完全相同。多路復用器1001到1007計算基于觸發(fā)器內(nèi)容和輸入的兄弟地址的勝者的地址。選擇框1008和1009用于控制多路復用器1005和1006以計算基于競賽級別的勝者的地址的位數(shù)。
      圖20A-B的觸發(fā)器數(shù)組功能通過解釋例子可以更好的理解。考慮圖15所示的情況,前一個勝者,節(jié)點5,用新值9更新,競賽必須重新運行,從圖15的左到右。為計算第一個比賽勝者的地址,節(jié)點5的兄弟的地址,4,應用于線路n3到n0。由于線路n3為0,到全部三個多路復用器1005到1007的控制輸入是0,這些多路復用器選擇它們的最右邊輸入經(jīng)過節(jié)點4到輸出。因而,新競賽的第一場比賽將是在葉子節(jié)點5、值已經(jīng)在key寄存器312,和葉子節(jié)點4、值從RAM讀取。這場比賽的結(jié)果,a1由于節(jié)點5始終擊敗節(jié)點4,被用來更新觸發(fā)器960。
      第一場比賽結(jié)束以后,父邏輯303計算節(jié)點5的父節(jié)點的地址,二進制為10或者1010,并且給出這個地址到觸發(fā)器數(shù)組。假若這樣,兩個選擇框由于n3是a1但n2是a0而輸出a1,這導致了n1被傳給w2和n0的補數(shù)被傳給w1。因而,勝者地址的上面的兩位是11。多路復用器1007的控制輸入是1,來自n3,導致它選擇多路復用器1002的輸出以驅(qū)動位w0。多路復用器1002依次被最上級的位w2控制,因此它選擇多路復用器1004的輸出。這個多路復用器依次被也是a1的位w1控制。因此觸發(fā)器961的狀態(tài),a1,經(jīng)由多路復用器1004,1002,和1007選擇來驅(qū)動位w0。這是由于通過節(jié)點961(在地址11)代表的比賽的勝者是節(jié)點7。因此輸出的勝者地址是二進制的111或者7。節(jié)點7贏得節(jié)點5和7之間的比賽。觸發(fā)器963被這個勝利的結(jié)果a0更新。
      對于第三場比賽,父邏輯303輸出節(jié)點10的父親、節(jié)點13或者二進制的1101,給出這個地址到觸發(fā)器數(shù)組。由于最高三位是110,選擇框1005輸出a2、選擇n0的補數(shù)如w2,選擇框1006也輸出a2,選擇多路復用器1001的輸出如w1。由于w2是0,多路復用器1001選擇觸發(fā)器962的狀態(tài)、a1給w1。n3、w2和w1的組合選擇觸發(fā)器969的狀態(tài)給w0。因此勝者的地址是010,葉子節(jié)點2。因此第三場比賽是在節(jié)點2和節(jié)點7之間。節(jié)點2贏得了比賽。觸發(fā)器964被這個勝利的結(jié)果更新并且競賽隨著觸發(fā)器數(shù)組更新為如圖16所示狀態(tài)而結(jié)束。
      多級競賽排序在很多情況下把數(shù)據(jù)報調(diào)度過程劃分為多級是所期望的,如圖17所示。例如,我們可能希望把和輸出總線相連的帶寬劃分幾個‘片段’總線。數(shù)據(jù)報可能通過第一個執(zhí)行的一組競賽排序以選擇下幾個數(shù)據(jù)報給每個‘片段’總線和排列這些片段總線隊列里的數(shù)據(jù)報來調(diào)度。然后,第二競賽排序被執(zhí)行以調(diào)度來自片段總線隊列到線路上。如一個例子,傳送在光纖上的數(shù)據(jù)的每個復數(shù)片段的部分可以依照調(diào)度方法的不同混合排序。一個片段部分可以依照最優(yōu)效果方法調(diào)度,另一個依照CBR和最佳方法,等等。在最終級,所有隊列的調(diào)度可以依照CBR方法以確保每個片斷得到它分享的帶寬并且沒有更多。
      在第二個例子中,系統(tǒng)里的數(shù)據(jù)報調(diào)度功能可以跨越兩個不同的模塊或者片段劃分。假若這樣,一組競賽排序在第一個模塊被完成以選擇下一組數(shù)據(jù)報給每個個別的中級隊列,單獨競賽排序在第二個模塊里完成以從中級隊列的頭部調(diào)度數(shù)據(jù)報到輸出線路。
      本領域的技術(shù)人員懂得在輸出數(shù)據(jù)報調(diào)度程序有很多變化描述如下。例如三個或者更多調(diào)度規(guī)程可以整齊的組合勝過兩個(CBR和WFQ)在這里描述的。不同排序算法被用于選擇下一個要發(fā)送的數(shù)據(jù)報。被調(diào)度的單元可以是在IP路由器里數(shù)據(jù)報,ATM交換機里的單元,幀延時交換機里的幀。
      當本發(fā)明已經(jīng)詳細的顯示和描述了在其中參考的優(yōu)選實施方案,它將被那些本領域的技術(shù)人員所理解,其中所附權(quán)利要求包含的形式和細節(jié)的多種變化都沒有背離發(fā)明的范圍。
      權(quán)利要求
      1.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;從隊列中選擇數(shù)據(jù)報運送的調(diào)度程序,調(diào)度程序包括和隊列相聯(lián)的調(diào)度值;選擇網(wǎng)絡用來比較調(diào)度值以選擇被運送的數(shù)據(jù)報。
      2.如權(quán)利要求1中所述的網(wǎng)絡路由器,其中選擇網(wǎng)絡是樹結(jié)構(gòu),此樹結(jié)構(gòu)的每個葉子節(jié)點代表一個隊列的調(diào)度值,樹結(jié)構(gòu)的內(nèi)部節(jié)點代表樹結(jié)構(gòu)的兄弟節(jié)點的調(diào)度值的比較中勝利者。
      3.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中調(diào)度程序?qū)⒄{(diào)度值之間的比較限制在從代表變化調(diào)度值的葉子節(jié)點到樹結(jié)構(gòu)的根的貫穿整個樹結(jié)構(gòu)的路徑上。
      4.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中樹結(jié)構(gòu)的內(nèi)部節(jié)點儲存了從獲勝的兄弟節(jié)點來的調(diào)度值。
      5.如權(quán)利要求4中所述的網(wǎng)絡路由器,其中內(nèi)部節(jié)點儲存了對應儲存的調(diào)度值的葉子節(jié)點的特性。
      6.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中調(diào)度程序包括儲存樹結(jié)構(gòu)的隨機訪問內(nèi)存(RAM),儲存從RAM中訪問一個要比較的調(diào)度值地址的地址寄存器,儲存要跟從RAM來的調(diào)度值比較的調(diào)度值的比較寄存器,和比較調(diào)度值的比較器。
      7.如權(quán)利要求6中所述的網(wǎng)絡路由器,其中調(diào)度程序另外包括接收地址寄存器的地址和確定要比較的調(diào)度值所存儲的兄弟節(jié)點,和確定比較中獲勝的調(diào)度值所存儲的父節(jié)點的硬件。
      8.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中調(diào)度程序包括管道級,每個管道級比較樹結(jié)構(gòu)的分隔部分所指的調(diào)度值。
      9.如權(quán)利要求8中所述的網(wǎng)絡路由器,其中調(diào)度程序包括橫過管道級分區(qū)的隨機訪問內(nèi)存,每個分區(qū)至少儲存樹結(jié)構(gòu)的一層。
      10.如權(quán)利要求9中所述的網(wǎng)絡路由器,其中調(diào)度程序另外包括每個管道級的儲存從RAM中訪問要比較的調(diào)度值地址的地址寄存器,儲存要跟從RAM來的調(diào)度值比較的調(diào)度值的比較寄存器和比較調(diào)度值的比較器。
      11.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中每個節(jié)點標識了到獲勝的葉子節(jié)點的路徑。
      12.如權(quán)利要求11中所述的網(wǎng)絡路由器,其中包括儲存葉子節(jié)點隨機訪問內(nèi)存,在每個內(nèi)部節(jié)點標識勝利者的觸發(fā)器數(shù)組,和比較觸發(fā)器數(shù)組儲存的數(shù)據(jù)指向的RAM來的葉子節(jié)點的調(diào)度值的比較器。
      13.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中另外包括和每個隊列相關(guān)的指示器以從調(diào)度中屏蔽該隊列。
      14.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中調(diào)度值包括依照恒定比特率服務保證安排的傳輸時間。
      15.如權(quán)利要求14中所述的網(wǎng)絡路由器,其中調(diào)度值被更新以反映可變數(shù)據(jù)報連接。
      16.如權(quán)利要求14中所述的網(wǎng)絡路由器,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      17.如權(quán)利要求14中所述的網(wǎng)絡路由器,其中另外包括代表利用加權(quán)平等排隊(WFQ)調(diào)度方針的理論傳輸時間的調(diào)度值。
      18.如權(quán)利要求17中所述的網(wǎng)絡路由器,其中WFQ調(diào)度值為可變數(shù)據(jù)報長度而更新。
      19.如權(quán)利要求17中所述的網(wǎng)絡路由器,其中調(diào)度值調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      20.如權(quán)利要求2中所述的網(wǎng)絡路由器,其中另外包括代表利用加權(quán)平等排隊(WFQ)調(diào)度方針的理論傳輸時間的調(diào)度值。
      21.如權(quán)利要求20中所述的網(wǎng)絡路由器,其中WFQ調(diào)度值為可變數(shù)據(jù)報長度而更新。
      22.如權(quán)利要求20中所述的網(wǎng)絡路由器,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      23.如權(quán)利要求1中所述的網(wǎng)絡路由器,其中選擇網(wǎng)絡是排序網(wǎng)絡,通過它來比較調(diào)度值以依據(jù)調(diào)度優(yōu)先權(quán)把隊列排序。
      24.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;從隊列中選擇數(shù)據(jù)報運送的調(diào)度程序,調(diào)度程序包括和隊列相聯(lián)的調(diào)度值;和隊列相關(guān)的屏蔽隊列的指示器;比較沒被屏蔽的隊列的調(diào)度值以從此運送數(shù)據(jù)報的比較器。
      25.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;從隊列中選擇數(shù)據(jù)報運送的調(diào)度程序,調(diào)度程序包括和隊列的第一個子集相關(guān)的符合第一個調(diào)度方法的第一個調(diào)度值;和隊列的第二個子集相關(guān)的符合第二個調(diào)度方法的第二個調(diào)度值,至少一個隊列是隊列的每個第一個子集和第二個子集的成員;隊列選擇器,通過它第一個調(diào)度值被比較和第二個調(diào)度值被比較以選擇運送的數(shù)據(jù)報。
      26.如權(quán)利要求25中所述的網(wǎng)絡路由器,其中第一個調(diào)度方法是恒定比特率(CBR)調(diào)度,第二個調(diào)度方法是加權(quán)平等排隊(WFQ)調(diào)度。
      27.如權(quán)利要求26中所述的網(wǎng)絡路由器,其中調(diào)度程序選擇隊列是通過標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      28.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;從隊列中選擇數(shù)據(jù)報運送的調(diào)度程序,調(diào)度程序包括和隊列相關(guān)的調(diào)度值;選擇器,通過它調(diào)度值被比較以選擇被運送的數(shù)據(jù)報;調(diào)度值更新器來更新隊列中基于一個數(shù)據(jù)報的可變長度調(diào)度值。
      29.如權(quán)利要求28中所述的網(wǎng)絡路由器,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      30.如權(quán)利要求29中所述的網(wǎng)絡路由器,其中調(diào)度程序選擇隊列是通過標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      31.如權(quán)利要求28中所述的網(wǎng)絡路由器,其中調(diào)度程序包括標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      32.一個網(wǎng)絡路由器包括存儲被運送的數(shù)據(jù)報的第一組隊列;第一個調(diào)度程序用來選擇第一組隊列的隊列數(shù)據(jù)報運送到第一個中級隊列;存儲被運送的數(shù)據(jù)報的第二組隊列;第二個調(diào)度程序用來選擇第二組隊列的隊列數(shù)據(jù)報運送到第二個中級隊列;另外的調(diào)度程序用來選擇被運送的數(shù)據(jù)報所在的中級隊列。
      33.如權(quán)利要求32中所述的網(wǎng)絡路由器,其中第一個調(diào)度程序依據(jù)復數(shù)調(diào)度方法選擇隊列。
      34.一種發(fā)送數(shù)據(jù)報的方法包括儲存被運送的數(shù)據(jù)報的隊列;聯(lián)合調(diào)度值與隊列;在排序網(wǎng)絡里比較調(diào)度值以選擇數(shù)據(jù)報運送的隊列。
      35.如權(quán)利要求34中所述的方法,其中選擇網(wǎng)絡是樹結(jié)構(gòu),樹結(jié)構(gòu)的每個葉子節(jié)點代表隊列的調(diào)度值,樹結(jié)構(gòu)的內(nèi)部節(jié)點代表樹結(jié)構(gòu)里兄弟節(jié)點的調(diào)度值的比較中的勝利者。
      36.如權(quán)利要求35中所述的方法,其中調(diào)度程序?qū)⒄{(diào)度值之間的比較限制在從代表變化調(diào)度值的葉子節(jié)點到樹結(jié)構(gòu)的根的貫穿整個樹結(jié)構(gòu)的路徑上。
      37.如權(quán)利要求35中所述的方法,其中樹結(jié)構(gòu)的內(nèi)部節(jié)點儲存了從獲勝的兄弟節(jié)點來的調(diào)度值。
      38.如權(quán)利要求37中所述的方法,其中內(nèi)部節(jié)點儲存了對應儲存的調(diào)度值的葉子節(jié)點的特性。
      39.如權(quán)利要求35中所述的方法,其中樹結(jié)構(gòu)儲存在隨機訪問內(nèi)存(RAM)中,來自比較寄存器和RAM的調(diào)度值進行比較。
      40.如權(quán)利要求39中所述的方法,其中另外包括確定要比較的調(diào)度值所存儲的兄弟節(jié)點,和確定比較中獲勝的調(diào)度值所存儲的父節(jié)點地址。
      41.如權(quán)利要求35中所述的方法,其中另外包括在管道級里比較樹結(jié)構(gòu)的分隔部分所指的調(diào)度值。
      42.如權(quán)利要求41中所述的方法,其中另外包括在橫過管道級被劃分的隨機訪問內(nèi)存(RAM)的每個分區(qū)至少儲存樹結(jié)構(gòu)的一層。
      43.如權(quán)利要求42中所述的方法,其中另外包括,在每個管道級里,來自比較寄存器和RAM的調(diào)度值進行比較。
      44.如權(quán)利要求35中所述的方法,其中每個節(jié)點標識到獲勝葉子節(jié)點的路徑。
      45.如權(quán)利要求44中所述的方法,其中葉子節(jié)點儲存在隨機訪問內(nèi)存,每個內(nèi)部節(jié)點的勝利者標識在觸發(fā)器數(shù)組里,方法包括比較來自觸發(fā)器數(shù)組儲存的數(shù)據(jù)指向的RAM的葉子節(jié)點的調(diào)度值。
      46.如權(quán)利要求34中所述的方法,其中另外包括提供和每個隊列相關(guān)指向器以從調(diào)度中屏蔽該隊列。
      47.如權(quán)利要求34中所述的方法,其中調(diào)度值包括依照恒定比特率服務保證安排的傳輸時間。
      48.如權(quán)利要求47中所述的方法,其中調(diào)度值被更新以反映可變數(shù)據(jù)報長度。
      49.如權(quán)利要求47中所述的方法,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充字節(jié)。
      50.如權(quán)利要求47中所述的方法,其中調(diào)度值代表利用加權(quán)平等排隊(WFQ)調(diào)度方針的理論傳輸時間。
      51.如權(quán)利要求50中所述的方法,其中WFQ調(diào)度值為可變數(shù)據(jù)報長度而更新。
      52.如權(quán)利要求50中所述的方法,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      53.如權(quán)利要求34中所述的方法,其中調(diào)度值代表利用加權(quán)平等排隊(WFQ)調(diào)度方針的理論傳輸時間。
      54.如權(quán)利要求53中所述的方法,其中WFQ調(diào)度值為可變數(shù)據(jù)報長度而更新。
      55.如權(quán)利要求53中所述的方法,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      56.如權(quán)利要求34中所述的方法,其中選擇網(wǎng)絡是排序網(wǎng)絡,通過它來比較調(diào)度值以依據(jù)調(diào)度優(yōu)先權(quán)把隊列排序。
      57.一個發(fā)送數(shù)據(jù)報的方法包括儲存被運送的數(shù)據(jù)報的隊列;聯(lián)合調(diào)度值與隊列;和隊列相關(guān)的屏蔽隊列的指示器;比較沒被屏蔽的隊列的調(diào)度值以由此運送數(shù)據(jù)報。
      58.一個發(fā)送數(shù)據(jù)報的方法包括儲存被運送的數(shù)據(jù)報的隊列;和隊列的第一個子集相關(guān)的符合第一個調(diào)度方法的調(diào)度值;和隊列的第二個子集相關(guān)的符合第二個調(diào)度方法的調(diào)度值,至少一個隊列是隊列的每個第一個子集和第二個子集的成員;比較調(diào)度值以選擇數(shù)據(jù)報運送,在第一個調(diào)度方法下剩余的容量可用于在第二個調(diào)度方法下的調(diào)度。
      59.如權(quán)利要求58中所述的方法,其中第一個調(diào)度方法是恒定比特率(CBR)調(diào)度,第二個調(diào)度方法是加權(quán)平等排隊(WFQ)調(diào)度。
      60.如權(quán)利要求58中所述的網(wǎng)絡路由器,其中調(diào)度程序選擇隊列是通過標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      61.一個發(fā)送數(shù)據(jù)報的方法包括儲存被運送的數(shù)據(jù)報的隊列;聯(lián)合調(diào)度值與隊列;比較調(diào)度值以選擇數(shù)據(jù)報運送;更新隊列調(diào)度值基于隊列中數(shù)據(jù)報的可變長度。
      62.如權(quán)利要求61中所述的網(wǎng)絡路由器,其中調(diào)度值被更新以反映應用于先前數(shù)據(jù)報的填充的字節(jié)。
      63.如權(quán)利要求62中所述的網(wǎng)絡路由器,其中調(diào)度程序選擇隊列是通過標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      64.如權(quán)利要求61中所述的網(wǎng)絡路由器,其中調(diào)度程序包括標識最早調(diào)度的CBR隊列;如果標識的CBR隊列的調(diào)度值小于或者等于當前時間,從CBR隊列中發(fā)送相應的數(shù)據(jù)報并且更新和隊列相關(guān)的CBR調(diào)度值;否則,從WFQ隊列中發(fā)送具有最早調(diào)度值的數(shù)據(jù)報并且更新該隊列的調(diào)度值。
      65.一個發(fā)送數(shù)據(jù)報的方法包括在第一組和第二組隊列中存儲的被運送的數(shù)據(jù)報;選擇數(shù)據(jù)報被運送到第一個中級隊列的第一組隊列的隊列;選擇數(shù)據(jù)報被運送到第二個中級隊列的第二組隊列的隊列;選擇數(shù)據(jù)報被運送的中級隊列。
      66.如權(quán)利要求55中所述的方法,其中選擇第一組隊列的隊列的步驟包括依據(jù)復數(shù)調(diào)度方法選擇隊列。
      67.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;調(diào)度方法適合于選擇數(shù)據(jù)報被運送的隊列,調(diào)度方法括和隊列相關(guān)的調(diào)度值;選擇網(wǎng)絡,通過它調(diào)度值被比較以選擇被運送的數(shù)據(jù)報。
      68.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;調(diào)度方法適合于選擇數(shù)據(jù)報被運送的隊列,調(diào)度方法括和隊列相關(guān)的調(diào)度值;簡要地說明和隊列相關(guān)的用于屏蔽隊列的方法;比較器方法適合于比較沒被屏蔽的隊列的調(diào)度值以從此運送數(shù)據(jù)報;
      69.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;調(diào)度方法適合于選擇數(shù)據(jù)報被運送的隊列,調(diào)度方法括和隊列的第一個子集相關(guān)的符合第一個調(diào)度方法的第一個調(diào)度值;和隊列的第二個子集相關(guān)的符合第二個調(diào)度方法的第二個調(diào)度值,至少一個隊列是隊列的每個第一個子集和第二個子集的成員;隊列選擇方法適合于比較第一個調(diào)度值和第二個調(diào)度值以選擇被運送的數(shù)據(jù)報。
      70.一個網(wǎng)絡路由器包括儲存被運送的數(shù)據(jù)報的隊列;調(diào)度方法用于選擇數(shù)據(jù)報被運送的隊列,調(diào)度方法括和隊列相關(guān)的調(diào)度值;選擇方法適合于比較調(diào)度值以選擇被運送的數(shù)據(jù)報。更新方法適合于基于隊列中一個數(shù)據(jù)報的可變長度來更新隊列調(diào)度值。
      71.一個網(wǎng)絡路由器包括存儲了被運送的數(shù)據(jù)報的第一組隊列;第一個調(diào)度方法適合于選擇數(shù)據(jù)報被運送到第一個中級隊列的第一組隊列的隊列;存儲了被運送的數(shù)據(jù)報的第二組隊列;第二個調(diào)度方法適合于選擇數(shù)據(jù)報被運送到第二個中級隊列的第二組隊列的隊列;另外的調(diào)度方法適合于選擇數(shù)據(jù)報被運送的中級隊列。
      全文摘要
      在網(wǎng)絡路由器中,一個樹結(jié)構(gòu)或者一個排序網(wǎng)絡會用來比較調(diào)度值,從一個合適的隊列里選出一個數(shù)據(jù)報運送。在樹結(jié)構(gòu)里,每個葉子代表一個隊列的調(diào)度值,內(nèi)部節(jié)點代表兄弟節(jié)點間的調(diào)度值的比較獲勝的值。CBR調(diào)度值可能最先用來比較以選擇隊列,如果CBR選出隊列發(fā)送不及時,一個數(shù)據(jù)報可能利用WFQ調(diào)度方法來選擇。調(diào)度值被更新以反映可變數(shù)據(jù)報的長度和優(yōu)先數(shù)據(jù)報的填充字節(jié)。調(diào)度可以在多級運行。
      文檔編號H04L12/56GK1636349SQ00814007
      公開日2005年7月6日 申請日期2000年9月6日 優(yōu)先權(quán)日1999年9月9日
      發(fā)明者威廉·J·達利, 菲利普·P·卡維, 保羅·A·比利維奧, 威廉·F·曼恩, 拉里·R·丹尼桑 申請人:艾維西系統(tǒng)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1