專(zhuān)利名稱(chēng):估計(jì)擁塞的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及估計(jì)擁塞的方法、在連接的端點(diǎn)處處理數(shù)據(jù)的方法、適于執(zhí)行這些方法中的ー種或兩種的設(shè)備、以及包括程序代碼的計(jì)算機(jī)程序產(chǎn)品,所述程序代碼適于當(dāng)在處理器上運(yùn)行時(shí)執(zhí)行這些方法中的ー種或兩種的步驟。在通信系統(tǒng)中,提供了通信網(wǎng)絡(luò),其可以將兩 個(gè)端點(diǎn)裝置或設(shè)備鏈接在一起,以使得所述端點(diǎn)設(shè)備可以在呼叫或其他通信事件中互相發(fā)送信息。所述信息可以包括語(yǔ)音、文本、圖像或視頻,并且所述設(shè)備中的一個(gè)或兩個(gè)可以包括諸如個(gè)人計(jì)算機(jī)或移動(dòng)電話(huà)這樣的用戶(hù)終端。通過(guò)互聯(lián)網(wǎng)可操作的通信系統(tǒng)包括互聯(lián)網(wǎng)協(xié)議上的話(huà)音(“VoIP”)系統(tǒng),其包括通過(guò)互聯(lián)網(wǎng)或通過(guò)任何其他的基于IP的通信網(wǎng)絡(luò)的會(huì)話(huà)中的話(huà)音的路由。這樣的系統(tǒng)對(duì)用戶(hù)是有益的,因?yàn)樗鼈兺ǔ>哂斜葌鹘y(tǒng)的固定線(xiàn)路或移動(dòng)電信網(wǎng)絡(luò)顯著低的成本。對(duì)于長(zhǎng)距離的通信來(lái)說(shuō)尤其如此。為了使用VoIP系統(tǒng),用戶(hù)安裝和執(zhí)行他們的設(shè)備(S卩,用戶(hù)終端)的客戶(hù)機(jī)軟件??蛻?hù)機(jī)軟件建立VoIP連接并提供其他的功能,例如注冊(cè)和鑒別。除了話(huà)音通信外,客戶(hù)機(jī)還可以建立針對(duì)其它通信媒體的連接,諸如視頻呼叫、即時(shí)消息(頂)、SMS消息傳送、文件傳送和話(huà)音郵件。用于基于分組的通信的一種類(lèi)型的通信系統(tǒng)使用對(duì)等(“P2P”)拓?fù)?。為了使得能訪(fǎng)問(wèn)對(duì)等系統(tǒng),用戶(hù)必須在他們的設(shè)備上執(zhí)行由P2P軟件提供者提供的P2P客戶(hù)機(jī)軟件,并且向P2P系統(tǒng)注冊(cè)。在用戶(hù)向P2P系統(tǒng)注冊(cè)吋,客戶(hù)機(jī)軟件被提供以來(lái)自服務(wù)器的數(shù)字證書(shū)。一旦客戶(hù)機(jī)軟件已經(jīng)被提供以所述證書(shū),則呼叫或其他的通信連接便可以隨后在P2P系統(tǒng)的用戶(hù)間被建立和路由,而無(wú)需在建立中進(jìn)ー步使用服務(wù)器。相反,客戶(hù)機(jī)從分布于P2P系統(tǒng)內(nèi)的終端用戶(hù)設(shè)備上的P2P客戶(hù)機(jī)軟件中間的信息查找需要的IP地址。即,地址查找列表被分布在對(duì)等體自身中間。一旦被呼叫方的終端的IP地址被這樣地確定,則呼叫方的P2P客戶(hù)機(jī)軟件就與被呼叫方的P2P客戶(hù)機(jī)軟件交換證書(shū)。用戶(hù)間的數(shù)字證書(shū)(或“用戶(hù)身份證書(shū)”,“UIC”)的交換提供了用戶(hù)身份的證據(jù),并且它們?cè)赑2P系統(tǒng)中被適當(dāng)?shù)厥跈?quán)和鑒別。因此,數(shù)字證書(shū)的呈現(xiàn)提供了對(duì)用戶(hù)身份的信任。因此,對(duì)等通信的特征在于一旦被注冊(cè),用戶(hù)就可以基于分布式地址查找和/或ー個(gè)或多個(gè)數(shù)字證書(shū)的交換,以至少部分分散的方式來(lái)通過(guò)P2P系統(tǒng)建立他們自己的通信路由,而無(wú)需為那些目的使用服務(wù)器。示例性的P2P系統(tǒng)的進(jìn)一步的細(xì)節(jié)可以在WO2005/009019中找到。VoIP或其他的基于分組的通信也可以通過(guò)使用非P2P系統(tǒng)來(lái)實(shí)施,這些非P2P系統(tǒng)確實(shí)使用例如經(jīng)由服務(wù)器或移動(dòng)電信網(wǎng)絡(luò)的集中式呼叫建立和/或鑒別?,F(xiàn)代通信系統(tǒng)是基于在跨越基于分組的通信網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))的端點(diǎn)(諸如用戶(hù)終端)之間的數(shù)字信號(hào)的傳輸。諸如語(yǔ)音這樣的模擬信息可以被輸入到ー個(gè)終端的傳送器處的模擬-數(shù)字轉(zhuǎn)換器,并被轉(zhuǎn)換為數(shù)字信號(hào)。數(shù)字信號(hào)然后被編碼并被放入數(shù)據(jù)分組中以便經(jīng)由基于分組的網(wǎng)絡(luò)在信道上傳輸給另ー個(gè)終端的接收器。這樣的基于分組的通信系統(tǒng)受制于可能會(huì)對(duì)兩個(gè)端點(diǎn)間的呼叫或其他通信事件的質(zhì)量產(chǎn)生不利影響的因素。由于互聯(lián)網(wǎng)的發(fā)展增進(jìn)以及用戶(hù)要求新的應(yīng)用和更好的性能,數(shù)據(jù)量的上升產(chǎn)生了一些問(wèn)題,諸如分組遞送時(shí)的長(zhǎng)延遲、丟失和丟棄的分組、震蕩和同步問(wèn)題。這些麻煩是由擁塞引起的,擁塞在有太多源對(duì)于網(wǎng)絡(luò)太快發(fā)送太多數(shù)據(jù)以致無(wú)法處理時(shí)發(fā)生。從發(fā)送端點(diǎn)發(fā)送的數(shù)據(jù)分組在到達(dá)接收端點(diǎn)之前典型地經(jīng)過(guò)互聯(lián)網(wǎng)中的ー個(gè)或多個(gè)路由器?;ヂ?lián)網(wǎng)路由器典型地維持ー組隊(duì)列,每個(gè)接ロ有ー個(gè)隊(duì)列,其保存被調(diào)度來(lái)從該接口上出去的分組。這些隊(duì)列通常使用尾部丟棄規(guī)則,其中如果該隊(duì)列短于它的最大尺寸,則使分組進(jìn)入該隊(duì)列。當(dāng)隊(duì)列被填充到它的最大容量時(shí),新到達(dá)的分組被丟棄,直到該隊(duì)列具有足夠的空間來(lái)接受進(jìn)入的通信量為止。尾部丟棄隊(duì)列具有懲罰(penalize)突發(fā)流以及引起流間的全局同步的傾向。尾部丟棄隊(duì)列以同樣的方式對(duì)待每個(gè)分組。常常是來(lái)自多個(gè)連接的分組被丟棄,這導(dǎo)致在連接中所有牽涉到的發(fā)送者進(jìn)入“緩慢開(kāi)始”狀態(tài),其中所有的發(fā)送者降低它們的數(shù)據(jù)發(fā)送速率達(dá)某個(gè)時(shí)間段。常常是所有的發(fā)送者在再一次增加它們的發(fā)送速率前使用相同的時(shí)間延遲。因此,當(dāng)這些延遲在相同的時(shí)間期滿(mǎn)時(shí),所有的發(fā)送者開(kāi)始發(fā)送額外的分組,那么路由器隊(duì)列再一次溢出,導(dǎo)致更多的分組被丟棄。結(jié)果, 發(fā)送者再一次降低它們的數(shù)據(jù)發(fā)送速率達(dá)固定的延遲期。這是帶寬的ー種低效率使用,因?yàn)榭捎玫膸捊?jīng)常沒(méi)有被使用,并且由于大量的丟棄的分組,使得可用的帶寬被使用于丟失分組的重傳。如果互聯(lián)網(wǎng)中的路由器運(yùn)行主動(dòng)隊(duì)列管理(AQM)并使用顯式擁塞通知(ECN)標(biāo)記將信息反饋給連接的端點(diǎn),則網(wǎng)絡(luò)擁塞控制的性能可以得到改進(jìn)。AQM是這樣一種技術(shù),其包括在分組綁定的隊(duì)列滿(mǎn)之前丟棄該分組或?qū)υ摲纸M進(jìn)行ECN-標(biāo)記。典型地,這些路由器通過(guò)維持ー個(gè)或多個(gè)概率,且甚至在隊(duì)列短時(shí)概率性地丟棄或標(biāo)記分組來(lái)操作。當(dāng)使用ECN時(shí),路由器能夠在分組的頭標(biāo)中設(shè)置標(biāo)志而不是丟棄分組,以便用信號(hào)告知下游接收器擁塞的程度。所述標(biāo)志包括在頭標(biāo)中的兩個(gè)比持。接收器將擁塞指示回送給分組的發(fā)送者,發(fā)送者然后就像檢測(cè)到分組丟棄一祥做出反應(yīng)。通過(guò)概率性地丟棄分組,AQM規(guī)則典型地避免了懲罰突發(fā)流。而且,通過(guò)在隊(duì)列滿(mǎn)之前向連接的端點(diǎn)(例如,用戶(hù)終端)提供擁塞指示,AQM規(guī)則典型地能夠維持比尾部丟棄規(guī)則更短的隊(duì)列長(zhǎng)度,這降低了網(wǎng)絡(luò)等待時(shí)間(“ping(查驗(yàn))時(shí)間”)。早期檢測(cè)并通知即將發(fā)生的擁塞有助于避免全局同歩?;ヂ?lián)網(wǎng)擁塞控制在源(端點(diǎn))的傳輸層中被實(shí)行,并具有兩個(gè)部分端到端協(xié)議TCP (傳輸控制協(xié)議)和在路由器中實(shí)施的AQM方案。最常見(jiàn)的AQM目標(biāo)是高效的隊(duì)列利用(即,最小化隊(duì)列上溢和下溢的發(fā)生,由此減少分組丟失和最大化鏈路利用)、小的排隊(duì)延遲(即,最小化數(shù)據(jù)分組由路由隊(duì)列進(jìn)行服務(wù)所需要的時(shí)間)和魯棒性(即,盡管條件改變?nèi)跃S持閉環(huán)性能)。已經(jīng)提出用于AQM方案的不同的算法,諸如RED(隨機(jī)早期檢測(cè))以及它的變體PI、REM、Blue、AVQ等等。RED監(jiān)視路由器處的平均隊(duì)列尺寸,并且基于統(tǒng)計(jì)概率丟棄(或者當(dāng)結(jié)合ECN使用時(shí)標(biāo)記)分組。如果隊(duì)列是空的或近乎空的,則接受所有進(jìn)入的分組。隨著隊(duì)列長(zhǎng)度的增長(zhǎng),標(biāo)記或丟棄進(jìn)入的分組的概率也隨之增加。當(dāng)緩沖器滿(mǎn)時(shí),進(jìn)入的分組被丟棄。隨著被標(biāo)記的分組的比例増加,在分組的源(即,經(jīng)過(guò)路由器的連接的端點(diǎn))處的速率控制器反應(yīng)性地降低分組的發(fā)送速率。Mingyu Chen 等人的在 2009 年 4 月的 IEEE/ACM TRANSACTION ON NETWORKING,Voi 17, No: 2 上發(fā)表的“Normalized Queueing Delay: Congestion Control JointlyUtilizing Delay and Marking (歸ー化的排隊(duì)延遲連帶地利用延遲和標(biāo)記的擁塞控制)”討論了延遲和標(biāo)記(D+M) TCP,其可以在連接的端點(diǎn)處被利用來(lái)控制它的數(shù)據(jù)傳輸速率。AQM在路由器處實(shí)施,在那里可以輕易地監(jiān)控實(shí)際的隊(duì)列。然而,當(dāng)前只有一小部分路由器實(shí)施AQM和支持ECN。相反,大部分的路由器使用尾部丟棄原則。因此,遠(yuǎn)遠(yuǎn)不能保證在攜帶涉及兩個(gè)端點(diǎn)間用戶(hù)的呼叫或其他通信事件的信息的分組的傳輸中牽涉到的所有路由器將支持AQM和ECN。就這一點(diǎn)而論,攜帯針對(duì)用戶(hù)的呼叫或其他通信事件的數(shù)據(jù)的分組很可能被路由器處的尾部丟棄隊(duì)列所丟棄,而不是使用ECN標(biāo)記和使用AQM來(lái)向預(yù)期的接收器前迸。因此,呼叫或其他通信事件的質(zhì)量很可能被不利地影響。呼叫或其他通信事件的低質(zhì)量對(duì)于用戶(hù)來(lái)說(shuō)會(huì)是令人失望的,并可能使得他或她尋求可替換的通信方法。本發(fā)明的一些實(shí)施例的目的是解決這些問(wèn)題中的ー個(gè)或多個(gè)。所以,本發(fā)明提供了用于實(shí)施來(lái)試圖增強(qiáng)網(wǎng)絡(luò)擁塞控制的性能的一種或多種系統(tǒng)和方法。
因此,本發(fā)明的第一方面提供了一種控制經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的通信量的方法,所述通信量包括多個(gè)分組,以及所述方法包括在所述傳送器和接收器中的ー個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲;以及基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì),控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量。本發(fā)明的第二方面提供了一種控制經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑在傳送器和接收器之間傳送的通信量的方法,所述通信量包括多個(gè)分組,以及所述方法包括在所述傳送器和接收器中的ー個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲;以及基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì),將反饋從所述傳送器和接收器中的所述ー個(gè)發(fā)送到所述傳送器和接收器中的另ー個(gè),該反饋用于使得所述傳送器和接收器的所述另ー個(gè)控制通過(guò)網(wǎng)絡(luò)路徑的通信量。本發(fā)明的第三個(gè)方面提供了一種在經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的分組中設(shè)置指示符的方法,其中所述指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制,所述方法包括在所述傳送器和接收器中的ー個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲;以及在所述傳送器和接收器中的ー個(gè)處,基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在分組中設(shè)置指示符。本發(fā)明的第四方面提供了 ー種包括代碼的計(jì)算機(jī)程序產(chǎn)品,所述代碼被安排成使得當(dāng)其在處理器上被執(zhí)行時(shí)完成第一到第三方面的任一方面的步驟。本發(fā)明的第五方面提供了一種傳送器,其包括用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量的裝置。本發(fā)明的第六方面提供了一種接收器,其包括用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量的裝置。本發(fā)明的第七方面提供了一種傳送器,其包括用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)向所述接收器發(fā)送反饋的裝置,該反饋用于使得所述接收器控制通過(guò)網(wǎng)絡(luò)路徑的通信量。本發(fā)明的第八方面提供了一種接收器,其包括用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)向所述傳送器發(fā)送反饋的裝置,該反饋用于使得所述傳送器控制通過(guò)網(wǎng)絡(luò)路徑的通信量。本發(fā)明的第九方面提供了一種傳送器,其包括用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在經(jīng)由該路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器被傳送到接收器的分組中設(shè)置指示符的裝置,其中該指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示,以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制。本發(fā)明的第十方面提供了一種接收器,其包括用于基于針對(duì)通信量從傳送器行 進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置;用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;以及用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在經(jīng)由該路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器被傳送到接收器的分組中設(shè)置指示符的裝置,其中該指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示,以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制。為了更好地理解本發(fā)明以及顯示本發(fā)明可以被如何實(shí)現(xiàn),現(xiàn)在將參考附圖來(lái)描述本發(fā)明的示例性實(shí)施例,其中
圖I顯示了經(jīng)由通信網(wǎng)絡(luò)互相連接的連接的兩個(gè)端點(diǎn);
圖2顯示了適合于實(shí)施本發(fā)明的實(shí)施例的用戶(hù)終端的示意性框圖;圖3顯示了適合于實(shí)施本發(fā)明的實(shí)施例的另ー種用戶(hù)終端的示意性框圖;和 圖4顯示了用于圖示按照本發(fā)明的實(shí)施例的方法的流程圖。如以上所討論的,當(dāng)前僅有少數(shù)互聯(lián)網(wǎng)路由器支持AQM和ECN。為了增強(qiáng)網(wǎng)絡(luò)擁塞控制的性能,在本發(fā)明的一些實(shí)施例中提出在連接的一個(gè)或多個(gè)端點(diǎn)上運(yùn)行AQM的虛擬版本。通過(guò)實(shí)驗(yàn)已經(jīng) 發(fā)現(xiàn)這種虛擬AQM提供了對(duì)在路由器處運(yùn)行AQM的情形的良好近似。在一些實(shí)施例中,在端點(diǎn)上運(yùn)行的虛擬AQM提供了ー種概率,其被使用以便確定是否對(duì)在端點(diǎn)上接收到的分組進(jìn)行ECN標(biāo)記和/或是否對(duì)要從端點(diǎn)傳送的分組進(jìn)行ECN標(biāo)記和/或是否在端點(diǎn)上采取其他步驟來(lái)控制分組的傳輸速率。擁塞控制協(xié)議(比如,TCP)將能夠使用由端點(diǎn)提供的標(biāo)志來(lái)增強(qiáng)網(wǎng)絡(luò)的總體性能。為了設(shè)法控制或減少網(wǎng)絡(luò)中的擁塞,本發(fā)明的一些實(shí)施例提供了 ー種用于控制在連接上從連接的第一端點(diǎn)朝向連接的第二端點(diǎn)的分組的傳輸速率的方法。除了幫助控制或減少擁塞,本發(fā)明的一些實(shí)施例還將擁塞的指示從第二端點(diǎn)提供到第一端點(diǎn),并試圖減少在連接上被丟棄的分組的數(shù)量?,F(xiàn)在將描述用于實(shí)施本發(fā)明的實(shí)施例的合適的通信系統(tǒng)和終端的例子。首先參照
圖1,圖中顯示了第一終端100,其經(jīng)由通信網(wǎng)絡(luò)300被連接到第二終端200。盡管在本實(shí)施例中,第一和第二終端形成經(jīng)由網(wǎng)絡(luò)300的連接的端點(diǎn),但在其他的實(shí)施例中,所述端點(diǎn)的一個(gè)或兩者可以采取另外的形式,例如服務(wù)器或其他的節(jié)點(diǎn)。終端100和200中的一個(gè)或兩者可以包括例如個(gè)人計(jì)算機(jī)、游戲設(shè)備、個(gè)人數(shù)字助理(PDA)、適當(dāng)?shù)厥鼓艿囊苿?dòng)電話(huà)、電視或能夠連接到網(wǎng)絡(luò)300的另外的設(shè)備。終端間連接建立的發(fā)起可以由終端中的任一個(gè)執(zhí)行。因?yàn)檫B接的建立可以如本領(lǐng)域中所熟知的,所以為了簡(jiǎn)潔起見(jiàn),這里不再進(jìn)一歩描述。網(wǎng)絡(luò)300包括基于分組的網(wǎng)絡(luò)。盡管第一終端100和第二終端200被安排來(lái)經(jīng)由網(wǎng)絡(luò)300相互交換數(shù)據(jù),但為了下述討論的目的,第一終端100將被稱(chēng)為傳送終端,而第二終端200將被稱(chēng)為接收終端。在一些實(shí)施例中,分組攜帶在終端100、200間已建立的呼叫或其他通信事件的信息(包括語(yǔ)音、文本、圖像或視頻中的ー項(xiàng)或多項(xiàng))。在本發(fā)明的一些實(shí)施例中,通信網(wǎng)絡(luò)300包括由互聯(lián)網(wǎng)提供的VoIP網(wǎng)絡(luò)。應(yīng)當(dāng)意識(shí)到,盡管這里所顯示和詳細(xì)描述的示范性實(shí)施例使用了 VoIP網(wǎng)絡(luò)的術(shù)語(yǔ),但本發(fā)明的實(shí)施例可以被使用在便于數(shù)據(jù)傳遞的任何其他合適的通信系統(tǒng)中。在本發(fā)明的優(yōu)選的實(shí)施例中,VoIP系統(tǒng)是對(duì)等(P2P)通信系統(tǒng),其中多個(gè)終端用戶(hù)可以經(jīng)由諸如互聯(lián)網(wǎng)的通信結(jié)構(gòu)被連接用于通信的目的。圖I中圖示的終端100、200可以各自與終端用戶(hù)相關(guān)聯(lián)。所述通信結(jié)構(gòu)相對(duì)于其中的通信交換實(shí)質(zhì)上被分散,以便連接終端用戶(hù)。即,終端用戶(hù)可以基于用來(lái)獲得對(duì)該結(jié)構(gòu)的訪(fǎng)問(wèn)的授權(quán)證書(shū)(UIC)的交換而建立他們自己的通過(guò)該結(jié)構(gòu)的通信路由。如以上所提及的,這樣的通信系統(tǒng)在W02005/009019中被描述。在網(wǎng)絡(luò)300包括互聯(lián)網(wǎng)時(shí)的情形中,那么每個(gè)終端具有在互聯(lián)網(wǎng)中可使用來(lái)定位所述終端的相關(guān)聯(lián)的IP地址。而且,在終端間傳達(dá)的數(shù)據(jù)是在互聯(lián)網(wǎng)協(xié)議(IP)分組中輸送的。當(dāng)然應(yīng)意識(shí)到,互聯(lián)網(wǎng)是由比明確顯示的那些單元多得多的單元組成的。這一點(diǎn)在圖I中由通信云300示意性地表示,云300可以包括許多服務(wù)器和網(wǎng)關(guān)、以及互聯(lián)網(wǎng)服務(wù)提供商(ISP)的路由器和互聯(lián)網(wǎng)主干路由器。此外,當(dāng)然應(yīng)意識(shí)到,比所示的兩個(gè)終端100、200多得多的終端可以被連接到網(wǎng)絡(luò)300?,F(xiàn)在將參照?qǐng)D2,其更詳細(xì)地顯示了第一終端100。第一終端100包括接收電路I,用于接收從第二終端200經(jīng)由網(wǎng)絡(luò)300傳送的數(shù)據(jù);以及傳送電路2,用于經(jīng)由網(wǎng)絡(luò)300向第二終端200傳送數(shù)據(jù)。接收電路I被安排來(lái)向諸如揚(yáng)聲器18和顯示屏20的各種輸出設(shè)備輸出數(shù)據(jù),所述數(shù)據(jù)是在分組中被接收的,所述分組被包含在從例如第二終端200經(jīng)由網(wǎng)絡(luò)300接收的信號(hào)中。接收電路I包括抖動(dòng)緩沖器10,用于緩沖從網(wǎng)絡(luò)300接收的數(shù)據(jù)分組;解碼器12,用于解碼在數(shù)據(jù)分組中接收的數(shù)據(jù);再現(xiàn)器(renderer) 14,用于操控要被輸出到顯示屏20的視頻數(shù)據(jù);以及數(shù)字-模擬轉(zhuǎn)換器16,用于向模擬輸出設(shè)備輸出模擬數(shù)據(jù)。終端100的傳送電路2被安排來(lái)從諸如話(huà)筒24和網(wǎng)絡(luò)攝像機(jī)26這樣的輸入設(shè)備接收數(shù)據(jù),并以信號(hào)的形式經(jīng)由網(wǎng)絡(luò)300把數(shù)據(jù)傳送到例如第二終端200。傳送電路2包括模擬-數(shù)字轉(zhuǎn)換器28,用于將從模擬輸入設(shè)備輸入的模擬數(shù)據(jù)轉(zhuǎn)換為數(shù)字信息;編碼器 30,用于將數(shù)字信息編碼為編碼的數(shù)據(jù)幀;分組化器32,用于將編碼的數(shù)據(jù)幀放入分組中;以及緩沖器34,被安排來(lái)在分組被傳送進(jìn)網(wǎng)絡(luò)300前對(duì)它們進(jìn)行排隊(duì)。按照本發(fā)明的實(shí)施例,用戶(hù)終端100的處理器22被安排來(lái)控制傳送電路2的組件的操作。例如優(yōu)選地,編碼器30編碼數(shù)據(jù)的比特率由處理器22控制,以便控制數(shù)據(jù)從緩沖器34被傳送到網(wǎng)絡(luò)300中的速率。在這個(gè)實(shí)施例中,處理器22包括中央處理單元(CPU)。應(yīng)指出,在一些實(shí)施例中,在終端100的組件間將提供進(jìn)ー步的連接,比如在處理器22與輸入和輸出設(shè)備的每ー個(gè)之間的連接。而且,盡管話(huà)筒24、網(wǎng)絡(luò)攝像機(jī)26、揚(yáng)聲器18和顯示屏20被顯示為集成到第一終端100,但是在其他的實(shí)施例中,這些組件的一個(gè)或多個(gè)可以采用經(jīng)由有線(xiàn)或無(wú)線(xiàn)連接被連接到用戶(hù)終端100的外圍設(shè)備的形式。此外,在端點(diǎn)100包括用戶(hù)終端以外的設(shè)備的實(shí)施例中,話(huà)筒24、網(wǎng)絡(luò)攝像機(jī)26、揚(yáng)聲器18和顯示屏20中的一個(gè)或多個(gè)可以被省去。諸如硬驅(qū)動(dòng)機(jī)或閃存的非易失性存儲(chǔ)器36、以及諸如隨機(jī)存取存儲(chǔ)器(RAM)的易失性存儲(chǔ)器38也被耦合到CPU22。非易失性存儲(chǔ)器36存儲(chǔ)軟件,其至少包括操作系統(tǒng)(OS)和以P2P通信客戶(hù)機(jī)形式的基于分組的通信軟件。一經(jīng)啟動(dòng)或重置終端100,操作系統(tǒng)便被自動(dòng)裝載到RAM38,并且通過(guò)在CPU22上被執(zhí)行而從該RAM運(yùn)行。一旦運(yùn)行,操作系統(tǒng)于是便可以通過(guò)將諸如P2P通信客戶(hù)機(jī)這樣的應(yīng)用裝載進(jìn)RAM38并在CPU22上執(zhí)行它們而運(yùn)行所述應(yīng)用?,F(xiàn)在參照?qǐng)D3,其更詳細(xì)地顯示了第二終端200。在這個(gè)實(shí)施例中,第二終端200采用與第一終端相似的格式。因此,類(lèi)似的組件用相同的參考數(shù)字指示,只是在圖3中把符號(hào)“’”后綴添加到參考數(shù)字,以幫助區(qū)分第二終端200的特征的討論與第一終端100的特征的討論。為了簡(jiǎn)潔,不提供第二終端200的特征的進(jìn)ー步的詳細(xì)描述。當(dāng)然,在端點(diǎn)200包括用戶(hù)終端以外的設(shè)備的實(shí)施例中,所圖示的話(huà)筒24’、網(wǎng)絡(luò)攝像機(jī)26’、揚(yáng)聲器18’和顯示屏20’中的一個(gè)或多個(gè)可以被省去。如果大量的數(shù)據(jù)在各種終端、路由器和其他節(jié)點(diǎn)之間經(jīng)過(guò)網(wǎng)絡(luò)300,則引發(fā)網(wǎng)絡(luò)擁塞并且終端100、200可能經(jīng)歷分組遞送中的長(zhǎng)延遲。分組甚至可能在終端100、200間的連接上丟失或丟棄。例如,如以上所討論的,網(wǎng)絡(luò)300內(nèi)的路由器處的尾部丟棄緩沖器可能達(dá)到它的最大的被允許尺寸,在這之后路由器處新接收的來(lái)自第一終端100的分組被丟棄。這會(huì)導(dǎo)致第二終端200接收到不完整的數(shù)據(jù),并且由于要向它們的預(yù)期接收者重傳在途中丟失或丟棄的分組,還會(huì)隨后導(dǎo)致經(jīng)過(guò)網(wǎng)絡(luò)300的額外的通信量。為了設(shè)法減少網(wǎng)絡(luò)300中的擁塞,本發(fā)明的實(shí)施例提供了ー種方法,用于控制從傳送終端進(jìn)入網(wǎng)絡(luò)300朝向接收終端的分組的傳輸速率。本發(fā)明的一些實(shí)施例從接收終端200向傳送終端100提供擁塞的指示,使得傳送終端可以降低它的分組發(fā)送速率,以試圖降低在終端100、200間的連接上被丟棄的分組的數(shù)量?,F(xiàn)在參照?qǐng)D4,其圖示了本發(fā)明的方法的例子。該示例性的方法包括在第二終端200的處理器22’上確定指示在端點(diǎn)100、200之間的路徑上觀察到的分組“η”的單向端到
端排隊(duì)延遲“ \ ”的值,換句話(huà)說(shuō),指示在從第一終端100行進(jìn)到第二終端200時(shí)分組“η”
在隊(duì)列中所花費(fèi)的時(shí)間的值。該值將被稱(chēng)作為“ Ι 句”,并且這個(gè)步驟是圖4中的步驟SI。為了確定該值,從第一終端100發(fā)送到第二終端200的分組在傳輸時(shí)被打上時(shí)間戳,比如在分組中提供該分組從第一終端100被傳送時(shí)的時(shí)間的指示(IK功)。替換地,該指示可以包括在被附帶于分組的輔助信息中。在第二終端200上接收分組的時(shí)間(7( )
)被記下。然而,在分組中提供的指示依賴(lài)于第一終端100上的第一時(shí)鐘的值,而記錄的接收時(shí)間則依賴(lài)于第二終端200上的第二時(shí)鐘的值。由于兩個(gè)時(shí)鐘之間缺乏同步(“時(shí)鐘偏差”),第二終端200沒(méi)有按照第二時(shí)鐘的、該分組從第一終端被發(fā)送時(shí)的時(shí)間的指示。這個(gè)時(shí)鐘偏差可以被估計(jì)且隨著時(shí)間推移被消除。在US2008/0232521以及共同待決的美國(guó)專(zhuān)利申請(qǐng)No. 12/455908中闡述了用于這樣做的合適的方法。與此操作有關(guān)的這兩個(gè)文檔的內(nèi)容通過(guò)引用的方式被合并于此。在這些文檔中闡述的方法還(從算術(shù)CCo) - Tx(S)的結(jié)果)篩選出(filter out)分組由于以某ー速度(當(dāng)采用在光纖上的傳播時(shí)為光速)經(jīng)過(guò)兩個(gè)終端100、200間的物理距離所經(jīng)歷的傳播延遲。在美國(guó)專(zhuān)利申請(qǐng)No. 12/455908中描述的方法的概要如下。原始分組延遲是接收者時(shí)鐘讀數(shù)和分組時(shí)間戳之間的差值,即
D(n) = Tr{r )-Tx(n)
當(dāng)然,D(η)并不是實(shí)際的傳輸延遲的精確測(cè)量,因?yàn)椁匹?和れ(句是相對(duì)于不同的、非同步的時(shí)鐘而測(cè)量的。D(n)可以由下式描述
D《n) = 了 q_ + Tp(n 卜 Te《n)
其中,Tq{&)是分組排隊(duì)延遲,Τβ(α)是傳播延遲,以及是由于時(shí)鐘未被同步而造成的測(cè)量誤差。這里做出假設(shè)盡管!:(n)和 ;(句是未知的,但隨著時(shí)間的推移它們接近于恒定,且我們將它們的和值稱(chēng)為T(mén)^(M) ^ + Tc^)。最小跟蹤功能觀察單向延遲D(n)以生成對(duì)于時(shí)鐘和傳播偏差2%(句的估計(jì)的補(bǔ)償。在一個(gè)實(shí)施例中,最小跟蹤功能被實(shí)施為卡爾曼(Kalman)濾波器,其將建模為ー階模型以抓住任何的時(shí)鐘漂移。最小跟蹤是通過(guò)針對(duì)更高的D(η)值而在卡爾曼濾波器中利用更高的觀察噪聲來(lái)獲得的。從D (η)減去估計(jì)的偏差 ^(句以獲得Τ;( 3)的估計(jì)。因此,通過(guò)使用(Xx(Ji))的指示和記錄的接收時(shí)間(XW))以及在共同待決的美國(guó)專(zhuān)利申請(qǐng)No. 12/455908或US2008/0232521中闡述的方法,時(shí)鐘失配和傳播延遲都可以隨著時(shí)間推移被估計(jì)和被篩選出,以便獲得單向排隊(duì)延遲(句”的估計(jì)。在替換的實(shí)施例
中,可以使用替換的方法來(lái)獲得“?;(句”的估計(jì)。在優(yōu)選的實(shí)施例中,針對(duì)在第二終端200上接收的每個(gè)分組(B卩“n”、“n+l”、“n+2”等等)估計(jì)單向排隊(duì)延遲。在替換的實(shí)施例中,可以只針對(duì)在第二終端200上接收的每隔ー個(gè)或者每隔兩個(gè)分組來(lái)估計(jì)該延遲。所以,該估計(jì)可以每隔X-I個(gè)接收的分組被實(shí)行,其中X是整數(shù)。在替換的實(shí)施例中,該估計(jì)可以每Y秒被實(shí)行一次,例如其中Y=l。優(yōu)選地,終端200的處理器22’計(jì)算“7;( ) ”。然而,在替換的實(shí)施例中,該計(jì)算可以在別處(比如,在終端200的不同的處理器上,或在不同于終端200但連接到終端200的 實(shí)體上)執(zhí)行,于是用戶(hù)終端200的處理器22’可以接收為“?;(句”計(jì)算的值。該方法還包括在終端200的處理器22’上估計(jì)指示在端點(diǎn)100、200之間的網(wǎng)絡(luò)路徑上的最大端到端排隊(duì)延遲”的值,換句換說(shuō),指示當(dāng)分組從第一終端100行進(jìn)到第
ニ終端200時(shí)在隊(duì)列中可能花費(fèi)的最大時(shí)間的值(圖4中的步驟S2)。因此,可提供在位于第一終端100和第二終端200之間的網(wǎng)絡(luò)路徑上的路由器的緩沖器處的最大可能隊(duì)列長(zhǎng)度的估計(jì)。這個(gè)最大的端到端排隊(duì)延遲的估計(jì)”通過(guò)使用指示針對(duì)某些分組的單向的端到端排隊(duì)延遲“T/’的值而被周期性地更新,正如下面將更詳細(xì)地描述的。為了估計(jì)“句”(即,在第二終端200上接收到分組“η”后的“ f ”),首先
所確定的“ J; ”被與最大端到端排隊(duì)延遲的先前估計(jì)”(它是在接收到分組
“n-1”后被估計(jì)的)進(jìn)行比較。(注意,當(dāng)沒(méi)有“先前的”估計(jì)時(shí)被使用的最大端到端排隊(duì)延遲的初始估計(jì)優(yōu)選地是缺省值,比如250ms)。如果針對(duì)分組“η”指示的端到端排隊(duì)延遲“Γ,(υ) ”的值大于或等于指示最大端到端排隊(duì)延遲的先前估計(jì)い-I) ”的值,則相對(duì)小的加權(quán)“(% )”(比如O. 9)被應(yīng)用到代表最大端到端排隊(duì)延遲的先前估計(jì)”的值。另ー方面,如果指示端到端排隊(duì)延遲“ Τ9{η) ”的值小于指示最大端到端排隊(duì)延遲的先前估計(jì)“I) ”的值,則相對(duì)大
的加權(quán)“(叫)”(比如O. 99)被應(yīng)用到代表最大端到端排隊(duì)延遲的先前估計(jì)“り”的值。一旦加權(quán)因子“(〖ち)”在這個(gè)比較的基礎(chǔ)上被確定,則第二加權(quán)因子“(I- Iち)”被應(yīng)用到代表端到端排隊(duì)延遲“?;(句”的值??梢钥闯?,在這個(gè)實(shí)施例中,第二加權(quán)因子等于加權(quán)因子“ σち)”和“ I ”之間的差值。照這樣,觀察到的端到端排隊(duì)延遲“ぺ㈤”的大值比觀察到的端到端排隊(duì)延遲
“Τ ”的小值被更高地加權(quán)。因此,如果針對(duì)特定分組的觀察到的端到端排隊(duì)延遲大于或
等于最大端到端排隊(duì)延遲的先前估計(jì),則針對(duì)該分組的觀察到的端到端排隊(duì)延遲與針對(duì)該分組的觀察到的端到端排隊(duì)延遲小于最大端到端排隊(duì)延遲的先前估計(jì)的情況相比,對(duì)最大端到端排隊(duì)延遲的修正估計(jì)有更大的影響。在接收到分組(η)后,在終端100和終端200之間的最大端到端排隊(duì)延遲的修正估計(jì)于是可以通過(guò)使用以下的篩選獲得
權(quán)利要求
1.一種用于控制經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的通信量的方法,所述通信量包括多個(gè)分組,以及所述方法包括 在所述傳送器和接收器中的ー個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的當(dāng)前排隊(duì)延遲;和 基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì),控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量。
2.權(quán)利要求I的方法,包括基于當(dāng)前排隊(duì)延遲的估計(jì)和最大排隊(duì)延遲的估計(jì)來(lái)確定擁塞的量度,其中所述控制是基于所述擁塞的量度的。
3.權(quán)利要求I或權(quán)利要求2的方法,其中所述控制包括控制通過(guò)所述網(wǎng)絡(luò)路徑的從傳 送器到接收器的通信量的傳輸速率。
4.權(quán)利要求2或權(quán)利要求3的方法,其中所述擁塞的量度涉及緩沖器接近溢出的程度。
5.權(quán)利要求2到4的任ー項(xiàng)的方法,其中所述擁塞的量度包括隊(duì)列超出最大排隊(duì)延遲的預(yù)定比例的概率的量度。
6.任一前述權(quán)利要求的方法,其中當(dāng)前排隊(duì)延遲的估計(jì)是基于針對(duì)分組從傳送器行進(jìn)到接收器的平均的觀察到的延遲。
7.任一前述權(quán)利要求的方法,其中所述最大的觀察到的延遲和所述觀察到的延遲在接收器處被觀察并被反饋給傳送器,當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)是在傳送器處基于從接收器反饋的延遲而被估計(jì)的。
8.權(quán)利要求7的方法,包括依賴(lài)于擁塞的量度,在從傳送器傳送到接收器的分組中提供擁塞的指示。
9.權(quán)利要求I到6的任ー項(xiàng)的方法,其中當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的估計(jì)是在接收器處被估計(jì)的。
10.權(quán)利要求2和9的方法,其中所述擁塞的量度是在接收器處被確定的。
11.權(quán)利要求10的方法,其中所述擁塞的量度是在接收器處被確定的,并被反饋給傳送器。
12.權(quán)利要求10的方法,包括依賴(lài)于擁塞的量度,在從接收器反饋到傳送器的分組中提供抑塞的指不。
13.權(quán)利要求10的方法,包括在接收器處,依賴(lài)于擁塞的量度,在接收器處接收到的分組中提供擁塞的指示。
14.權(quán)利要求8、12或13的方法,其中所述擁塞的指示包括顯式擁塞通知標(biāo)志。
15.權(quán)利要求8、12、13或14的方法,其中所述擁塞的指示是在確定所述路由器不能在通過(guò)所述網(wǎng)絡(luò)路徑傳送的通信量中提供該網(wǎng)絡(luò)路徑上的擁塞指示的基礎(chǔ)上提供的。
16.權(quán)利要求13或權(quán)利要求14的方法,其中如果確定所述路由器能夠在通過(guò)所述網(wǎng)絡(luò)路徑傳送的通信量中提供該網(wǎng)絡(luò)路徑上的擁塞的指示,并且沒(méi)有這樣的擁塞指示被包括到在接收器處接收的分組中,則在所述分組中提供所述擁塞的指示。
17.權(quán)利要求13的方法,包括依賴(lài)于在接收器處檢測(cè)到在接收器處接收的分組中的擁塞指示,將指令從接收器發(fā)送到傳送器,該指令指示在通過(guò)網(wǎng)絡(luò)路徑向接收器發(fā)送通信量時(shí)要由所述傳送器采用的通信量的傳輸速率。
18.權(quán)利要求9的方法,包括依賴(lài)于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的估計(jì),將在通過(guò)網(wǎng)絡(luò)路徑向接收器發(fā)送通信量時(shí)要由所述傳送器采用的通信量的傳輸速率的指示從接收器發(fā)送到傳送器。
19.權(quán)利要求I到6的任一項(xiàng)的方法,包括依賴(lài)于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的估計(jì),確定在通過(guò)網(wǎng)絡(luò)路徑向接收器發(fā)送通信量時(shí)要由所述傳送器采用的通信量的傳輸速率;其中所述控制是基于所確定的傳輸速率。
20.權(quán)利要求19的方法,其中所述傳輸速率是在接收器處確定的,并被反饋給傳送器。
21.權(quán)利要求19的方法,其中所述最大的觀察到的延遲和所述觀察到的延遲被接收器處觀察并被反饋給傳送器,當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)是在傳送器處基于從接收器反饋的所述最大的觀察到的延遲和所述觀察到的延遲來(lái)估計(jì)的,并且所述傳輸速率·是在傳送器處被確定的。
22.一種用于控制經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑在傳送器和接收器之間傳送的通信量的方法,所述通信量包括多個(gè)分組,以及所述方法包括 在所述傳送器和接收器中的一個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的當(dāng)前排隊(duì)延遲;和 基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì),將反饋從所述傳送器和接收器中的所述一個(gè)發(fā)送到所述傳送器和接收器中的另一個(gè),該反饋用于使得所述傳送器和接收器的所述另一個(gè)控制通過(guò)所述網(wǎng)絡(luò)路徑的通信量。
23.權(quán)利要求22的方法,其中當(dāng)前排隊(duì)延遲的估計(jì)是基于針對(duì)分組從傳送器行進(jìn)到接收器的平均的觀察到的延遲。
24.權(quán)利要求22或權(quán)利要求23的方法,包括在所述傳送器和接收器中的所述一個(gè)處,在所述傳送器和接收器中的所述一個(gè)處接收的分組中提供擁塞指示,其中所述反饋依賴(lài)于在所接收的分組中檢測(cè)到擁塞指示而被發(fā)送。
25.權(quán)利要求22到24的任一項(xiàng)的方法,其中所述反饋包括其中包含顯式擁塞通知標(biāo)志的分組。
26.權(quán)利要求22到24的任一項(xiàng)的方法,其中所述反饋包括在通過(guò)網(wǎng)絡(luò)路徑發(fā)送通信量時(shí)要由所述傳送器和接收器中的另一個(gè)采用的通信量的傳輸速率的指示。
27.權(quán)利要求22的方法,包括基于當(dāng)前排隊(duì)延遲的估計(jì)和最大排隊(duì)延遲的估計(jì)來(lái)確定擁塞的量度。
28.權(quán)利要求27的方法,包括依賴(lài)于所述擁塞的量度來(lái)發(fā)送所述反饋。
29.權(quán)利要求27或28的方法,其中所述擁塞的量度涉及緩沖器接近溢出的程度。
30.權(quán)利要求27到29的任一項(xiàng)的方法,其中所述擁塞的量度包括隊(duì)列超出最大排隊(duì)延遲的預(yù)定比例的概率的量度。
31.權(quán)利要求27到30的任一項(xiàng)的方法,其中所述反饋包括所述擁塞的量度的指示。
32.—種在經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的分組中設(shè)置指示符的方法,其中所述指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示,以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制,所述方法包括 在所述傳送器和接收器中的一個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的當(dāng)前排隊(duì)延遲;和 在所述傳送器和接收器中的一個(gè)處,基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在該分組中設(shè)置指示符。
33.權(quán)利要求24或32的方法,其中所述擁塞的指示包括顯式擁塞通知標(biāo)志。
34.權(quán)利要求24、32或33的方法,其中所述擁塞的指示是在確定所述路由器不能在通過(guò)所述網(wǎng)絡(luò)路徑傳送的通信量中提供該網(wǎng)絡(luò)路徑上的擁塞指示的基礎(chǔ)上提供的。
35.權(quán)利要求24、32或33的方法,其中如果確定所述路由器能夠在通過(guò)所述網(wǎng)絡(luò)路徑傳送的通信量中提供該網(wǎng)絡(luò)路徑上的擁塞的指示,并且沒(méi)有這樣的擁塞指示被包括到在所述傳送器和接收器中的所述一個(gè)處接收的分組中,則在所述分組中提供所述擁塞的指示。
36.任一前述權(quán)利要求的方法,其中所述傳送器和接收器中的一個(gè)或兩者包括用戶(hù)終端。
37.任一前述權(quán)利要求的方法,其中所述網(wǎng)絡(luò)路徑包括通過(guò)互聯(lián)網(wǎng)的路徑,以及 其中所述接收器是包括處理器的設(shè)備,所述處理器被配置來(lái)執(zhí)行互聯(lián)網(wǎng)協(xié)議上的話(huà)音客戶(hù)機(jī)和互聯(lián)網(wǎng)協(xié)議上的視頻客戶(hù)機(jī)中的一個(gè)或兩者,并且所述設(shè)備被配置來(lái)參與經(jīng)由所述網(wǎng)絡(luò)路徑的與傳送器的呼叫。
38.一種包括代碼的計(jì)算機(jī)程序產(chǎn)品,所述代碼被安排使得當(dāng)其在處理器上被執(zhí)行時(shí)完成權(quán)利要求I到37的任一項(xiàng)的步驟。
39.一種傳送器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量的裝置。
40.一種接收器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量的裝置。
41.一種傳送器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)向所述接收器發(fā)送反饋的裝置,該反饋用于使得所述接收器控制通過(guò)所述網(wǎng)絡(luò)路徑的通信量。
42.一種接收器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)向所述傳送器發(fā)送反饋的裝置,該反饋用于使得所述傳送器控制通過(guò)所述網(wǎng)絡(luò)路徑的通信量。
43.一種傳送器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的分組中設(shè)置指示符的裝置,其中所述指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示,以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制。
44.一種接收器,包括 用于基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在傳送器和接收器之間的網(wǎng)絡(luò)路徑上路由器的緩沖器處的最大排隊(duì)延遲的裝置; 用于基于針對(duì)ー個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在該路由器的緩沖器處的當(dāng)前排隊(duì)延遲的裝置;和 用于基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì)來(lái)在經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的分組中設(shè)置指示符的裝置,其中所述指示符被設(shè)置成提供網(wǎng)絡(luò)擁塞的指示,以使得多個(gè)分組從傳送器到接收器的傳輸速率可以被控制。
全文摘要
提供了一種用于控制經(jīng)由路由器通過(guò)網(wǎng)絡(luò)路徑從傳送器傳送到接收器的通信量的方法,所述通信量包括多個(gè)分組,以及所述方法包括在所述傳送器和接收器中的一個(gè)處,基于針對(duì)通信量從傳送器行進(jìn)到接收器的最大的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的最大排隊(duì)延遲,且基于針對(duì)一個(gè)或多個(gè)指定分組從傳送器行進(jìn)到接收器的觀察到的延遲來(lái)估計(jì)在所述路由器的緩沖器處的當(dāng)前排隊(duì)延遲;和基于當(dāng)前排隊(duì)延遲和最大排隊(duì)延遲的所述估計(jì),控制通過(guò)所述網(wǎng)絡(luò)路徑的在傳送器和接收器之間的通信量。
文檔編號(hào)H04L12/801GK102859950SQ201180011092
公開(kāi)日2013年1月2日 申請(qǐng)日期2011年2月25日 優(yōu)先權(quán)日2010年2月25日
發(fā)明者M.陳, C.羅布羅, S.V.安德森 申請(qǐng)人:斯凱普公司