專利名稱:網(wǎng)絡網(wǎng)關中的服務質(zhì)量管理的制作方法
技術領域:
本發(fā)明涉及確保網(wǎng)絡中的服務質(zhì)量,尤其涉及確保網(wǎng)絡傳輸和接收實時以及非實時數(shù)據(jù)流的服務質(zhì)量。
背景技術:
網(wǎng)絡用戶能夠訪問來自互聯(lián)網(wǎng)和其它源的各種類型的信息。網(wǎng)絡用戶能夠訪問的信息類型大致可以分成兩種類型實時流(realtime streams)和非實時流(non-realtime streams)。例如,一個典型的用戶既可以接收視頻或音頻的實時數(shù)據(jù)流,也可以接收諸如電子郵件、網(wǎng)頁或文件傳送協(xié)議(FTP)下載的非實時數(shù)據(jù)流。一般需要在一些短的時間上限內(nèi)傳輸或處理實時數(shù)據(jù)流,而通常并不需要像實時數(shù)據(jù)流那樣在一定的約束時間內(nèi)傳輸或發(fā)射非實時數(shù)據(jù)流。如下所述,實時和非實時數(shù)據(jù)流具有不同的特性。
實時和非實時數(shù)據(jù)流相關的主要特性在于它們對提供不同服務質(zhì)量(QoS)級別分別有不同的帶寬需求。QoS基本上是一個給定的網(wǎng)絡服務(given a network service)的性能屬性組(the set of performance properties),它通常包括吞吐量(throughout)、轉接(transit)、延遲和優(yōu)先權。在實時流中,除了這些參數(shù)以外,QoS參數(shù)還另外包括帶寬可用性、延遲和其它參數(shù)的抖動(jitter)。本領域技術人員應該可以理解任何給定QoS參數(shù)的關聯(lián)和重要性將由在一個特定應用中所使用的實時數(shù)據(jù)流的特性決定。本發(fā)明包括并支持一個給定實時數(shù)據(jù)流的任何QoS參數(shù)組。實時流需要一個可確保的QoS,以提供相對快速并且時間受限的信息傳輸。通常使用傳輸控制協(xié)議(TCP)/互聯(lián)網(wǎng)協(xié)議(IP)來傳輸非實時流。相反,非實時流通常不需要與實時流類似的QoS。接下來描述一個處理實時和非實時數(shù)據(jù)流的典型網(wǎng)絡示例。
可以將一個網(wǎng)絡配置為能夠接收來自外部信源(external source)的實時和非實時數(shù)據(jù)流。單個傳輸通路(transmission channel)通常把用戶的網(wǎng)絡連接到互聯(lián)網(wǎng)服務提供商(ISP)。該傳輸通路同時承載實時流和非實時流。這樣的傳輸通路的帶寬容量通常保持固定。因此,需要在實時和非實時流產(chǎn)生的帶寬需求矛盾之間平衡可用帶寬的分配。接下來在一個典型用戶環(huán)境中說明帶寬分配的問題。
網(wǎng)絡用戶一般通過服務提供商服務提供商而連接到像互聯(lián)網(wǎng)那樣的網(wǎng)絡中。服務提供商可以提供互聯(lián)網(wǎng)訪問以及諸如視頻點播、IP電話服務、流音頻和視頻等其它的可能服務。服務提供商通過諸如撥號電話線、xDSL、ISDN等傳輸信道而連接到網(wǎng)絡用戶。在服務提供商端的連接設備可以是邊緣路由器,而在網(wǎng)絡用戶端通常是網(wǎng)關。
實時數(shù)據(jù)流需要幾乎固定的帶寬分配。如果不犧牲QoS參數(shù),則實時數(shù)據(jù)流在調(diào)整帶寬需求方面提供的靈活性很小。相比之下,非實時數(shù)據(jù)流對帶寬的需求相對靈活,因為它們通常不需要相對嚴格的QoS。在一段給定的時間內(nèi),帶寬可用性可能會改變。因此,為了確保實時流獲得保持QoS所需要的帶寬,需要對從服務提供商到網(wǎng)絡用戶的非實時流業(yè)務(traffic)進行控制。接下來考慮控制帶寬共享的可能方法。
接下來討論一種使用分組調(diào)速(packet pacing)方法的傳統(tǒng)方法。從位于服務提供商處的路由器中發(fā)送到網(wǎng)關的非實時業(yè)務通常是使用TCP協(xié)議發(fā)送的互聯(lián)網(wǎng)通信業(yè)務。在互聯(lián)網(wǎng)站點處的TCP發(fā)送器(sender)通過調(diào)速非實時分組來控制非實時業(yè)務,以確保實時業(yè)務獲得所要求的帶寬。接下來描述分組調(diào)速方法及其相關問題。
通常通過對控制分組發(fā)送速率進行控制來執(zhí)行分組調(diào)速。實現(xiàn)這樣的分組調(diào)速方法需要在TCP發(fā)送器的運行上進行顯著的改變。在典型的網(wǎng)絡用戶場景(scenario)中,TCP發(fā)送器,也就是HTTP服務器,在類似大學、醫(yī)院或公司等一個外部代理(external agency)的控制之下??赡懿⒉黄谕鸌SP使用任何特定的帶寬管理技術。典型地,ISP將向大量的用戶提供服務,而且每個用戶都具有一些同時操作的活動TCP連接(active TCPconnection)。由于與支持大量用戶相關的可量測性(scalability)問題,在一個ISP站點處執(zhí)行這樣的分組調(diào)速方法是不可行的。因此,需要一種在網(wǎng)絡網(wǎng)關側執(zhí)行的改進的帶寬管理技術。
另一方法涉及到從傳統(tǒng)用戶網(wǎng)關來控制非實時流的TCP業(yè)務。此方法的難點是用戶網(wǎng)關處的TCP接收機(receiver)在TCP發(fā)送器上幾乎沒有操作有效的控制,而典型的TCP發(fā)送器是一個超文本傳送協(xié)議(HTTP)服務器或FTP服務器。因此,需要一種允許在網(wǎng)關端控制非實時業(yè)務的設備和方法,并且在用戶端沒有使用任何特殊設備的TCP環(huán)境中,這種設備和方法也是可行的。
如上所述,在實時和非實時業(yè)務共同分享信道可用帶寬的網(wǎng)絡中,上述公知的帶寬管理方法有好些缺點。因此,需要一種控制非實時流帶寬需求以使實時流能夠提供期望QoS的帶寬管理解決方案。另外,需要在位于網(wǎng)絡用戶端的網(wǎng)關上實現(xiàn)這樣的解決方案。
發(fā)明內(nèi)容
公開了一種保證網(wǎng)絡中服務質(zhì)量的系統(tǒng)。該網(wǎng)絡使用連接到網(wǎng)關的單個通信信道共享實時和非實時發(fā)射,例如TCP業(yè)務。使用具有流量控制參數(shù)(flow control parameters)或窗口(windows)的非實時發(fā)送器來發(fā)射非實時流。網(wǎng)關進一步連接到一個包括各種網(wǎng)絡元件的網(wǎng)絡上。網(wǎng)關包括一個帶寬控制單元,帶寬控制單元通過調(diào)整非實時發(fā)送器的流量控制參數(shù)來控制非實時發(fā)射的帶寬需求。實時流需要固定帶寬來支持類似延遲和抖動那樣的服務質(zhì)量參數(shù)。帶寬控制調(diào)節(jié)非實時連接帶寬需求,并因此確保實時流所需求的帶寬。帶寬控制還可以在多個非實時TCP連接之間動態(tài)地分配帶寬,以使得在一個給定的TCP連接的TCP慢啟動期間,能夠將可用的未使用帶寬分配給其它穩(wěn)態(tài)的(steady state)TCP連接。
從下文提供的詳細描述中可以意識到,本發(fā)明的其它應用領域將是顯而易見的。應該理解對本發(fā)明優(yōu)選實施例的詳細描述和特定示例只是用于說明的目的,而并不是用于對本發(fā)明的范圍進行限制。
根據(jù)詳細描述和以下附圖,可以更好地理解本發(fā)明,其中圖1示出了一種用于說明實施本發(fā)明的帶寬管理的網(wǎng)絡配置;圖2示出了具有單個TCP發(fā)送器和實施本發(fā)明帶寬管理的示范性網(wǎng)絡配置;圖3所示為在沒有任何帶寬管理時實時和非實時流的平均帶寬圖;圖4示出了VoD流的平均分組間(inter-packet)時間;圖5示出了具有多個TCP連接和實施帶寬管理的網(wǎng)絡配置;圖6所示為每個流的平均帶寬和所有流的總計帶寬的曲線圖;和圖7所示為動態(tài)帶寬管理的性能特性曲線圖。
具體實施例方式
以下對優(yōu)選實施例的描述實際上只是示例性的,并不用于對本發(fā)明、本發(fā)明的應用或者使用進行限定。
圖1示出了用于說明帶寬管理的網(wǎng)絡配置10。使用示范性的網(wǎng)絡配置10來說明采用了本發(fā)明原理的帶寬管理機制。因此,接下來詳細地描述網(wǎng)絡配置10。接下來描述網(wǎng)絡配置10的組成元件(constituent element)。VoD服務器12和互聯(lián)網(wǎng)協(xié)議(IP)電話14連接到專用網(wǎng)(private network)16。VoD服務器12向網(wǎng)絡用戶提供視頻點播(video-on-demand)發(fā)射而IP電話14通過IP協(xié)議向網(wǎng)絡用戶提供類似電話的通信服務。FTP服務器18和HTTP服務器20連接到互聯(lián)網(wǎng)服務器22。典型地,VoD服務器12和IP電話14以具有嚴格時間約束(strict time constraints)的實時方式發(fā)射。相比之下,F(xiàn)TP服務器18和HTTP服務器20以具有相對較嚴格的時間約束(relatively stringent time constraints)的非實時方式發(fā)射信息。本領域技術人員應該意識到對該網(wǎng)絡的如下描述僅僅是一個示例,本發(fā)明包括任何適當類型的網(wǎng)絡配置。
互聯(lián)網(wǎng)服務器22和專用網(wǎng)16都連接到一個ISP邊緣路由器24。訪問分段(access segment)26將邊緣路由器24連接到網(wǎng)關28。訪問分段26是用于發(fā)射數(shù)據(jù)到ISP邊緣路由器24和網(wǎng)關28以及從ISP邊緣路由器24和網(wǎng)關28接收數(shù)據(jù)的一個通信信道。訪問分段26通常是一個類似xDSL、ISDN或同軸電纜那樣的一個寬帶連接,但是它還可以是一個撥號(dial-up)電話連接。訪問分段26同時傳送經(jīng)由邊緣路由器24發(fā)射的實時和非實時流。流(streams)是數(shù)據(jù)流量(data-flow)的邏輯信道(logical channels)。實時流傳送類似視頻點播等應用的實時數(shù)據(jù)。在當前情況下,非實時流通常是TCP或使用適當協(xié)議的類似邏輯通信交換。本領域技術人員可以意識到以通常廣泛的方式而使用的術語“流”(streams)表示一序列的數(shù)據(jù)或信息。
由于實時流和非實時TCP業(yè)務共享同一訪問分段26的帶寬,因此需要有在實時和非實時流之間分配可用帶寬的帶寬管理方法或算法。在這樣的帶寬管理方法或算法中,對接入的(incoming)TCP業(yè)務進行限制,以給具有嚴格QoS要求的實時流留有除總計帶寬之外的足夠帶寬。接下來描述邊緣路由器24的優(yōu)選特性。
邊緣路由器24是網(wǎng)絡用戶與服務提供商之間通信的一個連接點。邊緣路由器24可以是通常具有從互聯(lián)網(wǎng)主機轉發(fā)分組(packets)到網(wǎng)關28能力的任何常規(guī)用途設備。邊緣路由器24必須能夠在網(wǎng)關28和互聯(lián)網(wǎng)服務器22之間發(fā)送與接收IP分組。因此,可以將提供此類服務的任何路由器在這里作為邊緣路由器24。邊緣路由器28可以具有其它附加功能,例如多路復用互聯(lián)網(wǎng)和其它業(yè)務等功能,不過這些附加功能與本發(fā)明并不相關。在這里相關的唯一性能是從互聯(lián)網(wǎng)主機向網(wǎng)關28發(fā)送與接收IP分組的能力。接下來,描述在訪問分段26上傳送的數(shù)據(jù)流的特征。
可以以IP業(yè)務或非IP業(yè)務發(fā)射實時媒體流。在這里,實時流之間相關的特性之一在于它們都被打包,即以分組的形式發(fā)送實時流,并且具有嚴格的時間約束,而且任何的分組延遲都會對它們的性能特性有害。在訪問分段26上傳送的實時流具有諸如足夠的帶寬、最小延遲以及最小或沒有抖動等嚴格的QoS要求。來自VoD服務器12和IP電話14的媒體流只是任意實時流中的示例,本發(fā)明并不受實時信息流的數(shù)目或類型的限制。由于發(fā)射實時流的形式可以通過結構而變化,在這里并不考慮發(fā)射實時流的形式。本發(fā)明的原理包含具有某些確定帶寬要求需要以確保給定QoS參數(shù)集的任何類型的實時發(fā)射。實施帶寬管理方法的優(yōu)選網(wǎng)絡位置是網(wǎng)關28。接下來描述網(wǎng)關28的優(yōu)選特性。
網(wǎng)關28連接訪問分段26和網(wǎng)絡30??梢允褂弥T如IEEE 1394、以太網(wǎng)、802.11無線局域網(wǎng)和輸電線網(wǎng)絡等多種網(wǎng)絡技術構成網(wǎng)絡30。網(wǎng)關28可以是傳統(tǒng)網(wǎng)關或者作為分離單元(separate unit)而安裝的路由器。網(wǎng)關28是網(wǎng)絡中把網(wǎng)絡30與邊緣路由器24連接在一起的互連點(interconnectionpoint)。還可以將網(wǎng)關28集成在諸如數(shù)字電視或機頂盒(set-top-box)之類的設備中。網(wǎng)關28的功能是在它的一個接口(interface)上的互聯(lián)網(wǎng)連接和它的其它接口上連接組件的網(wǎng)絡30之間提供連接點。網(wǎng)關28擔任網(wǎng)絡30到邊緣路由器24的連接點。接下來描述網(wǎng)絡30和相應網(wǎng)絡元件。
通過網(wǎng)絡30可以將許多網(wǎng)絡元件連接到網(wǎng)關28。諸如電視32、計算機34和IP電話14等各種設備可以連接到網(wǎng)絡30。本領域技術人員應該意識到在這里所示出的網(wǎng)絡元件只是用于說明能夠連接到網(wǎng)絡30的設備類型。上面列出的設備或器只是用于進行說明,還有許多其它設備也可以連接到網(wǎng)絡30。
圖2示出了具有單個TCP發(fā)送器和實施本發(fā)明帶寬管理的示范性網(wǎng)絡配置。通過對具有帶寬管理的網(wǎng)絡和沒有帶寬管理的網(wǎng)絡進行比較,本領域技術人員可以更好地理解本發(fā)明。分兩個步驟來描述具有單個TCP發(fā)送器的網(wǎng)絡的帶寬管理。在第一步驟中,假設不執(zhí)行帶寬管理,并模擬和分析網(wǎng)絡的性能。這樣一個模擬在沒有帶寬管理和有帶寬管理的網(wǎng)絡之間提供了進行比較的背景。在第二步驟中,模擬和分析同一網(wǎng)絡,但是具有為單個TCP發(fā)送器網(wǎng)絡而實施本發(fā)明原理的帶寬管理。因此,如下所述,假設沒有帶寬控制,首先模擬和分析如圖2所示的網(wǎng)絡。
如下說明可以確定確實需要帶寬控制。假設圖2所示的帶寬控制不存在,以在下面說明中提供進一步的比較。用這里所描述的網(wǎng)絡來模擬沒有使用任何帶寬管理的典型網(wǎng)絡的性能特性。VoD服務器12、HTTP服務器20、互聯(lián)網(wǎng)服務器22、邊緣路由器24和網(wǎng)關28的連接關系和圖1所示相同。
在本網(wǎng)絡中,訪問分段26是一個專用非對稱鏈路(dedicated asymmetriclink),例如,是一個下行帶寬為2.0Mbps而上傳帶寬為0.7Mbps的ADSL鏈路。由于通常邊緣路由器24和網(wǎng)關28彼此相對接近,訪問分段26中的延遲為可以忽略的1ms。
VoD服務器12通過具有20ms延遲的一條全雙工VoD鏈路36連接到邊緣路由器24。VoD服務器12以1.0Mbps的速率按照實時的方式發(fā)射具有固定碼率(CBR)的視頻信號??梢詫TTP服務器20配置為互聯(lián)網(wǎng)服務器22(如圖所示)的一個組成部分,也可以將它連接到互聯(lián)網(wǎng)服務器22的外部(如圖1所示)。HTTP服務器20通過具有1.5Mbps帶寬和20ms延遲的一條全雙工HTTP鏈路38發(fā)射非實時數(shù)據(jù)分組。
邊緣路由器24包括一個先入先出(FIFO)隊列40,該隊列具有可以保存20分組的容量。來自VoD服務器12的實時流需要訪問分段26的總計為2Mbps的下行容量42中的1Mbps帶寬。結果,HTTP服務器20可以向網(wǎng)關28傳送最大容量為1.0Mbps的非實時業(yè)務分組。
圖3和圖4涉及到?jīng)]有對非實時流管理帶寬需求進行帶寬控制的網(wǎng)絡模擬。首先,在下面描述關于模擬技術的一些基本信息。
使用網(wǎng)絡模擬器來執(zhí)行模擬,以比較具有帶寬管理和沒有帶寬管理的性能??梢允褂萌缦滤龅哪軌驁?zhí)行模擬的任何傳統(tǒng)網(wǎng)絡模擬器。例如,可以使用′ns UCB/LBNL/VINT網(wǎng)絡模擬器。利用使用用戶數(shù)據(jù)流協(xié)議(UDP)來傳送分組大小為576字節(jié)的數(shù)據(jù)的CBR源來模擬VoD流。使用HTTP服務器20處的TCP/Reno源和網(wǎng)關28處的TCP信宿(sink)來模擬非實時數(shù)據(jù)的TCP連接。最大分段大小設置為576字節(jié),并且初始流量控制窗口46的大小設置為32個分組。對于大部分操作系統(tǒng),TCP流量控制窗口46的大小為16KB或32KB。因此,HTTP服務器20總是發(fā)送大小為576字節(jié)的TCP分組,并且在傳送過程中不具有大于64的未確認(unacknowledged)TCP分段。在此處中,下面所說明中的TCP發(fā)送器是指HTTP服務器20,它發(fā)射HTTP下載52給網(wǎng)關28。在網(wǎng)絡模擬的基本信息之后,下面在適當?shù)膱D中描述特定的模擬。
圖3示出了在沒有任何帶寬管理時實時和非實時流的平均帶寬圖。在圖形X軸上繪制以秒為單位測量的時間,而在Y軸上繪制以Mbps為單位測量的平均帶寬。以0.1秒的周期在網(wǎng)關28處計算平均帶寬。這張曲線圖清楚地示出了VoD流50不能夠接收1Mbps的固定帶寬,而1Mbps的固定帶寬是實時VoD流50為滿足諸如延遲或抖動等QoS參數(shù)所需要的帶寬。
另外,HTTP下載52還示出了由于在邊緣路由器24處的分組丟失而引起的混亂狀況(chaotic behavior)。無論HTTP服務器20(參見圖2)何時開始激勵需要大于1Mbps帶寬的HTTP下載52,邊緣路由器24開始從實時和非實時流中丟棄分組。此問題出現(xiàn)在1.40秒和3.5秒處,然后周期性地重復出現(xiàn)。
正如HTTP下載52在1.40秒處開始丟失分組那樣,TCP擁塞窗口48(參見圖2)變得更小以便為擁塞進行調(diào)節(jié)。這使HTTP服務器20降低了它的分組發(fā)射速率。HTTP下載52的這樣一個速率降低是VoD流52的積極因素,但是由于降低了的HTTP下載52留下某些未被使用的帶寬,訪問分段26帶寬保持低利用率(under-utilized)。由于降低了的HTTP下載52而導致帶寬的低利用率將一直繼續(xù)到TCP發(fā)送器恢復它丟失的分組并提高其發(fā)射速率為止。一旦TCP發(fā)送器完全恢復并在3.5秒周圍開始在1Mbps極限之上發(fā)射,邊緣路由器24再一次從兩個流中丟失分組,引起與如上所述1.4秒處出現(xiàn)的特點相同的狀況,并且此循環(huán)繼續(xù)一直持續(xù)到模擬結束。
圖4示出了VoD流的平均分組間時間50。在圖形X軸上繪制以秒為單位測量的時間,并且在Y軸上繪制以Mbps為單位測量的平均分組間時間。
抖動是實時發(fā)射中一個不期望的特性。平均分組間時間是抖動的一個優(yōu)良指示符(indicator)??勺兊姆纸M間時間導致更大抖動。當HTTP服務器20把HTTP下載52(參見圖3)激勵到1Mbps級別之上時,則VoD流52(參見圖3)分組就在先進先出隊列40(參見圖2)中延遲,并因此使分組間時間增加。稍后,當HTTP服務器20檢測分組丟失并降低其分組發(fā)射速率時,已經(jīng)在先進先出隊列40中排隊的分組被快速連續(xù)發(fā)射,導致分組間時間變小。不希望出現(xiàn)這兩種分組間時間增加和減少的情況,每種情況都會在網(wǎng)關28上的另一端引起下溢或上溢。理想情況上,分組間時間將在無抖動線路54示出的電平上保持恒定。抖動區(qū)域56示出了在發(fā)射期間發(fā)生并引起問題的抖動。在上面提到的第二步驟中,下面討論如圖2所示的完整網(wǎng)絡,它包括使用本發(fā)明原理的單個TCP發(fā)送器網(wǎng)絡的帶寬管理。
在單個發(fā)射信道上使用實時和非實時發(fā)射的網(wǎng)絡配置面臨如上所述的帶寬分配問題。下面的說明是在單個發(fā)射信道的環(huán)境中,但是本領域技術人員應該理解到,本發(fā)明也能夠應用在多路發(fā)射信道上。
帶寬管理需要與實時流的QoS要求緊密相關。帶寬管理也改善了訪問分段26的整體信道使用率以及非實時網(wǎng)絡業(yè)務的吞吐量。帶寬管理確保了實時流的QoS標準。帶寬管理需要在網(wǎng)絡中選擇用于實施該帶寬控制方法位置。網(wǎng)關28是在用于實現(xiàn)帶寬控制的網(wǎng)絡中實施本發(fā)明的優(yōu)選位置。
在接下來重新返回參考圖2的同時,描述單個TCP發(fā)送器的本發(fā)明帶寬管理技術。在一個典型的網(wǎng)絡設置中,如HTTP服務器20那樣的TCP發(fā)送器將并不預先知道它對TCP接收機的發(fā)射路徑中的可用帶寬。如本實施例中網(wǎng)關28那樣的TCP接收機將具有該可用路徑帶寬的信息。在這里,因為需要保證實時業(yè)務能在2.0Mbp的整個訪問分段26下行容量中有1Mbp的帶寬,網(wǎng)關28預先知道TCP業(yè)務將不會超過1Mbp。
網(wǎng)關28根據(jù)它所了解的實時和非實時流帶寬需求來控制出自HTTP服務器20的非實時(也就是TCP業(yè)務),以使TCP業(yè)務不超過非實時流可用的帶寬。因此,實時流能夠滿足所要求的QoS標準。
通過控制來自網(wǎng)關28端的數(shù)據(jù)流,帶寬控制60使得確保實時流的QoS要求成為可能??梢砸杂布男问絹韺嵤捒刂?0,也可以以軟件模塊或者硬件和軟件相組合的形式來實施帶寬控制60??刂苼碜跃W(wǎng)關28端的非實時業(yè)務流消除了潛在的可量測性問題,該可量測性問題與對來自互聯(lián)網(wǎng)服務提供商側的邊緣路由器24的業(yè)務進行控制的解決方案相關。
如果在邊緣路由器24端采用帶寬管理解決方案,那么需要一個獨立的協(xié)議來為每個實時和非實時業(yè)務流而在網(wǎng)關28和邊緣路由器24之間調(diào)整帶寬協(xié)商過程。執(zhí)行帶寬控制60而不是網(wǎng)關消除了這種調(diào)整問題。接下來描述從網(wǎng)關28管理帶寬的細節(jié)。
接下來的描述涉及到單個TCP連接,然后稍后考慮多個TCP連接。在每個往返時間(round trip time)(″rtt″)分段內(nèi),TCP發(fā)送器向TCP接收器發(fā)送分組號碼′wnd′,在這里TCP發(fā)送器是HTTP服務器20,TCP接收器是網(wǎng)關28。每個rtt分段中發(fā)送的分組號碼′wnd′計算為wnd=min{cwnd,fwnd},它是活動窗口大小。TCP發(fā)送器總是保持兩個稱為″cwnd″和″fwnd″的變量或參數(shù)。cwnd參數(shù)代表一個擁擠控制窗口并且由TCP發(fā)送器根據(jù)接收到的確認(acknowledgement)和分組丟失來計算。TCP發(fā)送器嚴格地控制cwnd參數(shù)。fwnd參數(shù)代表流量控制窗口并且由TCP接收器設置。
一個rtt分段內(nèi)的TCP連接的數(shù)據(jù)速率(″b″)由b=wndrtt]]>給出??紤]在一個給定的TCP連接中的緩慢啟動階段,如果連接啟動于由發(fā)送器時鐘測量的時刻t0,則發(fā)送器將在t>t0的任何時刻發(fā)射分組,假設沒有分組丟失并且f(t)=min{fwnd(t),g(t)},其中 [方程式1]如果考慮分組丟失,那么通過已知方法可以導出更復雜的吞吐量公式。
在“穩(wěn)態(tài)”連接中,發(fā)射的分組數(shù)目完全由fwnd參數(shù)確定。對于處于穩(wěn)態(tài)中的一個給定連接,參數(shù)cwnd值必須大于參數(shù)fwnd的值。在穩(wěn)態(tài)中,TCP發(fā)送器的輸出可以完全由TCP接收機控制,并且可以由上面的方程式1表示。
網(wǎng)關28通過操控流量控制窗口fwndi的大小來控制非實時業(yè)務,網(wǎng)關28位于另外一端的TCP發(fā)送器內(nèi)。在本示例中,非實時業(yè)務(即TCP業(yè)務)不應該超過1Mbps極限。如果最大TCP分段大小是576字節(jié),并且網(wǎng)關28和HTTP服務器20之間的往返時間是47ms(它是通過模擬獲得),那么網(wǎng)關28把流量控制窗口大小(即fwndi的值)設置為1Mbps*47ms576*8bits=10]]>分組。把fwndi值設置為10分組保證了無論擁塞窗口大小如何,則TCP連接的最大數(shù)據(jù)速率能不會超過1Mbps。
圖5示出了具有多個TCP連接和實施了帶寬管理的網(wǎng)絡配置。該示出的網(wǎng)絡配置在概念上以及在結構上都類似于上面圖2所示。圖5中的網(wǎng)絡包括以FTP服務器18形式存在的一個額外TCP發(fā)送器,其需要1.5Mbps帶寬來發(fā)射信息并且具有20ms的延遲。用帶寬控制60來操控來自網(wǎng)關28的流量控制。
圖6示出了每個流的平均帶寬和所有流(即合并在一起的實時的和非實時流)的總計帶寬。在時刻0,VoD服務器12開始以1Mbps的速率激勵(pumping)實時CBR視頻。在時刻1秒處,一個網(wǎng)絡用戶開始從FTP服務器18進行一個FTP下載。在3秒附近,該網(wǎng)絡用戶開始從HTTP服務器20進行一個網(wǎng)頁下載。假設下載的該網(wǎng)頁具有諸如圖像、音頻片斷(audio-clip)等多個以網(wǎng)頁組成部分形式而被下載的項目。web瀏覽器(未示出)開始四個同步TCP連接,即HTTP下載52a、52b、52c、52d,以下載網(wǎng)頁和相關的多個項目。在4.5秒附近,四個HTTP下載52a、52b、52c、52d完成。并且在5秒處終止該模擬。
VoD流50明確地實現(xiàn)了一個持續(xù)的1Mbps,而與活動的(active)TCP連接數(shù)目無關。當HTTP下載52在2秒左右開始時,帶寬控制60降低FTP下載58的數(shù)據(jù)速率。帶寬控制60對數(shù)據(jù)速率的降低確保了總計的非實時業(yè)務不會超過非實時業(yè)務所可用的1Mbps帶寬。帶寬控制60調(diào)節(jié)個體非實時數(shù)據(jù)連接,以確保實時流可以獲得足以滿足它的QoS需求的帶寬。因此,帶寬控制60通過控在一些TCP發(fā)送器上的個體流量控制窗口來調(diào)節(jié)總計非實時帶寬。
接下來描述對于多個TCP連接使用本發(fā)明原理的帶寬管理技術。為了說明,考慮n個非實時連接的一組N。每個非實時連接典型的是一個HTTP或FTP連接。rtti為一個給定連接i的往返時間的估計值。如下所述計算rtti。
網(wǎng)關28在建立連接的時刻對為了獲得確認需要的時間進行初始估計。R為實時流組而Bi是一個給定實時流i∈R所需求的帶寬,在此R中的流需要固定的比特率。假設上述參數(shù)n、i、rtti、Bi以及組N和R是時間的函數(shù),并且如果有必要將被如此表示。
由于TCP發(fā)送器i發(fā)送wndi=min{cwndi,fwndi},因此目的是使得每個連接的吞吐量bi=wndirtti]]>最大化。吞吐量最大化服從下面給出的不等式Σi∈Nwndirtti≤B]]>[方程式2]其中,B=Bc-Σi∈RBi]]>并且在此,Bc是訪問分段26的總容量。
如果連接都全部同樣重要,那么對于每個i的穩(wěn)態(tài)流量控制窗口大小,服從方程式2的穩(wěn)態(tài)流量控制窗口大小由下面方程式給出的守恒界限得出fwndi=B×rttin]]>定義靜態(tài)調(diào)度點為這樣的一個時間點在該時間點處,或者建立一個新的連接或者終止一個現(xiàn)有連接。靜態(tài)帶寬分配程序或算法如下所示對于每個靜態(tài)調(diào)度點t執(zhí)行如下如果操作是一個非實時連接增加(non-realtime connection-add),那么設置n←n+1否則如果操作是一個非實時連接丟失(non-realtime connection-lose),那么設置n←n-1否則//實時添加或丟失如B=Bc-Σi∈RBi]]>重新計算B結束如果對于i=1到n(for i=1 to n)設置fwndi←B×rttin]]>在發(fā)送給連接i的第一確認中設置流控制窗口為fwndiendforendfor//結束圖7是示出動態(tài)帶寬管理的性能特性圖。可以對在說明書第10頁第4段中描述的算法(以下稱為“該算法”)作以下所述的進一步改進。該算法以一種靜態(tài)的方式工作,并且為了確保實時業(yè)務的QoS保證而限制非實時TCP業(yè)務的總帶寬。該算法相對于非實時連接的數(shù)量是不變的。通過使用動態(tài)而非靜態(tài)帶寬分配,對非實時連接的性能和總的信道使用率的進一步改善是可能的。接下來用一個示例描述本發(fā)明的動態(tài)帶寬分配技術。
為了示出該改進,可用如下表格作為示例
首先,我們考慮該算法操作。最初,只有一個往返時間為1秒的TCP連接。如果訪問分段26的可用容量(參見圖5)是16分組/秒,由于只有一個TCP連接,那么該可用容量完全被第一TCP連接使用。在第二周期開始的時候,出現(xiàn)往返時間為1秒的另一個TCP連接。根據(jù)這種算法,可用帶寬在第一和第二TCP連接之間平分,每個連接獲得8分組/秒。然而,由于TCP啟動緩慢,第二TCP連接并不是立刻獲得它分享的8分組/秒。在到達8分組/秒的穩(wěn)態(tài)速率之前,第二TCP連接在周期2、3和4中分別只發(fā)送1、2和4個分組。靜態(tài)帶寬分配并不補償TCP緩慢啟動機制。因此,對于使用該算法實現(xiàn)的靜態(tài)帶寬分配,在周期2、3和4中分別保持7、6和4分組的未使用帶寬。
考慮前一示例,在第二TCP連接達到穩(wěn)態(tài)之前,向第一TCP連接分配未使用帶寬。因此,第一TCP連接將在周期2、3和4期間分別發(fā)送15、14和12個分組。第二TCP連接在周期5中到達穩(wěn)態(tài),然后使用分配給它的所有8個分組,并由此第一TCP連接也使用分配給它的8個分組。
示出了使用帶寬控制60的動態(tài)帶寬分配模擬。用于模擬該系統(tǒng)的網(wǎng)絡和圖5所示的相同。因為實時流展現(xiàn)出與靜態(tài)帶寬分配情況下相同的性能,所以只示出了非實時流HTTP下載52和FTP下載58的帶寬。無論靜態(tài)還是動態(tài)帶寬控制都確保滿足實時流的QoS需求。動態(tài)帶寬分配改良了吞吐量,并因此比靜態(tài)帶寬分配執(zhí)行得更好。
在示出的模擬中,動態(tài)分配只在3秒左右有一個生效(take effect)的機會。當HTTP下載52的四個連接,即HTTP下載52a、52b、52c、52d開始時,具有動態(tài)分配的FTP下載58a已處于穩(wěn)態(tài)中。在該算法示出的靜態(tài)帶寬分配的情況下,帶寬控制將立刻在所有活動連接之中分配可用帶寬。但是在動態(tài)分配的情況下,由于最近發(fā)出的四個HTTP連接處于緩慢啟動模式,將在HTTP下載的緩慢啟動期間可用的未使用帶寬分配給早已處于穩(wěn)態(tài)的FTP下載。從動態(tài)分配的FTP下載58a在3秒周圍向右偏移可以看出FTP下載性能獲得了改進。這可以與沒有動態(tài)分配的FTP下載58b進行比較。因此,動態(tài)分配提高了總可用帶寬的利用率。隨著HTTP下載52達到穩(wěn)態(tài),F(xiàn)TP連接的數(shù)據(jù)速率逐漸降低到穩(wěn)態(tài)速率。前面是動態(tài)帶寬管理的描述。下面是對上述談及的帶寬控制60的進一步描述。
可以設計帶寬控制60(參見圖5)以動態(tài)帶寬分配算法而工作,而不是以上述算法工作。通過分配未使用帶寬給已經(jīng)處于穩(wěn)態(tài)的TCP連接,動態(tài)帶寬分配方法可以獲得改進的性能。
在家庭網(wǎng)絡用戶環(huán)境中描述了對本發(fā)明的一個特定應用。所有上面的圖用于提供對本發(fā)明在家庭用戶環(huán)境中應用的描述。家庭網(wǎng)絡用戶典型地通過家庭網(wǎng)關連接到互聯(lián)網(wǎng),家庭網(wǎng)關是一種特定類型的網(wǎng)關28。用戶通過相同的家庭網(wǎng)關連接到諸如視頻點播和IP電話服務等其它服務。連接到家庭或住宅網(wǎng)關的家庭網(wǎng)絡30(參見圖1)可以與諸如計算機、電視、電話、收音機等多種設備連接。
由于在互聯(lián)網(wǎng)服務提供商側難以實施帶寬管理技術,在家庭用戶場景中提供上述帶寬管理。通常,家庭用戶在實現(xiàn)TCP連接的互聯(lián)網(wǎng)服務提供商機制上沒有任何控制。因此,需要在住宅或家庭網(wǎng)關處執(zhí)行帶寬管理。
應用本發(fā)明的原理將帶寬控制60結合到家庭網(wǎng)關中。上面已經(jīng)詳細地描述了帶寬控制操作。上面的描述同樣適用于家庭網(wǎng)絡用戶。特別地,由于家庭用戶可能發(fā)現(xiàn)對于實時數(shù)據(jù)流使用專用信道會非常昂貴,所以家庭用戶將通常對于實時和非實時TCP業(yè)務共享訪問分段26的通信信道。因此,本發(fā)明有益于使用一個共享信道來接收實時和非實時數(shù)據(jù)的家庭用戶。
對本發(fā)明的說明實際上只是示范性的。因此,本發(fā)明的范圍包括不偏離本發(fā)明要點的各種變化,并不認為這些變化偏離了本發(fā)明的精神和范圍。
權利要求
1.一種保證網(wǎng)絡中服務質(zhì)量的裝置,所述裝置包括至少一個第一流發(fā)送器,該第一流發(fā)送器具有至少一個流量控制參數(shù);所述第一流發(fā)送器發(fā)射的至少一個第一流;網(wǎng)絡互連,接收來自于所述第一流發(fā)送器的所述第一流和來自于第二流發(fā)送器的至少一個第二流;與所述網(wǎng)絡互連相關的帶寬控制;和所述帶寬控制調(diào)整所述第一流發(fā)送器的所述流量控制參數(shù),以支持與所述第二流相關的至少一個性能參數(shù)。
2.根據(jù)權利要求1所述的裝置,進一步包括包括所述第一流發(fā)送器的第一網(wǎng)絡連接;和包括所述網(wǎng)絡互連的第二網(wǎng)絡。
3.根據(jù)權利要求2所述的裝置,其中所述網(wǎng)絡互連是一個家庭網(wǎng)關,所述第二網(wǎng)絡是一個家庭網(wǎng)絡。
4.根據(jù)權利要求2所述的裝置,進一步包括至少一個信道,將所述第一流發(fā)送器和所述第二流發(fā)送器連接到所述網(wǎng)絡互連,所述信道具有由所述第一流和所述第二流共享的帶寬容量。
5.根據(jù)權利要求2所述的裝置,其中所述第一流是非實時流,所述第二流是實時流,所述第二流持續(xù)需要所述帶寬容量的一部分。
6.根據(jù)權利要求5所述的裝置,其中所述帶寬控制調(diào)整所述流量控制參數(shù),以使使用所述帶寬容量共享部分的所述第一流小于或者等于所述帶寬容量和所述第二流的帶寬需求之間的差值。
7.根據(jù)權利要求1所述的裝置,其中從與所述第二流相關的一組預確定服務質(zhì)量參數(shù)中選擇所述性能參數(shù)。
8.根據(jù)權利要求7所述的裝置,其中所述帶寬控制通過調(diào)整所述流量控制參數(shù)以及控制所述第一流的帶寬需求來保持所述第二流的服務質(zhì)量參數(shù)。
9.根據(jù)權利要求1所述的裝置,其中所述流量控制參數(shù)調(diào)節(jié)所述第一流的流量。
10.根據(jù)權利要求1所述的裝置,其中所述流量控制參數(shù)通過調(diào)節(jié)所述第一流的流量來調(diào)節(jié)所述第一流的帶寬使用。
11.根據(jù)權利要求1所述的裝置,其中所述流量控制參數(shù)包括與運行傳輸控制協(xié)議TCP的所述第二流發(fā)送器相關的流量控制窗口。
12.根據(jù)權利要求1所述的裝置,其中所述網(wǎng)絡互連是從由路由器、協(xié)議轉換器和網(wǎng)關所組成的組中選出的設備。
13.一種用于保證網(wǎng)絡中服務質(zhì)量的裝置,所述裝置包括運行至少兩個TCP流的至少兩個TCP連接;與所述兩個TCP連接相關的至少兩個流量控制參數(shù);使用具有帶寬容量的信道連接到所述TCP連接的網(wǎng)絡互連;至少一個實時流,使用所述信道連接到所述網(wǎng)絡互連;與所述網(wǎng)絡互連相關的帶寬控制;和所述帶寬控制調(diào)整所述TCP連接的所述流量控制參數(shù),以控制所述TCP流的帶寬使用。
14.根據(jù)權利要求13所述的裝置,進一步包括包括所述TCP連接的至少一個服務器;和連接到所述網(wǎng)絡互連的至少一個網(wǎng)絡元件。
15.根據(jù)權利要求14所述的裝置,其中所述的網(wǎng)絡元件包括在家庭網(wǎng)絡中,并且所述網(wǎng)絡互連是家庭網(wǎng)關。
16.根據(jù)權利要求13所述的裝置,其中所述帶寬控制通過調(diào)整所述流量控制參數(shù)來滿足所述實時流的多個服務質(zhì)量參數(shù)。
17.根據(jù)權利要求16所述的裝置,其中所述帶寬控制調(diào)整所述流量控制參數(shù),以使需要所述帶寬容量共享部分的所述TCP流小于或者等于所述帶寬容量和所述實時流帶寬需求之間的差值。
18.一種保證網(wǎng)絡中服務質(zhì)量的裝置,所述裝置包括連接到通信信道的邊緣路由器;連接到所述通信信道的網(wǎng)絡互連;連接到所述邊緣路由器的至少一個實時數(shù)據(jù)流,使用所述通信信道從所述邊緣路由器發(fā)射所述實時數(shù)據(jù)流到所述網(wǎng)絡互連;連接到所述邊緣路由器的至少一個TCP連接,所述TCP連接具有至少一個流量控制參數(shù);和與所述網(wǎng)絡互連相關的帶寬控制,所述帶寬控制調(diào)整用于調(diào)節(jié)所述TCP連接的帶寬需求的所述流量控制參數(shù)。
19.根據(jù)權利要求18所述的裝置,進一步包括所述帶寬控制調(diào)整所述第一流發(fā)送器的所述流量控制參數(shù),以支持與所述實時數(shù)據(jù)流相關的至少一個服務質(zhì)量參數(shù)。
20.根據(jù)權利要求18所述的裝置,其中所述帶寬控制通過調(diào)整所述流量控制參數(shù)來調(diào)節(jié)所述TCP連接的帶寬需求,以使需要所述帶寬容量共享部分的所述TCP流小于或者等于所述帶寬容量和所述實時流帶寬需求之間的差值。
21.一種通過使用動態(tài)帶寬分配保證網(wǎng)絡中服務質(zhì)量的裝置,所述裝置包括至少兩個第一流發(fā)送器,每個所述第一流發(fā)送器具有至少一個流量控制參數(shù);從所述第一流發(fā)送器發(fā)射的至少兩個第一流;網(wǎng)絡互連,接收來自于第一流發(fā)送器的所述第一流和來自于第二流發(fā)送器的至少一個第二流;與所述網(wǎng)絡互連相關的帶寬控制;和所述帶寬控制動態(tài)地調(diào)整所述流量控制參數(shù),以把指定給一個給定的所述第一流的未使用帶寬分配給另一所述第一流。
22.根據(jù)權利要求21所述的裝置,其中所述第一流是非實時TCP流,所述第二流是實時數(shù)據(jù)流。
23.根據(jù)權利要求22所述的裝置,其中所述給定第一流在TCP緩慢啟動期間具有未使用帶寬。
24.根據(jù)權利要求21所述的裝置,其中在所述給定第一流達到穩(wěn)態(tài)后,所述帶寬控制分配相等的帶寬給所述給定第一流和所述另一第一流。
25.一種在網(wǎng)絡中提供服務質(zhì)量的方法,該方法包括通過調(diào)整與至少一個第一流發(fā)送器相關的至少一個流量控制參數(shù)來調(diào)節(jié)至少一個第一流的帶寬需求,所述第一流發(fā)送器使用至少一個具有帶寬容量的通信信道來發(fā)射所述第一流;和保證使用所述通信信道從至少一個第二流發(fā)送器中發(fā)射的至少一個第二流的至少一個服務質(zhì)量參數(shù),所述服務質(zhì)量參數(shù)取決于所述第一流的帶寬需求。
26.根據(jù)權利要求25所述的方法,其中調(diào)節(jié)步驟進一步包括使用與連接到所述通信信道的網(wǎng)絡互連相關的帶寬控制來調(diào)整所述第一流的帶寬需求。
27.根據(jù)權利要求26所述的方法,其中調(diào)節(jié)步驟進一步包括調(diào)整所述第一流的帶寬需求,以使所述第一流的帶寬需求小于或者等于所述通信信道的帶寬容量和所述第二流的帶寬需求之間的差值。
28.根據(jù)權利要求25所述的方法,其中所述通信信道的帶寬容量由所述第一流和所述第二流共享。
29.根據(jù)權利要求25所述的方法,其中所述流量控制參數(shù)調(diào)節(jié)所述第一流的帶寬需求。
30.權利要求25的方法,其中所述網(wǎng)絡互連是從由從路由器、協(xié)議轉換器和網(wǎng)關所組成的組中選出的設備。
31.根據(jù)權利要求25所述的方法,其中所述第一流包括非實時TCP流,所述第二流包括實時數(shù)據(jù)流。
32.根據(jù)權利要求31所述的方法,其中所述非實時流包括TCP流,并且所述第一流發(fā)送器是TCP連接。
33.根據(jù)權利要求25所述的方法,其中所述通信信道的帶寬容量由所述第一流和所述第二流共享。
34.一種通過使用動態(tài)帶寬分配保證網(wǎng)絡中服務質(zhì)量的方法,該方法包括如下步動態(tài)地調(diào)整與至少一個第一流發(fā)送器相關的至少一個流量控制參數(shù),所述第一流發(fā)送器使用具有帶寬容量的至少一個通信信道來發(fā)射至少一個第一流;通過動態(tài)地調(diào)整所述流量控制參數(shù)來調(diào)節(jié)所述第一流的帶寬需求;和保證使用所述通信信道從至少一個第二流發(fā)送器中發(fā)射的至少一個第二流的至少一個服務質(zhì)量參數(shù),所述服務質(zhì)量參數(shù)取決于所述第一流的帶寬需求。
35.根據(jù)權利要求34所述的方法,其中所述調(diào)整步 進一步包括通過使用與連接到所述第一流發(fā)送器和所述第二流發(fā)送器的網(wǎng)絡互連相關的帶寬控制,將指定給一個給定所述第一流的未使用帶寬分配到另一所述第一流。
36.根據(jù)權利要求35所述的方法,其中在所述給定第一流達到穩(wěn)態(tài)后,所述帶寬控制分配相等的帶寬給所述給定第一流和所述另一第一流。
37.根據(jù)權利要求34所述的方法,其中所述第一流包括非實時TCP流,所述第二流包括實時數(shù)據(jù)流。
全文摘要
提供了一種用于確保網(wǎng)絡中服務質(zhì)量的裝置。第一流發(fā)送器具有一個流量控制參數(shù)并發(fā)射第一流。接收第一流和第二流的網(wǎng)絡互連。第一流是一個非實時TCP流而第二流是一個實時數(shù)據(jù)流。帶寬控制與所述網(wǎng)絡互連相關。帶寬控制調(diào)整流量控制參數(shù),以提供與第二流相關的服務質(zhì)量參數(shù)。
文檔編號H04N7/173GK1672142SQ03817748
公開日2005年9月21日 申請日期2003年7月29日 優(yōu)先權日2002年8月12日
發(fā)明者卡尼特·阿卡拉, 哈爾德·艾爾伯斯尼, 艾布拉姆·卡莫爾 申請人:松下電器產(chǎn)業(yè)株式會社