專利名稱:分組緩存管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分組緩存管理,尤其涉及分組網(wǎng)絡(luò)和同步網(wǎng)絡(luò)之間接口處的分組緩存管理。
背景技術(shù):
通信網(wǎng)絡(luò)通常使用兩個(gè)適當(dāng)建立的傳輸機(jī)制中的一個(gè);電路交換傳送和分組交換(或僅分組)傳送。舊系統(tǒng)傾向于使用前者,大體上將時(shí)分復(fù)用(TDM)用于特定頻帶,以將時(shí)域分為相等持續(xù)時(shí)間的時(shí)隙。電路是通過(guò)集合連續(xù)時(shí)幀內(nèi)的相同時(shí)隙位置來(lái)定義的。分組網(wǎng)絡(luò)通常并不將固定資源分配給發(fā)射機(jī),而是通過(guò)使用分組標(biāo)題、網(wǎng)絡(luò)交換機(jī)和路由器內(nèi)包括的目的地地址信息盡量路由數(shù)據(jù)的分組。分組網(wǎng)絡(luò)正逐步受到網(wǎng)絡(luò)運(yùn)營(yíng)商的歡迎,因?yàn)樗鼈兺ǔL峁└鼉?yōu)的性能,且與相當(dāng)?shù)碾娐方粨Q網(wǎng)絡(luò)相比,其安裝和維護(hù)更為經(jīng)濟(jì)。
通常,電信網(wǎng)絡(luò)使用時(shí)分復(fù)用(TDM)電路來(lái)互通網(wǎng)絡(luò)交換機(jī)(或交換局)。但因?yàn)樯鲜鲂阅芎统杀驹颍S多運(yùn)營(yíng)商和租用線路提供商(向業(yè)務(wù)提供商提供帶寬)正逐步以分組網(wǎng)絡(luò)代替TDM電路。在很多情況下,將完全在分組網(wǎng)絡(luò)上提供到交換“會(huì)話”的交換。但這很可能在多年之后才能實(shí)現(xiàn),某些運(yùn)營(yíng)商將繼續(xù)依賴于TDM電路提供全部或至少一部分網(wǎng)絡(luò)。這需要分組網(wǎng)絡(luò)和TDM“傳統(tǒng)”設(shè)備之間的互通。
圖1示出了載波網(wǎng)1,它是諸如以太網(wǎng)、ATM或IP網(wǎng)的分組交換網(wǎng)。所述載波網(wǎng)提供租用線路業(yè)務(wù)以互通第一和第二客戶住宅2、3,所述客戶住宅都使用TDM發(fā)射機(jī)4、5以處理多路信息流。所述信息流的性質(zhì)并不重要,盡管它們可能是話音呼叫、視頻會(huì)議呼叫或數(shù)據(jù)呼叫。為了方便所述TDM流的互通,所述載波網(wǎng)1必須效仿適當(dāng)?shù)腡DM電路。
TDM鏈路是具有以某一預(yù)定頻率操作的業(yè)務(wù)時(shí)鐘所管理的恒定(傳輸)比特率的同步電路。相反,在分組網(wǎng)絡(luò)中,從入口發(fā)送分組的頻率與所述分組到達(dá)出口的頻率之間并無(wú)直接聯(lián)系。再次參照?qǐng)D1,為了提供TDM電路效仿,分組網(wǎng)絡(luò)邊界處的接口節(jié)點(diǎn)6、7(以下稱為TDM到分組設(shè)備(TPD)和分組到TDM設(shè)備(PTD))必須以某種方式提供TDM鏈路和分組網(wǎng)絡(luò)之間的互通,以使出口一側(cè)的TDM鏈路與入口一側(cè)的TDM鏈路同步。換言之,入口一側(cè)的客戶住宅的TDM業(yè)務(wù)頻率(fservice)必需盡可能精確地在分組網(wǎng)絡(luò)的出口處復(fù)制(fregen)。
為了補(bǔ)償經(jīng)由所述分組網(wǎng)絡(luò)的傳輸?shù)耐话l(fā)性質(zhì),在PTD處接收的分組被置于緩存器內(nèi),所述分組從所述緩存器的前部取得以經(jīng)由呼出TDM鏈路發(fā)送。所述緩存器的大小被最優(yōu)化為,大到足以阻止所述分組網(wǎng)絡(luò)上暫時(shí)增加的傳輸延遲所引起的所述緩存器完全漏泄,但小到足以阻止顯著影響向終端用戶提供的業(yè)務(wù)的端到端傳輸延遲(等待時(shí)間)。實(shí)際上,所述緩存器包括用于存儲(chǔ)所接收分組的數(shù)據(jù)有效負(fù)載的存儲(chǔ)區(qū)。數(shù)據(jù)被以大小64字節(jié)的塊或“區(qū)組”存儲(chǔ)起來(lái)。在特定分組的有效負(fù)載的大小大于64字節(jié)時(shí),每個(gè)區(qū)組(除最后一個(gè)區(qū)組之外)都依次維持指向下一個(gè)區(qū)組的指針(即,所述數(shù)據(jù)被存儲(chǔ)為“鏈接表”)。所述緩存器還包括維持分組在緩存器內(nèi)的位置的有序列表的隊(duì)列。所述隊(duì)列內(nèi)的每個(gè)條目都包括分組的第一個(gè)與最后一個(gè)區(qū)組,以及構(gòu)成所述分組的區(qū)組量。
業(yè)務(wù)與再生頻率內(nèi)的任何長(zhǎng)期失配的結(jié)果是PTD內(nèi)的緩存器將會(huì)填滿或清空,這取決于再生時(shí)鐘(fregen)是慢于還是快于原始時(shí)鐘(fservice),從而引起數(shù)據(jù)丟失和業(yè)務(wù)降級(jí)。同樣,除非原始時(shí)鐘(fservice)的相位由再生時(shí)鐘(fregen)的相位跟蹤,否則頻率跟蹤內(nèi)的時(shí)滯將會(huì)導(dǎo)致緩存器在所述出口處的操作水平的微小卻不良的變化。
必須提供一種可靠方法,使分組網(wǎng)絡(luò)出口處的頻率與相位與所傳送TDM內(nèi)的時(shí)鐘的頻率與相位同步。一種方法是使用一種慮及所述分組網(wǎng)絡(luò)上的傳輸延遲從發(fā)送者并入分組的時(shí)戳恢復(fù)傳送時(shí)鐘頻率與相位的算法。由于所述分組網(wǎng)絡(luò)上的傳輸時(shí)間對(duì)于任何特定分組而言都是不可預(yù)知的,所以可能會(huì)使用一種自適應(yīng)算法。例如,某種形式的平均可能會(huì)用于考慮所述傳輸延遲內(nèi)的變化。至于ATM,ITU標(biāo)準(zhǔn)I.363.1和ATM“論壇標(biāo)準(zhǔn)”af-vtoa-0078概括地解釋了自適應(yīng)時(shí)鐘恢復(fù)機(jī)制的概念。但實(shí)際上,TDM時(shí)鐘的頻率與相位內(nèi)始終會(huì)存在一些微小的偏差,導(dǎo)致所述緩存器的緩慢漏泄或填充。
由于分組網(wǎng)絡(luò)的性質(zhì),分組可能會(huì)使用該分組網(wǎng)絡(luò)內(nèi)的任何兩個(gè)位置之間的若干路由,例如交換局、路由器之間的路由等。每個(gè)分組通過(guò)所述分組網(wǎng)絡(luò)從TPD傳播到PTD所花費(fèi)的時(shí)間可能會(huì)受到所述分組使用的各個(gè)路由的等待時(shí)間、業(yè)務(wù)負(fù)載、所提供帶寬以及其它因素的影響。因此,所述分組到達(dá)PTD的順序可能與TPD傳送它們的順序有所不同。
當(dāng)所傳送分組到達(dá)PTD的分組接收部分時(shí),所述分組必需在TDM數(shù)據(jù)流可被提取之前以其原始傳輸順序放置。這種重新排序是通過(guò)使用“重新定序引擎”實(shí)現(xiàn)的,在所述分組到達(dá)時(shí),所述“重新定序引擎”將該分組以最初傳送它們的順序進(jìn)行排序。這隨后允許以正確的順序從所述分組負(fù)載中提取原始TDM數(shù)據(jù)。典型的重新定序引擎維持兩個(gè)指向PTD隊(duì)列的指針。第一指針指向所述隊(duì)列內(nèi)的應(yīng)當(dāng)下一個(gè)讀取的分組,而另一指針指向具有所述隊(duì)列內(nèi)任何一個(gè)分組的最高序列號(hào)(SN)的棧內(nèi)的分組。讀指針被初始化為跟隨所述重新定序引擎的初始化接收的第一分組的序列號(hào)。
這種方法的潛在問題是,第一個(gè)所接收分組可能是被很早接收的“欺詐性分組”,因?yàn)橄惹胺纸M被阻塞在所述分組網(wǎng)絡(luò)內(nèi)。讀指針與所述隊(duì)列大小將共同定義所述隊(duì)列內(nèi)將會(huì)允許的分組序列號(hào)的范圍。所述的已接收分組的結(jié)果是,所述范圍可能會(huì)排除所有后續(xù)分組。所述隊(duì)列將會(huì)清空,且無(wú)數(shù)據(jù)可用于TDM輸出引擎。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種使隊(duì)列的填充與輸入分組流實(shí)現(xiàn)同步的方法,所述隊(duì)列存在于分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間的接口處,其用于存儲(chǔ)識(shí)別從所述分組網(wǎng)絡(luò)接收分組的分組識(shí)別符,所述方法包括在所述接口處接收分組;識(shí)別所述分組的序列號(hào);將指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針設(shè)置成某個(gè)值,該值為小于所識(shí)別序列號(hào)的預(yù)定量。
本發(fā)明第一方面的實(shí)施例使得如果檢測(cè)到所述隊(duì)列的輸出與輸入流已經(jīng)異步到因輸入分組太早或太遲到達(dá)而放棄其的程度,則重新同步所述輸出與所述輸入分組流。
在本發(fā)明第一方面的優(yōu)選實(shí)施例中,所述同步數(shù)據(jù)鏈路是可能會(huì)被用于傳送諸如話音呼叫的通信數(shù)據(jù)的TDM鏈路。
一般而言,所述隊(duì)列形成分組緩存器的一部分,所述緩存器包括用于存儲(chǔ)分組數(shù)據(jù)的存儲(chǔ)器。所述隊(duì)列被設(shè)置為存儲(chǔ)分組識(shí)別符,所述分組識(shí)別符識(shí)別從所述分組網(wǎng)絡(luò)接收的分組,以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置。優(yōu)選的是,所述隊(duì)列被實(shí)施為固定大小的圓形隊(duì)列。隊(duì)列范圍被定義為從讀指針到讀指針與所述隊(duì)列大小之和的分組序列號(hào)的范圍。具有所述隊(duì)列范圍內(nèi)的序列號(hào)的到達(dá)分組被所述隊(duì)列接受。具有所述隊(duì)列范圍之外的序列號(hào)的分組因?yàn)檫t或早被拒絕。由于讀指針增加,所以所述隊(duì)列范圍增加。根據(jù)本發(fā)明移動(dòng)所述的讀指針將會(huì)導(dǎo)致所述隊(duì)列范圍以相同數(shù)量改變。
同樣提供了一種管理隊(duì)列的方法,所述方法包括確定所述隊(duì)列的輸出與所述隊(duì)列的填充之間的同步水平,以及在所述水平降至某一門限值之下時(shí)執(zhí)行所述重新同步方法。
根據(jù)本發(fā)明第二方面,提供了一種用于將分組網(wǎng)絡(luò)接口到同步數(shù)據(jù)鏈路的網(wǎng)關(guān),其具有耦合到分組網(wǎng)絡(luò)以從該網(wǎng)絡(luò)接收分組的輸入端,以及耦合到所述同步數(shù)據(jù)鏈路以將同步數(shù)據(jù)輸出到此鏈路的輸出端,所述裝置包括
緩存器,其具有存儲(chǔ)器和隊(duì)列,所述存儲(chǔ)器用于存儲(chǔ)所接收分組數(shù)據(jù),所述隊(duì)列用于存儲(chǔ)分組識(shí)別符,所述分組識(shí)別符識(shí)別從所述分組網(wǎng)絡(luò)接收的分組,以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置;處理裝置,其用于識(shí)別所接收分組的序列號(hào),并將指向?qū)乃鲫?duì)列讀取的下一個(gè)分組識(shí)別符的讀指針設(shè)置為某個(gè)值,該值為小于所識(shí)別序列號(hào)的預(yù)定量。
根據(jù)本發(fā)明第三方面,提供了一種控制隊(duì)列的平均長(zhǎng)度的方法,所述隊(duì)列存在于分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間的接口處,用于存儲(chǔ)識(shí)別從所述分組網(wǎng)絡(luò)接收分組的分組識(shí)別符,所述方法包括保持指向?qū)乃鲫?duì)列讀取的下一個(gè)分組識(shí)別符的讀指針不變;通過(guò)提供欠載運(yùn)行指令并保持所述讀指針不變來(lái)響應(yīng)從同步數(shù)據(jù)鏈路發(fā)射機(jī)接收下一個(gè)分組請(qǐng)求,從而延長(zhǎng)平均隊(duì)列長(zhǎng)度;以及通過(guò)使所述同步數(shù)據(jù)鏈路發(fā)射機(jī)識(shí)別縮小的分組并使所述讀指針加1來(lái)響應(yīng)從所述發(fā)射機(jī)接收下一個(gè)分組請(qǐng)求,從而縮短平均隊(duì)列長(zhǎng)度。
本發(fā)明第三方面的實(shí)施例提供了一種將平均隊(duì)列長(zhǎng)度設(shè)置為由適當(dāng)控制器確定的最佳值的機(jī)制,所述控制器監(jiān)控所述隊(duì)列長(zhǎng)度,能夠處理較遲到達(dá)的分組內(nèi)的短期波動(dòng),而不會(huì)將不必要的漫長(zhǎng)等待時(shí)間引入數(shù)據(jù)傳輸過(guò)程。
所述縮小的分組可能是所述讀指針指向的分組識(shí)別符當(dāng)前指向的分組。當(dāng)所述分組的實(shí)際大小無(wú)法縮短時(shí),即所述分組內(nèi)的數(shù)據(jù)量保持不變時(shí),向輸出引擎提供的數(shù)據(jù)被修改為指示所述分組大小被縮短。所述輸出引擎將僅傳送所減少數(shù)量的數(shù)據(jù)(可能為零),同時(shí)將所述分組占用的所有存儲(chǔ)空間分配到空閑存儲(chǔ)集合。所述的讀指針將前移到指向所述隊(duì)列內(nèi)的下一個(gè)時(shí)隙的點(diǎn)。
在本發(fā)明的實(shí)施例中,所述減少平均隊(duì)列長(zhǎng)度的步驟包括修改分組數(shù)據(jù)的標(biāo)題的分組長(zhǎng)度字段,所述分組數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器內(nèi)并由所述分組識(shí)別符指向,而所述分組識(shí)別符由所述的讀指針指向。優(yōu)選的是,分組數(shù)據(jù)被以一個(gè)或多個(gè)區(qū)組存儲(chǔ)在所述緩沖存儲(chǔ)器內(nèi),且被作為縮短操作的一部分而修改的是前端區(qū)組的描述符。
應(yīng)當(dāng)理解的是,本發(fā)明第三方面尤其適用于其中所述同步數(shù)據(jù)鏈路是TDM鏈路的體系結(jié)構(gòu)。實(shí)施細(xì)節(jié)如以上本發(fā)明第一方面所述。
根據(jù)本發(fā)明第四方面,提供了一種用于將分組網(wǎng)絡(luò)接口到同步數(shù)據(jù)鏈路的網(wǎng)關(guān),其具有耦合到分組網(wǎng)絡(luò)以從該網(wǎng)絡(luò)接收分組的輸入端,以及耦合到所述同步數(shù)據(jù)鏈路以將同步數(shù)據(jù)輸出到此鏈路的輸出端,所述裝置包括緩存器,其具有存儲(chǔ)器與隊(duì)列,所述存儲(chǔ)器用于存儲(chǔ)所接收分組數(shù)據(jù),所述隊(duì)列用于存儲(chǔ)分組識(shí)別符,所述分組識(shí)別符用于識(shí)別從所述分組網(wǎng)絡(luò)接收的分組,以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置;以及控制裝置,其用于保持指向?qū)乃鲫?duì)列讀取的下一個(gè)分組識(shí)別符的讀指針不變,通過(guò)以提供欠載運(yùn)行指令并保持所述讀指針不變響應(yīng)從所述同步數(shù)據(jù)鏈路發(fā)射機(jī)接收下一個(gè)分組請(qǐng)求,延長(zhǎng)平均隊(duì)列長(zhǎng)度,以及通過(guò)以使同步數(shù)據(jù)鏈路發(fā)射機(jī)識(shí)別縮小的分組并使所述讀指針加1響應(yīng)從所述發(fā)射機(jī)接收下一個(gè)分組請(qǐng)求,縮短平均隊(duì)列長(zhǎng)度。
優(yōu)選的是,所述控制裝置包括用于監(jiān)控所述隊(duì)列長(zhǎng)度、用于確定最佳平均隊(duì)列長(zhǎng)度、以及用于啟動(dòng)延長(zhǎng)與縮短操作以將所述平均隊(duì)列長(zhǎng)度維持在所述最佳平均長(zhǎng)度的裝置。
通過(guò)將本發(fā)明第一與第三方面的方法組合起來(lái),并通過(guò)實(shí)施組合本發(fā)明第一與第三方面的特征的網(wǎng)關(guān)可實(shí)現(xiàn)顯著優(yōu)點(diǎn)。
圖1示出了兩個(gè)TDM鏈路經(jīng)由分組網(wǎng)絡(luò)的互通;圖2示出了被實(shí)施為圓形緩存器的PTD的隊(duì)列;
圖3A示出了從TPD傳送的分組流;圖3B示出了由PTD接收的數(shù)據(jù)流;圖4是說(shuō)明隊(duì)列寫算法的流程圖;圖5是說(shuō)明隊(duì)列讀算法的流程圖;以及圖6是說(shuō)明HRSN更新算法的流程圖。
具體實(shí)施例方式
設(shè)想圖1所示的情況,其中位于對(duì)應(yīng)客戶住宅2、3內(nèi)的TDM發(fā)射機(jī)4、5經(jīng)由TDM鏈路耦合到載波網(wǎng)絡(luò)1的接口節(jié)點(diǎn)6、7(所述接口節(jié)點(diǎn)以下稱為TDM到分組設(shè)備(TPD)和分組到TDM設(shè)備(PTD)),分組從TPD 6的傳輸速度是等時(shí)的并由適當(dāng)振蕩器8所提供的業(yè)務(wù)頻率(fservice)確定。但是,分組到達(dá)PTD 7的速度會(huì)被中介分組網(wǎng)絡(luò)擾亂。分組通常將以通過(guò)改變延遲量而分開的突發(fā)到達(dá)。連續(xù)分組與突發(fā)之間的延遲將會(huì)依據(jù)所述網(wǎng)絡(luò)內(nèi)的業(yè)務(wù)量而有所不同。所述網(wǎng)絡(luò)的特點(diǎn)是不確定性的,但是長(zhǎng)期而言到達(dá)目的地的速度將會(huì)與從信源離開的速度相等。
在TPD 6內(nèi),時(shí)戳在傳輸之前被置于每個(gè)分組的標(biāo)題內(nèi)。所述時(shí)戳此處被稱為“遠(yuǎn)程時(shí)戳”,是自從初始化之后在輸入TDM鏈路上接收的比特運(yùn)行總數(shù)(所述數(shù)量的卷繞將會(huì)避免計(jì)數(shù)器溢出)。
來(lái)自PTD 7內(nèi)的TDM“輸出”引擎的輸出是等時(shí)的,并由文中稱為“再生”頻率(fregen)的第二業(yè)務(wù)頻率確定。這由數(shù)字控制振蕩器(DCO)9提供。所述TDM輸出引擎從分組延遲改變(PDV)緩存器10提供。如果在所述TDM輸出端要求傳送時(shí)所述緩存器10具有零個(gè)分組,則將會(huì)發(fā)生不良的欠載運(yùn)行。為了使欠載運(yùn)行事件最小化,必須將PDV緩存器10建立為,包括足夠分組以為大部分分組間延遲提供TDM輸出。但是,所述PDV緩存器10無(wú)法被制成任意大,因?yàn)檫@會(huì)直接增加端到端等待時(shí)間,所述等待時(shí)間一般被要求為盡可能的短,最大的可容忍等待時(shí)間取決于應(yīng)用。例如,與數(shù)據(jù)相比話音需要更短的等待時(shí)間。
當(dāng)分組到達(dá)PTD 7的分組輸入端時(shí),所述分組被置于PDV緩存器10內(nèi)。所述分組數(shù)據(jù)被作為一個(gè)或多個(gè)“區(qū)組”的鏈接鏈存儲(chǔ)在緩沖存儲(chǔ)器內(nèi)。每個(gè)區(qū)組都包括記錄所述鏈內(nèi)的區(qū)組量的標(biāo)題或描述符,以及指示所述區(qū)組是所述鏈內(nèi)的第一區(qū)組、最后一個(gè)區(qū)組、中間的區(qū)組還是僅是所述鏈內(nèi)的區(qū)組的標(biāo)志。區(qū)組還包括存儲(chǔ)實(shí)際分組數(shù)據(jù)的數(shù)據(jù)區(qū)。指向所述分組存儲(chǔ)位置的指針(“存儲(chǔ)指針”)被置于分組隊(duì)列內(nèi)。如上所述,所述存儲(chǔ)指針包括所述分組的第一區(qū)組與最后一個(gè)區(qū)組的地址以及所述分組內(nèi)的區(qū)組數(shù)。所述PTD 7維持TDM輸出端計(jì)數(shù),所述計(jì)數(shù)為在呼出TDM鏈路上發(fā)送的比特運(yùn)行總數(shù)——所述計(jì)數(shù)被初始化為第一個(gè)所接收的遠(yuǎn)程時(shí)戳。使用所述計(jì)數(shù)以及自適應(yīng)時(shí)鐘控制算法可得到所接收分組的本地時(shí)戳,所述自適應(yīng)時(shí)鐘算法通過(guò)使用遠(yuǎn)程與本地時(shí)戳來(lái)同步業(yè)務(wù)與再生時(shí)鐘頻率。技術(shù)人員應(yīng)當(dāng)理解的是,各種不同的算法可用于此目的,此處不再贅述。
如圖2所示,所述隊(duì)列被建造為圓形緩存器。應(yīng)當(dāng)理解的是,由于可能的序列號(hào)數(shù)量大于所述隊(duì)列內(nèi)可用于存儲(chǔ)分組的時(shí)隙量,所以必需解釋每個(gè)分組的序列號(hào),并將其映射到所述隊(duì)列內(nèi)的正確時(shí)隙。通過(guò)將可能的隊(duì)列大小限制為2的乘方(即,2、4、8、16、32、64、128、256、512、1024時(shí)隙),將分組映射到隊(duì)列時(shí)隙的操作可通過(guò)從所述序列號(hào)屏蔽適當(dāng)數(shù)量的最高有效位,從而生成隊(duì)列時(shí)隙地址來(lái)實(shí)現(xiàn)。
如上所述,由于所述分組網(wǎng)絡(luò)的性質(zhì),分組可能不會(huì)順序到達(dá)PTD 7。當(dāng)從所述TPD 6發(fā)送所述分組時(shí),所述分組與序列號(hào)一起被添加在RTP或偽線協(xié)議標(biāo)題內(nèi)。下一個(gè)分組接收比先前分組大一的序列號(hào)。由于該序列號(hào)定義原始傳輸順序,所以該序列號(hào)是在PTD內(nèi)重新排序所述分組的關(guān)鍵。當(dāng)在PTD 7內(nèi)接收所述分組時(shí),一旦從所述分組的RTP或偽有線協(xié)議標(biāo)題提取每個(gè)分組即通過(guò)檢查所述每個(gè)分組的序列號(hào)重新獲得所述原始順序。
圖3A示出了每隔一定間隔以原始傳送順序離開TPD 6的分組接口的分組的實(shí)例。在此實(shí)例中,將被傳送的第一分組帶有序列號(hào)“1”;在此之后所述分組以序列號(hào)順序跟隨。圖3B示出了TPD 6與PTD 7之間的不同路由如何影響所述分組到達(dá)PTD的順序。這是分組如何以與其原始傳輸順序不同的順序到達(dá)PTD的實(shí)例。如果所述PTD 7嘗試以圖3B的示例接收順序從所述分組中提取原始TDM信道數(shù)據(jù),所述PTD 7將會(huì)失敗,因?yàn)樗鯰DM數(shù)據(jù)失序并因而有訛誤。
在起動(dòng)所述分組流之后,在所述TDM輸出引擎從緩存器請(qǐng)求第一分組之前存在短暫的延遲。所述延遲為所述分組流的最初幾個(gè)分組,即圖3B實(shí)例中的分組1、2和5提供到達(dá)時(shí)間。雖然分組3和4在分組5之后到達(dá),但由于分組3和4順序在前,因而對(duì)應(yīng)指針在隊(duì)列內(nèi)被置于分組5之前。在從緩存器請(qǐng)求分組3和4之前,初始延遲為所述分組3和4提供到達(dá)時(shí)間。這種重新定序過(guò)程一直繼續(xù),直至此實(shí)例中的所有十個(gè)分組到達(dá),且以TPD傳送所述分組的原始順序?qū)?duì)應(yīng)存儲(chǔ)指針置于隊(duì)列內(nèi)。一旦所述輸出引擎從緩存器中讀出分組,且從分組區(qū)組提取分組數(shù)據(jù),所述輸出引擎即會(huì)將組成該分組的(多個(gè))區(qū)組釋放到空閑區(qū)組集合。這允許可將新的分組數(shù)據(jù)寫到這些區(qū)組。圖4是說(shuō)明用于將分組寫到緩存器/隊(duì)列的算法的流程圖,而圖5是說(shuō)明用于從緩存器/隊(duì)列讀取分組的算法的流程圖。
所述隊(duì)列與兩個(gè)外部指針相關(guān)1)讀指針(RP),其包括將從所述隊(duì)列讀取的下一分組的序列號(hào),即指向隊(duì)列前部的指針。
2)這樣一種指針,其包括將被成功加入所述隊(duì)列的帶有最高序列號(hào)的分組的序列號(hào)。這種指針被稱為最高接收序列號(hào)(HRSN)指針,即指向所述隊(duì)列的末尾或末端的指針。圖6示出了用于更新HRSN指針的算法。
所述的讀指針和HRSN指針被用于如下計(jì)算所述隊(duì)列的長(zhǎng)度所述隊(duì)列的長(zhǎng)度=(HRSN指針-讀指針)+1該值作為所述隊(duì)列的長(zhǎng)度,即使其可能包括間隙。所述隊(duì)列內(nèi)留有的間隙易于并未到達(dá)的分組以其原始傳輸順序的插入。由于所述間隙可由恰當(dāng)分組在所述的讀指針加1而超過(guò)所述位置之前的任何時(shí)刻填充,因此所述間隙必須被計(jì)入隊(duì)列長(zhǎng)度計(jì)算。(應(yīng)當(dāng)注意的是,該公式并未考慮到HRSN指針合理地小于讀指針的情況。)如前所述,所述隊(duì)列的平均長(zhǎng)度(與固定值的隊(duì)列“大小”不同,在圖3的實(shí)例中,所述隊(duì)列長(zhǎng)度為8)對(duì)于確定傳輸路徑的等待時(shí)間和系統(tǒng)處理分組網(wǎng)絡(luò)傳輸?shù)耐话l(fā)性質(zhì)的能力相當(dāng)重要。一般而言,微處理器將會(huì)用于監(jiān)控與調(diào)整平均隊(duì)列長(zhǎng)度。
用于將分組置于所述隊(duì)列內(nèi)的算法可如下概括表示(確切地說(shuō),應(yīng)當(dāng)參考將分組存儲(chǔ)指針置于所述隊(duì)列內(nèi),但為簡(jiǎn)化起見此處使用術(shù)語(yǔ)分組)1.在起動(dòng)所述分組流時(shí),將到達(dá)的第一分組被置于所述隊(duì)列的前部,無(wú)論該分組的序列號(hào)為何。讀指針與HRSN指針都被設(shè)置為所述第一分組的序列號(hào)。
2.如果帶有當(dāng)前讀指針與HRSN指針之間的序列號(hào)的分組到達(dá),則其在所述隊(duì)列內(nèi)被插入該序列號(hào)映射到的位置處。
3.如果帶有大于HRSN指針當(dāng)前值并且小于“讀指針與隊(duì)列大小之和”的序列號(hào)的分組到達(dá),則其被置于所述隊(duì)列的該分組序列號(hào)映射到的位置處。然后所述HRSN指針被更新為新增加分組的序列號(hào)。
4.如果帶有與讀指針指向的序列號(hào)相比更小的序列號(hào)的分組到達(dá),則所述分組由于“較遲”到達(dá)而被放棄。
5.如果帶有大于“讀指針與隊(duì)列大小之和”的序列號(hào)的分組到達(dá),則該分組被視為“早分組”而被放棄。(例如,讀指針為7,隊(duì)列大小為16個(gè)分組,且接收到帶有序列號(hào)25的分組。由于25大于“讀指針+隊(duì)列大小”=16+7=23,因此分組為早分組)6.如果與所述隊(duì)列內(nèi)已存在的分組帶有相同序列號(hào)的分組到達(dá)(即,復(fù)制序列號(hào)),則該新分組被視為“遲分組”而被放棄。
因?yàn)樗龇纸M序列號(hào)內(nèi)的比特量是有限的,所以所述序列號(hào)將在某一時(shí)點(diǎn)從其最大值翻轉(zhuǎn)到零。驗(yàn)證所述分組并確保其不早或不晚的進(jìn)程能夠檢測(cè)序列號(hào)翻轉(zhuǎn)何時(shí)會(huì)影響當(dāng)前分組驗(yàn)證。在當(dāng)前隊(duì)列范圍跨過(guò)零序列號(hào)時(shí),翻轉(zhuǎn)成為問題。這種情況的實(shí)例是隊(duì)列大小為16個(gè)分組且使用16比特序列號(hào)時(shí)(即序列號(hào)范圍為0-65535)。如果讀指針當(dāng)前為65530,則所述隊(duì)列的范圍包括65330到9在內(nèi),即所述隊(duì)列的范圍跨過(guò)零序列號(hào)。
HRSN指針相對(duì)于讀指針的位置跟蹤迄今為止成功加入所述隊(duì)列的最高分組序列號(hào)。換言之,所述HRSN指針指向所述隊(duì)列的末端或末尾,這對(duì)于計(jì)算所述隊(duì)列的長(zhǎng)度相當(dāng)重要。所述HRSN僅被在將分組寫入所述隊(duì)列的操作期間內(nèi)更新。所述HRSN指針與所接收分組的序列號(hào)一樣將在某一時(shí)點(diǎn)翻轉(zhuǎn),可能存在所述隊(duì)列范圍跨過(guò)翻轉(zhuǎn)(或零序列號(hào))點(diǎn)的情況。在這種情況下,HRSN指針的數(shù)值可能小于讀指針但仍被正確設(shè)置。這可通過(guò)觀測(cè)SN與HRSN指針的最高有效位得以檢測(cè)。應(yīng)當(dāng)注意的是,由于在將分組加入所述隊(duì)列之后更新所述HRSN指針,這意味著所述分組已被驗(yàn)證為有效且在所述隊(duì)列范圍內(nèi)。這便于在SN的數(shù)值小于HRSN指針時(shí)檢測(cè)翻轉(zhuǎn)的實(shí)例。
如上所述,微處理器負(fù)責(zé)監(jiān)控平均隊(duì)列長(zhǎng)度以及調(diào)整該隊(duì)列長(zhǎng)度。一種用于實(shí)現(xiàn)這種控制的機(jī)制是使用延長(zhǎng)與縮短功能,所述微處理器可指令所述隊(duì)列啟動(dòng)該功能。
隊(duì)列延長(zhǎng)功能這種功能使得所述隊(duì)列的平均長(zhǎng)度每次延長(zhǎng)一個(gè)分組。在啟動(dòng)延長(zhǎng)功能時(shí),當(dāng)從所述隊(duì)列請(qǐng)求下一分組,而不是返回讀指針處的分組時(shí),提供欠載運(yùn)行指令。欠載運(yùn)行指令引起TDM輸出引擎將模擬數(shù)據(jù)而不是從緩存器中讀取的實(shí)際數(shù)據(jù)包括在下一時(shí)隙內(nèi)。所述的欠載運(yùn)行指令的“長(zhǎng)度”可(由微處理器)編程為指示字節(jié)從0到當(dāng)前分組流所允許最大值,直到絕對(duì)最大值2048字節(jié)的任何適當(dāng)數(shù)值。在此操作之后讀指針保持不變。由于在此期間(平均而言)內(nèi)期望在PTD內(nèi)接收一個(gè)分組,因此所述隊(duì)列長(zhǎng)度將平均增加一個(gè)分組。
隊(duì)列縮短功能這種功能使得所述隊(duì)列的平均長(zhǎng)度每次縮短一個(gè)分組。在啟動(dòng)所述縮短功能時(shí),當(dāng)從緩存器中請(qǐng)求下一分組時(shí),所述隊(duì)列控制器(根據(jù)所述隊(duì)列內(nèi)的下一讀指針)識(shí)別所述的下一分組的前端區(qū)組,并修改前端區(qū)組的描述符。在此操作中,所述區(qū)組的(分組長(zhǎng)度)標(biāo)題字段可改變?yōu)槠洚?dāng)前長(zhǎng)度與零之間的任意值。例如考慮所述分組長(zhǎng)度被縮短到零的情況。所述TDM輸出引擎將從所述隊(duì)列的前端接收指針,并檢索所指示分組的前端區(qū)組的描述符。由于所述前端區(qū)組的描述符將指示長(zhǎng)度為零,所以所述輸出引擎將不會(huì)在下一時(shí)隙內(nèi)發(fā)送數(shù)據(jù),因此立即將其它分組請(qǐng)求傳送到所述隊(duì)列。但是,在所檢索分組指針內(nèi)識(shí)別的區(qū)組將被釋放到空閑區(qū)組集合作為它用。每個(gè)分組請(qǐng)求將使得讀指針增加,因此縮短功能的啟動(dòng)將使得讀指針增加兩次。在此期間內(nèi),平均一個(gè)分組將被接收到所述隊(duì)列內(nèi)。最終結(jié)果將是平均隊(duì)列長(zhǎng)度縮短一個(gè)分組。
延長(zhǎng)與縮短功能的一個(gè)目的是提供保持PTD的TDM輸出端與TPD的TDM輸入端的時(shí)鐘同步的靈活性。PTD內(nèi)的頻率fservice將被調(diào)整為與TPD的TDM輸入端的頻率fservice盡可能地接近,但仍可能存在差異。使用延長(zhǎng)與縮短功能調(diào)整所述隊(duì)列的能力意味著能夠補(bǔ)償兩個(gè)時(shí)鐘之間的任何差異,以確保所述的隊(duì)列不會(huì)欠載運(yùn)行或溢出。
在某些情況下,讀指針可能必需與分組數(shù)據(jù)流重新同步。最理想的是,無(wú)需停止和重新啟動(dòng)所述分組流即可實(shí)現(xiàn)所述重新同步。例如考慮這樣一種情況,其中分組流的第一個(gè)所接收分組是欺詐性、離題或訛誤的分組,且讀指針最初被設(shè)置為所述第一分組的序列號(hào)。如果所述分組與隨后接收的作為“本征”分組流一部分的分組具有顯著不同的序列號(hào),則所述的本征分組流會(huì)被放棄,因?yàn)檫@些分組的序列號(hào)相對(duì)于第一接收分組而言不屬于所述隊(duì)列的范圍。
如果主分組流中存在大量分組丟失(例如,歸因于所述分組網(wǎng)絡(luò)內(nèi)的故障鏈路),則相關(guān)問題出現(xiàn)。緊隨此中斷,一旦PTD起動(dòng)再次從所述的主分組流接收分組,外部隊(duì)列指針(RP和HRSN)很可能會(huì)與所述的主分組流不一致。
為了克服這些問題,微處理器能夠啟動(dòng)“重新同步”功能,以使讀指針重新與所述的主分組流一致。如果微處理器確定所述TDM輸出引擎要求的分組正被放棄,則請(qǐng)求所述啟動(dòng)。該功能允許重新設(shè)置所述隊(duì)列的讀指針,并使得所述的讀指針在重新同步之后與所接收第一分組的序列號(hào)一致。讀指針的這種方式的直接修改很重要,因?yàn)殛P(guān)于所述分組是否在隊(duì)列范圍內(nèi)的判定是基于所述的讀指針。
一旦啟動(dòng)重新同步,在PTD內(nèi)接收的其它分組即被放棄。由于分組仍然將由PTD的TDM傳送部分請(qǐng)求,所述緩存器(以及隊(duì)列)最終將會(huì)清空。一旦所述隊(duì)列為空,即執(zhí)行重新定序操作,其包括以下步驟1.將所述的讀指針設(shè)置為下一個(gè)所接收分組的序列號(hào)減去二分之一隊(duì)列大小,即所述的讀指針被置于下一個(gè)所接收分組之前距離二分之一隊(duì)列大小處。
2.將HRSN指針設(shè)置為下一個(gè)所接收分組的序列號(hào)。
如果所述隊(duì)列大小為16,且下一個(gè)所接收分組的序列號(hào)(緊隨重新同步功能的啟動(dòng)之后)為64,則所述的讀指針將被設(shè)置為64減去16的二分之一=>讀指針=64-8=56。實(shí)際上,所述重新同步操作通過(guò)將所述的讀指針置于第一個(gè)所接收分組之前距離隊(duì)列大小二分之一處,將重新同步之后接收的第一個(gè)所接收分組置于所述隊(duì)列相對(duì)于讀指針的中間處。
除了克服欺詐性分組或分組傳輸內(nèi)的中斷引起的問題之外,如果可以追蹤到TDM時(shí)鐘頻率之間的差異大于自適應(yīng)時(shí)鐘恢復(fù)方案,則重新同步還能夠做出使PTD內(nèi)的TDM時(shí)鐘與TPD內(nèi)的TDM時(shí)鐘同步的新嘗試??紤]當(dāng)首先起動(dòng)PTD內(nèi)的隊(duì)列時(shí)的情況。可能將再生時(shí)鐘(fregen)最初設(shè)置為與用戶住宅2內(nèi)的原始時(shí)鐘(fservice)顯著不同。
首先考慮時(shí)鐘(fregen)具有比時(shí)鐘(fservice)更高的頻率的情況。在這種情況下,與分組從分組網(wǎng)絡(luò)到達(dá)相比,將更為迅速地從PTD隊(duì)列中請(qǐng)求分組。而這意味著與分組到達(dá)以占據(jù)所述隊(duì)列內(nèi)的位置相比,所述隊(duì)列范圍增長(zhǎng)更為迅速。因此,應(yīng)當(dāng)被正確加入所述隊(duì)列的分組將會(huì)顯示為較遲,并被如此標(biāo)記。因此,如果分組流從序列號(hào)1開始,則帶有序列號(hào)10的分組可能到達(dá)PTD,即使再生時(shí)鐘頻率(fregen)表示TDM輸出引擎正請(qǐng)求帶有序列號(hào)20的分組。如果所述隊(duì)列大小被設(shè)置為8,這將意味著讀指針(被設(shè)置為序列號(hào)19)將會(huì)拒絕分組10。
以下將考慮再生時(shí)鐘頻率(fregen)遠(yuǎn)低于原始時(shí)鐘頻率(fservice)的情況,即與從所述隊(duì)列的前端讀取分組相比,到達(dá)分組流以更快的速度到達(dá)。這意味著所述隊(duì)列范圍無(wú)法相對(duì)于輸入分組流足以迅速地通過(guò)序列號(hào)增加。所述隊(duì)列將會(huì)充滿(最終溢出),而且其它分組將會(huì)由于“早”而被放棄。再次考慮分組流從序列號(hào)1開始且隊(duì)列大小被設(shè)置為8的情況,其中以穩(wěn)定速度從所述隊(duì)列讀取分組,以穩(wěn)定速度到達(dá)的分組被置于隊(duì)列內(nèi)。分組10可能會(huì)在從所述隊(duì)列讀取分組3時(shí)到達(dá),而分組20可能在從所述隊(duì)列讀取分組5時(shí)到達(dá),即所述隊(duì)列范圍無(wú)法通過(guò)序列號(hào)迅速變化以免落后于到達(dá)的分組。
在兩種情況下,在分組由于不在所述隊(duì)列范圍內(nèi)而被拒絕之前,PTD的TDM輸出端內(nèi)的時(shí)鐘頻率無(wú)法迅速會(huì)聚從而與原始時(shí)鐘(fservice)匹配。在調(diào)整再生時(shí)鐘頻率(fregen)之后,所述隊(duì)列將必需執(zhí)行重新同步操作,以確保所述隊(duì)列再次與輸入主分組流同步。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,在并不背離本發(fā)明范圍情況下可對(duì)上述實(shí)施例做出各種修改。例如,用于存儲(chǔ)指向分組的存儲(chǔ)指針的方法可能會(huì)與被構(gòu)造為圓形緩存器的隊(duì)列不同。分組可能會(huì)被存儲(chǔ)在線性隊(duì)列內(nèi),使用鏈接表索引該隊(duì)列。當(dāng)每個(gè)分組到達(dá)時(shí),其被存儲(chǔ)在下一空隊(duì)列時(shí)隙內(nèi),不論其序列號(hào)為何。然后使用鏈接表索引所述分組,這使得每個(gè)分組的序列號(hào)與其在所述隊(duì)列的位置相關(guān)。如果分組必需被加入兩個(gè)現(xiàn)有分組之間的隊(duì)列,則鏈接表將被修改為將所述分組插入正確位置的索引??赡軙?huì)將空隊(duì)列時(shí)隙的獨(dú)立索引保持為跟蹤可用于存儲(chǔ)新分組的時(shí)隙。
在上述的實(shí)施方式中,通過(guò)提供程序化長(zhǎng)度的欠載運(yùn)行指令而非下一分組來(lái)執(zhí)行延長(zhǎng)操作。所述延長(zhǎng)操作還可如此操作再次提供先前分組,而并不增加所述的讀指針;提供下一分組,而并不增加所述的讀指針;提供HRSN指針處的最后一個(gè)分組,而并不增加所述的讀指針;從所述隊(duì)列的當(dāng)前范圍隨機(jī)提供分組,而并不增加所述的讀指針;提供指定數(shù)據(jù),而并不增加所述的讀指針。所述指定數(shù)據(jù)可能為舒適噪音。
在上述實(shí)施方式中,通過(guò)修改下一分組的標(biāo)題內(nèi)的長(zhǎng)度字段來(lái)執(zhí)行縮短操作。這也可如下得以實(shí)現(xiàn)刪除所述隊(duì)列前端的分組,并增加所述的讀指針。替代修改所述分組標(biāo)題的長(zhǎng)度字段,數(shù)據(jù)可能實(shí)際上會(huì)從存儲(chǔ)在所述隊(duì)列內(nèi)的分組中刪除。
替代HRSN指針,所述隊(duì)列可能將所述隊(duì)列的長(zhǎng)度值保持為其延伸在所述的讀指針之前的時(shí)隙數(shù)量。然后替代基于HRSN指針的當(dāng)前值計(jì)算隊(duì)列長(zhǎng)度的實(shí)施方式,基于所述隊(duì)列長(zhǎng)度的當(dāng)前值計(jì)算所述HRSN指針。
以下將考慮重新同步功能,而不是等待從所述隊(duì)列讀取所有剩余分組,重新同步可能會(huì)在被請(qǐng)求時(shí)發(fā)生。所述隊(duì)列內(nèi)的現(xiàn)有分組將會(huì)被刪除,而無(wú)需等待其被正常讀出。下一分組然后被插入所述隊(duì)列,基于新分組的序列號(hào)修改讀指針與HRSN指針。
只要所述隊(duì)列變?yōu)榭?,重新同步就?huì)自動(dòng)發(fā)生。當(dāng)檢測(cè)所述隊(duì)列為空時(shí),在接收下一分組時(shí)調(diào)用所述重新同步功能,所述的下一分組因此被視為“第一分組”。
權(quán)利要求
1.一種用于使隊(duì)列的填充與輸入分組流實(shí)現(xiàn)同步的方法,所述隊(duì)列存在于分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間的接口中,用于存儲(chǔ)識(shí)別從所述分組網(wǎng)絡(luò)所接收的分組的分組識(shí)別符,所述方法包括在所述接口中接收分組;識(shí)別所述分組的序列號(hào);將指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針設(shè)置成這樣的值,即所述值為小于所識(shí)別的序列號(hào)的預(yù)定量。
2.根據(jù)權(quán)利要求1的方法,其中所述同步數(shù)據(jù)鏈路是TDM鏈路。
3.根據(jù)權(quán)利要求1的方法,其中所述隊(duì)列形成分組緩存器的一部分,所述緩存器包括用于存儲(chǔ)分組數(shù)據(jù)的存儲(chǔ)器,且所述隊(duì)列被設(shè)置為存儲(chǔ)分組識(shí)別符,其中所述分組識(shí)別符用于識(shí)別從所述分組網(wǎng)絡(luò)接收到的分組以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置。
4.根據(jù)權(quán)利要求3的方法,其中隊(duì)列范圍被定義為從所述讀指針到所述讀指針與所述隊(duì)列大小之和的分組序列號(hào)的范圍,具有所述隊(duì)列范圍內(nèi)的序列號(hào)的到達(dá)分組被所述隊(duì)列接受,而具有所述隊(duì)列范圍之外的序列號(hào)的分組因?yàn)檫t或早而被拒絕。
5.一種管理分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間接口中的緩存隊(duì)列的方法,所述方法包括確定所述隊(duì)列的釋放與所述隊(duì)列的填充之間的同步水平,以及在所述水平降至某個(gè)門限值之下時(shí),執(zhí)行根據(jù)上述權(quán)利要求中任何一個(gè)的同步方法。
6.一種用于將分組網(wǎng)絡(luò)接口到同步數(shù)據(jù)鏈路的網(wǎng)關(guān),所述網(wǎng)關(guān)具有耦合到分組網(wǎng)絡(luò)以從所述分組網(wǎng)絡(luò)接收分組的輸入端,以及耦合到所述同步數(shù)據(jù)鏈路以將同步數(shù)據(jù)釋放到所述同步數(shù)據(jù)鏈路的輸出端,所述裝置包括緩存器,其具有存儲(chǔ)器與隊(duì)列,所述存儲(chǔ)器用于存儲(chǔ)所接收的分組數(shù)據(jù),而所述隊(duì)列用于存儲(chǔ)分組識(shí)別符,其中所述分組識(shí)別符用于識(shí)別從所述分組網(wǎng)絡(luò)接收的分組以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置;處理裝置,其用于識(shí)別所接收分組的序列號(hào),并將指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針設(shè)置為這樣的值,即所述值為小于所識(shí)別序列號(hào)的預(yù)定量。
7.一種控制隊(duì)列的平均長(zhǎng)度的方法,所述隊(duì)列存在于分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間的接口中,其用于存儲(chǔ)識(shí)別從所述分組網(wǎng)絡(luò)所接收分組的分組識(shí)別符,所述方法包括保持指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針;通過(guò)提供欠載運(yùn)行指令并保持所述的讀指針不變,來(lái)響應(yīng)從所述同步數(shù)據(jù)鏈路發(fā)射機(jī)接收下一分組請(qǐng)求,從而延長(zhǎng)所述平均隊(duì)列長(zhǎng)度;以及通過(guò)使所述同步數(shù)據(jù)鏈路發(fā)射機(jī)識(shí)別縮小的分組并使所述的讀指針加1,來(lái)響應(yīng)從所述發(fā)射機(jī)接收到下一分組請(qǐng)求,從而縮短所述平均隊(duì)列長(zhǎng)度。
8.根據(jù)權(quán)利要求7的方法,其中所述縮短平均隊(duì)列長(zhǎng)度的步驟包括修改分組數(shù)據(jù)的標(biāo)題內(nèi)的分組長(zhǎng)度字段,其中所述分組數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器內(nèi),且由所述分組識(shí)別符所指向。
9.根據(jù)權(quán)利要求7的方法,其中所述同步鏈路是TDM鏈路。
10.根據(jù)權(quán)利要求7的方法,其中所述隊(duì)列形成分組緩存器的一部分,所述緩存器包括用于存儲(chǔ)分組數(shù)據(jù)的存儲(chǔ)器,且所述隊(duì)列被設(shè)置為存儲(chǔ)分組識(shí)別符,其中所述分組識(shí)別符用于識(shí)別從所述分組網(wǎng)絡(luò)接收的分組以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置。
11.根據(jù)權(quán)利要求10的方法,其中隊(duì)列范圍被定義為從所述讀指針到所述讀指針與所述隊(duì)列大小之和的分組序列號(hào)的范圍,具有所述隊(duì)列范圍內(nèi)的序列號(hào)的到達(dá)分組被所述隊(duì)列接受,而具有所述隊(duì)列范圍之外的序列號(hào)的分組因?yàn)檫t或早而被拒絕。
12.一種用于將分組網(wǎng)絡(luò)接口到同步數(shù)據(jù)鏈路的網(wǎng)關(guān),所述網(wǎng)關(guān)具有耦合到分組網(wǎng)絡(luò)以從所述分組網(wǎng)絡(luò)接收分組的輸入端,以及耦合到所述同步數(shù)據(jù)鏈路以將同步數(shù)據(jù)釋放到所述同步數(shù)據(jù)鏈路的輸出端,所述裝置包括緩存器,其具有存儲(chǔ)器以及隊(duì)列,所述存儲(chǔ)器用于存儲(chǔ)所接收分組數(shù)據(jù),而所述隊(duì)列用于存儲(chǔ)分組識(shí)別符,其中所述分組識(shí)別符用于識(shí)別從所述分組網(wǎng)絡(luò)接收的分組以及所述分組在所述緩沖存儲(chǔ)器內(nèi)的對(duì)應(yīng)存儲(chǔ)位置;以及控制裝置,其用于保持指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針,并通過(guò)提供欠載運(yùn)行指令和保持所述的讀指針不變來(lái)響應(yīng)從所述同步數(shù)據(jù)鏈路發(fā)射機(jī)接收下一分組請(qǐng)求,從而延長(zhǎng)所述平均隊(duì)列長(zhǎng)度,且通過(guò)使所述同步數(shù)據(jù)鏈路發(fā)射機(jī)識(shí)別縮小的分組和使所述的讀指針加1,來(lái)響應(yīng)從所述發(fā)射機(jī)接收下一分組請(qǐng)求,從而縮短所述平均隊(duì)列長(zhǎng)度。
13.根據(jù)權(quán)利要求12的網(wǎng)關(guān),其中所述控制裝置包括這樣一種裝置,其用于監(jiān)控所述隊(duì)列的長(zhǎng)度,確定最佳平均隊(duì)列長(zhǎng)度,以及啟動(dòng)延長(zhǎng)與縮短操作以使所述平均隊(duì)列長(zhǎng)度保持為所述最佳平均長(zhǎng)度。
全文摘要
一種用于使隊(duì)列的填充與輸入分組流實(shí)現(xiàn)同步的方法,所述隊(duì)列存在于分組網(wǎng)絡(luò)與同步數(shù)據(jù)鏈路之間的接口處,其用于存儲(chǔ)識(shí)別從所述分組網(wǎng)絡(luò)所接收分組的分組識(shí)別符,所述方法包括在所述接口處接收分組,識(shí)別所述分組的序列號(hào),將指向?qū)乃鲫?duì)列讀取的下一分組識(shí)別符的讀指針設(shè)置為這樣的值,即所述值為小于所識(shí)別序列號(hào)的預(yù)定量。所述方法還提供了一種用于延長(zhǎng)與縮短所述隊(duì)列的平均大小以使所述平均大小保持最佳水平的裝置。
文檔編號(hào)H04L12/56GK1536845SQ20041000139
公開日2004年10月13日 申請(qǐng)日期2004年1月7日 優(yōu)先權(quán)日2003年3月26日
發(fā)明者威廉·P.·弗爾固森, 奈杰爾·維克瑞, 尼庫(kù)拉·D.·帕斯利, D. 帕斯利, 維克瑞, 威廉 P. 弗爾固森 申請(qǐng)人:贊林克半導(dǎo)體有限公司