專利名稱:在異步傳輸模式信元傳輸中提供服務(wù)質(zhì)量的系統(tǒng)和方法
對相關(guān)申請的交叉引用本發(fā)明要求同時待決的美國臨時專利申請No.60/436,997的優(yōu)先權(quán),該申請?zhí)峤挥?002年12月31日,題為“在異步傳輸模式信元傳輸中提供服務(wù)質(zhì)量的系統(tǒng)和方法”,該申請的全部內(nèi)容被合并在這里以供參考。
背景技術(shù):
本發(fā)明一般涉及數(shù)據(jù)通信網(wǎng)絡(luò),更特別地,涉及發(fā)送控制機(jī)制,包含ATM通信處理器和交換機(jī),以及在異步傳輸模式的系統(tǒng)/網(wǎng)絡(luò)下的信元接收和信頭解釋。
隨著數(shù)字時代的崛起,能夠在不同的網(wǎng)絡(luò)環(huán)境間高速有效地傳輸多種信息的一個單一通用的網(wǎng)絡(luò)技術(shù)已經(jīng)出現(xiàn)了增長的需求。為了響應(yīng)這種需求,國際電報電話咨詢委員會(CCITT)和它的繼任組織國際電信聯(lián)盟電信標(biāo)準(zhǔn)化局(ITU-T)開發(fā)了異步傳輸模式,一般稱之為ATM,作為能夠通過公共和私人網(wǎng)絡(luò)高速傳輸語音、視頻和數(shù)據(jù)的一種技術(shù)。
ATM采用超大規(guī)模集成(VLSI)技術(shù)將數(shù)據(jù)分割成獨(dú)立的數(shù)據(jù)包,比如B-ISDN要求數(shù)據(jù)包有53個字節(jié)的固定大小。這些數(shù)據(jù)包一般被稱為信元。使用B-ISDN的53字節(jié)的數(shù)據(jù)包是出于描述的目的,每一個ATM信元包含一個由前5個字節(jié)組成的信頭部分和一個由其余48個字節(jié)組成的載荷部分。ATM信元通過ATM交換機(jī)穿越各種各樣的網(wǎng)絡(luò),該ATM交換機(jī)讀取包含在信頭里的尋址信息,并且將信元發(fā)送到其中所引用的目的地。與其他類型的網(wǎng)絡(luò)協(xié)議不同的是,ATM不需要依賴時分復(fù)用來建立對每個信元的識別。也就是說,ATM技術(shù)不是通過在多路數(shù)據(jù)流中其時間位置來識別信元,而是僅根據(jù)包含在信頭里的信息來識別ATM信元。
此外,ATM不同于基于諸如以太網(wǎng)和令牌環(huán)這樣的傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的系統(tǒng),這不是因?yàn)樗诠蚕淼木€路上廣播數(shù)據(jù)包讓所有網(wǎng)絡(luò)用戶接收,而是ATM信元通過包含在信頭里的信息來指示信元的連續(xù)接收者。也就是說,在任何數(shù)據(jù)被發(fā)送之前,兩個終端節(jié)點(diǎn)之間已經(jīng)建立一個稱之為虛擬路徑(VP)或者虛擬電路(VC)的特定的路由通道。用特定的虛擬電路識別的信元只被傳遞到這個虛擬電路上的點(diǎn)。用這種方法,只有在信頭里被識別的目的地才能收到被發(fā)送的信元。
除了其它信息之外,還包括尋址信息,該尋址信息主要描述了信元的來源也就是信元從哪兒來,和它被指派的目的地。盡管ATM由時分復(fù)用(TDM)這個概念演變而來,但是來自多個源的信元在統(tǒng)計學(xué)上經(jīng)多路選擇后進(jìn)入一個單一傳輸設(shè)備。信元是通過它們信頭里的內(nèi)容來識別的,而不是通過它們在多路數(shù)據(jù)流中的時間位置來識別的。一個單一ATM傳輸設(shè)備每秒可以運(yùn)載幾十萬個來自于多個源、送至多個目的地的ATM信元。
一個ATM網(wǎng)絡(luò)的中樞包括能夠處理高速ATM信元流的交換裝置。這些裝置的交換部分一般被稱之為交換結(jié)構(gòu),它執(zhí)行所要求的交換功能來實(shí)現(xiàn)一個虛擬電路,通過從輸入端口接收ATM信元,實(shí)時地分析即將到來的信元的信頭中的信息,然后將它們路由至適當(dāng)?shù)哪繕?biāo)端口。一個單一裝置每秒需要交換數(shù)百萬個信元。
重要的是,這種面向連接的方案允許一個ATM網(wǎng)絡(luò)保證每個連接要求的最小帶寬。當(dāng)連接建立的時候,這樣的保證也建立起來。當(dāng)一個連接被請求的時候,分析已經(jīng)存在的連接來確定在網(wǎng)絡(luò)內(nèi)部是否還留有足夠的帶寬來按照它要求的容量服務(wù)于新的連接。如果必需的帶寬不可用,則連接被拒絕。
為了使網(wǎng)絡(luò)資源得到有效的利用,在一個統(tǒng)計上的多路復(fù)用方案下,帶寬被分配給已經(jīng)建立的連接。因此在ATM網(wǎng)絡(luò)中可能偶爾存在導(dǎo)致信元傳輸延遲甚至信元丟失的擁塞現(xiàn)象。為了保證網(wǎng)絡(luò)擁塞的負(fù)擔(dān)是置于那些最有能力處理的連接上,ATM提供多級服務(wù)。這些多級服務(wù)支持各種格式的要求不同程度的信元丟失概率的通信量,傳輸延遲,和傳輸延遲的偏差,一般稱為延遲抖動。眾所周知,例如許多多媒體連接,比如視頻流,能夠忍受相對較大的信元丟失,但是對于從一個信元到下一個信元的延遲偏差非常敏感。相反,傳統(tǒng)形式的數(shù)據(jù)通信量更能夠忍受大的傳輸延遲和延遲偏差,但是要求很低的信元丟失。這種要求上的不同能夠被用來提高網(wǎng)絡(luò)的性能。
特別地,下面的各級服務(wù)更適宜在現(xiàn)代ATM網(wǎng)絡(luò)中得到支持恒定比特率(“CBR”)電路、可變比特率(“VBR”)電路和不定比特率(“UBR”)電路。這些分類定義了可用于特定連接的服務(wù)質(zhì)量,并且當(dāng)連接建立的時候被選中。每個分類的更明確的定義在下面提出。
一個CBR虛擬電路被認(rèn)為是沿著它的整個路徑的帶寬的永久分配。相應(yīng)于需要的帶寬,發(fā)送端保證以一個精確的時間間隔,或者是固定的速率來發(fā)送數(shù)據(jù),并且網(wǎng)絡(luò)保證用最小的延遲和延遲抖動來傳輸這些數(shù)據(jù)。一個CBR電路最適合實(shí)時視頻和音頻多媒體流,它們要求網(wǎng)絡(luò)服務(wù)等同于由同步傳輸網(wǎng)絡(luò)提供的服務(wù)。從來源和目的地的角度來看,它必須好像是一條虛擬的線存在于兩點(diǎn)之間。這要求屬于此數(shù)據(jù)流的每個信元的傳輸都出現(xiàn)在精確的時間間隔。
一個VBR虛擬電路起初被用一個平均帶寬和一個峰值信元速率來指定。這種電路適用于包含一些突發(fā)性的高優(yōu)先級連續(xù)通信量,如壓縮的視頻流?;谒械腣BR電路不會同時處理處于峰值信元速率的通信量的假設(shè)基礎(chǔ)上,網(wǎng)絡(luò)可能“超額預(yù)定”這些連接。然而,雖然傳輸速率可能變化,使用VBR服務(wù)的應(yīng)用程序通常要求低的延遲和延遲抖動。VBR服務(wù)被進(jìn)一步劃分為實(shí)時VBR(rt-VBR)和非實(shí)時VBR(nrt-VBR)。這兩類按照對上界延遲(Max CTD)的需要區(qū)分。Rt-VBR提供了MaxCTD,而對于nrt-VBR沒有延遲界可用。
一個UBR虛擬電路,有時候指無連接數(shù)據(jù)通信量,被用于最低優(yōu)先級數(shù)據(jù)傳輸;它沒有指定的關(guān)聯(lián)帶寬。發(fā)送端可以在它愿意的時候發(fā)送它的數(shù)據(jù),但是網(wǎng)絡(luò)不保證數(shù)據(jù)在任何特定時間內(nèi)到達(dá)目的地。這個服務(wù)是為具有最小服務(wù)需求的應(yīng)用程序,如在工作站后臺提交的文件傳輸設(shè)計的。
網(wǎng)絡(luò)上的某個末端節(jié)點(diǎn)可能具有許多這些不同種類的在任何時刻開路的虛擬電路。在末端節(jié)點(diǎn)的網(wǎng)絡(luò)界面負(fù)責(zé)從這些虛擬電路中的每個以某種規(guī)則方式調(diào)度信元的傳輸?shù)娜蝿?wù)。至少,這使得從CBR電路的信元隔離以固定的速率來獲得虛擬同步傳輸。另外,某種方式的調(diào)度可能在一些或者全部形成ATM網(wǎng)絡(luò)的交換機(jī)內(nèi)實(shí)現(xiàn)。由于網(wǎng)絡(luò)中的異常而從它們的理想傳輸狀態(tài)偏離的連接可以被返回到一個可接受的服務(wù)級別。
傳統(tǒng)ATM交換系統(tǒng)的設(shè)計包括在哪些操作應(yīng)該以硬件實(shí)現(xiàn)和哪些應(yīng)該以軟件實(shí)現(xiàn)之間的折衷。通常,但并不是沒有例外,硬件給出最佳性能,而軟件允許更大的靈活性和對調(diào)度和緩沖的控制,使得具有更加復(fù)雜的信元處理(如,OAM信元抽取等)變得更可行。
關(guān)于ATM的附加背景信息可以在許多來源找到,在這里不必直接重復(fù)。例如,轉(zhuǎn)讓給本發(fā)明所有人的美國專利No.6,122,279(Milway等)提供了ATM的完整描述,通過引用合并在這里。另外,也已轉(zhuǎn)讓給本發(fā)明所有人的美國專利No.5,953,336(Moore等)除其它內(nèi)容外還提供了在ATM通信量整形上的背景,也同樣通過引用被合并在這里。
相對于通信量整形,ATM信元的小尺寸允許在一個單獨(dú)物理連接上對多個數(shù)據(jù)流的微粒交織,這意味著保持對每個流的各自約定的服務(wù)質(zhì)量是可能的。然而,實(shí)際實(shí)現(xiàn)并不容易,因?yàn)閿?shù)據(jù)流會有不同的傳輸量參數(shù)、不同的優(yōu)先級,并且傳輸?shù)臄?shù)據(jù)可能來自不同的源,可能是已經(jīng)格式化好的信元和必須被分割的緩沖的混合。
因此,在ATM網(wǎng)絡(luò)技術(shù)中需要更加靈活的方法和系統(tǒng)來整形ATM流通信量并確保服務(wù)保證的足夠質(zhì)量。
發(fā)明內(nèi)容
本發(fā)明克服了上面提到的問題,并通過提供一個用于調(diào)節(jié)異步傳輸模式(ATM)信元的步長的系統(tǒng)和方法,其中整形加速引擎(以后被稱為QoS引擎)加速了ATM通信量的處理,提供了額外的優(yōu)勢。QoS引擎205通過幫助在許多物理端口上對許多ATM虛擬電路(VC’s)精確調(diào)節(jié)步長,加速了ATM通信量的處理。它允許對多種端口速度、通信量種類、和通信量參數(shù)的同時支持。它與網(wǎng)絡(luò)處理器一起聯(lián)合工作,以便獲得精確的步長調(diào)節(jié),以維持網(wǎng)絡(luò)處理器的軟件靈活性。QoS引擎操作數(shù)據(jù)條目,數(shù)目條目的值包含了代表絕對時間的時間戳,代表新建條目的索引字段,代表物理端口號的端口,代表一個高或低優(yōu)先級的優(yōu)先級字段,通過不斷揀選那些條目的值,使得當(dāng)某個特定端口準(zhǔn)備好傳輸?shù)臅r候,下一個最佳的條目立即可用。在一個實(shí)施例中,本發(fā)明公開了一個合并在本發(fā)明的通信量整形系統(tǒng)中的雙處理器硬件配置。特別地,這個硬件配置包含幾個用于接收并發(fā)送ATM信元到臨近的網(wǎng)絡(luò)節(jié)點(diǎn)的ATM端口。兩個處理器,即一個網(wǎng)絡(luò)處理器和一個協(xié)議處理器,共享一個存儲器。在一個實(shí)施例中,網(wǎng)絡(luò)處理器處理低層發(fā)送和接收ATM信元,該信元例如可能包含分割和重組功能,以及端口服務(wù)的調(diào)度。網(wǎng)絡(luò)處理器可能還處理其他網(wǎng)絡(luò)端口,并對其軟件行為有嚴(yán)格的實(shí)時要求。協(xié)議處理器相反地處理較高層的協(xié)議并實(shí)現(xiàn)功能,如橋接和路由。在本發(fā)明的另一個實(shí)施例中,通用速率控制算法GRCA(漏斗桶),用邏輯信元時間(LCT)和系統(tǒng)時鐘來決定什么時候桶滿、過滿和什么時候桶空。
本發(fā)明的其他方面和優(yōu)點(diǎn)通過下面的詳細(xì)描述將更為明顯,參照附圖,通過例子闡明本發(fā)明的原理。
本發(fā)明可通過結(jié)合附圖閱讀下面優(yōu)選實(shí)施例的詳盡描述,而理解得更加完整。附圖中圖1是顯示了根據(jù)本發(fā)明的一個實(shí)施例的雙處理器硬件配置的示意框圖。
圖2是顯示了根據(jù)本發(fā)明的一個實(shí)施例的控制比特的插入和抽取的服務(wù)質(zhì)量引擎的示意框圖。
圖3是顯示了根據(jù)本發(fā)明的一個實(shí)施例的選擇和決定下一個端口寄存器的服務(wù)質(zhì)量引擎的示意框圖。
圖4是顯示了根據(jù)本發(fā)明的一個實(shí)施例的一個可變位速率傳輸,以及物理信元傳輸時隙、不變的信元間隔、峰值信元間隔和最后兼容時間值之間的關(guān)系的圖。
圖5是顯示了根據(jù)本發(fā)明的一個實(shí)施例的簡化每個數(shù)據(jù)流的狀態(tài)機(jī)的示意框圖。
圖6是根據(jù)本發(fā)明的一個實(shí)施例的用于將虛擬電路插入到服務(wù)質(zhì)量引擎的過程。
圖7是根據(jù)本發(fā)明的一個實(shí)施例的用于重新將虛擬電路插入到服務(wù)質(zhì)量引擎的過程。
具體實(shí)施例方式
下面的描述旨在通過提供多個具體的實(shí)施例和包括ATM處理和系統(tǒng)的細(xì)節(jié)來得到對本發(fā)明透徹理解。然而,需要明白,本發(fā)明并不局限于這些具體的實(shí)施例和細(xì)節(jié),它們僅僅是例子。需要進(jìn)一步理解的是,本領(lǐng)域普通技術(shù)人員按照已知的系統(tǒng)和方法,將能夠理解發(fā)明的應(yīng)用,由于根據(jù)特定的設(shè)計和其他需要,本發(fā)明在許多替代實(shí)施例中的預(yù)期目的和好處。
現(xiàn)在參照附圖,尤其是圖1,顯示了合并在本發(fā)明的通信量整形系統(tǒng)中的一個雙處理器硬件配置100的一個實(shí)施例的示意框圖。尤其,硬件配置100包括多個用于接收和傳輸ATM信元到臨近網(wǎng)絡(luò)節(jié)點(diǎn)的ATM端口102。還包括兩個處理器104和106,以及這兩個處理器共享的存儲器108。在一個實(shí)施例中,第一個處理器104(以后稱為“網(wǎng)絡(luò)處理器”或者“NP”)處理ATM信元的低層傳輸和接收。這可能包含,例如,分割和重新組裝功能,以及端口服務(wù)的調(diào)度。NP 104可能也處理其他網(wǎng)絡(luò)端口,對它的軟件行為具有嚴(yán)格的實(shí)時要求。第二個處理器(稱為“協(xié)議處理器”或“PP”)106反過來處理較高層的協(xié)議并實(shí)現(xiàn)功能,如橋接和路由。
在下面詳細(xì)描述的示例性實(shí)施例中,兩個普通種類的源可生成由上面的硬件配置處理的ATM通信量。第一類源包含本地產(chǎn)生的ATM通信量。本地產(chǎn)生的ATM通信量被定義為只要涉及到PP 106上的一個ATM驅(qū)動器就本地產(chǎn)生的通信量。例如,這個本地產(chǎn)生的通信量可能通過PP 106上的過程創(chuàng)建,或者作為替代,通信量可能包含從另外一個網(wǎng)絡(luò)接口(在整個系統(tǒng)中可能不被認(rèn)為是“本地產(chǎn)生的”,但是對即時的例子來說是“本地產(chǎn)生的”)橋接或者路由來的數(shù)據(jù)包。通常這個橋接或者路由的通信量被當(dāng)作緩沖器,該緩沖器對應(yīng)于幾個ATM信元(如,AAL5數(shù)據(jù)包)的分組,并必須在從輸出端口發(fā)送前被分割為離散的信元。
第二個ATM通信量源包括到達(dá)ATM端口,并在到達(dá)時被逐個交換到一個或多個端口的交換ATM信元。交換電路可能是單點(diǎn)傳輸?shù)?,對每個輸入信元有一個輸出信元,或者是多點(diǎn)傳輸?shù)?,其中每個輸入信元被復(fù)制為多個分支(可能在不同的輸出端口)。來自兩類源的ATM通信量流被虛擬電路或者虛擬路徑承載,我們一般稱之為“流”。每個流有以下特點(diǎn)一個優(yōu)先級,一個通信量類,如CBR、rt-VBR、nrt-VBR或者UBR;和一個指定了信元應(yīng)該被傳輸?shù)乃俾屎驮趥鬏斨性试S多少偏差的通信量參數(shù)的相應(yīng)集合。為了簡單起見,下面的描述假定優(yōu)先級遵循具有CBR信元的通信量類被給予最高優(yōu)先級,而UBR信元被給予最低優(yōu)先級。然而,需要明白,這個約定不需要申請。
在本發(fā)明的另一個實(shí)施例中,參照圖2,公開了用于隔離異步傳輸模式(ATM)信元的系統(tǒng)和方法,其中一個整形加速引擎(以后稱為QoS引擎)加速了ATM通信量的處理。這里描述的QoS引擎205是用于ATM操作的,然而,它里面沒有東西是針對ATM特定的,它通常可以用于任何隔離的傳輸接口。QoS引擎205通過幫助在許多物理端口的許多ATM虛擬電路(VC’s)的精確步長調(diào)節(jié),加速了ATM通信量的處理。它允許同時支持多種端口速度、通信量類、和通信量參數(shù)。為了獲得精確步長調(diào)節(jié),以保持網(wǎng)絡(luò)處理器104的軟件靈活性,它與網(wǎng)絡(luò)處理器104協(xié)同工作。QoS引擎205操作數(shù)據(jù)條目215,該條目的值顯示在表1中,包含表示絕對時間的時間戳210(a),表示對新建條目的索引的索引210(b),表示物理端口號的端口210(c),表示一個高或低的優(yōu)先級的優(yōu)先級210(d),通過不斷揀選那些條目的值使得當(dāng)一個特定端口準(zhǔn)備好傳輸時,下一個最佳條目立即可用。驅(qū)動軟件用“索引”字段215(b)來定位某個特定的虛擬電路,從該電路傳輸一個信元,然后將具有與虛擬電路下次可以傳輸一個信元的時間一致的新更新過的時間戳215(a)的條目重新插入到QoS引擎205中。
表1QoS引擎存儲的條目
時間戳215(a)指示了一個條目需要被返回的最早絕對時間。所有時間與一個系統(tǒng)時鐘有關(guān),該時鐘是從重置開始的8分之一毫秒的32比特計數(shù),并被稱為“計時器1”。時間值不可能在超過當(dāng)前“計時器1”值之前的可能范圍的一半處被插入,否則,有可能在時間戳比較的時候造成反向卷繞。QoS引擎塊205不解釋“索引”值,而是,索引值典型地被驅(qū)動軟件用作流表的索引。流通常與單個虛擬電路的一個方向一致。本發(fā)明的索引210(b)被用作第二排序鍵,為了在許多流具有相同通信量合約的情況下提供穩(wěn)定性。
在索引值210(b)比較的本發(fā)明的步驟中,計算連接的時間戳和索引值的32比特減法,當(dāng)結(jié)果是正數(shù)(最高位空)時,認(rèn)為第一個值在時間上比第二個值要晚,第二個值可能不是傳統(tǒng)的帶符號或不帶符號的比較,但是在可用的數(shù)字空間中卷繞存在的情況下,得到了需要的回答。
QoS引擎的主要資源是一個大的SRAM存儲器,對每個存儲的條目具有32比特字。對每個端口需要一些額外的開銷。這個存儲器可以在每天開始時分割為每個端口最大數(shù)目的條目,這樣空間不會在不中斷步長調(diào)節(jié)進(jìn)程的情況下被實(shí)時地重新分配。每個端口可能保存具有高或低的優(yōu)先級的條目,優(yōu)先級是絕對的,因?yàn)楦邇?yōu)先級條目將永遠(yuǎn)比低優(yōu)先級條目優(yōu)先選擇。在每個端口需要超過兩個優(yōu)先級的情況下,必須由外部軟件實(shí)現(xiàn)。
QoS引擎存儲器布局PP 106和NP 104讀寫QoS引擎205的存儲器作為存儲器-映射區(qū)域,該區(qū)域被用于設(shè)置和管理,因此,高速處理可能對整個操作來說不是特別重要的。在每天開始時,各種值可能被寫入,以在物理端口中分割空間。QoS引擎205的存儲器的最初幾個字被用于提供每個端口隊列的通用細(xì)節(jié)。為了這個目的每個端口隊列使用四個字,所以端口n的隊列的細(xì)節(jié)將在存儲器的第n*4個字找到。存儲器上的字以表2描述的方式被分割。
表2NP存儲器字地址,大小和目的
在QoS引擎205上實(shí)現(xiàn)插入或者移除操作之前,PP 106或者NP104可正確地設(shè)置QoS引擎205的每個存儲器地址值的結(jié)構(gòu)。用于NP104訪問的QoS引擎205映射地址和值被顯示在下面的表3中。
表3用于NP訪問的QoS引擎存儲器映射,與QOS_ENGINE_MEM有關(guān)
本發(fā)明一個其他實(shí)施例是對NP104訪問QoS引擎205地址的設(shè)置,在那里網(wǎng)絡(luò)處理器(NP)104訪問QoS引擎205的存儲器地址,那些地址的比特大小,和它是否能夠?qū)懭牖蛘咦x出,以及在被NP104訪問后需要實(shí)現(xiàn)的指令。完整的說明描述在表4中。
表4用于NP訪問的QoS引擎寄存器地址,與QOS_ENGINE有關(guān)
對于移除讀取,每個具有一個高或低值(也就是,1或者0)的地址位允許如下表5所描述的操作。
表5地址讀取的最低幾位和相應(yīng)的移除操作
如何插入在本發(fā)明的一個實(shí)施例中,參照圖3,NP 104可通過對QoS引擎305寄存器執(zhí)行STM(多次存儲)指令來實(shí)現(xiàn)插入操作,其中STM的最后地址真正觸發(fā)插入操作。需要寫的字應(yīng)該是端口(物理端口號)310(c),索引(新建條目的索引,在那里僅保留末端12位)310(b),優(yōu)先級(僅保留優(yōu)先級末端位)310(d)和時間戳(絕對時間)310(a)。時間值應(yīng)該是256分之一毫秒,由于計時器1(系統(tǒng)時鐘)值左移5位,該值應(yīng)該大于計時器1的當(dāng)前值,而不大于超過計時器1當(dāng)前值半秒。
如何移除NP 104通過進(jìn)行一次本地目的地迂回路由(LDR)操作來從一個端口隊列移除一個條目,該條目提供一個通過NP 104轉(zhuǎn)換為代表流結(jié)構(gòu)的地址的“索引”值;每次NP 104從下一個端口邏輯345讀取,都設(shè)置端口寄存器,這使得通過下個端口的處理稍微快一些。當(dāng)希望將所得到的代碼再次插入條目時,移除一個條目的動作設(shè)置INSERT_INDEX和INSERT_PRO。
選擇(Polling)和下一個端口寄存器位于QoS引擎305外部的下一個端口邏輯345被NP 104用于確定下次處理哪個端口。QoS引擎305通過塊330提供了一個掩碼,該掩碼提供了一個這個過程的選擇掩碼,如果一個端口已經(jīng)被QoS引擎處理,但是還沒有條目準(zhǔn)備好被處理時候,該掩碼阻止該端口出現(xiàn)。QoS引擎不斷地檢查數(shù)據(jù)庫310來看哪個端口是“成熟的”,也就是說,具有需要處理的條目,或者到達(dá)了非激活選擇時間。
使用與物理端口無關(guān)的端口隊列既然沒有什么能阻止軟件維護(hù)與物理端口無關(guān)的端口隊列。軟件可以簡單地通過選擇一個不由QoS引擎隔離的端口n,保證端口n沒有在選擇掩碼中被設(shè)置,在QoS引擎305中分配需要大小的內(nèi)存,初始化QoS引擎305位置n*4和n*4+1為指向分配內(nèi)存的指針,并按照需要插入或者移除條目。需要注意的是,非常希望下一個端口345硬件來提供一個比特,該比特不與物理端口相對應(yīng),但是可以在低優(yōu)先級時宣稱“準(zhǔn)備好傳輸”。軟件可以利用這個比特,例如與端口隊列一起,調(diào)度“后臺”操作,如ATM多點(diǎn)傳輸信元的復(fù)制,這樣一個在QoS引擎305內(nèi)提供的操作模式不需要特別的硬件,可能希望它提供多個這樣的比特。例如,軟件可以利用它來實(shí)現(xiàn)到ATM(IMA)鏈路上的反向多路復(fù)用,或者虛擬路徑(VP)的隔離。這些應(yīng)用建議提供幾個這樣的比特。
GRCA表現(xiàn)對于可能用于在虛擬電路(VC)上的時間信元傳輸?shù)腉RCA(通用速率控制算法)
表6通用速率控制算法(GRCA)參數(shù),大小和單位
在本發(fā)明的一個實(shí)施例中,闡述了通用速率控制算法(漏斗桶),其中邏輯信元時間(LCT)是來自GRCA的虧蝕,而定時器1(系統(tǒng)時鐘)是GRCA的信用。如果LCT等于定時器1,桶是滿的,因此有最大信用,當(dāng)LCT小于定時器1,桶過滿,必須被小心削減,當(dāng)LCT大于或者等于定時器1和突發(fā)容錯(BT)的和,桶是空的。當(dāng)在峰值速率傳輸時,LCT比定時器1前進(jìn)得快,直到BT超出(沒有信用留下)。在這點(diǎn)上,僅需要以持續(xù)不變的速率傳輸,LCT和定時器1將從那時起步調(diào)一致地前進(jìn)。
把比較當(dāng)作簡單的無符號整數(shù)比較,在大多數(shù)情況下卷繞都巧妙的起作用,但是如果流在QoS引擎以外(因?yàn)闆]有數(shù)據(jù)發(fā)送)的停留時間超過LCT卷繞所需時間(大約8秒)的一半就會產(chǎn)生問題。在這種情況下,流看起來沒有信用。這是一個相對較小的影響。如果按照在控制軟件中的一個后臺線程的要求,該線程至少每隔8秒必須訪問所有的流并修補(bǔ)LCT值,可以克服上述問題。作為一個特別的實(shí)例,GRCA 530用于接收(管轄)或發(fā)送(隔離)信元。在傳輸中,由于鏈路層或者物理層引入的偏差,或者由于一個步調(diào)不一致的發(fā)射器,不使用信元延遲變化(CDV),這與比峰值信元間隔(PCI)更近的信元的容限是一致的。對于一個接收(管轄)GRCA,在特定時刻接收信元的動作將更新狀態(tài),并生成一個布爾返回值用來指明接收是否違反了管轄操作,該操作典型地將導(dǎo)致信元被加標(biāo)記(如,使用信元丟失優(yōu)先權(quán),CLP位)或者丟棄。
不變的信元間隔(SCI)被設(shè)定為支持高速端口的高精度,來減少整體上的長期漂移。實(shí)際上最大允許值是由在數(shù)據(jù)庫中保持的時間戳(也就是半秒)的范圍來決定的。比這慢的步長調(diào)節(jié)速率不直接被QoS引擎支持。慢一些的速率由軟件產(chǎn)生,每隔一個流活動發(fā)送一個信元。OC3速率(通常為155.52Mbps)意味著最小可能信元間空隙是2.73μs,所以用256分之一毫秒意味著在信元中速率的最差可能誤差每秒鐘約為700分之1。對大多數(shù)用途這就足夠了,其中BT的最低兩位被作為標(biāo)志,當(dāng)在峰值或者不變速率時給出優(yōu)先權(quán)。
典型虛擬電路狀態(tài)機(jī)在本發(fā)明的另一個實(shí)施例中,參考圖5,NP軟件實(shí)現(xiàn)了虛擬電路狀態(tài)機(jī),為了闡述一個代表在單個ATM虛擬電路或者VP上的單向步長調(diào)節(jié)通信量的流,其流程由圖5的開始天515開始,那里存在虛擬電路但是沒有信元發(fā)送。虛擬電路沒有插入QoS引擎505,但是如果虛擬電路存在,不在QoS引擎505中,現(xiàn)在有數(shù)據(jù)發(fā)送,虛擬電路被插入QoS引擎505,請求現(xiàn)在的時間,其允許等待物理發(fā)送時隙。用T做計時器1(也就是系統(tǒng)時鐘),本發(fā)明的一個實(shí)施例執(zhí)行一個插入計算,它由系統(tǒng)檢查組成,檢查是否系統(tǒng)時鐘T與突發(fā)容錯(BT)兩倍相加比邏輯信元時間(LCT)小,如果檢查的結(jié)果為真,則系統(tǒng)時鐘T(也就是計時器1)和邏輯信元時間是相等的,因此狀態(tài)是在長時間沒有信元后被LCT卷繞修補(bǔ)。當(dāng)T2等于T,那是調(diào)度發(fā)送的時間。但是如果系統(tǒng)時鐘T加上突發(fā)容錯比邏輯信元時間大,意味著在峰值信元速率沒有足夠的信用來發(fā)送信元。如果存在實(shí)時峰值標(biāo)志,那么意味著優(yōu)先權(quán)為高,因此,指示系統(tǒng)以峰值速率排隊發(fā)送,否則優(yōu)先權(quán)為低,系統(tǒng)以不變信元速率傳輸。并且如果存在實(shí)時不變標(biāo)志,優(yōu)先權(quán)可能是高也可能是低,指示系統(tǒng)以不變速率排隊發(fā)送。當(dāng)虛擬電路從QoS引擎505出現(xiàn),由塊510決定是否虛擬電路有數(shù)據(jù)要發(fā)送,如果沒有數(shù)據(jù)發(fā)送,它被傳遞到塊520,那里等待直到有信元可以發(fā)送,并且GRCA530的狀態(tài)沒有更新,虛擬電路被重新插入QoS引擎505。最終,當(dāng)虛擬電路在時間T由QoS引擎出現(xiàn),并被塊510確定為虛擬電路有數(shù)據(jù)發(fā)送的時候,它被傳遞到塊525,其中發(fā)送一個來自該流的信元,基于使邏輯信元時間等于邏輯信元時間和不變信元間隙相加的和,虛擬電路通過GRCA 530在時間T2以優(yōu)先級P被重新插入QoS引擎505中,這解釋為信用減少;如果時間T比邏輯信元時間大,邏輯信元時間與T相等,意味著存在嚴(yán)重的擁塞,因此,信用必須被限制為最大值;如果T和突發(fā)容限的結(jié)合超過了邏輯信元時間,表示有足夠的信用,并且那些信元可以以峰值信元率被發(fā)送。如果T2等于T和峰值信元率間隔相加的和,并且如果一個實(shí)時的峰值標(biāo)志存在時,峰值為高,而且QoS引擎505以峰值率排隊發(fā)送。否則,峰值為低,而且QoS引擎505以低于峰值信元率(典型的以不變的信元率)發(fā)送。當(dāng)T2等于從突發(fā)容錯減去邏輯信元時間,并且如果一個實(shí)時的不變標(biāo)志存在時,不管峰值是高還是低,QoS引擎505以不變的速率排隊發(fā)送。
在本發(fā)明的一個實(shí)施例中,顯示了在每一個端口,QoS引擎505以兩個單獨(dú)的優(yōu)先級保持經(jīng)過揀選的流。這些基本的原理揭示了對ATM流的分類的映射。在恒定比特率CBR,虛擬路徑代表不變信元速率的間隔,它小于或者等于線速率,只要線速率不大于SCI并且峰值信元速率的間隔等于不變信元率的間隔,相等于等于零的突發(fā)控制,并且實(shí)時峰值和實(shí)時不變標(biāo)志相等并且是真。然后虛擬路徑將一直排在高優(yōu)先級(如果它有信元發(fā)送)。如果一個虛擬路徑?jīng)]有可用的信元,則它不建立信用。當(dāng)一個虛擬路徑由于一些其他原因(由于其他NP負(fù)載;物理發(fā)送率間隔尺寸;或者其他的CBR通信流)經(jīng)歷一個小的延遲,它將建立信用,因此整個通信能力將不受影響。在實(shí)時變化比特率VBR,rt-VBR虛擬電路代表不變信元速率的間隔,它大于峰值信元速率的間隔,峰值信元速率的間隔大于線速率,對一個n信元的峰值突發(fā)來說,突發(fā)容錯等于(n+1)×SCI-n×SCI,并且實(shí)時峰值和實(shí)時不變標(biāo)志相等并且是真。然后虛擬電路將一直排在高優(yōu)先級,將實(shí)現(xiàn)PCI和SCI。PCI將不會超額預(yù)定,也就是說,所有CBR和rt-VBR PCI的和應(yīng)該小于物理線速率。因此,在實(shí)際中,PCI不可能比SCI大得多。如果PCI被超額預(yù)定而SCI沒有被超額預(yù)定,那么所有CBR和rt-VBR的SCI將最終符合。在非實(shí)時的可變比特率VBR,虛擬電路代表不變信元速率的間隔,它大于峰值信元速率的間隔,峰值信元速率的間隔大于或等于線速率,對一個n信元的峰值突發(fā)來說,突發(fā)容錯等于(n+1)×SCI-n×SCI,實(shí)時峰值標(biāo)志是假,實(shí)時不變標(biāo)志是真。然后虛擬電路排在低的優(yōu)先級但以峰值發(fā)送,排在高的優(yōu)先級但以不變值發(fā)送。虛擬電路確保實(shí)現(xiàn)它的SCI,但是更高的帶寬依賴于在低優(yōu)先級隊列中的負(fù)載。高(超額預(yù)定)的峰值速率是允許的并且不會中斷CBR通信流。但是,保證了不變速率。SCI不應(yīng)該被超額預(yù)定(當(dāng)加上CBR和rt-VBR的SCI的時候)。如果那樣,CBR的通信能力將受到影響。在前面許多未指定比特率UBR的虛擬電路中,它們能夠在低優(yōu)先級找到位置,而在峰值速率處發(fā)現(xiàn)整個峰值時間已經(jīng)過去,實(shí)際上甚至不能得到SCI。如果所有這些通信量分類的混合必須同時得到支持,并且這個行為的可能性是不可接受的,則每個端口應(yīng)該采用四個優(yōu)先級。在UBR+(以峰值信元速率的UBR),虛擬電路代表不變信元速率的間隔,它大于峰值信元速率的間隔,峰值信元速率的間隔大于或等于線速率,對一個n信元的峰值突發(fā)來說,突發(fā)容錯等于(n+1)×SCI-n×SCI,實(shí)時峰值標(biāo)志是假,實(shí)時不變標(biāo)志是真。然后虛擬電路一直鎖定在低的優(yōu)先級。在這種約束之下,系統(tǒng)將在可用的帶寬之內(nèi)應(yīng)用PCI/SCI/BT。高的、且超額預(yù)定的峰值速率是允許的。在嚴(yán)重的過負(fù)載的時候,帶寬與SCI而不是PCI成比例地被分配。在未指定的比特率UBR下,虛擬電路不再占據(jù)調(diào)度器隊列。當(dāng)一個物理端口有一個發(fā)送時隙,而且沒有等候的虛擬電路允許發(fā)送,則控制軟件能夠從一個UBR虛擬電路發(fā)送一個信元。在可用比特率ABR下,對ABR沒有特定的支持,除了在每個信元再次指定SCR之外。聯(lián)系上下文,ABR應(yīng)該看作是類似可變比特率,而不是一個影響SCI/PCI設(shè)置的額外的控制平面。
用四個優(yōu)先級的通信量分類一旦當(dāng)所有上述的通信量分類都被使用時,在一個單端口,四個優(yōu)先級可用于一個端口,用兩個存儲器的區(qū)域,根據(jù)是否在PCR或者SCR來將VBR(和ABR)移動到兩個獨(dú)立的優(yōu)先級的主意可能是合適的。根據(jù)通信量分類和虛擬電路數(shù)目的精確混合,每個端口四個優(yōu)先級可能是在一個獨(dú)立端口上運(yùn)行四個優(yōu)先級的一個要求。軟件可以為單個物理端口上的一個隊列采用兩個端口號來便于實(shí)現(xiàn)上述要求。對應(yīng)于兩個邏輯上的端口,QoS引擎的存儲器必須被分配在兩個不同的區(qū)域。
多點(diǎn)傳送在步長調(diào)節(jié)方面不需要特別考慮。只要考慮到輸出功能,多點(diǎn)傳送虛擬電路的每一個輸出就表現(xiàn)為一個單點(diǎn)傳送虛擬電路。
虛擬路徑(VPs)虛擬路徑的輸出就像是一個虛擬電路。對于軟件來說,可以用這個虛擬路徑的一個邏輯端口號(和對應(yīng)的QoS引擎的儲存器區(qū)域)來調(diào)節(jié)流進(jìn)虛擬電路的信元的步長。這個虛擬路徑也被認(rèn)為是在虛擬路徑所運(yùn)行的物理端口上的一個單一條目。在NP軟件中實(shí)現(xiàn)的狀態(tài)機(jī)連接到基于多種組合的各種狀態(tài)無信元發(fā)送/在虛擬路徑之內(nèi)有一個或者多個虛擬電路可以發(fā)送無能力/虛擬路徑本身可以發(fā)送一個信元僅僅少量的虛擬路徑以這種方式控制,因?yàn)槊恳粋€要求預(yù)先分配的QoS引擎的存儲器區(qū)域,和預(yù)先分配的軟件控制的在下一個端口寄存器中準(zhǔn)備發(fā)送的比特。
用于ATM(IMA)的反向復(fù)用運(yùn)行在IMA鏈路內(nèi)的虛擬電路占據(jù)一個端口隊列,就像虛擬路徑一樣。除此之外,如果需要的話,IMA鏈路運(yùn)行的物理端口能夠使用端口隊列設(shè)備。軟件實(shí)現(xiàn)了IMA的狀態(tài)機(jī)。
QoS引擎存儲器的動態(tài)再分配。這部分的目的是允許端口隊列區(qū)域在使用當(dāng)中被再分配。這將大大減輕不得不預(yù)分配可用空間的痛苦。在流建立中,如果沒有足夠空間,一個端口的端口隊列將會被移到一個較大的連續(xù)區(qū)域,只要那里有一些空置空間。這意味著一個“端口”的條目被分為多個存儲器物理區(qū)域。這與用于每個端口的四個優(yōu)先級級別的硬件支持相結(jié)合,該硬件支持對每個端口仍然需要多個物理區(qū)域。端口條目的表示被改變?nèi)缦?。它將Qos引擎存儲器的幾個區(qū)域映射在單一端口上。
QoS引擎存儲器的動態(tài)再分配本發(fā)明的另一個實(shí)施例是一種允許端口隊列區(qū)域在使用中被再分配的方法。在流建立中,如果沒有足夠的空間,一個端口隊列將會被移到一個較大的較大的連續(xù)區(qū)域,只要那里有一些閑置空間。這意味著一個“端口”的條目被分為多個存儲器物理區(qū)域。這與用于每個端口的四個優(yōu)先級級別的硬件支持相結(jié)合,該硬件支持對每個端口仍然需要多個物理區(qū)域。端口條目的表示被改變?nèi)缦?。它將QoS引擎存儲器的幾個區(qū)域映射在單一端口上。
端口n(可以是物理或者邏輯端口;端口號被下一個端口邏輯所定義)在QoS引擎存儲器的32比特位置n上有一個單字指針。這是依次指向存儲器區(qū)域描述符的一個指針。
表7存儲器描述符(MD)的布局圖
如果“next”字段是非空,則nulli和nullt字段被忽略。因此,只是在鏈的末端得到nulli/nullt。實(shí)際上,它們是所有項目中優(yōu)先級最低的。
設(shè)備的控制軟件必須構(gòu)建這些在每天開始時分配儲存器中的描述符鏈。期望這是在PP上運(yùn)行,而不是在NP上。PP也會記錄什么存儲器區(qū)域沒有被使用。
選擇硬件必須在每次端口被選擇時在描述符鏈上移動。缺省時,在鏈中的每個MD提供另外兩個優(yōu)先級?;蛘?,如果“same”標(biāo)識置位,則這二者彼此之間認(rèn)為是同一個優(yōu)先級。
插入操作中的端口寄存器被稱為INSERT_ADDR的寄存器替代,這個INSERT_ADDR寄存器是指向插入出現(xiàn)的MD的一個指針。移除操作填入正確的值來允許容易的再次插入。如果通信量分類想要支持從一個MD移除并且插入另一個,比如改變優(yōu)先級,那么軟件必須用自己的結(jié)構(gòu)指出這兩個MD的關(guān)聯(lián)。
這種結(jié)構(gòu)的目的是在兩個存儲器區(qū)域內(nèi),一個端口可能有四個(或者甚至六個)優(yōu)先級。因此一個存儲器區(qū)域能夠被重新分配并且在新舊區(qū)域都鏈接到鏈上時提供服務(wù)。這個舊的區(qū)域緊靠在新的之前,而且“same”位置位。
為了支持“重新分配”的情形,有一個對移除行為的最終訣竅。當(dāng)從MD中移除并且“same”位置位時,INSERT_ADDR寄存器被設(shè)為在這個端口鏈中的下一個MD。以這種方法,條目將從舊的端口隊列中移除,并插入新的端口隊列中。更詳細(xì)地,這將允許完全在PP的控制下端口隊列區(qū)域的重新分配。NP,或者QoS引擎,均不需要中斷服務(wù)。假設(shè)一個有四個優(yōu)先級端口n,被兩個MD在m1和m2表示。在m1要代替較高優(yōu)先級的MD1.分配新的存儲器區(qū)域。
2.構(gòu)建一個新的MAD,m3,用于代替m1。
3.m3->next=m2;m1->next=m3,m1->same=true。現(xiàn)在在端口n的鏈上有三個MAD,依次是m1,m2,m3。在MAD中這些字段的安排意味著m1->same/true的更新是原子性的。
4.隨著條目成熟,m1的存儲器應(yīng)該慢慢變空,此前一直等待。
5.設(shè)定QoS引擎存儲器的位置n指向m3,而不是m1。此時m1從列表中被(原子性地)移除。它的存儲器能夠?yàn)榻窈蟮氖褂帽辉俅问栈亍?br>
指針的初始數(shù)組,而不是緊接著MAD的初始數(shù)組,將明確允許鏈中第一個MAD條目的原子性的異步替代。當(dāng)這個端口的儲存器區(qū)域僅有一個時,m1替代情形也工作。在m2替代較低優(yōu)先級的MD6.分配一個新的存儲區(qū)域。
7.構(gòu)建一個新的MAD,m3,用于代替m2。
8.m2->next=0;m2->next=m3,m2->same=true?,F(xiàn)在在端口n的鏈上有三個MAD,依次是m1,m2,m3。在MAD中這些字段的安排意味著m2->same/true的更新是原子性的。m2的nulli/nullt字段現(xiàn)在被忽略,因?yàn)閙2->next不再是0。
9.隨著條目成熟,m2的存儲器應(yīng)該慢慢變空,此前一直等待。
10.設(shè)定m1->next指向m3,而不是m2。此時m2從列表中(原子性地)移除。它的存儲器能夠?yàn)榻窈蟮氖褂弥斜辉俅位厥铡?br>
所有這些使得硬件模塊更加靈活,也使得每個端口四個優(yōu)先級更可接受。
雖然前面的描述包含了很多細(xì)節(jié)和特征,需要明白的是包含這些僅僅是出于解釋的目的,而不能解釋為本發(fā)明的局限。針對上面描述的實(shí)施例可作許多修改,而不偏離本發(fā)明的主旨和范圍。
權(quán)利要求
1.加速在數(shù)據(jù)包交換網(wǎng)絡(luò)中基于數(shù)據(jù)包的通信量處理的方法,包含提供服務(wù)質(zhì)量引擎,用于通過精確調(diào)節(jié)多個虛擬電路的步長來加速基于數(shù)據(jù)包的通信量的處理;分配數(shù)據(jù)條目值來調(diào)度在一個或多個虛擬路徑上數(shù)據(jù)包的傳輸,其中每個數(shù)據(jù)進(jìn)一步包含一個時間戳字段,一個索引字段,一個端口字段和一個優(yōu)先級字段當(dāng)特定的端口準(zhǔn)備發(fā)送時,揀選出數(shù)據(jù)條目值來確定下一個最佳的可用條目。
2.如權(quán)利要求1所述的方法,其中索引字段用于定位特定的虛擬電路。
3.如權(quán)利要求1所述的方法,其中時間戳字段表明一個條目可能返回的最早的絕對時間。
4.如權(quán)利要求1所述的方法,其中端口字段表明一個物理端口號。
5.如權(quán)利要求1所述的方法,其中優(yōu)先級字段是一個布爾類型的高或低值,并且表明條目的優(yōu)先級。
6.如權(quán)利要求1所述的方法,其中服務(wù)質(zhì)量引擎提供一個掩碼,當(dāng)具有沒有準(zhǔn)備好被處理的條目的端口被服務(wù)質(zhì)量引擎處理時,所述掩碼用來防止該端口被顯示。
7.如權(quán)利要求1所述的方法,其中服務(wù)質(zhì)量引擎通過網(wǎng)絡(luò)處理器被訪問,以確定是從它的存儲器寫入還是讀出。
8.如權(quán)利要求7所述的方法,其中網(wǎng)絡(luò)處理器執(zhí)行移除讀取。
9.如權(quán)利要求8所述的方法,其中每個移除讀取在移除之前被檢查優(yōu)先級。
10.如權(quán)利要求8所述的方法,其中每個移除讀取是一個有條件的或者無條件的移除。
11.用于加速在數(shù)據(jù)包交換網(wǎng)絡(luò)中基于數(shù)據(jù)包的通信量處理的設(shè)備,包含通過精確調(diào)節(jié)多個虛擬電路的步長,用來加速基于數(shù)據(jù)包的通信的處理的服務(wù)質(zhì)量引擎;用來調(diào)度在一個或多個虛擬電路上的數(shù)據(jù)包的傳輸?shù)臄?shù)據(jù)條目值,其中,每個數(shù)據(jù)進(jìn)一步包含一個時間戳字段,一個索引字段,一個端口字段和一個優(yōu)先級字段;當(dāng)特定的端口準(zhǔn)備傳輸時,用于確定下一個最佳的可用條目的數(shù)據(jù)條目值揀選器。
12.如權(quán)利要求11所述的設(shè)備,其中索引字段被用于定位特定的虛擬電路。
13.如權(quán)利要求11所述的設(shè)備,其中時間戳字段表明條目可能返回的最早絕對時間。
14.如權(quán)利要求11所述的設(shè)備,其中端口字段表明一個物理端口號。
15.如權(quán)利要求11所述的設(shè)備,其中優(yōu)先級字段是一個布爾類型的高或低值,并且表明條目的優(yōu)先級。
16.如權(quán)利要求11所述的設(shè)備,其中服務(wù)質(zhì)量引擎提供一個掩碼,當(dāng)具有沒有準(zhǔn)備好被處理的條目的端口被服務(wù)質(zhì)量引擎處理時,所述掩碼用來防止該端口被顯示。
17.如權(quán)利要求11所述的設(shè)備,其中服務(wù)質(zhì)量引擎通過網(wǎng)絡(luò)處理器被訪問,以確定是從它的存儲器寫入還是讀出。
18.一種計算機(jī)可讀的介質(zhì),包含一個用于在數(shù)據(jù)包交換網(wǎng)絡(luò)中加速基于數(shù)據(jù)包的通信量處理的計算機(jī)可執(zhí)行程序,這個程序包含一個或多個用于提供用來加速基于數(shù)據(jù)包的通信量處理的服務(wù)質(zhì)量引擎的指令;一個或多個用于分配用來調(diào)度在一個或者多個虛擬電路上的數(shù)據(jù)包傳輸?shù)臄?shù)據(jù)條目值的指令;一個或多個用于揀選數(shù)據(jù)條目值的指令,以當(dāng)一個特定端口準(zhǔn)備傳輸?shù)臅r候確定下一個最佳的可用數(shù)據(jù)條目。
19.如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),其中一個或多個用于分配在一個或者多個虛擬電路上調(diào)度數(shù)據(jù)包的傳輸?shù)臄?shù)據(jù)條目值的指令進(jìn)一步包含一個或多個指令,用于識別一個時間戳字段、一個索引字段,一個端口字段和一個優(yōu)先級字段。
20.如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),用于提供一個掩碼,當(dāng)具有沒有準(zhǔn)備好被處理的條目的端口被服務(wù)質(zhì)量引擎處理時,所述掩碼用來防止該端口被顯示。
21.如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),進(jìn)一步包含一個或多個指令,用于通過網(wǎng)絡(luò)處理器訪問服務(wù)質(zhì)量引擎,來確定是從它的存儲器寫入還是讀出。
22.如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),進(jìn)一步包含一個或多個指令,用于使網(wǎng)絡(luò)處理器執(zhí)行移除讀取,這些移除讀取在有條件的或者無條件的移除之前被檢查優(yōu)先級。
全文摘要
公開了一種用于調(diào)度信元發(fā)送至網(wǎng)絡(luò),或者其他數(shù)據(jù)包交換網(wǎng)絡(luò)的方法和設(shè)備。調(diào)度機(jī)制的主要特征是一個服務(wù)質(zhì)量引擎(QoS引擎),該引擎通過協(xié)助多個ATM虛擬電路的精確步長調(diào)節(jié),加速在數(shù)據(jù)包交換網(wǎng)絡(luò),比如ATM網(wǎng)絡(luò)中的數(shù)據(jù)包的處理。QoS引擎允許對多個不同端口速度,使用不同優(yōu)先級的通信量分類和通信量參數(shù)的同時支持。服務(wù)質(zhì)量引擎(QoS引擎)與網(wǎng)絡(luò)處理器(NP)協(xié)同工作,允許它保持軟件靈活性,使其獲得精確步長調(diào)節(jié)。
文檔編號H04L12/28GK1853379SQ200380108007
公開日2006年10月25日 申請日期2003年12月29日 優(yōu)先權(quán)日2002年12月31日
發(fā)明者戴維·米爾維, 威廉·思托伊 申請人:肯奈克斯特公司