專利名稱:數(shù)據(jù)流的匯聚式資源預(yù)留的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)中的數(shù)據(jù)流的預(yù)留資源。
技術(shù)背景如今的商業(yè)和個(gè)人環(huán)境中的通信應(yīng)用無處不在,并提供廣泛的多種不同服務(wù),諸如提供電子郵件服務(wù)、web瀏覽、電話和視頻會議。隨 著不同的通信應(yīng)用,顯現(xiàn)不同的資源要求。例如,電子郵件應(yīng)用要求 數(shù)據(jù)從發(fā)送方傳輸?shù)浇邮辗剑ǔ?shù)據(jù)傳輸并沒有強(qiáng)加嚴(yán)格的時(shí) 間約束。然而,語音或視頻通信應(yīng)用要求一定的最小數(shù)據(jù)吞吐量,并 且對時(shí)間很敏感,即,信息傳輸?shù)难舆t例如導(dǎo)致語音或視頻丟失,并 引起相應(yīng)的麻煩.此外,雖然傳統(tǒng)的電路交換網(wǎng)通常為某個(gè)應(yīng)用提供專用連接,諸 如為電話交談或視頻會議提供專用連接,但是分組交換的或無連接的 網(wǎng)絡(luò)并不提供這種專用通信線路,而是可以例如可能通過變化的路徑 將數(shù)據(jù)分組序列從源路由選擇到目的地。這些分組中的一個(gè)或多個(gè)分 組在傳輸期間的延遲將在目的地產(chǎn)生問題,因?yàn)檫@種應(yīng)用在繼續(xù)進(jìn)行 服務(wù)之前必須等待被延遲的數(shù)據(jù)分組。顯然,網(wǎng)絡(luò)的這種特性是不受歡迎的,從而產(chǎn)生了對在這種網(wǎng)絡(luò) 中保證通信的某些最低質(zhì)量的機(jī)制的需求。服務(wù)質(zhì)量(QoS)是表示通 信應(yīng)用的所要求的特征的術(shù)語。例如,表征視頻會議的服務(wù)質(zhì)量能由 某一最小數(shù)據(jù)吞吐量和數(shù)據(jù)傳輸?shù)哪硞€(gè)最大延遲組成。為了滿足服務(wù) 質(zhì)量要求,通信應(yīng)用可以在通信實(shí)體之間建立通信鏈路之前用信號通 知對應(yīng)的信息。如有可能,網(wǎng)絡(luò)響應(yīng)于此來建立維持所指定的要求的 對應(yīng)通信鏈路,一初始化與應(yīng)用相關(guān)聯(lián)的通信或數(shù)據(jù)流,就可以為該通信應(yīng)用預(yù) 留通信資源。此預(yù)留可以致力于通信應(yīng)用所提出的服務(wù)質(zhì)量要求。這 些資源可以由給通信鏈路或數(shù)據(jù)流分配所要求的資源的中央管理機(jī)構(gòu) 預(yù)留一次,或者在分布式的基礎(chǔ)上,在通信網(wǎng)絡(luò)中的傳輸或中繼通信 鏈路或數(shù)據(jù)流的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)處,可以將這些通信資源動(dòng)態(tài)地分配給通信。如果有足夠的通信資源可用,則只可以接納(admit )新數(shù)據(jù)流.因此,在這種情況下要求每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)維持有關(guān)先前分配的通信 資源的信息。然而,由于潛在有大量的不同數(shù)據(jù)流,所以每個(gè)節(jié)點(diǎn)必須針對每 個(gè)流的要求存儲對應(yīng)大量的數(shù)據(jù)。發(fā)明內(nèi)容本發(fā)明的目標(biāo)在于規(guī)定,在通信網(wǎng)絡(luò)中以針對多個(gè)不同服務(wù)要求 的降低的計(jì)算要求為數(shù)據(jù)流預(yù)留資源。本發(fā)明的目標(biāo)通過獨(dú)立權(quán)利要求的主題來解決。有利實(shí)施例公開 于從屬權(quán)利要求中。根據(jù)實(shí)例,在通信網(wǎng)絡(luò)中為數(shù)據(jù)流預(yù)留資源的方法包括檢測新 數(shù)據(jù)流的資源預(yù)留的請求,所述資源預(yù)留的請求包括指定所請求的資 源的多個(gè)描述符;基于新數(shù)據(jù)流的多個(gè)描述符和預(yù)留計(jì)數(shù),計(jì)算接納 測試計(jì)數(shù),所述預(yù)留計(jì)數(shù)表示多個(gè)所接納的數(shù)據(jù)流中的指定所接納的 數(shù)據(jù)流的資源的多個(gè)描述符的預(yù)留函數(shù);如果接納測試計(jì)數(shù)小于多個(gè) 業(yè)務(wù)量描述符的最大接納計(jì)數(shù),則接納新數(shù)據(jù)流;以及,如果新數(shù)據(jù) 流被接納,則基于新數(shù)據(jù)流的描述符更新預(yù)留計(jì)數(shù)。因此,由于預(yù)留計(jì)數(shù)相對于多個(gè)描述符(諸如,服務(wù)質(zhì)量要求) 來表示多個(gè)所接納的數(shù)據(jù)流的資源,所以節(jié)點(diǎn)可以處理潛在大量的流, 而不用單獨(dú)存儲每個(gè)流的描述符。如果流被接納,則只有預(yù)留計(jì)數(shù)需 要進(jìn)行更新,以便還反映新流的資源。根據(jù)實(shí)例,預(yù)留函數(shù)由求和函數(shù)或乘積函數(shù)構(gòu)成,其中,求和函 數(shù)由將數(shù)據(jù)流的描述符作為變量的函數(shù)總和構(gòu)成,并且乘積函數(shù)由將 數(shù)據(jù)流的描述符作為變量的函數(shù)乘積構(gòu)成。因此,通過現(xiàn)有預(yù)留計(jì)數(shù) 與新流的描述符的函數(shù)的加法運(yùn)算或乘積運(yùn)算,預(yù)留計(jì)數(shù)可以基于新 流的描述符進(jìn)行更新。根據(jù)另 一 實(shí)例,更新接納測試計(jì)數(shù)包括給預(yù)留計(jì)數(shù)加上新數(shù)據(jù)流 的描述符的求和函數(shù),或者包括用新流的描述符的乘積函數(shù)乘以預(yù)留 計(jì)數(shù)。對應(yīng)的被更新的預(yù)留計(jì)數(shù)于是有利地反映包括新流的所有被接 納的數(shù)據(jù)流。根據(jù)另一實(shí)例,如果接收到針對所接納的流之一的釋放指令,則可以基于對應(yīng)的描述符更新每個(gè)預(yù)留計(jì)數(shù)。釋放流可以包括從預(yù)留 計(jì)數(shù)中減去所釋放的流的描述符的求和函數(shù),或者將預(yù)留計(jì)數(shù)除以所 釋放的數(shù)據(jù)流的描述符的乘積函數(shù)。因此,可以通過減法運(yùn)算或除法 運(yùn)算在預(yù)留計(jì)數(shù)中反映被釋放的流,從而避免了需要維持所有可能被 釋放的流的描述符。
更進(jìn)一步,根據(jù)另一實(shí)例,計(jì)算每個(gè)預(yù)留計(jì)數(shù)基于在具有預(yù)定持 續(xù)時(shí)間的刷新窗口期間被接納或被刷新的流。除非在刷新窗口期間接 收到與流相關(guān)聯(lián)的刷新請求,或者如果接收到明確的釋放指令,才可 以釋放該流。因此,通過利用刷新窗口以及通過釋放在刷新窗口內(nèi)未 被刷新的或明確被釋放的所有流,預(yù)留計(jì)數(shù)能夠記住(keeps track of ) 在刷新窗口的持續(xù)時(shí)間期間被接納的和未被釋放的所有流。
根據(jù)有利實(shí)施例,每個(gè)預(yù)留計(jì)數(shù)可以包括多個(gè)子計(jì)數(shù),每個(gè)子計(jì) 數(shù)基于在刷新窗口的相鄰子部分期間被接納或被刷新的流,其中子部 分對應(yīng)于推進(jìn)(advance)刷新窗口的時(shí)間單位.刷新窗口一被推進(jìn)了 一個(gè)時(shí)間單位,就生成新的子計(jì)數(shù),并去除子計(jì)數(shù)中最舊的子計(jì)數(shù)。 因此,在滑動(dòng)窗口 (sliding window)每次推進(jìn)一個(gè)時(shí)間單位時(shí),就 可以去除最舊的子計(jì)數(shù),并基于所有被接納的新流、被刷新的和被釋 放的流來計(jì)算新的子計(jì)數(shù)。新的預(yù)留子計(jì)數(shù)于是反映了所有新的、被 刷新的和被釋放的流,使得最舊的預(yù)留計(jì)數(shù)被廢棄。因此,維持多個(gè) 預(yù)留子計(jì)數(shù)就足夠了 , 一個(gè)預(yù)留子計(jì)數(shù)是針對刷新窗口的每個(gè)子部分 或時(shí)間單位的每個(gè)預(yù)留計(jì)數(shù),從而進(jìn)一步降低了計(jì)算的復(fù)雜性。
根據(jù)另一實(shí)例,基于所測量的帶寬、新流的峰值速率以及所接納 的流中的新流降級(degrade)總和之和,計(jì)算接納測試矢量。
可以提供一種程序,其具有適于執(zhí)行上述操作的指令,而計(jì)算機(jī) 可讀介質(zhì)可以包括該程序。 一種計(jì)算機(jī)程序產(chǎn)品可以包括所述計(jì)算機(jī) 可讀介質(zhì)。
根據(jù)另一實(shí)例,可以提供一種用于在通信網(wǎng)絡(luò)中為數(shù)據(jù)流預(yù)留資 源的網(wǎng)絡(luò)節(jié)點(diǎn),該網(wǎng)絡(luò)節(jié)點(diǎn)包括資源管理器,用于檢測新數(shù)據(jù)流的 資源預(yù)留的請求,所述資源預(yù)留的請求包括指定所請求的資源的多個(gè) 描述符,以及用于基于新流的多個(gè)描述符和預(yù)留計(jì)數(shù)來計(jì)算接納測試 計(jì)數(shù),所述預(yù)留計(jì)數(shù)表示多個(gè)所接納的數(shù)據(jù)流的多個(gè)描述符的預(yù)留函 數(shù)并指定為所接納的數(shù)據(jù)流而分配的資源;流控制單元,用于如果接納測試計(jì)數(shù)小于多個(gè)業(yè)務(wù)量描述符的最大接納計(jì)數(shù),則接納所述新數(shù)
據(jù)流;并且其中,資源管理器適于,如果新流被接納,則基于所述新 流的描述符來更新接納測試計(jì)數(shù)。
圖l圖解說明了根據(jù)本發(fā)明實(shí)施例的用于資源預(yù)留的通信系統(tǒng)的 元件;
圖2圖解說明了根據(jù)本發(fā)明實(shí)施例的用于在通信網(wǎng)絡(luò)中為數(shù)據(jù)流 預(yù)留資源的方法的預(yù)留;
圖3圖解說明了根據(jù)本發(fā)明另一實(shí)施例的用于資源預(yù)留的方法的 操作,尤其是圖解說明了釋放數(shù)據(jù)流;
圖4圖解說明了根據(jù)本發(fā)明另一實(shí)施例的用于資源預(yù)留的方法的 操作,尤其是圖解說明了更新預(yù)留計(jì)數(shù);以及
圖5圖解說明了根據(jù)本發(fā)明另一實(shí)施例的用于通信網(wǎng)絡(luò)中的資源 預(yù)留的方法的操作,尤其是結(jié)合滑動(dòng)窗口算法來圖解說明維持預(yù)留子 計(jì)數(shù)。
具體實(shí)施例方式
圖1圖解說明了根據(jù)本發(fā)明實(shí)施例的用于為數(shù)據(jù)流預(yù)留資源的通 信網(wǎng)絡(luò)的元件。
圖l圖解說明了用于在通信實(shí)體之間中繼或傳輸數(shù)據(jù)流的網(wǎng)絡(luò)的 通信節(jié)點(diǎn)。該網(wǎng)絡(luò)節(jié)點(diǎn)(通常用100表示)被配備有資源管理器110和 流控制單元120。流控制單元為數(shù)據(jù)流提供了通信資源,并且可以接納 或拒絕新數(shù)據(jù)流。資源管理器記住在用于中繼或傳輸數(shù)據(jù)流的網(wǎng)絡(luò)節(jié) 點(diǎn)處可用的資源。網(wǎng)絡(luò)節(jié)點(diǎn)100經(jīng)由通信鏈路150與用130表示的相鄰網(wǎng) 絡(luò)節(jié)點(diǎn)相連接。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)130可以具有類似于網(wǎng)絡(luò)節(jié)點(diǎn)100的構(gòu)造, 即,每個(gè)節(jié)點(diǎn)可以被授權(quán)來記住可用資源以及接納或拒絕新數(shù)據(jù)流。 網(wǎng)絡(luò)節(jié)點(diǎn)IOO、 130可以形成較大網(wǎng)絡(luò)的部分,該較大網(wǎng)絡(luò)由大量的網(wǎng)
絡(luò)節(jié)點(diǎn)和通信實(shí)體組成。
如果接收到資源請求,如以151示意性示出的那樣,則網(wǎng)絡(luò)節(jié)點(diǎn)IOO 處的資源預(yù)留機(jī)制成為活動(dòng)的。資源請求可以由通信實(shí)體發(fā)布,諸如 由計(jì)算裝置、電話、視頻會議設(shè)備等的實(shí)體來發(fā)布,并且要么從通信實(shí)體直接接收,要么經(jīng)由網(wǎng)絡(luò)節(jié)點(diǎn)130且通過連接網(wǎng)絡(luò)節(jié)點(diǎn)130和網(wǎng)絡(luò) 節(jié)點(diǎn)100的通信鏈路150來接收。
資源管理器110被設(shè)置用于檢測要求在網(wǎng)絡(luò)節(jié)點(diǎn)100被接納的新數(shù) 據(jù)流的資源預(yù)留的資源請求151。資源請求至少包括指定所請求的資源 的多個(gè)描述符,所請求的資源諸如是最小帶寬要求、平均帶寬要求、 數(shù)據(jù)傳輸?shù)淖畲髸r(shí)間延遲、峰值速率、平均速率或任何其他服務(wù)質(zhì)量 要求。除此之外,資源請求還可以包括請求實(shí)體和數(shù)據(jù)流的身份、用 于請求某些資源的授權(quán)碼、保密碼等等。
當(dāng)資源請求被檢測到時(shí),基于新流的多個(gè)描述符和恒定數(shù)目的預(yù) 留計(jì)數(shù)(例如,先前計(jì)算出并被維持在存儲單元中),資源管理器IIO 計(jì)算接納測試計(jì)數(shù)。預(yù)留計(jì)數(shù)表示計(jì)算預(yù)留函數(shù)的結(jié)果,這些預(yù)留函 數(shù)將多個(gè)所接納的數(shù)據(jù)流的多個(gè)描述符作為變量并且指定所接納的數(shù) 據(jù)流的資源。因此,預(yù)留計(jì)數(shù)以匯聚的方式反映各個(gè)流的資源描述符, 即不用明確地表示各個(gè)流的資源描述符。由于不用單獨(dú)針對所有流存 儲資源描述符,所以變量(即預(yù)留計(jì)數(shù))的數(shù)目變?yōu)榕c流的數(shù)目無關(guān), 并且系統(tǒng)成為可輕易擴(kuò)展的。
更確切地說, 一檢測到資源請求,資源管理器就從資源請求中提 取請求被接納的流的描述符,并且計(jì)算或(諸如從存儲單元中)獲得 預(yù)留計(jì)數(shù),所迷預(yù)留計(jì)數(shù)表示已被接納的數(shù)據(jù)流的對應(yīng)描述符的預(yù)留 函數(shù)并指定所分配的資源。
可以存在要在所接納的數(shù)據(jù)流的資源描述符或確切地說描述符值 上執(zhí)行的多個(gè)預(yù)留函數(shù),每個(gè)預(yù)留函數(shù)與預(yù)留計(jì)數(shù)相關(guān)聯(lián)并指定數(shù)學(xué) 運(yùn)算,諸如求和運(yùn)算、乘積運(yùn)算、平方根運(yùn)算等。
除此之外,還利用新數(shù)據(jù)流的描述符作為變量來執(zhí)行預(yù)留函數(shù), 并且然后基于對新數(shù)據(jù)流的描述符值計(jì)算預(yù)留函數(shù)的結(jié)果以及預(yù)留計(jì) 數(shù),獲得對應(yīng)的接納測試計(jì)數(shù)。接納測試計(jì)數(shù)可以是矢量中的單值或 者是不同值的集合,并且如果新流被接納,則接納測試計(jì)數(shù)表示總的 所要求的資源。
根據(jù)實(shí)例,預(yù)留計(jì)數(shù)可以表示所有被接納的流的所要求的帶寬、 所有被接納的流的估計(jì)峰值速率、傳輸數(shù)據(jù)的最大保證時(shí)間延遲等等。 該接納測試計(jì)數(shù)于是會反映包括新數(shù)據(jù)流的總帶寬、包括新數(shù)據(jù)流的 最大峰值速率和包括新數(shù)據(jù)流的數(shù)據(jù)傳輸?shù)淖畲蟊WC時(shí)間延遲。在計(jì)算接納測試計(jì)數(shù)之后,資源管理器決定,如果接納測試計(jì)數(shù) 并未超過多個(gè)業(yè)務(wù)量描述符的最大接納計(jì)數(shù),則要接納新數(shù)據(jù)流,其 中,最大接納計(jì)數(shù)例如組成最大預(yù)留計(jì)數(shù)的接納函數(shù)。
例如,基于網(wǎng)絡(luò)節(jié)點(diǎn)所提供的各個(gè)資源的閾值極限,諸如基于最 大可用帶寬、最大可允許的峰值速率等,可以計(jì)算最大接納計(jì)數(shù)。
根據(jù)實(shí)例,最大接納計(jì)數(shù)表示單值,諸如表示基于每個(gè)最大可允 許的描述符的加權(quán)計(jì)算,并且類似地,接納測試計(jì)數(shù)可以由例如反映 基于多個(gè)預(yù)留計(jì)數(shù)和新流的描述符的加權(quán)計(jì)算的單值構(gòu)成。在這種情 況下,如果接納測試計(jì)數(shù)的值并未超過最大接納計(jì)數(shù),則流將被接納。
可替換地,最大接納計(jì)數(shù)包括對應(yīng)于各個(gè)最大資源描述符的多個(gè) 值,并且可以執(zhí)行與接納測試計(jì)數(shù)的對應(yīng)元素的各個(gè)比較。如果接納 測試計(jì)數(shù)的元素中沒有一個(gè)超過最大接納計(jì)數(shù)的對應(yīng)最大預(yù)留計(jì)數(shù), 則流可以被接納。如果接納測試計(jì)數(shù)和最大接納計(jì)數(shù)由多個(gè)值組成, 則新流的接納還可以根據(jù)某些規(guī)則進(jìn)行,這些規(guī)則諸如是允許組成部
分(component)之一超過對應(yīng)的最大組成部分等。
如果新數(shù)據(jù)流被接納,則基于新數(shù)據(jù)流的描述符來更新預(yù)留計(jì)數(shù), 以致在更新操作之后,預(yù)留計(jì)數(shù)反映所有被接納的數(shù)據(jù)流(包括新數(shù) 據(jù)流)的所有已預(yù)留的資源。如果新流未被接納,則資源管理器并不 更新預(yù)留計(jì)數(shù),在該情況下,預(yù)留計(jì)數(shù)保持反映先前被接納的數(shù)據(jù)流。
流控制單元120在接納檢查之后執(zhí)行接納或拒絕數(shù)據(jù)流的步驟,從 而包括預(yù)留對應(yīng)的資源和隨后傳輸與所接納的數(shù)據(jù)流有關(guān)的數(shù)據(jù)。
網(wǎng)絡(luò)節(jié)點(diǎn)100是通信網(wǎng)絡(luò)(諸如,無線通信網(wǎng)絡(luò)或有線綁定的或混 合的通信網(wǎng)絡(luò))的多個(gè)節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)可以例如是網(wǎng)絡(luò) 的路由器(諸如,基于因特網(wǎng)的網(wǎng)絡(luò)中的路由器)、基站,或連接相 鄰?fù)ㄐ啪W(wǎng)絡(luò)的任何網(wǎng)絡(luò)節(jié)點(diǎn)。以150圖解說明了網(wǎng)絡(luò)中的通信鏈路,并 且這些通信鏈路可以是專用通信鏈路、無連接的通信鏈路或無線鏈路。 根據(jù)一個(gè)實(shí)例,通信網(wǎng)絡(luò)至少部分地由分組交換網(wǎng)組成,諸如由基于 IP的網(wǎng)絡(luò)(例如因特網(wǎng))組成,其中,分組序列組成所接納的或被檢 查來接納的數(shù)據(jù)流。
在操作中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)可以負(fù)責(zé)管理其自己的資源,即,負(fù)責(zé) 接納數(shù)據(jù)流或拒絕數(shù)據(jù)流。因此,如果路徑沿線的所有網(wǎng)絡(luò)節(jié)點(diǎn)都接 納數(shù)據(jù)流,則該數(shù)據(jù)流只可以從源被路由選擇到目的地。接納流的程序可以動(dòng)態(tài)地執(zhí)行,諸如當(dāng)通信應(yīng)用著手進(jìn)行設(shè)置通信會話和請求路 由選擇對應(yīng)的數(shù)據(jù)流時(shí)執(zhí)行。
根據(jù)實(shí)例,資源管理器110和流控制單元120由網(wǎng)絡(luò)節(jié)點(diǎn)的處理元 件組成,諸如由對應(yīng)的硬件和/或軟件組成??商鎿Q地或除此之外,可 以利用外部部件,諸如利用用于存儲預(yù)留計(jì)數(shù)的外部存儲器、用于計(jì) 算接納測試計(jì)數(shù)的外部處理元件等,資源管理器和流控制單元可以由 彼此經(jīng)由內(nèi)部總線等進(jìn)行通信的分開的專用元件組成??商鎿Q地,資 源管理器和流控制單元可以由至少部分地通過在處理單元上執(zhí)行的對 應(yīng)軟件例行程序?qū)崿F(xiàn)的邏輯實(shí)體組成。
根據(jù)上述實(shí)施例,由于恒定數(shù)目的預(yù)留計(jì)數(shù)相對于多個(gè)描述符(諸 如服務(wù)質(zhì)量要求,諸如峰值帶寬速率、平均速率、突發(fā)尺寸等)匯聚 了多個(gè)所接納的數(shù)據(jù)流的資源,所以節(jié)點(diǎn)可以處理潛在大量的流,而 不用單獨(dú)存儲每個(gè)流的描述符。如果流被接納,則只有預(yù)留計(jì)數(shù)需要 被更新,以便還反映新流的資源。因此,接納控制公式可以在約化態(tài) (reduced state)環(huán)境中被維持,其中,預(yù)留計(jì)數(shù)匯聚了被接納的資 源。
在下面,將參照圖2描述本發(fā)明的另一實(shí)施例。圖2圖解^L明了用 于通信網(wǎng)絡(luò)中的資源預(yù)留的方法的操作。
在第一操作201,檢測到新數(shù)據(jù)流的資源預(yù)留的請求,所述資源預(yù) 留的請求包括指定網(wǎng)絡(luò)節(jié)點(diǎn)處的被請求的通信資源的多個(gè)資源描述 符。在一個(gè)實(shí)例中,該請求在沿著兩個(gè)通信實(shí)體之間的路徑的每個(gè)網(wǎng) 絡(luò)節(jié)點(diǎn)處被接收到。資源預(yù)留的請求可以根據(jù)用于在通信網(wǎng)絡(luò)中交換 消息的通信協(xié)議進(jìn)行傳輸,并且例如沿著從通信源到通信目的地的期 望的或適當(dāng)?shù)耐ㄐ怕窂?,該資源預(yù)留的請求可以從一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)被轉(zhuǎn) 發(fā)到隨后的網(wǎng)絡(luò)節(jié)點(diǎn)。資源預(yù)留的請求在該網(wǎng)絡(luò)節(jié)點(diǎn)請求接納新數(shù)據(jù) 流。
數(shù)據(jù)流可以是任何形式的從通信源向通信目的地傳輸?shù)臄?shù)據(jù)。例 如,數(shù)據(jù)流可以是承載通信數(shù)據(jù)的連續(xù)數(shù)據(jù)流或數(shù)據(jù)分組序列。
資源預(yù)留的請求可以單向地請求接納新數(shù)據(jù)流,即從通信源到通 信目的地請求,或者可以雙向地請求接納數(shù)據(jù)流,即從通信源到通信 目的地以及在從通信目的地到通信源的返回路徑上請求。
隨著數(shù)據(jù)流傳輸?shù)膽?yīng)用數(shù)據(jù)或有效載荷信息可以來自任何種類的通信,即可以包括電子郵件數(shù)據(jù)、語音數(shù)據(jù)、視頻會議數(shù)據(jù)、與計(jì)算 裝置之間的交換有關(guān)的數(shù)據(jù)等。
優(yōu)選地,指定所請求的資源的描述符規(guī)定了所要求的最小資源, 用于滿足下層應(yīng)用的要求。例如,描述符可以指定所要求的帶寬、所 要求的中等帶寬、峰值速率、平均速率和最大可允許的傳輸延遲等等。
此外,描述符可以指定漏桶(leaky bucket )和令牌桶(token bucket )。 在操作202,在網(wǎng)絡(luò)節(jié)點(diǎn)處,接納測試計(jì)數(shù)基于隨著資源預(yù)留的請 求一起接收到的新流的多個(gè)描述符以及多個(gè)預(yù)留計(jì)數(shù)進(jìn)行計(jì)算。預(yù)留 計(jì)數(shù)表示多個(gè)所接納的數(shù)據(jù)流的多個(gè)描述符的預(yù)留函數(shù),并且指定所 有被接納的數(shù)據(jù)流的匯聚資源。預(yù)留函數(shù)可以例如由求和函數(shù)、乘積 函數(shù)或求和與乘積函數(shù)的集合組成。求和函數(shù)由分別將每個(gè)數(shù)據(jù)流的 描述符作為變量的預(yù)留函數(shù)的總和組成,而乘積函數(shù)由將數(shù)據(jù)流的描 述符作為變量的函數(shù)的乘積組成。
一般而言,求和函數(shù)具有下列形式
而乘積函數(shù)具有下列形式
,W (2) 其中
^和/Ua成預(yù)留計(jì)數(shù), ^表示流/的描述符的矢量; ,表示求和型預(yù)留計(jì)數(shù)j'的預(yù)留求和函數(shù); ^表示乘積型預(yù)留計(jì)數(shù)竭預(yù)留乘積函數(shù); 根據(jù)實(shí)例,基于所測量的帶寬、新數(shù)據(jù)流的峰值速率以及新數(shù)據(jù) 流的峰值速率和所接納的流的峰值速率總和之和,計(jì)算接納測試矢量。
在此實(shí)例中,Hoeffding—Bounds ( HB)被用來進(jìn)行接納決策。這 里,如果下式成立,則第(n+l)個(gè)流被接納<formula>formula see original document page 12</formula>
其中,#是所測量的帶寬,A是笫/個(gè)流的用信號通知的峰值速率,6(epsilon)是控制接納控制程序的風(fēng)險(xiǎn)程度的參數(shù),而C是鏈路容量, 該公式可以被變換成適合約化態(tài)環(huán)境的形式
<formula>formula see original document page 13</formula>(4)
此實(shí)例的接納控制公式要求將A-不W維持為所匯聚的變量。
通過用所接納的數(shù)據(jù)流的描述符的求和函數(shù)或乘積函數(shù)表示預(yù)留 計(jì)數(shù),可以記住所接納的資源,而不用維持有關(guān)每個(gè)所接納的數(shù)據(jù)流 本身的描述符的信息。相反地,所有被接納的流的描述符的求和或乘 積函數(shù)計(jì)算的所匯聚的結(jié)果被維持為預(yù)留計(jì)數(shù)。因此,每個(gè)預(yù)留計(jì)數(shù) 可以對應(yīng)于在網(wǎng)絡(luò)節(jié)點(diǎn)處所使用的資源的數(shù)量或程度,其對應(yīng)于所有 被接納的數(shù)據(jù)流的描述符。
計(jì)算接納測試計(jì)數(shù)包括將新數(shù)據(jù)流的描述符結(jié)合到預(yù)留計(jì)數(shù)中。 例如,如果用于計(jì)算預(yù)留計(jì)數(shù)的預(yù)留函數(shù)是求和函數(shù),則可以給預(yù)留 流加上新流的描述符的預(yù)留函數(shù),并且如果預(yù)留函數(shù)是乘積函數(shù),則 可以用對應(yīng)的預(yù)留計(jì)數(shù)乘以新流的描述符的乘積函數(shù)。
然后,接納測試計(jì)數(shù)是所有預(yù)留計(jì)數(shù)的函數(shù),其包括新數(shù)據(jù)流的
描述符。
一般而言,接納測試計(jì)數(shù)為下列形式
<formula>formula see original document page 13</formula> (5)
'表示流/的描述符的矢量;
,表示求和型預(yù)留計(jì)數(shù)_/的預(yù)留求和函數(shù);
^示乘積型預(yù)留計(jì)數(shù)彿預(yù)留乘積函數(shù);
p,表示數(shù)據(jù)新數(shù)據(jù)流的描述符的矢量;
5表示接納測試計(jì)數(shù)的預(yù)先配置的參數(shù)的矢量;以及
F表示任意函數(shù)。
在計(jì)算接納測試計(jì)數(shù)之后,在操作203確定,接納測試計(jì)數(shù)是否并 沒有超過最大接納計(jì)數(shù)。最大接納計(jì)數(shù)代表最大可允許的資源預(yù)留, 并且基于在網(wǎng)絡(luò)節(jié)點(diǎn)可用的資源的最大值,所述資源用所接納的數(shù)據(jù) 流和新數(shù)據(jù)流的描述符來描述。優(yōu)選地,最大接納計(jì)數(shù)基于最大預(yù)留計(jì)數(shù)的接納函數(shù)。
一般而言,最大接納計(jì)數(shù)被表示為<formula>formula see original document page 14</formula>
其中
A表示用于求和函數(shù)的最大預(yù)留計(jì)數(shù); 尺表示求和函數(shù)的最大預(yù)留計(jì)數(shù);以及 尸表示接納函數(shù)。
確定操作203可以包括兩個(gè)值的比較,或者可以包括比較表示接納 計(jì)數(shù)的多個(gè)值與表示最大計(jì)數(shù)的對應(yīng)值。比較運(yùn)算可以被看作是兩個(gè) 矢量的比較,即接納計(jì)數(shù)矢量和最大計(jì)數(shù)矢量的比較。如果接納測試 計(jì)數(shù)的元素中沒有一個(gè)超過最大接納計(jì)數(shù)的對應(yīng)值,則會認(rèn)為接納計(jì) 數(shù)未超過最大接納計(jì)數(shù)??商鎿Q地,能夠比較接納測試計(jì)數(shù)矢量的長 度和最大接納計(jì)數(shù)矢量的長度。
如果在操作203判斷是"否",即如果接納測試計(jì)數(shù)超過最大接納 計(jì)數(shù),則在操作206拒絕新數(shù)據(jù)流。
如果在操作203判斷是"是",即當(dāng)接納計(jì)數(shù)并未超過最大接納計(jì) 數(shù)時(shí),則在操作204接納新數(shù)據(jù)流。接納新數(shù)據(jù)流優(yōu)選地包括根據(jù)資源 請求分配路由選擇新數(shù)據(jù)流所要求的資源。操作204還可以包括通知請 求實(shí)體和接納數(shù)據(jù)流的通信路徑沿線上的所有通信節(jié)點(diǎn)。
此外,在操作205,預(yù)留計(jì)數(shù)基于新流的描述符進(jìn)行更新。此操作 用于將針對新數(shù)據(jù)流的現(xiàn)在所分配的資源反映到預(yù)留計(jì)數(shù)中。更新預(yù) 留計(jì)數(shù)可以包括存儲接納測試計(jì)數(shù)的元素,即,預(yù)留計(jì)數(shù)包括新流的 描述符作為新的預(yù)留計(jì)數(shù)。如果預(yù)留函數(shù)是求和函數(shù),則對應(yīng)的被更 新的預(yù)留計(jì)數(shù)是先前的預(yù)留計(jì)數(shù)和新流的描述符的預(yù)留求和函數(shù)之 和。如果預(yù)留函數(shù)是乘積函數(shù),則被更新的預(yù)留計(jì)數(shù)對應(yīng)于先前的預(yù) 留計(jì)數(shù)與新流的描述符的預(yù)留乘積函數(shù)的乘積。更新操作可以包括重
寫先前的預(yù)留計(jì)數(shù),以從現(xiàn)在開始例如反映在另一新數(shù)據(jù)流的接納操 作中的被更新的預(yù)留計(jì)數(shù)。
如果新數(shù)據(jù)流被拒絕,則不執(zhí)行這種更新操作,并且先前被存儲 的或被計(jì)算出的預(yù)留計(jì)數(shù)照現(xiàn)在的樣子被維持。
在下面,將描述接納控制公式的另一實(shí)例。此實(shí)例示出了如例如在H. G. Perros和K. M. Elsayed的"Call admission control schemes: A review" ( IEEE Communications Magazine,第34巻,第11冊,第82~91頁,1996年11月)中所述的重 業(yè)務(wù)近似(HTA, heavy traffic approximation)理論的約化態(tài)實(shí)現(xiàn) 方案。
根據(jù)重業(yè)務(wù)近似理論,如果下式成立,則在節(jié)點(diǎn)處接納新流。
<formula>formula see original document page 15</formula>
其中,下列為預(yù)先配置的參數(shù),即取決于環(huán)境(諸如節(jié)點(diǎn))而不是取
決于流本身的參數(shù)
7:常量參數(shù)
K:是節(jié)點(diǎn)處的緩沖容量
e:是目標(biāo)損耗概率
并且其中,下列為每流(per-flow)用信號通知的描述符,即與流聯(lián)
合傳輸?shù)拿枋龇?br>
Ri:是流i的峰值速率
ri:是流i的活動(dòng)因子
bi:流i的活動(dòng)周期的平均持續(xù)時(shí)間
如果定義了下列預(yù)留計(jì)數(shù),則上述接納控制函數(shù)(8)可以被變換 成約化態(tài)環(huán)境
<formula>formula see original document page 15</formula>( 9 )
<formula>formula see original document page 15</formula> (10)
將預(yù)留計(jì)數(shù)(9)和(10)帶入接納控制函數(shù)(8)產(chǎn)生約化態(tài)接納控 制函數(shù)
<formula>formula see original document page 15</formula> ( 11 )
如果現(xiàn)在想要接納新流,則基于預(yù)留計(jì)數(shù)(9)和(10)以及新流的描述符的矢量^廳計(jì)算下列接納測試計(jì)數(shù)。
<formula>formula see original document page 16</formula>( 12 )
將接納測試計(jì)數(shù)與前述的最大接納計(jì)數(shù)相比較,并且如果決定接 納該流,則預(yù)留計(jì)數(shù)(9)和(10)被更新如下
<formula>formula see original document page 16</formula>(14)
如果流未被接納,即如果預(yù)留測試計(jì)數(shù)超過前述的最大接納計(jì)數(shù),
則預(yù)留計(jì)數(shù)(9)和(10)不進(jìn)行更新.
另一方面,如果通過對應(yīng)描述符的明確信令來釋放流,則預(yù)留計(jì) 數(shù)(9)和(10)被更新如下
—S,—7^w及"g^ ( 15 )
圖2圖解說明了本發(fā)明方法的優(yōu)點(diǎn),即避免存儲每個(gè)所接納的數(shù)據(jù) 流和新數(shù)據(jù)流的描述符,而是維持表示所有流的描述符的更多乘積函 數(shù)的恒定數(shù)目的預(yù)留計(jì)數(shù),并且如果新流被接納,則適當(dāng)?shù)馗逻@些 預(yù)留計(jì)數(shù)。
在下面,將參照圖3描述本發(fā)明的另一實(shí)施例。
圖3示出了用于資源預(yù)留的方法的操作,尤其是圖解說明了與釋放 先前被接納的流的資源有關(guān)的操作。
操作開始于入口點(diǎn)A,該入口點(diǎn)A例如跟隨圖2的操作205。
如關(guān)于先前實(shí)施例所注釋的那樣,預(yù)留計(jì)數(shù)被維持,這些預(yù)留計(jì) 數(shù)以匯聚的方式反映所有被接納的流的資源,即,并沒有相對于每個(gè) 被接納的流存儲信息,而是以匯聚的方式共同反映所有流。因此,必 須進(jìn)行特別規(guī)定,以便不僅終止數(shù)據(jù)流,而且針對不再被維持的特定 流從預(yù)留計(jì)數(shù)中去除已分配的資源或更確切地說是所請求的資源的資 源描述符。
在第一操作301,確定是否接收到與特定流相關(guān)聯(lián)的釋放指令。類 似于資源請求,釋放指令可以從通信源沿著所接納的數(shù)據(jù)流的路徑被 傳輸,以便通知每個(gè)通信節(jié)點(diǎn)不再需要該通信鏈路和相關(guān)聯(lián)的數(shù)據(jù)流。優(yōu)選地,釋放指令包括要被釋放的流或通信鏈路的指示,并還包括針 對該數(shù)據(jù)流所接納的資源的描述符。如下面將進(jìn)一步描述的那樣,所 接納的資源(即,先前在為接納數(shù)據(jù)流而傳輸資源請求時(shí)所請求的資 源)的描述符可以被用來對應(yīng)地調(diào)整預(yù)留計(jì)數(shù)。
如果在操作301判斷是"是,,,從而指示接收到釋放指令,則在操 作303釋放對應(yīng)的數(shù)據(jù)流,從而使得對應(yīng)被分配的資源可用于其他的數(shù) 據(jù)流。釋放數(shù)據(jù)流可以包括終止相關(guān)聯(lián)的通信鏈路,諸如通過圖l中所 示的流控制單元120來終止。
如果在操作301判斷是《否",從而指示未接收到釋放指令,則在 操作302確定是否在某一預(yù)定時(shí)間周期內(nèi)接收到刷新請求。例如,通信 網(wǎng)絡(luò)被設(shè)計(jì)來使得要求維持所接納的流的每個(gè)通信實(shí)體周期性地傳輸 刷新請求,以便通知每個(gè)中繼通信節(jié)點(diǎn),仍要求該通信鏈路或數(shù)據(jù)流。 例如,依據(jù)終止事件(諸如取消應(yīng)用或關(guān)閉運(yùn)行該應(yīng)用的計(jì)算裝置), 通信實(shí)體(諸如通信應(yīng)用)可以不處于發(fā)送明確釋放指令的地位,而
是可以筒單地被終止.如果流會依據(jù)明確的釋放指令只是被釋放,則 在這種情況下可以不確定地維持通信鏈路或數(shù)據(jù)流。
因此,例如一終止對應(yīng)的通信應(yīng)用就不再要求數(shù)據(jù)流的信息還可 以通過捆綁(seizing)來傳送,以便傳輸周期的刷新請求。類似于釋 放指令,刷新請求優(yōu)選地包括要被維持的數(shù)據(jù)流的指示,并且還可以 包括要被維持的流的資源的描述符,諸如針對該流所發(fā)布的先前資源 請求的描述符。如下面將進(jìn)一步描述的那樣,把要被維持的數(shù)據(jù)流的 描述符包括到刷新請求中能夠維持預(yù)留計(jì)數(shù)被更新。
如果在操作302判斷是"否",從而指示未接收到某一預(yù)定時(shí)間周 期或刷新周期內(nèi)的刷新請求,則如前所述,在操作303釋放該數(shù)據(jù)流。
此后,在操作304,預(yù)留計(jì)數(shù)基于所釋放的流的描述符進(jìn)行更新。 如果接收到明確的釋放指令,則釋放數(shù)據(jù)流包括將新流的描述符包括 到預(yù)留計(jì)數(shù)中的反向過程,即,包括從預(yù)留計(jì)數(shù)中減去所釋放的數(shù)據(jù) 流的描述符的所有求和函數(shù),以及包括將所有乘積函數(shù)的預(yù)留計(jì)數(shù)除 以所釋放的數(shù)據(jù)流的描述符的乘積函數(shù)。因此,依據(jù)明確的釋放指令, 通過基于所釋放的流的描述符來從所匯聚的計(jì)數(shù)中去除所釋放的流的 資源可以更新預(yù)留計(jì)數(shù)。
如果在操作303—缺少所要求的時(shí)間周期內(nèi)的刷新請求就釋放數(shù)據(jù)流,則通信節(jié)點(diǎn)可以主動(dòng)查詢該流的描述符,例如通過詢問正式請 求接納該數(shù)據(jù)流的實(shí)體來查詢.基于此詢問,網(wǎng)絡(luò)節(jié)點(diǎn)獲得未被刷新 的流的描述符,并且如之前關(guān)于明確被釋放的流所描述的那樣,可以 對應(yīng)地從預(yù)留計(jì)數(shù)中去除這些描述符.
因此,可以始終使預(yù)留計(jì)數(shù)保持最新,并且這些預(yù)留計(jì)數(shù)反映持 續(xù)使用中的所有流。
如果通信節(jié)點(diǎn)不能獲得未被刷新的流的描述符,則可以使用基于
時(shí)間的算法,該算法將參照圖5進(jìn)行更詳細(xì)的描述。簡言之,此算法涉 及將每個(gè)已刷新的流作為被接納的新流來對待,即,每個(gè)已刷新的流 的描述符被包括在預(yù)留計(jì)數(shù)中。為了避免在預(yù)留計(jì)數(shù)中過多表示 (over-represent)描述符并且因此過多表示已刷新的流的資源,由 于預(yù)留計(jì)數(shù)針對每次刷新被增加,所以預(yù)留計(jì)數(shù)被配備有時(shí)間標(biāo)簽, 從而允許去除預(yù)留計(jì)數(shù)的到期部分或子計(jì)數(shù)。如果預(yù)留子計(jì)數(shù)的時(shí)間 標(biāo)簽比刷新周期舊,在該刷新周期中,刷新請求必須被發(fā)布,則例如 可以去除預(yù)留計(jì)數(shù)的子計(jì)數(shù),因?yàn)樵谶@種情況下,所有被刷新的流在 計(jì)數(shù)中被重新考慮,并且已經(jīng)反映了所刷新的流的最舊的計(jì)數(shù)應(yīng)當(dāng)被 去除。在較新的預(yù)留計(jì)數(shù)中,將不重新表示所有未被刷新的流,并且 將隨著最舊的計(jì)數(shù)而去除這些未被刷新的流。
下面將參照圖4描述本發(fā)明的另一實(shí)施例。圖4圖解說明了用于資
源預(yù)留的方法的操作,尤其是圖解說明了用于計(jì)算接納測試計(jì)數(shù)以及 如果流被接納則更新預(yù)留計(jì)數(shù)的操作。
在第一操作401,如參照先前實(shí)施例所描述的那樣,確定是否應(yīng)該 接納新流。
在操作402,從存儲器中檢索預(yù)留計(jì)數(shù),該預(yù)留計(jì)數(shù)是先前基于預(yù) 留函數(shù)針對多個(gè)所接納的流中的每個(gè)流而計(jì)算的。如前所述的那樣, 在預(yù)留求和函數(shù)的情況下,預(yù)留計(jì)數(shù)通過匯總已被接納的流的描述符 的所有求和函數(shù)而獲得。
如果預(yù)留函數(shù)是乘積函數(shù),則預(yù)留計(jì)數(shù)由已經(jīng)被接納的流的描述 符的所有乘積函數(shù)的乘積組成。
隨后在操作403,針對請求被接納的新流的描述符來計(jì)算預(yù)留函數(shù)。
然后在操作404,利用操作402所獲得的預(yù)留計(jì)數(shù)以及操作403的結(jié)果根據(jù)函數(shù)類型進(jìn)行組合。如果預(yù)留函數(shù)是求和函數(shù),則給預(yù)留計(jì)數(shù)
加上操作403的結(jié)果,并且如果預(yù)留函數(shù)是乘積函數(shù),則將操作403的 結(jié)果與在操作402所獲得的預(yù)留計(jì)數(shù)相乘。然后,在操作405,確定是 否定義了另一預(yù)留函數(shù)。
要注意的是,預(yù)留函數(shù)能夠是可以預(yù)先確定或在需要時(shí)(例如, 由網(wǎng)絡(luò)操作員)動(dòng)態(tài)確定的任意求和或乘積函數(shù)。因此,通過能夠定
義專有的預(yù)留函數(shù),本發(fā)明的用于預(yù)留資源和維持匯聚式預(yù)留狀態(tài)的 框架適于各個(gè)需求。
如果在操作405確定定義了另一預(yù)留函數(shù),則重復(fù)操作402 - 404.
如果在操作405確定了還未確定另一預(yù)留,則在操作406基于由此 獲得的預(yù)留計(jì)數(shù)來計(jì)算接納測試計(jì)數(shù)。計(jì)算接納測試計(jì)數(shù)可以包括對 各個(gè)預(yù)留計(jì)數(shù)的任何數(shù)學(xué)運(yùn)算,諸如,預(yù)留計(jì)數(shù)的加權(quán)求和、預(yù)留計(jì) 數(shù)的加權(quán)乘積或者任何其他運(yùn)算。
可替換地,根據(jù)另一實(shí)例,操作404被省略,并且操作406包括 基于預(yù)留計(jì)數(shù)和來自操作403的針對新流的描述符的所計(jì)算出的預(yù)留 函數(shù),計(jì)算接納測試計(jì)數(shù)。
根據(jù)另一實(shí)例,預(yù)留計(jì)數(shù)被維持在組成接納測試計(jì)數(shù)的矢量中.
然后,在操作407,將由此獲得的接納測試計(jì)數(shù)與最大接納計(jì)數(shù)進(jìn) 行比較。最大接納計(jì)數(shù)(如例如參照圖2所描述的那樣)可以由對應(yīng)于 接納測試計(jì)數(shù)的預(yù)留計(jì)數(shù)的預(yù)定最大預(yù)留計(jì)數(shù)的接納函數(shù)組成。
如果接納函數(shù)(即最大接納計(jì)數(shù))是單值,則操作407是簡單的比 較操作,以便確定接納測試計(jì)數(shù)是否小于最大接納計(jì)數(shù)。如果接納測 試計(jì)數(shù)并且對應(yīng)地最大接納計(jì)數(shù)用預(yù)留計(jì)數(shù)的矢量來表示,則比較矢 量的各個(gè)元素,諸如比較各個(gè)預(yù)留計(jì)數(shù)和對應(yīng)的最大預(yù)留計(jì)數(shù)。在這 種情況下,根據(jù)實(shí)例,如果接納測試矢量的所有元素小于對應(yīng)的最大 接納計(jì)數(shù),則確定接納測試計(jì)數(shù)小于最大接納計(jì)數(shù)。
如果在操作407判斷是"是",從而指示接納測試計(jì)數(shù)小于最大接 納計(jì)數(shù),則在操作408,將包括新流的描述符的預(yù)留計(jì)數(shù)存儲在更新過 的預(yù)留計(jì)數(shù)處。因此,現(xiàn)在所存儲的預(yù)留計(jì)數(shù)反映所有被接納的數(shù)據(jù) 流,從而包括新接納的數(shù)據(jù)流。存儲或更新預(yù)留計(jì)數(shù)可以包括重寫對 應(yīng)的先前存儲的預(yù)留計(jì)數(shù)(在檢測新數(shù)據(jù)流的資源請求之前存儲的)。
如果在操作407判斷是"否",從而指示接納測試計(jì)數(shù)并不小于最大接納計(jì)數(shù),則在操作409,丟棄所計(jì)算出的、包括新流的描述符的預(yù) 留計(jì)數(shù),并維持先前計(jì)算出的預(yù)留計(jì)數(shù),即,在檢測到新數(shù)據(jù)流的資 源請求之前可用的預(yù)留計(jì)數(shù)。
因此,預(yù)留計(jì)數(shù)始終反映當(dāng)前被接納的數(shù)據(jù)流,或更確切地說, 始終反映針對當(dāng)前被接納的流所要求的資源。
在下面,將參照圖5描述本發(fā)明的另一實(shí)施例。圖5圖解說明了用 于資源預(yù)留的方法的操作,尤其是描述了用于釋放數(shù)據(jù)流的步驟,
參照圖3,描述了關(guān)于釋放數(shù)據(jù)流以及對應(yīng)地更新預(yù)留計(jì)數(shù)的實(shí)施 例。在圖3的操作304,假設(shè),在某一刷新時(shí)間周期內(nèi)未接收到刷新請 求的情況下,獲得未被刷新的流的描述符來對應(yīng)地更新預(yù)留計(jì)數(shù)。然 而,如果這種信息不可得,即,如果不能獲得未被刷新的流的描述符, 則不能執(zhí)行對應(yīng)的更新操作。如前所述,預(yù)留狀態(tài)未被單獨(dú)維持,即 該網(wǎng)絡(luò)節(jié)點(diǎn)并未存儲各個(gè)所接納的流的各個(gè)描述符,而是僅僅維持所 匯聚的預(yù)留計(jì)數(shù)。
圖5的實(shí)施例解決了通過使用滑動(dòng)窗口技術(shù)從預(yù)留計(jì)數(shù)中去除未 被刷新的數(shù)據(jù)流的上述問題。
如上所述,這涉及將每個(gè)被刷新的流作為被接納的新流來對待, 即每個(gè)被刷新的流的描述符再次被包括到預(yù)留計(jì)數(shù)中。為了避免在預(yù) 留計(jì)數(shù)中過多表示描述符并且因此過多表示已刷新的流的資源,由于 預(yù)留計(jì)數(shù)針對每次刷新被增加,所以預(yù)留計(jì)數(shù)被配備有時(shí)間標(biāo)簽,并 定義了滑動(dòng)窗口,從而允許去除預(yù)留計(jì)數(shù)的到期部分或子計(jì)數(shù)。如果 預(yù)留子計(jì)數(shù)的時(shí)間標(biāo)簽比刷新周期舊,在該刷新周期中,刷新請求必 須被發(fā)布,則例如可以去除預(yù)留計(jì)數(shù)的子計(jì)數(shù),因?yàn)樵谶@種情況下, 所有被刷新的流在計(jì)數(shù)中被重新考慮,并且已經(jīng)反映了已刷新的流的 最舊的子計(jì)數(shù)應(yīng)當(dāng)使用滑動(dòng)窗口來去除。在較新的預(yù)留計(jì)數(shù)中,將不 重新表示所有未被刷新的流,并將隨著最舊的計(jì)數(shù)而去除這些未被刷 新的流。
通常,基于所有新接納的流和被刷新的流,滑動(dòng)窗口被用于計(jì)算 某一時(shí)間周期中的每個(gè)預(yù)留函數(shù)的預(yù)留計(jì)數(shù),并且用于在推進(jìn)滑動(dòng)窗 口時(shí)丟棄預(yù)留計(jì)數(shù)。因此,預(yù)留計(jì)數(shù)可以在某一時(shí)間間隔(如前所述 的用于刷新數(shù)據(jù)流的刷新周期)之后被丟棄,因?yàn)楸娝苤?,每個(gè)未 被刷新的流在此時(shí)間間隔之后可以被釋放。在第一搮作501,定義了具有預(yù)定長度的滑動(dòng)窗口,該滑動(dòng)窗口被 再分成對應(yīng)于用于推進(jìn)滑動(dòng)窗口的時(shí)間單位的多個(gè)子部分。換言之, 一經(jīng)過對應(yīng)的時(shí)間周期,滑動(dòng)窗口就被推進(jìn)子部分或單位。優(yōu)選地, 滑動(dòng)窗口具有對應(yīng)于刷新周期的預(yù)定長度,在該刷新周期中,刷新請 求必須通過應(yīng)用來發(fā)布,以便避免釋放該數(shù)據(jù)流。
在操作502,預(yù)留子計(jì)數(shù)被維持,每個(gè)子計(jì)數(shù)對應(yīng)于在滑動(dòng)窗口的 子部分中被接納或被釋放的數(shù)據(jù)流.因此,每個(gè)預(yù)留計(jì)數(shù)由多個(gè)預(yù)留 子計(jì)數(shù)組成,預(yù)留子計(jì)數(shù)的數(shù)目對應(yīng)于滑動(dòng)窗口子部分的數(shù)目。
在操作503, 一經(jīng)過推進(jìn)滑動(dòng)窗口的每個(gè)時(shí)間單位,就確定滑動(dòng)窗 口是否要被推進(jìn)。如果在操作503確定滑動(dòng)窗口被推進(jìn),則在操作504, 基于網(wǎng)絡(luò)節(jié)點(diǎn)處的資源預(yù)留情況的所有動(dòng)態(tài)變化,針對每個(gè)預(yù)留計(jì)數(shù) 來計(jì)算滑動(dòng)窗口的新子部分的新子計(jì)數(shù)。新預(yù)留子計(jì)數(shù)因此包括計(jì)算
所有新數(shù)據(jù)流的描述符的預(yù)留函數(shù),從預(yù)留計(jì)數(shù)中去除被釋放的數(shù)據(jù) 流的資源,以及還包括對已刷新的數(shù)據(jù)流的描述符所計(jì)算的預(yù)留函數(shù)。 如參照圖3的操作302所注釋的那樣,刷新請求可以包括要進(jìn)一步被維 持的對應(yīng)流的描述符,并且因此,新預(yù)留子計(jì)數(shù)還表示被刷新的數(shù)據(jù) 流的資源.因此,隨著滑動(dòng)窗口的推進(jìn),新的預(yù)留子計(jì)數(shù)被計(jì)算出, 用于以匯聚的方式針對所有新接納的(根據(jù)參照先前實(shí)施例描述的程 序而接納的)數(shù)據(jù)流、被刷新的數(shù)據(jù)流以及明確釋放的數(shù)據(jù)流反映資 源,如前所描述的那樣。
為了避免在預(yù)留計(jì)數(shù)中雙重表示已刷新的數(shù)據(jù)流的資源,在計(jì)算 新時(shí)間單位的新預(yù)留子計(jì)數(shù)的同時(shí),丟棄最舊的預(yù)留子計(jì)數(shù)。最舊的 預(yù)留子計(jì)數(shù)(即滑動(dòng)窗口一被推進(jìn)一個(gè)時(shí)間單位就不再形成滑動(dòng)窗口 的部分的預(yù)留計(jì)數(shù))表示經(jīng)過一個(gè)以上刷新周期或滑動(dòng)窗口持續(xù)時(shí)間 而為流所預(yù)留的所有資源。在此期間已被刷新的任何流將被表示在滑 動(dòng)窗口的預(yù)留子計(jì)數(shù)之一中,并且因此去除最舊的預(yù)留子計(jì)數(shù)將有效 地導(dǎo)致從預(yù)留計(jì)數(shù)中去除與所有未被刷新的數(shù)據(jù)流有關(guān)的預(yù)留狀態(tài)。
因此,即使預(yù)留狀態(tài)以匯聚的方式被維持,而無需關(guān)于每個(gè)流的 描述符的顯式信息,仍可以從預(yù)留計(jì)數(shù)中去除未被刷新的流。
上述的實(shí)施例引入了在滑動(dòng)窗口技術(shù)中使用 一般的接納控制公式 框架的系統(tǒng)。上述的實(shí)施例通過利用所匯聚的變量來實(shí)現(xiàn)預(yù)留計(jì)數(shù)而 提供對數(shù)據(jù)流的資源的有效利用。由于變量或預(yù)留計(jì)數(shù)的數(shù)目與流的數(shù)目無關(guān),所以所引入的技術(shù)可任意擴(kuò)展。
根據(jù)另一實(shí)例,網(wǎng)絡(luò)節(jié)點(diǎn)是IP (網(wǎng)際協(xié)議)路由器,該IP路由器 至少包括資源管理器和流控制單元,諸如參照圖l所描述的那樣。流控 制單元可以包括實(shí)現(xiàn)上述接納控制公式的接納控制單元,這些接納控 制公式被表示為流描述符的多個(gè)總和與乘積結(jié)構(gòu)??梢栽谫Y源管理器 中處理進(jìn)入的資源請求,而接納控制單元可以執(zhí)行接納控制決策。如 果決策是肯定的,則在資源管理器中給對應(yīng)的所匯聚的資源添加所請 求的資源,并通過流控制單元接納對應(yīng)的流,上述實(shí)例公開了以匯聚 的方式維持流描述符、其函數(shù)、總和與乘積結(jié)構(gòu)的方法,以便避免存 儲各個(gè)流的流描述符。
如前所述,本發(fā)明尤其適用于對下層運(yùn)輸網(wǎng)絡(luò)有著嚴(yán)格要求的流 媒體應(yīng)用。因此,對接納新流進(jìn)行決策的任務(wù)必須避免中斷先前所接 納的流.例如,考慮到因特網(wǎng)的分布式知識原理,即沒有集中式控制,
優(yōu)選逐跳(hop-by-hop)地在每個(gè)通信節(jié)點(diǎn)處進(jìn)行接納決策,如上所 公開的那樣。此外,由于對新流的請求可以在任何時(shí)間到達(dá)任何地方 的通信節(jié)點(diǎn),所以基于源請求,必須按需進(jìn)行決策。
上述實(shí)施例尤其可用于差異化的服務(wù)網(wǎng)絡(luò),其中,網(wǎng)絡(luò)元件被分 類為邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)。允許對每個(gè)流狀態(tài)使用邊緣節(jié)點(diǎn),即,存 儲與每個(gè)所接納的流有關(guān)的描述符,而只允許核心節(jié)點(diǎn)存儲所匯聚的 變量,如上利用預(yù)留計(jì)數(shù)所描述的那樣。因此,參照上述實(shí)施例描述 的網(wǎng)絡(luò)節(jié)點(diǎn)可以組成差異化的服務(wù)網(wǎng)絡(luò)中的核心節(jié)點(diǎn)。
要被接納的流的描述符(像峰值速率、平均速率、活動(dòng)因子等) 利用在網(wǎng)絡(luò)中可得到的資源預(yù)留信令協(xié)議來用信號通知。
利用作為匯聚式軟狀態(tài)來處理的預(yù)留狀態(tài),在某一刷新周期期間 未被刷新的預(yù)留在經(jīng)過某一時(shí)間周期之后自動(dòng)地從所匯聚的預(yù)留狀態(tài) 中被去除,如參照圖5所描述的那樣。
權(quán)利要求
1.在通信網(wǎng)絡(luò)中為數(shù)據(jù)流預(yù)留資源的方法,該方法包括檢測新數(shù)據(jù)流的資源預(yù)留的請求,所述資源預(yù)留的請求包括指定所請求的資源的多個(gè)描述符;基于新數(shù)據(jù)流的多個(gè)描述符和預(yù)留計(jì)數(shù),計(jì)算接納測試計(jì)數(shù),所述預(yù)留計(jì)數(shù)表示多個(gè)所接納的數(shù)據(jù)流中的指定所接納的數(shù)據(jù)流的資源的多個(gè)描述符的預(yù)留函數(shù);如果接納測試計(jì)數(shù)小于多個(gè)業(yè)務(wù)量描述符的最大接納計(jì)數(shù),則接納新數(shù)據(jù)流;以及如果新數(shù)據(jù)流被接納,則基于新數(shù)據(jù)流的描述符更新預(yù)留計(jì)數(shù)。
2. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,其中, 預(yù)留函數(shù)由求和函數(shù)或乘積函數(shù)構(gòu)成,求和函數(shù)由將數(shù)據(jù)流的描述符 作為變量的函數(shù)總和構(gòu)成,而乘積函數(shù)由將數(shù)據(jù)流的描述符作為變量 的函數(shù)乘積構(gòu)成。
3. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,其中, 預(yù)留計(jì)數(shù)的更新包括給預(yù)留計(jì)數(shù)加上新數(shù)據(jù)流的描述符的求和函數(shù), 或者包括用新數(shù)據(jù)流的描述符的乘積函數(shù)乘以預(yù)留計(jì)數(shù)。
4. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,包括 如果接收到針對所接納的數(shù)據(jù)流之一的釋放指令,則基于對應(yīng)的描述符更新每個(gè)預(yù)留計(jì)數(shù)。
5. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,其中, 釋放數(shù)據(jù)流包括從預(yù)留計(jì)數(shù)中減去所釋放的數(shù)據(jù)流的描述符的求和函 數(shù),或者包括將預(yù)留計(jì)數(shù)除以所釋放的數(shù)據(jù)流的描述符的乘積函數(shù)。
6. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,包括基于在具有預(yù)定持續(xù)時(shí)間的刷新窗口期間被接納或被刷新的數(shù)據(jù)流, 計(jì)算每個(gè)預(yù)留計(jì)數(shù)。
7. 根據(jù)權(quán)利要求6所述的方法,包括除非在刷新窗口期間接收 到與數(shù)據(jù)流相關(guān)聯(lián)的刷新請求,或者如果接收到明確的釋放指令,才釋放該數(shù)據(jù)流。
8. 根據(jù)權(quán)利要求6或7中的至少一項(xiàng)權(quán)利要求所述的方法,其中, 每個(gè)預(yù)留計(jì)數(shù)包括多個(gè)子計(jì)數(shù),每個(gè)子計(jì)數(shù)基于在刷新窗口的相鄰子 部分期間被接納或被刷新的數(shù)據(jù)流,子部分對應(yīng)于推進(jìn)刷新窗口的時(shí)間單位。
9. 根據(jù)權(quán)利要求6至8中的至少一項(xiàng)權(quán)利要求所述的方法,其中, 刷新窗口一被推進(jìn)了一個(gè)時(shí)間單元,就生成新的子計(jì)數(shù),并去除子計(jì) 數(shù)中的最舊的子計(jì)數(shù)。
10. 根據(jù)前述權(quán)利要求中的至少一項(xiàng)權(quán)利要求所述的方法,包括 基于所測量的帶寬、新數(shù)據(jù)流的峰值速率以及新數(shù)據(jù)流的峰值速率與 所接納的數(shù)據(jù)流的峰值速率總和之和,計(jì)算接納測試矢量。
11. 一種程序,其具有適于執(zhí)行根據(jù)權(quán)利要求1-10中的任一權(quán)利 要求所述的方法的指令。
12. —種計(jì)算機(jī)可讀介質(zhì),在該計(jì)算機(jī)可讀介質(zhì)中包含程序,其 中,所述程序要使包括中央服務(wù)器和至少一個(gè)內(nèi)容服務(wù)器的計(jì)算機(jī)系 統(tǒng)執(zhí)行根據(jù)權(quán)利要求l - IO中的任一權(quán)利要求所述的方法。
13. —種計(jì)算機(jī)程序產(chǎn)品,其包括根據(jù)權(quán)利要求12所述的計(jì)算機(jī) 可讀介質(zhì)-
14. 用于在通信網(wǎng)絡(luò)中為數(shù)據(jù)流預(yù)留資源的網(wǎng)絡(luò)節(jié)點(diǎn),該網(wǎng)絡(luò)節(jié) 點(diǎn)包括資源管理器,用于檢測新數(shù)據(jù)流的資源預(yù)留的請求,所述資源預(yù) 留的請求包括指定所請求的資源的多個(gè)描述符,以及用于基于新數(shù)據(jù) 流的多個(gè)描述符和預(yù)留計(jì)數(shù)來計(jì)算接納測試計(jì)數(shù),所述預(yù)留計(jì)數(shù)表示 多個(gè)所接納的數(shù)據(jù)流的多個(gè)描述符的預(yù)留函數(shù)并指定針對所接納的數(shù) 據(jù)流所分配的資源;數(shù)據(jù)流控制單元,用于如果接納測試計(jì)數(shù)小于多個(gè)業(yè)務(wù)量描述符 的最大接納計(jì)數(shù),則接納新數(shù)據(jù)流,所述最大接納計(jì)數(shù)組成最大預(yù)留 計(jì)數(shù)的接納函數(shù);以及其中,資源管理器適于,如果新數(shù)據(jù)流被接納,則基于新數(shù)據(jù)流 的描述符更新接納測試計(jì)數(shù)。
15. 根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中,預(yù)留函數(shù)由求和函 數(shù)或乘積函數(shù)構(gòu)成,求和函數(shù)由將數(shù)據(jù)流的描述符作為變量的函數(shù)總 和構(gòu)成,而乘積函數(shù)由將數(shù)據(jù)流的描述符作為變量的函數(shù)乘積構(gòu)成。
16. 根據(jù)權(quán)利要求14和15中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,資源管理器適于,通過給預(yù)留計(jì)數(shù)加上新數(shù)據(jù)流的描述符的求 和函數(shù),或者通過用新數(shù)據(jù)流的描述符的乘積函數(shù)乘以預(yù)留計(jì)數(shù),來更新預(yù)留計(jì)數(shù)。
17. 根據(jù)權(quán)利要求14- 16中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,資源管理器適于,如果接收到針對所接納的數(shù)據(jù)流之一的釋放 指令,則基于對應(yīng)的描述符更新每個(gè)預(yù)留計(jì)數(shù)。
18. 根據(jù)權(quán)利要求14 - 17中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,數(shù)據(jù)流控制單元適于,通過從預(yù)留計(jì)數(shù)中減去所釋放的數(shù)據(jù)流 的描述符的求和函數(shù),或者通過將預(yù)留計(jì)數(shù)除以所釋放的數(shù)據(jù)流的描 述符的乘積函數(shù),來釋放該數(shù)據(jù)流。
19. 根據(jù)權(quán)利要求14 - 18中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,資源管理器適于,基于在具有預(yù)定持續(xù)時(shí)間的刷新窗口期間被 接納或被刷新的數(shù)據(jù)流,來計(jì)算每個(gè)預(yù)留計(jì)數(shù)。
20. 根據(jù)權(quán)利要求19所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中,每個(gè)預(yù)留計(jì)數(shù)包括 多個(gè)子計(jì)數(shù),每個(gè)子計(jì)數(shù)基于在刷新窗口的相鄰子部分期間被接納或 被刷新的數(shù)據(jù)流,子部分對應(yīng)于推進(jìn)刷新窗口的時(shí)間單位。
21. 根據(jù)權(quán)利要求19和20中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,資源管理器適于,除非在刷新窗口期間接收到與數(shù)據(jù)流相關(guān)聯(lián) 的刷新請求,或者如果接收到明確的釋放指令,才釋放該數(shù)據(jù)流。
22. 根據(jù)權(quán)利要求19-21中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn), 其中,資源管理器適于,刷新窗口一被推進(jìn)了一個(gè)時(shí)間單位,就生成 新的子計(jì)數(shù),并適于丟棄子計(jì)數(shù)中的最舊的子計(jì)數(shù)。
23. 根據(jù)權(quán)利要求14 - 22中的至少一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中,資源管理器適于,基于所測量的帶寬、新數(shù)據(jù)流的峰值速率以 及新數(shù)據(jù)流的峰值速率和所接納的數(shù)據(jù)流的峰值速率總和之和,來計(jì) 算接納測試矢量。
全文摘要
提供了一種網(wǎng)絡(luò)節(jié)點(diǎn),用于在通信網(wǎng)絡(luò)中為數(shù)據(jù)流預(yù)留資源。所述節(jié)點(diǎn)檢測新數(shù)據(jù)流的資源預(yù)留的請求,并基于新數(shù)據(jù)流的多個(gè)描述符和預(yù)留計(jì)數(shù)來計(jì)算接納測試計(jì)數(shù),所述預(yù)留計(jì)數(shù)表示已被接納的數(shù)據(jù)流的多個(gè)描述符的預(yù)留函數(shù)并指定所接納的數(shù)據(jù)流的資源。如果接納測試計(jì)數(shù)小于多個(gè)業(yè)務(wù)量描述符的最大接納計(jì)數(shù),則接納新數(shù)據(jù)流,并基于新數(shù)據(jù)流的描述符更新預(yù)留計(jì)數(shù)。多個(gè)接納公式因此可以被用于維持?jǐn)?shù)據(jù)流的所匯聚的預(yù)留計(jì)數(shù),其中計(jì)數(shù)的數(shù)目與流的數(shù)目無關(guān)。
文檔編號H04L12/54GK101297524SQ200580051914
公開日2008年10月29日 申請日期2005年8月23日 優(yōu)先權(quán)日2005年8月23日
發(fā)明者A·卡斯扎爾, A·塔卡克斯, A·巴德 申請人:艾利森電話股份有限公司