專利名稱:在atm交換系統(tǒng)中生成并傳輸串列分組的方法
技術領域:
本發(fā)明主要涉及通信學和/或電子學。
遺憾的是,許多用于通信的設備只有有限的信息傳輸容量。例如,銅線(或光纜)僅能傳輸給定數(shù)量的電話通話。然而,如果通信系統(tǒng)中的設備能更有效地運行,則對于給定的銅線(或光纜)就能夠傳輸更多的電話通話。因此,對通信系統(tǒng)中設備的長遠要求是使其更有效地運行來增加通信系統(tǒng)的通信容量。
一些通信系統(tǒng)包括交換機。交換機可用于從一個位置向另一個位置路由數(shù)據(jù)。在交換機中,需要把將要到達同一位置的數(shù)據(jù)進行打包,這樣交換機就能有效運行。此外,有時信息需要被分割成小的部分,這樣通信系統(tǒng)就可以適當?shù)靥幚韨鬏數(shù)男畔?。因此,當信息被分割為小的部分時,這樣的信息(即信元)是相互關聯(lián)的。因為關聯(lián)的信息有相同的目的地,所以可以一起進行交換。通過同時交換關聯(lián)信息,交換機可以有效地運行。然而,有時不存在足夠多的關聯(lián)信息來利用交換機的全部交換容量。因此,在本發(fā)明的實施例中,獨立于關聯(lián)信息的信息與關聯(lián)信息一起被傳輸。在一些情況下,獨立信息和關聯(lián)信息有相同的目的地。此外,由于交換機的交換容量可以提高,所以這些本發(fā)明的其它優(yōu)點、目的和特征有一部分將在以下的說明書中進行闡述,有一部分則對于本領域的技術人員經(jīng)過對以下內容的檢驗后會變得明了,或者通過本發(fā)明的實踐而體驗到。所附的權利要求書具體指出了本發(fā)明的目的和優(yōu)點。
具體實施例方式
龐大的用戶應用程序已經(jīng)被開發(fā)出來以適應互聯(lián)網(wǎng)的發(fā)展。交換機的交換容量已有所增加以支持這些用戶應用程序。因為交換機端口已經(jīng)提高了帶寬并且單位交換機可以有很大的交換容量,所以硬件瓶頸效應(如存儲器訪問時間和/或交換處理時間)制約著交換機的有效性和/或效率。
在實施例中,順序-并列串列分組(train packet)(SPTP)方法使得交換機更高效。SPTP方法可以對多個信元進行組合和交換,以降低交換機的交換處理頻率。ATM交換系統(tǒng)可以采用SPTP方法來同時使用順序串列分組技術(用于對多個信元進行組合和交換以降低交換處理頻率)和位片(bit-slicing)技術(用于提高交換數(shù)據(jù)率)。
圖1顯示的是采用SPTP方法的ATM交換系統(tǒng)的示意性結構圖。順序-并列分組(SPP)映射器110和串列格式器120分別置于N交換平面140之前。映射器110和格式器120可用于組合多個具有相同交換平面路由標記的輸入信元,以生成單個串列分組。通過SPP映射器110和串列格式器120生成的串列分組可以經(jīng)切分單元130分為N個子串列分組。N個子串列分組可以輸入到交換平面140中。在實施例中,當假定一個串列分組由M個信元組成,每個子串列分組可以包含M/N個信元。N個交換平面140按同步操作的位片方法運行。具有相同路由標記的N個子串列分組可以相同的相位輸出到相同的交換平面目的端口。被輸出到相同交換平面目的端口的N個子串列分組可以輸入到位于交換平面140之后的合并單元150中。合并單元150可以組合來自N個交換平面140的子串列分組,以構成初始串列分組。串列解格式器160將串列分組分割為初始信元,并可以將這些信元輸出到目的地端口。
在實施例中,當對單播(unicast)業(yè)務或廣播業(yè)務進行交換時,可以通過對出口解格式器和交換平面目的地端口進行分類來管理單播業(yè)務隊列和廣播業(yè)務隊列。如果根據(jù)調度選擇了單播業(yè)務隊列或廣播業(yè)務隊列,則從相應的隊列中讀取M個信元以生成串列分組并且對其進行交換。當對多播業(yè)務進行交換時,可以根據(jù)交換平面140目的地端口的屬性來管理多播隊列。當多播信元的目的地端口具有單個交換平面目的地端口時,就不需要在交換平面140中復制多播信元。在實施例中,多播信元可以被歸為組合多播業(yè)務,并且被排列在按各個交換平面目的地端口管理的隊列中。當多播信元的目的地端口包含多個交換平面目的地端口時,需要在交換平面140中復制多播信元。多播信元可以被歸為普通多播業(yè)務,并存儲在一個隊列中。
當被歸為組合組合多播通信多播業(yè)務的多播單元信元被排列在按各個交換平面終點目的地端口管理的隊列中時,就可從該隊列中讀取出具有相同交換平面目的地端口的M個多播信元來生成串列分組,隨后對該串列分組進行交換。交換平面140可以按與單播業(yè)務或廣播業(yè)務類似的方式來執(zhí)行交換功能。合并單元150和串列解格式器160可以復制多播信元并將其輸出到目的地端口。
當被歸為普通多播業(yè)務的多播信元被存儲在一個隊列中時,各交換平面140就復制子串列分組。合并單元150和串列解格式器160復制多播信元并將其輸出到目的地端口。在組合多播業(yè)務和/或普通多播業(yè)務的情況下,當排列在隊列中的信元數(shù)目小于M時,可以通過填補空信元(dummy cell)來生成包含有M個信元的串列分組。所填補的信元可以在合并單元150和串列解格式器160中刪除。當排列在隊列中的信元數(shù)目小于M時,可以通過填補與不足的信元數(shù)目一致的空閑信元來生成包含有M個信元的串列分組。因此,當多播業(yè)務很小時,交換處理率將顯著降低。
圖2顯示的是采用了包含5級的SPTP方法的ATM交換系統(tǒng)的示意性結構圖。入口插入器210(0級交換機)可以作為SPP格式器和/或串列格式器。1級交換機(XeC(1)_*)220可以作為切分單元。交換平面(XeC(2)_*)230(2級交換機)可以作為采用位片方法運行的交換平面。3級交換機(XeC(3)_*)240可以作為合并單元。出口插入器250(4級交換機)可以作為串列解格式器。符號*表示通配符。
入口插入器210(0級交換機,網(wǎng)絡處理器NpS有最多4個線路卡與其連接)將多個具有相同交換平面路由標記的輸入信元組合起來,并/或生成一個串列分組。通過1級交換機(XeC(1)_*)220,串列分組被分割為N個子串列分組。子串列分組(可以是由1級交換機220分割的)可以輸入到交換平面(XeC(2)_*)230中。交換平面230(從1級交換機中接收子串列分組)以相同的相位向同一交換平面目的地端口輸出N個具有相同路由標記的子串列分組。從交換平面230輸出的子串列分組在3級交換機(XeC(3)_*)240中合并,并生成初始串列分組。出口插入器250將串列分組分割為初始信元。出口插入器250可以將這些信元輸出到相應的目的地端口。
為了管理隊列,可以根據(jù)目的地端口數(shù)目及其特性,將輸入到采用了5級SPTP方法的ATM交換系統(tǒng)的信元劃分為單播業(yè)務、組合多播業(yè)務、普通多播業(yè)務和廣播業(yè)務。存儲在隊列中的信元可以格式化為兩級串列分組(如,L0串列分組和L1串列分組),并且可以對串列分組進行交換。
根據(jù)信元的目的地端口特性,入口插入器210可以將信元存儲在單播隊列(如,64個隊列;64個出口插入器),組合多播隊列(如,8個隊列;8個交換平面目的地端口),普通多播隊列(如,1個隊列)和廣播隊列(如,1個隊列)中。根據(jù)L0串列分組生成算法,入口插入器210可以利用存儲在隊列中的信元來生成L0串列分組。一個L0串列分組可以包含兩個信元。
圖3顯示的是用于按單播業(yè)務來生成L0和L1串列分組的方法的示意性流程圖。圖4顯示的是按組合多播業(yè)務來生成L0和L1串列分組的方法的示意性流程圖。圖5顯示的是按普通多播業(yè)務來生成L0和L1串列分組的方法的示意性流程圖。
如示意圖3所示,是否生成了所有的K個L0串列分組(K表示交換平面數(shù)目,例如,包含在L1串列分組中的L0串列分組的數(shù)目),可以按循環(huán)方法,從按交換平面目的地端口分類的單播組中選擇一個單播組來得以確認(S101-S105)。當由所選擇的單播組生成了K個L0串列分組時,可以結束L0和L1串列分組的生成過程。通過利用K個L0串列分組可以生成一個L1串列分組。作為S105的確認結果,如果K個L0串列分組沒有全部生成,就可以確認在所選的單播組中是否存在待處理的單播隊列(S106)。如果存在待處理的單播隊列,則可以確認生成的L0串列分組的數(shù)目是否達到了K,并且當L0串列分組的數(shù)目沒有達到K時,檢查單播隊列的狀態(tài)(S107-S109)。如果隊列非空,且存儲的信元數(shù)目大于2,就可以利用兩個信元生成一個L0串列分組(S111)。當存儲的信元數(shù)目不大于2(即,僅存儲了一個信元),就可以通過從隊列中讀取一個分組和/或利用一個空信元來生成一個L0串列分組(S112)。在所選隊列為空的情況下,可以利用兩個空信元來生成一個L0串列分組(S114)??梢源_認L0串列分組的數(shù)目是否達到K。重復這一過程直到生成K個L0串列分組。
K個L0串列分組(K表示交換平面數(shù)目,例如,包含在L1串列分組中的L0串列分組的數(shù)目)是否全部生成,可以按循環(huán)方法,選擇一個組合多播隊列來確認(S121-S125)。如果由所選的組合多播隊列生成了K個L0串列分組,則結束L0和L1串列分組的生成過程。當沒有全部生成K個L0串列分組時,檢查組合多播隊列的狀態(tài)(S126)。當所選隊列非空時,如果存在于該隊列前端(HOL)的信元的報頭的B比特信息(例如,用以表示隊列的后續(xù)信元屬于同一虛連接的比特)為“0”,則表示由與HOL信元相同的虛連接生成了后續(xù)信元。因此,從隊列中讀取兩個信元來生成一個L0串列分組(S127和S128)。如果B比特為“1”,則表示由不同于HOL信元的虛連接生成了隊列的后續(xù)信元,并且從該隊列中只能讀取HOL信元。從而,可以利用一個HOL信元和一個空信元來生成一個包含有兩個信元的L0串列分組。當組合多播隊列為空時,可以利用兩個空信元來生成一個L0串列分組(S130)。重復這一過程直到生成K個L0串列分組(S131)。
如圖5所示,可以通過查找單個普通多播隊列來確認是否K個L0字節(jié)分組(K表示交換平面數(shù)目,例如,包含在L1串列分組中的L0串列分組的數(shù)目)已經(jīng)全部生成(S141-S144)。當由普通多播隊列生成了K個L0串列分組時,生成L0和L1串列分組的過程就可以結束。當K個L0串列分組沒有全部生成時,檢查普通多播隊列的狀態(tài)(S145)。當所選隊列非空時,如果存在于隊列前端(HOL)的信元的報頭的B比特信息為“0”,則表示由同于HOL信元的虛連接生成了后續(xù)信元(S146)。因此,從隊列中讀取兩個信元來生成一個L0串列分組(S147)。如果B比特為“1”,則表示由不同于HOL信元的虛連接生成了隊列的后續(xù)信元,并且從該隊列中只能讀取HOL信元(S148)。從而,可以利用一個HOL信元和一個空信元來生成一個包含有兩個信元的L0串列分組。當普通多播隊列為空時,可以利用兩個空信元來生成一個L0串列分組(S149)。重復這一過程直到生成K個L0串列分組。
為了生成普通多播業(yè)務的L1串列分組,當確定了2級交換機(交換平面)的2級路由標記(S2RT)時,可以對K個L0串列分組的S2RT進行邏輯“或”來生成新的S2RT。所生成的S2RT被更新和/或存儲在K個L0串列分組的報頭的S2RT字段中,來調整交換平面的L1串列分組同步。從入口插入器210接收L1串列分組的1級交換機(XeC(1)_*)220將L1串列分組切割為K個子串列分組(K表示交換平面的數(shù)目,例如,包含在L1串列分組中的L0串列分組的數(shù)目)。1級交換機(XeC(1)_*)220向交換平面(XeC(2)_*)230并行傳輸K個子串列分組。交換平面(XeC(2)_*)230可以相同的相位向3級交換機(XeC(3)_*)240傳輸子串列分組。3級交換機(XeC(3)_*)240利用K個子串列分組來生成一個初始L1串列分組。3級交換機(XeC(3)_*)240把L0串列分組交換到L0串列分組的出口插入器250。出口插入器250向連接于L0串列分組的信元目的地端口的線路卡傳輸信元。
圖6顯示的是利用包含5級SPTP方法的ATM交換系統(tǒng)進行組合多播業(yè)務交換的實例。在該實例中,在K個L0串列分組(圖6中使用的是8個交換平面,則K=8)中包含有效用戶信元(非空信元)的L0串列分組可以由組合多播業(yè)務中生成。L0串列分組報頭的B比特可以全部置“1”。因此,包含用戶信元的四個L0串列分組具有一個有效信元。包含在L1串列分組中的四個信元可以組成偽L0串列分組。因此,在最多交換16個信元(8個L0串列分組×2個信元(或L0串列分組))的ATM交換系統(tǒng)中,僅僅可以交換4個信元。L0串列分組從3級交換機(XeC(3)_*)240復制到出口插入器250。在組合多播業(yè)務的L0和L1串列分組中,在交換平面中使用的S2RT是相同的。然而,在3級交換機中使用的3級路由標記(S3RT)是不同的。
圖7顯示的是進行普通多播業(yè)務交換的實例。在該實例中,在K個L0串列分組(圖7中使用的是8個交換平面,則K=8)中包含有效用戶信元的4個L0串列分組(非空信元)可以從普通多播業(yè)務中生成。L0串列分組報頭的B比特可以全部置“1”。因此,包含用戶信元的四個L0串列分組擁有一個有效信元。其余四個包含L1串列分組的信元可以包含偽L0串列分組。在最大交換16個信元(8個L0串列分組×2個信元(或L0串列分組))的ATM交換系統(tǒng)中,可以交換4個信元。L0串列分組從3級交換機(XeC(3)_*)240復制到出口插入器250。在普通多播業(yè)務的L0和L1串列分組中,在交換平面中使用的S2RT是相同的(通過對K個L0串列分組的S2RT進行“或”操作新生成的S2RT)。然而,在3級交換機中使用的3級路由標記S3RT是不同的。
由于采用了5級SPTP方法的ATM交換系統(tǒng)中交換的有效性,可以利用兩個信元生成L0串列分組。在多播業(yè)務(組合多播業(yè)務或普通多播業(yè)務)中,當信元不屬于相同的連接ID時,從隊列中讀取出一個信元并利用一個空信元生成一個L0串列分組。當不能生成K個L0串列分組(K表示交換平面數(shù)目)時,通過填補偽L0串列分組來生成L1串列分組。
連續(xù)向交換機輸入具有相同連接ID的多播信元的可能性很小。可能不會在每個L1串列分組生成周期中在所有多播隊列中存儲足夠的多播信元(K)。不可避免的要使用空信元或偽L0串列分組??招旁S糜谠诓捎昧?級SPTP方法的ATM交換系統(tǒng)中生成L0串列分組或L1串列分組,從而降低交換處理率。
本發(fā)明的實施例涉及采用了生成串列分組方法的ATM交換系統(tǒng),該系統(tǒng)類似于圖2所示的包含5級SPTP方法的ATM交換系統(tǒng)的示意結構。一個L0串列分組最多由兩個有效信元組成。這兩個信元具有相同的路由標記S2RT和S3RT。一個L0串列分組可以由兩個空信元,一個空信元與一個用戶信元,或兩個用戶信元組成。當L0串列分組包括兩個空信元或一個空信元時,可用單播隊列來生成有效L0串列分組。
圖8顯示的是當組合多播隊列被選定為服務隊列時生成串列分組的方法的示意性流程圖。圖9顯示的是當普通多播隊列被選定為服務隊列時生成串列分組的方法的示意性流程圖。
如圖8(8a,8b)所示,在多種隊列(單播/多播業(yè)務,組合多播業(yè)務,普通多播業(yè)務,和廣播業(yè)務)中選擇一種特定的隊列作為服務隊列,這些隊列是根據(jù)通過主調度器輸入的信元的目的地端口數(shù)目及其特性來分類的(S200)。從隊列中讀取分組(或信元)來生成L0/L1串列分組。該過程包括為各個隊列進行的循環(huán)調度。每個隊列可根據(jù)其優(yōu)先級劃分為隊列組。為每個隊列選擇服務之前,可以為隊列組分配優(yōu)先級。
可以確認所選服務隊列是否為組合多播隊列(S202)。當選擇組合多播隊列作為服務隊列時,表示L0串列分組當前數(shù)目的參數(shù)(i)被置“0”(S204)。確認相應的隊列是否為空(S205)。當相應隊列為非空時,從組合多播隊列中讀取出一個新的前端(HOL)多播信元(S206)。
確認在S206中讀取的組合多播信元的B比特值是否被置“0”(S208)。當B比特值為“0”時,表示可認為所讀取的多播信元和后續(xù)信元屬于相同的連接,并且具有相同的路由標記(如,相同的S2RT,S3RT和S4RT)。當B比特值為“1”時,表示這兩個信元具有不同的S3RT和S4RT。
作為S208的確認結果,當在S206中讀取的組合多播信元的B比特值被置“1”時(如,后續(xù)信元具有不同的S3RT和S4RT),兩個信元不能組成一個L0串列分組??梢岳脧慕M合多播隊列中讀取出的HOL信元的S2RT和S3RT檢測出用于輸出該組合多播信元的扇出端口(fan-out port),其中的組合多播隊列是在S200中選擇的。從相應的單播隊列中可以用循環(huán)方法選擇出一個單播隊列。從所選的單播隊列中讀取出一個單播信元(S210和S212)。
如圖10所示,當從組合多播隊列中讀取出的組合多播信元的S2RT向01000000(Xe(3,6))輸出,而S3RT向與01000001(Xe(3,6))連接的8個XeI中的XeI(4,0)和XeI(4,6)輸出時,對應于出口插入器的、用于輸出組合多播信元的單播隊列是#48和#54。按循環(huán)方法可以由此選擇出一個單播隊列。從單播隊列中讀取出一個單播信元??梢杂肧206中讀取出的組合多播信元生成一個有效L0串列分組。在S212(S214)中讀取出單播信元。表示L0串列分組數(shù)目的參數(shù)(i)增加1(S216)。
與S214中生成的L0串列分組相同,當L0串列分組包含一個單播信元時,S2RT、S3RT和S4RT可以存儲于一個交換路由字段中,該字段存儲于L0串列分組的報頭中。指定S2RT和S3RT使其與構成L0串列分組的組合多播信元的S2RT和S3RT相同。利用包含于L0串列分組中的單播信元的信元報頭中存儲的信元路由標記,可以指定S4RT。判定S216中增加的參數(shù)(i)與交換平面數(shù)目(K)是否相同(S218)。作為S218的結果,當參數(shù)(i)與交換平面數(shù)目(K)不同時,確認S200中所選擇的組合多播隊列是否為空(S220)。作為S220的確認結果,當組合多播隊列非空時,流程回轉到S206。從S200所選的組合多播隊列中讀取新的HOL多播信元,并利用來自單播隊列的單播信元來生成串列分組的過程重復執(zhí)行,直到不存在組合多播信元為止。確認L0串列分組的數(shù)目是否與交換平面的數(shù)目一致。
當組合多播隊列被清空時,相應的多播隊列就為空。從而,所選的多播隊列就存儲少于交換平面數(shù)目的信元。作為S220的判定結果,當所選組合多播隊列為空時,確認在所生成的L0串列分組中是否存在有效的組合多播信元。當不存在組合多播信元時,生成L0串列分組(包括兩個空信元)(S205a)。作為S205的確認結果,當相應隊列為空時,生成包含兩個空信元的L0串列分組。當包含兩個空信元的L0串列分組的生成過程結束時,流程轉到S206來為后續(xù)隊列生成串列分組。當L0串列分組中存在有效組合多播信元時,確認與L0串列分組中包含的有效組合多播信元相對應的任何單播信元隊中是否存儲了有效單播信元(S222)。作為S222的確認結果,當沒有存儲有效單播信元時,流程轉到S205a。作為S222的確認結果,當與L0串列分組中包含的有效組合多播信元相對應的任何單播信元隊中存儲了有效單播信元時,按循環(huán)方法從多個單播隊列中選擇單播隊列。多個單播隊列響應于最后的出口插入器250,依據(jù)從所選組合多播隊列中讀取的組合多播信元的S2RT和S3RT,輸出組合多播信元(S223)??梢耘卸ㄔ谒x的單播隊列中是否存在兩個有效的多播信元(S224)。
作為S223的判定結果,可以利用一個單播信元和一個空信元來生成一個L0串列分組。流程持續(xù)到S216(S227)。作為S224的判定結果,可以從兩個所選的單播隊列中讀取單播信元(S225)??梢岳脙蓚€單播信元生成一個L0串列分組(S226)。流程在S226和S227后轉到S216,使指示L0串列分組數(shù)目的參數(shù)(i)加1。
示意圖10顯示的是當從組合多播隊列中讀取的多播信元的S2RT為01000000并且S3RT為01000001(第一信元的S3RT),00000010(第二信元的S3RT),10000100(第三信元的S3RT)和00101000(第四信元的S3RT)時,如果生成一個僅由單播信元組成的L0串列分組來跟隨最后一個信元(第四信元),則對應于用于輸出第四組合多播信元的出口插入器的單播隊列為#50和#52。從而,按循環(huán)方法選擇出兩個單播隊列。分別從這兩個單播隊列中讀取出一個單播信元??捎迷赟224中讀取出來的兩個有效信元生成一個L0串列分組(S226)。流程回轉到S216使指示L0串列分組數(shù)目的參數(shù)(i)加1。
當在與S200中選出的組合多播隊列屬于相同的組的8個單播隊列中不存在信元時,可以利用兩個空信元來生成一個L0串列分組。指示L0串列分注數(shù)目的參數(shù)(i)增加1。如圖11所示,例如,當#48、#49、#50、#51、#53、#54和#55單播隊列中不存在構成L0串列分組的單播信元時,可以利用兩個空信元來生成4個L0串列分組。因此,可以生成8個L0串列分組。利用一個多播信元、一個單播信元和一個空信元可以生成一個L1串列分組。
當S208中讀取出來的組合多播信元的B比特值被置“0”時,(比如,后續(xù)信元具有相同的S3RT和S4RT),可以從所選的組合多播隊列中讀取出一個組合多播信元(S228)。利用S206中讀取的一個組合多播信元可以生成一個L0串列分組。流程回轉到S216,使指示L0串列分組數(shù)目的參數(shù)(i)加1。通過步驟S202和S230示意的過程,組合多播業(yè)務可以在入口插入器包括K個有效L0串列分組。在一個L1串列分組中可以包括K個L0串列分組。
在圖10中示意說明了L1串列分組的交換操作。在入口插入器中生成的L1串列分組輸出到1級交換機220。1級交換機220將L1串列分組分割為子串列分組,并將其傳送到交換平面230。利用L0串列分組報頭的S2RT,交換平面230將子串列分組傳送到3級交換機240。
利用L0串列分組報頭的S3RT,3級交換機240為相應的出口插入器250復制L0串列分組。出口插入器250將L0串列分組分割為兩個信元。利用通過信元報頭從交換終端傳輸來的連接ID,執(zhí)行多播表查詢操作,從而在相應的端口中復制組合多播信元。利用L0串列分組報頭的S4RT,把單播信元傳輸?shù)较鄳亩丝?。組合多播信元在每個交換機中保持著不同的路由標記。單播信元可以將到出口插入器的路由標記存儲于L0串列分組報頭中。當一個組合多播信元和一個單播信元組成一個L1串列分組時,單播信元可以將S2RT轉化為與組合多播信元的S2RT一致,以和組合多播信元一起到達3級交換機。單播信元可以將S3RT轉換為與組合多播信元的S3RT一致,以和組合多播信元一起到達出口插入器。因此,根據(jù)交換操作,被復制的組合多播信元和單播信元可以被傳輸?shù)阶罱K目的地端口。
圖9和圖11顯示的實例涉及包括用于生成和傳輸普通多播隊列的串列分組方法的實施例。如圖9所示,選擇一個服務隊列。當服務隊列為普通多播隊列時,執(zhí)行步驟S231和S232。作為S232的判定結果,當普通多播隊列被選為服務隊列,指示L0串列分組數(shù)目的參數(shù)(i)被置“0”(S234)。確認所選隊列是否為空(S235)。當所選隊列非空時,從普通多播隊列中讀取一個新的HOL多播信元(S236)。確認S236中讀取的普通多播信元的B比特值是否被置“0”(比如,是否后續(xù)信元有相同的S2RT、S3RT和S4RT)(S238)。
作為S238的確認結果,當S236中讀取的普通多播信元的B比特值不是“0”時,(比如,后續(xù)信元有不同的S2RT、S3RT和S4RT),按循環(huán)方法從多個單播隊列中選出一個單播隊列。利用從S231中所選的普通多播隊列中讀取的普通單播信元的S2RT和S3RT,多個單播隊列可響應用于輸出普通多播信元的出口插入器。從所選的單播隊列中讀取出一個單播信元(S240和S242)。
示意圖11顯示的是,當從S231所選的普通多播隊列中讀取的普通多播信元的S3RT為00000000 10001000 00000000 0000000000000000 00000000 00000000 01000011時,與輸出普通多播信元的出口插入器相對應的單播隊列為#0、#1、#6、#51和#55。按循環(huán)方法從中選出一個單播隊列。從單播隊列中讀取出一個單播信元。利用一個S236中讀取的普通多播信元和一個S242中讀取的單播信元可以生成一個L0串列分組(S244)。指示L0串列分組數(shù)目的參數(shù)(i)增加1。
類似于S244中生成的L0串列分組,當一個L0串列分組包含一個單播信元時,就必須更新交換路由字段中的S2RT、S3RT和S4RT,其中交換路由字段存儲在L0串列分組的報頭中。S2RT和S3RT被指定為等同于與單播信元一起構成L0串列分組的普通多播信元的S2RT和S3RT。利用存儲于單播信元的信元報頭中的信元路由標記來指定S4RT。判定在S246中增加的參數(shù)(i)是否等于交換平面數(shù)目(K)(S248)。作為S248的判定結果,當參數(shù)(i)不等于交換平面數(shù)目(K)時,確認所選普通多播隊列是否為空(S250)。作為S250的確認結果,當S231中選擇的普通多播隊列非空時,流程回到S236,從所選普通多播隊列中讀取一個新HOL多播信元。
作為S250的確認結果,當在S200中所選的普通多播隊列為空時,確認在所生成的L0串列分組中是否存在有效的普通多播信元(S252)。當不存在這樣的有效普通多播信元時,生成包含兩個空信元的L0串列分組(S235a)。作為S252的確認結果,當對應隊列為空時,生成包含兩個空信元的L0串列分組(S235a)。當生成了包含兩個空信元的L0串列分組時,流程轉到S246,為后續(xù)隊列生成串列分組。當在L0串列分組中存在有效普通多播信元時,確認在與L0串列分組中包含的有效普通多播信元相對應的任一單播隊列中是否存儲了有效的多播信元(S253)。作為S253的確認結果,當沒有存儲有效單播隊列時,流程轉到S235a。
作為S253的確認結果,當在與L0串列分組中包含的有效普通多播信元相對應的任一單播隊列中存儲了有效的多播信元時,按循環(huán)方法從對應于最終出口插入器250的多個單播隊列中選擇一個單播隊列,以便按照從所選普通多播信元中讀取的普通多播信元的S2RT和S3RT來輸出普通多播信元(S253)。判定所選單播隊列中是否存在有效多播信元(S254)。
作為S254的判定結果,當不存在兩個有效多播信元時,利用一個單播信元和一個空信元來生成一個L0串列分組,并且流程轉到S246(S259)。作為S254的判定結果,當存在兩個有效多播信元時,從兩個所選單播隊列中讀取出單播信元(S257)。利用兩個單播信元生成一個L0串列分組(S258)。流程在S258和S259后轉到S246,使指示L0串列分組數(shù)目的參數(shù)(i)加1。
如示意圖9(9a,9b)所示,當從普通多播隊列中讀取的普通多播信元的S3RT為00000000 10001000 00000000 00000000 0000000000000000 00000000 01000011(第一信元的S3RT),10010000 0000000000000000 00000000 00000000 00000000 00011100 00000000(第二信元的S3RT),00101000 00000000 00000000 00000000 00000000 0100001100000000 00000000(第三信元的S3RT)和00000000 00000000 0100100100000000 11100011 00000000 00000000 00000000(第四信元的S3RT)時,如果生成一個僅由單播信元構成的L0串列分組來跟隨最后一個信元(第四信元),則對應于用于輸出第四普通多播信元的出口插入器的單播隊列為#24、#25、#29、#30、#31、#40、#43和#46。按循環(huán)方法從中選出兩個單播隊列。分別從這兩個單播隊列中讀取出一個單播信元。用S256中讀取出來的兩個單播信元來生成一個L0串列分組(S258)。流程轉到S246,使指示L0串列分組數(shù)目的參數(shù)(i)加1。
作為S238的確認結果,當S231中讀取的普通多播信元的B比特值被置“0”時,(比如,后續(xù)信元具有相同的S2RT和S3RT),從所選普通多播隊列中讀取一個普通多播信元(S260)。利用S236中讀取的普通多播信元來生成L0串列分組。在S260中讀取普通多播信元(S262)。流程轉到S246,使指示L0串列分組數(shù)目的參數(shù)(i)加1。通過S232到S262的示例性處理,一個普通多播業(yè)務包括入口插入器中的K個有效L0串列分組。K個L0串列分組組成一個L1串列分組。如圖11所示,在入口插入器中生成的一個L1串列分組被輸入1級交換機220。
如圖11所示,1級交換機220將L1串列分組分割為子串列分組。1級交換機220將其傳輸?shù)浇粨Q平面230。利用L0串列分組報頭的S2RT,交換平面230將子串列分組復制到3級交換機240中。利用L0串列分組報頭的S3RT,3級交換機240將子串列分組復制到相應的出口插入器250中。出口插入器250將L0串列分組分割為兩個子信元。通過由信元報頭從交換終端傳輸來的連接ID,執(zhí)行多播表查詢操作,從而在相應的端口中復制普通多播信元。利用L0串列分組報頭的S4RT可以把單播信元傳輸?shù)较鄳亩丝?。因此,根?jù)交換操作,復制的普通多播信元和單播信元可以傳輸?shù)阶罱K目的地端口(如,線路卡)。
當確定多播隊列(組合多播隊列或普通多播隊列)要用于信元時隙時,為了生成L1串列分組,從所選多播隊列中讀取信元。在本發(fā)明的實施例中,當對所有讀取的多播信元(小于K)的目的地交換端口信息進行邏輯“或”時,從對應于最新修正的多播路由交換端口的一個單播隊列中讀取一個信元,從而生成一個L1串列分組。
例如,當多播隊列的數(shù)目小于交換平面的數(shù)目并且目的地交換端口信息被邏輯“或”時,對指示從隊列中讀取的兩個多播信元是要輸出到交換端口#1和#2和交換端口#5、#6和#8的信元的信息進行“或”操作。多播信元路由標記被修正,以將交換端口#1、#2、#5、#6和#8轉化為目的地交換端口。根據(jù)本發(fā)明的實施例,利用從單播隊列#1、#2、#5、#6和#8中讀取的信元來生成有效L0串列分組。
本發(fā)明實施例的一個目標是,在為多播業(yè)務生成串列分組時,提供一種用以在ATM交換系統(tǒng)中生成和傳輸串列分組的方法,該方法在缺少空信元的情況下利用從單播隊列中讀取的有效信元來生成串列分組。
本發(fā)明的實施例涉及一種用于在ATM交換系統(tǒng)中生成串列分組的方法,包括為根據(jù)輸入信元的目的地端口數(shù)目及其特性而劃分的多種業(yè)務類型選擇一種服務隊列的第一調度步驟;當?shù)谝徽{度步驟選擇了多播隊列作為服務隊列時,從對應于多播隊列的單播隊列中讀取生成串列分組所需的單播信元,并在沒有用所選多播隊列的多播信元生成有效串列分組時,生成包含有效信元的串列分組的第二調度步驟。
在實施例中,第一調度步驟從根據(jù)輸入信元的目的地端口數(shù)目及其特性劃分的單播隊列、普通多播隊列、組合多播隊列和廣播隊列中選擇一個服務隊列用于當前信元時隙。在實施例中,第二調度步驟從標識了作為所選多播隊列中存儲的多播信元的目的地的第3級交換機的單播隊列中讀取生成串列分組所需的單播信元。
在實施例中,第二調度步驟包括第一步驟,從標識了作為所選多播隊列中存儲的多播信元的目的地的第3級交換機的單播隊列中讀取所需的單播信元,隨后生成一個包含兩個有效信元的L0串列分組;以及第二步驟,在沒有利用多播隊列生成與交換平面數(shù)目一致的L0串列分組時,從對應于多播隊列的單播隊列中讀取單播信元,隨后生成與交換平面數(shù)目一樣多的有效L0串列分組。
在實施例中,當組合多播隊列被第一調度步驟選定為服務隊列時,第二調度步驟從一個標識了所選組合多播隊列(其指出了作為該組合多播隊列中的多播信元的目的地的第3級交換機)的單播隊列中讀取單播信元,并生成包含該單播信元和組合多播信元的L0串列分組。
在實施例中,為了把單播信元與組合多播信元一起傳輸,存儲于L0串列分組的報頭中的交換路由標記包含用于向交換平面?zhèn)鬏數(shù)牡诙粨Q路由標記,用于向合并信元傳輸?shù)牡谌粨Q路由標記,以及用于向出口插入器傳輸?shù)牡谒慕粨Q路由標記。
在實施例中,當普通多播隊列被選作為服務隊列時,第二調度步驟從對應于出口插入器之一(其作為從普通多播隊列中讀取的信元的目的地)的單播隊列中讀取單播信元,并生成包含該單播信元和普通多播信元的L0串列分組。
在本發(fā)明實施例的另一方面,提供了一種用以在ATM交換系統(tǒng)中傳輸串列分組的方法,該方法包括在根據(jù)輸入信元的目的地端口數(shù)目及其特性劃分的多播業(yè)務中選擇一個作為服務隊列;選擇性地讀取所選多播隊列的多播信元和對應于該多播隊列的單播隊列的單播信元,并生成串列分組;由第一交換機將該串列分組分割為與交換平面數(shù)目一致的子串列分組,并傳輸這些子串列分組;根據(jù)串列分組報頭的路由標記,由交換平面把這些子串列分組傳輸?shù)降谌粨Q機;根據(jù)串列分組報頭中包含的第三交換路由標記,由第三交換機復制L0串列分組,并向對應的出口插入器傳輸這些被復制的分組;通過出口插入器將L0串列分組分割為兩個信元,通過連接ID復制多播信元,并向相應的端口傳輸這些被復制的信元。
根據(jù)本發(fā)明的實施例,當生成串列分組以處理多播業(yè)務時,通過第二調度器從所選的單播隊列中讀取有效信元,而非空信元。其結果是,利用有效信元而非空信元來生成串列分組,從而改善了交換處理率。
上述的實施例和優(yōu)點僅僅是示例性的,并不對本發(fā)明構成限制。本發(fā)明可以容易地應用于其它類型的裝置。本發(fā)明的說明書是用于進行說明,不限制權利要求的范圍,對于本領域的技術人員,很顯然可以有很多替換、改進和變化。
權利要求
1.一種方法,包括生成一組數(shù)據(jù),其中這組數(shù)據(jù)包括來自第一隊列和第二隊列的信元;第一隊列的所有信元均相互獨立;以及第二隊列的至少兩個信元相互關聯(lián)。
2.根據(jù)權利要求1所述的方法,其特征在于,所述的這組數(shù)據(jù)是串列分組。
3.根據(jù)權利要求2所述的方法,其特征在于,串列分組包括組合多播串列信元、普通多播串列信元和順序-并列串列分組信元中的至少一個。
4.根據(jù)權利要求1所述的方法,其特征在于,第一隊列是單播隊列。
5.根據(jù)權利要求1所述的方法,其特征在于,第二隊列是多播隊列。
6.根據(jù)權利要求1所述的方法,其特征在于,該方法應用于交換機中。
7.根據(jù)權利要求1所述的方法,其特征在于所述的第二隊列的至少兩個信元共享一個虛連接;以及第一隊列的信元都不共享虛連接。
8.根據(jù)權利要求1所述的方法,其特征在于,生成所述的這組數(shù)據(jù)包括確定第二隊列的關聯(lián)信元是否可用;如果第二隊列的關聯(lián)信元可用,則將第二隊列的關聯(lián)信元加到所述的這組數(shù)據(jù)中;以及如果第二隊列的關聯(lián)信元不可用,則將第一隊列的獨立信元加到所述的這組數(shù)據(jù)中。
9.根據(jù)權利要求8所述的方法,其特征在于,所述的這組數(shù)據(jù)的生成包括確定這組數(shù)據(jù)是否充滿;以及如果這組數(shù)據(jù)沒有充滿,則執(zhí)行確定第二隊列的關聯(lián)信元是否可用的步驟。
10.根據(jù)權利要求9所述的方法,其特征在于,所述的這組數(shù)據(jù)包括多個子分組。
11.根據(jù)權利要求10所述的方法,其特征在于,確定這組數(shù)據(jù)是否充滿的步驟包括確定是否至少有一個子分組已充滿。
12.根據(jù)權利要求11所述的方法,其特征在于,如果至少有一個子分組已部分充滿,則向所述的至少一個子分組中添加獨立信元。
13.根據(jù)權利要求10所述的方法,其特征在于,確定這組數(shù)據(jù)是否充滿的步驟包括確定是否至少有一個子分組可用。
14.一種設備,配置為生成一組數(shù)據(jù),其中這組數(shù)據(jù)包括來自第一隊列和第二隊列的信元;第一隊列的所有信元相互獨立;以及第二隊列的至少兩個信元相互關聯(lián)。
15.一種在ATM交換系統(tǒng)中生成串列分組的方法,包括第一調度步驟,為根據(jù)輸入信元的目的地端口數(shù)目及其特性而劃分的多種業(yè)務類型選擇一種服務隊列;以及第二調度步驟,當?shù)谝徽{度步驟選擇了多播隊列時,從對應于該多播隊列的單播隊列中讀取生成串列分組所需的單播信元,以及在沒有用所選多播隊列的多播信元生成有效串列分組時,生成包含有效信元的串列分組。
16.根據(jù)權利要求15所述的方法,其特征在于,第一調度步驟從根據(jù)輸入信元的目的地端口數(shù)目及其特性而劃分的單播隊列、普通多播隊列、組合多播隊列和廣播隊列中選擇出一個服務隊列用于當前信元時隙。
17.根據(jù)權利要求15所述的方法,其特征在于,第二調度步驟從標識了作為所選多播隊列中存儲的多播信元的目的地的第3級交換機的單播隊列中讀取生成串列分組所需的單播信元。
18.根據(jù)權利要求15所述的方法,其特征在于,第二調度步驟包括第一步驟,從標識了作為所選多播隊列中存儲的多播信元的目的地的第3級交換機的單播隊列中讀取所需的單播信元,隨后生成一個具有兩個有效信元的L0串列分組;以及第二步驟,在沒有利用多播隊列生成與交換平面數(shù)目一致的L0串列分組時,從對應于多播隊列的單播隊列中讀取單播信元,隨后生成與交換平面一樣多的有效L0串列分組。
19.根據(jù)權利要求15所述的方法,其特征在于,根據(jù)多播信元的出口插入器數(shù)目,從單播隊列中讀取生成L0串列分組所需的單播信元。
20.根據(jù)權利要求15所述的方法,其特征在于,當組合多播隊列被第一調度步驟選定為服務隊列時,第二調度步驟從標識了所選組合多播隊列的單播隊列中讀取單播信元,并生成包含單播信元和組合多播信元的L0串列分組,這里所述的所選組合多播隊列指出了作為組合多播隊列中的多播信元的目的地的第3級交換機。
21.根據(jù)權利要求19所述的方法,其特征在于,當用于生成L0串列分組的有效組合多播信元的數(shù)目小于所選組合多播隊列中的交換平面數(shù)目時,分別從對應于所選組合多播隊列的多個單播隊列中讀取一個單播信元,并生成與交換平面數(shù)目一樣多的有效L0串列分組。
22.根據(jù)權利要求15所述的方法,其特征在于,當普通多播隊列被選作為服務隊列時,第二調度步驟從對應于一個出口插入器的單播隊列中讀取單播信元,并生成包含單播信元和普通多播信元的L0串列分組,這里所述的一個出口插入器作為從普通多播隊列中讀取的信元的目的地。
23.根據(jù)權利要求22所述的方法,其特征在于,從對應于普通多播隊列數(shù)目的預定數(shù)目的單播隊列中選擇一個單播隊列。
24.根據(jù)權利要求22所述的方法,其特征在于,當用于生成L0串列分組的有效普通多播信元的數(shù)目小于普通多播隊列中的交換平面數(shù)目時,分別從對應于所選普通多播信元的出口路由標記的多個單播隊列中讀取一個單播信元,并且生成對應交換平面數(shù)目的有效L0串列分組。
25.根據(jù)權利要求22所述的方法,其特征在于,存儲于L0串列分組的報頭中的交換路由標記包含用于向交換平面?zhèn)鬏數(shù)牡诙粨Q路由標記,用于向合并信元傳輸?shù)牡谌粨Q路由標記,以及用于向出口插入器傳輸?shù)牡谒慕粨Q路由標記,以便把單播信元和普通多播信元一起傳輸。
26.根據(jù)權利要求15所述的方法,其特征在于,按循環(huán)方法從對應于多播隊列數(shù)目的預定數(shù)目單播隊列中選擇單播隊列。
27.一種在ATM交換系統(tǒng)中生成串列分組的方法,包括a)從根據(jù)輸入信元的目的地端口數(shù)目及其特性劃分的組合多播業(yè)務中選擇一個作為服務隊列;b)在沒有用組合多播信元生成串列分組時,從對應于所選組合多播隊列數(shù)目的單播隊列中讀取單播信元,隨后生成包含該單播信元和組合多播信元的L0串列分組;以及c)當用于生成L0串列分組的有效組合多播信元的數(shù)目小于所選組合多播隊列中的交換平面數(shù)目時,從對應于所選多播隊列的單播隊列中讀取單播信元,并生成與交換平面數(shù)目一樣多的L0串列分組。
全文摘要
本發(fā)明的實施例涉及生成一組數(shù)據(jù)(比如,分組)。這組數(shù)據(jù)包含來自第一隊列和第二隊列的信元。第一隊列中的所有信元均相互獨立。第二隊列中至少有兩個信元相互關聯(lián)。
文檔編號H04Q11/04GK1427590SQ0215678
公開日2003年7月2日 申請日期2002年12月18日 優(yōu)先權日2001年12月18日
發(fā)明者李鐘翊 申請人:Lg電子株式會社