專利名稱::基于時間調(diào)度的系統(tǒng)與方法交叉引用本申請從2003年5月29日申請的名稱為“基于時間調(diào)度的方法”的美國臨時專利申請?zhí)?0/474,008要求優(yōu)先權(quán),其全部內(nèi)容在此并入作為參考。
背景技術(shù):
:通信系統(tǒng)頻繁處理可以在單個物理信道上傳輸?shù)牟煌愋托畔?例如,數(shù)據(jù),話音,視頻等)。每種類型的信息可以具有不同的傳輸要求,例如緩沖、等待時間和等待時間變化。為了滿足這些不同要求,系統(tǒng)可以使用調(diào)度器來在允許信息進入網(wǎng)絡中時不一樣地處理每種類型的信息。然而,當前的調(diào)度器在其能力方面還受到限制。因此,需要用于在通信網(wǎng)絡中提供改進的調(diào)度的系統(tǒng)和方法。圖1為調(diào)度方法的典型流程圖。圖1b示意了可以在其中使用調(diào)度器的典型通信系統(tǒng)的一個實施例。圖2示意了用于允許數(shù)據(jù)進入圖1系統(tǒng)中的典型數(shù)據(jù)流圖。圖3為具有慢速端和快速端模塊的調(diào)度器的一個實施例,該調(diào)度器可以用于控制圖2的數(shù)據(jù)流進入到一個或更多個上行鏈路。圖4示意了一個預先定義的時間段和在該時間段內(nèi)由圖3的調(diào)度器的慢速端模塊執(zhí)行的各種任務。圖5為可以由圖3的調(diào)度器的慢速模塊為每個隊列執(zhí)行的典型方法的流程圖。圖6a為可以用來在執(zhí)行圖5的方法期間為隊列計算約定輸入速率的典型方法的流程圖。圖6b為可以用來在執(zhí)行圖5的方法期間為隊列計算峰值輸入速率的典型方法的流程圖。圖7為圖3的調(diào)度器的快速端模塊的一個更加詳細的實施例圖。圖8為用于加載與圖7的快速端模塊相關(guān)的提名表(nominationtable)的典型方法的流程圖。圖9a和9b為可以通過使用圖8的提名表而在圖7的快速端模塊內(nèi)部執(zhí)行的提名過程的典型方法的流程圖。具體實施例方式本公開一般涉及通信系統(tǒng),尤其涉及提供通信網(wǎng)絡中的基于時間調(diào)度的系統(tǒng)和方法。然而應當理解的是,以下公開提供了許多不同的實施例或?qū)嵗?。以下描述了組件和排列的特定實例以簡化本公開。當然,這些只是實例,并且并非出于限制的目的。另外,本公開可以在不同實例中重復參考數(shù)字和/或字母。這種重復的目的在于簡化和闡明,而其本身并不指定各種實施例和/或所討論的配置之間的關(guān)系。參考圖1a,該圖示意了用于在通信網(wǎng)絡中調(diào)度業(yè)務的典型方法10。正如以后將更加詳細描述的那樣,方法10可以為一個或更多隊列中的每一個計算和分配一個或更多權(quán)標。這些權(quán)標于是被用于調(diào)節(jié)來自每個隊列的信息的出列。在步驟12中,方法10可以在預先定義的時間周期內(nèi)為多個活動隊列中的每一個分配一個或多個權(quán)標。每個權(quán)標授權(quán)某個數(shù)量的數(shù)據(jù)從該隊列中出列。后面將描述,該預定時間周期提供調(diào)度的改進控制。在步驟14中,方法10在啟動新一輪分配之前一直等待該預定時間周期的結(jié)束。至少一個隊列可以基于分配給該隊列的至少一個權(quán)標被順序地或者同時地提名。隊列的提名授權(quán)該數(shù)量的數(shù)據(jù)(由該權(quán)標授權(quán))從隊列中出列。在步驟18,該提名被發(fā)送到存儲器系統(tǒng)以將該數(shù)據(jù)出列,并將該數(shù)據(jù)發(fā)送到網(wǎng)絡上行鏈路?,F(xiàn)在參考圖1b,其示意了典型系統(tǒng)100的一個實施例。系統(tǒng)100包括通過同步光纖網(wǎng)(SONTE)104連接到第二網(wǎng)絡實體106的第一網(wǎng)絡實體102。出于闡明的目的,術(shù)語SONET貫穿本公開使用以引用SONET和/或同步數(shù)字系列(SDH)。因此,應當理解,對SONET的引用可以由對SDH的引用代替,雖然可能需要一些小的修改,這是本領(lǐng)域的技術(shù)人員已知的。雖然本公開中的網(wǎng)絡實體可以是任何網(wǎng)絡可訪問組件,設備,或系統(tǒng)(硬件和/或軟件),網(wǎng)絡實體102可以是配置來執(zhí)行PPP處理的SONET上的以太網(wǎng)實體。在本實例中,網(wǎng)絡實體106位于NOC108中,NOC108也包含通過數(shù)據(jù)通信網(wǎng)絡(DCN)110連接到網(wǎng)絡實體106的EMS/NMS112。用戶114a和116a可以通過網(wǎng)絡實體102訪問網(wǎng)絡104,而用戶114b和116b可以通過網(wǎng)絡實體106訪問網(wǎng)絡104。應當理解,其他用戶、網(wǎng)絡實體、網(wǎng)絡和/或子網(wǎng)可以連接到圖1的各個單元。因此,圖1僅是出于舉例的目的,并且已簡化以更好地示意本公開。另外應當理解的是,可以使用其他的網(wǎng)絡和/或協(xié)議,例如以太網(wǎng)或令牌環(huán)。另外參考圖2,在諸如圖1系統(tǒng)100的通信系統(tǒng)中,各種類型的信息(例如數(shù)據(jù),話音,視頻等)可以在單個物理信道上傳輸。然而,每種類型的信息可能具有不同的傳輸要求,包括諸如緩沖、等待時間和等待時間變化的要求。為了滿足這些不同要求,該系統(tǒng)可以在允許信息進入到通信網(wǎng)絡時不同地處理每種類型的信息。因此,允許從多個源接收的信息進入到單個信道可以使用滿足處理各種類型信息要求的電路和/或軟件。完成該操作的過程被稱為“調(diào)度”,并且執(zhí)行該調(diào)度的硬件和/或軟件被稱為調(diào)度器。一般而言,業(yè)務被發(fā)送到來自多個用戶端口1-M的網(wǎng)絡單元(NE)。來自這些端口的業(yè)務被歸類,然后放置到列隊系統(tǒng)中,其中來自這些端口的不同業(yè)務可以進入到1-N個不同的隊列。該列隊系統(tǒng)和端口通常為正交空間。存在一個映射函數(shù)(稱為“分類”),確定來自用戶端口的業(yè)務怎樣路由到各個隊列。一旦業(yè)務被放置到N個隊列中的多個隊列中,就會被轉(zhuǎn)發(fā)到一個或更多網(wǎng)絡上行鏈路。例如,來自多個隊列的業(yè)務可以被發(fā)送到特定的STS-1同步凈荷包絡(SPE)中,該包絡可以是包含在STS-12中的1-P個邏輯上行鏈路中的一個。應當理解,這個過程可以應用于許多不同的技術(shù)類型,例如SONET,SDH,以太網(wǎng),令牌環(huán)等。如前所述,列隊系統(tǒng)和邏輯上行鏈路為正交空間,并且存在確定來自給定隊列的業(yè)務將去往哪個上行鏈路的映射函數(shù)。調(diào)度器確定上行帶寬是怎樣劃分為競爭的客戶端(隊列)中的小的時間增量。由調(diào)度器執(zhí)行的方法可以確定每個隊列中的業(yè)務會經(jīng)歷多大的延遲,延遲變化,業(yè)務突發(fā)大小等。該方法可以基于不同的排序技術(shù),例如每(per)PDU(協(xié)議數(shù)據(jù)單元)(例如單元,幀或分組)技術(shù)?,F(xiàn)在參考圖3,其示意了調(diào)度器300的一個實施例。調(diào)度器300包括配置隨機訪問存儲器(RAM)302、慢速端模塊304、權(quán)標庫RAM306和快速端模塊308。在本實例中,調(diào)度器300正在與隊列(例如,存儲器系統(tǒng))310通信。正如以下將更詳細描述的,調(diào)度器300被設計成發(fā)送指令到存儲器系統(tǒng),指導該存儲器系統(tǒng)從特定隊列中將PDU出列。當PDU從給定隊列中去除時,就被發(fā)送到所選的上行鏈路邏輯信道,可能是在被放置到較小保持區(qū)域(例如先入先出(FIFO)隊列)中之后,使得上行鏈路數(shù)據(jù)的速率匹配來自存儲器系統(tǒng)的出列數(shù)據(jù)。應當理解的是,圖3的調(diào)度器300僅為調(diào)度器的一種可能實施方式。例如,該調(diào)度器可以通過使用數(shù)字電路RTL(寄存器轉(zhuǎn)換層)描述執(zhí)行,它可以由邏輯合成器合成并在VLSI芯片中實現(xiàn),或者作為場可編程門陣列(FPGA)。調(diào)度器可以包括各種存儲器(例如,寄存器)和多個在軟件和/或硬件中實現(xiàn)的函數(shù)。因此,以下描述不局限于所描述的特定結(jié)構(gòu)。調(diào)度器300可以控制的出列PDU的示例性參數(shù)包括每個隊列的約定輸入速率(CIR),受上行鏈路可用性影響的每個隊列的峰值輸入速率(PIR),VoIP隊列的等待時間(例如,調(diào)度器可以試圖將等待時間保持在如此低水平,使得等待時間變化不重要),用于隊列的數(shù)據(jù)業(yè)務的突發(fā)性,和在給定按照配置可以充滿的情況下維持上行鏈路滿所需要的速率。CIR為在給定非空隊列的情況下,允許業(yè)務進入到網(wǎng)絡的最小速率,而PIR為在給定非空隊列的情況下,允許業(yè)務進入到網(wǎng)絡的最大速率。為了說明起見,過量帶寬(例如,PIR和CIR之間的差值)被標為PIR*。應當理解,對術(shù)語CIR和PIR的引用也可以引用代表這些速率的CIR和PIR權(quán)標。使用以上信息,調(diào)度器可以對從哪個隊列中出列業(yè)務做出延遲的或者實時的判斷,并且接著將這些出列指示發(fā)送到列隊系統(tǒng)。出列的業(yè)務可以是單元,分組或固定或大小變化的幀形式的PDU數(shù)據(jù)。在本實例中,調(diào)度器300包括兩個主要部分慢速端模塊304和快速端模塊308。慢速端模塊304使用毫秒時基執(zhí)行,它保證了對時間敏感的計算正確地執(zhí)行??焖俣四K308比慢速端時間模塊執(zhí)行速度更快,并且搜索具有準備好出列的數(shù)據(jù)的隊列和可用帶寬以用于出列。這兩個模塊由權(quán)標庫RAM306(例如,雙端口RAM)隔開,RAM306用于保存在調(diào)度器300的慢速端模塊304與快速端模塊308之間傳遞和反方向傳遞的信息。出于舉例的目的,可以使用一種模擬設備,其中調(diào)度器300有點充當類似銀行或票據(jù)交換所,以授權(quán)從不同隊列出列PDU。實際上,慢速端模塊304以正確的速率在銀行中填充各種帳戶,而快速端模塊308盡可能快地從該帳戶中收回所有可用資金??焖俣四K308又告訴慢速端模塊304它從每個帳戶中收回了多少金額,從而慢速端模塊304可以保證它繼續(xù)維持適當數(shù)額的貨幣進入不同帳戶。另外,快速端模塊308試圖解決業(yè)務成形,阻塞控制和上行鏈路與隊列之間的出列公正性的問題。調(diào)度器300可以被設計成使用慢速端模塊和快速端模塊,因為對于作為一個整體的調(diào)度器來說可能具有兩個競爭要求。首先,為了以高度的絕對時間精確度和分辨率執(zhí)行,調(diào)度器應該具有控制良好的執(zhí)行速率。第二,調(diào)度器也應該試圖使用大小可能變化的PDU而獲取被填充到最高可能程度的上行鏈路,并且這個目標與第一個目標不一致。慢速端模塊304被用于給快速端模塊308分配CIR和PIR*“權(quán)標”。在本實例中有512個隊列,而慢速端模塊304基于每隊列從配置RAM302獲取以下的配置輸入CIR,PIR*,有效,VoIP,主,從和成對QID。如前所述,CIR為給定非空隊列的情況下允許業(yè)務進入到網(wǎng)絡的最小速率,而PIR*為給定非空隊列的情況下允許業(yè)務進入到網(wǎng)絡的最大速率?!坝行А敝甘菊{(diào)度器要在準備運送業(yè)務時執(zhí)行對該隊列的計算?!癡oIP”指示調(diào)度器這個隊列中包含對延遲和延遲變化敏感的信息?!爸鳌贝矶M制隊列對的領(lǐng)導者(將在后面更詳細描述),而“從”代表二進制隊列對的跟隨者?!俺蓪ID”僅對主有效,并且包括與主成對的從QID的指針。慢速端模塊304也可以接收上行鏈路數(shù)據(jù)率(例如,正在被調(diào)度進入的信道容量)作為基于每上行鏈路(例如,12邏輯上行鏈路)的配置輸入。上行鏈路數(shù)據(jù)率影響由慢速端模塊304計算的CIR。慢速端模塊304也可以從列隊系統(tǒng)310獲取以下實時信息入列到存儲器系統(tǒng)的字節(jié)數(shù),入列業(yè)務的隊列號,從存儲器系統(tǒng)出列的字節(jié)數(shù),和從中出列業(yè)務的隊列號?,F(xiàn)在參考圖4,時間段400示意了預先定義的時間周期可以怎樣細分并且由圖3的慢速端模塊304使用。出于舉例的目的,使用了毫秒時基,但是應當理解,也可以使用其它的時基。慢速端模塊304將時間劃分為精確已知的單位(例如,一毫秒),并且基于該定義的時基執(zhí)行其計算。這樣就在網(wǎng)絡運營商要求時考慮到了對調(diào)度參數(shù)的微調(diào)。例如,在本實施例中,每個隊列的計算每秒鐘精確執(zhí)行1000次,從而給調(diào)度器1.00000毫秒的時基。慢速端模塊304的精度可以是用來運行相關(guān)電路的時鐘的函數(shù)(例如,使用百萬分之二十(ppm)時鐘源將保證20ppm的調(diào)度精度)。如果計算是基于每比特執(zhí)行的話,慢速端模塊304可以以1kbps的帶寬分辨率運行。如果計算是基于每八位字節(jié)執(zhí)行的話,慢速端模塊304可以以8.0kbps的帶寬分辨率運行。時間段400被劃分為周期A,B和C。周期A包括用于N個隊列的按隊列計算所使用的時間周期。周期B包括用于P個上行鏈路按上行鏈路計算所使用的時間周期。這些計算都將在后面詳細描述。周期C被保留作為“停滯時間”以確保使用的時間段400等于一毫秒(例如,在“停滯時間”內(nèi),慢速端模塊可以除了等待什么都不做,以盡可能接近地定位到1.00000毫秒邊界),并且可以在需要的時候由周期A或B使用。應當理解,在一些實施例中,如果整個周期都被周期A和/或B占用,周期C可以等于零。在停滯時間到期之后,慢速端模塊304可以在一個新的毫秒邊界上開始其下一輪計算。在本實例中,在調(diào)度器300中發(fā)生的計算在隨后的計算(例如1.0毫秒)間隔之間是自校正的。因此,長期累積的調(diào)度錯誤等于0。這個結(jié)果可以通過安排在一個調(diào)度間隔中使用的帶寬為下一個調(diào)度間隔所知而實現(xiàn)。例如,如果隊列在一個間隔內(nèi)發(fā)送1000個八位字節(jié)的太多業(yè)務到上行鏈路,1000個可用八位字節(jié)就可以從隨后的間隔中減去。應當理解,還可以執(zhí)行許多不同的計算。例如,在時間段400的周期B內(nèi),用于上行鏈路的可用總計帶寬可以計算成等于上行鏈路帶寬減去上行鏈路所要求的CIR。由于調(diào)度器300可以計算基于每幀使用的上行鏈路實際開銷帶寬,每個用戶接收他所請求數(shù)量的上行鏈路。這可能提供根據(jù)要求的封裝帶寬將每個用戶從其他用戶中分離開的優(yōu)勢,該封裝帶寬在上行鏈路要求使用某種類型的封裝技術(shù)的情況下使用(例如,SONET上的PPP,SONET上的以太網(wǎng))。因此,一個用戶不會消費多于其上行帶寬的合理份額的帶寬。現(xiàn)在參考圖5,方法500可以在預先定義的時間周期內(nèi)(例如,圖4的周期A)使用預先定義的時基(例如,圖4的一毫秒時基)為每個QID執(zhí)行,以確保對時間敏感的計算可以正確執(zhí)行。方法500在步驟502中通過將QID提升到N開始。在步驟504中,可以做出關(guān)于N是否大于最大QID的判斷。如果N大,那么在當前時間段內(nèi)不再要處理隊列,而且該方法繼續(xù)到步驟505,在此執(zhí)行SPE計算(這可能與時間段400的周期B相對應)。在步驟506中,方法500進入等待狀態(tài)(例如,時間段400的周期C),這發(fā)生在步驟507中將QID設置為零并且返回到步驟504之前。如果N不大于QID(這個分支可以對應于時間段400的周期A),那么該方法繼續(xù)到步驟508,在此為當前隊列(QIDN)獲取配置信息和權(quán)標庫信息。獲取的配置信息可以包含CIR,PIR*,有效,VoIP,主,從,成對QID,和上行數(shù)據(jù)率。獲取的權(quán)標庫信息可以包含在最后的預定時間間隔(例如,毫秒)內(nèi)從存儲器系統(tǒng)中出列的字節(jié)數(shù),還有前面的PIR和CIR。在步驟510中,要做出關(guān)于獲取的信息是否包含有效QID的判斷。如前所述,QID有效意味著調(diào)度器要在這個隊列準備運送業(yè)務時執(zhí)行該隊列的計算。如果QID無效,方法500返回到步驟502,在此QID被提升。如果QID有效,方法繼續(xù)到步驟512,在此要使用例如,前面所述的諸如主,從,和/或成對QID的配置信息而做出該隊列為主/從的判斷。如果判斷該隊列為主的話,那么該方法就繼續(xù)到514步,并且使用例如獲取的CIR和上行數(shù)據(jù)率配置信息為主隊列執(zhí)行CIR計算。獲取的CIR配置信息提供一個用于調(diào)節(jié)可以分配的CIR權(quán)標的數(shù)量的最高限度。另外,未使用的CIR帶寬可以在步驟514中傳遞給從隊列。對未使用帶寬的這種分配由于一對隊列之間可以存在主/從關(guān)系而可以發(fā)生,該主/從關(guān)系使得來自給定隊列的未使用輸出帶寬可以授權(quán)給與之相關(guān)的另外一個隊列(例如,二進制隊列)。這樣一個二進制隊列使得隊列可以一起配對,以使使用單個配置命令的兩個服務的同時配置并行。這樣的同時配置使得網(wǎng)絡運營商可以對這兩種服務與用戶協(xié)商,配置并管理單個服務級協(xié)議(SLA)。例如,二進制隊列可以用來允許VoIP和數(shù)據(jù)連接得以共同協(xié)商,數(shù)據(jù)連接實時自動接收未使用的VoIP帶寬。在這樣的情況下,VoIP業(yè)務可以使用某個CIR提供,并且數(shù)據(jù)業(yè)務可以使用某個PIR提供。因此,VoIP隊列未使用的CIR可以作為CIR傳輸?shù)綌?shù)據(jù)隊列。另外參考圖6a,一種典型的方法600示意了用于CIR的計算,并且如果可用的話,將未使用CIR分配到從隊列的過程。在步驟602中,用于當前QID的CIR可以計算為CIRtb,n=CIRtb,n-1+CIRprov-CIRused,n-1在此,“tb,n”為該時間周期內(nèi)當前QID的權(quán)標庫條目編索引,“prov”指示所配置的CIR,而“used,n-1”指示在寶貴的時間周期內(nèi)使用的CIR權(quán)標。如果CIR計算是用于主隊列,方法600可以繼續(xù)到步驟604并且使用以下語句計算是否有要分配給從隊列的未使用的CIR如果(主隊列&&有效&&(Ctb,n>=maxCIRtb))則傳輸(Ctb,n-maxCIRtb)到從隊列在步驟606中,方法600可以將用于QIDN計算的CIR權(quán)標限制到QIDN所允許的最大權(quán)標如果(CIRtb,n>=maxCIRtb)則CIRtb,n=maxCIRtb再次特別參考圖5,在步驟516中,可以獲取從信息(例如,使用成對QID),并且可以為從隊列執(zhí)行CIR和PIR*計算。CIR計算可以如前所述執(zhí)行,典型的PIR*計算可以如圖6b中更詳細描述的那樣執(zhí)行。另外參考圖6b,典型方法610示意了一種用于PIR*計算的過程。在步驟612中,方法610可以如下計算所需要的CIR權(quán)標數(shù)量CIRneeded=用于連接的Q大小+CIRused,n-1另外,方法610可以使用以下語句將所需要的CIR權(quán)標數(shù)量限制到提供的CIR權(quán)標的數(shù)量如果(CIRneeded>CIRprov)則CIRneeded=CIRprov在步驟614中,用于上行鏈路所需的CIR權(quán)標數(shù)量可以如下計算CIRneeded,uplink=用于上行鏈路中所有連接的CIRneeded總和在步驟616中,PIR權(quán)標的總授予數(shù)通過如下計算PIR*grants,uplink總和=帶寬uplink-CIRnedded,uplink在步驟618中,方法610可以如下計算所希望的PIR權(quán)標數(shù)量PIR*desired=當前用于連接的Q大小-CIRprov另外,方法610可以使用以下語句將所希望的PIR權(quán)標數(shù)量限制到提供的PIR權(quán)標數(shù)量如果(PIR*desired>PIR*prov)則PIR*desired=PIR*prov在步驟620中,用于上行鏈路的所希望的PIR權(quán)標量可以如下計算PIR*desired,uplink總和=在給定上行鏈路中用于所有連接的PIR*desired總和在步驟622中,來自步驟616和620的計算用于如下計算要增加的PIR*權(quán)標PIR*add=(PIR*disired/PIR*grants,uplink總和)*PIR*grants,uplink總和在步驟624中,用于以N索引的權(quán)標庫的PIR如下計算PIR*tb,n=PIR*tb,n-1+PIR*add-PIR*nsed,n-1在步驟626中,方法610可以使用以下語句將給定QIDN的PIR*權(quán)標數(shù)量限制到權(quán)標庫中PIR*權(quán)標的最大數(shù)量如果(PIR*tb,n>maxPIR*tb)則PIR*tb,n=maxPIR*tb再次特別參考圖5,在步驟518中,計算的CIRtb,n和PIR*th,n值(例如,權(quán)標)可以寫入到用于QIDN和從QID的權(quán)標庫。返回到步驟512,如果QIDN不是主/從,該方法進入到步驟520和522,在此分別為QIDN執(zhí)行CIR和PIR*計算。該計算可以如前面參考圖6a和6b執(zhí)行。在步驟524中,計算的CIR和PIR*值可以寫入到用于QIDN的權(quán)標庫,而且該方法可以返回到步驟502。現(xiàn)在參考圖7,其示意了圖3的快速端模塊308更詳細的實例。該快速端模塊用于基于通過權(quán)標庫RAM306從慢速端模塊304接收到的CIR和PIR*“權(quán)標”來控制從隊列出列信息。在本實例中,快速端模塊包括RAM判優(yōu)器700,出列累積器702,提名判斷模塊704,隨機地址產(chǎn)生器706,提名表加載器708,和提名表RAM710。RAM判優(yōu)器700有助于權(quán)標庫RAM306與快速端模塊308的交互。出列累積器702使用RAM判優(yōu)器700來存儲在權(quán)標庫RAM306中通過毫秒窗口出列的字節(jié)的連續(xù)總和。應當理解,諸如提名表加載器708的一些組件可以通過其他組件(例如,提名判斷模塊704)的要求按照該要求“監(jiān)聽”而獲取來自權(quán)標庫302的信息。如前所述,這種信息可以由慢速端模塊304在其計算過程中使用??焖俣四K308使用了一種處理在對存儲器系統(tǒng)的出列指示的提名中接近公正性。為了完成這些,快速端模塊308使用提名表(在提名表RAM710中存儲),它包含所有配置的隊列ID,并且具有許多與實際配置的PIR成比例的提名表條目。因此,可以在隊列之間基于其預期帶寬而創(chuàng)建不同的加權(quán)。由隨機地址產(chǎn)生器706提供的隨機分布函數(shù)可以用來讀取提名表RAM710。這允許隊列提名沿前述的毫秒窗口分布,并且可以在上行鏈路上產(chǎn)生業(yè)務成形效應。該隨機分布函數(shù)也可以讀取提名表很多次,提供高于隊列的和/或上行鏈路的帶寬,但與之成比例的提名率。這就補償了在反壓(backpressuring)情況下存儲器系統(tǒng)的提名損失。另外參考圖8,典型方法800示意了可以由圖7的提名表加載器708使用以在提名表RAM710中加載提名表的處理。提名表的加載可以線性存儲隊列ID,并在時基窗口的開始存儲。這有助于具有最小實現(xiàn)需要的提名表的生命再配置而不影響數(shù)據(jù)率。應當理解,可以支持對多個上行鏈路的任何數(shù)量的隊列,而且在上行鏈路提名路徑之間或者在隊列之間沒有或很少有沖突。在步驟802中,用于提名表的索引(ntable_index)和QID都被設置為零。在步驟804中,要對關(guān)于該方法是否是在時基窗口的開始(例如,圖4的一毫秒時間段400的開始)做出判斷。如果不是,該方法返回到步驟802。如果是,該方法繼續(xù)到步驟806,在此獲取用于QID的提名表條目的數(shù)量。在步驟808中,QID和提名表條目的上行鏈路信道號被存儲在提名表中,而在步驟810中,QID遞增。在步驟812中,要做出關(guān)于最后的隊列是否已經(jīng)被服務的判斷。如果沒有,方法800返回到步驟806。如果有,該方法繼續(xù)到步驟814,在此要做出關(guān)于ntable_index是否位于提名表條目結(jié)尾的判斷。如果是,方法800返回到步驟802。如果不是,該方法繼續(xù)到步驟816,在此在返回到步驟802之前清除提名表中剩余的條目。盡管在圖8中沒有顯示,應當注意,提名表中的所有條目可以在復位時被權(quán)標為無效。調(diào)度器300的快速端模塊308使用毫秒窗口來執(zhí)行作為參考。另外并且作為擁塞控制機構(gòu),它可以將時基窗口分解為子窗口以估算業(yè)務,從而完成其權(quán)標庫資金的連接可以通過在窗口中提名較早而被阻塞。這可以阻止可能影響從到達存儲器系統(tǒng)出列提名的其他隊列的不必要提名。這在最小對最大PDU尺寸的情況下可能有所幫助。另外,可以增加按SPE的力函數(shù),以允許在1毫秒窗口中落后的連接追趕上連續(xù)的窗口。此外,在子窗口內(nèi)使用的更快的反應“滯后”函數(shù)可以用來阻止連接落后。該函數(shù)可以估算隊列是否位于其帶寬的前一個子窗口份額之后并且當前沒有被推動。如果該隊列滿足這些要求,他就被選做為“滯后”隊列。調(diào)度器300在快速端模塊308沒有做出任何其他提名時提名這個QID。這些特征可以使調(diào)度器300在產(chǎn)生出列提名中更為有效,可以通過將力邏輯設置為最后的手段而減少突發(fā)性,而且可以使得調(diào)度器支持任何幀尺寸業(yè)務而不需要突發(fā)尺寸配置。另外,可以支持對多個上行鏈路的任何數(shù)量的隊列,而且在上行鏈路提名路徑之間或隊列之間沒有沖突?,F(xiàn)在參考圖9a和9b,典型方法900示意了可以在圖7的快速端模塊308中用于隊列提名的一種處理。在以下實例中,每個子窗口(sub_win_bw)都是權(quán)標庫總CIR(TbankCIR)的一部分。該部分依賴于當前的子窗口。另外,給每個超時計數(shù)器的最大限制可以依賴于活動上行鏈路的數(shù)目(例如,SPE)而改變。在步驟902中,通過使用隨機函數(shù)(例如,從圖7的隨機地址產(chǎn)生器706)從提名表中讀取條目(例如NTEntry)。在步驟904中,要做出關(guān)于NTEntry是否有效的判斷。如果NTEntry無效(那么就沒有QID),方法900繼續(xù)到步驟906,在此要做出關(guān)于該隊列是否按SPE推動的判斷(例如,使用循環(huán)來選擇SPE)。如果該隊列沒有按SPE推動,在步驟908要做出關(guān)于滯后函數(shù)是否能用于所選SPE的判斷(在此所選SPE由循環(huán)方法選擇)。如果不是,該方法返回到步驟902。如果是,該方法繼續(xù)到步驟910,在此current_{QID_SPE}被設置等于lag_{QID,SPE}。返回到步驟906,如果force_round_robinSPE啟用,方法900移動到步驟912,在此current_{QID,SPE}被設置為等于force_{QID,SPE}。應當注意,步驟910和912都繼續(xù)到步驟918,步驟918將在后面進行更詳細的描述。返回到步驟904,如果NTEntry有效,從提名表接收的QID和SPE就在步驟913中被存儲。在步驟914中,要做出關(guān)于SPE是否被推動的判斷。如果是,方法900移動到步驟912,在此current_{QID,SPE}如前所述被設置為等于force_{QID,SPE}。如果不是,該方法移動到步驟916,在此current_{QID,SPE}被設置為等于normal_{QID,SPE}。該方法從步驟910,912和916的任何一步繼續(xù)到步驟918。在步驟918中,從權(quán)標庫中獲取當前QID的PIR,dq_count和推動指示符(例如,指示當前QID需要被推動)。在步驟920中,要做出關(guān)于當前QIDPIR是否大于所允許的最小出列值的判斷。如果不是,該方法900返回到步驟902。如果是,在步驟922中,要為當前子窗口計算要出列的CIR的量。在步驟924中,可以做出關(guān)于當前SPE是否被推動的判斷。如果正在被推動,該方法繼續(xù)到步驟926,在此如果force_sub_window_bw(例如,指示要在當前子窗口中被推動的CIR權(quán)標的最小量)小于或等于dq_count或計時器超時的話力函數(shù)就禁用。在步驟928中,要做出關(guān)于force_sub_window_bw是否大于dq_count的判斷。如果不是,方法900返回到步驟902。如果是,方法900繼續(xù)到步驟930,在此發(fā)送提名到存儲器系統(tǒng)用于current_{QID,SPE}。返回到步驟924,如果當前SPE沒有被推動,方法900就移動到步驟932。在步驟932中,如果推動指示符被設置并且force_sub_window_bw大于dq_count,力函數(shù)就能用于QID而且超時計數(shù)器啟動。否則,如果滯后函數(shù)禁用并且QID落后,滯后函數(shù)就能用于QID并且超時計數(shù)器啟動。在步驟934中,如果滯后函數(shù)能用并且QID已經(jīng)追趕上或者超時計數(shù)器已經(jīng)到期,滯后函數(shù)就禁用,并且超時計數(shù)器被停止并且清零。在步驟936中,要做出關(guān)于是否具有來自所選SPE的背壓的判斷。如果沒有,該方法繼續(xù)到步驟930,在此發(fā)送提名到存儲器系統(tǒng)用于current_{QID,SPE}。如果有背壓,該方法移動到步驟938。在步驟938中,如果QID沒有滿足其用于當前子窗口的CIR份額,那么該方法繼續(xù)到步驟930,在此提名被發(fā)送到存儲器系統(tǒng)用于current_{QID,SPE}。否則,如果具有背壓(或沒有CIR)但是還具有過度帶寬的話,那么要做出關(guān)于dq_count是否小于SPE的FIFO的幾乎所有級別的判斷。這有助于定義一個或更多可以負責填充FIFO的隊列,并且使得繼續(xù)從不負責的隊列中出列。如果不是,該方法返回到步驟902。如果是,該方法繼續(xù)到步驟930。因此,如上所述,調(diào)度器300可以確保每個隊列在給定該隊列包含要出列PDU的情況下至少接收所配置CIR帶寬,也可以確保每個連接在給定該隊列包含要出列的PDU的情況下最多接收所配置PIR帶寬。在一些實例中,調(diào)度器可以確保上行帶寬在給定所配置參數(shù)內(nèi)部具有足夠配置業(yè)務以保證上行鏈路填充的情況下被完全填充。在還有其他的實例中,調(diào)度器可以確保備用帶寬(就是,超過CIR的PIR帶寬)在所有時間基于比例被均分。雖然前面的敘述展示并描述了一個或更多的實施例,本領(lǐng)域技術(shù)人員應當理解,在此可以在不偏離本公開的原理和范圍的情況下做出各種形式和細節(jié)上的修改。例如,所述方法的各個步驟可以以不同的順序執(zhí)行或者連續(xù)執(zhí)行,組合執(zhí)行,進一步分解,以可選步驟替代,或全部去除。另外,在該方法中示意或者在本公開的其他地方描述的各個函數(shù)可以組合以提供其他的和/或可選的函數(shù)。另外,可以遵循各種網(wǎng)絡和/或協(xié)議對這些方法和/或調(diào)度器做出各種修改。因此,權(quán)利要求書應當以與本公開相一致的廣泛方式進行解釋。權(quán)利要求1.一種用于在通信網(wǎng)絡中調(diào)度業(yè)務的方法,所述方法包括在預先定義的時間周期內(nèi)為多個活動隊列中的每一個分配至少一個權(quán)標,其中每個權(quán)標授權(quán)要從所述隊列中出列的數(shù)據(jù)量;在開始新一輪分配之前,一直等待,直到所述預先定義的時間周期結(jié)束;基于分配給所述隊列的至少一個權(quán)標提名所述隊列中的至少一個,其中所述提名授權(quán)從所述隊列中出列所述數(shù)據(jù)量;和發(fā)送所述提名到存儲器系統(tǒng),以使所述數(shù)據(jù)出列并發(fā)送所述數(shù)據(jù)到網(wǎng)絡上行鏈路。2.根據(jù)權(quán)利要求1的方法,其中提名所述隊列中的至少一個包括基于所述多個權(quán)標將多個條目加載到提名表中,其中所述加載按照隊列線性發(fā)生;和通過生成隨機地址并檢索位于所述隨機地址的條目,從所述提名表中選擇所述條目中的至少一個。3.根據(jù)權(quán)利要求2的方法,其中所述選擇在所述預先定義的時間周期內(nèi)發(fā)生預定次數(shù)的重復,而且所述預定次數(shù)與總上行帶寬成比例。4.根據(jù)權(quán)利要求1的方法,還包括為每個隊列計算第一和第二權(quán)標,其中所述第一權(quán)標基于用于定義允許業(yè)務進入到所述網(wǎng)絡的最小速率的第一按隊列速率,第二權(quán)標基于用于在給定非空隊列的情況下定義允許業(yè)務進入到所述網(wǎng)絡的最大速率的按隊列速率。5.根據(jù)權(quán)利要求5的方法,還包括在為隊列計算第一和第二權(quán)標之前確定所述隊列是否為活動的。6.根據(jù)權(quán)利要求5的方法,其中所述確定基于與所述隊列相關(guān)的識別符,其中所述識別符識別所述隊列是否正運送要出列的業(yè)務。7.根據(jù)權(quán)利要求1的方法,還包括在為隊列計算至少一個權(quán)標之前為這個隊列檢索配置信息。8.根據(jù)權(quán)利要求1的方法,還包括在為隊列計算所述至少一個權(quán)標之前從所述存儲器系統(tǒng)檢索隊列信息。9.根據(jù)權(quán)利要求8的方法,其中所述隊列信息包括入列到所述存儲器系統(tǒng)中的字節(jié)數(shù)、數(shù)據(jù)被入列到其中的隊列的隊列號、從所述存儲器系統(tǒng)出列的字節(jié)數(shù)以及數(shù)據(jù)從中出列的隊列的隊列號。10.根據(jù)權(quán)利要求1的方法,還包括將來自一個隊列的未使用帶寬分配給相關(guān)隊列。11.根據(jù)權(quán)利要求10的方法,其中基于最小速率計算所述未使用帶寬,其中在給定非空隊列的情況下,允許業(yè)務以所述最小速率進入到所述網(wǎng)絡。12.根據(jù)權(quán)利要求1的方法,還包括計算在每幀基礎上使用的上行鏈路開銷帶寬。13.根據(jù)權(quán)利要求1的方法,其中提名以大于填充上行鏈路的最大可能帶寬所需的速率產(chǎn)生。14.一種用于在通信網(wǎng)絡中調(diào)度上行鏈路業(yè)務的系統(tǒng),所述系統(tǒng)包括為多個隊列中的每個隊列計算第一和第二權(quán)標的慢速端模塊,其中所述第一權(quán)標代表在給定非空隊列的情況下允許業(yè)務進入到所述網(wǎng)絡的最小速率,所述第二權(quán)標代表在給定非空隊列的情況下允許業(yè)務進入到所述網(wǎng)絡的最大速率;基于所述第一和第二權(quán)標,從所述多個隊列引導信息出列的快速端模塊;以及位于所述慢速端模塊和所述快速端模塊之間的權(quán)標庫,其中所述慢速端模塊在所述權(quán)標庫中存儲所述第一和第二權(quán)標,所述快速端模塊將所述第一和第二權(quán)標從所述權(quán)標庫中去除。15.根據(jù)權(quán)利要求14的系統(tǒng),其中所述慢速端模塊在預先定義的時間周期內(nèi)計算所述第一和第二權(quán)標中的每一個。16.根據(jù)權(quán)利要求15的系統(tǒng),其中所述慢速端模塊在為所述多個隊列的每一個計算新的第一和第二權(quán)標之前一直等待,直到所述預先定義的時間周期結(jié)束。17.根據(jù)權(quán)利要求14的系統(tǒng),其中所述慢速端模塊以每比特為基礎計算所述第一和第二權(quán)標中的每一個。18.根據(jù)權(quán)利要求14的系統(tǒng),其中所述慢速端模塊以每八位字節(jié)為基礎計算所述第一和第二權(quán)標中的每一個。19.根據(jù)權(quán)利要求14的系統(tǒng),其中所述第一和第二隊列相關(guān)聯(lián),并且所述慢速端模塊將來自所述第一隊列的未使用權(quán)標分配給所述第二隊列。20.根據(jù)權(quán)利要求14的系統(tǒng),其中所述慢速端和快速端模塊與列隊系統(tǒng)通信。全文摘要本發(fā)明公開了一種在通信環(huán)境中基于時間的調(diào)度的系統(tǒng)與方法。在一個實例中,所述方法包括在預先定義的時間周期內(nèi)將至少一個權(quán)標分配給多個活動隊列的每一個。每個權(quán)標授權(quán)要從所述隊列中出列的數(shù)據(jù)量。所述方法還包括在開始新一輪分配之前一直等到所述預先定義時間結(jié)束。所述隊列中的至少一個基于分配給所述隊列的所述權(quán)標而被提名,在此所述提名授權(quán)從所述隊列中出列所述數(shù)據(jù)量。所述提名被發(fā)送到存儲器系統(tǒng)以將所述數(shù)據(jù)出列并將所述數(shù)據(jù)發(fā)送到網(wǎng)絡上行鏈路。文檔編號H04L12/28GK1799212SQ200480014970公開日2006年7月5日申請日期2004年5月28日優(yōu)先權(quán)日2003年5月29日發(fā)明者韋恩·R.·安基,羅斯·A.·杰米森,約翰·K.·威克斯,瑪倫·B.·羅-蒂爾茲,保羅·A.·伊利爾斯,邁克爾·J.·米澤尤,尼米爾·I.·葉瑟恩申請人:卡維羅網(wǎng)絡公司