專利名稱:用于通信網(wǎng)絡(luò)中單元調(diào)度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在服務(wù)器中調(diào)度單元(cell)傳輸?shù)姆椒ǎ{(diào)度這些單元的軟件和服務(wù)器。
背景技術(shù):
因特網(wǎng)路由器中的業(yè)務(wù)管理器使用服務(wù)器調(diào)度單元的傳輸,以確保等待傳輸?shù)膯卧谒蟮臅r間周期內(nèi)發(fā)出,從而保證一定等級的服務(wù)。
通過將事件定位于表中的各個位置(即,定時輪的時隙)從而定義事件表,可以使用基于表的定時輪來調(diào)度事件,從而使得能夠減少或消除搜索。
能夠離線預(yù)先計算所述調(diào)度表,并且這被稱之為靜態(tài)調(diào)度表。動態(tài)調(diào)度表能夠在特定的事件發(fā)生之后,通過在適當?shù)奈磥砦恢蒙咸砑右患蚋嗟氖录蕉〞r輪而實現(xiàn),如在Yun-Sik Lee、Peter M Maurer的“MDCSIMA Compiled Event-Drive Multidelay Simulator”中所描述,美國坦帕南佛羅里達州大學計算機科學和工程系,F(xiàn)L33620。
保證帶寬的服務(wù)器以恒比特率服務(wù)隊列,傳送隊列分組到前向傳輸?shù)逆溌贰S捎谠陉犃形膊糠纸M的隨機到達圖案,所以存在保證帶寬的服務(wù)器服務(wù)其隊列的總帶寬小于鏈路帶寬的瞬間。這允許附加帶寬服務(wù)器可能有機會服務(wù)其隊列。
服務(wù)隊列的保證帶寬服務(wù)器和附加帶寬服務(wù)器的各種組合允許其中之一來提供不同類別的服務(wù)給不同的分組流,例如保證帶寬服務(wù)器所服務(wù)的隊列只用于恒比特流,或其集合,這些隊列的到達圖案是有規(guī)則的,例如視頻會議業(yè)務(wù)附加帶寬服務(wù)器所服務(wù)的隊列只用于未規(guī)定的比特率流和帶寬流,即它們的到達圖案是隨機的。一個好的實例是目前的因特網(wǎng)業(yè)務(wù)保證帶寬服務(wù)器和附加帶寬服務(wù)器的組合所服務(wù)的隊列用于可變比特率流,其到達圖案是有規(guī)則業(yè)務(wù)和隨機業(yè)務(wù)的組合。一個實例將是某些類型的壓縮視頻業(yè)務(wù),當附加帶寬可用時,這些業(yè)務(wù)可以從中受益。
在下述文獻中描述了保證帶寬服務(wù)器和附加帶寬服務(wù)器的一些實例,即“Providing QoS Guarantees in Packet Switches”,F(xiàn)abio M.Chiussi和Andrea Francini,Proc.IEEE GLOBECOM’99,Seamless Interconnectionfor Universal Services,Symposium on High Speed Networks(高速網(wǎng)絡(luò)學術(shù)研討會),V02卷,第1582-1590頁,巴西里約熱內(nèi)盧,1999年12月。
美國專利第5,696,764號描述了一種具有保證帶寬陣列和附加帶寬陣列的系統(tǒng),它具有靜態(tài)調(diào)度表。
發(fā)明目的本發(fā)明的一個目的是提供一種服務(wù)器,該服務(wù)器提供更加有效的單元傳輸。
本發(fā)明的另一個目的是可提供更加有效的數(shù)據(jù)結(jié)構(gòu)以增強單元傳輸。
本發(fā)明的又一個目的是提供能夠處理可變比特率業(yè)務(wù)的服務(wù)器。
本發(fā)明的再一個目的是提供在適當?shù)奈磥砦恢媚軌驅(qū)⒁患蚋嗟氖录砑拥蕉〞r輪的服務(wù)器。
發(fā)明概述本發(fā)明提供了一種操作服務(wù)器的方法,該服務(wù)器包括用于傳輸單元的兩個陣列,即保證帶寬陣列和附加帶寬陣列,該方法包括監(jiān)控保證帶寬陣列中準備傳輸?shù)膯卧?,調(diào)度對應(yīng)于準備傳輸?shù)膯卧氖录?,以及在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度。
優(yōu)選地,在本方法中,每一位置指向隊列的鏈接列表,并且它包括調(diào)節(jié)隊列描述符的定位,以便在適當?shù)臅r間服務(wù)隊列。
該方法可以使用定時輪來實施調(diào)度操作,并有利地利用三維定時輪數(shù)據(jù)結(jié)構(gòu)。在特定的事件發(fā)生之后,可以在適當?shù)奈磥砦恢蒙咸砑右患蚋嗟氖录蕉〞r輪,以便實施動態(tài)調(diào)度。
該方法可以包括優(yōu)化在保證帶寬陣列的列表中隊列引用(reference)的分布,直到每一列表條目只有一個引用的隊列。
有利地,該方法包括操作環(huán)形緩沖器以實現(xiàn)保證帶寬陣列,從而對于一個時隙,將來自隊列的一個單元指向該陣列中的索引位置,和/或操作一種結(jié)構(gòu)中的保證帶寬陣列,該結(jié)構(gòu)具有一個列表條目所引用的若干隊列,在索引位置服務(wù)第一隊列并沿該列表將指針移動與服務(wù)間隔相對應(yīng)的量。
本發(fā)明可以以硬件例如包括網(wǎng)絡(luò)處理器的數(shù)字計算機,和/或軟件實現(xiàn)。
本發(fā)明還提供了一種可直接載入數(shù)字計算機內(nèi)部存儲器中的計算機程序產(chǎn)品,包括用于執(zhí)行所述方法的軟件代碼部分,該方法監(jiān)控保證帶寬陣列中準備傳輸?shù)膯卧{(diào)度對應(yīng)于準備傳輸?shù)膯卧氖录?,以及在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度表。
本發(fā)明還提供了一種實施本發(fā)明的計算機程序和載體,以及產(chǎn)品、程序和/或載體的電子發(fā)行。
本發(fā)明還提供了一種包括傳輸單元的兩個陣列的服務(wù)器,即保證帶寬陣列和附加帶寬陣列,該服務(wù)器包括監(jiān)控準備傳輸單元的保證帶寬陣列的裝置,調(diào)度對應(yīng)于準備傳輸單元的事件的裝置,以及用于在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度表的裝置。
本發(fā)明可應(yīng)用于所有形式的服務(wù)器,特別是路由器和業(yè)務(wù)管理器。
為了可以更容易地理解本發(fā)明,現(xiàn)在僅僅通過實例的方式參考附圖給出描述,其中圖1是如現(xiàn)有技術(shù)中所已知的用于保證帶寬服務(wù)器和附加帶寬服務(wù)器的嚴格優(yōu)先級服務(wù)器;圖2示出了具體化本發(fā)明特征的保證帶寬列表;圖3示出了具體化本發(fā)明特征的附加帶寬列表;圖4示出了具體化本發(fā)明特征的保證帶寬列表和附加帶寬列表的集合體;和圖5和圖6示出了根據(jù)本發(fā)明用于服務(wù)的單元結(jié)構(gòu)。
具體實施例方式
圖1表示現(xiàn)有技術(shù)中所已知的調(diào)度器10的節(jié)點,它們可以基于例如如這里所示的嚴格優(yōu)先級服務(wù)器11。嚴格優(yōu)先級服務(wù)器11由保證帶寬服務(wù)器12和附加帶寬服務(wù)器13提供服務(wù)。
當前分組交換網(wǎng)絡(luò)的網(wǎng)絡(luò)單元通常將到達所述節(jié)點的可變長度分組分割成固定長度單元,以便在該節(jié)點內(nèi)能夠統(tǒng)一管理所述單元的傳輸。固定長度的單元使得存儲這些單元的數(shù)據(jù)緩沖器的存儲器管理變得可行。為了提供特定的服務(wù)質(zhì)量,需要比其他單元更加迅速地傳輸某些單元的能力,這只有通過延遲一些單元才有可能實現(xiàn)。為了通過調(diào)度器給等待服務(wù)的不同單元流提供不同的延遲,可以將這些單元置于多個隊列中。
在傳統(tǒng)的系統(tǒng)中,調(diào)度單元傳輸?shù)湫蜕婕安迦腙犃兄羔樀蕉?heap)中,或搜索隊列列表以找到準備傳輸?shù)膯卧?。兩種安排都不是非常有效的方法。
本發(fā)明與現(xiàn)有技術(shù)的區(qū)別在于提供新穎的數(shù)據(jù)結(jié)構(gòu)和新穎的搜索算法。
在重復(fù)應(yīng)用算法之后,數(shù)據(jù)結(jié)構(gòu)和搜索算法共同地促進隊列在環(huán)形陣列周圍的分布,直到每一陣列位置至多只有一個隊列。
作為以上應(yīng)用的結(jié)果,將最小化單元延遲變化,同時搜索適當單元以在特定時隙期間傳輸?shù)膯栴}減少成遞增指針。這種處理保證了高等級的調(diào)度精度,同時提供了非??焖俚牟簧婕叭魏未蠓秶阉鞯恼{(diào)度機制。
根據(jù)本發(fā)明的系統(tǒng)可能乍看起來不可靠之處在于,初始任意地分配單元的傳輸順序,以及所述調(diào)度看起來導(dǎo)致了同時調(diào)度多個單元用于傳輸。
但是,可應(yīng)用在陣列周圍分布隊列的本方法保證了能夠給任何需要的隊列分配恒定的帶寬,同時通過重復(fù)應(yīng)用算法,獲得了傳輸?shù)淖罴秧樞颉?br>
所以,不是解決了現(xiàn)有技術(shù)所帶來的例如搜索列表、堆或棧的問題,而是繞過了這些問題。
本發(fā)明提供的數(shù)據(jù)結(jié)構(gòu)包括保證帶寬列表和附加帶寬列表的集合體。
圖2表示根據(jù)本發(fā)明的保證帶寬列表20的結(jié)構(gòu)。保證帶寬列表20包括到鏈接列表23的指針22的時間排序陣列、保證帶寬陣列21,如在圖2的底部所示。鏈接列表的每一節(jié)點25中的數(shù)據(jù)指針24指向等待被服務(wù)單元的隊列26,例如用GB(保證帶寬)、或AF(保證前向傳送)指定的隊列。指針22通過到達路由器的時間進行排序。
隊列26具有各種服務(wù)質(zhì)量的要求,在保證帶寬隊列中可能是GB(保證帶寬)隊列或AF(保證前向傳送)隊列。
與每一隊列26關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)包含參數(shù)、服務(wù)間隔,其中服務(wù)間隔指示應(yīng)該服務(wù)隊列26的時間間隔,即在調(diào)度該隊列26的下一單元傳輸之前應(yīng)該消逝的時隙數(shù)量。值得注意的是每一時隙傳輸一個單元。
依次地訪問鏈接列表23中在每一陣列位置的每一隊列26,以便如果單元可用于傳輸,則來自每一隊列26的單元在傳輸來自同一隊列26的前一單元的保證時間內(nèi)傳輸。當然,該隊列可以例如是空的。
節(jié)點單元中的控制軟件必須確保GB單元所占用的帶寬不超出鏈路的帶寬。業(yè)務(wù)管理器通過配置確保GB單元的數(shù)量小于可用時隙的數(shù)量。
圖3表示根據(jù)本發(fā)明的附加帶寬列表30的結(jié)構(gòu)。其中保留了圖2的特征,并使用相同的附圖標記。
附加帶寬列表30包括指向鏈接列表33的指針22的陣列,附加帶寬陣列31。鏈接列表33的每一節(jié)點25中的數(shù)據(jù)指針24指向等待被服務(wù)單元的隊列36。該陣列31不按時間排序。
附加帶寬陣列31的隊列36與保證帶寬陣列的隊列26在其服務(wù)質(zhì)量要求方面的不同之處在于GB陣列21的隊列26是GB或AF隊列,而附加帶寬陣列31的隊列36是AF或BE(盡力而為Best Effort)隊列。
另外,附加帶寬陣列的鏈接列表33只包含一個節(jié)點25,所以將服務(wù)一個隊列。
圖4表示保證帶寬列表21和附加帶寬列表31的集合體40,它具有隊列41。
在該集合體中,GB陣列21的指針指向GB和AF隊列,同時EB陣列31中的指針指向AF和BE隊列。該GB隊列是在規(guī)則間隔的保證時隙,而AF隊列通過GB陣列21分配有恒定的帶寬,加上任何附加服務(wù),其中帶寬可通過EB陣列31獲得。
如上所述,本發(fā)明與現(xiàn)有技術(shù)的區(qū)別在于除了數(shù)據(jù)結(jié)構(gòu)之外還提供新穎的搜索算法。
為該搜索算法,定義三個計數(shù)器/指針·實時計數(shù)器(RealTimeCounter);·時隙索引(TimeSlotIndex);·循環(huán)索引(RoundRobinIndex)。
一旦每一單元到達周期則遞增一次實時計數(shù)器(以保證帶寬陣列長度為模)。實時計數(shù)器通過計數(shù)已消逝時隙的數(shù)量有效地跟蹤實際時間。
由于模運算,當?shù)竭_GB陣列的末尾時,實時計數(shù)器返回到開始。根據(jù)服務(wù)所有單元流的總帶寬和服務(wù)任何一個單元流的最小帶寬的比率計算陣列長度。
當所述單元在連接上到達時,該連接每秒承載固定數(shù)量的比特,并且該單元具有固定的長度,單元到達率將是恒定的。這種單元到達率的倒數(shù)是單元到達周期。
時隙索引指示通過GB服務(wù)器將要搜索的隊列的鏈接列表23。不像EB陣列,在這種列表中能夠存在不止一個隊列。時隙索引如下所述遞增(以保證帶寬陣列長度為模)。
循環(huán)索引指向附加帶寬服務(wù)器13將要服務(wù)的下一隊列,并且每次當附加帶寬服務(wù)器13從隊列中刪除一個單元,就遞增該循環(huán)索引。
優(yōu)先級調(diào)度器11與服務(wù)大量隊列的保證帶寬服務(wù)器12連接,還連接到附加帶寬服務(wù)器13,如果保證帶寬服務(wù)器12不具有準備發(fā)送的單元,則可以激活(invoke)附加帶寬服務(wù)器。
每一時隙(單元到達周期)發(fā)起一次搜索。在每一時隙中,首先激活保證帶寬服務(wù)器12。
對于一個時隙的執(zhí)行流程如下1)遞增實時計數(shù)器(以保證帶寬陣列長度為模);2)以當前的時隙索引作為參數(shù),激活保證帶寬服務(wù)器。保證帶寬服務(wù)器執(zhí)行搜索通過當前GB陣列21位置指針指向的隊列的列表,并繼續(xù)遞增時隙索引(每當發(fā)現(xiàn)列表結(jié)尾,或空列表時)直到找到一個單元;或直到已經(jīng)搜索到在兩個相繼陣列位置的列表;或直到時隙索引等于實時計數(shù)器的值(即,GB單元不占用的任何空閑時隙已經(jīng)由EB單元占用)。
如果到達兩個相繼列表的結(jié)尾(通過空指針來指示),則發(fā)送EB單元,如果存在EB單元的話。然后遞增時隙索引,以防止在下一時隙的開始再次搜索第二個空列表。
3)如果發(fā)現(xiàn)單元則存儲保證帶寬指針位置,提取并發(fā)送該單元?,F(xiàn)在對于該時隙完成了所述優(yōu)先級調(diào)度器。
保證帶寬陣列21的元素指向節(jié)點25的鏈接列表23,在每種情況下其數(shù)據(jù)指針24指向輸出隊列41。指向最近服務(wù)隊列41的鏈接列表節(jié)點25從鏈接列表23中刪除并進一步沿保證帶寬陣列21插入到一個列表。該新列表23的位置被計算為實時計數(shù)器值和服務(wù)間隔之和,并存儲在與該隊列41相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中,指示應(yīng)該服務(wù)隊列41的時間間隔(即到未來的時隙數(shù)量)。
對于在以固定速率工作的鏈路上等待傳輸?shù)膯卧犃械募?,該固定速率必須大于或等于服?wù)每個單獨隊列的速率之和。對于每個單獨的這種隊列,應(yīng)該服務(wù)該隊列的間隔,即服務(wù)間隔,是單元傳輸速率的倒數(shù)。
屬于被服務(wù)和重新調(diào)度的隊列的兩個陣列元素的索引之間的差對應(yīng)于應(yīng)該服務(wù)所討論隊列的速率的倒數(shù)。
通過這種方式,能夠在保證帶寬上提供GB列表中的每個隊列。
隊列服務(wù)間隔中的變化將決定如何動態(tài)地構(gòu)造鏈接列表。例如,如果指針插入到空列表中,當時隙索引到達該列表時,將會首先搜索附加到該列表的節(jié)點。或者,如果該列表已經(jīng)包含到節(jié)點的指針,添加的節(jié)點將被鏈接到已存在的節(jié)點上。
當存儲時隙索引值時,GB服務(wù)器將在下一迭代中返回到同一陣列位置,以搜索另一個準備傳輸?shù)膯卧<偃缛缓蠓?wù)來自同一列表的另一個隊列,由于實時計數(shù)器遞增1,同時用于兩個隊列的服務(wù)間隔保持相同,那么將在相繼的陣列位置上重新調(diào)度該下一隊列用于服務(wù),借此將集中在一個位置上的隊列在所述陣列周圍分布開來。
4)如果沒有找到單元從附加帶寬陣列31的當前位置開始,搜索附加帶寬陣列31。
1)如果找到單元,那么存儲附加帶寬陣列31中的位置,并且提取和發(fā)送該單元?,F(xiàn)在對于該時隙完成了優(yōu)先級調(diào)度器。
2)如果沒有找到單元,則該優(yōu)先級調(diào)度器發(fā)送空閑的單元并結(jié)束。
能夠?qū)⒈WC帶寬陣列21認為是將要服務(wù)隊列列表的環(huán)形陣列,它具有兩個指針、實時計數(shù)器和時隙索引。每一單元發(fā)送時間遞增一次實時計數(shù)器。
當?shù)竭_GB陣列(環(huán)形列表)的結(jié)尾時,該操作將返回到陣列的開始。
為了舉例說明上述描述,能夠假設(shè)實時計數(shù)器和時隙索引都具有值‘N’。保證帶寬陣列21的第N個元素,GB陣列[N],可以指向所有在時隙‘N’等待被服務(wù)的隊列的列表。如果例如在時隙‘N’存在三個等待服務(wù)的隊列,那么保證帶寬陣列21的第N個元素指向三個隊列的列表,其中該隊列是在三個相繼的時隙上必須服務(wù)的一個隊列。
應(yīng)該以特定的速率服務(wù)通過陣列位置GB陣列[N]所指向的鏈接列表中三個隊列中的每個隊列,該速率的倒數(shù)是服務(wù)間隔I。在時隙[N]服務(wù)第一隊列,在時隙[N+1]服務(wù)第二隊列以及在時隙[N+2]服務(wù)第三隊列。將調(diào)度三個隊列以便接下來分別在三個不同的時隙,時隙[N+I]、時隙[N+1+I]和時隙[N+2+I]被服務(wù),借此使得隊列分布在所述陣列的周圍,而不是集中在一個陣列位置。
當在搜索之后所述隊列達到服務(wù),所以減小了必須用于定位準備傳輸單元的計算。
沒有必要搜索;消除了搜索,并因此還消除了與搜索相關(guān)的計算開銷。文獻中的其他方法涉及搜索用于最適當傳輸單元的結(jié)構(gòu)的思想,這涉及了許多的計算。
在已經(jīng)服務(wù)三個隊列之后,時隙索引將實時計數(shù)器滯后三個單元間隔。時隙索引必須與實時計數(shù)器保持一致,以便確保通過遇到指向空列表的保證帶寬陣列21的少許相繼的元素,以通告的速率來服務(wù)業(yè)務(wù)。
當遇到空列表時,時隙索引被局限于每單元間隔遞增兩次,如果在保證帶寬陣列21中沒有發(fā)現(xiàn)任何單元要傳輸,那么激活附加帶寬陣列31的搜索,即,當發(fā)生搜索到兩個相繼的空陣列位置時,終止所述搜索。
通過這種方式,可以在每個單元間隔傳輸一個單元,而不用過多地搜索空列表,并且實時地服務(wù)隊列。
圖5和6中的每幅圖都表示本發(fā)明操作26個單元序列的算法中的五個相繼步驟,借此安排這些單元用于傳輸。
在圖5中,圖51,七個等待傳輸?shù)年犃忻總€具有相同的服務(wù)質(zhì)量要求,并具有相同的服務(wù)間隔。
初始,在第一時隙期間,傳輸來自QA的單元,如圖52所示。指向QA的指針然后移動到GB陣列21中的位置GB10,該位置被計算為實時計數(shù)器值和用于QA的服務(wù)間隔之和,其中該實時計數(shù)器值在這里為零(由于模運算,在時隙開始時從GB陣列的結(jié)尾遞增到零)以及該服務(wù)間隔在這里為10個時隙間隔。
在下一時隙中,當實時計數(shù)器已經(jīng)遞增1時,然后服務(wù)QB以及它的指針重新定位在該陣列中的位置GB11,該位置是QA隨后的一個位置,因為實時計數(shù)器已經(jīng)遞增了一。
從此之后,服務(wù)剩余的隊列,直到已經(jīng)服務(wù)并調(diào)度完所有的七個隊列,如圖53所示。
現(xiàn)在將遇到GB陣列中的空位置,GB7到GB9,這導(dǎo)致了以循環(huán)的方式服務(wù)來自EB陣列31的隊列。當時隙索引被局限于在每個時隙間隔搜索兩個相繼的列表時,將在服務(wù)EB隊列之前,搜索GB6(由于找到單元,先前存儲了時隙索引的值,因此搜索從GB6開始)和GB7。然后將搜索GB8和GB9和服務(wù)的另一個EB隊列。在下一時隙間隔,將搜索GB10,在此間隔將找到和傳輸QA中位于GB10的單元。
在圖54和55中,然后將如上所述服務(wù)和調(diào)度所述隊列。
由于服務(wù)的兩個EB隊列,在第10個時隙將再次服務(wù)QA(當實時計數(shù)器是9時),并且被調(diào)度以便在GB20再次傳輸。這里,用于該隊列的服務(wù)間隔是10個時隙間隔10+10=20。由于該服務(wù)間隔,在BG20放置QA。
在圖6中,QA到QC具有不同于QD到QG的服務(wù)質(zhì)量要求QA到QC具有11個時隙間隔的服務(wù)間隔;QD到QG具有10個時隙間隔的服務(wù)間隔。
在圖61和62中,以與圖51和52相似的方式服務(wù)隊列。但是,在圖63中,QC和QD不同的服務(wù)間隔已經(jīng)導(dǎo)致在同一時隙調(diào)度兩個隊列用于服務(wù)。
開始,在第三時隙服務(wù)QC,在該時隙上指向QC的指針移動到通過實時計數(shù)器值2,和服務(wù)間隔11之和所計算的位置,從而使QC定位于GB13。在第四時隙服務(wù)QD,并將它移動到通過實時計數(shù)器值3和服務(wù)間隔10之和所計算的位置,從而使QD也定位于GB13。
在從隊列QG和QA傳輸單元之間,服務(wù)兩個EB隊列。首先,當GB7和GB8不指向隊列時,在下一時隙期間服務(wù)第一隊列,在此之后的時隙期間服務(wù)第二隊列。
當在第12個時隙中達到再次服務(wù)QC時,當實時計數(shù)器是11時,然后將在陣列位置GB22調(diào)度QC,而在第13個時隙,將在GB22調(diào)度QD,借此沿該陣列分布這兩個隊列。
對于本領(lǐng)域普通技術(shù)人員顯而易見的是,能夠應(yīng)用除了這里描述之外的數(shù)據(jù)結(jié)構(gòu)或算法,而不背離正如請求保護的本發(fā)明的范圍。
例如,盡管這里已經(jīng)將本發(fā)明描述為限制搜索鏈接列表成兩個空位置,但是在一個時隙期間所搜索的鏈接列表數(shù)量和時隙索引將趕上實時計數(shù)器的速率之間存在設(shè)計上的選擇。
圖5和6中的每一幅圖表示操作26單元時隙序列的本發(fā)明算法中的5個相繼步驟,借此安排這些單元用于傳輸。
圖5示出了在時隙TS0期間隊列與保證帶寬陣列中元素的初始的關(guān)聯(lián)。用于所有隊列的時間間隔是10。[52]示出了稍后時隙的情形,(TS1)QA已經(jīng)使一個單元從隊列中取出用于傳輸,并被移動到保證帶寬陣列位置10。[53]示出了在時隙TS7的情形。QB和QG現(xiàn)在已經(jīng)使一個單元從隊列中取出用于傳輸,并且QA和QG占用保證帶寬陣列從10到16的位置。[53]示出了在時隙TS10的情形。QA到QG仍占用保證帶寬陣列從10到16的位置。[55]示出了在時隙TS12的情形。圖5的目的是通過以相同速率(并因此具有具有相同的時間間隔)服務(wù)所有隊列的情形步進。
圖6的目的是通過以不同速率(并因此不具有相同的時間間隔)服務(wù)這些隊列的情形的步進。[63]示出了在TS11的情形;值得注意的是保證帶寬陣列位置13現(xiàn)在指向具有兩個元素的QD和QC的鏈接列表。通過TS18,該保證帶寬陣列再次指向每一個包含一個元素的鏈接列表;隊列在時隙上的所述分布再次均勻。
權(quán)利要求
1.一種操作服務(wù)器的方法,該服務(wù)器包括用于傳輸?shù)膯卧膬蓚€陣列,保證帶寬陣列(12,20,21)和附加帶寬陣列(13,30,31),該方法包括監(jiān)控該保證帶寬陣列中準備傳輸?shù)膯卧{(diào)度對應(yīng)于準備傳輸單元的事件,以及在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度表中。
2.根據(jù)權(quán)利要求1所述的方法,其中,每個位置指向隊列(26,36)的鏈接列表(23,33)。
3.根據(jù)權(quán)利要求1或2所述的方法,包括調(diào)節(jié)隊列描述符的位置,以便在適當?shù)臅r間服務(wù)該隊列(26,36)。
4.根據(jù)任何上述權(quán)利要求所述的方法,包括使用定時輪來實施調(diào)度操作。
5.根據(jù)權(quán)利要求4所述的方法,包括三維定時輪數(shù)據(jù)結(jié)構(gòu)。
6.根據(jù)任何上述權(quán)利要求所述的方法,包括在特定的事件發(fā)生之后在適當?shù)奈磥砦恢蒙咸砑右患蚋嗟氖录蕉〞r輪,以便實施動態(tài)的調(diào)度。
7.根據(jù)任何上述權(quán)利要求所述的方法,包括重新迭代事件調(diào)度表的重新計算。
8.根據(jù)任何上述權(quán)利要求所述的方法,包括優(yōu)化在保證帶寬陣列(12,20,21)的列表中隊列引用的分布,直到每一列表條目有一個引用的隊列(26)。
9.根據(jù)任何上述權(quán)利要求所述的方法,包括操作環(huán)形緩沖器以實現(xiàn)保證帶寬陣列(12,20,21),從而對于一個時隙,將來自隊列(26)的一個單元指向該陣列中的索引位置。
10.根據(jù)任何上述權(quán)利要求所述的方法,包括操作一種結(jié)構(gòu)的保證帶寬陣列(12,20,21),該結(jié)構(gòu)具有一個列表條目(23)所引用的若干隊列(26),在索引位置服務(wù)第一隊列并沿該列表將指針移動與服務(wù)間隔相對應(yīng)的量。
11.根據(jù)任何上述權(quán)利要求所述的方法,包括只有當在保證帶寬陣列(12,20,21)中沒有找到任何要發(fā)送的單元時,才操作附加帶寬陣列(13,30,31)。
12.一種可直接載入數(shù)字計算機內(nèi)部存儲器中的計算機程序產(chǎn)品,包括用于執(zhí)行如下方法的軟件代碼部分,該方法監(jiān)控保證帶寬陣列(12,20,21)中準備傳輸?shù)膯卧?,調(diào)度對應(yīng)于準備傳輸單元的事件,以及在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度表。
13.一種可直接載入數(shù)字計算機內(nèi)部存儲器中的計算機程序產(chǎn)品,包括用于當在計算機上運行所述程序時,執(zhí)行權(quán)利要求1到11的任何一項或更多項所述方法的軟件代碼部分。
14.一種可直接載入數(shù)字計算機內(nèi)部存儲器中的計算機程序,包括用于當在計算機上運行所述程序時,執(zhí)行權(quán)利要求1到11的任何一項或更多項所述方法的軟件代碼部分。
15.一種可以包括電子信號的載體,用于如權(quán)利要求14所述的計算機程序。
16.權(quán)利要求12或13所述的計算機程序產(chǎn)品或權(quán)利要求14所述的計算機程序或權(quán)利要求15所述的載體的電子發(fā)行。
17.一種包括傳輸單元的兩個陣列的服務(wù)器,即保證帶寬陣列(12,20,21)和附加帶寬陣列(13,30,31),該服務(wù)器包括用于監(jiān)控該保證帶寬陣列中準備傳輸?shù)膯卧难b置,用于調(diào)度對應(yīng)于準備傳輸單元的事件的裝置,以及用于在任意位置上添加單個隊列描述符到這樣產(chǎn)生的調(diào)度表的裝置。
18.根據(jù)權(quán)利要求17所述的服務(wù)器,包括用于將每個位置指向隊列(26,36)的鏈接列表(23,33)的裝置。
19.根據(jù)權(quán)利要求17或18所述的服務(wù)器,包括用于調(diào)節(jié)隊列描述符的位置,以便在適當?shù)臅r間服務(wù)隊列(26,36)的裝置。
20.根據(jù)權(quán)利要求17到19中任何一項所述的服務(wù)器,包括實施調(diào)度操作的定時輪。
21.根據(jù)權(quán)利要求20所述的服務(wù)器,其中,所述定時輪包括三維定時輪數(shù)據(jù)結(jié)構(gòu)。
22.根據(jù)權(quán)利要求17到21中任何一項所述的服務(wù)器,包括用于在特定的事件發(fā)生之后,在適當?shù)奈磥砦恢锰砑右患蚋嗍录蕉〞r輪,以實施動態(tài)調(diào)度的裝置。
23.根據(jù)權(quán)利要求17到22中任何一項所述的服務(wù)器,包括用于重復(fù)迭代事件調(diào)度表的重新計算的裝置。
24.一種基本上如上參考附圖的圖2到6任何一個或更多所描述的、和/或如在該附圖中所示例的操作服務(wù)器的方法。
25.一種基本上如上參考附圖的圖2到6任何一個或更多所描述的、和/或如在該附圖中所示例的服務(wù)器。
全文摘要
一種服務(wù)器具有保證帶寬(GB)陣列21和附加帶寬(EB)陣列31,所述陣列對在隊列中保持的單元的傳輸具有不同的服務(wù)質(zhì)量要求。該服務(wù)器可操作用于在環(huán)形陣列的周圍分布隊列,直到每個陣列位置至多只有一個隊列,以便最小化單元延遲變化。
文檔編號H04L12/54GK1846408SQ200480025102
公開日2006年10月11日 申請日期2004年8月26日 優(yōu)先權(quán)日2003年9月2日
發(fā)明者L·A·費茨格拉爾德 申請人:皇家飛利浦電子股份有限公司