專利名稱:一種動態(tài)管理異步傳輸模式中虛連接的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一禾中能夠?qū)TM (Asynchronous Transfer Mode,異步 傳輸模式)中使用的虛連接實施動態(tài)管理的方法,屬于寬帶通信技術(shù)領(lǐng) 域。
背景技術(shù):
ATM是在傳統(tǒng)電路傳輸模式和分組傳輸模式基礎(chǔ)上發(fā)展起來的新 興數(shù)據(jù)傳輸模式。在該模式中,數(shù)據(jù)被組織成53個字節(jié)的信元(其中 48個字節(jié)為有效信息,5個字節(jié)為標頭或稱信元頭,標頭上存儲傳輸 地址的信息等),然后進行快速分組交換,以滿足不同業(yè)務(wù)傳輸?shù)男枨蟆?由于各個信元不需要周期性出現(xiàn),因此把這種數(shù)據(jù)傳輸模式稱為異步 傳輸模式。這里的"異步"是指不需要對發(fā)送方的信號按一定的步調(diào)
(同步)進行發(fā)送。ATM技術(shù)具有傳輸速度快、距離不受限制等特點, 尤其適合寬帶多媒體業(yè)務(wù)中使用。
在ATM的信元結(jié)構(gòu)中,VPI和VCI是最重要的兩個部分。VPI
(Virtual Path Identifier)是虛通道標識符的簡稱;VCI (Virtual Connection Identifier)是虛通路標識符的簡稱。VPI禾卩VCI合起來 構(gòu)成了一個信元的路由信息。在ATM中,地址是呼叫建立過程中通過 UNI信令確定的,然后據(jù)此尋找合適的路由,并建立VC (虛連接)。虛 連接由一系列VPI/VCI路由構(gòu)成,并用VPI/VCI標識。ATM交換機根 據(jù)各個信元上的VPI/VCI來決定把它們送到哪一條線路上去。
在ATM技術(shù)的使用過程中,對虛連接的管理實質(zhì)上就是對VPI/VCI 的管理。實現(xiàn)有效管理和查找操作存在兩個需要重點關(guān)注的問題,一 個是查找VPI/VCI所占用的CPU的時間長短,另外一個是存儲VPI/VCI 所占用的內(nèi)存空間大小。現(xiàn)有技術(shù)中常用的解決方案包括直接地址查 找法和哈希算法。但這兩種方法各自存在自身的不足。直接地址査找 法需要消耗巨大的內(nèi)存;哈希算法存在兩個問題 一個是存在哈希沖 突,另外一個是支持的連接數(shù)量特別大的時候,也需要巨大的內(nèi)存空 間,而且在這種情況下,產(chǎn)生哈希沖突的概率也增加了。在申請?zhí)枮?3101344.9的中國專利申請中,提供了實現(xiàn)ATM鏈接 査找的方法。該方法采用再哈希法處理哈希沖突。與目前査找異步傳 輸模式鏈接的現(xiàn)有技術(shù)(直接地址、CAM表查找法)相比,該方法有 如下優(yōu)點(1)對RAM容量要求較低,可以在FPGA內(nèi)部實現(xiàn);(2)很 容易支持較多數(shù)目的鏈接?xùn)苏?,且端口值、VPI值、VCI值范圍不受限 制;(3)實現(xiàn)起來方法簡單,鏈接數(shù)目增加時,很容易實現(xiàn)擴充。
另外,在申請?zhí)枮?2155154.5的中國專利申請中,介紹了一種異 步傳輸模式設(shè)備虛通路標識符的管理方法,包括申請VCI和釋放VCI。 其中申請VCI包括生成比特集;組成比特集池;設(shè)置比特集中相應(yīng) 比特的標記;設(shè)置比特集的標志位;若VCI的VPI首次用于VC連接, 到比特集池申請一個空閑比特集,掛在相應(yīng)的VPI下,將該比特集的 標志位置為占用,并將相應(yīng)的VCI比特置為1;若該連接的VPI已經(jīng) 被其它VC連接所使用,檢查該VPI指向的比特集中的比特位,若為1, 則要重新選取VCI,否則將該位置為1。釋放VCI包括檢査VPI比特 集的相應(yīng)比特,若為1,將其置為0,否則表明該VCI根本沒有被占用; 若該VPI下沒有VC連接,將該比特集歸還給比特集池,并將該比特集 的標志位置為空閑。
但是,上述各技術(shù)方案仍然存在查找速度不夠快,無法支持任意 的VPI/VCI位數(shù)的缺陷,仍然需要進一步加以改進。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種動態(tài)管理ATM (異步傳輸模式)中虛連接 的方法。該方法通過控制VPI/VCI的管理粒度,可以獲得恒定高速的 查找速度和高效的內(nèi)存使用效率。
為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案 一種動態(tài)管理異步傳輸模式中虛連接的方法,通過管理虛通道標
識符和虛通路標識符來實現(xiàn),其特征在于
(1) 確定在實際應(yīng)用中需要的所述虛通道標識符和所述虛通路標 識符的位數(shù),并進一步確定所述虛通道標識符和所述虛通路標識符的
管理粒度;
(2) 根據(jù)所述位數(shù)和管理粒度,將要管理的虛通道標識符和虛通路 標識符分成等分的區(qū)間,并以所述區(qū)間為單位進行虛通道標識符和虛 通路標識符的管理;(3) 在需要用到某個虛通道標識符或虛通路標識符時,先判斷該虛
通道標識符或虛通路標識符所在的區(qū)間是否己經(jīng)申請了相應(yīng)的內(nèi)存空
間;
(4) 如果已經(jīng)申請內(nèi)存空間,則在該內(nèi)存空間中申請?zhí)撏ǖ罉俗R符
或虛通路標識符,如果沒有申請內(nèi)存空間,則申請內(nèi)存空間并在該內(nèi) 存空間中申請?zhí)撏ǖ罉俗R符或虛通路標識符;
(5) 所述虛通道標識符或虛通路標識符使用完畢之后,釋放所述虛 通道標識符或虛通路標識符,并判斷所述區(qū)間內(nèi)所有的虛通道標識符 或虛通路標識符是否都已經(jīng)釋放,如果是,則釋放相應(yīng)的內(nèi)存。
其中,所述虛通道標識符包括兩個部分指向虛通路標識符隊列 的指針和該區(qū)間已建連接的總數(shù)。
所述虛通路標識符包括三個部分虛通道連接或虛信道連接標志、 該區(qū)間已建連接的總數(shù)和指向虛通路標識符比特池指針隊列的指針。
虛通道連接通過所述虛通路標識符中的虛通道連接標志來表示, 所述虛通道連接不需要申請所述虛通路標識符比特池指針隊列和虛通 路標識符比特池的內(nèi)存空間。
虛通路連接的每 一 對虛通道標識符/虛通路標識符與虛通路標識 符比特池中的一個比特位對應(yīng)。
本發(fā)明通過控制vpi/vci的管理粒度來優(yōu)化內(nèi)存使用的效率。與 現(xiàn)有異步傳輸模式的vpi/vci查找技術(shù)相比較,本方法具有以下的優(yōu) 點l)對內(nèi)存容量的要求低;2)査找速度恒定高效;3)可擴展性強, 支持任意數(shù)量的vpi/vci,可以在atm (異步傳輸模式)的任何環(huán)境中 得到應(yīng)用。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步的說明。 圖l為本發(fā)明的整體實施過程示意圖; 圖2為初始化過程的實施流程圖; 圖3為申請vpi/vci過程的實施流程圖; 圖4為釋放vpi/vci過程的實施流程圖。
具體實施例方式
本方法的基本思路是把需要管理的整個vpi/vci空間劃分成若干 等分的區(qū)間,每個區(qū)間的大小可以根據(jù)實際情況來設(shè)置。實際運行中,當(dāng)用到了某個VPI/VCI的時候,ATM系統(tǒng)才在內(nèi)存中申請該VPI/VCI 所在的區(qū)間。這樣就大大節(jié)省了整個ATM系統(tǒng)的內(nèi)存空間,從而在保 證時間效率的基礎(chǔ)上提升了內(nèi)存的空間使用效率。
上述的VPI空間指要管理的所有VPI的值空間,假設(shè)支持的VPI 位數(shù)為8位,則VPI空間為0 255; VCI空間指要管理的所有VCI的 值空間,假設(shè)支持的VCI位數(shù)為12位,則VCI空間為0 4095; VCI BIT 池是實施虛連接管理時所申請的內(nèi)存空間,該內(nèi)存空間的每一個BIT 與一對VPI/VCI值對應(yīng)。
參見圖1所示,VPI隊列把ATM系統(tǒng)所支持的VPI空間分成若干 等分的區(qū)間,隊列中的每個表項對應(yīng)1個區(qū)間。在每個VPI表項中, 包括兩個部分指向VCI隊列的指針和該區(qū)間已建連接的總數(shù)。通過 上述指向VCI隊列的指針,使VCI隊列的每個表項與VPI隊列的其中 l個區(qū)間代表的VPI——對應(yīng)。在每一個VCI表項中,包括三個部分 VPC (虛通道連接)或VCC (虛信道連接)連接標志、該區(qū)間已建連接 的總數(shù)和指向VCI BIT (比特)池指針隊列的指針。上述的該區(qū)間已 建連接的總數(shù)包括VCC和VPC的總數(shù)。VCI表項通過指向VCI BIT池 指針隊列的指針與VCI BIT池指針隊列建立聯(lián)系。VCI BIT池指針隊 列把系統(tǒng)支持的VCI分成若干等分的區(qū)間,指針隊列的每個表項對應(yīng) l個區(qū)間。在每一個VCI BIT池指針項中,包括兩個部分申請的VCI BIT池指針和該區(qū)間已建VCC的連接數(shù)。VCI BIT池指針指向VCI BIT 池,BIT池中的每一個BIT按從低位到高位的順序與該VCI區(qū)間的每 個VCI值從小到大一一對應(yīng)。這樣,本發(fā)明通過多級指針連續(xù)指向的 方式,使VCI BIT池的每個BIT與一對VPI/VCI值對應(yīng)。
假設(shè)系統(tǒng)支持的VPI位數(shù)為a,支持的最大VCI位數(shù)為b。設(shè)置 VPI的管理粒度為x, VCI的管理粒度為y (其中a, b, x, y都是二進 制的位數(shù))。則圖1中VPI隊列的大小為2的a—x次方,VCI隊列大 小為2的x次方;VCI BIT池指針隊列大小為2的b—y次方,VCI BIT 池大小為2的y—3次方。需要說明的是,此處隱含的限制條件是a》x, b》y, y>3, x》0。
例如,假設(shè)需要管理的虛通道標識符位數(shù)為8位,則合法虛通道 標識符為0 255;設(shè)定的管理粒度為16,則把256個虛通道標識符分 成16等份,0 15為第1份,16 31為第2份,依次類推;假設(shè)需要管理的虛通路標識符位數(shù)為12位,則合法虛通路標識符為0 4095, 設(shè)定的管理粒度為16,則把4096個虛通道標識符分成16等份,0 255為第1份,256 511為第2份,依次類推。
VPI隊列的第1項對應(yīng)的VPI值為0 2的x次方一l,第2項對 應(yīng)的VPI值為2的x次方 2的2x次方一l,依次類推,最后一項對 應(yīng)的VPI值為2的a—x次方 2的a次方一 1。 VPI表項指向的VCI隊 列與其本身對應(yīng)的一組VPI值按順序——對應(yīng)。
VCI BIT池指針隊列第1項對應(yīng)的VCI值為0 2的y次方一1,第 2項對應(yīng)的VCI值為2的y次方 2的2y次方一 1,依次類推,最后一 項對應(yīng)的VCI值為2的b—y次方 2的b次方一 1。 VCI BIT池指針隊 列表項指向的VCI BIT池按照從小到大的順序與VCI值——對應(yīng),即 BIT池第1項的第0個BIT對應(yīng)的VCI值為VCI BIT池指針隊列表項 對應(yīng)的第1個VCI值,最后1項的第7個BIT對應(yīng)的VCI值為VCI BIT 池指針隊列表項對應(yīng)的最后1個VCI值。
VCI表項中VPC (1)或VCC (0)連接標志為1時,表示該VPI 用于VPC,所以不需要再申請VCI BIT池指針隊列空間和VCI BIT池 空間。VCI BIT池的BIT置1表示該VCI已經(jīng)被占用,BIT置O表示該 VCI為空閑。
下面進一步介紹通過控制VPI/VCI的管理粒度來優(yōu)化內(nèi)存使用效 率的基本實施步驟。首先參見圖2所示,初始化的過程包括如下的步 驟在開始之后,確定支持的VPI位數(shù)a,支持的VCI位數(shù)b;進一步 地,確定VPI的管理粒度x, VCI的管理粒度y;然后申請VPI隊列的 空間,初始化VPI隊列;將所有表項的所有內(nèi)容置0。由此完成初始 化的過程。
在需要用到某個VPI/VCI時,先判斷該VPI/VCI所在的區(qū)間是否 已經(jīng)申請了相應(yīng)的內(nèi)存空間.如果己經(jīng)申請內(nèi)存空間,則在該內(nèi)存空間 中申請VPI/VCI,如果沒有申請內(nèi)存空間,則申請內(nèi)存空間并在該內(nèi) 存空間中申請VPI/VCI 。
具體參見圖3所示,首先在VPI隊列中找到與分配的VPI對應(yīng)的 表項,判斷該表項中已經(jīng)建立的連接總數(shù)是否為0。如果已經(jīng)建立的 連接總數(shù)為O的話,申請VCI隊列空間,將指針填入VPI表項中,然 后進一步判斷要建立的是否是VPC連接,如果是的話,則設(shè)置與分配
8的VPI對應(yīng)的VCI隊列的表項,其中連接標志置1,連接總數(shù)也置1, 此時認為VPI/VCI申請成功;如果要建立的不是VPC連接,則申請VCI BIT池指針隊列空間,把指針填入VCI隊列的相應(yīng)表項中,并進一步 申請VCI BIT池空間,把指針填入相應(yīng)的VCI BIT池指針隊列的表項 中,然后將VCI BIT池中與分配的VCI對應(yīng)的BIT置1、 VCC連接數(shù)加 1、 VCI表項連接總數(shù)加1、 VPI表項連接總數(shù)也加1,此時認為VPI/VCI 申請成功。在上述已經(jīng)建立的連接總數(shù)不為0的情況下,進一步判斷 VCI隊列中對應(yīng)的VCI表項的連接總數(shù)是否為0,如果為0的話,轉(zhuǎn)入 上述的判斷要建立的是否是VPC連接的步驟,否則判斷VPC連接標志 是否是1,如果是1的話,則認為VPI/VCI申請失敗,如果不是1的 話,進一步判斷對應(yīng)的VCI BIT池指針項中的連接總數(shù)是否是0,如 果是0則認為VPI/VCI申請失敗,如果不是0則進一步判斷與分配的 VCI對應(yīng)的VCI BIT池中的BIT位是否是1,如果不是1的話則對應(yīng)的 VCI BIT池中的BIT位置1,認定VPI/VCI申請成功;否則的話認定 VPI/VCI申請失敗。
VPI/VCI申請成功之后,采用ATM模式中通行的方式使用VPI/VCI 。 在VPI/VCI使用完畢之后,按照圖4所示的步驟釋放VPI/VCI,并在 判斷區(qū)間內(nèi)所有的VPI/VCI都已經(jīng)釋放的前提下,釋放相應(yīng)的內(nèi)存。 具體的釋放步驟如下-
首先,依次進行如下的判斷1.與釋放的VPI對應(yīng)的VPI表項連 接總數(shù)是否是O 2.與釋放的VPI對應(yīng)的VCI表項連接總數(shù)是否是0 3.釋放的是否是VPC連接? 4.與釋放的VCI對應(yīng)的VCI BIT池指針 項的連接總數(shù)是否是0 5. VCI BIT池中對應(yīng)的BIT位是否是0 在 上述的各項判斷中,有任意一項判斷為是則認為釋放VPI/VCI失敗, 只有所有的判斷結(jié)果都為否定時才進一步設(shè)置該BIT位為0,設(shè)置VCI BIT池指針項連接總數(shù)減1, VCI表項和VPI表項的連接總數(shù)都減1, 然后判斷VCI BIT池指針項連接總數(shù)是否為0,如果是否定的結(jié)果則 認為釋放VPI/VCI成功,如果為肯定的結(jié)果則進一 步釋放VCI BIT池 空間,將對應(yīng)指針置0,然后判斷VCI表項的連接總數(shù)是否為0,如果 是否定的結(jié)果則認為釋放VPI/VCI成功,如果為肯定的結(jié)果則進一步 釋放VCI BIT池指針隊列的空間,將對應(yīng)指針置0,接下來判斷VPI 表項的連接總數(shù)是否為0,如果是否定的結(jié)果則認為釋放VPI/VCI成功,如果為肯定的結(jié)果則進一步釋放VCI隊列的空間,將對應(yīng)指針置 0。此時也認為釋放VPI/VCI成功。
需要指出的是,在執(zhí)行上述的第三項判斷釋放的是否是VPC連
接時,如果為肯定的結(jié)果,也可以進一步判斷對應(yīng)VCI表項的VPC標
志位是否是1,如果結(jié)果是否定的話,則認為釋放VPIACI失??;如
果結(jié)果是肯定的話,則置該VCI表項的VPC標志位為0,連接總數(shù)為0, 并將VPI表項的連接總數(shù)減l,然后判斷VPI表項的連接總數(shù)是否為0, 如果是否定的結(jié)果則認為釋放VPI/VCI成功,如果為肯定的結(jié)果則進 一步釋放VCI隊列的空間,將對應(yīng)指針置0。此時也認為釋放VPI/VCI成功。
上面雖然通過實施例描繪了本發(fā)明,但本領(lǐng)域普通技術(shù)人員知道, 本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,所附的權(quán)利要求將 包括這些變形和變化。
10
權(quán)利要求
1. 一種動態(tài)管理異步傳輸模式中虛連接的方法,通過管理虛通道標識符和虛通路標識符來實現(xiàn),其特征在于(1)確定在實際應(yīng)用中需要的所述虛通道標識符和所述虛通路標識符的位數(shù),并進一步確定所述虛通道標識符和所述虛通路標識符的管理粒度;(2)根據(jù)所述位數(shù)和管理粒度,將要管理的虛通道標識符和虛通路標識符分成等分的區(qū)間,并以所述區(qū)間為單位進行虛通道標識符和虛通路標識符的管理;(3)在需要用到某個虛通道標識符或虛通路標識符時,先判斷該虛通道標識符或虛通路標識符所在的區(qū)間是否已經(jīng)申請了相應(yīng)的內(nèi)存空間;(4)如果已經(jīng)申請內(nèi)存空間,則在該內(nèi)存空間中申請?zhí)撏ǖ罉俗R符或虛通路標識符,如果沒有申請內(nèi)存空間,則申請內(nèi)存空間并在該內(nèi)存空間中申請?zhí)撏ǖ罉俗R符或虛通路標識符;(5)所述虛通道標識符或虛通路標識符使用完畢之后,釋放所述虛通道標識符或虛通路標識符,并判斷所述區(qū)間內(nèi)所有的虛通道標識符或虛通路標識符是否都已經(jīng)釋放,如果是,則釋放相應(yīng)的內(nèi)存。
2. 如權(quán)利要求1所述的動態(tài)管理異步傳輸模式中虛連接的方法, 其特征在于所述虛通道標識符包括兩個部分指向虛通路標識符隊列的指針 和該區(qū)間已建連接的總數(shù)。
3. 如權(quán)利要求1所述的動態(tài)管理異步傳輸模式中虛連接的方法, 其特征在于.-所述虛通路標識符包括三個部分虛通道連接或虛信道連接標志、 該區(qū)間已建連接的總數(shù)和指向虛通路標識符比特池指針隊列的指針。
4. 如權(quán)利要求3所述的動態(tài)管理異步傳輸模式中虛連接的方法, 其特征在于虛通道連接通過所述虛通路標識符中的虛通道連接標志來表示, 所述虛通道連接不需要申請所述虛通路標識符比特池指針隊列和虛通路標識符比特池的內(nèi)存空間。
5.如權(quán)利要求1所述的動態(tài)管理異步傳輸模式中虛連接的方法, 其特征在于虛通路連接的每 一 對虛通道標識符/虛通路標識符與虛通路標識 符比特池中的一個比特位對應(yīng)。
全文摘要
本發(fā)明提供了一種動態(tài)管理異步傳輸模式中虛連接的方法。該方法中,把需要管理的整個VPI/VCI空間劃分成若干等分的區(qū)間,區(qū)間的大小根據(jù)實際應(yīng)用情況來設(shè)置。實際運行中,當(dāng)用到了某個VPI/VCI的時候,ATM系統(tǒng)才通過多級指針連續(xù)指向的方式申請該VPI/VCI所在區(qū)間的內(nèi)存。這樣就大大節(jié)省了整個ATM系統(tǒng)的內(nèi)存空間,在保證時間效率的基礎(chǔ)上提升了內(nèi)存的空間使用效率。
文檔編號H04L12/46GK101471842SQ20071030852
公開日2009年7月1日 申請日期2007年12月29日 優(yōu)先權(quán)日2007年12月29日
發(fā)明者何建偉, 郭壽益, 陳向榮 申請人:北京大唐高鴻數(shù)據(jù)網(wǎng)絡(luò)技術(shù)有限公司