欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分組調(diào)度方法和設(shè)備的制作方法

文檔序號(hào):7989393閱讀:347來源:國知局
分組調(diào)度方法和設(shè)備的制作方法
【專利摘要】本文中描述供路由器(或其它網(wǎng)絡(luò)元件)的網(wǎng)絡(luò)接口等等中使用的改進(jìn)分組調(diào)度方法和設(shè)備。在一種這樣的改進(jìn)方法中,將網(wǎng)絡(luò)接口中緩沖的分組分段以供在通信鏈路上傳送到各由調(diào)度樹所表示的多個(gè)調(diào)度域中,各調(diào)度樹被指配給獨(dú)立虛擬端口調(diào)度引擎,以及頂級(jí)調(diào)度引擎用于在虛擬端口調(diào)度引擎的輸出之間進(jìn)行調(diào)度,以便進(jìn)行關(guān)于哪一個(gè)所緩沖分組要在通信鏈路上傳送(例如移動(dòng)到網(wǎng)絡(luò)接口的傳送隊(duì)列)的最終選擇。通過使虛擬端口調(diào)度引擎并行地并且基本上相互無關(guān)地進(jìn)行操作,能夠?qū)⒎纸M移入傳送隊(duì)列的速率可極大地增加,由此增加路由器的網(wǎng)絡(luò)接口的帶寬。
【專利說明】分組調(diào)度方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分組調(diào)度。如本文所使用的,術(shù)語“分組”廣泛地用于包含例如在OSI模型的任何層(例如網(wǎng)絡(luò)層、傳輸層、數(shù)據(jù)物理通信鏈路層、應(yīng)用層等)的任何數(shù)據(jù)單元。
【背景技術(shù)】
[0002]當(dāng)多個(gè)分組爭用共同出局通信鏈路(例如物理通信鏈路或者偽線)時(shí),分組調(diào)度是必要的。這種情況通常在路由器(和其它網(wǎng)絡(luò)元件)中發(fā)生。在其最簡單形式,路由器將第一網(wǎng)絡(luò)與第二網(wǎng)絡(luò)連接。也就是說,存在將路由器的第一網(wǎng)絡(luò)接口連接到第一網(wǎng)絡(luò)的第一物理通信鏈路以及將路由器的第二網(wǎng)絡(luò)接口連接到第二網(wǎng)絡(luò)的第二物理通信鏈路,由此使路由器能夠在兩個(gè)網(wǎng)絡(luò)之間路由分組。路由器可經(jīng)由第一物理通信鏈路從第一網(wǎng)絡(luò)接收預(yù)計(jì)送往第二網(wǎng)絡(luò)中的節(jié)點(diǎn)的分組。在某些時(shí)間點(diǎn),這些分組到達(dá)路由器的速率可超過路由器能夠?qū)⒎纸M傳送到第二物理通信鏈路的速率(例如,第二物理通信鏈路可具有比第一物理通信鏈路要低的帶寬)。因此,路由器可采用分組隊(duì)列來暫時(shí)存儲(chǔ)所接收分組。因此,在任何給定時(shí)間點(diǎn),路由器可能在其分組隊(duì)列中存儲(chǔ)從第一網(wǎng)絡(luò)接收并且預(yù)計(jì)送往第二網(wǎng)絡(luò)的多個(gè)分組。由于可存在將路由器連接到第二網(wǎng)絡(luò)的單個(gè)物理通信鏈路,所以排隊(duì)分組將“爭用”這個(gè)公共出局物理通信鏈路。因此,路由器要求分組調(diào)度的某種方法。也就是說,路由器需要選擇排隊(duì)分組的哪一個(gè)接下來將獲得出局傳輸?shù)哪撤N方式。
[0003]一種分組調(diào)度技術(shù)涉及:(a)創(chuàng)建具有根調(diào)度節(jié)點(diǎn)、葉調(diào)度節(jié)點(diǎn)集合和零或更多聚合調(diào)度節(jié)點(diǎn)的調(diào)度樹,其中每個(gè)葉調(diào)度節(jié)點(diǎn)與分組隊(duì)列關(guān)聯(lián);以及(b)采用調(diào)度引擎連續(xù)地遍歷調(diào)度樹,以便到達(dá)葉調(diào)度節(jié)點(diǎn)并且將分組從與葉調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的分組隊(duì)列移動(dòng)到傳送隊(duì)列。這種技術(shù)的一個(gè)問題在于,調(diào)度引擎的性能可因存儲(chǔ)器帶寬限制以及用于訪問和更新各調(diào)度節(jié)點(diǎn)的共享狀態(tài)信息的爭用開銷等等而受到限制。
[0004]因此,所需的是一種改進(jìn)的分組調(diào)度過程。

【發(fā)明內(nèi)容】

