專利名稱:光路由器中的信道調(diào)度的制作方法
相關(guān)申請(qǐng)交叉參考本申請(qǐng)要求共同未決美國(guó)臨時(shí)申請(qǐng)系列號(hào)60/257,884的申請(qǐng)日,該臨時(shí)申請(qǐng)由Zheng等人于2000年12月22日申請(qǐng),名稱為“光路由器中的數(shù)據(jù)信道調(diào)度器的統(tǒng)一關(guān)聯(lián)存儲(chǔ)器”
新出現(xiàn)的密集波分復(fù)用(DWDM)技術(shù)通過(guò)提高光纖的容量改善了帶寬問(wèn)題。然而,這種提高的容量造成了與現(xiàn)有電子交換技術(shù)的嚴(yán)重失配,因?yàn)榕cDWDM的每秒若干兆兆比特容量相比,現(xiàn)有電子交換技術(shù)只能交換速率最多到每秒幾千兆比特的數(shù)據(jù)。雖然新興ATM交換機(jī)和IP路由器可利用光纖中的單個(gè)信道通常以每秒幾百千兆來(lái)交換數(shù)據(jù),然而,這種方法意味著必須要用幾十或幾百個(gè)交換接口來(lái)端接具有大量信道的單根DWDM光纖。這樣,當(dāng)并行信道只用作獨(dú)立鏈路的集合而不是用作共享資源時(shí),可能導(dǎo)致很大的統(tǒng)計(jì)復(fù)用效率的損失。
目前,提出了各種主張?jiān)诮粨Q系統(tǒng)中采用光學(xué)技術(shù)來(lái)取代電子技術(shù)的方法;然而,光學(xué)部件技術(shù)的局限性大大地限制了光交換的靈巧管理/控制應(yīng)用。一種方法,稱為光成組交換聯(lián)網(wǎng),試圖最佳利用光和電交換技術(shù)。電子技術(shù)通過(guò)將單獨(dú)的用戶數(shù)據(jù)脈沖串分配給DWDM光纖的信道來(lái)動(dòng)態(tài)控制系統(tǒng)資源,而光學(xué)技術(shù)只用于在光學(xué)域中交換用戶數(shù)據(jù)信道。
以前的用于直接處理端對(duì)端用戶數(shù)據(jù)信道的光網(wǎng)絡(luò)已不太令人滿意。
因此,需要一種用于提供光成組交換網(wǎng)絡(luò)的方法和設(shè)備。
本發(fā)明提供快速而有效的方法用于調(diào)度在光成組交換路由器中的脈沖串。
為了更好地理解本發(fā)明及其優(yōu)點(diǎn),下面將參照結(jié)合附圖所作的說(shuō)明,其中圖1a是光網(wǎng)絡(luò)的框圖;圖1b是核心光路由器的框圖;圖2示出了調(diào)度過(guò)程的數(shù)據(jù)流;圖3示出了調(diào)度器的框圖;圖4a和4b示出了脈沖串標(biāo)題分組相對(duì)于數(shù)據(jù)子幀的到達(dá)時(shí)序圖;圖5示出了DCS模塊的框圖;圖6示出了關(guān)聯(lián)存儲(chǔ)器PM的框圖;圖7示出了關(guān)聯(lián)存儲(chǔ)器PG的框圖;
圖8示出了LAUC-VF調(diào)度方法的流程圖;圖9示出了CCS模塊的框圖;圖10示出了關(guān)聯(lián)存儲(chǔ)器PT的框圖;圖11示出了調(diào)度控制信道的受限定的早期方法的流程圖;圖12示出了路徑和信道選擇器的框圖;圖13示出了一例通過(guò)循環(huán)緩沖器的阻塞輸出信道;圖14示出了BHP傳輸模塊的存儲(chǔ)器的存儲(chǔ)結(jié)構(gòu);圖15示出了采用無(wú)源FDL環(huán)路的光路由器體系結(jié)構(gòu)的框圖;圖16示出了一例具有多個(gè)PM和PG對(duì)的路徑和信道調(diào)度器的框圖;圖17a和17b示出了輸出數(shù)據(jù)信道的時(shí)序圖;圖18示出了CLKf和CLKs的時(shí)鐘信號(hào);圖19a和19b示出了用于路由器的時(shí)隙操作的可選硬件改進(jìn)方式;圖20示出了關(guān)聯(lián)處理器PM的框圖;圖21示出了關(guān)聯(lián)處理器PG的框圖;圖22示出了關(guān)聯(lián)處理器PMG的框圖;圖23示出了關(guān)聯(lián)處理器P*MG的框圖;圖24示出了一種利用多個(gè)關(guān)聯(lián)處理器來(lái)快速調(diào)度的實(shí)施方式的框圖;圖25示出了供多個(gè)信道群使用的處理器PM-ext的框圖;和圖26示出了供多個(gè)信道群使用的處理器PG-ext的框圖。
圖1a示出了光成組交換網(wǎng)絡(luò)4的一般框圖。光成組交換(OBS)網(wǎng)絡(luò)4包括多個(gè)電子入口端路由器6和多個(gè)出口端路由器8。這些入口端路由器6和出口端路由器8與多個(gè)核心光路由器10連接。入口端路由器6、出口端路由器8和核心路由器10之間利用光鏈路12進(jìn)行連接。每根光纖能夠載送光數(shù)據(jù)的多個(gè)信道。
工作時(shí),光數(shù)據(jù)的數(shù)據(jù)子幀(或簡(jiǎn)稱為“脈沖串”)是準(zhǔn)備通過(guò)網(wǎng)絡(luò)4發(fā)送的基本數(shù)據(jù)塊。入口端路由器6和出口端路由器8負(fù)責(zé)脈沖串的組合和拆分功能,并作為光成組交換網(wǎng)絡(luò)4與常規(guī)電子路由器之間的老式接口。
在光成組交換網(wǎng)絡(luò)4中,所要發(fā)送的基本數(shù)據(jù)塊是脈沖串,它是一些具有某些共同屬性的分組的集合。脈沖串由脈沖串有效載荷(稱之為“數(shù)據(jù)子幀”)和脈沖串標(biāo)題(稱之為“脈沖串標(biāo)題分組”或BHP)組成。光成組交換網(wǎng)絡(luò)的固有特征在于,在每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中,數(shù)據(jù)子幀及其BHP以不同的信道傳送,并且分別在光學(xué)域和電子域中進(jìn)行交換。BHP比其關(guān)聯(lián)數(shù)據(jù)子幀提前一個(gè)時(shí)間偏移量τ(≥0)被發(fā)送。其初始值τ0由(電子)入口端路由器8設(shè)置。
本發(fā)明中,“信道”被定義為兩個(gè)鄰近路由器之間的某一單向傳輸能力(以每秒比特為單位)。一個(gè)信道可以由一個(gè)波長(zhǎng)或幾分之一波長(zhǎng)組成(例如,當(dāng)采用時(shí)分復(fù)用時(shí))。載送數(shù)據(jù)子幀的信道被稱為“數(shù)據(jù)信道”,而載送BHP和其他控制分組的信道被稱為“控制信道”。“信道群”是一組具有共同類型并且節(jié)點(diǎn)鄰近的信道。鏈路被定義為兩個(gè)路由器之間的總傳輸能力,通常由每個(gè)方向上的“數(shù)據(jù)信道群”(DCG)和“控制信道群”(CCG)組成。
圖1b示出了核心光路由器10的框圖。對(duì)于每根光纖12,分用器18將入口DCG 14與CCG 16分離開。每個(gè)DCG 14被光纖延遲線(FDL)19所延遲。分用器22將延遲后的DCG分為信道20。每個(gè)信道20被輸入到無(wú)阻塞空分交換機(jī)24上各自的輸入節(jié)點(diǎn)??辗纸粨Q機(jī)24的另外一些輸入和輸出節(jié)點(diǎn)與循環(huán)緩沖器(RB)26連接。循環(huán)緩沖器26由循環(huán)交換控制器28控制??辗纸粨Q機(jī)24由空分交換控制器30控制。
CCG 16與一個(gè)交換控制單元(SCU)32連接。針對(duì)各CCG 16,SCU包括一個(gè)光/電收發(fā)信機(jī)34。光/電收發(fā)信機(jī)34接收光CCG控制信息并將該光信息轉(zhuǎn)換成電信號(hào)。電CCG信息被分組處理器36所接收,該處理器再將信息傳送到轉(zhuǎn)發(fā)器38。各CCG的轉(zhuǎn)發(fā)器與交換機(jī)40連接。交換機(jī)40的輸出節(jié)點(diǎn)與各自的調(diào)度器42連接。調(diào)度器42與路徑和信道選擇器44連接,還與各自的BHP發(fā)送模塊46連接。BHP發(fā)送模塊46與電/光收發(fā)信機(jī)48連接。電/光收發(fā)信機(jī)產(chǎn)生輸出CCG52,以便通過(guò)復(fù)用器50與各自的輸出DCG 54信息相關(guān)聯(lián)。路徑和信道選擇器44還與RB交換控制器28和空分交換控制器30連接。
圖1b中所示的實(shí)施方式具有N個(gè)輸入DCG-CCG對(duì)和N個(gè)輸出DCG-CCG對(duì)52,其中每個(gè)DCG都有K個(gè)信道而每個(gè)CCG只有一個(gè)信道(k=1)。DCG-CCG對(duì)52以一根光纖來(lái)載送。一般而言,光路由器可能是不對(duì)稱的,CCG 16的信道數(shù)k可能大于1,而DCG-CCG對(duì)52可能以一根以上的光纖12來(lái)載送。在所示的實(shí)施方式中,有一個(gè)緩沖信道群(BCG)56,該信道群具有R個(gè)緩沖信道。一般而言,可以有一個(gè)以上的BCG 56。光交換矩陣(OSM)包含一個(gè)(NK+R)×(NK+R)空分交換機(jī)和一個(gè)具有WDM(波分復(fù)用)FDL緩沖器的R×R交換機(jī),其中緩沖器用作循環(huán)緩沖器(RB)26,以解決出口數(shù)據(jù)信道上的數(shù)據(jù)子幀爭(zhēng)用問(wèn)題??辗纸粨Q機(jī)是一個(gè)絕對(duì)無(wú)阻塞交換機(jī),這意味著,入口數(shù)據(jù)信道上到達(dá)的數(shù)據(jù)子幀可以被交換到任一空閑的出口數(shù)據(jù)信道。輸入FDL 19所引入的延遲Δ應(yīng)當(dāng)足夠長(zhǎng),以便SCU 32在其關(guān)聯(lián)數(shù)據(jù)子幀進(jìn)入到空分交換機(jī)之前有足夠的時(shí)間來(lái)處理BHP。
R×R RB交換機(jī)是一種廣播和選擇類型的交換機(jī),這種類型如“P.Gambini等,‘Transparent Optical Packet Switching NetworkArchitecture and Demonstrators in the KEOPS Project’,IEEEJ.Selected Areas in Communications,vol.16,no.7,pp.1245-1259,Sept.1998”中所述。假定,R×R RB交換機(jī)有B根FDL,其中第i根FDL引入Qi延時(shí),1≤i≤B。在不失一般性情況下,還假定,Q1<Q2<...<QB和Q0=0(意味著沒(méi)有使用FDL緩沖器)。注意,所有N個(gè)輸入DCG共同使用FDL緩沖器,而每根FDL包括R個(gè)信道。以任意入口信道進(jìn)入RB交換機(jī)的數(shù)據(jù)子幀可被所提供的B個(gè)延時(shí)之一所延時(shí)。圖1b中的循環(huán)緩沖器通過(guò)去掉RB交換機(jī)的功能可被簡(jiǎn)化為無(wú)源FDL環(huán)路,如圖15中所示,其中不同的緩沖信道可以具有不同的延遲。
SCU部分基于電子路由器。在圖1b中,SCU具有N個(gè)輸入控制信道和N個(gè)輸出控制信道。SCU主要包括分組處理器(PP)36,轉(zhuǎn)發(fā)器38,交換結(jié)構(gòu)40,調(diào)度器42,BHP傳輸模塊46,路徑和信道選擇器44,空分交換控制器30,和RB交換控制器28。分組處理器36,轉(zhuǎn)發(fā)器38和交換結(jié)構(gòu)40可以存在于電子路由器中。其他部件(尤其是調(diào)度器)對(duì)光路由器而言是新出現(xiàn)的。設(shè)計(jì)SCU時(shí)盡可能多地采用分布式控制,但對(duì)被集中的共用FDL緩沖器的存取的控制除外。
分組處理器執(zhí)行第一層和第二層拆封功能并為每個(gè)到達(dá)的BHP附上一個(gè)時(shí)間標(biāo)記,這樣可以記錄關(guān)聯(lián)數(shù)據(jù)子幀到達(dá)OSM的時(shí)間。該時(shí)間標(biāo)記是BHP到達(dá)時(shí)間、BHP所載送的脈沖串偏移時(shí)間τ和輸入FDL19所引入的延遲Δ的總和。轉(zhuǎn)發(fā)器主要執(zhí)行轉(zhuǎn)發(fā)一覽表,以判斷哪個(gè)出口CCG 52轉(zhuǎn)發(fā)BHP。關(guān)聯(lián)數(shù)據(jù)子幀將被交換到相應(yīng)的DCG 54??梢杂脽o(wú)連接或面向連接方式來(lái)完成轉(zhuǎn)發(fā)。
每個(gè)DCG-CCG對(duì)52都有一個(gè)調(diào)度器。調(diào)度器42根據(jù)BHP所載送的信息調(diào)度出口DCG 54的數(shù)據(jù)信道上的數(shù)據(jù)子幀的交換。如果發(fā)現(xiàn)有空閑的數(shù)據(jù)信道,那么調(diào)度器42將調(diào)度出口控制信道上的BHP的傳輸,從而通過(guò)保持偏移時(shí)間τ(≥0)盡可能接近τ0,嘗試使BHP與其關(guān)聯(lián)數(shù)據(jù)子幀再同步。在順利地調(diào)度了數(shù)據(jù)子幀和BHP之后,如果調(diào)度器42不必通過(guò)循環(huán)緩沖器26提供延遲,那么它將配置信息發(fā)送給空分交換控制器30,否則,調(diào)度器還要將配置信息發(fā)送給RB交換控制器28。
圖2中示出了調(diào)度判決過(guò)程的數(shù)據(jù)流。在判決塊60中,調(diào)度器42判斷是否有足夠的時(shí)間來(lái)調(diào)度入口數(shù)據(jù)子幀。如果是的話,那么,調(diào)度器判斷是否可以調(diào)度數(shù)據(jù)子幀,即在指定輸出DCG 54中是否有空閑空間用于數(shù)據(jù)子幀。為了調(diào)度數(shù)據(jù)子幀,必須有可用的空間提供給指定輸出DCG中的數(shù)據(jù)子幀。這一空間可以在以數(shù)據(jù)子幀到空分交換機(jī)24的到達(dá)時(shí)間為起點(diǎn)延長(zhǎng)到循環(huán)緩沖器26所能提供的最大延遲的時(shí)間窗內(nèi)起動(dòng)。如果可以調(diào)度數(shù)據(jù)子幀,那么,在判決塊64中,調(diào)度器42必須判斷在輸出CCG 52中是否有可用的空間用于BHP。
如果判決塊60、62或64中的任一判決為否定的話,那么在塊65中放棄數(shù)據(jù)子幀和BHP。如果判決塊60、62和64中的所有判決均為肯定的話,那么調(diào)度器向路徑和信道選擇器44發(fā)送調(diào)度信息。從調(diào)度器到路徑和信道選擇器的配置信息包括入口DCG標(biāo)識(shí)符,入口數(shù)據(jù)信道標(biāo)識(shí)符,出口DCG標(biāo)識(shí)符,出口數(shù)據(jù)信道標(biāo)識(shí)符,數(shù)據(jù)子幀到空分交換機(jī)的到達(dá)時(shí)間,數(shù)據(jù)子幀時(shí)長(zhǎng),F(xiàn)DL標(biāo)識(shí)符i(要求Qi延時(shí),0≤i≤B)。
如果FDL標(biāo)識(shí)符為0,也就是說(shuō)無(wú)需FDL緩沖器,那么,路徑和信道選擇器44簡(jiǎn)單地將配置信息轉(zhuǎn)發(fā)給空分交換控制器30。否則,在判決塊68中,路徑和信道選擇器44尋找發(fā)向RB交換機(jī)26的空閑入口緩沖器信道。如果有的話,那么在判決塊70中,路徑和信道選擇器44尋找發(fā)自RB交換機(jī)26的空閑出口緩沖器信道,以便在RB交換機(jī)26中的指定延遲之后載送重新進(jìn)入空分交換機(jī)的數(shù)據(jù)子幀。假定,一旦數(shù)據(jù)子幀進(jìn)入RB交換機(jī),它就可以被延遲集合{Q1,Q2,...,QB}中的任一離散時(shí)間。如果情況不是這樣,那么路徑和信道選擇器44必須得考慮RB交換機(jī)體系結(jié)構(gòu)。如果進(jìn)出RB交換機(jī)26的空閑信道都能找到,那么,路徑和信道選擇器44將配置信息發(fā)送給空分交換控制器30和RB交換控制器28,并向42調(diào)度器發(fā)回一個(gè)ACK(確認(rèn))。否則,它向調(diào)度器42發(fā)回一個(gè)NACK(否認(rèn)),并在塊65中放棄BHP和數(shù)據(jù)子幀。
從路徑和信道選擇器44到空分交換控制器30的配置信息包括入口DCG標(biāo)識(shí)符,入口數(shù)據(jù)信道標(biāo)識(shí)符,出口DCG標(biāo)識(shí)符,出口數(shù)據(jù)信道標(biāo)識(shí)符,數(shù)據(jù)子幀到空分交換機(jī)的到達(dá)時(shí)間,數(shù)據(jù)子幀時(shí)長(zhǎng),F(xiàn)DL標(biāo)識(shí)符i(要求Qi延時(shí),0≤i≤B)。如果i>0,那么,該信息還包括入口BCG標(biāo)識(shí)符(到RB交換機(jī)),入口緩沖信道標(biāo)識(shí)符(到RB交換機(jī)),出口BCG標(biāo)識(shí)符(來(lái)自RB交換機(jī)),和出口緩沖信道標(biāo)識(shí)符(來(lái)自RB交換機(jī))。
從路徑和信道選擇器到RB交換控制器的配置信息包括入口BCG標(biāo)識(shí)符(到RB交換機(jī)),入口緩沖信道標(biāo)識(shí)符(到RB交換機(jī)),出口BCG標(biāo)識(shí)符(來(lái)自RB交換機(jī)),出口緩沖信道標(biāo)識(shí)符(來(lái)自RB交換機(jī)),數(shù)據(jù)子幀到RB交換機(jī)的到達(dá)時(shí)間,數(shù)據(jù)子幀時(shí)長(zhǎng),F(xiàn)DL標(biāo)識(shí)符i(要求Qi延時(shí),1≤i≤B)。
空分交換控制器30和RB交換控制器28可執(zhí)行從所接收到的配置信息到建立內(nèi)部路徑時(shí)所涉及的物理組成的映射,并且可使交換機(jī)及時(shí)地使數(shù)據(jù)子幀快速通過(guò)光路由器10。當(dāng)FDL標(biāo)識(shí)符大于0時(shí),空分交換控制器可以在空分交換機(jī)中建立兩個(gè)內(nèi)部路徑,一個(gè)是當(dāng)數(shù)據(jù)子幀到達(dá)空分交換機(jī)時(shí)從入口數(shù)據(jù)信道到入口循環(huán)緩沖信道的路徑,另一個(gè)是當(dāng)數(shù)據(jù)子幀重新進(jìn)入空分交換機(jī)時(shí)從出口緩沖信道到出口數(shù)據(jù)信道的路徑。當(dāng)接收到來(lái)自路徑和信道選擇器44的ACK時(shí),調(diào)度器42可更新所選擇的數(shù)據(jù)和控制信道的狀態(tài)信息,并準(zhǔn)備處理新的BHP。
最后,BHP傳輸模塊在調(diào)度器所指定的時(shí)間傳輸BHP。
以上是關(guān)于在光路由器中如何調(diào)度數(shù)據(jù)子幀的一般描述。必要的話,可以根據(jù)下述設(shè)計(jì)原理容易地推廣通過(guò)R×R循環(huán)緩沖交換機(jī)循環(huán)數(shù)據(jù)幀一次以上。
圖3示出了調(diào)度器42的框圖。調(diào)度器42包括調(diào)度隊(duì)列80,BHP處理器82,數(shù)據(jù)信道調(diào)度(DCS)模塊84,和控制信道調(diào)度(CCS)模塊86。每個(gè)調(diào)度器只需保持對(duì)其關(guān)聯(lián)出口DCG 54和出口CCG 52的忙/閑時(shí)段的跟蹤。
來(lái)自電子交換機(jī)的BHP首先保存在調(diào)度隊(duì)列80中。對(duì)于基本操作,所需要的是一個(gè)調(diào)度隊(duì)列80,然而對(duì)于不同的業(yè)務(wù)級(jí)別,可以保留一些虛擬調(diào)度隊(duì)列80??梢愿鶕?jù)BHP的到達(dá)次序或根據(jù)其關(guān)聯(lián)數(shù)據(jù)子幀的實(shí)際到達(dá)次序來(lái)提供各個(gè)隊(duì)列80。BHP處理器82協(xié)調(diào)數(shù)據(jù)和控制信道的調(diào)度過(guò)程,并將配置情況發(fā)送給路徑和信道選擇器44。它可以順序地或并行地啟動(dòng)DCS模塊84和CCS模塊82,這取決于DCS和CCS模塊84和82的實(shí)現(xiàn)情況。
在串行調(diào)度情況下,BHP處理器82首先啟動(dòng)DCS模塊84,以便在所要求的輸出DCS 54中調(diào)度數(shù)據(jù)信道上的數(shù)據(jù)子幀(DB)。在判定了何時(shí)發(fā)出數(shù)據(jù)子幀之后,BHP處理器便啟動(dòng)CCS模塊86,以便調(diào)度關(guān)聯(lián)控制信道上的BHP。
在并行調(diào)度情況下,BHP處理器82同時(shí)啟動(dòng)DCS模塊84和CCS模塊86。由于CCS模塊86不知道何時(shí)發(fā)出數(shù)據(jù)子幀,因此,它針對(duì)數(shù)據(jù)子幀的所有可能的出發(fā)時(shí)間或其子集來(lái)調(diào)度BHP。總共有B+1種可能的出發(fā)時(shí)間。根據(jù)DCS模塊84所報(bào)告的實(shí)際數(shù)據(jù)子幀出發(fā)時(shí)間,BHP處理器86將選出合適的時(shí)間來(lái)發(fā)出BHP。
在OBS網(wǎng)絡(luò)中的邊緣與核心之間以及核心節(jié)點(diǎn)之間的數(shù)據(jù)和控制信道中,可采用時(shí)隙傳輸。時(shí)隙是一個(gè)固定長(zhǎng)度的時(shí)間段。設(shè)Ts是數(shù)據(jù)信道中一個(gè)時(shí)隙的時(shí)長(zhǎng)(例如,以μs為單位),而Tf是控制信道中一個(gè)時(shí)隙的時(shí)長(zhǎng)。如果數(shù)據(jù)信道速率是每秒rd千兆比特,那么一個(gè)時(shí)隙可發(fā)送Ts*rdKbit信息。同樣,如果控制信道速率是每秒rc千兆比特,那么一個(gè)時(shí)隙可發(fā)送Tf*rcKbit信息??紤]兩種設(shè)想(1)rc=rd和(2)rc≠rd。在后一種情況下,一個(gè)典型的例子是rc=rd/4(例如,OC-48用于控制信道,而OC-192用于數(shù)據(jù)信道)。
在不失一般性的情況下,假定,Tf等于Ts的若干倍。圖4a和4b(也可參見圖18)中描述了兩個(gè)例子,這里說(shuō)明當(dāng)初始偏移時(shí)間τ0=8Ts時(shí),在Tf=Ts以及Tf=4Ts的情況下時(shí)隙傳輸系統(tǒng)中的時(shí)間標(biāo)記和脈沖串偏移時(shí)間。為了便于描述,我們用時(shí)幀來(lái)表示控制信道中的時(shí)隙。在不失一般性的情況下,還假定(1)數(shù)據(jù)子幀長(zhǎng)度可變,為時(shí)隙的倍數(shù),它們可以只到達(dá)時(shí)隙界線,和(2)BHP長(zhǎng)度也可變,為字節(jié)的倍數(shù)。固定長(zhǎng)度的數(shù)據(jù)子幀和BHP僅僅是特例。在時(shí)隙傳輸中,針對(duì)不同的用途,在各時(shí)隙中都有一些額外開銷,比如同步和檢錯(cuò)。假定,控制信道上的幀有效載荷為Pf個(gè)字節(jié),它小于(Tf*rc)*1000/8字節(jié),因此,在時(shí)幀中可以發(fā)送總信息量。
OSM具有周期性。對(duì)于數(shù)據(jù)信道上的時(shí)隙傳輸,配置周期的一個(gè)典型的例子是1個(gè)時(shí)隙,盡管配置周期也可能是時(shí)隙的倍數(shù)。這里,假定每個(gè)時(shí)隙都對(duì)OSM進(jìn)行配置。FDL Qi的長(zhǎng)度也要求是時(shí)隙的倍數(shù),1≤i≤B。由于時(shí)隙傳輸和交換,建議在SCU中使用時(shí)隙作為基本時(shí)間單位,以便于數(shù)據(jù)信道調(diào)度、控制信道調(diào)度和緩沖信道調(diào)度,以及BHP與其關(guān)聯(lián)數(shù)據(jù)子幀之間的同步。這樣便于設(shè)計(jì)各種調(diào)度器。
關(guān)于圖4a、4b和5,將使用下列整數(shù)變量tBHPBHP進(jìn)入SCU的時(shí)幀的起點(diǎn);tDB數(shù)據(jù)子幀(DB)到達(dá)光交換矩陣(OSM)的到達(dá)時(shí)間;lDB以時(shí)隙為單位的DB的時(shí)長(zhǎng)/長(zhǎng)度;Δ輸入FDL所引入的延遲(以時(shí)隙為單位);τ脈沖串偏移時(shí)間(以時(shí)隙為單位)。
每個(gè)到達(dá)SCU的BHP在收發(fā)信機(jī)接口處經(jīng)O/E轉(zhuǎn)換后都被標(biāo)上時(shí)間標(biāo)記,以便記錄BHP進(jìn)入SCU的時(shí)幀的起點(diǎn)。對(duì)于SCU在同一時(shí)幀接收到的BHP,它們將具有相同的時(shí)間標(biāo)記tBHP。為了便于調(diào)度,最重要的變量是tDB(即DB到達(dá)OSM的到達(dá)時(shí)間)。假定在SCU中使用b-bit時(shí)隙計(jì)數(shù)器來(lái)跟蹤時(shí)間,那么可以按下式來(lái)計(jì)算tDBtDB=(tBHP·Tf+Δ+τ)mod 2b(1)在SCU 32中,可以由BHP來(lái)載送時(shí)間標(biāo)記tDB。注意,也可以從BHP到達(dá)的時(shí)幀的起點(diǎn)開始計(jì)算脈沖串偏移時(shí)間τ,如圖4a-b中所示,其中,在圖4a中,tBHP=9和τ=6個(gè)時(shí)隙,而在圖4b中,tBHP=2和τ=7個(gè)時(shí)隙。假定Δ=100個(gè)時(shí)隙,則有tDB=115,即DB將在時(shí)隙界線115到達(dá)。在圖4a-b中,1≤τ≤τ0=8。在不失一般性的情況下,假定,圖1b中的空分交換機(jī)的交換等待時(shí)間可以忽略。因此,如果沒(méi)有使用FDL緩沖器的話,那么,數(shù)據(jù)子幀到達(dá)空分交換機(jī)24的到達(dá)時(shí)間tDB也就是其出發(fā)時(shí)間。注意,即便交換等待時(shí)間不可忽略,在信道調(diào)度時(shí),tDB仍可以作為數(shù)據(jù)子幀出發(fā)時(shí)間,這是因?yàn)椋诼酚善鬏敵龆丝诳梢匝a(bǔ)償交換等待時(shí)間,從而在此使數(shù)據(jù)和控制信道再同步。
圖5示出了DCS模塊84的框圖。在這一實(shí)施方式中,關(guān)聯(lián)處理器陣列PM90和PG92并行搜索未調(diào)度信道時(shí)間以及調(diào)度信道時(shí)間之間的間隙,并更新狀態(tài)信息。間隙和未調(diào)度時(shí)間以相對(duì)時(shí)間來(lái)表示。PM90和PG92與控制處理器CP194連接。在一種實(shí)施方式中,采用LAUC-VF(具有空填充的最近有效未使用信道)調(diào)度原理來(lái)確定所需的調(diào)度,這種調(diào)度原理如Zheng等人于2000年10月12日申請(qǐng)的美國(guó)系列號(hào)09/689,584中所述,該申請(qǐng)的名稱為“具有FDL緩沖器的光路由器的信道調(diào)度算法的硬件實(shí)現(xiàn)”,在此作為參考。
DCS模塊84使用兩個(gè)b-bit時(shí)隙計(jì)數(shù)器C和C1。計(jì)數(shù)器C跟蹤與CCS模塊86共同使用的時(shí)隙。計(jì)數(shù)器C1記錄自從接收到最近的BHP所逝去的時(shí)隙。這兩個(gè)計(jì)數(shù)器以時(shí)隙時(shí)鐘的脈沖而遞增。然而,當(dāng)DCS模塊84接收到新的BHP時(shí),計(jì)數(shù)器C1復(fù)位到0。一旦計(jì)數(shù)器C1達(dá)到2b-1,它就停止計(jì)數(shù),這表示自從接收到最近的BHP后已逝去了至少2b-1個(gè)時(shí)隙。b的值應(yīng)當(dāng)滿足2b≥Ws,其中Ws是數(shù)據(jù)信道調(diào)度窗。Ws=τ0+Δ+QB+Lmax-δ,其中Lmax是DB的最大長(zhǎng)度,而δ是BHP從O/E轉(zhuǎn)換器到調(diào)度器42的最小延遲。假定,τ0=8,Δ=120,QB=32,Lmax=64,而δ=40,那么,Ws=184個(gè)時(shí)隙。在這種情況下,b=8比特。
圖5中的關(guān)聯(lián)處理器PM用來(lái)保存DCG中的各數(shù)據(jù)信道的未調(diào)度時(shí)間。設(shè)ti為信道Hi的未調(diào)度時(shí)間,它被保存在PM的第i個(gè)條目中,0≤i≤K-1。于是,從時(shí)隙ti向前,信道Hi是空閑的,即沒(méi)有被調(diào)度。ti是一個(gè)相對(duì)于調(diào)度器接收到最近BHP的時(shí)隙的相對(duì)時(shí)間。PM有一個(gè)2K字的關(guān)聯(lián)存儲(chǔ)器,用以分別保存未調(diào)度時(shí)間ti和信道標(biāo)識(shí)符。未調(diào)度時(shí)間按下降次序被保存。例如,在圖6中,有K=8和t0≥t1≥t2≥t3≥t4≥t5≥t6≥t7。
類似地,圖5中的關(guān)聯(lián)處理器PG用來(lái)保存DCG中的各數(shù)據(jù)信道的間隙。我們用lj和rj來(lái)表示間隙j的起始時(shí)間和結(jié)束時(shí)間,0≤j≤G-1,這些時(shí)間也是相對(duì)時(shí)間。這一時(shí)隙被保存在PG的第j個(gè)條目中,其相應(yīng)的數(shù)據(jù)信道是Hj。PG有一個(gè)G個(gè)字的關(guān)聯(lián)存儲(chǔ)器,用以分別保存間隙起始時(shí)間、間隙結(jié)束時(shí)間和信道標(biāo)識(shí)符。間隙也可以根據(jù)其起始時(shí)間lj按下降次序被保存。例如,圖7示出了這種關(guān)聯(lián)存儲(chǔ)器PG,其中l(wèi)0≥l1≥l2≥...≥lG-2≥lG-1。G是可以被保存的間隙的總數(shù)。如果間隙多于G個(gè),那么具有較大起始時(shí)間的最新間隙將推出具有最小起始時(shí)間的間隙,它駐留在關(guān)聯(lián)存儲(chǔ)器的底部。注意,如果lj=0,那么,在DCG中總共有j個(gè)間隙,因?yàn)閘j+1=lj+2=...=lG-1=0.
一旦接收到BHP處理器發(fā)出的調(diào)度出發(fā)時(shí)間為tDB而時(shí)長(zhǎng)為lDB的DB的請(qǐng)求,控制處理器(CP1)94首先就記錄下接收到該請(qǐng)求的時(shí)隙tsch,讀取計(jì)數(shù)器C1(te←C1),并將C1復(fù)位到0。然后,CP1將tsch作為新的參考時(shí)間,計(jì)算出相對(duì)于tsch的DB出發(fā)時(shí)間(無(wú)FDL緩沖器)為t′DB=(tDB-tsch+2b)mod 2b, (2)同時(shí),CP1根據(jù)下式更新PMti=max(0,ti-te), 0≤i≤K-1 (3)然后,利用以下公式更新PGlj=max(0,lj-te), 0≤j≤G-1 (4)和rj=max(0,rj-te), 0≤j≤G-1. (5)存儲(chǔ)器更新之后,CP194搜索合格的出口數(shù)據(jù)信道,以便根據(jù)以上所引用的LAUC-VF方法載送數(shù)據(jù)子幀。流程圖如圖8中所示。在塊100中,指數(shù)i設(shè)為“0”。在塊102中,PG找出一個(gè)間隙以便在t’DB+Qi發(fā)送數(shù)據(jù)子幀。在塊106中,PM在PM中找出未調(diào)度信道以便在t’DB+Qi時(shí)間發(fā)送數(shù)據(jù)子幀。注意,在PG中找出間隙以便在時(shí)間t’DB+Qi發(fā)送DB的操作和在PM中找出未調(diào)度時(shí)間以便在時(shí)間t’DB+Qi發(fā)送DB的操作最好并行執(zhí)行。在PG中找出間隙以便在時(shí)間t’DB+Qi發(fā)送數(shù)據(jù)子幀的操作(塊102)包括將PG中的每個(gè)條目與(t’DB+Qi,t’DB+Qi+lDB)并行比較。如果t’DB+Qi≥lj而t’DB+Qi+lDB≤rj,那么,條目j的響應(yīng)比特返回1,否則,它返回0,0≤j≤G-1。如果PG中至少一個(gè)條目返回1,那么選擇最小指數(shù)的間隙。
在PM中找出未調(diào)度時(shí)間以便在時(shí)間t’DB+Qi發(fā)送DB的操作(塊106)包括將PM中的每個(gè)條目與t’DB+Qi并行比較。如果t’DB+Qi≥tj,那么,條目j的響應(yīng)比特返回1,否則,它返回0,0≤j≤K-1。如果PM中至少一個(gè)條目返回1,那么選擇最小指數(shù)的條目。
如果在判決塊104或108中調(diào)度成功,那么,在塊105或109中,CP1分別將所選擇的出口數(shù)據(jù)信道和FDL標(biāo)識(shí)符通知給BHP處理器82。在接收到來(lái)自BHP處理器82的ACK之后,CP194將更新PG90或PM94或者兩者都更新。如果調(diào)度不成功,那么在塊110中,將i遞增,并且PM和PG試驗(yàn)?zāi)骋粫r(shí)間,以便以不同的延遲調(diào)度數(shù)據(jù)子幀。一旦Qi達(dá)到最大延遲(判決塊112),處理器PM和PG在塊114中報(bào)告無(wú)法調(diào)度數(shù)據(jù)子幀。
為了提高調(diào)度處理過(guò)程的速度,可以并行進(jìn)行搜索。例如,如果B=2,并使用了三個(gè)相同的PM′和PG′,如圖5中所示,那么,一個(gè)并行搜索將判斷是否可以在時(shí)間t’DB、t’DB+Q1和t’DB+Q2發(fā)出數(shù)據(jù)子幀。如果能以不同的時(shí)間發(fā)出數(shù)據(jù)子幀,那么選擇最小的時(shí)間。在另一例中,如果B=5,并使用了三個(gè)相同的PM′和PG′,那么,至多兩個(gè)并行搜索將判斷是否可以調(diào)度DB。
下面列舉了LAUC-VF方法的一些簡(jiǎn)化形式,它們也能用于本實(shí)現(xiàn)方式。第一,可采用FF-VF(具有空填充的最先適合)方法,其中,PM中的未調(diào)度時(shí)間的次序和PG中的間隙并不按某一次序(下降或上升次序)排序,而是利用所找到的最先合格的數(shù)據(jù)信道來(lái)載送數(shù)據(jù)子幀。第二,可采用LAUC(最近有效未調(diào)度信道)方法,其中,未使用PG,即不考慮空填充。這還可以簡(jiǎn)化設(shè)計(jì)。第三,可采用FF(最先適合)方法。FF是FF-VF的一種簡(jiǎn)化形式,其中沒(méi)有使用空填充。
圖9中示出了CCS模塊86的框圖。與DCS模塊84類似,關(guān)聯(lián)處理器PT120跟蹤控制信道的使用。由于每幀能發(fā)送最大Pf個(gè)字節(jié)的有效載荷,因此,PT120的存儲(chǔ)器T 121只跟蹤每幀可用的字節(jié)數(shù)(圖10)。這里,同樣采用相對(duì)時(shí)間。CCS模塊86具有兩個(gè)b1-bit幀計(jì)數(shù)器Cf和Cf1。Cf計(jì)數(shù)時(shí)幀。Cf1記錄自從接收到最近的BHP所逝去的幀。一旦接收到到達(dá)時(shí)間為tDB的BHP,CP2122就將接收到這一BHP的幀標(biāo)上時(shí)間標(biāo)記,即tfsch←Cf。同時(shí),它讀取計(jì)數(shù)器Cf1(tfe←Cf1),并將Cf1復(fù)位到0。然后,它通過(guò)將Bi下移tfe個(gè)位置更新PT,即 =Bi(tfe≤i≤2b1-1),和Bi=Pf(2b1-tfe≤i≤2b1-1)。在初始化時(shí),PT中的所有條目都被置為Pf。接著,CP2利用下式計(jì)算出數(shù)據(jù)子幀出發(fā)時(shí)(假定使用FDL Qi)的幀tfDBtDBf(Qi)=[((tDB+Qi)mod2b)/Tf],0≤i≤B,----(6)]]>其中,Tf是以時(shí)隙為單位的幀長(zhǎng)度。根據(jù)下式計(jì)算出DB出發(fā)的相對(duì)時(shí)幀tDB′f(Qi)=(tDBf(Qi)-tschf+2b1)mod2b1,0≤i≤2----(7)]]>參數(shù)b1可以根據(jù)參數(shù)b來(lái)估算,例如,2b1=2b/Tf。當(dāng)b=8且Tf=4時(shí),b1=6。采用以下方法可以搜尋針對(duì)某一DB出發(fā)時(shí)間t(例如,t=t’fDB(Qi))可能的BHP出發(fā)時(shí)間?;舅枷胧潜M可能早地發(fā)送BHP,但偏移時(shí)間不應(yīng)大于τ0(結(jié)合圖4a和4b中所述)。設(shè)J=「τ0/Tf」。例如,當(dāng)τ0=8個(gè)時(shí)隙而Tf=1個(gè)時(shí)隙時(shí),J=8。當(dāng)τ0=8個(gè)時(shí)隙而Tf=4個(gè)時(shí)隙時(shí),J=2。假定,BHP長(zhǎng)度為X個(gè)字節(jié)。
在這一優(yōu)選實(shí)施方式中,用強(qiáng)制最早時(shí)間(CET)方法來(lái)調(diào)度控制信道,如圖11中所示。在步驟130中,PT120將X(即BHP的長(zhǎng)度)與存儲(chǔ)器T 121的相關(guān)條目Et-j的內(nèi)容Bt-j并行比較,0≤j≤J-1,而t-j>0。如果X≤Bt-j,那么條目Et-j返回1,否則,它返回0。在步驟132中,如果PT中至少一個(gè)條目返回1,那么,在步驟134中選擇最小指數(shù)的條目。保存該指數(shù),并且,CCS模塊86報(bào)告已找到發(fā)送BHP的幀。如果,PT中沒(méi)有條目返回“1”,那么,向BHP處理器82發(fā)送一個(gè)否認(rèn)(步驟136)。
如果選擇Et-j,那么發(fā)出BHP的實(shí)際幀tf為(tfDB-j+2b1)mod2b1。新的脈沖串偏移時(shí)間為(tDBmodTf)+j*Tf。
在運(yùn)用了CET方法后,CCS模塊86向BHP處理器82發(fā)送關(guān)于是否調(diào)度BHP以及在哪個(gè)時(shí)幀發(fā)送該BHP的信息。一旦得到來(lái)自BHP處理器82的ACK,CCS模塊86就將更新PT。例如,如果條目y中的內(nèi)容需要被更新,那么,By←By-X。如果無(wú)法調(diào)度BHP,那么CCS模塊86將向BHP處理器82發(fā)送一個(gè)NACK。在實(shí)際實(shí)現(xiàn)方式中,PT中的內(nèi)容不必實(shí)際移動(dòng)??捎靡粋€(gè)指針來(lái)記錄與參考時(shí)幀0相關(guān)的條目指數(shù)。
為了并行調(diào)度,如下所述,由于CCS模塊86不知道數(shù)據(jù)子幀的實(shí)際出發(fā)時(shí)間,因此,它可以在數(shù)據(jù)子幀的所有可能的出發(fā)時(shí)間或其子集調(diào)度BHP,并向BHP處理器82報(bào)告結(jié)果。當(dāng)B=2時(shí),有三個(gè)可能的數(shù)據(jù)子幀出發(fā)時(shí)間t’DB、t’DB+Q1和t’DB+Q2。象DCS模塊84一樣,如果使用三個(gè)相同的PT′,如圖9中所示,那么,一個(gè)并行搜索將判斷是否可以在這三個(gè)可能的數(shù)據(jù)子幀出發(fā)時(shí)間調(diào)度該BHP。
圖12中示出了路徑和信道選擇器44的框圖。路徑和信道選擇器44的功能在于,控制對(duì)R×R RB交換機(jī)26的接入,并指令RB交換控制器28和空分交換控制器30對(duì)各自的交換機(jī)26和24進(jìn)行配置。路徑和信道選擇器44包括處理器140,它與循環(huán)緩沖輸入調(diào)度(RBIS)模塊142、循環(huán)緩沖輸出調(diào)度(RBOS)模塊144和隊(duì)列146連接。RBIS模塊142跟蹤發(fā)向RB交換機(jī)26的R個(gè)入口信道的使用,而RBOS模塊144跟蹤發(fā)自RB交換機(jī)26的R個(gè)出口信道的使用。在RBIS和RBOS模塊142和144中,可以采用任意調(diào)度方法,例如,LAUC-VF、FF-VF、LAUC、FF等。注意,RBIS模塊142和RBOS模塊144可以采用相同或者不同的調(diào)度方法。從制作角度來(lái)看,RBIS和RBOS模塊最好采用與DCS模塊84相同的調(diào)度方法。在不失一般性的情況下,這里假定,在RBIS和RBOS模塊142和144中均采用LAUC-VF方法;這樣,DCS模塊的設(shè)計(jì)方案可以再利用,從而可應(yīng)用于這些模塊。
假定,時(shí)長(zhǎng)為lDB的數(shù)據(jù)子幀在時(shí)間tDB到達(dá)OSM并且要求延時(shí)Qi。處理器140同時(shí)啟動(dòng)RBIS模塊142和RBOS模塊144。它將tDB和lDB的信息發(fā)送給RBIS模塊142,并將離開OSM的時(shí)間(tDB+Qi)和lDB的信息發(fā)送給RBOS模塊144。RBIS模塊142搜尋發(fā)向RB交換機(jī)26的在(tDB,tDB+lDB)時(shí)間段內(nèi)空閑的入口信道。如果有兩個(gè)或兩個(gè)以上合格的入口信道,那么RBIS模塊將根據(jù)LAUC-VF選擇一個(gè)信道。同樣,RBOS模塊144搜尋發(fā)自RB交換機(jī)26的在(tDB+Qi,tDB+lDB+Qi)時(shí)間段內(nèi)空閑的出口信道。如果有兩個(gè)或兩個(gè)以上合格的出口信道,那么RBOS模塊144將根據(jù)LAUC-VF選擇一個(gè)信道。RBIS(RBOS)模塊將所選擇的入口(出口)信道標(biāo)識(shí)符或NACK發(fā)送給處理器。如果找到了發(fā)向RB交換機(jī)26的合格的入口信道和發(fā)自RB交換機(jī)26的合格的出口信道,那么處理器將向RBIS和RBOS模塊分別發(fā)回一個(gè)ACK,于是,這兩個(gè)模塊將更新信道狀態(tài)信息。同時(shí),處理器還向調(diào)度器42發(fā)送一個(gè)ACK,并向兩個(gè)交換控制器28和30發(fā)送配置信息。否則,處理器140將向RBIS和RBOS模塊142和144發(fā)送NACK,并向調(diào)度器42發(fā)送一個(gè)NACK。
需要RBOS模塊144是因?yàn)?,?shù)據(jù)子幀所要使用的FDL緩沖器是由調(diào)度器42選擇的,而不是由RB交換機(jī)26確定的。因此,數(shù)據(jù)子幀很可能可以進(jìn)入RB交換機(jī)26,但很可能由于出口信道沖突而無(wú)法從RB交換機(jī)26出去。圖13中示出了一個(gè)例子,其中,三個(gè)固定長(zhǎng)度的數(shù)據(jù)子幀148a-c到達(dá)2×2 RB交換機(jī)26。前兩個(gè)數(shù)據(jù)子幀148a-b將延時(shí)2D,而第三個(gè)DB將被延時(shí)D。顯然,這三個(gè)數(shù)據(jù)子幀將同時(shí)離開交換機(jī)并爭(zhēng)用兩個(gè)出口信道。本例中,第三個(gè)數(shù)據(jù)子幀148c將丟失。
BHP傳輸模塊46負(fù)責(zé)在BHP處理器82所確定的時(shí)幀中在出口控制信道52上發(fā)送BHP。由于在時(shí)隙傳輸中,幀有效載荷是固定的,都等于Pf,因此,圖14中示出了一種可能的實(shí)現(xiàn)方式,其中,整個(gè)存儲(chǔ)器被劃分成Wc段150,并且要以同一時(shí)幀發(fā)送的BHP被保存在同一個(gè)段150中。Wc是控制信道調(diào)度窗,它等于2b1。每段都有一個(gè)存儲(chǔ)指針(如段W0中所示),用于指向新BHP可被保存的存儲(chǔ)地址。為了區(qū)分一幀中的BHP,幀額外開銷應(yīng)當(dāng)包括一個(gè)指示幀中BHP個(gè)數(shù)的字段。再者,每個(gè)BHP都應(yīng)當(dāng)包括一個(gè)長(zhǎng)度字段,用于指示BHP的第一個(gè)字節(jié)到最后一個(gè)字節(jié)的分組長(zhǎng)度(例如,以字節(jié)為單位)。
假定,tc是BHP傳輸模塊接收到BHP的當(dāng)前時(shí)幀,而pc指向當(dāng)前存儲(chǔ)段。給定BHP出發(fā)時(shí)幀tf,那么,根據(jù)(pc+(tf-tc+2b1)mod2b1)mod2b1計(jì)算出保存這一BHP的存儲(chǔ)段。
圖15示出了采用無(wú)源FDL環(huán)路160作為循環(huán)緩沖器的光路由器體系結(jié)構(gòu),其中,循環(huán)信道的個(gè)數(shù)R=R1+R2+...+RB,其第j個(gè)信道群引入Qj延時(shí),1≤j≤B。這里,循環(huán)信道有區(qū)別,而在圖1b中,所有循環(huán)信道等同,這里的循環(huán)信道可以提供B個(gè)不同的延遲。采用無(wú)源FDL環(huán)路的潛在問(wèn)題在于訪問(wèn)共享FDL緩沖器的阻塞可能性較大。例如,假定B=2,R=4和R1=2,R2=2,并且R1的兩個(gè)循環(huán)信道當(dāng)前正在使用中。如果新DB要求被延時(shí)Q1,那么在圖1b中可以順利地調(diào)度該DB,因?yàn)檫€有兩個(gè)空閑的循環(huán)信道。然而,在圖15中無(wú)法調(diào)度它,因?yàn)槟軌蜓訒r(shí)Q1的兩個(gè)信道忙。
SCU 32的設(shè)計(jì)方案除了下列一些變動(dòng)之外與前面所述情況幾乎相同(1)路徑和信道選擇器44中的RBOS模塊144(參見圖12)不再需要,(2)RBIS模塊142中需要略有修改,以便區(qū)分循環(huán)信道(如果B>1的話)。為了減小B>1時(shí)對(duì)FDL緩沖器的存取的阻塞可能性,要求調(diào)度器為需要被緩沖的每個(gè)數(shù)據(jù)子幀都提供一個(gè)以上的延遲選擇。下面提出了對(duì)調(diào)度器以及路徑和信道選擇器44的設(shè)計(jì)方案的影響情況。在不失一般性的情況下,在下面的討論中,假定調(diào)度器42必須針對(duì)B+1個(gè)可能的延遲來(lái)調(diào)度數(shù)據(jù)子幀和BHP。
在本實(shí)現(xiàn)方式中,圖5中所示的DCS模塊84的設(shè)計(jì)方案仍有效。搜索結(jié)果可以按表1(假定B=2)中所示的格式被保存,表中,指示符(1/0)指示出對(duì)于給定的延遲(比如說(shuō)Qi)是否找到合格的數(shù)據(jù)信道。存儲(chǔ)器類型(0/1)指示出PM或PG。條目指數(shù)給出存儲(chǔ)器中的位置,它用于以后進(jìn)行信息更新。信道標(biāo)識(shí)符列給出所找到的信道的標(biāo)識(shí)符。于是,DCS模塊將指示符列和信道標(biāo)識(shí)符列(僅指示符為1的那些列)傳送給BHP處理器。
表1DCS模塊中保存的搜索結(jié)果(B=2)
圖9中所示的CCS模塊86的設(shè)計(jì)方案也仍有效。搜索結(jié)果可以按表2(假定B=2)中所示的格式被保存,表中,指示符(1/0)指示出對(duì)于給定的DB出發(fā)時(shí)間在控制信道上是否能調(diào)度BHP。條目指數(shù)給出存儲(chǔ)器中的位置,它用于以后進(jìn)行信息更新?!鞍l(fā)送BHP的幀”列給出BHP被調(diào)度以便發(fā)出的時(shí)幀。于是,CCS模塊將指示符列和“發(fā)送BHP的幀”列(僅指示符為1的那些列)傳送給BHP處理器。表2CCS模塊中保存的搜索結(jié)果(B=2)
在比較了DCS和CCS模塊中的指示符列后,圖3中的BHP處理器82知道,對(duì)于給定的FDL延遲Qi(1≤i≤B),是否能調(diào)度數(shù)據(jù)子幀及其BHP,并判斷將哪些配置信息發(fā)送給圖12中路徑和信道選擇器44。三種可能的設(shè)想是(1)未使用FDL緩沖器可調(diào)度數(shù)據(jù)子幀,(2)使用FDL緩沖器可調(diào)度數(shù)據(jù)子幀,和(3)無(wú)法調(diào)度數(shù)據(jù)子幀。
在第三種情況下,只能丟棄數(shù)據(jù)子幀及其BHP。在第一種情況下,將向路徑和信道選擇器發(fā)送下列信息入口DCG標(biāo)識(shí)符,入口數(shù)據(jù)信道標(biāo)識(shí)符,出口DCG標(biāo)識(shí)符,出口數(shù)據(jù)信道標(biāo)識(shí)符,數(shù)據(jù)子幀到空分交換機(jī)的到達(dá)時(shí)間,數(shù)據(jù)子幀時(shí)長(zhǎng),F(xiàn)DL標(biāo)識(shí)符0(即Q0)。路徑和信道選擇器44在接收到這些信息后立刻發(fā)回一個(gè)ACK。在第二種情況下,將向路徑和信道選擇器發(fā)送下列信息■入口DCG標(biāo)識(shí)符,■入口數(shù)據(jù)信道標(biāo)識(shí)符,■候選FDL緩沖器的個(gè)數(shù)x,■for(i=1to x do)●出口DCG標(biāo)識(shí)符,●出口數(shù)據(jù)信道標(biāo)識(shí)符,●FDL標(biāo)識(shí)符i■數(shù)據(jù)子幀到空分交換機(jī)的到達(dá)時(shí)間,■數(shù)據(jù)子幀時(shí)長(zhǎng)在第二種設(shè)想中,通信和信道選擇器44將搜尋空閑緩沖信道以便載送數(shù)據(jù)子幀。RBIS模塊142類似于結(jié)合圖12所述的模塊,只是,在這里,對(duì)于每個(gè)延遲為Qi的信道群,0≤i≤B,它都有一個(gè)PM和PG對(duì)。作為例子,圖16中示出了B=2時(shí)的一個(gè)例子。利用一個(gè)并行搜索,RBIS模塊將知道能否調(diào)度數(shù)據(jù)子幀。當(dāng)x=1時(shí),RBIS模塊142根據(jù)BHP處理器82選擇了哪個(gè)FDL緩沖器執(zhí)行對(duì)(PM190a,PG192a)或(PM290b,PG292b)的并行搜索。如果找到了空閑緩沖信道,那么它將通知處理器140,處理器140又向BHP處理器82發(fā)送一個(gè)ACK。當(dāng)x=2時(shí),將搜索(PM1,PG1)和(PM2和PG2)。如果找到了兩個(gè)不同延遲的空閑信道,那么選擇延遲為Q1的信道。在這種情況下,向BHP處理器82發(fā)送一個(gè)ACK以及選擇Q1的信息。成功搜索后,RBIS模塊142將更新相應(yīng)的PM和PG對(duì)。
圖17-26示出了上面所引用的LAUC-VF方法的變形。在上面所引用的LAUC-VF方法中,兩個(gè)關(guān)聯(lián)處理器PM和PG用來(lái)保存同一外出鏈路的所有信道的狀態(tài)。具體地說(shuō),PM保存r個(gè)字,其中每個(gè)字都對(duì)應(yīng)外出鏈路的r個(gè)數(shù)據(jù)信道中的一個(gè)信道。它用來(lái)記錄這些信道的未調(diào)度時(shí)間。PG包含n個(gè)超字,每個(gè)超字對(duì)應(yīng)某個(gè)數(shù)據(jù)信道中的一個(gè)可用時(shí)間間隔(一個(gè)間隙)。存儲(chǔ)在PM和PG中的這些時(shí)間都是相對(duì)時(shí)間。PM和PG支持關(guān)聯(lián)搜索操作,以及數(shù)據(jù)移動(dòng)操作,以便按排定的次序保存這些時(shí)間。由于進(jìn)行并行處理,PM和PG用作主要部件,以滿足嚴(yán)格的實(shí)時(shí)信道調(diào)度要求。
在圖22-23中所述的實(shí)施方式中,用于同一外出鏈路的一對(duì)關(guān)聯(lián)處理器PM和PG被合成一個(gè)關(guān)聯(lián)處理器PMG。用統(tǒng)一的PMG取代一對(duì)PM和PG的好處是可以簡(jiǎn)化總的核心路由器實(shí)現(xiàn)方式。根據(jù)ASIC實(shí)現(xiàn)方式,PMG的開發(fā)費(fèi)用大大低于一對(duì)PM和PG的開發(fā)費(fèi)用。PMG可用來(lái)實(shí)現(xiàn)LAUC-VF方法的一種更簡(jiǎn)單的運(yùn)行更快的變形。
在圖17a和17b中,示出了兩個(gè)外出信道Ch1和Ch2,其中t0為當(dāng)前時(shí)間。就t0而言,信道Ch1有兩個(gè)所調(diào)度的DB,即DB1和DB2,而Ch2有一個(gè)所調(diào)度的DB3。Ch1上的DB1與DB2之間的時(shí)間稱為間隙,它是未被任何DB占用的最大時(shí)間間隔。標(biāo)為t1和t2的時(shí)間分別是Ch1和Ch2未調(diào)度的時(shí)間。在t1和t2之后,Ch1和Ch2各自可用于發(fā)送任何DB。
LAUC-VF方法設(shè)法根據(jù)某些優(yōu)先順序調(diào)度DB。例如,假定新的數(shù)據(jù)子幀DB4在t’時(shí)間到達(dá)。針對(duì)圖17a中的情況,可以在Ch2的未調(diào)度時(shí)間之后,在Ch1上或在Ch2上的間隙內(nèi)調(diào)度DB4。LAUC-VF方法為DB4選擇了Ch1,并且,根據(jù)一個(gè)原來(lái)的間隙得到兩個(gè)間隙。針對(duì)圖17b中的情況,DB4與Ch1上的DB1沖突,又與Ch2上的DB3沖突。但通過(guò)利用FDL緩沖器,它可以在不與Ch1上的DB和/或Ch2上的DB沖突的情況下被調(diào)度后進(jìn)行傳輸。圖17b示出了這樣一種調(diào)度,即DB4被分配到Ch2上,并得到一個(gè)新的時(shí)隙。
假定,外出鏈路具有r個(gè)數(shù)據(jù)信道,那么,這一鏈路的狀態(tài)其特征在于以下兩個(gè)集合SM={(ti,i)|ti是信道Chi的未調(diào)度時(shí)間}
SG={(lj,rj,cj)|lj<rj而間隔[lj,rj]是信道Chcj上的間隙}在美國(guó)系列號(hào)09/689,584中所提出的LAUC-VF的實(shí)施方式中,提出兩個(gè)關(guān)聯(lián)處理器PM和PG分別用來(lái)表示SM和SG。由于存儲(chǔ)器字長(zhǎng)固定,保存在PM的關(guān)聯(lián)存儲(chǔ)器M和PG的關(guān)聯(lián)存儲(chǔ)器G中的時(shí)間都是相對(duì)時(shí)間。假定,當(dāng)前時(shí)間為t0。于是,小于t0的任何時(shí)間值不能用來(lái)調(diào)度新的DB。設(shè)S′M={(max(ti-t0,0},)|(ti,i)∈SM}S′G={(max{lj-t0,0},max{lj-t0,0},cj)|(lj,rj,cj)∈SG}S’M和S’G中的時(shí)間是相對(duì)于當(dāng)前時(shí)間t0(作為參考點(diǎn)0)的時(shí)間。因此,PM中的M和PG中的G實(shí)際上分別用來(lái)保存S’M和S’G。
美國(guó)系列號(hào)09/689,584中所提出信道調(diào)度器假定DB具有任意長(zhǎng)度。一種可能性是采取一種時(shí)隙傳輸方式。在這種方式中,以時(shí)隙為單位發(fā)送DB,而BHP成組發(fā)送,每組都由一個(gè)時(shí)隙來(lái)載送。時(shí)隙時(shí)鐘CLKs用來(lái)確定時(shí)隙界限。時(shí)隙傳輸由CLKs脈沖來(lái)起動(dòng)。因此,以CLKs周期數(shù)為單位來(lái)表示相對(duì)時(shí)間。CLKs脈沖如圖18中所示。除了時(shí)鐘CLKs之外,還有另一個(gè)更密的時(shí)鐘CLKf。CLKs的周期是CLKf周期的倍數(shù)。在圖18所示的例子中,一個(gè)CLKs周期等于16個(gè)CLKf周期。時(shí)鐘CLKf用來(lái)協(xié)調(diào)CLKs的周期內(nèi)所執(zhí)行的操作。
在圖19a和19b中,提供了對(duì)美國(guó)系列號(hào)09/689,584中所提出的PM和PG的硬件設(shè)計(jì)的改進(jìn),以適應(yīng)時(shí)隙傳輸。在PM中,有一個(gè)r個(gè)字的關(guān)聯(lián)存儲(chǔ)器M。M中的每個(gè)字Mi本質(zhì)上都是一個(gè)寄存器,并且它與減法器200相關(guān)聯(lián)。寄存器MC保存一個(gè)算子。在圖19a的實(shí)施方式中,保存在MC中的值是自從M中最近更新后逝去的時(shí)間。將保存在MC中的值播送給所有的字Mi,1≤i≤r。每個(gè)字Mi都進(jìn)行如下操作如果Mj>MC,則Mj←Mj-MC;否則,Mi←0。這一操作用來(lái)更新M中所保存的相對(duì)時(shí)間。如果MC保存了自從執(zhí)行最近時(shí)間并行減法之后逝去的時(shí)間,那么,再進(jìn)行這一操作,將這些時(shí)間更新為相對(duì)于進(jìn)行這一新的“并行減法”時(shí)間的時(shí)間。另一種操作是并行比較。在這一操作中,將保存在MC中的值播送給所有的字Mi,1≤i≤r。每個(gè)字Mi都進(jìn)行如下操作如果MC>Mi,則MFLAGi=1;否則,MFLAGi=0。優(yōu)先級(jí)編碼器將信號(hào)MFLAGi(1≤i≤r)變換成地址。這一地址和與該地址相應(yīng)的字分別被輸出到M的地址和數(shù)據(jù)寄存器。這一操作用來(lái)尋找發(fā)送給定DB的信道。類似地,兩個(gè)減法器用于PG中的關(guān)聯(lián)存儲(chǔ)器G的字,每個(gè)對(duì)應(yīng)一個(gè)子字。
圖19b中所示的另一設(shè)計(jì)用來(lái)將M中的每個(gè)字Mi實(shí)現(xiàn)成并行裝載的遞減計(jì)數(shù)器。系統(tǒng)時(shí)隙時(shí)鐘CLKs的每個(gè)脈沖都將使該計(jì)數(shù)器減1。當(dāng)計(jì)數(shù)器到達(dá)0時(shí),將停止計(jì)數(shù),而一旦計(jì)數(shù)器被置為新的正值,就將恢復(fù)計(jì)數(shù)。假定,在時(shí)間t0計(jì)數(shù)器的值為t’,而在時(shí)間ti>t0,計(jì)數(shù)器的值為t”那么,t”是t’的相同時(shí)間(但是相對(duì)于ti而言),即t”=max{t’-(t1-t0),0}。注意,相對(duì)于新參考點(diǎn)t1的任何負(fù)時(shí)間(即,t’-(t1-t0)<0)不用于先行信道調(diào)度。與每個(gè)字Mi相關(guān)的是比較器204。該比較器用于并行比較操作。同樣,可利用具有兩個(gè)關(guān)聯(lián)比較器的兩個(gè)遞減計(jì)數(shù)器來(lái)實(shí)現(xiàn)PG中G的字。
本系統(tǒng)具有一個(gè)c-bit的循環(huán)遞增計(jì)數(shù)器Cs。時(shí)隙時(shí)鐘CLKs的每個(gè)脈沖都將使Cs的值加1。設(shè)tlatency(BHPi)是路由器接收到BHPi的時(shí)間與信道調(diào)度器接收到BHPi的時(shí)間之間的時(shí)間,它以S’G周期數(shù)為單位。值c按下式來(lái)選擇2c>[maxtlatency(BHPi)MAXs]]]>其中,MAXs是CLKs周期內(nèi)CLKf的周期數(shù)。當(dāng)路由器接收到BHPi時(shí),用操作timestamprecv(BHPi)←Cs來(lái)為BHPi標(biāo)記時(shí)間。當(dāng)路由器調(diào)度器接收到BHPi時(shí),再用timestampsch(BHPi)←Cs來(lái)為BHPi標(biāo)記時(shí)間。設(shè)Di=(timestamprecv(BHPi)+2c-timestampsch(BHPi))mod 2c于是,DBi到路由器的光交換矩陣的相對(duì)到達(dá)時(shí)間(用時(shí)隙時(shí)鐘CLKs表示)為Ti=Δ+τi+Di,其中τi是BHPi與DBi之間的偏移時(shí)間,而Di是固定輸入FDL時(shí)間。利用作為參考點(diǎn)的執(zhí)行timestampsch(BHPi)←Cs的時(shí)隙時(shí)間,以及保存在PM和PG中的相對(duì)時(shí)間,可以正確地調(diào)度DBi。
在LAUC-VF方法的硬件實(shí)現(xiàn)中,關(guān)聯(lián)處理器PM和PG分別用來(lái)保存和處理S’M和S’G。在任何時(shí)候,S’M={(ti,i)|1≤i≤r}而S’G={(lj,rj,cj)|lj≥0}。S’M中的二元組(ti,i)表示信道Chi上的未調(diào)度時(shí)間,而S’G中的三元組(lj,rj,cj)表示信道Chcj上的時(shí)間間隙(間隔)[lj,rj]。未調(diào)度時(shí)間ti可認(rèn)為是半無(wú)窮大間隙[ti,∞]。因此,通過(guò)將這一半無(wú)窮大間隙包含到S’G中,就不再需要S’M。
具體地說(shuō),設(shè)S”M={(ti,∞,i)|(ti,i)∈S’M},并定義S’MG=S”MU S’G。合成PM和PG的基本思想是通過(guò)修改PG來(lái)構(gòu)成PMG,這樣,可用PMG來(lái)處理S’MG。我們提出了關(guān)聯(lián)處理器PMG的結(jié)構(gòu),用于取代PM和PG。PMG利用關(guān)聯(lián)存儲(chǔ)器MG來(lái)保存S’M中的二元組和S’G中的三元組。同PG中的G一樣,MG中的每個(gè)字都有兩個(gè)子字,當(dāng)一個(gè)字用來(lái)保存(lj,rj,cj)時(shí),其第一個(gè)子字用于lj,而第二個(gè)子字用于rj。當(dāng)MG中的字來(lái)保存S’M中的二元組(tj,i)時(shí),其第一個(gè)子字用于ti,而第二個(gè)子字留著未用。前r個(gè)字預(yù)定給S’M,而剩余的字預(yù)定給S’G。前r個(gè)字按其第一個(gè)子字的非增加的次序保存,而剩余的字也按其第一個(gè)子字的非增加的次序保存。下面定義PMG的新的操作。
下面,將概括PM和PG的結(jié)構(gòu)和操作,并定義PMG的結(jié)構(gòu)和操作。PMG之間的不同包括所用的地址寄存器的個(gè)數(shù)、優(yōu)先級(jí)編碼器和所支持的操作??梢钥吹?,與使用PM和PG的實(shí)現(xiàn)方式相比,PMG可以無(wú)需任何延遲用來(lái)實(shí)現(xiàn)LAUC-VF方法。
核心路由器的外出數(shù)據(jù)信道具有r個(gè)信道(波長(zhǎng)),用于數(shù)據(jù)傳輸。這些信道用Ch1,Ch2,...,Chr來(lái)表示。設(shè)S={ti|1≤i≤r},其中,ti是信道Chi的未調(diào)度時(shí)間。換言之,在ti之后的任何時(shí)間,信道Chi都可用于傳輸。給定一個(gè)時(shí)間T’,PM是一個(gè)關(guān)聯(lián)處理器,用于快速搜索T”=min{ti|ti≥T’},其中T’是給定時(shí)間。假定,T”=tj,那么,信道Chj被認(rèn)為是一個(gè)候選數(shù)據(jù)信道,用于在T’時(shí)間發(fā)送DB。
為了說(shuō)明,在圖20和21中示出了PM和PG的結(jié)構(gòu),而在圖22中示出了PMG。
圖20中示出了PM210的實(shí)施方式。關(guān)聯(lián)處理器PM包括一個(gè)關(guān)聯(lián)存儲(chǔ)器M 212,該存儲(chǔ)器有k個(gè)字M1,M2,...,Mk,每個(gè)字對(duì)應(yīng)數(shù)據(jù)信道群的一個(gè)信道。每個(gè)字都與一個(gè)簡(jiǎn)單的用于減法和比較操作的減法電路相應(yīng)。這些字還被連成一個(gè)線性數(shù)組。比較寄存器MC 214保存用于比較的算子。MCH 216是一個(gè)存儲(chǔ)器,該存儲(chǔ)器有k個(gè)字MCH1,MCH2,...,MCHk,其中MCHj與Mj對(duì)應(yīng)。這些字還被連成一個(gè)線性數(shù)組,并且它們用于保存信道編號(hào)。MAR1218和MAR2220是地址寄存器,用于保存訪問(wèn)M和MCH的地址。MDR 222和MCHR224是數(shù)據(jù)寄存器,用于訪問(wèn)M和MCHR以及MAR。
關(guān)聯(lián)處理器PM支持下列在有效實(shí)現(xiàn)LAUC-VF信道調(diào)度操作中所用的主要操作隨機(jī)讀給出MAR1中的地址x,執(zhí)行MDR1←Mx,MCHR←MCHx。
隨機(jī)寫給出MAR1中的地址x,執(zhí)行Mx←MDR,MCHx←MCHR。
并行搜索將MC中的值與所有字M1,M2,...,Mk的值同時(shí)(并行)進(jìn)行比較。找出最小的j,使得Mj<MC,并執(zhí)行MAR1←j,MDR1←Mj,和MCHR←MCHj。如果所有的字Mj都不滿足Mj<MC,那么,在這一操作之后,MAR1=0。
段下移給出MAR1中的地址a,和MAR2中的b,使得a<b,那么,對(duì)所有的j(a≤j<b),執(zhí)行Mj+1←Mj和MCHj+1←MCHj。
對(duì)于“隨機(jī)讀”、“隨機(jī)寫”和“段下移”操作,每個(gè)二元組(Mj,MCHj)都可以作為一個(gè)超字來(lái)處理。“并行搜索”的輸出包括r個(gè)二進(jìn)制信號(hào)MFLAGi(1≤i≤r)。當(dāng)且僅當(dāng)Mi≤MC時(shí),MFLAGi=1。有一個(gè)優(yōu)先級(jí)編碼器,其輸入為MFLAGi(1≤i≤r),當(dāng)“并行搜索”操作完成時(shí),它將得到地址j并將該值裝入MAR1中?!半S機(jī)讀”、“隨機(jī)寫”、“并行搜索”和“段下移”操作用來(lái)保存M中所存儲(chǔ)的值的非增加次序。
圖21示出了關(guān)聯(lián)處理器PG92的框圖。PG用于保存核心路由器的外出鏈路的所有信道的未用間隙。間隙用一個(gè)整數(shù)二元組(l,r)來(lái)表示,其中l(wèi)和r分別是間隙的起點(diǎn)和終點(diǎn)。關(guān)聯(lián)處理器PG包括關(guān)聯(lián)存儲(chǔ)器G 93、比較寄存器GC 230、存儲(chǔ)器GCH 232、地址寄存器GAR234、數(shù)據(jù)寄存器GDR 236和GCHR 238以及工作寄存器GR1240和GR2242。
G是一個(gè)關(guān)聯(lián)存儲(chǔ)器,它有n個(gè)字(G1,G2,...,Gn),每個(gè)Gi包括兩個(gè)子字Gi,1和Gi,2。這些字被連成一個(gè)線性數(shù)組。GC保存一個(gè)字,它有兩個(gè)子字GC1和GC2。GCH是一個(gè)存儲(chǔ)器,該存儲(chǔ)器有n個(gè)字GCH1,GCH2,...,GCHn,其中GCHj與Gj對(duì)應(yīng)。這些字被連成一個(gè)線性數(shù)組,并且它們用于保存信道編號(hào)。GAR是一個(gè)地址寄存器,用于保存訪問(wèn)G的地址。GDR和GCHR是數(shù)據(jù)寄存器,用于訪問(wèn)M和MCHR以及GAR。
關(guān)聯(lián)處理器PG支持下列在有效實(shí)現(xiàn)LAUC-VF信道調(diào)度操作中所用的主要操作隨機(jī)寫給出GAR中的地址x,執(zhí)行Gx,1←GDR1,Gx,2←GDR2,GCHx←GCHR。
并行雙比較字搜索將GC中的值與所有字G1,G2,...,Gn的值同時(shí)(并行)進(jìn)行比較。找出最小的j,使得Gj,1<GC1和Gj,2>GC2。如果這一操作成功,那么,執(zhí)行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj和GAR←j;否則,GAR←0。
并行單比較字搜索將GC1中的值與所有字G1,G2,...,Gn的值同時(shí)(并行)進(jìn)行比較。找出最小的j,使得Gj,1>GC1并且j在寄存器GAR中。如果這一操作成功,那么,執(zhí)行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj和GAR←j;否則GAR←0。
雙上移給出GAR中的地址a,那么,對(duì)a≤j<n,移位Gj+1的內(nèi)容,Gj←Gj+1,GCHj←GCHj+1,GCHj到GCHj+1,和Gn,1←0,Gn,2←0。
雙下移給出GAR中的地址a,執(zhí)行Gj+1←Gj,GCHj+1←GCHj,a≤j<n。
在PG中,三元組(Gi,1,Gi,2,GCHi)對(duì)應(yīng)于信道GCHi上的一個(gè)間隙,其起始時(shí)間為Gi,1而結(jié)束時(shí)間為Gi,2。對(duì)于“隨機(jī)寫”、“并行雙比較字搜索”、“并行單比較字搜索”、“雙上移”和“雙下移”操作,每個(gè)三元組(Gi,1,Gi,2,GCHi)都可以作為一個(gè)超字來(lái)處理?!安⑿须p比較字搜索”(相應(yīng)地,“并行單比較字搜索”)操作的輸出包括n個(gè)二進(jìn)制信號(hào)GFLAGi(1≤i≤n),這樣,當(dāng)且僅當(dāng)Gi,1≥GC1且Gi,2≤GC2(相應(yīng)地,Gi,1≥GC1)時(shí),GFLAGi=1。有一個(gè)優(yōu)先級(jí)編碼器,其輸入為GFLAGi(1≤i≤n),當(dāng)該操作完成時(shí),它將得到地址j并將該值裝入GAR1中。“隨機(jī)寫”、“并行單比較字搜索”、“雙上移”和“雙下移”操作用來(lái)保存Gi,1中所存儲(chǔ)的值的非增加次序。
美國(guó)系列號(hào)09/689,584中詳細(xì)討論了PM和PG的操作。
圖22示出了處理器PMG的框圖,該處理器組合了上述PM和PG處理器的功能。PMG包括關(guān)聯(lián)存儲(chǔ)器MG 248、比較寄存器MGC 250、存儲(chǔ)器MGCH 252、地址寄存器MGAR1254a和MGAR2254b、數(shù)據(jù)寄存器MGDR 256和MGCHR 258。
MG是一個(gè)關(guān)聯(lián)存儲(chǔ)器,它有m=r+n個(gè)字(MG1,MG2,...,MGm),每個(gè)MGi包括兩個(gè)子字MGi,1和MGi,2。這些字被連成一個(gè)線性數(shù)組。MGC是一個(gè)比較寄存器,它保存一個(gè)字,該字有兩個(gè)子字MGC1和MGC2。MGCH是一個(gè)存儲(chǔ)器,該存儲(chǔ)器有m個(gè)字MGCH1,MGCH2,...,MGCHm,其中MGCHj與MGj對(duì)應(yīng)。這些字被連成一個(gè)線性數(shù)組,并且它們用于保存信道編號(hào)。
關(guān)聯(lián)處理器PMG支持下列主要操作
隨機(jī)讀給出MGAR1中的地址x,執(zhí)行MGDR1←MGi,1,MGDR2←MGi,2,MGCHR←MGCHx。
隨機(jī)寫給出MGAR中的地址x,執(zhí)行MGx,1←MGDR1,MGx,2←MGDR2,MGCHx←MGCHR。
并行混合搜索將MGC1中的值與所有超字MGi(1≤i≤m)的值并行進(jìn)行比較,并將MGC1和MGC2中的值與所有超字MGj(r+1≤j≤m)并行進(jìn)行比較。(i)如果MGC2≠0,則并行執(zhí)行下列操作找出最小的j’,使得,j’≤r且MGj’,1<MGC1。如果這一操作成功,那么,執(zhí)行MGAR1←j’;否則MGAR1←0。找出最小的j”,使得,r+1≤j”≤m,MGj,1<MGC1和MGj,2>MGC2。如果這一操作成功,那么,執(zhí)行MGAR2←j”和MGCHR←MGCHi;否則MGAR2←0。(ii)如果MGC2=0,那么,找出最小的j’,使得,1≤j’≤m且MGj’,1<MGC1,MGj,2>MGC2。如果這一操作成功,那么,執(zhí)行MGAR1←j”和MGCHR←MGCHi;否則MGAR1←0。
雙上移給出MGAR1中的地址a,那么,對(duì)a≤j<m,執(zhí)行MGj←MGj+1,MGCHj←MGCHj+1,MGCH,到MGCHj+1,和MGn,1←0,MGn,2←0。
段下移給出MGAR1中的地址a,和MGAR2中的b,使得a<b,那么,對(duì)所有的j(a≤j<b),執(zhí)行MGj+1←MGj和MGCHj+1←MGCHj。
如PG中那樣,三元組(MGi,1,MGi,2,MGCHi)可對(duì)應(yīng)于信道MGCHi上的一個(gè)間隙,其起始時(shí)間為MGi,1而結(jié)束時(shí)間為MGi,2但在這種情況下,必須是i>r。如果i≤r,那么,MGi,2并不重要,二元組(MGi,1,MGCHi)被解釋為信道MGCHi上的未調(diào)度時(shí)間MGi,1,并且這個(gè)二元組對(duì)應(yīng)于PM中的一個(gè)字。對(duì)于“隨機(jī)讀”、“隨機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作,每個(gè)三元組(MGi,1,MGi,2,...,MGCHi)都可以作為一個(gè)超字來(lái)處理。前r個(gè)超字用來(lái)保存r個(gè)外出信道的未調(diào)度時(shí)間,而后個(gè)m-r個(gè)超字用來(lái)保存關(guān)于所有外出信道上的間隙的信息。
“并行混合搜索”操作的輸出包括一些二進(jìn)制信號(hào)MGFLAGi,其值定義如下(i)如果MGC2=0且MGi,1≥MGC1,則MGFLAGi=1;(ii)如果MGC2≠0,i≤r,MGi,1≥MGC1,則MGFLAGi=1;(iii)如果MGC2≠0,i>r,MGi,1≥MGC1,MGi,2≤MGC2,則MGFLAG1=1,或者,如果MGi,1≥MGC1且i≤r,則MGFLAGi=1;和(iv)否則,MGFLAGi=0。
有兩個(gè)編碼器。第一個(gè)編碼器其輸入為MGFLAGi(1≤i≤r),如果MGC2≠0,那么,當(dāng)“并行混合搜索”操作被執(zhí)行后,它將在MGAR1中產(chǎn)生一個(gè)地址。第二個(gè)編碼器其輸入為MGFLAGi(r+1≤i≤m)。如果MGC2≠0,那么,當(dāng)“并行混合搜索”操作被執(zhí)行后,它將在MGAR2中產(chǎn)生一個(gè)地址。有一個(gè)選擇器,以兩個(gè)編碼器的輸出作為其輸入。如果MGC2=0,那么,當(dāng)“并行混合搜索”操作被執(zhí)行后,將兩個(gè)編碼器產(chǎn)生的最小非零地址(如果有這種地址的話)裝入到MGAR1中;否則,當(dāng)“并行混合搜索”操作被執(zhí)行后,將MGAR1置零;如果MGC2≠0,那么,選擇器的輸出失能。
“隨機(jī)讀”、“隨機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作用來(lái)保存MGi,1中前m個(gè)字的所存儲(chǔ)的值的非增加次序,以及MGi,1中后m-r個(gè)字的所存儲(chǔ)的值的非增加次序。
當(dāng)關(guān)聯(lián)處理器PM和PG用來(lái)實(shí)現(xiàn)LAUC-VF信道調(diào)度方法時(shí),PMG的操作可以在沒(méi)有任何延遲的情況下完成PM和PG操作。假定,PMG包括m=r+n個(gè)超字。在表3(相應(yīng)地,表4)中,右邊一列中所給出的PMG的操作用來(lái)完成左邊一列中所給出的PM(相應(yīng)地,PG)的操作。不用同時(shí)搜索PM和PG,而使用PMG,這一步驟可以由“并行混合搜索”操作來(lái)完成。表3用PMG來(lái)模擬PM
表4用PMG來(lái)模擬PG
在LAUC-VF方法中,最好使給定的DB適合間隙,即使DB可以在另一信道上被調(diào)度(在其未調(diào)度時(shí)間之后),如圖17a-b中的例子所示。對(duì)于單獨(dú)的PM和PG,同時(shí)執(zhí)行PM和PG的搜索操作,這一優(yōu)先級(jí)是合理的。然而,執(zhí)行這種操作的總電路可能太復(fù)雜。
通過(guò)將PM和PG合成一個(gè)關(guān)聯(lián)處理器,這種LAUC-VF方法的既簡(jiǎn)單又快速的變形是可行的。圖23中示出了另一種實(shí)施方式。該圖中,處理器P*MG270包括一個(gè)數(shù)組TYPE 272,它有m比特,每個(gè)比特與存儲(chǔ)器MG中相應(yīng)的字有關(guān)聯(lián)。如果TYPEi=1,那么MGi保存一項(xiàng)S’M,否則,MGi保存一項(xiàng)S’G。再者,寄存器TYPER 274是一個(gè)1比特寄存器,用于訪問(wèn)TYPE以及MGAR1和MGAR2。
P*MG與PMG之間的其他差別包括所用的優(yōu)先級(jí)編碼器和所支持的操作。當(dāng)調(diào)度新的DB時(shí),搜索MG。所找到的合適時(shí)間間隔(不管它是一個(gè)間隙還是一個(gè)半無(wú)窮大間隔)用于新的DB。一旦DB被調(diào)度,又得到另一個(gè)間隙。只要MG中有足夠的空間,就將新的間隙保存在MG中。當(dāng)MG充滿時(shí),可以丟失一項(xiàng)S’G。但是,必須強(qiáng)制保留S’M的所有的項(xiàng)。
設(shè),tsout(DBi)和teout(DBi)分別是在路由器的輸出端發(fā)送DB的第一個(gè)時(shí)隙和最后一個(gè)時(shí)隙的發(fā)送時(shí)間。那么tsout(DBi)=Ti+Lj和teout(DBi)=Ti+Lj+length(DBi),其中,Ti是前面所定義的相對(duì)到達(dá)時(shí)間,Lj是交換矩陣中為DBi所選擇的FDL延時(shí),而length(DB2)是DBi的長(zhǎng)度,它以時(shí)隙數(shù)為單位。假定在DB交換矩陣中有q+1個(gè)FDL,L0,L1,...,Lq,且L0=0<L1<L2<...<Lq-1<Lq。LAUC-VF的新的變形擬定如下方法“信道調(diào)度”開始success←0;對(duì)于j=0至q,循環(huán)執(zhí)行MGG1←Ti+LjMGC2←Ti+Lj+length(DBi);利用P*MG執(zhí)行“并行混合搜索”;如果MGAR1≠0,則如果MGAR1≠0,則開始輸出MGCHR,作為用于發(fā)送DBi的信道編號(hào)輸出Lj,作為所選擇的用于DBi的FDL延時(shí);
利用MGC1和MGC2中的值更新P*MG中的MG,success←1;退出/*退出這一循環(huán)*/結(jié)束結(jié)束循環(huán)如果success=0,那么丟棄DBi/*調(diào)度DBi失敗*/結(jié)束一旦調(diào)度了DB,就更新MG。當(dāng)一個(gè)新的間隙要加入到MG,而TYPEm=1時(shí),忽略這一新的間隙。這樣確保了沒(méi)有屬于S’M的項(xiàng)丟失。
關(guān)聯(lián)處理器P*MG支持下列主要操作隨機(jī)讀給出MGAR1中的地址x,執(zhí)行MGDR1←MGi,1,MGDR2←MGi,2,MCHR← MGCHx,TYPER←TYPEx。
隨機(jī)寫給出MGAR1中的地址x,執(zhí)行MGx,1←MGDR1,MGx,2←MGDR2,MGCHx←MGCHR,TYPEx←TYPER。
并行混合搜索將MGC1中的值與所有超字MGi(1≤i≤m)的值并行進(jìn)行比較,并將MGC2與所有超字MGi(1≤i≤m,其TYPEi=0)并行進(jìn)行比較。找出最小的j’,使得,TYPEj’=1且MGj’,1<MGC1,或者,TYP Ej=0,MGj,1<MGC1和MGj,2>MGC2。如果這一搜索成功,那么,執(zhí)行MGAR1←j’,TYPER←TYPEj’,MGCH←MGCHj’;否則MGAR1←0。
雙上移,段下移與PMG中相同。
操作中,TYPEi的值表示MGi中所保存的信息的類型。如PG中那樣,三元組(MGi,1,MGi,2,MGCHi)可對(duì)應(yīng)于信道MGCHi上的一個(gè)間隙,其起始時(shí)間為MGi,1而結(jié)束時(shí)間為MGi,2。但在這種情況下,必須是TYPEi=0。如果TYPEi=1,那么,MGi,2并不重要,二元組(MGi,1,MGCHi)被解釋為信道MGCHi上的未調(diào)度時(shí)間MGi,1,并且這個(gè)二元組對(duì)應(yīng)于PM中的一個(gè)字。對(duì)于“隨機(jī)讀”、“隨機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作,每個(gè)四元組(MGi,1,MGi,2,TYPEi,MGCHi)都可以作為一個(gè)超字來(lái)處理。
“并行混合搜索”操作的輸出包括一些二進(jìn)制信號(hào)MGFLAGi,其值定義如下如果MGC2≠0,TYPE=0,Gi,1≥GC1且Gi,2≤GC2,則MGFLAGi=1。如果MGC2=0,且Gi,1≥GC1,則MGFLAGi=1。否則,MGFLAGi=0。有一個(gè)優(yōu)先級(jí)編碼器。如果其輸入為MGFLAGi(1≤i≤m),那么,當(dāng)“并行混合搜索”操作被執(zhí)行后,它將在MGAR1中產(chǎn)生一個(gè)地址。
“隨機(jī)讀”、“隨機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作用來(lái)保存MGi,1中所存儲(chǔ)的值的非增加次序。
圖24示出了利用多個(gè)關(guān)聯(lián)處理器來(lái)快速調(diào)度。OBS核心路由器的信道調(diào)度有嚴(yán)格的時(shí)間要求,因此,建議使用多個(gè)關(guān)聯(lián)處理器(圖24中用P*MG處理器270表示,這些處理器都是并行處理器)來(lái)實(shí)現(xiàn)調(diào)度方法。假定在DB交換矩陣中有q+1個(gè)FDL,L0=0,L1,...,Lq,且L0<L1<...<Lq。這些FDL在需要時(shí)使用,以延遲DB,以便提高能成功調(diào)度DB的可能性。在美國(guó)系列號(hào)09/689,584中所提出的LAUC-VF方法的實(shí)現(xiàn)方式中,利用不同的FDL反復(fù)搜索相同的一對(duì)PM和PG,直到得到調(diào)度辦法或者用盡了所有FDL。上述的“信道調(diào)度”方法采用了相同的思想。
為了提高調(diào)度速度,調(diào)度器42可以使用q+1個(gè)PM/PG對(duì),每個(gè)PM/PG對(duì)用于一個(gè)Li。在任何時(shí)間,所有q+1個(gè)M都有相同的內(nèi)容,所有q+1個(gè)MCH都有相同的內(nèi)容,所有q+1個(gè)G都有相同的內(nèi)容,以及所有q+1個(gè)GCH都有相同的內(nèi)容。于是,可以在這些PM/PG對(duì)上同時(shí)執(zhí)行為所有不同的FDL尋找調(diào)度辦法。至多一個(gè)搜索結(jié)果用于一個(gè)DB。同時(shí)用同樣的鎖步操作來(lái)更新所有PM/PG對(duì),以確保它們保存同樣的信息。同樣,可以用q+1個(gè)PMG或P*MG來(lái)提高調(diào)度速度。
在圖24中,多處理器系統(tǒng)300利用q+1個(gè)P*MG270來(lái)實(shí)現(xiàn)上述的“信道調(diào)度”方法。同樣,可以利用多個(gè)PM/PG對(duì)或多個(gè)PMG以類似的方式來(lái)實(shí)現(xiàn)LAUC-VF方法,以得到更好的性能。多個(gè)P*MG270包括q+1個(gè)關(guān)聯(lián)存儲(chǔ)器MG0,MG1,...,MGq。每個(gè)MGj都有m個(gè)字MGj1,MGj2,...,MGjm,每個(gè)MGji都包括兩個(gè)子字MGji,1和MGji,2。有q+1個(gè)比較寄存器MGC0,MGC1,...,MGCq。每個(gè)MGCj都保存一個(gè)字,該字有兩個(gè)子字MGCj1和MGCj2。MGCH有q+1個(gè)關(guān)聯(lián)存儲(chǔ)器MGCH0,MGCH1,...,MGCHq。每個(gè)MGCHj都有m個(gè)字MGCHj1,MGCHj2,...,MGCHjm。MGCHj中的字被連成一個(gè)線性數(shù)組。有q+1個(gè)線性數(shù)組TYPE0,TYPE1,...,TYPEq,其中,TYPEj有m個(gè)比特TYPEj1,TYP Ej2,...,TYPEjm。MGAR1、MGAR是地址寄存器,用于保存訪問(wèn)MG和MGCH的地址。MGDR、TYPER、MGCH是數(shù)據(jù)寄存器,用于訪問(wèn)MG、TYPE和MGCHR。
多處理器系統(tǒng)300支持下列主要操作隨機(jī)讀給出MGAR1中的地址x,執(zhí)行MGDR1←MG0i,1,MGDR2←MG0i,2,MCHR←MGCH0x,TYPER←TYPE0x。
隨機(jī)寫給出MGAR1中的地址x,執(zhí)行MGjx,1←MGDR1,MGjx,2←MGDR2,MGCHjx←MGCHR,TYPEjx←TYPER,0≤j≤q。
并行混合搜索對(duì)于0≤j≤q,將MGCj1中的值與所有超字MGj1(1≤i≤m)的值并行進(jìn)行比較,并將MGCj2與所有超字MGji(1≤i≤m,其TYPEji=0)并行進(jìn)行比較。對(duì)于0≤j≤q,找出最小的kj,使得,TYPEjkj,1=1且MGjkj,1<MGCj1,或者,TYPEjkj=0,MGjkj,1<MGCj1和MGjkj,2>MGCj2。如果這一搜索成功,設(shè)lj=1;否則,設(shè)li=0。找出FD=min{j|lj=1,0≤j≤q|}如果這樣的l存在,那么,執(zhí)行j←FD,MGAR1←kj,TYPER←TYPEjkj,MGCH←MGCHjkj;否則MGAR1←0。
雙上移給出MGAR1中的地址a,那么,對(duì)于0≤j≤q,執(zhí)行MGji←MGji+1,MGCHji←MGCHji+1,MGCHji到MGCHji+1,對(duì)于a≤i<m,和MGjn,1←0,MGjn,2←0。
段下移給出MGAR1中的地址a,和MGAR2中的b,使得a<b,那么,對(duì)于0≤j≤q,執(zhí)行MGji←MGji和MGCHji+1←MGCHji(所有a≤j<b)。
“隨機(jī)讀”操作在P*MG的一個(gè)副本即(MG0,TYPE0和MGCj)中執(zhí)行?!半S機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作在P*MG的所有副本中執(zhí)行。對(duì)于“隨機(jī)讀”、“隨機(jī)寫”、“并行混合搜索”、“雙上移”和“段下移”操作,每個(gè)四元組(MGi,1,MGi,2,TYPEi,MGCHi)都可以作為一個(gè)超字來(lái)處理。當(dāng)“并行混合搜索”操作完成時(shí),所有的P*MG副本的輸出作為選擇器的輸入。選擇一個(gè)P*MG副本的輸出。
“信道調(diào)度”方法可以在多處理器系統(tǒng)中按如下方法來(lái)實(shí)現(xiàn)方法“并行信道調(diào)度”開始success←0;對(duì)于j=0至q,循環(huán)并行執(zhí)行MGCj1←Ti+LjMGC2←Ti+Lj+length(DBi);結(jié)束循環(huán)執(zhí)行“并行混合搜索”;如果MGAR1≠0,則開始輸出MGCHR,作為用于發(fā)送DB2的信道編號(hào);輸出L,作為所選擇的用于DBi的FDL延時(shí)k≤FD;對(duì)于j=0至q,循環(huán)并行執(zhí)行利用MGCDRk1和MGDRk2中的值更新MGj(0≤j≤q)結(jié)束循環(huán)success←1;結(jié)束如果success=0,那么丟棄DBi/*調(diào)度DBi失敗*/結(jié)束可能希望能將r個(gè)數(shù)據(jù)信道劃分成一些群并選擇一個(gè)特殊群來(lái)調(diào)度DB。這種情況可能會(huì)出現(xiàn)在某些場(chǎng)合。例如,我們想試驗(yàn)?zāi)硞€(gè)特殊信道。在這種情況下,本身要試驗(yàn)的信道構(gòu)成一個(gè)信道群,而其余所有信道構(gòu)成另一個(gè)信道群。那么,信道調(diào)度只在1個(gè)信道群上進(jìn)行。另一些情形是,在路由器的運(yùn)行期間,某些信道可能不能發(fā)送DB。那么,同一外出鏈路的信道可劃分為兩個(gè)群,其中一個(gè)群包括所有失效信道,而另一個(gè)群包括所有正常信道,并且只能選用正常的信道來(lái)發(fā)送DB。劃分?jǐn)?shù)據(jù)信道還允許信道預(yù)留,它可應(yīng)用于服務(wù)質(zhì)量。利用預(yù)留的信道群,可以構(gòu)成虛擬電路和虛擬網(wǎng)絡(luò)。
為了在信道調(diào)度關(guān)聯(lián)處理器中引用群劃分特性,基本思想是使群標(biāo)識(shí)符(或簡(jiǎn)稱“gid”)與各信道相關(guān)聯(lián)。對(duì)于鏈接,具有相同gid的所有信道都屬于同一群。信道的gid是可編程的;也就是說(shuō),可以根據(jù)需要?jiǎng)討B(tài)地改變信道的gid。用于DB的gid可以從其BHP和/或某些其他本地信息中得到。
將PM和PG的設(shè)計(jì)方案擴(kuò)展為PM-ext和PG-ext,可以應(yīng)用于多個(gè)信道群,分別如圖25和26中所示。如圖25中所示,關(guān)聯(lián)處理器PM-ext290包括M、MC、MCH、MAR1、MAR2、MDR、MCHR,如參照?qǐng)D20所述。MCIDC 292是一個(gè)比較寄存器,它保存用于比較的gid。MGID294是一個(gè)存儲(chǔ)器,該存儲(chǔ)器有r個(gè)字MGID1,MGID2,...,MGIDr,其中MGIDj與Mj和MCHj對(duì)應(yīng)。這些字被連成一個(gè)線性數(shù)組,并且它們用于保存信道群編號(hào)。MGIDDR 296是一個(gè)數(shù)據(jù)寄存器。
PM-ext類似于PM,只是增加了幾個(gè)部件,并且對(duì)操作進(jìn)行了修改。線性數(shù)組MGID有r個(gè)單元MGID1,MGID2,...,MGIDr;每個(gè)字都用來(lái)保存一個(gè)整數(shù)gid。MGIDi與Mi和MCHi對(duì)應(yīng),即三元組(Mi,MCHi,MGIDi)可以作為一個(gè)超字來(lái)處理。此外,增加比較寄存器MGIDC和數(shù)據(jù)寄存器MGIDDR。
關(guān)聯(lián)處理器PM-ext支持下列在有效實(shí)現(xiàn)LAUC-VF信道調(diào)度操作中所用的主要操作
隨機(jī)讀給出MAR1中的地址x,執(zhí)行MDR←Mx,MCHx←MCHR和GIDR←MGIDx。
隨機(jī)寫給出MAR1中的地址x,執(zhí)行Mx←MDR,MCHx←MCHR和MGIDi←MGIDDR。
并行搜索1同時(shí)將MGIDC與MGID1,MGID2,...,MGIDr的值進(jìn)行比較。找出j,使得MGID=MGIDC,并執(zhí)行MAR1←j,MDR1←Mj,MCHR←MCHj,和MGIDDR←MGID+j。
并行搜索2同時(shí)將(MC,MGIDC)與(M1,MGID1),(M2,MGID2),...,(Mr,MGIDr)進(jìn)行比較。找出最小的j,使得,Mj<MC且MGIDj=GIDC,并執(zhí)行MAR1←j,MDR1←Mj,MCHR←MCHj,和MGIDDR←MGIDi。如果所有的字(Mj,MGIDj)都不滿足Mj<MC和MGIDj=GDIC,那么,在這一操作之后,MAR1=0。
段下移給出MAR1中的地址a,和MAR2中的b,使得a<b,那么,對(duì)所有的j(a≤j<b),執(zhí)行Mj+1←Mj,MCHj+1←MCHj和MGIDj+1←MGIDj。
對(duì)于“隨機(jī)讀”、“隨機(jī)寫”和“段下移”操作,每個(gè)三元組(Mj,MCHj,MGIDj)都可以作為一個(gè)超字來(lái)處理。“并行搜索1”的輸出包括r個(gè)二進(jìn)制信號(hào)MFLAGi(1≤i≤r)。當(dāng)且僅當(dāng)MGIDi=MGIDC時(shí),MFLAGi=1。有一個(gè)優(yōu)先級(jí)編碼器,其輸入為MFLAGi(1≤i≤r),當(dāng)“并行搜索1”操作完成時(shí),它將得到地址j并將該值裝入MAR1中?!安⑿兴阉?”的輸出包括r個(gè)二進(jìn)制信號(hào)MFLAGi(1≤i≤r)。當(dāng)且僅當(dāng)Mi≤MC和MGIDi=MGIDC時(shí),MFLAGi=1。當(dāng)“并行搜索”操作完成時(shí),與“并行搜索1”中所用相同的一個(gè)優(yōu)先級(jí)編碼器將MFLAGi(1≤i≤r)變換到地址j,并將該值裝入MAR1中?!半S機(jī)讀”、“隨機(jī)寫”、“并行搜索2”和“段下移”操作用來(lái)保存M中所存儲(chǔ)的值的非增加次序。
圖26示出了PG-ext的框圖。PG-ext300包括G、GC、GCH、GAR、GDR、GCHR,如參照?qǐng)D21所述。GGIDC 302是一個(gè)比較寄存器,它保存用于比較的gid。GGID 304是一個(gè)存儲(chǔ)器,該存儲(chǔ)器有r個(gè)字GGID1,GGID2,...,GGIDr,其中GGIDj與Gj和GCHj對(duì)應(yīng)。這些字被連成一個(gè)線性數(shù)組,并且它們用于保存信道群編號(hào)。GGIDR 306是一個(gè)數(shù)據(jù)寄存器。
與PM-ext的結(jié)構(gòu)類似,只是在PG中增加了一個(gè)線性數(shù)組GGID,該線性數(shù)組有n個(gè)字GGID1,GGID2,...,GGIDn。四元組(Gi,1,Gi,2,MCHi,GGIDi)可以作為一個(gè)超字來(lái)處理。
關(guān)聯(lián)處理器PG-ext支持下列在有效實(shí)現(xiàn)LAUC-VF信道調(diào)度操作中所用的主要操作隨機(jī)寫給出GAR中的地址x,執(zhí)行Gx,1←GDR1,Gx,2←GDR2,GCHx←GCHR,GGIDx←GGIDR,。
并行雙比較字搜索將(GC,GGIDC)中的值與(G1,GGID1),(G2,GGID2),...,(Gn,GGIDn)同時(shí)(并行)進(jìn)行比較。找出最小的j,使得Gj,1<GC1,Gj,2>GC2和GGIDi=GGIDC。如果這一操作成功,那么,執(zhí)行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj,GGIDR←GGIDj和GAR←j;否則,GAR←0。
并行單比較字搜索將(GC1,GGIDC)與(G1,1,GGID1),(G2,1,GGID2),...,(Gn,1,GGIDn)同時(shí)(并行)進(jìn)行比較。找出最小的j,使得Gj,1>GC1和GGIDi=GGIDC。如果這一操作成功,那么,執(zhí)行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj,GGIDR←GGID和GAR←j;否則GAR←0。
雙上移給出GAR中的地址a,那么,對(duì)a≤j≤n,移位Gj+1的內(nèi)容,Gj←Gj+1,GCHj←GCHj+1,GCHj到GCHj+1,GGID到GGIDj+1,和Gn,1←0,Gn,2←0。
雙下移給出GAR中的地址a,執(zhí)行Gj+1←Gj,GCHj+1←CCHj,GGIDj=1←GCIDj,a≤j<n。
四元組(Gi,1,Gi,2,GCHi,GGIDi)對(duì)應(yīng)于信道CCHi(其gid在GGIDi中)上的一個(gè)間隙,其起始時(shí)間為Gi,1而結(jié)束時(shí)間為Gi,2。對(duì)于“隨機(jī)寫”、“并行雙比較字搜索”、“并行單比較字搜索”、“雙上移”和“雙下移”操作,每個(gè)四元組(Gi,1,Gi,2,GCHi,GGIDi)都可以作為一個(gè)超字來(lái)處理?!安⑿须p比較字搜索”(相應(yīng)地,“并行單比較字搜索”)操作的輸出包括n個(gè)二進(jìn)制信號(hào)GFLAGi(1≤i≤n),這樣,當(dāng)且僅當(dāng)Gi,1≥GC1且Gi,2≤GC2(相應(yīng)地,Gi,1≥GC1),GGIDi=GGIDC時(shí),GFLAGi=1。有一個(gè)優(yōu)先級(jí)編碼器,其輸入為GFLAGi(1≤i≤n),當(dāng)該操作完成時(shí),它將得到地址j并將該值裝入GAR中。“隨機(jī)寫”、“并行單比較字搜索”、“雙上移”和“雙下移”操作用來(lái)保存Gi,1中所存儲(chǔ)的值的非增加次序。
將信道Chj的gid從g1改變?yōu)間2按下列步驟進(jìn)行找出三元組(Mi,MCHi,MGIDi),使得,MCHi=j(luò),并將i存入到MAR1和(MDR,MCHR,MGIDDR)中;MGIDDR←g2,并將利用MAR1中的地址i寫回(MDR,MCHR,MGIDDR)。
給定一個(gè)DB’、tsout(DB’)、teout(DB’)和一個(gè)gidg,那么DB’的調(diào)度包括PM-ext和PG-ext中的搜索。PM-ext中的搜索這樣實(shí)現(xiàn)找出一個(gè)最小的i,使得,Mi<tsout(DB’)和MGIDi=g。PG-ext中的搜索這樣實(shí)現(xiàn)找出一個(gè)最小的i,使得,Gi,1<tsout(DB’),Gi,2>tsout(DB’),和MGIDi=g。
同樣,通過(guò)增加一個(gè)gid比較寄存器MGGIDC、一個(gè)存儲(chǔ)器MGGID(有m個(gè)字MGGID1,MGGID2,...,MGGIDm)和一個(gè)數(shù)據(jù)寄存器MGGIDDR可以構(gòu)成關(guān)聯(lián)處理器PG-ext和PG*-ext。PMG-ext是PM-ext和PG-ext的合成。從PM-ext和PG-ext的操作可以容易地得出PMG-ext的操作,因?yàn)镻M-ext條目和PG-ext條目是獨(dú)立的。在P*MG-ext中,混合了PM-ext條目和PG-ext條目。由于這些條目的MGi,1值是非增加次序的,因此,通過(guò)找到最小的j,使得MGGIDj=i可以找到與信道Chi相應(yīng)的PM-ext條目。
盡管以上針對(duì)幾例實(shí)施方式詳述了本發(fā)明,然而,對(duì)熟練技術(shù)人員而言,可以提出這些實(shí)施方式的各種修改方式以及其他實(shí)施方式。本發(fā)明包括了屬于權(quán)利要求書范圍的任何修改方式或其他實(shí)施方式。
權(quán)利要求
1.一種用于調(diào)度光成組交換路由器中的數(shù)據(jù)子幀的電路,包括一個(gè)光交換機(jī),用于將來(lái)自入口光傳輸媒體的光信息路由發(fā)送到多個(gè)出口光傳輸媒體之一;一個(gè)與所述光交換機(jī)連接的延遲緩沖器,用于提供n個(gè)不同的延遲,以便延遲所述入口傳輸媒體與所述出口光傳輸媒體之間的信息;與各個(gè)的出口媒體有關(guān)聯(lián)的調(diào)度電路,它包括n+1個(gè)關(guān)聯(lián)處理器,每個(gè)關(guān)聯(lián)處理器包括電路用于為關(guān)聯(lián)出口光傳輸媒體存儲(chǔ)關(guān)于n個(gè)延遲中相應(yīng)的一個(gè)和零延遲的調(diào)度信息;關(guān)于各個(gè)延遲識(shí)別可用的時(shí)間段,其間一個(gè)數(shù)據(jù)子幀可被調(diào)度。
2.權(quán)利要求1的電路,其中,所述入口光傳輸媒體和出口光傳輸媒體包括光纖。
3.權(quán)利要求1的電路,其中,所述關(guān)聯(lián)存儲(chǔ)器識(shí)別未調(diào)度時(shí)間段。
4.權(quán)利要求1的電路,其中,關(guān)聯(lián)處理器識(shí)別調(diào)度的數(shù)據(jù)子幀之間的間隙。
5.權(quán)利要求4的電路,還包括第二組n+1個(gè)關(guān)聯(lián)處理器,其中第二組關(guān)聯(lián)處理器識(shí)別未調(diào)度時(shí)間段。
6.權(quán)利要求1的電路,其中所述延遲緩沖器包括獨(dú)立的延遲線,其中每個(gè)延遲線連接所述光交換機(jī)的一個(gè)預(yù)定輸入和一個(gè)預(yù)定輸出。
7.權(quán)利要求1的電路,其中所述延遲緩沖器包括一個(gè)延遲線矩陣,其中每個(gè)期望的延遲線可被連接在所述光交換機(jī)的一個(gè)選定輸入和一個(gè)選定輸出之間。
8.一種調(diào)度光成組交換路由器中的數(shù)據(jù)子幀的方法,該路由器通過(guò)一個(gè)光交換機(jī)從一個(gè)入口光傳輸媒體向多個(gè)光傳輸媒體之一或者直接通過(guò)該光交換機(jī)或者經(jīng)由一個(gè)延遲緩沖器的n個(gè)不同延遲之一路由發(fā)送光信息,該方法包括如下步驟在n+1個(gè)關(guān)聯(lián)存儲(chǔ)器中,對(duì)于每一相關(guān)的出口光傳輸媒體,存儲(chǔ)關(guān)于n個(gè)延遲中相應(yīng)一個(gè)和一個(gè)零延遲的調(diào)度信息;和當(dāng)前識(shí)別在其中可調(diào)度數(shù)據(jù)子幀的每個(gè)所述關(guān)聯(lián)處理器中可用的時(shí)間段,以便能夠同時(shí)確定與多個(gè)延遲相關(guān)的可用時(shí)間段。
9.權(quán)利要求8的方法,其中,所述入口光傳輸媒體和出口光傳輸媒體包括光纖。
10.權(quán)利要求8的方法,其中,所述當(dāng)前識(shí)別步驟包括當(dāng)前識(shí)別在每個(gè)關(guān)聯(lián)處理器中的未調(diào)度時(shí)間段的步驟。
11.權(quán)利要求8的方法,其中,所述當(dāng)前識(shí)別步驟包括當(dāng)前識(shí)別在每個(gè)所述關(guān)聯(lián)處理器中的數(shù)據(jù)子幀之間的間隙的步驟。
12.權(quán)利要求11的方法,其中,所述當(dāng)前識(shí)別步驟包括當(dāng)前識(shí)別在每個(gè)所述關(guān)聯(lián)處理器中的未調(diào)度時(shí)間段的步驟。
13.權(quán)利要求8的方法,其中,所述延遲緩沖器包括單獨(dú)的延遲線,每個(gè)延遲線連接所述光交換機(jī)的一個(gè)預(yù)定輸入和一個(gè)預(yù)定輸出。
14.權(quán)利要求8的方法,其中,所述延遲緩沖器包括一個(gè)延遲線矩陣,其中每個(gè)期望的延遲線可被連接在所述光交換機(jī)的一個(gè)選定輸入和一個(gè)選定輸出之間。
全文摘要
本發(fā)明涉及光路由器中的數(shù)據(jù)信道調(diào)度器的統(tǒng)一關(guān)聯(lián)存儲(chǔ)器。光交換網(wǎng)絡(luò)(4)包括光路由器(10),它以光纖(12)發(fā)送信息。每根光纖都載送多個(gè)數(shù)據(jù)信道(20)和一個(gè)控制信道(16),其中多個(gè)數(shù)據(jù)信道可集中成數(shù)據(jù)信道群(14)。數(shù)據(jù)在數(shù)據(jù)信道上以數(shù)據(jù)子幀方式被載送,而控制信息在控制信道(18)上以脈沖串標(biāo)題分組形式被載送。脈沖串標(biāo)題分組包括關(guān)聯(lián)數(shù)據(jù)子幀(28)的路由信息,并且先于其關(guān)聯(lián)數(shù)據(jù)子幀。多延遲并行調(diào)度可以實(shí)現(xiàn)快速調(diào)度。在一種實(shí)施方式中,為了更有效地操作,可以在統(tǒng)一存儲(chǔ)器中處理未調(diào)度時(shí)間和間隙。
文檔編號(hào)H04L12/46GK1360414SQ0113387
公開日2002年7月24日 申請(qǐng)日期2001年12月21日 優(yōu)先權(quán)日2000年12月22日
發(fā)明者熊一俊, 鄭斯清 申請(qǐng)人:阿爾卡塔爾公司