專利名稱:用于atm業(yè)務(wù)的一種數(shù)據(jù)成形器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ATM交換網(wǎng),更具體地說,涉及根據(jù)峰值信元速率和可維持信元速率等參數(shù)對(duì)每條連接進(jìn)行成形的ATM業(yè)務(wù)成形。
背景技術(shù):
數(shù)字?jǐn)?shù)據(jù)通常以數(shù)據(jù)分組的形式經(jīng)由分組交換網(wǎng)從一個(gè)用戶傳輸給另一用戶。在傳輸數(shù)字?jǐn)?shù)據(jù)的一種標(biāo)準(zhǔn)方式中,數(shù)據(jù)分組經(jīng)由虛通路通過網(wǎng)絡(luò)進(jìn)行交換。虛通路的產(chǎn)生是由于服務(wù)器經(jīng)由一條服務(wù)器確定的通路通過交換網(wǎng)傳送分組,以便滿足對(duì)特定傳輸數(shù)據(jù)的數(shù)據(jù)業(yè)務(wù)要求。這種類型的一種系統(tǒng)被稱為異步傳遞方式網(wǎng)(ATM)。
在ATM網(wǎng)中,用戶應(yīng)用把數(shù)據(jù)打包成被稱作“信元”的數(shù)據(jù)塊。每個(gè)信元是經(jīng)由ATM交換網(wǎng)從一個(gè)用戶應(yīng)用傳輸給另一用戶應(yīng)用的一個(gè)數(shù)據(jù)段。ATM網(wǎng)通過一系列ATM交換機(jī)提供一條連接,一個(gè)用戶應(yīng)用可以通過它向另一用戶應(yīng)用傳送信元。每條連接以一個(gè)峰值信元速率為特征,它是指每單位時(shí)間內(nèi)可以通過一條給定連接傳輸?shù)淖畲笮旁獢?shù)目。ATM連接還以一個(gè)“可維持信元速率”為特征,它是指在更長(zhǎng)的傳輸時(shí)間內(nèi)可以維持的信元速率,而不是以“峰值信元速率”為特征的較短、突發(fā)性更強(qiáng)的傳輸。本領(lǐng)域的技術(shù)人員應(yīng)能理解“峰值信元速率”和“可維持信元速率”,這些術(shù)語常用來表征ATM連接。
盡管ATM網(wǎng)可以采用各種不同的形式,但它們通常以互連路由器和其他與從網(wǎng)絡(luò)中一點(diǎn)提供給網(wǎng)絡(luò)中另一點(diǎn)的數(shù)據(jù)分組進(jìn)行交換有關(guān)的硬件為特征。在ATM網(wǎng)的每臺(tái)ATM交換機(jī)內(nèi),數(shù)據(jù)分組通過一個(gè)輸入端口提供給一個(gè)輸出端口。提供給每個(gè)輸入端口的數(shù)據(jù)分組可能帶有一個(gè)指示路由選擇、即數(shù)據(jù)在ATM交換網(wǎng)內(nèi)歷經(jīng)的虛通路連接的有關(guān)信頭。在這種方法中,提供給一個(gè)輸入端口的數(shù)據(jù)信元通過有關(guān)ATM交換機(jī)交換到一個(gè)輸出端口,最后從ATM網(wǎng)中的交換機(jī)到交換機(jī)。
本領(lǐng)域的那些技術(shù)人員將能理解通過一臺(tái)ATM交換機(jī)傳送的分組必須經(jīng)過用于分配優(yōu)先級(jí)排序。也就是說,對(duì)于其中的每條可能連接,一個(gè)ATM網(wǎng)都具有受限的可維持信元速率以用于傳輸分組。如果多個(gè)用戶應(yīng)用正向ATM交換網(wǎng)提供在一條特定連接上傳輸?shù)姆纸M,提供給它的信元必須確定應(yīng)首先在該連接上傳送哪些信元。輸入數(shù)據(jù)信元的這種優(yōu)先級(jí)排序被稱為“排隊(duì)”。
已提出了若干種用于對(duì)通過ATM交換網(wǎng)的信元進(jìn)行排隊(duì)的方法,包括根據(jù)先入先出優(yōu)先級(jí)排序方案對(duì)其排隊(duì)。遺憾的是,這些方案沒有考慮不同傳輸時(shí)隙內(nèi)不同信元的相對(duì)重要程度。
發(fā)明概述本發(fā)明提供了一種在多個(gè)傳輸時(shí)隙內(nèi)對(duì)信元優(yōu)先級(jí)排序的方法,使得高優(yōu)先級(jí)信元首先被傳輸。本發(fā)明考慮到未來時(shí)隙中的信元可能必須在較早一些的時(shí)隙中傳輸,以確保高優(yōu)先級(jí)的所有信元能在其時(shí)限之前被傳輸。
因此,本發(fā)明把用于ATM傳輸?shù)臅r(shí)隙視作一個(gè)時(shí)間窗口內(nèi)的一系列時(shí)隙。該窗口長(zhǎng)度固定,這樣當(dāng)傳輸來自一個(gè)時(shí)隙的信元時(shí),另一時(shí)隙就被加到窗口的末端,以保持窗口長(zhǎng)度內(nèi)的時(shí)隙數(shù)不變。在每個(gè)時(shí)隙中,在一組信元和未來時(shí)隙中的那些可能需要在當(dāng)前時(shí)隙進(jìn)行傳輸?shù)男旁鍐蔚姆秶鷥?nèi)對(duì)該時(shí)隙內(nèi)要傳輸?shù)男旁M(jìn)行識(shí)別和優(yōu)先級(jí)排序。也就是說,每個(gè)時(shí)隙內(nèi)的信元清單可能優(yōu)先于當(dāng)前時(shí)隙內(nèi)的優(yōu)先信元,從而為了未來時(shí)隙中的信元而排擠當(dāng)前信元。
附圖簡(jiǎn)述通過仔細(xì)研究根據(jù)附圖對(duì)發(fā)明當(dāng)前優(yōu)選示范實(shí)施例所作的更詳細(xì)描述,將能更完整地理解和掌握本發(fā)明的這些以及其他目的和優(yōu)點(diǎn),其中
圖1是一個(gè)指明了本發(fā)明成形器可能所處的位置的ATM交換網(wǎng)系統(tǒng)示意圖;圖2是根據(jù)本發(fā)明的一個(gè)示范實(shí)施例的信元時(shí)隙數(shù)據(jù)結(jié)構(gòu)示意圖;圖3是根據(jù)本發(fā)明的一個(gè)信元時(shí)隙窗口在一個(gè)示范時(shí)刻的示范實(shí)施例;圖4是本發(fā)明硬件的一種示范實(shí)施例示意圖;圖5是根據(jù)發(fā)明的一個(gè)實(shí)例方面處理時(shí)隙群的一種方法實(shí)例;圖6是符合發(fā)明的一種時(shí)隙數(shù)據(jù)結(jié)構(gòu)實(shí)例;圖7是符合發(fā)明的另一種時(shí)隙數(shù)據(jù)結(jié)構(gòu)實(shí)例;以及圖8a-8d描述了本發(fā)明每種隊(duì)列或清單類型的一種結(jié)構(gòu)實(shí)例,包括圖8a表示一個(gè)優(yōu)先隊(duì)列中的指針實(shí)例;圖8b表示一個(gè)之前最佳清單(best-before list)中的指針實(shí)例;圖8c表示一個(gè)由之前最佳清單構(gòu)成的清單中的指針實(shí)例;以及圖8d表示一個(gè)群隊(duì)列中的指針實(shí)例。
當(dāng)前優(yōu)選實(shí)施例的詳細(xì)描述圖1中表示了與用戶駐地12的一個(gè)用戶應(yīng)用進(jìn)行通信的ATM網(wǎng)10。ATM網(wǎng)10包括若干ATM交換機(jī)13,每臺(tái)交換機(jī)為提供給它的數(shù)據(jù)定義了一個(gè)輸入端口和一個(gè)輸出端口,該數(shù)據(jù)通過應(yīng)用14來自用戶駐地12或來自另一ATM交換機(jī)13。本發(fā)明提供了一個(gè)成形器,它對(duì)通過某臺(tái)ATM交換機(jī)的數(shù)據(jù)信元進(jìn)行優(yōu)先級(jí)排序。圖1表明可以安放成形器的可能位置在用戶駐地12和ATM網(wǎng)10之間。具體地說,本成形器可以放在用戶設(shè)備內(nèi)(位置A),例如應(yīng)用14中。另外,成形器可以與某臺(tái)ATM交換機(jī)相連。例如,成形器可以作為一個(gè)獨(dú)立單元就放在ATM交換機(jī)13的輸入端口前(位置B)。另外,成形器可以作為一臺(tái)獨(dú)立設(shè)備緊跟在ATM交換機(jī)13的輸出端口之后?;蛘撸尚纹饕部梢晕挥谳斎攵丝谠O(shè)備(位置C)或輸出端口設(shè)備內(nèi)(位置D)。在上述任意一種情況中,成形器讀取通過一條ATM網(wǎng)連接傳送的數(shù)據(jù)信元,并對(duì)信元進(jìn)行優(yōu)先級(jí)排序,以便傳輸。
圖2說明了用于本發(fā)明一個(gè)示范實(shí)施例的數(shù)據(jù)結(jié)構(gòu)。圖2所示是一個(gè)時(shí)隙窗口20(時(shí)隙1、時(shí)隙2、時(shí)隙3...時(shí)隙n)。每個(gè)時(shí)隙表示一個(gè)時(shí)間段,在該段時(shí)間內(nèi),ATM交換網(wǎng)10為一個(gè)用戶應(yīng)用提供傳輸一個(gè)數(shù)據(jù)信元的機(jī)會(huì)。一個(gè)數(shù)據(jù)幀就定義為由若干數(shù)據(jù)信元組成。在這種意義上,本發(fā)明并不受限于某種信元結(jié)構(gòu),而可以是任意信元數(shù)據(jù)分組(或多數(shù)據(jù)分組)類型。
如圖2所示,窗口20包括圖2左上角的時(shí)隙1,它是用于在ATM交換網(wǎng)10上傳輸?shù)漠?dāng)前時(shí)隙。也就是說,在下一傳輸周期內(nèi),在時(shí)隙1中被識(shí)別為立即傳輸?shù)男畔⒔酉聛肀粋鬏?。然后將傳輸時(shí)隙2中指定的信息,之后是時(shí)隙3,依此類推。通常,各時(shí)隙(時(shí)隙1、時(shí)隙2等等)包含要傳輸?shù)膬?yōu)先信息的單個(gè)信元。
不過,在發(fā)明的本實(shí)施例中,時(shí)隙1包含將指導(dǎo)硬件或軟件從時(shí)隙的兩種不同的指定信元類型中選擇一種的信息。時(shí)隙1中的第一種信元類型是信元的標(biāo)準(zhǔn)優(yōu)先類型,它可以單獨(dú)包含在時(shí)隙1中,或包含在排隊(duì)裝置的某個(gè)分類中。在時(shí)隙1中可被選擇用于傳輸?shù)牡诙N信元類型(代替第一種信元類型)是一個(gè)來自所謂的“之前最佳”信元清單的信元。圖2的之前最佳清單和存儲(chǔ)緩沖區(qū)由一個(gè)固定長(zhǎng)度的專用存儲(chǔ)區(qū)域構(gòu)成。所示方法是為了強(qiáng)調(diào)發(fā)明的某些方面,但它并不是優(yōu)選的存儲(chǔ)區(qū)使用方法,因?yàn)樗鼤?huì)產(chǎn)生大量空閑、未用的存儲(chǔ)空間?;蛘撸绺鶕?jù)后續(xù)實(shí)施例作的描述,可以對(duì)緩沖區(qū)中包含的以上信息進(jìn)行存儲(chǔ),或更為優(yōu)選地則是進(jìn)行鏈接,而不用提供空閑緩沖區(qū)。
圖2中表示了用于時(shí)隙14的一個(gè)“之前最佳”清單實(shí)例。對(duì)于這個(gè)時(shí)隙,之前最佳清單24包括一個(gè)緩沖區(qū)集合26,其中最好含有信元標(biāo)志(或是信元數(shù)據(jù)本身),它們可用于尋找另一緩沖區(qū)中的對(duì)應(yīng)信元數(shù)據(jù)。這樣的一種裝置實(shí)例如圖4所示,其中來自用戶應(yīng)用的數(shù)據(jù)信元被送給服務(wù)器45的信元輸入41(或一個(gè)集中或分布式硬件或軟件單元)。信元輸入41被送給數(shù)據(jù)成形器42,后者根據(jù)以下段落描述的方式生成圖2所示的時(shí)隙信息。成形器42使用RAM44以便臨時(shí)存儲(chǔ)時(shí)隙信息,其中包括以下所述的優(yōu)先信元、之前最佳清單和指針。成形器42通常不包括信元數(shù)據(jù)信息本身,而只使用緩沖區(qū)地址以簡(jiǎn)化操作。實(shí)際信元數(shù)據(jù)在信元緩沖區(qū)43中提供,該緩沖區(qū)自信元輸入41接收數(shù)據(jù)。成形器42為某個(gè)待傳輸?shù)臅r(shí)隙提供一個(gè)信元地址,信元緩沖區(qū)43使用該地址來找尋信元數(shù)據(jù)本身,然后向ATM網(wǎng)12提供這一信元數(shù)據(jù)。
回到圖2,時(shí)隙14的之前最佳清單中顯示了八個(gè)信元標(biāo)志。這八個(gè)信元標(biāo)志位于緩沖區(qū)26中,緩沖區(qū)26的所有其他剩余地址為空。緩沖區(qū)26中非空位置的總數(shù)在之前最佳清單的信元數(shù)目位置被顯示,本例中信元數(shù)目等于3,因?yàn)橛邪藗€(gè)非空信元。時(shí)隙14的之前最佳清單表明緩沖區(qū)26中指定的八個(gè)信元必須在時(shí)隙14中或之前傳輸。根據(jù)這一信息,顯然由時(shí)隙14的之前最佳清單緩沖區(qū)26指定的八個(gè)信元必須從時(shí)隙6開始傳輸,以確保八個(gè)時(shí)隙到能在時(shí)隙14中或之前傳輸(14[完成傳輸?shù)臅r(shí)隙號(hào)]-8[要以每時(shí)隙一個(gè)信元方式傳輸?shù)男旁獢?shù)]=6[開始傳輸?shù)臅r(shí)隙號(hào)])。
由于之前最佳清單24中的信息(八個(gè)信元必須在時(shí)隙14之前傳輸)只對(duì)時(shí)隙14可知,本發(fā)明包括一個(gè)清單,以便為前面的時(shí)隙提供時(shí)隙14中存在八個(gè)信元的知識(shí)。這就允許在時(shí)隙傳輸進(jìn)程過遠(yuǎn),以致于不能確保所有八個(gè)時(shí)隙在時(shí)隙14處的之前最佳時(shí)隙前得以傳輸之前,前面的時(shí)隙能使時(shí)隙14緩沖區(qū)26中的八個(gè)信元優(yōu)先。為此,本發(fā)明包括在窗口20內(nèi)每個(gè)時(shí)隙中的一個(gè)指針清單22。圖2中表示了關(guān)于時(shí)隙6的一個(gè)指針清單實(shí)例22。指針清單包括用于窗口20內(nèi)每個(gè)后續(xù)時(shí)隙的一個(gè)號(hào)碼(即指針)。也就是說,對(duì)于時(shí)隙6,窗口20內(nèi)從號(hào)碼6往后直到時(shí)隙N的每個(gè)時(shí)隙在指針清單22中對(duì)應(yīng)緩沖區(qū)位置上都將包含一個(gè)的非空號(hào)碼。因此,圖2所示用于時(shí)隙6的指針清單22在時(shí)隙位置1-5的信息為空,而在從時(shí)隙6到N的緩沖區(qū)位置中具有非空號(hào)碼。圖2中還表示出了用于時(shí)隙14所示情況的實(shí)際指針。也就是說,指針清單22在時(shí)隙14的緩沖區(qū)內(nèi)包含一個(gè)等于6的指針。這就告訴時(shí)隙6它必須開始傳輸來自信元緩沖區(qū)26的信元,以便在之前最佳清單時(shí)限之前騰空信元緩沖區(qū)。
假定時(shí)隙1-5傳輸本身的信元,而不傳輸時(shí)隙14之前最佳清單中的任何信元,那么時(shí)隙6就成為時(shí)隙1,必須開始傳輸緩沖區(qū)26中的一個(gè)信元,以確保緩沖區(qū)26中的每個(gè)信元在時(shí)隙14的之前最佳時(shí)限到來前都能得以傳輸。不過大多數(shù)情況下,時(shí)隙1-5可以在時(shí)隙6來臨之前傳輸信元緩沖區(qū)26中的一個(gè)或多個(gè)信元1-8。這時(shí),被傳輸?shù)男旁獙男旁彌_區(qū)26中去除,時(shí)隙14之前最佳清單中的信元數(shù)將減1(即將從8減小到7),在時(shí)隙6的指針清單22中,關(guān)于時(shí)隙14的指針將變?yōu)闀r(shí)隙7(即從6到7),從而表明時(shí)隙7(而不是時(shí)隙6)需要開始傳輸緩沖區(qū)清單26中的信元,以確保在時(shí)隙14的之前最佳時(shí)限到來前傳輸清單26中的所有信元。
正如能從圖2的說明中看到的那樣,可以使前面的時(shí)隙知道需要它傳輸包含在未來時(shí)隙中的信元,以確保未來時(shí)隙中的信元在其時(shí)限之前得以傳輸。當(dāng)然,如果當(dāng)前時(shí)隙的指針清單22不要求傳輸后續(xù)之前最佳清單24中的信元,則可以傳輸當(dāng)前時(shí)隙中的一個(gè)優(yōu)先信元。下面將根據(jù)圖3更詳細(xì)地描述這一點(diǎn)。
成形器42可以包含如圖3所示的數(shù)據(jù)結(jié)構(gòu)。一個(gè)長(zhǎng)度固定的時(shí)間窗口20被定義。該窗口代表從當(dāng)前時(shí)隙到一個(gè)未來的信元時(shí)隙N的時(shí)間。作為一個(gè)實(shí)例,圖3表明窗口中有四個(gè)時(shí)隙。每過一個(gè)信元間隔,該窗口就向前移動(dòng)一步,從而包括另一后續(xù)信元時(shí)隙。
對(duì)于窗口中的每個(gè)信元時(shí)隙,都有若干隊(duì)列與之相關(guān)。這些隊(duì)列包含的指針指向在當(dāng)前時(shí)隙中為傳輸而競(jìng)爭(zhēng)的信元。隊(duì)列根據(jù)優(yōu)先級(jí)經(jīng)過優(yōu)先級(jí)排序,因此信元取自優(yōu)先級(jí)最高的非空隊(duì)列。當(dāng)傳輸一個(gè)信元的時(shí)候,根據(jù)該連接的業(yè)務(wù)參數(shù)計(jì)算用于為該連接傳輸信元的新的最早時(shí)刻。這些參數(shù)是峰值信元速率、可維持信元速率和突發(fā)長(zhǎng)度。用于計(jì)算新的最早傳輸時(shí)刻的一種公式實(shí)例如下最早時(shí)刻=max(A+TSCR-tauSCR+PHI,前一時(shí)刻+TPCR)其中,A是在每個(gè)信元之后更新的一個(gè)變量A=A+TSCR(A對(duì)于每個(gè)連接來說是獨(dú)立的)前一時(shí)刻是傳輸該連接前一信元的時(shí)刻。
PHI是一個(gè)累積相位偏移。在該連接的每個(gè)信元之后更新PHI=PHI+MAX(0,前一時(shí)刻-A)以下是針對(duì)一個(gè)連接的參數(shù)(由微處理器寫入)TSCR=以可維持信元速率發(fā)送的兩個(gè)信元之間的時(shí)間tauSCR=對(duì)于SCR,可接受的與理想時(shí)刻的偏移(給出最大突發(fā)長(zhǎng)度)TPCR=以峰值信元速率發(fā)送的兩個(gè)信元之間的時(shí)間。
當(dāng)必須傳輸一個(gè)信元以滿足可維持速率的要求(這可以解釋為該連接最小信元速率)時(shí),這些參數(shù)還用于計(jì)算一個(gè)“之前最佳”信元時(shí)隙。用于該計(jì)算的一種公式實(shí)例為之前最佳=A+TSCR
圖3中表示了本發(fā)明的一個(gè)實(shí)施例,其中在每個(gè)窗口20內(nèi)提供四個(gè)時(shí)隙。每個(gè)時(shí)隙(時(shí)隙k,時(shí)隙k+1,時(shí)隙k+2和時(shí)隙k+3)配有三個(gè)優(yōu)先緩沖區(qū),用于該時(shí)隙中要傳輸?shù)男旁R虼?,每個(gè)時(shí)隙(例如時(shí)隙k)帶有一個(gè)特定的隊(duì)列,例如優(yōu)先級(jí)1、優(yōu)先級(jí)2和優(yōu)先級(jí)3。根據(jù)該隊(duì)列,優(yōu)先級(jí)1的信元顯然要在優(yōu)先級(jí)2之前傳輸,而優(yōu)先級(jí)2的信元要在優(yōu)先級(jí)3之前傳輸。同樣在每個(gè)優(yōu)先緩沖區(qū)內(nèi),可以對(duì)若干數(shù)目的信元進(jìn)一步排隊(duì)。例如,在時(shí)隙k中,為優(yōu)先級(jí)1、優(yōu)先級(jí)2和優(yōu)先級(jí)3區(qū)域中的每個(gè)都提供了三個(gè)信元緩沖區(qū)(30a-30c)。在優(yōu)先級(jí)1、優(yōu)先級(jí)2和優(yōu)先級(jí)3區(qū)域內(nèi)和它們各自的緩沖區(qū)30a-30c內(nèi),都是由用戶應(yīng)用、服務(wù)器或提供優(yōu)先級(jí)排序功能的其他硬件或軟件來給時(shí)隙k分配供在時(shí)隙k中傳輸?shù)乃行旁T趦?yōu)先級(jí)1-3的30a-30c位置上的信元中,有一個(gè)信元可以在時(shí)隙k中傳輸。因此,一旦選擇了一個(gè)在時(shí)隙k中傳輸?shù)男旁?,剩余的未傳輸信元就被轉(zhuǎn)移到后續(xù)時(shí)隙位置(時(shí)隙k+1,時(shí)隙k+2等等)。因此,在優(yōu)先級(jí)1、優(yōu)先級(jí)2和優(yōu)先級(jí)3區(qū)域內(nèi)的信元是以從最高優(yōu)先級(jí)到最低優(yōu)先級(jí)的順序傳輸?shù)摹?br>
但是,優(yōu)先信元可能由于本發(fā)明的之前最佳清單和指針清單而優(yōu)先占據(jù)傳輸機(jī)會(huì)。因此,比如圖3的時(shí)隙k中,只有在時(shí)隙k的之前最佳清單或指針清單區(qū)域中沒有其他信元與優(yōu)先級(jí)1區(qū)域中的信元Ac(緩沖區(qū)30b)發(fā)生傳輸沖突時(shí),信元Ac才能送往信元緩沖區(qū)43,以便在ATM網(wǎng)上傳輸。信元c可以承受這種沖突,因?yàn)槿鐖D3所示,信元c被鏈接到時(shí)隙k+2的之前最佳清單中,從而要求時(shí)隙k+2傳輸信元c,而不一定要在當(dāng)前時(shí)隙k(或時(shí)隙k+1)中傳輸。圖2所示每個(gè)時(shí)隙中的之前最佳清單和指針清單正如根據(jù)圖2所描述的那樣。因此,如果時(shí)隙k的之前最佳清單包含一個(gè)信元(也就是說時(shí)隙k的之前最佳清單緩沖區(qū)30a-30c是處于非空),該信元將在時(shí)隙k中傳輸。如果時(shí)隙k的之前最佳清單為空,就將查詢時(shí)隙k的指針清單區(qū)域,以確定是否必須在時(shí)隙k開始傳輸后續(xù)之前最佳清單中的信元,以確保在其之前最佳時(shí)限到來前傳輸這些信元。如圖3所示,例如時(shí)隙k中的指針清單30b與時(shí)隙k+3相鏈接。如果時(shí)隙k+3具有一個(gè)包含四個(gè)信元項(xiàng)的之前最佳清單,時(shí)隙k,k+1,k+2和k+3將都用于傳輸這四項(xiàng),以確保它們?cè)谄渲白罴褧r(shí)限到來前被傳輸。
在圖3中,標(biāo)記為″H″的緩沖區(qū)用于一個(gè)鏈接清單的頭指針;標(biāo)記為″C″的緩沖區(qū)用于信元;標(biāo)記為″T″的緩沖區(qū)用于一個(gè)鏈接清單的尾指針。虛線代表?xiàng)l目之間的隱含關(guān)系,例如表中的一項(xiàng)是兩種不同鏈接清單中的部分。
進(jìn)一步說,時(shí)隙k優(yōu)先級(jí)1區(qū)域30b中的信元c必須在時(shí)隙k+2之前傳輸,時(shí)隙k優(yōu)先級(jí)3區(qū)域30c中的信元c必須在時(shí)隙k+3之前傳輸。
正如從圖3可以看出,在每個(gè)時(shí)隙中傳輸信元不僅以通常由優(yōu)先級(jí)排序硬件或軟件提供的優(yōu)先信元為基礎(chǔ),同時(shí)還以每個(gè)時(shí)隙內(nèi)提供的之前最佳清單和指針清單為基礎(chǔ)。還要注意時(shí)隙k的指針清單與時(shí)隙k+3是雙向鏈接的,以便確保在時(shí)隙k+3的之前最佳清單包含三個(gè)以上信元項(xiàng)時(shí),時(shí)隙k中的指針清單可以從時(shí)隙k+3的之前最佳清單中檢索一個(gè)信元項(xiàng)。
如圖3所示,本發(fā)明優(yōu)先級(jí)排序成形器的操作執(zhí)行以下步驟首先檢查給定當(dāng)前時(shí)隙的指針清單區(qū)域,以確定是否有任何后續(xù)之前最佳清單之中包含很多信元項(xiàng),以致于必須在當(dāng)前時(shí)隙中開始傳輸,從而確保在之前最佳時(shí)限到來前傳輸該之前最佳清單中的信元。當(dāng)前時(shí)隙的指針清單表明沒有這種情況,就查詢當(dāng)前時(shí)隙的之前最佳清單,以確定它是滿還是空。如果是滿,就傳輸當(dāng)前時(shí)隙之前最佳清單中的剩余信元。如果是空,就傳輸在優(yōu)先級(jí)1到優(yōu)先級(jí)3緩沖區(qū)內(nèi)優(yōu)先級(jí)最高的信元,而優(yōu)先級(jí)1到優(yōu)先級(jí)3區(qū)域內(nèi)的剩余信元?jiǎng)t被轉(zhuǎn)移到后續(xù)時(shí)隙中。
如上所述,對(duì)于窗口中的每個(gè)時(shí)隙都存在一個(gè)之前最佳清單。因此,當(dāng)在最早可能時(shí)隙的隊(duì)列中插入一個(gè)信元時(shí),它可能與其他時(shí)隙中的其他清單具有某種隱含關(guān)系(即虛線)。
如圖2和3所示,對(duì)于窗口中的每個(gè)時(shí)隙還存在一個(gè)指針清單。該清單包含到窗口內(nèi)后續(xù)時(shí)隙的所有之前最佳清單的指針,其長(zhǎng)度等于兩個(gè)時(shí)隙之差。指針中所存儲(chǔ)的時(shí)隙被稱為用于之前最佳清單的起始時(shí)隙。在圖2的實(shí)例中,時(shí)隙14的之前最佳清單有8個(gè)信元項(xiàng)。這樣,就可以在該清單和圖2所示位置6的一個(gè)清單項(xiàng)之間建立如圖3所示的一條雙向鏈路。
當(dāng)一個(gè)信元到達(dá)成形器時(shí),它被存放在一個(gè)虛通路(每條VC)隊(duì)列中。如果該信元是隊(duì)列中的第一項(xiàng),如上所述,在時(shí)間窗口內(nèi)的隊(duì)列中安放指向它的一個(gè)指針。如果該信元不是隊(duì)列中的第一項(xiàng),那么在時(shí)間窗口內(nèi)就已存在屬于該連接的一個(gè)信元。在時(shí)間窗口隊(duì)列中只能出現(xiàn)來自每條連接的一個(gè)信元。
當(dāng)從時(shí)間窗口隊(duì)列中傳輸一個(gè)信元的時(shí)候,指向該連接下一信元的指針就被插入。該信元應(yīng)當(dāng)插入隊(duì)列開頭,也就是使現(xiàn)有信元在時(shí)間上后移。
當(dāng)傳輸一個(gè)信元的時(shí)候,之前最佳清單中的對(duì)應(yīng)項(xiàng)被刪除。該清單的長(zhǎng)度將會(huì)因此減小,這意味著必須它的起始時(shí)隙向前移動(dòng)一個(gè)時(shí)隙。
當(dāng)傳輸一個(gè)信元的時(shí)候,該信元時(shí)隙中的剩余隊(duì)列將與下一時(shí)隙的隊(duì)列級(jí)聯(lián)。級(jí)聯(lián)是為了使移動(dòng)后的隊(duì)列被放在下一時(shí)隙同一優(yōu)先級(jí)隊(duì)列之前,即它的優(yōu)先級(jí)要高于下一時(shí)隙的信元。這種處理是合理的,因?yàn)楸灰苿?dòng)的信元已錯(cuò)過它們的最早時(shí)隙,并且與其之前最佳時(shí)隙的距離近了一個(gè)時(shí)隙。
信元通常是從一個(gè)時(shí)隙上優(yōu)先級(jí)最高的非空隊(duì)列中取出的。但是,如果指向之前最佳清單的指針清單是非空的,就意味著從這個(gè)時(shí)隙往后d個(gè)時(shí)隙的距離,至少有d個(gè)信元必須在該時(shí)間之前傳輸,否則它們將錯(cuò)過之前最佳時(shí)隙。這種情況下,將從當(dāng)前時(shí)隙指針清單中的該項(xiàng)指定的之前最佳清單中提取信元。當(dāng)取出一個(gè)這樣的信元時(shí),正常窗口隊(duì)列中的對(duì)應(yīng)項(xiàng)就被刪除。
偶爾,在當(dāng)前時(shí)隙的之前最佳清單中可能存在一個(gè)以上的指針。這時(shí),遺憾的是不能在之前最佳時(shí)隙到來前發(fā)出所有信元。在這些情況下,1)無法發(fā)出的信元被刪除,2)未發(fā)送信元可以在之前最佳時(shí)隙之后發(fā)出,同時(shí)維持峰值信元速率(這意味著已引入了一個(gè)不可恢復(fù)的延遲),或3)未發(fā)送信元可以在之前最佳時(shí)隙之后發(fā)出,同時(shí)使后續(xù)信元偏離峰值信元速率,以恢復(fù)延遲。
之前最佳清單可能(在正常情況或低負(fù)荷情況下)會(huì)在窗口到達(dá)這些清單的起始時(shí)隙之前消失。它們只在緊急情況下被讀取,以確保連接的可維持信元速率(或?qū)嶋H上的最小信元速率)。
本發(fā)明還考慮到擴(kuò)展窗口長(zhǎng)度,以作為對(duì)上述固定長(zhǎng)度實(shí)施例的一種替換方法。例如對(duì)于突發(fā)性很強(qiáng)的低可維持信元速率連接,之前最佳時(shí)隙可能遠(yuǎn)在當(dāng)前時(shí)間窗口之外。如果ABR連接根據(jù)MCR進(jìn)行成形,也可能出現(xiàn)這種情況。為了解決這一問題,這些時(shí)隙可以組合成例如由128個(gè)時(shí)隙構(gòu)成的群。這些群是固定的,也就是說它們不隨時(shí)間窗口移動(dòng)。每個(gè)時(shí)隙群有一個(gè)隊(duì)列,其中存儲(chǔ)了指向該群內(nèi)被調(diào)度信元的指針。這些指針既可以是最早時(shí)隙,也可以是之前最佳項(xiàng)。當(dāng)時(shí)間窗口移動(dòng)并完全覆蓋一個(gè)群時(shí),該群隊(duì)列中的信元被分配到窗口內(nèi)的正確位置上。如圖5所示,在每個(gè)信元間隔內(nèi),來自群隊(duì)列的一個(gè)信元被安放在窗口內(nèi)。一個(gè)群隊(duì)列中的信元數(shù)可能(但很少)會(huì)大于群的長(zhǎng)度(例如128)。這意味著當(dāng)窗口移動(dòng)到下一群上時(shí),仍然有來自前一群隊(duì)列的信元未被安置。這時(shí),兩個(gè)隊(duì)列被級(jí)聯(lián),其中舊的隊(duì)列在前。群隊(duì)列的平均長(zhǎng)度可能遠(yuǎn)遠(yuǎn)低于窗口長(zhǎng)度。
當(dāng)調(diào)度一個(gè)信元時(shí),它被放在正確的群隊(duì)列中,除非可以把它直接放在時(shí)間窗口內(nèi)。大多數(shù)信元將被直接放在時(shí)間窗口內(nèi),但是一些之前最佳項(xiàng)可能在群隊(duì)列中。不過,當(dāng)發(fā)出信元時(shí),一個(gè)之前最佳項(xiàng)被刪除,因此群隊(duì)列中的之前最佳項(xiàng)可能根本不用插入時(shí)間窗口隊(duì)列中。
令群數(shù)等于時(shí)間窗口長(zhǎng)度看來比較合理,因?yàn)閷?duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)可能更容易定義。對(duì)于前面表示的附圖,這將意味著512群128個(gè)時(shí)隙,即總共16k個(gè)時(shí)隙。在622Mbit/s速率下大約對(duì)應(yīng)11ms,即一個(gè)信元或之前最佳時(shí)隙可以調(diào)度到未來的11ms,它對(duì)應(yīng)的最低速率是34kbit/s。如果這還不夠,通過定義例如由128個(gè)群組成的超群,可以在上一層采用同樣的結(jié)構(gòu)。當(dāng)群窗口(大小為512*128)覆蓋了這個(gè)超群時(shí),超群隊(duì)列中的信元可以放入群隊(duì)列中。利用512個(gè)超群,可以把一個(gè)信元調(diào)度到未來的5.7s,它對(duì)應(yīng)74bit/s。不過,在以下敘述中,沒有定義超群。
成形器42可以使用兩類數(shù)據(jù)結(jié)構(gòu)1)窗口內(nèi)每個(gè)時(shí)隙和每個(gè)群隊(duì)列的數(shù)據(jù)(這種結(jié)構(gòu)由時(shí)隙號(hào)尋址);2)每個(gè)信元的數(shù)據(jù),即隊(duì)列內(nèi)的鏈接(這種結(jié)構(gòu)由連接號(hào)尋址,因?yàn)楸碇兄挥忻總€(gè)連接的一個(gè)信元存在)。
另外,當(dāng)計(jì)算最早和之前最佳時(shí)隙和保持用于該連接的信元鏈接清單時(shí),還要用到針對(duì)每條連接的其他數(shù)據(jù)。例如,當(dāng)建立一條連接時(shí),微處理器(未表示)將在信道表中寫入?yún)?shù)。
一種時(shí)隙結(jié)構(gòu)如圖6所示,并包含以下信息1.一個(gè)指向優(yōu)先級(jí)隊(duì)列中第一個(gè)信元的頭指針。每個(gè)優(yōu)先級(jí)隊(duì)列有一個(gè)頭指針,例如三種優(yōu)先級(jí)。
2.一個(gè)指向優(yōu)先級(jí)隊(duì)列中最后一個(gè)信元的尾指針。每個(gè)優(yōu)先級(jí)隊(duì)列有一個(gè)尾指針,例如三種優(yōu)先級(jí)。
3.指向時(shí)隙的之前最佳清單中第一個(gè)信元的頭指針。
4.指向與當(dāng)前時(shí)隙具有同一起始時(shí)隙的另一時(shí)隙的前一指針。如果該時(shí)隙是之前最佳清單中的第一個(gè)時(shí)隙,該指針指向起始時(shí)隙本身,這時(shí)指針中的一個(gè)專門標(biāo)志被置位。
5.指向與當(dāng)前時(shí)隙具有同一起始時(shí)隙的另一時(shí)隙的下一指針。如果該時(shí)隙是之前最佳清單中的最后一個(gè)時(shí)隙,該指針指向起始時(shí)隙本身,這時(shí)指針中的一個(gè)專門標(biāo)志被置位。
6.指向當(dāng)前時(shí)隙的起始時(shí)隙的起始時(shí)隙指針。起始時(shí)隙位置比當(dāng)前時(shí)隙早“n”個(gè)時(shí)隙,其中“n”是該時(shí)隙之前最佳清單的長(zhǎng)度。
7.起始時(shí)隙是當(dāng)前時(shí)隙時(shí)指向第一個(gè)時(shí)隙的之前最佳頭指針。
8.指向群隊(duì)列中第一個(gè)信元的群頭指針。(最后一項(xiàng)與時(shí)隙并沒有絕對(duì)關(guān)系,把它放在這里是出于實(shí)用考慮,可視為一個(gè)獨(dú)立結(jié)構(gòu))。一種信元結(jié)構(gòu)實(shí)例如圖7所示,它包含以下信息1.指向被鏈接到同一優(yōu)先級(jí)隊(duì)列中的一個(gè)信元的前一指針。如果該信元是隊(duì)列中的最后一個(gè),該指針指向優(yōu)先級(jí)隊(duì)列,這時(shí)指針包含一個(gè)專門的標(biāo)志(例如一個(gè)專門比特被置位)。如果信元存儲(chǔ)在一個(gè)群隊(duì)列中,它指向該隊(duì)列中的前一信元。
2.指向被鏈接到同一優(yōu)先級(jí)隊(duì)列中的一個(gè)信元的下一指針。如果該信元是隊(duì)列中的第一個(gè),該指針指向優(yōu)先級(jí)隊(duì)列,這時(shí)指針包含一個(gè)專門的標(biāo)志(例如一個(gè)專門比特被置位)。如果信元存儲(chǔ)在一個(gè)群隊(duì)列中,它指向該隊(duì)列中的前一信元。
3.指向被鏈接到同一之前最佳隊(duì)列中的一個(gè)信元的前一之前最佳指針。如果該信元是隊(duì)列中的最后一個(gè),該指針指向這樣的時(shí)隙結(jié)構(gòu),這時(shí)指針包含一個(gè)專門的標(biāo)志(例如一個(gè)專門比特被置位)。如果信元存儲(chǔ)在一個(gè)群隊(duì)列中,它指向該隊(duì)列中的下一信元。
4.指向被鏈接到同一之前最佳隊(duì)列中的一個(gè)信元的下一之前最佳指針。如果該信元是隊(duì)列中的第一個(gè),該指針指向時(shí)隙結(jié)構(gòu),這時(shí)指針包含一個(gè)專門的標(biāo)志(例如一個(gè)專門比特被置位)。如果信元存儲(chǔ)在一個(gè)群隊(duì)列中,它指向該隊(duì)列中的下一信元。
5.指向該信元對(duì)應(yīng)的之前最佳時(shí)隙的之前最佳時(shí)隙指針。
6.一個(gè)時(shí)間優(yōu)先級(jí)隊(duì)列值。在將一個(gè)連接放在一個(gè)群隊(duì)列中時(shí),使用它。該時(shí)間值表示當(dāng)該連接從群隊(duì)列中移出時(shí),應(yīng)該存儲(chǔ)它的優(yōu)先級(jí)隊(duì)列(以及其時(shí)隙號(hào))。
7.一個(gè)時(shí)間之前最佳值。在將一個(gè)連接放在一個(gè)群隊(duì)列中時(shí),使用它。該時(shí)間值表示當(dāng)該連接從群隊(duì)列中移出時(shí),應(yīng)該存儲(chǔ)它的之前最佳清單(及其時(shí)隙號(hào)碼)。
圖7所示的時(shí)隙結(jié)構(gòu)可以有兩次不同機(jī)會(huì)放入群隊(duì)列中。首先,如果它的之前最佳時(shí)隙超出了當(dāng)前窗口,對(duì)該信元排隊(duì)。其次,如果優(yōu)先級(jí)隊(duì)列超出了窗口,對(duì)該信元排隊(duì)。群隊(duì)列指針中的一個(gè)專門標(biāo)志比特指示該指針指向的信元應(yīng)當(dāng)被插入一個(gè)優(yōu)先級(jí)隊(duì)列還是一個(gè)之前最佳清單中。
圖8a-8d表示如何構(gòu)成每種隊(duì)列或清單類型。
圖8a表示一種格式類似于圖6說明和描述的時(shí)隙結(jié)構(gòu)80。時(shí)隙結(jié)構(gòu)80中包括一組信元結(jié)構(gòu)82-84,例如根據(jù)圖7說明和描述的結(jié)構(gòu)。圖8a說明了時(shí)隙結(jié)構(gòu)80內(nèi)可能存在的指針,具體是在一個(gè)優(yōu)先級(jí)隊(duì)列,例如圖3的優(yōu)先級(jí)1、優(yōu)先級(jí)2或優(yōu)先級(jí)3中。例如,圖8a還表示了圖3優(yōu)先級(jí)1隊(duì)列,其中每個(gè)信元結(jié)構(gòu)82-84對(duì)應(yīng)優(yōu)先級(jí)1隊(duì)列中的緩沖區(qū)位置30a-30c。如圖3所示,信元緩沖區(qū)30a與信元緩沖區(qū)30b和30c相繼鏈接,最終到達(dá)時(shí)隙k的頭和尾位置。相應(yīng)地,圖8a中說明了這些指針的細(xì)節(jié)。具體地說,每個(gè)信元結(jié)構(gòu)82-84中的前一位置與時(shí)隙結(jié)構(gòu)80的尾1位置鏈接,信元結(jié)構(gòu)82-84中的下一信元位置與時(shí)隙結(jié)構(gòu)80的頭1位置相繼鏈接。當(dāng)然,如果圖8a的信元結(jié)構(gòu)82-84對(duì)應(yīng)圖3的優(yōu)先級(jí)2位置,那么信元結(jié)構(gòu)82-84的前一和下一位置將與時(shí)隙結(jié)構(gòu)80的頭2和尾2位置鏈接,而不是所示的頭1和尾1位置。因此圖8a表示了在圖3窗口20內(nèi)一個(gè)時(shí)隙的一個(gè)優(yōu)先級(jí)隊(duì)列中存在的g類型。
圖8b說明了在一個(gè)時(shí)隙的之前最佳清單,例如圖3中存在的指針。如圖3所示,時(shí)隙k有一個(gè)之前最佳清單,其中信元位置30a、30b、30c彼此鏈接并接到時(shí)隙k的頭指針。相應(yīng)地,圖8b說明了時(shí)隙結(jié)構(gòu)90(對(duì)應(yīng)時(shí)隙k)和信元結(jié)構(gòu)92-94,后者可以對(duì)應(yīng)圖3的信元位置30a-30c。圖8b的信元結(jié)構(gòu)92-94包括指定前一之前最佳清單和下一之前最佳清單的緩沖區(qū)位置,這正如上面根據(jù)圖7所作描述。如圖8b所示,信元結(jié)構(gòu)92-94的這些前面的之前最佳部分相繼鏈接在一起,同時(shí)還被鏈接到時(shí)隙結(jié)構(gòu)90的之前最佳清單尾部。在信元結(jié)構(gòu)92-94的下面的之前最佳部分到時(shí)隙結(jié)構(gòu)90的之前最佳標(biāo)志頭之間也存在指針。圖3中根據(jù)參考信元30a-30c和時(shí)隙k的“h”指針表示了對(duì)應(yīng)的設(shè)置和指針。正如圖8b也表示的那樣,每個(gè)信元結(jié)構(gòu)92-94帶有用于其對(duì)應(yīng)的之前最佳時(shí)隙的標(biāo)志,這些之前最佳時(shí)隙包括到時(shí)隙結(jié)構(gòu)90的單向指針。
圖8c說明了在一個(gè)由之前最佳清單構(gòu)成的清單中表示指針的時(shí)隙結(jié)構(gòu)100。在每個(gè)時(shí)隙k到k+3的底部還為每個(gè)時(shí)隙表示了與之前最佳清單對(duì)應(yīng)的指針清單。在圖8c的例子中,時(shí)隙結(jié)構(gòu)100對(duì)應(yīng)于時(shí)隙k,緩沖區(qū)30a-30c包含時(shí)隙結(jié)構(gòu)102-104。如圖8c所示,時(shí)隙結(jié)構(gòu)102-103包含前面和下面位置,前面位置與時(shí)隙100的之前最佳頭指針鏈接,時(shí)隙結(jié)構(gòu)102-104的下面位置也相繼與時(shí)隙100的之前最佳頭指針鏈接。另外,時(shí)隙結(jié)構(gòu)102-104的每個(gè)起始時(shí)隙與時(shí)隙100單向鏈接。在圖3中指向之前最佳清單位置30a-30c的指針清單和時(shí)隙k之間可以看到對(duì)應(yīng)的指針。
最后,圖8d說明了一個(gè)圖5所述群隊(duì)列中的指針。在圖8d中,時(shí)隙結(jié)構(gòu)110有一個(gè)從群頭位置到信元結(jié)構(gòu)114的下一位置的指針,后者又與信元結(jié)構(gòu)113的下一位置鏈接。信元結(jié)構(gòu)112通過各信元結(jié)構(gòu)的前一位置和各信元結(jié)構(gòu)的下一之前最佳清單位置與信元結(jié)構(gòu)113鏈接。最后,信元結(jié)構(gòu)113通過前一之前最佳清單位置指向信元結(jié)構(gòu)114。
信元結(jié)構(gòu)112-114被選擇用于代表一個(gè)時(shí)隙群中信元與其位置關(guān)系的三種不同類型。信元結(jié)構(gòu)112是帶有時(shí)隙群中的一個(gè)優(yōu)先級(jí)隊(duì)列的信元。它的時(shí)間優(yōu)先級(jí)隊(duì)列表示該信元應(yīng)該被插入哪個(gè)隊(duì)列。
信元結(jié)構(gòu)113是帶有處于時(shí)隙群中的一個(gè)之前最佳時(shí)隙的信元。它的之前最佳時(shí)間表示該信元應(yīng)該被插入哪個(gè)隊(duì)列。
信元結(jié)構(gòu)114是帶有位于時(shí)隙群中的一個(gè)優(yōu)先級(jí)隊(duì)列的信元。它的時(shí)間優(yōu)先級(jí)隊(duì)列表示該信元應(yīng)該被插入哪個(gè)隊(duì)列。
在一個(gè)優(yōu)選實(shí)施例中,指向群隊(duì)列各項(xiàng)的指針帶有一個(gè)專門比特,它表示下一信元結(jié)構(gòu)應(yīng)當(dāng)放在一個(gè)優(yōu)先級(jí)隊(duì)列還是一個(gè)之前最佳清單中。
盡管在圖8a-8d中單獨(dú)表示了時(shí)隙80、90、100和110,這些時(shí)隙顯然可以是帶有所示指針(或附加指針或鏈接)的同一時(shí)隙。為了簡(jiǎn)便和清晰地描述時(shí)隙功能,單獨(dú)給出了圖8a-8d。
重新參考圖2,現(xiàn)在就可以理解在每個(gè)傳輸周期中一個(gè)時(shí)隙將為一個(gè)信元提供傳輸。在任何信元時(shí)隙的傳輸周期中,成形器對(duì)這些信元傳輸進(jìn)行優(yōu)先級(jí)排序和排隊(duì)。成形器42可以進(jìn)行以下操作a)接收來自交換網(wǎng)12或用戶駐地的一個(gè)信元(連接的第一個(gè)信元),并把它調(diào)度到一個(gè)最早和之前最佳隊(duì)列(或一個(gè)群隊(duì)列)中;b)讀取要發(fā)送的下一信元,并調(diào)度同一連接的下一信元;c)從群隊(duì)列中移出一項(xiàng)或兩項(xiàng)到窗口內(nèi)的正確隊(duì)列中。
下面將更詳細(xì)地描述這些操作。a)接收來自交換機(jī)的一個(gè)信元當(dāng)收到一個(gè)信元的時(shí)候,成形器首先確定在調(diào)度的隊(duì)列中指定連接是否已經(jīng)存在。它通過檢查前一指針來進(jìn)行,即零指針(具有一個(gè)保留值的指針)表明該連接在調(diào)度器中沒有信元。如果連接存在,該信元被放在一個(gè)VC隊(duì)列(該隊(duì)列在所示數(shù)據(jù)結(jié)構(gòu)中沒有表示)末尾。
如果連接不存在,成形器計(jì)算一個(gè)優(yōu)先級(jí)隊(duì)列和一個(gè)之前最佳時(shí)隙(根據(jù)連接的業(yè)務(wù)參數(shù),例如PCR、SCR、最大突發(fā)長(zhǎng)度等等)。
如果優(yōu)先級(jí)隊(duì)列在窗口內(nèi),在優(yōu)先級(jí)隊(duì)列的末尾插入該信元結(jié)構(gòu)(指針被寫入和改變)。如果優(yōu)先級(jí)隊(duì)列在窗口之外,該信元結(jié)構(gòu)被插入包含正確時(shí)隙的群隊(duì)列開頭。指向該結(jié)構(gòu)的指針將表示它應(yīng)該插入一個(gè)優(yōu)先級(jí)隊(duì)列。
如果之前最佳時(shí)隙在窗口之內(nèi),則該信元結(jié)構(gòu)被插入之前最佳時(shí)隙處的之前最佳清單的末尾。這意味著該清單的長(zhǎng)度增加,所以必須調(diào)整它的起始時(shí)隙。之前最佳清單被從bb-清單的當(dāng)前清單中刪除(使用下一-BB和前一-BB指針)。然后在下一更低時(shí)隙的bb-清單的清單末尾插入之前最佳清單。這是通過使用起始時(shí)隙指針、并將其減一而找到的。如果之前最佳時(shí)隙在窗口之外,信元結(jié)構(gòu)被插入包含正確時(shí)隙的群隊(duì)列開頭。指向該結(jié)構(gòu)的指針將指示它應(yīng)該被插入一個(gè)之前最佳清單。b)讀取要發(fā)送的下一信元在應(yīng)當(dāng)發(fā)送一個(gè)信元的時(shí)候,成形器首先確定當(dāng)前時(shí)隙處BB-清單的清單是否為空(BB-頭指針應(yīng)被設(shè)置為零指針值)。
如果為空,選擇最高的非空優(yōu)先級(jí)隊(duì)列并讀取第一個(gè)信元項(xiàng)(使用頭指針)。來自對(duì)應(yīng)的VC隊(duì)列的一個(gè)信元被發(fā)送。該信元項(xiàng)被從優(yōu)先級(jí)隊(duì)列和之前最佳清單中刪除。之前最佳清單長(zhǎng)度將減小,這意味著必須根據(jù)與存儲(chǔ)一個(gè)信元項(xiàng)時(shí)相同的方法改變起始時(shí)隙。當(dāng)之前最佳時(shí)隙在一個(gè)群隊(duì)列中時(shí),該信元項(xiàng)可能只是從群隊(duì)列中刪除。
如果BB-清單的清單是非空,就從bb-清單指向的位置取出一個(gè)信元。該信元項(xiàng)被從bb-清單中刪除,起始時(shí)隙按照如上所述的方法進(jìn)行調(diào)整。該信元也要從它所屬的優(yōu)先級(jí)隊(duì)列中刪除。
如果在一個(gè)bb-清單的清單中有幾個(gè)之前最佳清單,就不可能在之前最佳時(shí)間到來前騰空所有清單。這時(shí),只能晚一點(diǎn)發(fā)送一些信元,并應(yīng)該向控制成形器的微處理器發(fā)出一條警告。
當(dāng)信元已被送出時(shí),成形器確定在VC隊(duì)列中是否還有信元。如果有,將根據(jù)與收到來自交換核心的一個(gè)信元時(shí)相同的方法把該連接的一個(gè)新信元項(xiàng)引入隊(duì)列。
如果VC隊(duì)列中已沒有信元,前一指針被設(shè)為零(用于指針的一個(gè)專門值)。c)從群隊(duì)列中移出一項(xiàng)當(dāng)窗口移動(dòng)并覆蓋一個(gè)完整的時(shí)隙群時(shí),存儲(chǔ)在群隊(duì)列中的信元項(xiàng)被讀取并插入正確的優(yōu)先級(jí)隊(duì)列和/或之前最佳清單。信元項(xiàng)指針中的一個(gè)標(biāo)志表示該信元應(yīng)該插入哪種類型的隊(duì)列。每個(gè)時(shí)隙讀取一項(xiàng)或兩項(xiàng)。群隊(duì)列的長(zhǎng)度可能要比時(shí)隙群的長(zhǎng)度小得多,因此在時(shí)限之內(nèi)無法騰空群隊(duì)列的可能性很小。如果發(fā)生這種情況,應(yīng)當(dāng)通知微處理器。d)使用成形器控制最大交換機(jī)延遲上述成形器結(jié)構(gòu)可用于控制每個(gè)信元通過交換機(jī)的最大延遲。為此,每個(gè)信元在從外部鏈路進(jìn)入交換機(jī)時(shí)必須打上時(shí)間標(biāo)記。時(shí)間標(biāo)記是被分配給所有交換機(jī)輸入端口的一個(gè)時(shí)隙計(jì)數(shù)器值。一個(gè)交換機(jī)輸入端口終接一條外部鏈路、提取信元、將其緩存并通過交換機(jī)構(gòu)把它們傳送給成形器所在的交換機(jī)輸出端口。
當(dāng)一個(gè)信元到達(dá)成形器時(shí),它已經(jīng)歷了與當(dāng)前緩沖狀態(tài)有關(guān)的一定延遲。當(dāng)應(yīng)當(dāng)計(jì)算一個(gè)之前最佳時(shí)隙的時(shí)候,讀出信元的時(shí)間標(biāo)記并在時(shí)間標(biāo)記上附加上該連接的最大允許延遲。結(jié)果就是之前最佳時(shí)隙,通過這種方法,可以控制通過交換機(jī)的最大延遲。
盡管已根據(jù)當(dāng)前被認(rèn)為是最實(shí)用和優(yōu)選的實(shí)施例描述了發(fā)明,但是應(yīng)當(dāng)理解發(fā)明并不限于所揭示的實(shí)施例,相反,發(fā)明將覆蓋在所附權(quán)利要求的精神和范圍之內(nèi)的各種改動(dòng)和等效方法。
權(quán)利要求
1.一種ATM設(shè)備,包括一個(gè)輸入端,用于接收信元,該信元作為到交換網(wǎng)連接上的輸出時(shí)隙進(jìn)行傳輸;成形器,用于為每個(gè)信元計(jì)算最早信元時(shí)隙和之前最佳信元時(shí)隙,并且至少部分地根據(jù)所述最早信元時(shí)隙和所述之前最佳信元時(shí)隙之間的距離對(duì)所述每個(gè)信元排隊(duì);一個(gè)端口,用于根據(jù)排隊(duì)在輸出時(shí)隙中輸出信元。
2.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器還要根據(jù)預(yù)定的信元時(shí)隙窗口長(zhǎng)度進(jìn)行所述計(jì)算和排隊(duì)。
3.根據(jù)權(quán)利要求1的ATM設(shè)備,其中端口每次輸出一個(gè)輸出時(shí)隙時(shí),在信元時(shí)隙的窗口長(zhǎng)度內(nèi)添加一個(gè)新的信元時(shí)隙。
4.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器根據(jù)用于所述每個(gè)信元對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的峰值信元速率計(jì)算之前最佳信元時(shí)隙。
5.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器根據(jù)用于所述每個(gè)信元對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的可維持信元速率計(jì)算之前最佳信元時(shí)隙。
6.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器根據(jù)用于所述每個(gè)信元對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的可維持信元速率計(jì)算之前最佳信元時(shí)隙。
7.根據(jù)權(quán)利要求2的ATM設(shè)備,其中成形器在信元時(shí)隙的窗口長(zhǎng)度內(nèi)安放之前最佳信元時(shí)隙和最早信元時(shí)隙。
8.根據(jù)權(quán)利要求2的ATM設(shè)備,其中成形器保留信元時(shí)隙的窗口長(zhǎng)度內(nèi)每個(gè)信元時(shí)隙的之前最佳清單,每個(gè)信元時(shí)隙的之前最佳清單包括計(jì)算出的對(duì)于所述每個(gè)信元時(shí)隙中每個(gè)信元的之前最佳信元時(shí)隙,所述成形器鏈接所述每個(gè)信元時(shí)隙中的信元與計(jì)算出的之前最佳信元時(shí)隙。
9.根據(jù)權(quán)利要求8的ATM設(shè)備,其中成形器保留信元時(shí)隙的窗口長(zhǎng)度內(nèi)每個(gè)信元時(shí)隙的指針清單,每個(gè)信元時(shí)隙的指針清單包括到信元時(shí)隙窗口長(zhǎng)度內(nèi)所有后續(xù)之前最佳清單的指針。
10.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器為信元時(shí)隙窗口長(zhǎng)度內(nèi)的每個(gè)信元時(shí)隙分配一個(gè)指定的時(shí)隙號(hào)碼,當(dāng)前信元時(shí)隙的指定時(shí)隙號(hào)碼為一,每個(gè)后續(xù)信元時(shí)隙的指定時(shí)隙號(hào)碼按一逐漸遞增,直至信元時(shí)隙窗口長(zhǎng)度內(nèi)的最后一個(gè)信元時(shí)隙;成形器根據(jù)在所述每個(gè)信元時(shí)隙的之前最佳清單中的當(dāng)前信元數(shù)來為信元時(shí)隙窗口長(zhǎng)度內(nèi)的每個(gè)信元時(shí)隙分配一個(gè)指定的信元數(shù)目;以及成形器保留由指向信元時(shí)隙窗口長(zhǎng)度內(nèi)所有后續(xù)信元時(shí)隙的指針?biāo)M成的指針清單,指針通過以下的減法來計(jì)算從與信元時(shí)隙窗口長(zhǎng)度內(nèi)所述每個(gè)后續(xù)信元時(shí)隙相對(duì)應(yīng)的時(shí)隙號(hào)碼中減去與信元時(shí)隙窗口長(zhǎng)度內(nèi)所述后續(xù)信元時(shí)隙的之前最佳清單中包含的信元數(shù)相對(duì)應(yīng)的信元數(shù)目。
11.一個(gè)存儲(chǔ)區(qū),包括具有從1到N的相關(guān)信元時(shí)隙號(hào)碼的一系列ATM信元時(shí)隙,這些號(hào)碼對(duì)應(yīng)于在一個(gè)信元時(shí)隙窗口中所述信元時(shí)隙的傳輸時(shí)間位置;每個(gè)所述信元時(shí)隙包括一個(gè)最早可能清單,包含指明在所述信元時(shí)隙中或之前優(yōu)先傳輸?shù)男旁男畔ⅲ粋€(gè)之前最佳清單,包含指明在所述信元時(shí)隙中或之前要求傳輸?shù)男旁男畔ⅲc之前最佳清單所含信元數(shù)相等的一個(gè)信元數(shù)目,以及一個(gè)指針清單,包含在所述傳輸時(shí)間位置中與后續(xù)時(shí)間上所有信元時(shí)隙相對(duì)應(yīng)的信息,所述指針清單信息包括用于所述每個(gè)后續(xù)時(shí)隙的一個(gè)指針,它等于從所述后續(xù)信元時(shí)隙的時(shí)隙號(hào)碼中減去所述后續(xù)信元時(shí)隙的信元數(shù)。
12.一種方法,包括接收信元,該信元作為到交換網(wǎng)連接上的輸出時(shí)隙進(jìn)行傳輸;為每個(gè)信元計(jì)算最早信元時(shí)隙和之前最佳信元時(shí)隙,和至少部分地根據(jù)所述最早信元時(shí)隙和所述之前最佳信元時(shí)隙之間的距離對(duì)所述每個(gè)信元排隊(duì);根據(jù)排隊(duì)在輸出時(shí)隙中輸出信元。
13.根據(jù)權(quán)利要求12的方法,其中根據(jù)預(yù)定的信元時(shí)隙窗口長(zhǎng)度執(zhí)行計(jì)算和排隊(duì)步驟。
14.根據(jù)權(quán)利要求13的方法,還包括步驟在所述端口每次輸出一個(gè)輸出時(shí)隙時(shí),在信元時(shí)隙的窗口長(zhǎng)度內(nèi)添加一個(gè)新的信元時(shí)隙。
15.根據(jù)權(quán)利要求12的方法,其中根據(jù)用于與所述每個(gè)信元相對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的峰值信元速率來執(zhí)行計(jì)算之前最佳信元時(shí)隙的步驟。
16.根據(jù)權(quán)利要求12的方法,其中根據(jù)用于與所述每個(gè)信元相對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的可維持信元速率來執(zhí)行計(jì)算之前最佳信元時(shí)隙的步驟。
17.根據(jù)權(quán)利要求12的方法,其中根據(jù)用于與所述每個(gè)信元相對(duì)應(yīng)的一個(gè)交換網(wǎng)連接的峰值信元速率和可維持信元速率來執(zhí)行計(jì)算之前最佳信元時(shí)隙的步驟。
18.根據(jù)權(quán)利要求13的方法,還包括步驟在信元時(shí)隙的窗口長(zhǎng)度內(nèi)安放之前最佳信元時(shí)隙和最早信元時(shí)隙。
19.根據(jù)權(quán)利要求13的方法,還包括步驟保留信元時(shí)隙的窗口長(zhǎng)度內(nèi)每個(gè)信元時(shí)隙的之前最佳清單,每個(gè)信元時(shí)隙的之前最佳清單包括計(jì)算出的對(duì)應(yīng)于所述每個(gè)信元時(shí)隙中每個(gè)信元的之前最佳信元時(shí)隙,并鏈接所述每個(gè)信元時(shí)隙中的信元與計(jì)算出的之前最佳信元時(shí)隙。
20.根據(jù)權(quán)利要求19的方法,還包括步驟保留信元時(shí)隙窗口長(zhǎng)度內(nèi)每個(gè)信元時(shí)隙的指針清單,每個(gè)信元時(shí)隙的指針清單包括指向信元時(shí)隙窗口長(zhǎng)度內(nèi)往后的所有之前最佳清單的指針。
21.根據(jù)權(quán)利要求20的方法,還包括步驟為信元時(shí)隙窗口長(zhǎng)度內(nèi)的每個(gè)信元時(shí)隙分配一個(gè)指定的時(shí)隙號(hào)碼,當(dāng)前信元時(shí)隙的指定時(shí)隙號(hào)碼為一,并且每個(gè)后續(xù)信元時(shí)隙的指定時(shí)隙號(hào)碼按一逐漸遞增,直至信元時(shí)隙窗口長(zhǎng)度內(nèi)的最后一個(gè)信元時(shí)隙;根據(jù)在所述每個(gè)信元時(shí)隙之前最佳清單中的當(dāng)前信元數(shù)來為信元時(shí)隙窗口長(zhǎng)度內(nèi)的每個(gè)信元時(shí)隙分配一個(gè)指定的信元數(shù)目;以及保留由指向信元時(shí)隙窗口長(zhǎng)度內(nèi)所有后續(xù)信元時(shí)隙的指針?biāo)M成的指針清單,指針通過以下的減法來計(jì)算從與信元時(shí)隙窗口長(zhǎng)度內(nèi)所述每個(gè)后續(xù)信元時(shí)隙相對(duì)應(yīng)的時(shí)隙號(hào)碼中減去與信元時(shí)隙窗口長(zhǎng)度內(nèi)所述后續(xù)信元時(shí)隙的之前最佳清單中包含的信元數(shù)相對(duì)應(yīng)的信元數(shù)目。
22.根據(jù)權(quán)利要求1的ATM設(shè)備,還包括優(yōu)先隊(duì)列,它包含用于傳輸?shù)膬?yōu)先信元,其中所述成形器確定是否有任何之前最佳信元時(shí)隙為當(dāng)前時(shí)隙,然后選擇來自所述優(yōu)先隊(duì)列中的一個(gè)優(yōu)先信元或與指定所述當(dāng)前信元時(shí)隙的所述之前最佳信元時(shí)隙相關(guān)的信元作為輸出。
23.根據(jù)權(quán)利要求22的ATM設(shè)備,其中所述成形器保留與對(duì)應(yīng)的信元時(shí)隙相關(guān)的之前最佳清單,這些時(shí)隙包括當(dāng)前信元時(shí)隙和預(yù)定數(shù)目的后續(xù)信元時(shí)隙,每個(gè)之前最佳清單指定在對(duì)應(yīng)信元時(shí)隙之前要傳輸?shù)男旁?,其中a)當(dāng)所述成形器選擇與指定所述當(dāng)前時(shí)隙的之前最佳信元時(shí)隙相關(guān)的信元時(shí),從所有之前最佳清單和優(yōu)先隊(duì)列中刪除所述被選信元。
24.根據(jù)權(quán)利要求23的ATM設(shè)備,其中b)當(dāng)所述成形器選擇來自所述優(yōu)先隊(duì)列的優(yōu)先信元時(shí),從所有之前最佳清單和優(yōu)先隊(duì)列中刪除所述被選優(yōu)先信元。
25.根據(jù)權(quán)利要求22的ATM設(shè)備,其中所述成形器還保留關(guān)于預(yù)定數(shù)目的后續(xù)信元時(shí)隙之前最佳清單的一個(gè)清單,其中,當(dāng)從指定的之前最佳清單中刪除一個(gè)信元時(shí),從之前最佳清單的當(dāng)前清單中刪除這一指定的之前最佳清單,并將其插入之前最佳清單的后續(xù)清單中。
26.根據(jù)權(quán)利要求2的ATM設(shè)備,其中所述成形器還要把輸出時(shí)隙群固定到時(shí)隙群中,并暫時(shí)保留那些落在時(shí)隙群內(nèi)但處在信元時(shí)隙窗口長(zhǎng)度之外的信元,直到窗口長(zhǎng)度覆蓋所述被暫時(shí)保留的信元,這時(shí)所述成形器就對(duì)所述被暫時(shí)保留的信元進(jìn)行排隊(duì)。
27.根據(jù)權(quán)利要求1的ATM設(shè)備,其中成形器保證輸入和端口之間的一個(gè)確定的最小延遲。
全文摘要
發(fā)明提出了在傳輸時(shí)隙內(nèi)對(duì)ATM信元優(yōu)先級(jí)排序的一種方法和裝置。本發(fā)明取出已由傳統(tǒng)優(yōu)先級(jí)排序電路排過序的信元,并為其加上關(guān)于需要在當(dāng)前時(shí)隙中開始傳輸信元的信息,以確保能夠全部及時(shí)傳輸必須由一個(gè)未來時(shí)隙傳輸?shù)男旁鍐?。如果沒有未來時(shí)隙的信元清單要求當(dāng)前時(shí)隙立即傳輸,則將傳輸來自標(biāo)準(zhǔn)優(yōu)先緩沖器的一個(gè)信元。另一方面,如果一個(gè)后續(xù)時(shí)隙包含的項(xiàng)數(shù)太多,使得必須在當(dāng)前時(shí)隙中傳輸它的一個(gè)信元以確保清單中的所有信元能在其時(shí)限前傳輸,來自后續(xù)時(shí)隙清單中的一個(gè)信元將取代當(dāng)前時(shí)隙的標(biāo)準(zhǔn)優(yōu)先信元被傳輸。
文檔編號(hào)H04L12/56GK1269937SQ9880900
公開日2000年10月11日 申請(qǐng)日期1998年6月25日 優(yōu)先權(quán)日1997年7月11日
發(fā)明者G·維克倫德 申請(qǐng)人:艾利森電話股份有限公司