[0005]本文中描述用于改進(jìn)路由器(或其它網(wǎng)絡(luò)元件)的網(wǎng)絡(luò)接口中的分組調(diào)度的方法和設(shè)備。一種方法是:將網(wǎng)絡(luò)接口中緩沖以供傳輸(例如供在物理通信鏈路或端口偽線或者鏈路聚合組(LAG)上的傳輸)的分組分段為多個(gè)調(diào)度域,其中各調(diào)度域由調(diào)度樹來表示;將各調(diào)度樹指配給獨(dú)立虛擬端口調(diào)度引擎;以及采用頂級(jí)調(diào)度引擎在虛擬端口調(diào)度引擎的輸出之間進(jìn)行調(diào)度,以便進(jìn)行對(duì)哪個(gè)緩沖分組要傳送(以及移動(dòng)到網(wǎng)絡(luò)接口的傳送隊(duì)列)的最終選擇。
[0006]使虛擬端口調(diào)度引擎并行地并且基本上相互無關(guān)地進(jìn)行操作極大地減小對(duì)于每個(gè)單獨(dú)調(diào)度決策必須考慮的共享狀態(tài)的量。因此,通過這種技術(shù),能夠?qū)⒎纸M移入傳送隊(duì)列的速率可實(shí)質(zhì)上增加。因此,如果網(wǎng)絡(luò)接口連接到高速通信鏈路(例如100千兆位/每秒(Gbps)物理通信鏈路),則調(diào)度系統(tǒng)足夠迅速地進(jìn)行操作以利用通信鏈路的全帶寬的能力得到增強(qiáng)。[0007]相應(yīng)地,在一個(gè)方面,提供一種分組調(diào)度設(shè)備。在一些實(shí)施例中,分組調(diào)度設(shè)備包括:第一調(diào)度引擎(例如第一虛擬端口調(diào)度引擎);第二調(diào)度引擎(例如第二虛擬端口調(diào)度引擎);以及第三調(diào)度引擎(例如頂級(jí)調(diào)度引擎)。第一調(diào)度引擎可操作以:(a)從分組隊(duì)列的第一集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列。第一調(diào)度引擎可配置成使用與調(diào)度節(jié)點(diǎn)的第一集合(例如形成調(diào)度樹的調(diào)度節(jié)點(diǎn)的分級(jí)設(shè)置集合)對(duì)應(yīng)的信息來執(zhí)行分組隊(duì)列選擇。
[0008]與第一調(diào)度引擎相似,第二調(diào)度引擎可操作以:(a)從分組隊(duì)列的第二集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第二集合中包含的中間分組隊(duì)列。第二調(diào)度引擎可配置成使用與調(diào)度節(jié)點(diǎn)的第二集合對(duì)應(yīng)的信息來執(zhí)行分組隊(duì)列選擇。在一些實(shí)施例中,第一調(diào)度引擎和第二調(diào)度引擎配置成相互無關(guān)地選擇分組隊(duì)列,使得狀態(tài)信息無需在第一與第二調(diào)度引擎之間共享。第三調(diào)度引擎可操作以:(a)從包括中間分組隊(duì)列的第一集合和中間分組隊(duì)列的第二集合的分組隊(duì)列集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列。
[0009]在一些實(shí)施例中,分組調(diào)度設(shè)備可在網(wǎng)絡(luò)接口中實(shí)現(xiàn),并且還包括配置成將分組從傳送隊(duì)列傳送到通信鏈路上的分組傳送器。
[0010]在一些實(shí)施例中,第一和第二調(diào)度引擎是包括計(jì)算機(jī)可讀介質(zhì)的基于軟件的調(diào)度引擎,計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)了加載到處理器并且由其來運(yùn)行的計(jì)算機(jī)代碼,以及第三調(diào)度引擎是使用專用集成電路(ASIC)來實(shí)現(xiàn)的基于純硬件的調(diào)度引擎。
[0011]在一些實(shí)施例中,分組隊(duì)列的第一集合中包含的分組隊(duì)列集合與第一分組流關(guān)聯(lián),分組隊(duì)列的第二集合中包含的分組隊(duì)列集合與第二分組流關(guān)聯(lián),以及分組調(diào)度設(shè)備還包括配置成執(zhí)行下列步驟的分組接入和處理單元(PRPU): (a)接收分組;(b)確定分組所屬的分組流;以及(C)將分組放入與分組流關(guān)聯(lián)的出口分組隊(duì)列中。PRPU可以是基于軟件的(例如PRPU可包括其中存儲(chǔ)了加載到處理器并且由其來運(yùn)行的計(jì)算機(jī)代碼的計(jì)算機(jī)可讀介質(zhì))或者基于硬件的(例如PRPU可使用專用集成電路(ASIC)來實(shí)現(xiàn))。
[0012]在一些實(shí)施例中,第三調(diào)度引擎可操作以從包括中間分組隊(duì)列的第一集合、中間分組隊(duì)列的第二集合和分組隊(duì)列的第三集合的分組隊(duì)列集合中選擇分組隊(duì)列,其中分組隊(duì)列的第三集合中包含的分組隊(duì)列集合與第三分組流關(guān)聯(lián)。在這類實(shí)施例中,PRPU配置成使得:(a)當(dāng)PRI3U接收分組并且確定該分組屬于第一分組流時(shí),PRPU將分組放入與第一分組流關(guān)聯(lián)的分組隊(duì)列集合中包含的分組隊(duì)列之一中;(b)當(dāng)PRPU接收分組并且確定該分組屬于第二分組流時(shí),PRPU將分組放入與第二分組流關(guān)聯(lián)的分組隊(duì)列集合中包含的分組隊(duì)列之一中;以及(c)當(dāng)PRPU接收分組并且確定該分組屬于第三分組流時(shí),PRPU將分組放入與第三分組流關(guān)聯(lián)的分組隊(duì)列集合中包含的分組隊(duì)列之一中。
[0013]在一些實(shí)施例中,調(diào)度節(jié)點(diǎn)的第一集合包括來自調(diào)度樹的第一子樹的調(diào)度節(jié)點(diǎn),以及調(diào)度節(jié)點(diǎn)的第二集合包括來自調(diào)度樹的不同的第二子樹的調(diào)度節(jié)點(diǎn)。在這類實(shí)施例中,配置模塊可配置成檢查定義調(diào)度樹的信息,向第一調(diào)度引擎指配調(diào)度樹的第一子樹,以及向第二調(diào)度引擎指配調(diào)度樹的不同的第二子樹。
[0014]在一些實(shí)施例中,調(diào)度節(jié)點(diǎn)的第一集合包括也包含在調(diào)度節(jié)點(diǎn)的第二集合中的調(diào)度節(jié)點(diǎn)集合。
[0015]在一些實(shí)施例中,對(duì)應(yīng)于調(diào)度節(jié)點(diǎn)的第一集合的信息包括:(a)與調(diào)度節(jié)點(diǎn)的第一集合中包含的調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第一最大數(shù)據(jù)速率信息;(b)識(shí)別第一調(diào)度算法的信息,并且對(duì)應(yīng)于調(diào)度節(jié)點(diǎn)的第二集合的信息包括:(a)與調(diào)度節(jié)點(diǎn)的第二集合中包含的調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第二最大數(shù)據(jù)速率信息;以及(b)識(shí)別第二調(diào)度算法的信息。
[0016]在一些實(shí)施例中,第一調(diào)度引擎配置成使用第一最大數(shù)據(jù)速率信息和第一調(diào)度算法選擇從其中移開分組的分組隊(duì)列,以及第二調(diào)度引擎配置成使用第二最大數(shù)據(jù)速率信息和第二調(diào)度算法選擇從其中移開分組的分組隊(duì)列。
[0017]在一些實(shí)施例中,第一調(diào)度引擎包括:數(shù)據(jù)處理系統(tǒng);以及數(shù)據(jù)處理系統(tǒng)可訪問的計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)計(jì)算機(jī)可讀程序代碼,計(jì)算機(jī)可讀程序代碼在由數(shù)據(jù)處理系統(tǒng)運(yùn)行時(shí)使數(shù)據(jù)處理系統(tǒng):(a)從分組隊(duì)列的第一集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列。
[0018]在另一方面,提供一種分組調(diào)度方法。在一些實(shí)施例中,分組調(diào)度方法包括下列步驟:將分組隊(duì)列的第一集合指配給第一調(diào)度引擎;將分組隊(duì)列的第二集合指配給第二調(diào)度引擎;將第一分組流指配給分組隊(duì)列的第一集合中包含的分組隊(duì)列集合;將第二分組流指配給分組隊(duì)列的第二集合中包含的數(shù)據(jù)隊(duì)列集合;在網(wǎng)絡(luò)元件的網(wǎng)絡(luò)接口接收分組;確定該分組所屬的分組流;如果所接收分組屬于第一分組流,則響應(yīng)確定所接收分組屬于第一分組流而將所接收分組放入對(duì)其指配第一分組流的分組隊(duì)列集合中包含的分組隊(duì)列之一中;以及如果所接收分組屬于第二分組流,則響應(yīng)確定所接收分組屬于第二分組流而將所接入分組放入對(duì)其指配第二分組流的分組隊(duì)列集合中包含的分組隊(duì)列中。
[0019]在一些實(shí)施例中,第一調(diào)度引擎:(a)從分組隊(duì)列的第一集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列,第二調(diào)度引擎:(a)從分組隊(duì)列的第二集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第二集合中包含的中間分組隊(duì)列;并且第三調(diào)度引擎:(a)從包括中間分組隊(duì)列的第一集合和中間分組隊(duì)列的第二集合的分組隊(duì)列集合中選擇分組隊(duì)列;以及(b)將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列。網(wǎng)絡(luò)接口的分組傳送器配置成將分組從傳送隊(duì)列傳送到通信鏈路上。
[0020]下面參照附圖來描述上述及其它方面和實(shí)施例。
【專利附圖】

【附圖說明】
[0021]結(jié)合在本文中并且形成本說明書的組成部分的附圖示出本發(fā)明的各個(gè)實(shí)施例,并且還連同描述一起用于說明本發(fā)明的原理,以及使相關(guān)領(lǐng)域的技術(shù)人員能夠進(jìn)行和使用本發(fā)明。附圖中,相似參考標(biāo)號(hào)表示相同或者功能上相似的元件。
[0022]圖1示出包括邊緣路由器的通信系統(tǒng)。
[0023]圖2是邊緣路由器的網(wǎng)絡(luò)接口的功能圖。
[0024]圖3示出示例調(diào)度樹。
[0025]圖4示出能夠?qū)⒄{(diào)度樹分為多個(gè)子樹的一種可能方式。
[0026]圖5是按照一個(gè)實(shí)施例的調(diào)度系統(tǒng)的功能圖。
[0027]圖6示出能夠?qū)⒄{(diào)度樹分為多個(gè)子樹的另一種可能方式。
[0028]圖7是按照另一個(gè)實(shí)施例的調(diào)度系統(tǒng)的功能圖。
[0029]圖8是示出按照具體實(shí)施例的各種過程的流程圖。[0030]圖9示出通信系統(tǒng)。
[0031]圖10示出調(diào)度節(jié)點(diǎn)的分級(jí)設(shè)置集合。
[0032]圖11示出經(jīng)修改的調(diào)度樹。
[0033]圖12示出兩個(gè)經(jīng)修改的調(diào)度樹。
[0034]圖13是按照一些實(shí)施例的調(diào)度引擎的框圖。
[0035]圖14是示出調(diào)度引擎的示例軟件組件的框圖。
【具體實(shí)施方式】
[0036]如本文所使用的“一”和“一個(gè)”表示“一個(gè)或多個(gè)”。
[0037]圖1示出其中可采用本發(fā)明的實(shí)施例的示例通信系統(tǒng)100。但是,本發(fā)明并不局限于任何特定類型的通信系統(tǒng)。在所示示例中,通信系統(tǒng)100包括向網(wǎng)絡(luò)110(例如因特網(wǎng))傳送分組以及從網(wǎng)絡(luò)110接收分組的多個(gè)最終用戶裝置101。如圖1所示,用戶裝置101經(jīng)由接入網(wǎng)103以及起作用以將接入網(wǎng)103與網(wǎng)絡(luò)110相連接的網(wǎng)絡(luò)元件108 (例如邊緣路由器108)與網(wǎng)絡(luò)110(例如網(wǎng)絡(luò)110中的服務(wù)器)進(jìn)行通信。
[0038]在所示示例中,接入網(wǎng)103是數(shù)字訂戶線(DSL)接入網(wǎng)103,但是可使用任何類型的接入網(wǎng)103。示例DSL接入網(wǎng)103包括連接到DSL接入復(fù)用器(DSLAM) 104的DSL調(diào)制解調(diào)器102,其中DSLAM 104經(jīng)由物理通信鏈路122連接到交換機(jī)106。例如,DSL調(diào)制解調(diào)器102經(jīng)由物理通信鏈路122與DSLAM 104連接,DSLAM 104經(jīng)由物理通信鏈路122與交換機(jī)106連接。交換機(jī)106經(jīng)由物理通信鏈路123 (它可以是有線或無線的)與網(wǎng)絡(luò)元件108的網(wǎng)絡(luò)接口 191連接。類似地,網(wǎng)絡(luò)110經(jīng)由物理通信鏈路124與邊緣路由器108的網(wǎng)絡(luò)接口 192連接。網(wǎng)絡(luò)接口 191和192可通過網(wǎng)絡(luò)元件108的底板組件(未示出)來連接。還連接到交換機(jī)106的可以是另一個(gè)網(wǎng)絡(luò)112。
[0039]圖2是網(wǎng)絡(luò)元件108的網(wǎng)絡(luò)接口 191的分組出口部分的功能圖。如圖2所示,網(wǎng)絡(luò)接口 191包括分組接收和處理單元(PRPU) 202。在圖1所示的實(shí)施例中,PRPU 202經(jīng)由例如網(wǎng)絡(luò)元件108的底板從網(wǎng)絡(luò)接口 192接收分組。從網(wǎng)絡(luò)接口 192所接收的分組包括網(wǎng)絡(luò)接口 192從網(wǎng)絡(luò)110接收的分組。除了向PRPU 2002提供分組之外,網(wǎng)絡(luò)接口 192還可對(duì)于它提供給PRPU 202的各分組提供該分組的元數(shù)據(jù)。
[0040]在一個(gè)實(shí)施例中,由PRPU 202所接收的各分組屬于單個(gè)分組流。在這個(gè)實(shí)施例中,對(duì)于PRPU 202所接收的各分組,PRPU 202起作用以確定所接收分組所屬的分組流。在一些實(shí)施例中,PRPU 202通過檢查分組所包含的分組報(bào)頭中包含的數(shù)據(jù),或者通過檢查分組的元數(shù)據(jù)(若有的話),來確定所接收分組所屬的分組流。例如,分組報(bào)頭(或者元數(shù)據(jù))可包括一個(gè)或多個(gè)虛擬局域網(wǎng)(VLAN)標(biāo)簽(例如外VLAN標(biāo)簽和內(nèi)VLAN標(biāo)簽),并且還可包括識(shí)別分組攜帶的有效載荷數(shù)據(jù)(例如,諸如基于IP的語音數(shù)據(jù)之類的實(shí)時(shí)數(shù)據(jù)或者諸如HTTP消息之類的非實(shí)時(shí)數(shù)據(jù))的類型的信息。作為一個(gè)具體示例,與某個(gè)外VLAN標(biāo)簽、內(nèi)VLAN標(biāo)簽和有效載荷類型關(guān)聯(lián)的所有分組被確定屬于同一個(gè)流,而與不同外VLAN標(biāo)簽、內(nèi)VLAN標(biāo)簽或者有效載荷類型關(guān)聯(lián)的所有分組被確定屬于不同的分組流。
[0041]PRPU 202還起作用以基于分組所屬的所確定分組流來將所接收分組添加到分組隊(duì)列。也就是說,在一些實(shí)施例中,各分組流與分組隊(duì)列關(guān)聯(lián)。例如,網(wǎng)絡(luò)接口 191可包括分組流到分組隊(duì)列數(shù)據(jù)庫(DB),該DB可在例如對(duì)其寫入和讀取數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)中實(shí)現(xiàn),計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)將所定義分組流集合的每一個(gè)分組流映射到分組隊(duì)列的信息。如圖2所示,網(wǎng)絡(luò)接口 191包括分組隊(duì)列集合206 (例如分組隊(duì)列ql_q8,如所示)。
[0042]例如,如果假定PRPU 202所接收并且預(yù)計(jì)送往網(wǎng)絡(luò)112的所有分組屬于同一分組流,則這個(gè)分組流可與例如q8關(guān)聯(lián)。因此,在這個(gè)示例中,當(dāng)PRPU 202從網(wǎng)絡(luò)接口 192接收預(yù)計(jì)送往網(wǎng)絡(luò)112的分組(或者分組的元數(shù)據(jù)-例如分組標(biāo)識(shí)符、識(shí)別存儲(chǔ)分組的存儲(chǔ)器位置的存儲(chǔ)器位置標(biāo)識(shí)符、目標(biāo)地址信息)時(shí),PRPU 202將分組“添加”到q8。在分組隊(duì)列中的所有分組依次位于同一存儲(chǔ)裝置中的意義上,分組隊(duì)列集合206中的分組隊(duì)列不需要是物理分組隊(duì)列。相反,本文所述的分組隊(duì)列可以是邏輯分組隊(duì)列,例如邏輯先進(jìn)先出(FIFO)分組隊(duì)列。分組本身可存儲(chǔ)在任何位置。因此,將分組“添加”到分組隊(duì)列可包括只向?qū)崿F(xiàn)分組隊(duì)列的數(shù)據(jù)結(jié)構(gòu)(例如鏈接表數(shù)據(jù)結(jié)構(gòu))添加與分組唯一關(guān)聯(lián)的標(biāo)識(shí)符(例如識(shí)別存儲(chǔ)分組的存儲(chǔ)器位置的標(biāo)識(shí)符)。
[0043]當(dāng)PRPU 202處理分組(例如將分組添加到分組隊(duì)列206之一)時(shí),調(diào)度系統(tǒng)212連續(xù)選擇分組隊(duì)列206之一,并且將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列214。并行地,分組傳送器216連續(xù)地從傳送隊(duì)列214移開分組,并且將那些分組傳送到物理通信鏈路123上。在一些實(shí)施例中,分組傳送器216在傳送分組之前可將報(bào)頭添加到分組,由此創(chuàng)建協(xié)議數(shù)據(jù)單元。這樣,分組流入和流出網(wǎng)絡(luò)接口 191的出口部分。
[0044]在一些實(shí)施例中,在是時(shí)候使調(diào)度系統(tǒng)212選擇分組隊(duì)列時(shí),調(diào)度系統(tǒng)212遍歷調(diào)度樹,以便從分組隊(duì)列集合206確定應(yīng)當(dāng)選擇的分組隊(duì)列。因此,網(wǎng)絡(luò)接口 191可包括調(diào)度樹數(shù)據(jù)庫210,調(diào)度樹數(shù)據(jù)庫210可在對(duì)其寫入和讀取數(shù)據(jù)的、用于存儲(chǔ)定義調(diào)度樹的信息的計(jì)算機(jī)可讀介質(zhì)中實(shí)現(xiàn)。
[0045]圖3示出可由調(diào)度系統(tǒng)300使用的示例調(diào)度樹300。調(diào)度樹300包括調(diào)度節(jié)點(diǎn)集合(例如調(diào)度節(jié)點(diǎn)301-314),其中的每個(gè)可作為計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)的、在邏輯上以決策樹形式所組織的數(shù)據(jù)結(jié)構(gòu)(例如集中在一起的數(shù)據(jù)元素集合)來實(shí)現(xiàn)。也就是說,除了葉調(diào)度節(jié)點(diǎn)之外的各調(diào)度節(jié)點(diǎn)具有一個(gè)或多個(gè)子調(diào)度節(jié)點(diǎn),以及除了根調(diào)度節(jié)點(diǎn)之外的各調(diào)度節(jié)點(diǎn)具有父節(jié)點(diǎn)。更具體來說,調(diào)度樹300包括根調(diào)度節(jié)點(diǎn)301、聚合調(diào)度節(jié)點(diǎn)(例如調(diào)度節(jié)點(diǎn)302、304、305、307和308)以及葉調(diào)度節(jié)點(diǎn)(例如調(diào)度節(jié)點(diǎn)303、306和309-314)。
[0046]在所示示例中,每個(gè)葉調(diào)度節(jié)點(diǎn)和每個(gè)聚合調(diào)度節(jié)點(diǎn)表示PRPU 202所接收的、可傳送到物理通信鏈路123上的分組流的子集,以及根調(diào)度節(jié)點(diǎn)301表示PRPU 202所接收的、可傳送到物理通信鏈路123上的全部分組流。另外,每個(gè)葉調(diào)度節(jié)點(diǎn)與唯一分組隊(duì)列關(guān)聯(lián)。因此,調(diào)度樹300示出可存儲(chǔ)在數(shù)據(jù)庫204中并且由PRPU 202使用的分組流到分組隊(duì)列映射,如上所述。
[0047]作為一個(gè)具體示例,葉調(diào)度節(jié)點(diǎn)303表示送往網(wǎng)絡(luò)112的分組流,葉調(diào)度節(jié)點(diǎn)309表示預(yù)計(jì)送往VLAN 1.1的的語音分組流(包含語音數(shù)據(jù)、例如基于IP的語音數(shù)據(jù)的分組),葉調(diào)度節(jié)點(diǎn)310表示預(yù)計(jì)送往VLAN 1.1的非語音分組流,聚合調(diào)度節(jié)點(diǎn)305表示預(yù)計(jì)送往VLAN 1.1的全部分組流(即,語音和非語音),以及葉調(diào)度節(jié)點(diǎn)306表示預(yù)計(jì)送往VLAN
1.2的全部分組流。在這個(gè)示例中,假定VLAN I與DSLAM 104關(guān)聯(lián),使得預(yù)計(jì)送往VLAN I的全部業(yè)務(wù)由交換機(jī)106傳送到物理通信鏈路122上,以及VLAN 1.1與DSL裝置102關(guān)聯(lián),使得預(yù)計(jì)送往VLAN 1.1的全部業(yè)務(wù)由DSLAM 104傳送到物理通信鏈路121上。
[0048]如圖3所示,每個(gè)葉調(diào)度節(jié)點(diǎn)直接連接到根調(diào)度節(jié)點(diǎn)301或者通過一個(gè)或多個(gè)聚合調(diào)度節(jié)點(diǎn)間接連接到根調(diào)度節(jié)點(diǎn)301。例如,葉調(diào)度節(jié)點(diǎn)303直接連接到根調(diào)度節(jié)點(diǎn)301,而葉調(diào)度節(jié)點(diǎn)311通過聚合調(diào)度節(jié)點(diǎn)304和307連接到根調(diào)度節(jié)點(diǎn)301。同樣,各聚合調(diào)度節(jié)點(diǎn)直接連接到根調(diào)度節(jié)點(diǎn)301或者通過一個(gè)或多個(gè)其它聚合調(diào)度節(jié)點(diǎn)間接連接到根調(diào)度節(jié)點(diǎn)301。
[0049]如所述,各調(diào)度節(jié)點(diǎn)可作為計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。因此,在一些實(shí)施例中,實(shí)現(xiàn)調(diào)度節(jié)點(diǎn)的各數(shù)據(jù)結(jié)構(gòu)可包括:(i)父指針數(shù)據(jù)元素,存儲(chǔ)指向?qū)崿F(xiàn)另一個(gè)調(diào)度節(jié)點(diǎn)(即,調(diào)度節(jié)點(diǎn)的父)的另一個(gè)數(shù)據(jù)結(jié)構(gòu)的父調(diào)度節(jié)點(diǎn)指針;以及(ii)子指針數(shù)據(jù)元素集合,其中每個(gè)子指針數(shù)據(jù)元素存儲(chǔ)指向?qū)崿F(xiàn)另一個(gè)調(diào)度節(jié)點(diǎn)(即,調(diào)度節(jié)點(diǎn)的子之一)的另一個(gè)數(shù)據(jù)結(jié)構(gòu)的子調(diào)度節(jié)點(diǎn)指針。因此,相對(duì)于另一個(gè)調(diào)度節(jié)點(diǎn)的各調(diào)度節(jié)點(diǎn)可以是那個(gè)另一調(diào)度節(jié)點(diǎn)的父或子。在實(shí)現(xiàn)根節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)的情況下,那個(gè)數(shù)據(jù)結(jié)構(gòu)的父調(diào)度節(jié)點(diǎn)指針可指向空(NULL),因?yàn)樵谝恍?shí)施例中,根據(jù)定義,根節(jié)點(diǎn)可以沒有父調(diào)度節(jié)點(diǎn)。同樣,在實(shí)現(xiàn)葉節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)的情況下,那個(gè)數(shù)據(jù)結(jié)構(gòu)的每個(gè)子調(diào)度節(jié)點(diǎn)指針可指向空(NULL),因?yàn)樵谝恍?shí)施例中,根據(jù)定義,葉節(jié)點(diǎn)可以沒有任何子調(diào)度節(jié)點(diǎn)。
[0050]如上所述,調(diào)度系統(tǒng)212可配置成通過遍歷調(diào)度樹300來選擇從其中得到分組供傳遞給傳送隊(duì)列214的分組隊(duì)列。在一些實(shí)施例中,調(diào)度系統(tǒng)212通過在根調(diào)度節(jié)點(diǎn)301開始,并且然后選擇子調(diào)度節(jié)點(diǎn)(例如從實(shí)現(xiàn)根節(jié)點(diǎn)301的數(shù)據(jù)結(jié)構(gòu)中選擇子指針數(shù)據(jù)元素),按照自頂向下方式來遍歷調(diào)度樹300 (但是,在其它實(shí)施例中,調(diào)度系統(tǒng)可使用自底向上遍歷算法來遍歷調(diào)度樹300)。在一些實(shí)施例中,根調(diào)度節(jié)點(diǎn)301可與調(diào)度算法(例如循環(huán)法)關(guān)聯(lián)。另外,各調(diào)度節(jié)點(diǎn)可與最大數(shù)據(jù)速率(以及其它參數(shù),例如最小目標(biāo)數(shù)據(jù)速率)關(guān)聯(lián)。例如,如上所述,數(shù)據(jù)結(jié)構(gòu)可實(shí)現(xiàn)調(diào)度節(jié)點(diǎn),因此,調(diào)度節(jié)點(diǎn)可通過將最大數(shù)據(jù)速率存儲(chǔ)在實(shí)現(xiàn)調(diào)度節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素中,來與最大數(shù)據(jù)速率關(guān)聯(lián)。
[0051]在這類實(shí)施例中,調(diào)度引擎212使用與根調(diào)度節(jié)點(diǎn)301關(guān)聯(lián)的調(diào)度算法和最大數(shù)據(jù)速率來選擇根調(diào)度節(jié)點(diǎn)301的子調(diào)度節(jié)點(diǎn)。例如,如果假定(a)與調(diào)度節(jié)點(diǎn)302關(guān)聯(lián)的最大數(shù)據(jù)速率為7 Gbps以及(b)與根調(diào)度節(jié)點(diǎn)301關(guān)聯(lián)的調(diào)度算法指示調(diào)度系統(tǒng)212應(yīng)當(dāng)選擇聚合調(diào)度節(jié)點(diǎn)302,則調(diào)度系統(tǒng)212將選擇聚合調(diào)度節(jié)點(diǎn)302,除非在最后一秒時(shí)間(或者其它時(shí)間期)之內(nèi),調(diào)度系統(tǒng)212已經(jīng)從與調(diào)度節(jié)點(diǎn)302關(guān)聯(lián)的分組隊(duì)列(即,分組隊(duì)列ql、q2和q3)中選擇超過10 Gb數(shù)據(jù),否則調(diào)度系統(tǒng)212將選擇直接連接到根調(diào)度節(jié)點(diǎn)301的其它調(diào)度節(jié)點(diǎn)之一(即,這個(gè)示例中的調(diào)度節(jié)點(diǎn)303和304)。
[0052]如果所選子調(diào)度節(jié)點(diǎn)是葉調(diào)度節(jié)點(diǎn),則調(diào)度系統(tǒng)212選擇與所選葉調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的分組隊(duì)列,并且將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列214。如果所選子調(diào)度節(jié)點(diǎn)不是葉調(diào)度節(jié)點(diǎn)(即,是聚合調(diào)度節(jié)點(diǎn)),則調(diào)度系統(tǒng)212選擇所選聚合調(diào)度節(jié)點(diǎn)的子調(diào)度節(jié)點(diǎn)。這個(gè)過程重復(fù)進(jìn)行,直到調(diào)度系統(tǒng)212選擇葉調(diào)度節(jié)點(diǎn)。這樣,調(diào)度系統(tǒng)212遍歷調(diào)度樹300,其中在樹的各級(jí)和節(jié)點(diǎn)考慮并且執(zhí)行最大速率或其它調(diào)度規(guī)則。
[0053]與根調(diào)度節(jié)點(diǎn)301相似,所選聚合調(diào)度節(jié)點(diǎn)可與調(diào)度算法關(guān)聯(lián),并且所選聚合調(diào)度節(jié)點(diǎn)的每個(gè)子調(diào)度節(jié)點(diǎn)可與最大數(shù)據(jù)速率(和/或其它參數(shù))關(guān)聯(lián)。因此,調(diào)度系統(tǒng)212使用調(diào)度算法和最大數(shù)據(jù)速率來確定將選擇哪一個(gè)子調(diào)度節(jié)點(diǎn)。如上所述,這個(gè)過程重復(fù)進(jìn)行,直到調(diào)度系統(tǒng)212選擇作為葉調(diào)度節(jié)點(diǎn)的調(diào)度節(jié)點(diǎn)(即,沒有任何子調(diào)度節(jié)點(diǎn)的調(diào)度節(jié)點(diǎn))。在選擇葉調(diào)度節(jié)點(diǎn)并且將分組從與所選葉調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的分組隊(duì)列移動(dòng)到傳送隊(duì)列214之后,調(diào)度系統(tǒng)212將再次遍歷調(diào)度樹300,以根調(diào)度節(jié)點(diǎn)301開始。因此,調(diào)度系統(tǒng)212連續(xù)遍歷調(diào)度樹300,并且由此連續(xù)選擇從其中將分組移動(dòng)到傳送隊(duì)列214的分組隊(duì)列。這樣,將分組排隊(duì)以供物理通信鏈路123上的傳輸。
[0054]如從以上描述顯而易見,調(diào)度系統(tǒng)212保持至少一些調(diào)度節(jié)點(diǎn)的狀態(tài)信息。例如,如果調(diào)度節(jié)點(diǎn)具有與其關(guān)聯(lián)的最大數(shù)據(jù)速率,則調(diào)度系統(tǒng)212將跟蹤選擇了多少數(shù)據(jù)供從與調(diào)度節(jié)點(diǎn)(直接或間接)關(guān)聯(lián)的分組隊(duì)列的傳輸。作為另一個(gè)示例,如果調(diào)度節(jié)點(diǎn)與調(diào)度算法關(guān)聯(lián),則調(diào)度系統(tǒng)212可保持實(shí)現(xiàn)調(diào)度算法所需的狀態(tài)信息(例如,在調(diào)度節(jié)點(diǎn)的調(diào)度算法是循環(huán)調(diào)度算法的情況下,調(diào)度系統(tǒng)212則可跟蹤調(diào)度節(jié)點(diǎn)的哪一個(gè)子節(jié)點(diǎn)具有最后“一輪”)。在一些實(shí)施例中,調(diào)度系統(tǒng)212可將調(diào)度節(jié)點(diǎn)的狀態(tài)信息存儲(chǔ)在實(shí)現(xiàn)該調(diào)度節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)的一個(gè)或多個(gè)數(shù)據(jù)元素中。
[0055]在物理通信鏈路123的傳輸容量較高(例如100 Gbps)時(shí),可存在如下情況:調(diào)度系統(tǒng)212不能夠足夠迅速地將分組移入傳送隊(duì)列214,使得因調(diào)度系統(tǒng)212所使用的調(diào)度樹具有太多決策點(diǎn)的事實(shí)而利用全部100 Gbps容量。在這類情況下,多個(gè)新調(diào)度樹能夠從現(xiàn)有調(diào)度樹來形成。例如,圖4示出如何能夠?qū)⒄{(diào)度樹300分為三個(gè)調(diào)度樹(即,樹401、402和403)。在所示實(shí)施例中,樹401-403的每個(gè)是調(diào)度樹300的子樹。又如所示,樹401的根調(diào)度節(jié)點(diǎn)與樹300的根調(diào)度節(jié)點(diǎn)相同,而調(diào)度節(jié)點(diǎn)302是樹402的根調(diào)度節(jié)點(diǎn),以及調(diào)度節(jié)點(diǎn)304是根調(diào)度節(jié)點(diǎn)樹403。
[0056]圖5示出能夠與圖4所示調(diào)度樹401-403配合使用的調(diào)度系統(tǒng)212的一個(gè)實(shí)施例的功能圖。在所示實(shí)施例中,調(diào)度系統(tǒng)212包括三個(gè)調(diào)度引擎521-523,各調(diào)度樹401-403一個(gè)調(diào)度引擎。調(diào)度引擎521可分類為頂級(jí)調(diào)度引擎,因?yàn)樗鹱饔靡詫⒎纸M移動(dòng)到傳送隊(duì)列214。調(diào)度引擎522和523可分類為虛擬端口調(diào)度引擎,因?yàn)槊總€(gè)調(diào)度引擎將分組移動(dòng)到中間分組隊(duì)列(例如iql或iq2)而不是傳送隊(duì)列214。
[0057]在所示示例中,樹401由調(diào)度引擎521用于從由iql、iq2和q8組成的分組隊(duì)列集合中選擇分組隊(duì)列;樹402由虛擬端口調(diào)度引擎522用于從由ql_q3組成的分組隊(duì)列集合中選擇分組隊(duì)列;以及樹403由虛擬端口調(diào)度引擎523用于從由q4_q7組成的分組隊(duì)列集合中選擇分組隊(duì)列。各調(diào)度引擎521-523按照與以上結(jié)合樹300所述的調(diào)度系統(tǒng)212相同的方式進(jìn)行操作。也就是說,各調(diào)度引擎521-523連續(xù)遍歷其對(duì)應(yīng)調(diào)度樹;因此各調(diào)度引擎521-523連續(xù)地將分組從基于對(duì)應(yīng)樹所選的分組隊(duì)列移動(dòng)到傳送隊(duì)列214或者移動(dòng)到中間分組隊(duì)列。
[0058]更具體來說,調(diào)度引擎521配置成使得它將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列214,而調(diào)度引擎522和523配置成使得各引擎將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列(例如分別為iql和iq2)。調(diào)度引擎521、522和523可配置成并行操作。也就是說,當(dāng)調(diào)度引擎522和523將分組移入中間分組隊(duì)列(iql和iq2)時(shí),調(diào)度引擎521可將分組移出那些分組隊(duì)列并且移入傳送隊(duì)列214。另外,調(diào)度引擎521、522和523可配置成相互無關(guān)地進(jìn)行操作,使得調(diào)度引擎的任一個(gè)不需要另一個(gè)調(diào)度引擎所保持的任何狀態(tài)信息。這樣,將分組移入傳送隊(duì)列214的速率能夠極大地增加。例如,如果假定中間分組隊(duì)列的至少一個(gè)始終包含至少一個(gè)分組,則將分組移入傳送隊(duì)列214的速率只與調(diào)度引擎521的“帶寬”(即,調(diào)度引擎能夠?qū)⒎纸M傳遞給傳送隊(duì)列214的速率)相關(guān)。此外,在一些實(shí)施例中,調(diào)度引擎521能夠是極簡單調(diào)度引擎,因?yàn)槠湔{(diào)度樹(例如樹401)可以僅要求遍歷單個(gè)級(jí)(例如,連接到根調(diào)度節(jié)點(diǎn)301的所有調(diào)度節(jié)點(diǎn)是葉調(diào)度節(jié)點(diǎn))。因此,在一些實(shí)施例中,調(diào)度引擎521基本上完全通過硬件來實(shí)現(xiàn),使得它將具有高帶寬。例如,在一些實(shí)施例中,調(diào)度引擎521包括(或者基本上包括)專用集成電路(ASIC),而調(diào)度引擎522和523是基于軟件的(例如使用具有與其關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)的通用處理器來實(shí)現(xiàn),其中計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)了計(jì)算機(jī)程序、例如通過匯編語言所編寫的程序)。
[0059]圖6示出如何能夠從組成調(diào)度樹300的調(diào)度節(jié)點(diǎn)來形成可以是概念調(diào)度樹的操作調(diào)度樹601-603的不同集合。在從先前存在調(diào)度樹、例如樹300來形成多個(gè)調(diào)度樹并且新樹之一包括用于直接連接到先前存在調(diào)度樹的根調(diào)度節(jié)點(diǎn)的多于一個(gè)調(diào)度節(jié)點(diǎn)時(shí),則將需要為那個(gè)樹創(chuàng)建新的根調(diào)度節(jié)點(diǎn)。這在圖6中示出。如圖6所示,虛擬端口調(diào)度節(jié)點(diǎn)610被創(chuàng)建為樹602的根調(diào)度節(jié)點(diǎn)。需要虛擬端口調(diào)度節(jié)點(diǎn)610,因?yàn)闃?02包括形式上直接連接到根調(diào)度節(jié)點(diǎn)301的多于一個(gè)調(diào)度節(jié)點(diǎn)(例如調(diào)度節(jié)點(diǎn)302和304)。不需要為樹603創(chuàng)建根調(diào)度節(jié)點(diǎn),因?yàn)檫@個(gè)樹僅包括先前直接連接到根調(diào)度節(jié)點(diǎn)301的單個(gè)調(diào)度節(jié)點(diǎn)。另外,在圖6所示的實(shí)施例中,調(diào)度樹602和603均包括調(diào)度節(jié)點(diǎn)621-623,由此提供負(fù)荷平衡時(shí)機(jī),如以下所述。調(diào)度節(jié)點(diǎn)621表示預(yù)計(jì)送往網(wǎng)絡(luò)112的業(yè)務(wù),調(diào)度節(jié)點(diǎn)622表示預(yù)計(jì)送往網(wǎng)絡(luò)112的語音業(yè)務(wù),以及調(diào)度節(jié)點(diǎn)623表示預(yù)計(jì)送往網(wǎng)絡(luò)112的非語音(即,“數(shù)據(jù)”)業(yè)務(wù)。
[0060]圖7示出能夠與圖6所示調(diào)度樹601-603配合使用的調(diào)度系統(tǒng)212的一個(gè)實(shí)施例的功能圖。在圖7所示的實(shí)施例中,調(diào)度系統(tǒng)212包括三個(gè)調(diào)度引擎721-723,各調(diào)度樹601-603 一個(gè)調(diào)度引擎。樹601由頂級(jí)調(diào)度引擎721用于從由iql和iq2組成的分組隊(duì)列集合中選擇分組隊(duì)列;樹602由虛擬端口調(diào)度引擎722用于從由ql-q7、q8a和q9a組成的分組隊(duì)列集合中選擇分組隊(duì)列;以及樹403由虛擬端口調(diào)度引擎723用于從由q8b和q9b組成的分組隊(duì)列集合中選擇分組隊(duì)列。各調(diào)度引擎721-723連續(xù)遍歷其對(duì)應(yīng)調(diào)度樹;因此各調(diào)度引擎721-723連續(xù)地將分組從基于對(duì)應(yīng)樹所選的分組隊(duì)列移動(dòng)到傳送隊(duì)列214或者移動(dòng)到中間分組隊(duì)列(例如iql或iq2)。更具體來說,頂級(jí)調(diào)度引擎721配置成使得它將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列214,而虛擬端口調(diào)度引擎722和723配置成使得各引擎將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列(即,分別為iql和iq2)。與調(diào)度引擎521-523相似,調(diào)度引擎721-723可配置成并行地并且相互無關(guān)地進(jìn)行操作。
[0061 ] 又如圖7所示,接口 191可包括負(fù)荷平衡器702。在圖6和圖7的實(shí)施例中,當(dāng)PRPU202接收預(yù)計(jì)送往網(wǎng)絡(luò)112的分組時(shí),PRPU 202不是立即將分組放入分組隊(duì)列,而是將分組傳遞給負(fù)荷平衡器702,負(fù)荷平衡器702可在分組隊(duì)列q8a、q9a與分組隊(duì)列q8b、q9b之間均勻地分配業(yè)務(wù)。更具體來說,如圖6所示,預(yù)計(jì)送往網(wǎng)絡(luò)112的語音業(yè)務(wù)在分組隊(duì)列q8a與q8b之間均勻地分配,以及預(yù)計(jì)送往網(wǎng)絡(luò)112的非語音業(yè)務(wù)在分組隊(duì)列q9a與q9b之間均勻地分配。
[0062]圖8是示出按照一個(gè)實(shí)施例的過程800的流程圖。過程800可開始于步驟802,其中將分組隊(duì)列(即分組隊(duì)列ql_q3)的第一集合指配給第一調(diào)度引擎(例如調(diào)度引擎522)。步驟802可通過將調(diào)度樹(例如調(diào)度樹402)指配給第一調(diào)度引擎來實(shí)現(xiàn),其中調(diào)度樹與分組隊(duì)列集合(參見圖4)關(guān)聯(lián)。在步驟804,將分組隊(duì)列(例如分組隊(duì)列q4_q7)的第二集合指配給第二調(diào)度引擎(例如調(diào)度引擎523)。步驟804可通過將不同調(diào)度樹(例如調(diào)度樹403)指配給第二調(diào)度引擎來實(shí)現(xiàn)。在步驟806,將分組隊(duì)列(例如分組隊(duì)列q8)的第三集合指配給第三調(diào)度引擎(例如調(diào)度引擎521)。在步驟808,將第一分組流指配給分組隊(duì)列的第一集合中包含的分組隊(duì)列。例如,在步驟808,網(wǎng)絡(luò)接口 191配置成使得由PRPU 202來接收的預(yù)計(jì)送往網(wǎng)絡(luò)112的全部分組將放入例如q8。在步驟810,將第二分組流指配給分組隊(duì)列的第二集合中包含的分組隊(duì)列。在步驟812,將第三分組流指配給分組隊(duì)列的第三集合中包含的分組隊(duì)列。在一些實(shí)施例中(參見例如圖6),沒有執(zhí)行步驟812。在步驟812之后,過程800可并行地進(jìn)入步驟814、820、824和828。
[0063]在步驟814,PRPU 202接收分組。在步驟814,PRPU 202還可接收與分組關(guān)聯(lián)的元數(shù)據(jù)。在步驟816,PRPU 202確定分組所屬的分組流。如上所述,PRPU 202可使用可識(shí)別分組預(yù)計(jì)送往其中的一個(gè)或多個(gè)VLAN的分組中包含的數(shù)據(jù)(例如目標(biāo)地址)和/或元數(shù)據(jù)來確定分組流。在步驟818,PRPU 202將所接收分組放入與所確定分組流關(guān)聯(lián)的分組隊(duì)列。例如,在步驟818,PRPU可使用所確定分組流(例如所確定VLAN標(biāo)識(shí)符)在數(shù)據(jù)庫204中查找被指配給所確定分組流的那個(gè)分組隊(duì)列。PRPU 202可連續(xù)執(zhí)行步驟814-818。
[0064]在步驟820,第一調(diào)度引擎從分組隊(duì)列的第一集合中選擇分組隊(duì)列。例如,在步驟820,第一調(diào)度引擎可遍歷調(diào)度樹,以便到達(dá)樹的葉調(diào)度節(jié)點(diǎn),并且由此選擇與葉調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的分組隊(duì)列。在步驟822,第一調(diào)度引擎將分組從所選分組隊(duì)列移動(dòng)到第一中間分組隊(duì)列(例如iql)。第一調(diào)度引擎可連續(xù)執(zhí)行步驟820-822。
[0065]在一些實(shí)施例中,第一調(diào)度引擎周期地監(jiān)測(cè)第一中間分組隊(duì)列的狀態(tài)(例如周期地確定分組隊(duì)列的長度),以及根據(jù)分組隊(duì)列的狀態(tài)可對(duì)短時(shí)間期停止執(zhí)行步驟802-822(即,第一調(diào)度引擎可暫停)。例如,如果第一調(diào)度引擎確定第一中間分組隊(duì)列的長度大于預(yù)定閾值,則第一調(diào)度引擎響應(yīng)那個(gè)確定而可暫停某個(gè)時(shí)間量或者暫時(shí)有選擇地僅調(diào)度送往沒有全滿的其它中間隊(duì)列的分組,由此防止第一中間分組隊(duì)列變大。這個(gè)特征提供下列優(yōu)點(diǎn):(i)約束中間隊(duì)列所消耗的系統(tǒng)資源(例如分組緩沖器)量,(ii)約束分組在中間隊(duì)列中等待時(shí)可能引起的附加轉(zhuǎn)發(fā)等待時(shí)間,以及(iii)確保與虛擬端口調(diào)度引擎關(guān)聯(lián)的規(guī)則最終確定調(diào)度行為。
[0066]在步驟824,第二調(diào)度引擎從分組隊(duì)列的第二集合中選擇分組隊(duì)列。例如,在步驟824,第二調(diào)度引擎可遍歷調(diào)度樹,以便到達(dá)樹的葉調(diào)度節(jié)點(diǎn),并且由此選擇與葉調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的分組隊(duì)列。在步驟826,第二調(diào)度引擎將分組從所選分組隊(duì)列移動(dòng)到第二中間分組隊(duì)列(例如iq2)。第二調(diào)度引擎可連續(xù)地并且與第一調(diào)度引擎無關(guān)地執(zhí)行步驟824-826。與第一調(diào)度引擎相似,第二調(diào)度引擎可周期地監(jiān)測(cè)第二中間分組隊(duì)列的狀態(tài),并且可配置成根據(jù)分組隊(duì)列的狀態(tài)進(jìn)行暫停。
[0067]在步驟828,第三調(diào)度引擎從包括第一、第二中間分組隊(duì)列和分組隊(duì)列的第三集合的分組隊(duì)列集合中選擇分組隊(duì)列。在步驟830,第二調(diào)度引擎將分組從所選分組隊(duì)列移動(dòng)到傳送隊(duì)列214。第三調(diào)度引擎可連續(xù)地并且與第一調(diào)度引擎和第二調(diào)度引擎無關(guān)地執(zhí)行步驟828-830。與第一和第二調(diào)度引擎相似,第三調(diào)度引擎可周期地監(jiān)測(cè)傳送隊(duì)列214的狀態(tài),并且可配置成根據(jù)分組隊(duì)列的狀態(tài)進(jìn)行暫停。
[0068]按照上述方式,多個(gè)單獨(dú)調(diào)度引擎可用于將分組移動(dòng)到傳送隊(duì)列,由此增加網(wǎng)絡(luò)接口 191的吞吐量。
[0069]又參照?qǐng)D2,如圖2所示,網(wǎng)絡(luò)元件108可包括配置模塊208。配置模塊208可配置成使用戶(例如網(wǎng)絡(luò)管理員)能夠定義調(diào)度節(jié)點(diǎn),創(chuàng)建調(diào)度樹,并且將調(diào)度節(jié)點(diǎn)和/或調(diào)度樹指配給調(diào)度引擎。例如,配置模塊可提供使網(wǎng)絡(luò)管理員能夠配置網(wǎng)絡(luò)接口 191的命令行界面(CLI)或圖形用戶界面(GUI)。另外,配置模塊208可配置成自動(dòng)配置網(wǎng)絡(luò)接口191 (例如從預(yù)定義調(diào)度樹(例如樹300)來創(chuàng)建調(diào)度樹(例如樹401-403)集合)。在一些實(shí)施例中,配置模塊208配置成檢查定義調(diào)度樹(例如樹300)的信息,向第一調(diào)度引擎指配調(diào)度樹300的第一子樹(例如樹401),以及向第二調(diào)度引擎指配調(diào)度樹300的不同的第二子樹(例如樹402)。
[0070]作為一個(gè)具體示例,假定新DSLAM 901 (參見圖9)已經(jīng)添加到通信系統(tǒng)100。在添加這個(gè)新DSLAM 901時(shí),網(wǎng)絡(luò)管理員可使用配置模塊208來定義新調(diào)度節(jié)點(diǎn),以便表示送往DSLAM 901的分組流(例如預(yù)計(jì)送往VLAN 3的所有分組)。例如,如圖10所示,網(wǎng)絡(luò)管理員可定義三個(gè)新調(diào)度節(jié)點(diǎn):(I)聚合調(diào)度節(jié)點(diǎn)1001,表示預(yù)計(jì)送往VLAN 3的所有分組流,(2)葉調(diào)度節(jié)點(diǎn)1002,表示送往VLAN 3的所有高優(yōu)先級(jí)分組(例如語音分組)流,以及(3)葉調(diào)度節(jié)點(diǎn)1003,表示送往VLAN 3的所有低優(yōu)先級(jí)分組流。因?yàn)榫酆险{(diào)度節(jié)點(diǎn)1001具有多于一個(gè)子調(diào)度節(jié)點(diǎn),所以定義調(diào)度節(jié)點(diǎn)1001的過程可包括將調(diào)度節(jié)點(diǎn)1001與調(diào)度引擎將在已經(jīng)到達(dá)調(diào)度節(jié)點(diǎn)1001時(shí)使用的調(diào)度算法(例如循環(huán)法)關(guān)聯(lián),并且必須選擇要選擇哪一個(gè)子調(diào)度節(jié)點(diǎn)。另外,如果DSLAM 901具有8 Gbps的最大分組轉(zhuǎn)發(fā)容量,網(wǎng)絡(luò)管理員還可使用配置模塊將調(diào)度節(jié)點(diǎn)1001配置成使得它與8 Gbps的最大帶寬關(guān)聯(lián)。
[0071]在定義調(diào)度節(jié)點(diǎn)之后,由葉調(diào)度節(jié)點(diǎn)所表示的分組流需要與唯一分組隊(duì)列關(guān)聯(lián)。配置模塊208可通過對(duì)每個(gè)葉調(diào)度節(jié)點(diǎn)將葉調(diào)度節(jié)點(diǎn)所定義的分組流與分組隊(duì)列進(jìn)行映射的信息添加到分組流到分組隊(duì)列數(shù)據(jù)庫204以更新數(shù)據(jù)庫204,來執(zhí)行這個(gè)功能。
[0072]另外,在定義調(diào)度節(jié)點(diǎn)之后,當(dāng)前由調(diào)度系統(tǒng)212使用的調(diào)度樹的一個(gè)或多個(gè)需要經(jīng)過修改以適應(yīng)葉調(diào)度節(jié)點(diǎn)1002和1003,和/或需要?jiǎng)?chuàng)建新的調(diào)度樹。這能夠由網(wǎng)絡(luò)管理員手動(dòng)進(jìn)行或者由配置模塊208自動(dòng)進(jìn)行。
[0073]作為一個(gè)示例,圖11示出如何可將樹402修改成適應(yīng)葉調(diào)度節(jié)點(diǎn)1002和1003,如所示,葉調(diào)度節(jié)點(diǎn)1002和1003分別與分組隊(duì)列q9和qlO關(guān)聯(lián)。如圖11所示,虛擬端口調(diào)度節(jié)點(diǎn)1101被創(chuàng)建為樹402的新根調(diào)度節(jié)點(diǎn)。要求創(chuàng)建虛擬端口調(diào)度節(jié)點(diǎn)1101并且使它成為樹402的根調(diào)度節(jié)點(diǎn),因?yàn)樽鳛闃?02的根調(diào)度節(jié)點(diǎn)的調(diào)度節(jié)點(diǎn)302以及調(diào)度節(jié)點(diǎn)1001表示不同的分組流,并且因此調(diào)度節(jié)點(diǎn)1001可能不是調(diào)度節(jié)點(diǎn)302的子,反過來也是一樣。如所示,調(diào)度節(jié)點(diǎn)302這時(shí)直接連接到調(diào)度節(jié)點(diǎn)1101,以及葉調(diào)度節(jié)點(diǎn)1002和1003經(jīng)由聚合調(diào)度節(jié)點(diǎn)1001間接連接到根調(diào)度節(jié)點(diǎn)1101,其中聚合調(diào)度節(jié)點(diǎn)1001直接連接到根調(diào)度節(jié)點(diǎn)1101。圖12示出能夠?qū)⑷~調(diào)度節(jié)點(diǎn)1002和1003添加到調(diào)度樹的另一種方式。如圖12所示,樹401和402經(jīng)修改以分別適應(yīng)葉調(diào)度節(jié)點(diǎn)1002和1003。
[0074]在配置模塊208自動(dòng)重新配置調(diào)度樹的實(shí)施例中,配置模塊208可編程為考慮調(diào)度引擎帶寬以及與調(diào)度節(jié)點(diǎn)關(guān)聯(lián)的最大帶寬。例如,如果假定(a)調(diào)度引擎522的最大帶寬為15 Gbps, (b)與調(diào)度節(jié)點(diǎn)302關(guān)聯(lián)的最大帶寬為10 Gbps,以及(c)與調(diào)度節(jié)點(diǎn)1001關(guān)聯(lián)的最大帶寬也為10 Gbps,則配置模塊208不會(huì)向樹402添加葉調(diào)度節(jié)點(diǎn)1002和1003,如圖11所示,因?yàn)?i)與調(diào)度節(jié)點(diǎn)302關(guān)聯(lián)的最大帶寬以及(ii)與調(diào)度節(jié)點(diǎn)1001關(guān)聯(lián)的最大帶寬大于調(diào)度引擎522的最大帶寬。另外,在可向調(diào)度樹的現(xiàn)有集合添加新調(diào)度樹的實(shí)施例中,配置模塊208可自動(dòng)例示新虛擬端口調(diào)度引擎,以便調(diào)度與新調(diào)度樹關(guān)聯(lián)的分組流。
[0075]現(xiàn)在參照?qǐng)D13,圖13示出按照本發(fā)明的一些實(shí)施例的調(diào)度引擎522的框圖。如圖13所示,調(diào)度引擎522可包括:數(shù)據(jù)處理系統(tǒng)1302,可包括一個(gè)或多個(gè)微處理器和/或一個(gè)或多個(gè)電路,例如專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)等;網(wǎng)絡(luò)接口 1304 ;以及數(shù)據(jù)存儲(chǔ)系統(tǒng)1306,可包括一個(gè)或多個(gè)非易失性存儲(chǔ)裝置和/或一個(gè)或多個(gè)易失性存儲(chǔ)裝置(例如隨機(jī)存取存儲(chǔ)器(RAM))。如所示,數(shù)據(jù)存儲(chǔ)系統(tǒng)1306可用于存儲(chǔ)調(diào)度樹狀態(tài)信息。在數(shù)據(jù)處理系統(tǒng)1302包括微處理器的實(shí)施例中,計(jì)算機(jī)可讀程序代碼1343可存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)1342中,非限制性地例如磁媒體(例如硬盤)、光媒體(例如DVD)、存儲(chǔ)器裝置(例如隨機(jī)存取存儲(chǔ)器)等。在一些實(shí)施例中,計(jì)算機(jī)可讀程序代碼1343配置成使得在由處理器運(yùn)行時(shí),代碼1343使調(diào)度引擎522執(zhí)行上述步驟(例如以上參照?qǐng)D8所示的流程圖所述的步驟)。在其它實(shí)施例中,調(diào)度引擎522配置成在無需代碼1343的情況下執(zhí)行上述步驟。也就是說,例如,數(shù)據(jù)處理系統(tǒng)1302可以只由一個(gè)或多個(gè)ASIC組成。因此,以上所述的本發(fā)明的特征可通過硬件和/或軟件來實(shí)現(xiàn)。例如,在具體實(shí)施例中,上述調(diào)度引擎522的功能組件可通過數(shù)據(jù)處理系統(tǒng)1302運(yùn)行計(jì)算機(jī)指令1343、通過數(shù)據(jù)處理系統(tǒng)1302與任何計(jì)算機(jī)指令1343無關(guān)地進(jìn)行操作或者通過硬件和/或軟件的任何適當(dāng)組合來實(shí)現(xiàn)。
[0076]現(xiàn)在參照?qǐng)D14,圖14示出計(jì)算機(jī)可讀程序代碼(CRPC) 1343的一個(gè)實(shí)施例。在所示實(shí)施例中,CRPC 1343包括:(I)指令集1402,用于從調(diào)度樹數(shù)據(jù)庫210來得到定義調(diào)度樹的信息,(2)指令集1404,用于通過遍歷調(diào)度樹周期地從分組隊(duì)列集合中選擇分組隊(duì)列,以及(3)指令集1406,用于將分組從所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列。
[0077]雖然以上描述了本發(fā)明的各個(gè)實(shí)施例,但是應(yīng)當(dāng)理解,它們僅作為舉例而不是限制來提供。因此,本發(fā)明的廣度和范圍不應(yīng)當(dāng)受到上述示范實(shí)施例的任一個(gè)限制。此外,在其所有可能的變化中的上述元件的任何組合均由本發(fā)明包含,除非本文另加說明或者與上下文明顯矛盾。
[0078]另外,雖然以上所述和附圖所示的過程示為步驟的序列,但只是為了便于說明而這樣做。相應(yīng)地,預(yù)期可添加某些步驟,可省略某些步驟,可重新排列步驟的順序,并且可并行執(zhí)行某些步驟。
【權(quán)利要求】
1.一種分組調(diào)度設(shè)備,包括: 第一調(diào)度引擎,可操作以(a)從分組隊(duì)列的第一集合中選擇分組隊(duì)列以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列,其中所述第一調(diào)度引擎配置成使用與調(diào)度節(jié)點(diǎn)的第一集合對(duì)應(yīng)的信息來執(zhí)行所述分組隊(duì)列選擇;第二調(diào)度引擎,可操作以(a)從分組隊(duì)列的第二集合中選擇分組隊(duì)列以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第二集合中包含的中間分組隊(duì)列,其中所述第二調(diào)度引擎配置成使用與調(diào)度節(jié)點(diǎn)的第二集合對(duì)應(yīng)的信息來執(zhí)行所述分組隊(duì)列選擇; 第三調(diào)度引擎可操作以(a)從包括所述中間分組隊(duì)列的第一集合和所述中間分組隊(duì)列的第二集合的分組隊(duì)列集合中選擇分組隊(duì)列以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到傳送隊(duì)列; 分組傳送器,配置成將分組從所述傳送隊(duì)列傳送到通信鏈路上,其中所述第一調(diào)度引擎和所述第二調(diào)度引擎配置成相互無關(guān)地選擇分組隊(duì)列,使得狀態(tài)信息無需在所述第一與第二調(diào)度引擎之間共享。
2.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中,所述第一和第二調(diào)度引擎是基于軟件的調(diào)度引擎,以及所述第三調(diào)度引擎是作為專用集成電路(ASIC)中的邏輯來實(shí)現(xiàn)的基于純硬件的調(diào)度引擎。
3.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中 所述分組隊(duì)列的第一集合中包含的分組隊(duì)列集合與第一分組流關(guān)聯(lián), 所述分組隊(duì)列的第二集合中包含的分組隊(duì)列集合與第二分組流關(guān)聯(lián),以及所述分組調(diào)度設(shè)備還包括分組接收和處理單元(PRPU),所述分組接收和處理單元配置成(a)接收分組,(b)確定所述分組所屬的分組流,以及(C)將所述分組放入與所述分組流關(guān)聯(lián)的分組隊(duì)列。
4.如權(quán)利要求3所述的分組調(diào)度設(shè)備,其中 所述第三調(diào)度引擎可操作以從包括所述中間分組隊(duì)列的第一集合、所述中間分組隊(duì)列的第二集合和分組隊(duì)列的第三集合的分組隊(duì)列集合中選擇分組隊(duì)列, 所述分組隊(duì)列的第三集合中包含的分組隊(duì)列集合與第三分組流關(guān)聯(lián),以及所述PRPU配置成使得(a)當(dāng)所述PRPU接收分組并且確定所述分組屬于所述第一分組流時(shí),所述PRPU將所述分組放入與所述第一分組流關(guān)聯(lián)的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一,(b)當(dāng)所述PRPU接收分組并且確定所述分組屬于所述第二分組流時(shí),所述PRPU將所述分組放入與所述第二分組流關(guān)聯(lián)的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一,以及(c)當(dāng)所述PRPU接收分組并且確定所述分組屬于所述第三分組流時(shí),所述PRPU將所述分組放入與所述第三分組流關(guān)聯(lián)的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一中。
5.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中,所述調(diào)度節(jié)點(diǎn)的第一集合包括來自調(diào)度樹的第一子樹的調(diào)度節(jié)點(diǎn),以及所述調(diào)度節(jié)點(diǎn)的第二集合包括來自所述調(diào)度樹的不同的第二子樹的調(diào)度節(jié)點(diǎn)。
6.如權(quán)利要求5所述的分組調(diào)度設(shè)備,還包括: 配置模塊,配置成檢查定義所述調(diào)度樹的信息,向所述第一調(diào)度引擎指配所述調(diào)度樹的第一子樹,以及向所述第二調(diào)度引擎指配所述調(diào)度樹的不同的第二子樹。
7.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中,所述調(diào)度節(jié)點(diǎn)的第一集合包括也包含在所述調(diào)度節(jié)點(diǎn)的第二集合中的調(diào)度節(jié)點(diǎn)集合。
8.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中 與所述調(diào)度節(jié)點(diǎn)的第一集合對(duì)應(yīng)的所述信息包括:(a)與所述調(diào)度節(jié)點(diǎn)的第一集合中包含的所述調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第一最大數(shù)據(jù)速率信息,以及(b)識(shí)別第一調(diào)度算法的信息,以及 與所述調(diào)度節(jié)點(diǎn)的第二集合對(duì)應(yīng)的所述信息包括:(a)與所述調(diào)度節(jié)點(diǎn)的第二集合中包含的所述調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第二最大數(shù)據(jù)速率信息;以及(b)識(shí)別第二調(diào)度算法的信息。
9.如權(quán)利要求8所述的分組調(diào)度設(shè)備,其中 所述第一調(diào)度引擎配置成使用所述第一最大數(shù)據(jù)速率信息和所述第一調(diào)度算法來選擇從其中移開分組的分組隊(duì)列,以及 所述第二調(diào)度引擎配置成使用所述第二最大數(shù)據(jù)速率信息和所述第二調(diào)度算法來選擇從其中移開分組的分組隊(duì)列。
10.如權(quán)利要求1所述的分組調(diào)度設(shè)備,其中,所述第一調(diào)度引擎包括: 數(shù)據(jù)處理系統(tǒng);以及 所述數(shù)據(jù)處理系統(tǒng)可訪問的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼在由所述數(shù)據(jù)處理系統(tǒng)運(yùn)行時(shí)使所述數(shù)據(jù)處理系統(tǒng)(a)從所述分組隊(duì)列的第一集合中選.擇分組隊(duì)列,以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到所述中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列。
11.一種分組調(diào)度方法,所述方法包括: 向第一調(diào)度引擎指配分組隊(duì)列的第一集合; 向第二調(diào)度引擎指配分組隊(duì)列的第二集合; 向所述分組隊(duì)列的第一集合中包含的分組隊(duì)列集合指配第一分組流; 向所述分組隊(duì)列的第二集合中包含的分組隊(duì)列集合指配第二分組流; 在網(wǎng)絡(luò)元件的網(wǎng)絡(luò)接口接收分組; 確定所述分組所屬的分組流; 如果所述所接收分組屬于所述第一分組流,則響應(yīng)確定所述所接收分組屬于所述第一分組流而將所述所接收分組放入向其指配所述第一分組流的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一;以及 如果所述所接收分組屬于所述第二分組流,則響應(yīng)確定所述所接收分組屬于所述第二分組流而將所述所接收分組放入向其指配所述第二分組流的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一,其中 所述第一調(diào)度引擎(a)從所述分組隊(duì)列的第一集合中選擇分組隊(duì)列,以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第一集合中包含的中間分組隊(duì)列, 所述第二調(diào)度引擎(a)從所述分組隊(duì)列的第二集合中選擇分組隊(duì)列,以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到中間分組隊(duì)列的第二集合中包含的中間分組隊(duì)列, 第三調(diào)度引擎(a)從包括所述中間分組隊(duì)列的第一集合和所述中間分組隊(duì)列的第二集合的分組隊(duì)列集合中選擇分組隊(duì)列以及(b)將分組從所述所選分組隊(duì)列移動(dòng)到傳送隊(duì)列,以及 所述網(wǎng)絡(luò)接口的分組傳送器將分組從所述傳送隊(duì)列傳送到通信鏈路上。
12.如權(quán)利要求11所述的方法,其中,所述第一調(diào)度引擎和所述第二調(diào)度引擎配置成相互無關(guān)地選擇分組隊(duì)列,使得狀態(tài)信息無需在所述第一與第二調(diào)度引擎之間共享。
13.如權(quán)利要求11所述的方法,其中 所述第一調(diào)度引擎使用與包括分級(jí)設(shè)置調(diào)度節(jié)點(diǎn)的第一集合的第一調(diào)度樹對(duì)應(yīng)的信息來執(zhí)行所述分組隊(duì)列選擇,以及 所述第二調(diào)度引擎配置成使用與包括分級(jí)設(shè)置調(diào)度節(jié)點(diǎn)的第二集合的第二調(diào)度樹對(duì)應(yīng)的信息來執(zhí)行所述分組隊(duì)列選擇。
14.如權(quán)利要求13所述的方法,其中,所述調(diào)度節(jié)點(diǎn)的第一集合包括來自調(diào)度樹的第一子樹的調(diào)度節(jié)點(diǎn),以及所述調(diào)度節(jié)點(diǎn)的第二集合包括來自所述調(diào)度樹的不同的第二子樹的調(diào)度節(jié)點(diǎn)。
15.如權(quán)利要求13所述的方法,其中 與所述調(diào)度節(jié)點(diǎn)的第一集合對(duì)應(yīng)的所述信息包括:(a)與所述調(diào)度節(jié)點(diǎn)的第一集合中包含的所述調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第一最大數(shù)據(jù)速率信息,以及(b)第一調(diào)度算法,以及 與所述調(diào)度節(jié)點(diǎn)的第二集合對(duì)應(yīng)的所述信息包括:(a)與所述調(diào)度節(jié)點(diǎn)的第二集合中包含的所述調(diào)度節(jié)點(diǎn)之一關(guān)聯(lián)的第二最大數(shù)據(jù)速率信息;以及(b)第二調(diào)度算法。
16.如權(quán)利要求15所述的方法,其中 所述第一調(diào)度引擎配置成使用所述第一最大數(shù)據(jù)速率信息和所述第一調(diào)度算法來選擇從其中移開分組的分組隊(duì)列,以及 所述第二調(diào)度引擎配置成使用所述第二最大數(shù)據(jù)速率信息和所述第二調(diào)度算法來選擇從其中移開分組的分組隊(duì)列。
17.如權(quán)利要求11所述的方法,其中,所述第一和第二調(diào)度引擎是基于軟件的調(diào)度引擎,以及所述第三調(diào)度引擎是基于純硬件的調(diào)度引擎。
18.如權(quán)利要求17所述的方法,其中,所述第一和第二調(diào)度引擎使用匯編代碼來實(shí)現(xiàn),以及所述第三調(diào)度引擎作為專用集成電路(ASIC)中的邏輯來實(shí)現(xiàn)。
19.如權(quán)利要求11所述的方法,其中 所述第三調(diào)度引擎從包括所述中間分組隊(duì)列的第一集合、所述中間分組隊(duì)列的第二集合和分組隊(duì)列的第三集合的分組隊(duì)列集合中選擇分組隊(duì)列, 將第三分組流指配給所述分組隊(duì)列的第三集合中包含的分組隊(duì)列集合,以及 所述方法還包括響應(yīng)確定所述所接收分組屬于所述第三分組流而將所述所接收分組放入向其指配所述第三分組流的所述分組隊(duì)列集合中包含的所述分組隊(duì)列之一。
20.如權(quán)利要求11所述的方法,還包括: 將第三分組流指配給(i)所述分組隊(duì)列的第一集合中包含的分組隊(duì)列集合以及(ii)所述分組隊(duì)列的第二集合中包含的分組隊(duì)列集合;以及 如果所述所接收分組屬于所述第三分組流,則使用負(fù)荷平衡器來將所述所接收分組放入向其指配所述第三分組流的所述分組隊(duì)列之一。
【文檔編號(hào)】H04L12/863GK103444141SQ201280015841
【公開日】2013年12月11日 申請(qǐng)日期:2012年4月3日 優(yōu)先權(quán)日:2011年4月5日
【發(fā)明者】T.林奇, P.林 申請(qǐng)人:瑞典愛立信有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南安市| 冕宁县| 荣成市| 华坪县| 邵阳县| 黄平县| 宜春市| 精河县| 罗江县| 静宁县| 定州市| 启东市| 郸城县| 阜南县| 吉林市| 江都市| 文昌市| 潜江市| 阿城市| 集安市| 舒城县| 高淳县| 耒阳市| 呈贡县| 淮安市| 齐河县| 望谟县| 南雄市| 密山市| 博白县| 珠海市| 北川| 庆城县| 壤塘县| 安福县| 大姚县| 惠来县| 颍上县| 永德县| 和林格尔县| 南雄市|