多播通信網(wǎng)絡(luò)中的擁塞管理的制作方法
【專利摘要】公開了用于在支持多播數(shù)據(jù)流的傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)中管理擁塞的方法。該方法包括,當在路由器的傳輸接口處檢測到擁塞時:識別通過傳輸接口被轉(zhuǎn)發(fā)并且正在遭受丟包的多播數(shù)據(jù)流;中斷數(shù)據(jù)流通過傳輸接口向路由器下游的傳輸,并且在數(shù)據(jù)流將只通過該傳輸接口向路由器下游傳輸?shù)那闆r下,向上游的路由器發(fā)送請求以便中斷數(shù)據(jù)流從上游的路由器到該路由器的傳輸;以及禁止用于經(jīng)由該傳輸接口轉(zhuǎn)發(fā)數(shù)據(jù)流的任何請求長達給定的時間段。
【專利說明】
多播通信網(wǎng)絡(luò)中的擁塞管理
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信網(wǎng)絡(luò)的領(lǐng)域。特別地,本發(fā)明涉及用于管理多播通信網(wǎng)絡(luò)中的擁塞的方法。
【背景技術(shù)】
[0002]如已知的,在包交換通信網(wǎng)絡(luò)中,特別是IP(互聯(lián)網(wǎng)協(xié)議)通信網(wǎng)絡(luò)中,在源和一個或多個終端用戶(也稱為客戶端或主機)之間數(shù)據(jù)流的傳輸可以是單播(點對點)或多播(點對多點)。多播傳輸技術(shù)被用于同時且同步地將同一數(shù)據(jù)流從源分發(fā)到一組客戶端。這組客戶端典型地被稱為多播分發(fā)組,并且在IP通信網(wǎng)絡(luò)內(nèi)由IP多播地址來識別。使用多播傳輸技術(shù)的典型服務(wù)是流視頻和游戲。數(shù)據(jù)流分發(fā)一般是沿所謂的“多播分發(fā)樹”來執(zhí)行,其中多播分發(fā)樹的根是數(shù)據(jù)源設(shè)備(例如,信息提供商的服務(wù)器),并且多播分發(fā)樹的葉子是終端用戶的設(shè)備。典型地,多播分發(fā)樹包括被配置為將數(shù)據(jù)流從源路由到客戶端的多個多播路由器。希望從給定源接收特定數(shù)據(jù)流的每個客戶端典型地在該客戶端所附連的網(wǎng)絡(luò)段上發(fā)送成員資格請求,以便加入與該特定數(shù)據(jù)流相關(guān)的多播分發(fā)組。
[0003]如已知的,IGMP(互聯(lián)網(wǎng)組管理協(xié)議)協(xié)議是由客戶端和由多播分發(fā)樹的與客戶端相鄰的多播路由器用于建立多播組成員資格的通信協(xié)議。特別地,成員資格報告消息由主機所附連的網(wǎng)絡(luò)段上的主機發(fā)送,并且被其相鄰的多播路由器接收。這種報告消息指示該主機有興趣加入多播分發(fā)組以便接收給定數(shù)據(jù)流。當主機決定離開多播分發(fā)組時,由主機發(fā)送離組消息。
[0004]P頂(協(xié)議無關(guān)多播)協(xié)議是在多播分發(fā)樹的多播路由器之間使用以引導數(shù)據(jù)流從源到多播分發(fā)組的客戶端的路由協(xié)議。特別地,從要求加入給定多播分發(fā)組的主機接收到IGMP成員資格報告的多播路由器典型地可能通過中間多播路由器朝數(shù)據(jù)流的源發(fā)送PndJ口入消息,以便將介于中間的多播路由器連接到多播分發(fā)樹。以這種方式,如已知的,這些多播路由器能夠從源接收數(shù)據(jù)流,并且朝加入的主機轉(zhuǎn)發(fā)數(shù)據(jù)流。相反,PIM剪除消息典型地由多播路由器在它尚開多播分發(fā)樹時發(fā)送。
[0005]典型地使用多播傳輸技術(shù)分發(fā)的服務(wù)(例如,流視頻)的質(zhì)量關(guān)鍵取決于在從源到客戶端的多播傳輸過程中丟失或損壞的包的百分比。另外,典型地,多播傳輸不實現(xiàn)用于對丟失或損壞的包進行重傳的任何機制。鑒于上述情況,在多播路由器處發(fā)生的任何擁塞事件可能導致丟包,這會嚴重地和不可逆轉(zhuǎn)地使交付給多播分發(fā)組的客戶端的服務(wù)的質(zhì)量劣化。另外,由同一多播路由器路由的其它數(shù)據(jù)流可能受到丟失的影響,使得其它多播分發(fā)組可能經(jīng)歷服務(wù)質(zhì)量劣化。當超過多播路由器的傳輸接口處的可用帶寬時,發(fā)生擁塞事件。在下文中,“擁塞事件”或簡稱“擁塞”將指示多播路由器中的至少一個傳輸接口沒有足夠的帶寬來處理通過該接口路由的數(shù)據(jù)流。經(jīng)歷擁塞事件的多播路由器也將被表示為“擁塞的路由器”并且相關(guān)的接口將被表示為“擁塞的傳輸接口”。
[0006]
【申請人】名下的US2010/0142524公開了用于為通信網(wǎng)絡(luò)節(jié)點中包含多個單獨流的聚合流服務(wù)的方法。該方法包括:基于分配給網(wǎng)絡(luò)節(jié)點的服務(wù)資源來在聚合流中識別可以在對感知的性能基本無損害的情況下被服務(wù)的單獨流,并且相對于聚合流中的剩余單獨流,優(yōu)先服務(wù)所識別的單獨流。
[0007]在US 2010/0142524中公開的方法實際上是可以通過在擁塞的多播路由器上定義一組預定義的邏輯來限制在多播路由器處的擁塞事件的影響以便維持給定數(shù)據(jù)流的服務(wù)質(zhì)量的擁塞控制方法。該方法提供了用于在擁塞的多播路由器處獲知哪些數(shù)據(jù)流正在經(jīng)歷由于嚴重的丟包而導致的服務(wù)質(zhì)量劣化。根據(jù)US 2010/0142524的方法,如果多播路由器的傳輸接口因為新數(shù)據(jù)流的建立而變得擁塞,則先已存在的數(shù)據(jù)流的服務(wù)質(zhì)量被維持從而損害新數(shù)據(jù)流的服務(wù)質(zhì)量,新數(shù)據(jù)流將經(jīng)歷更高的丟包。
[0008]但是,US 2010/0142524的方法不允許去除在多播路由器處的擁塞事件,并且不允許避免擁塞的多播路由器的下游(即,從擁塞的多播路由器到主機)和上游(即,從源到擁塞的多播路由器)這兩者的傳輸資源的浪費。特別地,在擁塞的多播路由器的下游,傳輸資源的浪費是由以下事實引起的,即,通過擁塞的傳輸接口路由的數(shù)據(jù)流的包要么丟失,要么如果沒有丟失則它們無論如何都被交付到主機。但是,這些包不足以提供具有可接受質(zhì)量的服務(wù)。在擁塞路由器的上游,被用來路由該同一數(shù)據(jù)流直到擁塞的路由器的傳輸資源實際上被浪費,并且它們可以被更方便地使用來交付不受擁塞事件影響的其它數(shù)據(jù)流。
[0009]WO 2009/129828公開了用于在啟用點對多點(PTM)的網(wǎng)絡(luò)中在擁塞狀況下進行流量處理的技術(shù)。所公開的技術(shù)在網(wǎng)絡(luò)的出口節(jié)點中執(zhí)行并且包括以下步驟:檢測被標記的包,其中標記指示啟用PTM的網(wǎng)絡(luò)的核心節(jié)點中的擁塞狀況;基于檢測到的標記來從經(jīng)過出口節(jié)點的一個或多個PTM流中選擇特定的PTM流以便終止;以及在所選擇的流的上游方向上指示所選擇的PTM流。當檢測到被標記的包時,每個出口節(jié)點決定該流將被終止并且在擁塞節(jié)點的方向上向上游發(fā)送P頂剪除消息。
【發(fā)明內(nèi)容】
[0010]本發(fā)明人注意到,根據(jù)WO2009/129828的方法,擁塞管理是客戶端驅(qū)動的。特別地,根據(jù)WO 2009/129828的方法,發(fā)起剪除受擁塞事件影響的多播分發(fā)樹(S卩,終止經(jīng)由擁塞的多播路由器路由的數(shù)據(jù)流)的決定是由多播分發(fā)組的主機作出的。因此,為了實現(xiàn)WO2009/129828的方法,多播分發(fā)組的主機需要增強流量處理功能,因為它們應該實現(xiàn)專門的邏輯以檢測被標記的包以及決定將終止哪個數(shù)據(jù)流,這種邏輯在市售主機設(shè)備中不是標準的。換句話說,市售主機設(shè)備可能不能實現(xiàn)所需要的功能并且可能需要特別的修改。如果至少一個主機設(shè)備不能實現(xiàn)所需要的功能,則WO 2009/129828中所公開的機制可能不會有效。
[0011]此外,實現(xiàn)WO2009/129828的方法需要在多播分發(fā)組的主機之間緊密協(xié)調(diào)。當發(fā)生擁塞事件時,每個主機必須離開受擁塞影響的多播分發(fā)樹。如果至少一個主機沒有離開多播分發(fā)樹,則包繼續(xù)被轉(zhuǎn)發(fā)到該主機并且所述機制是無效的。WO 2009/129828的方法所需要的這種協(xié)調(diào)剪除操作只有當組中的每個主機達成關(guān)于哪個數(shù)據(jù)流要被終止的相同決定時才是有效的。這關(guān)鍵取決于在每個主機處用來作出決定的規(guī)則的實現(xiàn)。
[0012]另外,不同的多播分發(fā)樹可能共享多播路由器的擁塞接口。在這種情況下,根據(jù)TO2009/129828的方法,屬于不同樹的主機可以決定終止其各自的數(shù)據(jù)流,因為它們都經(jīng)過擁塞的接口。但是,如果例如擁塞可以通過終止單個數(shù)據(jù)流來恢復的話,則這樣做會導致不必要的數(shù)據(jù)流丟失。
[0013]最后,發(fā)明人注意到,由于WO 2009/129828的方法是客戶端驅(qū)動的并且依賴于主機關(guān)于終止數(shù)據(jù)流的決定,因此只有當被標記的包到達主機時,才作出決定。因此,這種方法可能低效地需要長時間來管理擁塞。
[0014]鑒于上述情況,發(fā)明人已解決了提供用于管理多播通信網(wǎng)絡(luò)中的擁塞的方法的問題,該方法允許避免以上所述的缺點。特別地,發(fā)明人已解決了提供不是客戶端驅(qū)動的并且因此可以在無需對主機設(shè)備進行任何定制的情況下在多播通信網(wǎng)絡(luò)中實現(xiàn)的、用于管理多播通信網(wǎng)絡(luò)中的擁塞的方法的問題。
[0015]在下面的說明書和權(quán)利要求中,術(shù)語“數(shù)據(jù)消息”、“數(shù)據(jù)包”、“包”、“數(shù)據(jù)單元”、“數(shù)據(jù)報”等可以不加區(qū)別地用來指示在多播通信網(wǎng)絡(luò)(特別地是包交換多播通信網(wǎng)絡(luò),更特別地是在IP多播通信網(wǎng)絡(luò))的節(jié)點之間交換的數(shù)據(jù)流的基本塊。但是,表述“信令消息”將指示根據(jù)用于操作多播通信網(wǎng)絡(luò)的協(xié)議或標準(諸如通信協(xié)議和路由協(xié)議(分別地,例如如上所述的IGMP協(xié)議和PM協(xié)議))發(fā)出的消息。根據(jù)本說明書,信令消息是獨立的消息。信令消息的示例是由IGMP協(xié)議提供的成員資格報告消息和離組消息,以及由PIM協(xié)議提供的加入消息和剪除消息。
[0016]根據(jù)本發(fā)明,以上問題通過提供在網(wǎng)絡(luò)的經(jīng)歷擁塞事件的多播路由器處實現(xiàn)的、用于管理多播通信網(wǎng)絡(luò)中的擁塞的方法來解決。特別地,該方法以基于流的方式被實現(xiàn),該方法提供了:
[0017]-將諸如WO2010/0142524的方法之類的擁塞控制方法應用于擁塞的路由器處的任何數(shù)據(jù)流,該方法能夠提供遭受丟包的數(shù)據(jù)流(在下面被稱為“被不良地服務(wù)的數(shù)據(jù)流”)的證據(jù)并且提供相關(guān)的通知(在下面被稱為“被不良地服務(wù)的流通知”)。
[0018]-在擁塞的路由器處,使正在經(jīng)過擁塞的傳輸接口并且正在經(jīng)歷不可忽略的丟包(并且通過相關(guān)的被不良地服務(wù)的流通知消息被通知)的任何數(shù)據(jù)流的向下游傳輸中斷;
[0019]-如果被識別為“被不良地服務(wù)的”數(shù)據(jù)流只通過擁塞的傳輸接口向擁塞的路由器的下游分發(fā),并且不朝同一路由器的其它傳輸接口復制,則在擁塞的路由器處,向上游發(fā)送不接收被不良地服務(wù)的數(shù)據(jù)流的請求(即,離開對應的多播分發(fā)樹的請求)。換句話說,在這種情況下,擁塞的路由器向上游的路由器發(fā)送請求以便中斷被不良地服務(wù)的數(shù)據(jù)流從上游路由器到擁塞的路由器的傳輸。以這種方式,上游的路由器將中斷把被不良地服務(wù)的數(shù)據(jù)流轉(zhuǎn)發(fā)到擁塞的路由器。有利地,當被不良地服務(wù)的數(shù)據(jù)流到擁塞路由器的路由被中斷時,傳輸資源被釋放并且它們可以被更高效地用于其它沒有受擁塞事件影響的數(shù)據(jù)流;以及
[0020]-在擁塞的路由器處,禁止用于轉(zhuǎn)發(fā)那些被不良地服務(wù)的數(shù)據(jù)流的任何請求長達給定的時間段。這有利地允許避免在多播通信網(wǎng)絡(luò)內(nèi)可能在主機或多播路由器反復嘗試請求其分發(fā)已根據(jù)以上步驟被中斷的給定數(shù)據(jù)流的情況下出現(xiàn)的不穩(wěn)定性。
[0021]根據(jù)第一方面,本發(fā)明提供了用于管理通信網(wǎng)絡(luò)中的擁塞的方法,其中網(wǎng)絡(luò)支持多個多播數(shù)據(jù)流的傳輸,該方法包括,當在網(wǎng)絡(luò)的路由器的傳輸接口處檢測到擁塞時:
[0022]a)識別正在通過傳輸接口被轉(zhuǎn)發(fā)并且正在遭受丟包的多播數(shù)據(jù)流;
[0023]b)中斷數(shù)據(jù)流通過傳輸接口向路由器下游的傳輸,并且在數(shù)據(jù)流將只通過該傳輸接口向路由器下游發(fā)送的情況下,向上游的路由器發(fā)送請求以便中斷數(shù)據(jù)流從上游的路由器到該路由器的傳輸;以及
[0024]c)禁止用于經(jīng)由該傳輸接口轉(zhuǎn)發(fā)數(shù)據(jù)流的任何請求長達給定的時間段。
[0025]優(yōu)選地,識別包括測量數(shù)據(jù)流的丟包。
[0026]優(yōu)選地,識別包括發(fā)出包含與數(shù)據(jù)流相關(guān)聯(lián)的信息的被不良地服務(wù)的流通知,所述信息指示:
[0027]-數(shù)據(jù)流的源節(jié)點;
[0028]-與數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)組;以及
[0029]-傳輸接口。
[0030]優(yōu)選地,該方法還包括處理被不良地服務(wù)的流通知和使用其中包含的信息來寫入/更新成員資格禁止表中的條目,該條目與數(shù)據(jù)流相關(guān)聯(lián)并且包含指示數(shù)據(jù)流的源節(jié)點、與數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)組以及傳輸接口的信息。
[0031 ]有利地,條目還包括指示所述條目將從所述成員資格禁止表中被移除的時間的到期時間,該到期時間在將被不良地服務(wù)的流通知的信息寫入/更新到成員資格禁止表中時開始。
[0032]優(yōu)選地,步驟b)包括發(fā)出模擬路由器將經(jīng)由所述傳輸接口從所述網(wǎng)絡(luò)的在所述路由器下游的節(jié)點接收的信令消息的偽造信令消息,以便請求中斷所述數(shù)據(jù)流從所述路由器到下游節(jié)點的傳輸。
[0033]優(yōu)選地,下游節(jié)點是所述多播分發(fā)組的目的地節(jié)點并且所述偽造信令消息是IGMP離組消息。
[0034]優(yōu)選地,下游節(jié)點是網(wǎng)絡(luò)的屬于與數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)的另一路由器,并且所述偽造信令消息是PIM剪除消息。
[0035]優(yōu)選地,步驟c)包括:在從網(wǎng)絡(luò)的目的地節(jié)點接收到指示目的地節(jié)點想要接收數(shù)據(jù)流的事實的成員資格消息時,檢查成員資格禁止表是否包括與多播分發(fā)組和傳輸接口相關(guān)的一個或多個條目;并且如果是,則丟棄所述成員資格消息。
[0036]優(yōu)選地,成員資格消息是IGMP成員資格報告消息。
[0037]優(yōu)選地,步驟c)包括:在從網(wǎng)絡(luò)的屬于與數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)樹的另一路由器接收到加入消息時,檢查成員資格禁止表是否包括與多播分發(fā)組和傳輸接口相關(guān)的一個或多個條目,其中加入消息指示所述另一路由器想要接收所述數(shù)據(jù)流的事實;并且如果是,則基于所述一個或多個條目來修改所述加入消息,以便移除加入消息中與所述源節(jié)點和通過所述傳輸接口將數(shù)據(jù)流發(fā)送到多播分發(fā)組的任何其它源節(jié)點相關(guān)的部分。
[0038]優(yōu)選地,加入消息是P頂加入消息。
[0039]根據(jù)第二方面,本發(fā)明提供了一種包括計算機可執(zhí)行指令的計算機程序產(chǎn)品,所述計算機可執(zhí)行指令用于當程序在計算機上運行時執(zhí)行如以上所述方法的步驟。
[0040]根據(jù)第三方面,本發(fā)明提供一種用于支持多個多播數(shù)據(jù)流的傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)的路由器,該路由器包括:
[0041 ]-擁塞控制單元,被配置為:在所述路由器的傳輸接口處檢測到擁塞時,識別正在通過所述傳輸接口被轉(zhuǎn)發(fā)并且正在遭受丟包的多播數(shù)據(jù)流;以及
[0042]-多播擁塞管理器,被配置為:
[0043]-中斷所述數(shù)據(jù)流通過所述傳輸接口向路由器下游的傳輸,并且在所述數(shù)據(jù)流將只通過所述傳輸接口向路由器下游發(fā)送的情況下,向上游路由器發(fā)送請求以便中斷所述數(shù)據(jù)流從所述上游路由器到所述路由器的傳輸;以及
[0044]-禁止用于經(jīng)由所述傳輸接口轉(zhuǎn)發(fā)所述數(shù)據(jù)流的任何請求長達給定的時間段。
[0045]根據(jù)第四方面,本發(fā)明提供一種包括如上所述的路由器的通信網(wǎng)絡(luò)。
【附圖說明】
[0046]參考附圖閱讀以舉例而非限制的方式給出的以下詳細描述,本發(fā)明將變得更加清楚,其中:
[0047]-圖1示意性地示出了多播通信網(wǎng)絡(luò);
[0048]-圖2示意性地示出了根據(jù)本發(fā)明的優(yōu)選實施例的多播路由器的框圖;
[0049]-圖3示意性地示出了根據(jù)本發(fā)明的優(yōu)選實施例的多播擁塞管理器的框圖;
[0050]-圖4是示出了根據(jù)本發(fā)明實施例的用于管理多播路由器處的擁塞的方法的步驟的流程圖;以及
[0051]-圖5是示出了根據(jù)本發(fā)明實施例的用于管理多播路由器處的擁塞的方法的進一步的步驟的流程圖。
【具體實施方式】
[0052]圖1示意性地示出了通信網(wǎng)絡(luò)N。優(yōu)選地,通信網(wǎng)絡(luò)N是包交換通信網(wǎng)絡(luò),更優(yōu)選地,是IP通信網(wǎng)絡(luò)。優(yōu)選地,通信網(wǎng)絡(luò)N實現(xiàn)多播傳輸技術(shù)。
[0053]通信網(wǎng)絡(luò)N包括多個節(jié)點。特別地,通信網(wǎng)絡(luò)N包括兩個源節(jié)點S1、S2,三個目的地節(jié)點D1、D2、D3和在源節(jié)點S1、S2和目的地節(jié)點D1、D2、D3之間的八個中間節(jié)點R1-R8。通信網(wǎng)絡(luò)N的節(jié)點優(yōu)選地按照網(wǎng)狀拓撲結(jié)構(gòu)連接。
[0054]源節(jié)點SI,S2可以包括服務(wù)提供商的服務(wù)器,諸如例如視頻流提供商的服務(wù)器。目的地節(jié)點D1、D2、D3是客戶端或主機設(shè)備??蛻舳嘶蛑鳈C設(shè)備可以位于終端用戶房屋處并且可以是計算機、電視裝置、平板電腦、智能電話等。中間節(jié)點R1-R8優(yōu)選地是路由器,更優(yōu)選地是多播路由器。在下文中,中間節(jié)點R1-R8在不限制本發(fā)明的情況下將被稱為路由器。優(yōu)選地,每個目的地節(jié)點D1、D2、D3連接到相應的路由器R3、R4、R7。與目的地節(jié)點D1、D2、D3相鄰的路由器R3、R4、R7將被稱為“本地路由器”。其它路由器Rl、R2、R5、R6和R8將被稱為“遠程路由器”。另外,本地路由器R3、R4、R7和目的地節(jié)點D1、D2、D3之間的連接在下面將被稱為“最后一跳”。
[0055]優(yōu)選地,每個源節(jié)點S1、S2被配置為生成要朝目的地節(jié)點D1、D2、D3路由的數(shù)據(jù)流。優(yōu)選地,由每個源節(jié)點S1、S2生成的數(shù)據(jù)流是經(jīng)由路由器R1-R8朝多個目的地節(jié)點D1、D2、D3
引導的多播數(shù)據(jù)流。
[0056]多播分發(fā)組包括被配置為從源節(jié)點S1、S2接收相同數(shù)據(jù)流的目的地節(jié)點D1、D2、D3。多播分發(fā)樹包括通信網(wǎng)絡(luò)N內(nèi)數(shù)據(jù)流沿其從源節(jié)點S1、S2分發(fā)到多個目的地節(jié)點Dl、D2、D3的路徑。多播分發(fā)樹包括:生成數(shù)據(jù)流的源節(jié)點S1、S2,接收數(shù)據(jù)流的多個目的地節(jié)點D1、D2、D3,以及一個或多個路由器R1-R8,數(shù)據(jù)流通過所述一個或多個路由器R1-R8從源節(jié)點31、32被轉(zhuǎn)發(fā)到目的地節(jié)點01、02、03。
[0057]作為示例,圖1以虛線示出了用于將數(shù)據(jù)流DF從源節(jié)點SI分發(fā)到所有目的地節(jié)點01、02、03的多播分發(fā)樹01'。在圖1中示出的示例性多播分發(fā)樹01'包括四個路由器1?1、1?、1?4和R70
[0058]優(yōu)選地,通信網(wǎng)絡(luò)N的節(jié)點被配置為根據(jù)一個或多個通信協(xié)議和一個或多個路由協(xié)議來操作。特別地,優(yōu)選地,目的地節(jié)點Dl、D2、D3及其本地路由器R3、R4、R7之間的通信根據(jù)IGMP通信協(xié)議來操作。另外,優(yōu)選地,路由器R1-R8之間的路由根據(jù)P頂路由協(xié)議來操作。
[0059]圖2示出了根據(jù)本發(fā)明的優(yōu)選實施例的路由器R3。通信網(wǎng)絡(luò)N的其它路由器R1、R2、R4-R8具有類似的結(jié)構(gòu)。路由器R3屬于圖1中示出的多播分發(fā)樹DT。
[0060]路由器R3優(yōu)選地包括交換結(jié)構(gòu)SWT、轉(zhuǎn)發(fā)表FT、復制管理器RM、多播擁塞管理器MCM、擁塞控制單元CC和多個傳輸接口。圖2的路由器R3例如包括第一傳輸接口 IF1、第二傳輸接口 IF2和第三傳輸接口 IF3。路由器R3可以包括由于與本描述無關(guān)而未在圖2中示出的其它部件。
[0061 ] 應當注意到,網(wǎng)絡(luò)N內(nèi)的路由器的接口優(yōu)選地是雙向(輸入/輸出)接口。在多播通信網(wǎng)絡(luò)中,對于給定的數(shù)據(jù)流,一個接口充當該給定數(shù)據(jù)流的輸入接口并且一個或多個其它接口充當輸出接口。在以下描述中,為了簡單起見,路由器的輸入端示意性地與輸出端分離,并且上面提到的傳輸接口將被稱為路由器的輸出接口。
[0062]根據(jù)圖2中示出的方案,路由器R3優(yōu)選地具有數(shù)據(jù)輸入端DI和信令輸入端SI。數(shù)據(jù)輸入端DI是數(shù)據(jù)流通過其進入路由器R3的輸入端。圖2示例性地示出了三個數(shù)據(jù)輸入端DI。特別地,在圖2中,路由器R3的數(shù)據(jù)輸入端DI之一與沿多播分發(fā)樹DT從源節(jié)點SI分發(fā)到目的地節(jié)點D1、D2、D3的數(shù)據(jù)流DF相關(guān)聯(lián)。信令輸入端SI是信令消息Sm通過其從網(wǎng)絡(luò)N的其它節(jié)點進入路由器R3的輸入端。在圖2中,為簡單起見,信令輸入端SI由在多播分發(fā)樹DT內(nèi)連接路由器R3和在路由器R3下游的網(wǎng)絡(luò)節(jié)點(S卩,路由器R4和R7以及目的地節(jié)點Dl)的單線表不O
[0063]交換結(jié)構(gòu)SWT優(yōu)選地具有與路由器R3的數(shù)據(jù)輸入端DI對應的多個輸入(例如,在圖2中為三個)和來自轉(zhuǎn)發(fā)表FT的另一輸入端。交換結(jié)構(gòu)SWT優(yōu)選地具有連接到擁塞控制單元CC的多個輸出端(例如,在圖2中為三個)ο交換結(jié)構(gòu)SWT的每個輸出端連接到擁塞控制單元CC的相應輸入端。擁塞控制單元CC具有多個輸出端(例如,在圖2中為三個),每個輸出端連接到相應的傳輸接口 IFl、IF2、IF3。擁塞控制單元CC優(yōu)選地具有連接到多播擁塞管理器MCM的輸入段的另一輸出端。多播擁塞管理MCM具有連接到復制管理器RM的輸出端,復制管理器RM又連接到轉(zhuǎn)發(fā)表FT。如以上已經(jīng)描述的,轉(zhuǎn)發(fā)表FT具有連接到交換結(jié)構(gòu)SWT的輸出端。
[0064]多播擁塞管理器MCM還具有與路由器R3的信令輸入端SI對應的其它輸入端以及連接到可選外部控制系統(tǒng)EC的其它可選輸出端。
[0065]外部控制系統(tǒng)EC可以被集成在通信網(wǎng)絡(luò)N的節(jié)點之一中或者可以是獨立的設(shè)備。在這兩種情況下,它優(yōu)選地被配置為與通信網(wǎng)絡(luò)N的路由器R1-R8合作,以從路由器R1-R8接收與它們的操作有關(guān)的通知消息。外部控制系統(tǒng)EC還被配置為由網(wǎng)絡(luò)運營商來訪問,以監(jiān)視在路由器R1-R8之一處發(fā)生的擁塞事件、收集關(guān)于在其中被路由的數(shù)據(jù)流的信息以及跟蹤由路由器面對擁塞事件而執(zhí)行的操作。
[0066]在圖2的示例性路由器R3內(nèi),交換結(jié)構(gòu)SWT被配置為經(jīng)由數(shù)據(jù)輸入端DI從網(wǎng)絡(luò)N的其它節(jié)點接收數(shù)據(jù)流并且將每個數(shù)據(jù)流重定向到連接到相應傳輸接口 IFl、IF2、IF3的相應輸出端口。每個傳輸接口 IF1、IF2、IF3然后連接到各數(shù)據(jù)流將要被交付的相應的路由器或目的地節(jié)點。在圖1和2中示出的、其中數(shù)據(jù)流DF從源節(jié)點SI分發(fā)到目的地節(jié)點D1、D2和D3的示例性狀況下,第一傳輸接口 IFl連接到路由器R4、第二傳輸接口 IF2連接到路由器R7并且第三傳輸接口 IF3連接到目的地節(jié)點Dl。
[0067]轉(zhuǎn)發(fā)表FT優(yōu)選地被配置為包括路由表。特別地,對于由路由器R3處理的每個數(shù)據(jù)流,轉(zhuǎn)發(fā)表FT優(yōu)選地被配置為存儲指示數(shù)據(jù)流將通過其被路由器R3路由的(一個或多個)傳輸接口的轉(zhuǎn)發(fā)規(guī)則。轉(zhuǎn)發(fā)表FT優(yōu)選地被配置為與交換結(jié)構(gòu)SWT合作,使得基于包含在其中的轉(zhuǎn)發(fā)規(guī)則,交換結(jié)構(gòu)SWT可以操作所接收的每個數(shù)據(jù)流朝一個或多個傳輸接口 IFl、IF2、IF3的交換。
[0068]擁塞控制單元CC優(yōu)選地被配置為實現(xiàn)針對每個數(shù)據(jù)流的擁塞控制機制,諸如在以上引用的US 2010/0142524中描述的機制。另外,優(yōu)選地,擁塞控制單元CC被配置為向每個傳輸接口 IFl、IF2、IF3提供指示通過該接口被路由并且正在經(jīng)歷嚴重的(即,不可忽略的)丟包百分比的數(shù)據(jù)流的信息(如以上所提到的,這些數(shù)據(jù)流將被指示為“被不良地服務(wù)的數(shù)據(jù)流”)。為了做到這一點,擁塞控制單元CC優(yōu)選地被配置為針對每個傳輸接口 IF1、IF2、IF3測量經(jīng)過該接口的每個數(shù)據(jù)流的丟包,并且將每個數(shù)據(jù)流的丟包與閾值進行比較。如果丟包超過閾值,則數(shù)據(jù)流被識別為被不良地服務(wù)的數(shù)據(jù)流。閾值優(yōu)選地由網(wǎng)絡(luò)提供商在路由器R3上設(shè)置。閾值優(yōu)選地基于以下來選擇,例如基于由數(shù)據(jù)流攜帶的服務(wù)的類型(例如,語音、視頻、數(shù)據(jù)),以及對于每種類型的服務(wù),基于數(shù)據(jù)編碼(例如,對于視頻服務(wù)、高清晰度編碼、標準編碼等)。另外,如果數(shù)據(jù)流的丟包持續(xù)高于閾值長達給定的時間段,則該數(shù)據(jù)流優(yōu)選地被識別為被不良地服務(wù)的數(shù)據(jù)流,其中給定的時間段可以是例如幾秒鐘。
[0069]擁塞控制單元CC然后優(yōu)選地被配置為發(fā)出包括指示被不良地服務(wù)的流的信息的被不良地服務(wù)的流通知BSFn并且將它們發(fā)送到多播擁塞管理器MCM,如之后將更詳細描述的。
[0070]由擁塞控制單元CC發(fā)出的每個被不良地服務(wù)的流通知BSFn優(yōu)選地包括:
[0071]-指示被不良地服務(wù)的數(shù)據(jù)流的源的信息(例如,多播分發(fā)樹DT內(nèi)的源節(jié)點SI的IP地址);
[0072]-指示相關(guān)聯(lián)的多播分發(fā)組的信息(例如,多播分發(fā)組的IP多播地址);以及
[0073]-指示被不良地服務(wù)的數(shù)據(jù)流要通過其被路由的且正在經(jīng)歷擁塞事件的傳輸接口IF1、IF2、IF3 的信息。
[0074]其它信息可以被包括在被不良地服務(wù)的流通知BSFn內(nèi),諸如與數(shù)據(jù)流相關(guān)聯(lián)的服務(wù)種類和/或指示發(fā)生擁塞事件的時間的時間戳。
[0075]復制管理器RM優(yōu)選地被配置為基于信令消息Sm來確定、更新或修改轉(zhuǎn)發(fā)表FT內(nèi)包含的轉(zhuǎn)發(fā)規(guī)則,其中信令消息Sm經(jīng)由信令輸入端SI從網(wǎng)絡(luò)N的其它節(jié)點被接收并且被多播擁塞管理器MCM處理。多播擁塞管理器MCM優(yōu)選地被配置為接收和處理這些信令消息,并且將它們或其修改版本轉(zhuǎn)發(fā)到復制管理器RM,如在下文中將解釋的。另外,多播擁塞管理器MCM優(yōu)選地還被配置為生成偽造信令消息FSm并且將它們發(fā)送到復制管理器RM,如在下文中將解釋的。
[0076]在圖2中示出的路由器R3的部件可以被實現(xiàn)為硬件部件、軟件程序或運行專用軟件程序的硬件部件。
[0077]圖3示意性地示出了根據(jù)本發(fā)明的優(yōu)選實施例的多播擁塞管理器MCM。多播擁塞管理器MCM優(yōu)選地包括通知管理器NM、多播信令管理器MSM、成員資格禁止表MIT和規(guī)則到期管理器REM。多播擁塞管理器MCM可以包括由于與本發(fā)明無關(guān)而未在圖3中示出的其它部件。多播擁塞管理器MCM優(yōu)選地具有兩個輸入端(一個是信令輸入端SI,另一個連接到擁塞控制單元CC)和兩個輸出端(第一輸出端連接到RM,第二輸出端連接到外部控制系統(tǒng)EC)。通知管理器匪具有與多播擁塞管理器MCM的連接到擁塞控制單元CC的輸入端對應的輸入端、以及與多播擁塞管理器MCM的兩個輸出端對應的兩個輸出端。多播擁塞管理器MCM的信令輸入端SI連接到多播信令管理器MSM的輸入端,多播信令管理器MSM的輸出端連接到多播擁塞管理器MCM的第一輸出端。通知管理器匪和多播信令管理器MSM這兩者還連接到成員資格禁止表MIT,成員資格禁止表MIT又連接到規(guī)則到期管理器REM。通知管理器匪、多播信令管理器MSM和規(guī)則到期管理器REM優(yōu)選地被配置為從成員資格禁止表MIT讀取信息和/或向成員資格禁止表MIT寫入信息,如在下文中將更詳細地描述的。
[0078]通知管理器匪優(yōu)選地被配置為從擁塞控制單元CC接收被不良地服務(wù)的流通知BSFn,其中被不良地服務(wù)的流通知BSFn包括指示被不良地服務(wù)的數(shù)據(jù)流的信息?;谒邮盏降谋徊涣嫉胤?wù)的流通知BSFn,通知管理器NM優(yōu)選地被配置為針對每個數(shù)據(jù)流將所包含的信息寫入/更新到成員資格禁止表MIT中。特別地,對于每個被不良地服務(wù)的數(shù)據(jù)流通知BSFn,通知管理器NM優(yōu)選地寫入/更新成員禁止表MIT的包括被不良地服務(wù)的流通知BSFn中所包含的信息的相應條目,即:
[0079]-指示被不良地服務(wù)的數(shù)據(jù)流的源的信息(例如,多播分發(fā)樹DT內(nèi)的源節(jié)點SI的IP地址);
[0080]-指示相關(guān)聯(lián)的多播分發(fā)組的信息(例如,多播分發(fā)組的IP多播地址);以及
[0081]-指示被不良地服務(wù)的數(shù)據(jù)流將通過其被路由且經(jīng)歷擁塞事件的傳輸接口IF1、IF2、IF3的信息。
[0082]在本說明書和附圖中,與經(jīng)歷擁塞事件的給定數(shù)據(jù)流相關(guān)聯(lián)的條目還將利用元組<S,G,IF>來指示,其中S—般性地指示源節(jié)點,G—般性地指示多播分發(fā)組并且IF—般性地指示傳輸接口。特別地,符號〈*,G,IF>將指示與多播分發(fā)組G和傳輸接口 IF相關(guān)的所有條目,即,與由任何源節(jié)點生成的并且經(jīng)由傳輸接口 IF分發(fā)到屬于組G的目的地節(jié)點的數(shù)據(jù)流相關(guān)的所有條目。
[0083]因此,成員關(guān)系禁止表MIT的每個條目與經(jīng)歷擁塞事件的數(shù)據(jù)流相關(guān)聯(lián)。如在下文中將解釋的,根據(jù)本發(fā)明,每當網(wǎng)絡(luò)N的目的地設(shè)備請求加入或重新加入給定的多播分發(fā)組時,就檢查成員資格禁止表MIT,以禁止用于轉(zhuǎn)發(fā)被不良地服務(wù)的數(shù)據(jù)流的任何請求。
[0084]此外,成員資格禁止表MIT的每個條目優(yōu)選地還包括到期時間。與成員資格禁止表MIT的每個條目相關(guān)聯(lián)的到期時間優(yōu)選地指示成員資格禁止表MIT中的條目被規(guī)則到期管理器REM移除的時間。它優(yōu)選地被計算為條目被寫入或更新到成員資格禁止表MIT中的時間加上確定條目進入到成員資格禁止表MIT中的生命周期的固定的生存時間TTL。生存時間可以是例如180秒,并且優(yōu)選地由網(wǎng)絡(luò)運營商預先確定。優(yōu)選地,每當通知管理器接收到與和每個條目相關(guān)聯(lián)的數(shù)據(jù)流有關(guān)的被不良地服務(wù)的流通知時,與該條目相關(guān)聯(lián)的到期時間被刷新。因此,如果在基本上等于生存時間TTL的時間段內(nèi)條目沒有被刷新,即通知管理器NM沒有接收到與這個條目有關(guān)的任何被不良地服務(wù)的流通知,則這個條目優(yōu)選地被移除。
[0085]規(guī)則到期管理器REM優(yōu)選地被配置為周期性地檢查成員資格禁止表MIT的條目,并且刪除其到期時間到期的條目,如在下文中將更詳細地描述的。
[0086]多播信令管理器MSM優(yōu)選地被配置為處理由路由器R3經(jīng)由信令輸入端SI接收到的信令消息Sm和/或生成偽造信令消息FSm,如在下文中將描述的。
[0087]下面將參考圖4和5的流程圖來描述多播配置管理器MCM的操作,特別是多播信令管理器MSM的操作。
[0088]圖4的流程圖示出了多播控制管理器MCM在從擁塞控制單元CC接收到被不良地服務(wù)的流通知BSFn時的操作。
[0089]在步驟400,多播擁塞管理器MCM(特別地,通知管理器匪)優(yōu)選地從擁塞控制單元CC接收被不良地服務(wù)的流通知BSFn。如上所述,被不良地服務(wù)的流通知BSFn優(yōu)選地包括關(guān)于被不良地服務(wù)的數(shù)據(jù)流的源S的信息、關(guān)于接收被不良地服務(wù)的數(shù)據(jù)流的多播分發(fā)組G的信息以及關(guān)于擁塞的傳輸接口 IF的信息。在步驟401,通知管理器NM優(yōu)選地檢查傳輸接口 IF是否是路由器R3的最后一跳傳輸接口,S卩,傳輸接口 IF是否連接到目的地節(jié)點。例如,在圖2的示例性路由器R3中,第三傳輸接口 IF3是最后一跳接口,因為它連接到目的地節(jié)點Dl。
[0090]然后,在任何情況下,通知管理器匪優(yōu)選地發(fā)出模擬經(jīng)由傳輸接口IF從下游節(jié)點接收到的信令消息的偽造信令消息FSm,用于請求中斷被不良地服務(wù)的數(shù)據(jù)流從擁塞的路由器到下游節(jié)點的傳輸。
[0091 ]特別地,如果擁塞的傳輸接口 IF是最后一跳接口(例如,圖2中的接口 IF3),則通知管理器NM優(yōu)選地發(fā)出模擬路由器R3將經(jīng)由傳輸接口 IF從多播分發(fā)組G的目的地節(jié)點(例如,圖2中節(jié)點Dl)接收的信令消息的偽造信令消息FSm,用于請求中斷被不良地服務(wù)的數(shù)據(jù)流的分發(fā)。這種消息根據(jù)用于在路由器R3和經(jīng)由傳輸接口 IF連接到路由器R3的目的地節(jié)點之間通信的通信協(xié)議發(fā)出。根據(jù)本發(fā)明的優(yōu)選實施例,通信協(xié)議是IGMP協(xié)議并且通知管理器匪發(fā)出包括與被不良地服務(wù)的數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)組G的IP多播組地址的IGMP離組消息,如在圖4中示出的(步驟402a)。
[0092]根據(jù)在通信網(wǎng)絡(luò)N中實現(xiàn)的路由協(xié)議,如果擁塞的傳輸接口IF不是最后一跳接口(例如,圖2中的傳輸接口 IFl或IF2),則優(yōu)選地,通知管理器發(fā)出模擬路由器R3將經(jīng)由傳輸接口 IF從下游的路由器(例如,圖2中的路由器R4或R7)接收的信令消息的偽造信令消息FSm,用于請求不接收被不良地服務(wù)的數(shù)據(jù)流,S卩,用于離開與被不良地服務(wù)的數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)樹。根據(jù)本發(fā)明的優(yōu)選實施例,路由協(xié)議是PM協(xié)議并且通知管理器NM發(fā)出包括源節(jié)點S的IP地址和與被不良地服務(wù)的數(shù)據(jù)流相關(guān)聯(lián)的IP多播組地址的P頂剪除消息(圖4的步驟402b)。
[0093]在步驟403,通知管理器NM優(yōu)選地將在步驟402a或402b發(fā)出的偽造信令消息FSm發(fā)送復制管理器RM,復制管理器RM相應地將與被不良地服務(wù)的數(shù)據(jù)流相關(guān)的轉(zhuǎn)發(fā)規(guī)則修改到轉(zhuǎn)發(fā)表FT中,使得中斷通過擁塞的傳輸接口向下游轉(zhuǎn)發(fā)被不良地服務(wù)的數(shù)據(jù)流。
[0094]在步驟402b發(fā)出信令消息不僅會導致中斷被不良地服務(wù)的數(shù)據(jù)流向下游的分發(fā),而且會導致釋放多播分發(fā)樹中從源節(jié)點直到擁塞的路由器的傳輸資源。實際上,如果在擁塞的路由器處被識別為“被不良地服務(wù)的”數(shù)據(jù)流只通過擁塞的傳輸接口而不通過同一路由器的其它傳輸接口向下游分發(fā),則根據(jù)由多播路由協(xié)議(例如,PIM路由協(xié)議)提供的標準過程,復制管理器RM優(yōu)選地處理偽造信令消息FSm,使得用于不接收被不良地服務(wù)的數(shù)據(jù)流的請求從擁塞的路由器轉(zhuǎn)發(fā)到上游的路由器,并且上游的路由器將中斷把數(shù)據(jù)流轉(zhuǎn)發(fā)到擁塞的路由器。這種操作可以沿著與被不良地服務(wù)的數(shù)據(jù)流相關(guān)聯(lián)的多播分發(fā)樹由每個中間路由器向上游傳播,并且它會導致多播分發(fā)樹的直到源節(jié)點的部分釋放或完全釋放,從而避免了傳輸資源的浪費。
[0095]特別地,根據(jù)PIM路由協(xié)議,如果數(shù)據(jù)流只通過擁塞的接口向下游轉(zhuǎn)發(fā),則擁塞的路由器向上游發(fā)送PM剪除消息。在接收到該PM剪除消息時,上游的路由器中斷將數(shù)據(jù)流轉(zhuǎn)發(fā)到擁塞的路由器。然后,上游的路由器又可以發(fā)出P頂剪除消息(在上游的路由器只通過它從其接收P頂剪除消息的接口轉(zhuǎn)發(fā)數(shù)據(jù)流的情況下)并且將該PM剪除消息向上發(fā)送,使得這個機制可以被傳播。
[0096]在步驟404,優(yōu)選地,通知管理器在成員資格禁止表MIT中添加條目<S,G,IF>并且添加該條目的到期時間。如果條目<S,G,IF>已經(jīng)存在于成員資格禁止表MIT中,則通知管理器NM在步驟404更新與這個條目相關(guān)聯(lián)的到期時間,并且將到期時間的值設(shè)置為當前時間加上生存時間TTL。因此,每當針對給定的被不良地服務(wù)的數(shù)據(jù)流接收到被不良地服務(wù)的流通知BSFn時,與對應的條目相關(guān)聯(lián)的到期時間就如以上所描述地被更新。
[0097]以這種方式,有利地,成員資格禁止表MIT被不斷地用當前正被路由器R3處理的被不良地服務(wù)的數(shù)據(jù)流的精確且及時的指示來更新。
[0098]可選地,當條目被添加到成員資格禁止表MIT時,通知管理器匪可以將對應的通知轉(zhuǎn)發(fā)到外部控制系統(tǒng)EC。該通知也可以包括諸如指示被不良地服務(wù)的數(shù)據(jù)流的服務(wù)種類的信息之類的其它信息。
[0099]圖5的流程圖示出了多播控制管理器MCM在從連接到網(wǎng)絡(luò)N的相鄰節(jié)點的信令輸入端SI接收到信令消息Sm時的操作。
[0100]在步驟500,多播控制管理器MCM(特別地,多播信令管理器MSM)優(yōu)選地經(jīng)由信令輸入端SI接收信令消息Sm。然后,多播信令管理器MSM優(yōu)選地檢查信令消息Sm是否是指示目的地節(jié)點想要接收給定數(shù)據(jù)流的事實的信令消息。這種消息可以在如下時候被接收:已根據(jù)上述過程中斷給定數(shù)據(jù)流的分發(fā),并且曾屬于給定數(shù)據(jù)流的多播分發(fā)組的目的地節(jié)點再次請求接收該給定數(shù)據(jù)流,或者換句話說,請求重新加入多播分發(fā)組。這種消息也可以在目的地節(jié)點第一次請求加入多播分發(fā)組時被接收。如果路由器R3充當本地路由器,則這種信令消息可以由目的地節(jié)點根據(jù)在目的地節(jié)點及其本地路由器之間實現(xiàn)的通信協(xié)議來生成,并且在下面被指示為“成員資格消息”(例如,IGMP成員資格報告消息)。如果路由器R3充當遠程路由器,則這種消息可以由下游的路由器根據(jù)在網(wǎng)絡(luò)N內(nèi)實現(xiàn)的路由協(xié)議來生成(這種下游的路由器希望接收數(shù)據(jù)流以便將它轉(zhuǎn)發(fā)到目的地節(jié)點),并且在下面被指示為“加入信息”(例如,P頂加入消息)。
[0101]如果所接收到的信令消息Sm不是指示目的地節(jié)點想要接收給定數(shù)據(jù)流的事實的信令消息(步驟500a),則優(yōu)選地,多播信令管理器MSM將該信令消息無任何修改地轉(zhuǎn)發(fā)到復制管理器RM(步驟501)。
[0102]如果所接收到的信令消息Sm是來自目的地節(jié)點的諸如IGMP成員資格報告消息之類的成員資格消息(在圖3中由附圖標記“Mm”指示)(步驟500b),則它優(yōu)選地包括指示數(shù)據(jù)流被分發(fā)到的多播分發(fā)組的信息G、以及指示路由器R3的在路由器R3處已通過其接收到成員資格消息的傳輸接口的信息IF。多播信令管理器MSM優(yōu)選地檢查成員資格禁止表MIT是否包括包含元組〈*,G,IF>的一個或多個條目(步驟502)。如果是,則多播信令管理器MSM優(yōu)選地丟棄該成員資格消息(步驟503)。如果否,則多播信令管理器MSM優(yōu)選地將該成員資格消息無任何修改地發(fā)送到復制管理器RM(步驟501)。
[0103]以這種方式,根據(jù)本發(fā)明,在<S,G,IF>元組在成員資格禁止表MIT中的有效時間內(nèi),與受擁塞事件影響的數(shù)據(jù)流相關(guān)的成員資格消息不被轉(zhuǎn)發(fā)到復制管理器RM并且它們向擁塞的路由器R3的下游的分發(fā)被禁止。
[0104]如果所接收到的信令消息是來自下游路由器的諸如PIM加入消息之類的加入消息(在圖3中由附圖標記“Jm”指示)(步驟500c),則它優(yōu)選地包含NG個多播分發(fā)組G(i),i =
1、-"、NG,其中NG是等于或大于I的整數(shù),并且對于每個多播分發(fā)組G(i),信息S指示被分發(fā)到多播分發(fā)組G(i)的數(shù)據(jù)流的源節(jié)點,信息G(i)指示多播分發(fā)組,并且信息IF指示由路由器R3通過其接收到該加入消息的傳輸接口。優(yōu)選地,對于每個多播分發(fā)組G( i ),多播信令管理器MSM檢查成員資格禁止表MIT是否包括包含元組<*,G(i),IF>的一個或多個條目(步驟504)。
[0105]如果所有的檢查都為否(S卩,對于每個多播分發(fā)組G(i),成員資格禁止表MIT都不包括包含元組〈*,G(i),IF>的任何條目;在圖5的流程圖中i =NG),則多播信令管理器MSM優(yōu)選地將加入消息無任何修改地發(fā)送到復制管理器RM(步驟507)。
[0106]另一方面,如果對于多播分發(fā)組G(i),成員資格禁止表MIT包括包含元組<*,G(i),IF>的一個或多個條目,則多播信令管理器MSM優(yōu)選地從成員資格禁止表MIT中檢索用于多播分發(fā)組G( i)和傳輸接口 IF的所有源節(jié)點的列表(S卩,通過傳輸接口 IF將數(shù)據(jù)流發(fā)送到多播分發(fā)組G(i)的目的地節(jié)點的所有源節(jié)點),并且將這些源節(jié)點存儲在禁止的源IS(i)的臨時列表中(步驟505)。然后,多播信令管理器MSM優(yōu)選地修改加入消息的與多播分發(fā)組G(i)相關(guān)的部分,以便排除在禁止的源IS (i)的臨時列表內(nèi)所包含的源節(jié)點(步驟506)。
[0107]一旦加入消息的所有多播分發(fā)組G(i)都已被考慮(在圖5的流程圖中i = NG),多播信令管理器MSM就優(yōu)選地發(fā)出經(jīng)修改的加入消息(在圖3由附圖標記“MJm”指示)。根據(jù)本發(fā)明的經(jīng)修改的加入消息只包括加入消息的與沒有經(jīng)歷任何擁塞事件的數(shù)據(jù)流相關(guān)的部分。然后,多播信令管理器MSM優(yōu)選地將經(jīng)修改的加入消息發(fā)送到復制管理器RM(步驟507)。因此,根據(jù)本發(fā)明,加入消息的與在傳輸接口 IF處經(jīng)歷擁塞的數(shù)據(jù)流相關(guān)的部分不被轉(zhuǎn)發(fā)到復制管理器RM。
[0108]復制管理器RM然后優(yōu)選地根據(jù)在路由器和目的地節(jié)點之間實現(xiàn)的通信協(xié)議(例如,IGMP協(xié)議)來處理從多播信令管理器MSM接收到的成員資格消息,并且寫入/修改轉(zhuǎn)發(fā)表FT,使得發(fā)送成員資格消息的目的地節(jié)點能夠接收所請求的數(shù)據(jù)流。復制管理器RM還優(yōu)選地根據(jù)由路由器實現(xiàn)的路由協(xié)議(例如,PM協(xié)議)來處理從多播信令管理器MSM接收到的加入消息和經(jīng)修改的加入消息。特別地,根據(jù)PM協(xié)議,路由器R3向上游發(fā)送每個PHdJP入消息和經(jīng)修改的PM加入消息,以便操作每個路由器將數(shù)據(jù)從源節(jié)點轉(zhuǎn)發(fā)到如在消息中指示的多播分發(fā)組。
[0109]優(yōu)選地,周期性地,規(guī)則到期管理器REM掃描多播禁止表MIT,以便檢查與每個條目相關(guān)聯(lián)的到期時間是否到期。在與條目相關(guān)聯(lián)的到期時間到期的情況下(即,通知管理器NM在與固定的生存時間TTL對應的時間段內(nèi)沒有接收到與該條目相關(guān)的任何被不良地服務(wù)的流通知),該條目從多播禁止表MIT中被移除。
[0110]以這種方式,可能被多播信令管理器MSM接收到的且與刪除的條目有關(guān)的成員資格消息和加入消息將無任何修改地轉(zhuǎn)發(fā)到復制管理器RM,并且將根據(jù)對應的協(xié)議(分別地,例如IGMP協(xié)議和P頂協(xié)議)被處理。
[0111]本發(fā)明的方法允許以高效的方式管理多播路由器處的擁塞。實際上,本發(fā)明的方法不需要任何來自主機的干預。實際上,本發(fā)明提供了用于在經(jīng)歷擁塞的路由器處偽造用于中斷擁塞的數(shù)據(jù)流的分發(fā)的離開/剪除信令消息,就好像它們是從多播分發(fā)樹中在擁塞的路由器下游的節(jié)點接收到的一樣。這些偽造的離開/剪除消息與標準協(xié)議(例如,IGMP協(xié)議和PM協(xié)議)完全兼容。這不需要對數(shù)據(jù)流要被分發(fā)到的主機進行任何定制,并且因此它可以無任何修改地應用于市售客戶端設(shè)備。
[0112]此外,有利地,本發(fā)明的方法直接對經(jīng)歷擁塞事件的路由器進行操作,并且不需要擁塞的數(shù)據(jù)流的消息在被處理之前一直被轉(zhuǎn)發(fā)到目的地節(jié)點。這有利地允許非??焖俚貙砣录龀龇磻?,從而使丟包最小化。
[0113]最后,本發(fā)明的方法原則上不需要在多播通信網(wǎng)絡(luò)的每個路由器處實現(xiàn)。例如,它可以被高效地只應用于較可能發(fā)生擁塞事件的一些路由器處。實際上,如上面已經(jīng)描述的,本發(fā)明的機制有利地以與用于多播通信網(wǎng)絡(luò)的標準協(xié)議(例如,IGMP協(xié)議和PIM協(xié)議)完全兼容的方式實現(xiàn),使得即使路由器沒有被配置為實現(xiàn)本發(fā)明的方法,它也可以接收和處理由根據(jù)本發(fā)明的路由器生成/修改的消息,并且與其合作來管理擁塞。
【主權(quán)項】
1.一種用于管理通信網(wǎng)絡(luò)(N)中的擁塞的方法,所述網(wǎng)絡(luò)(N)支持多個多播數(shù)據(jù)流的傳輸,所述方法包括,當在所述網(wǎng)絡(luò)(N)的路由器(R3)的傳輸接口(IF、IFl、IF2、IF3)處檢測到擁塞時: a)識別正在通過所述傳輸接口(IF、IFl、IF2、IF3)被轉(zhuǎn)發(fā)并且正在遭受丟包的多播數(shù)據(jù)流(DF); b)中斷所述數(shù)據(jù)流(DF)通過所述傳輸接口(IF、IFl、IF2、IF3)向路由器(R3)下游的傳輸,并且在所述數(shù)據(jù)流(DF)將只通過所述傳輸接口(IF、IFl、IF2、IF3)向路由器(R3)下游傳輸?shù)那闆r下,向上游路由器發(fā)送請求以便中斷所述數(shù)據(jù)流(DF)從所述上游路由器到所述路由器(R3)的傳輸;以及 c)禁止經(jīng)由所述傳輸接口(IF、IFl、IF2、IF3)轉(zhuǎn)發(fā)所述數(shù)據(jù)流(DF)的任何請求長達給定的時間段。2.如權(quán)利要求1所述的方法,其中所述識別包括測量所述數(shù)據(jù)流(DF)的丟包。3.如權(quán)利要求1或2所述的方法,其中所述識別包括發(fā)出包含與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)的信息的被不良地服務(wù)的流通知,所述信息指示: -所述數(shù)據(jù)流(DF)的源節(jié)點(S); -與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)的多播分發(fā)組(G,G(i));以及 -所述傳輸接口(IF)。4.如權(quán)利要求3所述的方法,還包括處理所述被不良地服務(wù)的流通知和使用所述被不良地服務(wù)的流通知中所包含的信息來寫入/更新成員資格禁止表(MIT)中的條目,所述條目與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)并且包含指示所述數(shù)據(jù)流(DF)的源節(jié)點(S)的所述信息、與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)的多播分發(fā)組(G,G(i))以及所述傳輸接口(IF)。5.如權(quán)利要求4所述的方法,其中所述條目還包括指示所述條目將從所述成員資格禁止表(MIT)中被移除的時間的到期時間,所述到期時間在將所述被不良地服務(wù)的流通知的信息寫入/更新到成員資格禁止表(MIT)中時開始。6.如權(quán)利要求3至5中任何一項所述的方法,其中所述步驟b)包括發(fā)出偽造信令消息(FSm)以便請求中斷所述數(shù)據(jù)流(DF)從所述路由器(R3)到下游節(jié)點的傳輸,其中所述偽造信令消息(FSm)模擬所述路由器(R3)將經(jīng)由所述傳輸接口(IF)從所述網(wǎng)絡(luò)(N)的在所述路由器(R3)下游的節(jié)點接收的信令消息。7.如權(quán)利要求6所述的方法,其中所述下游節(jié)點是所述多播分發(fā)組(G)的目的地節(jié)點并且所述偽造信令消息(FSm)是IGMP離組消息。8.如權(quán)利要求6所述的方法,其中所述下游節(jié)點是網(wǎng)絡(luò)(N)的屬于與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)的多播分發(fā)樹(DT)的另一路由器,并且所述偽造信令消息(FSm)是P頂剪除消息。9.如權(quán)利要求3至5中任何一項所述的方法,其中所述步驟c)包括:在從網(wǎng)絡(luò)(N)的目的地節(jié)點接收到指示所述目的地節(jié)點想要接收所述數(shù)據(jù)流(DF)的事實的成員資格消息(Mm)時,檢查成員資格禁止表(MIT)是否包括與所述多播分發(fā)組(G)和所述傳輸接口(IF)相關(guān)的一個或多個條目;并且如果是,則丟棄所述成員資格消息(Mm)。10.如權(quán)利要求9所述的方法,其中所述成員資格消息是IGMP成員資格報告消息。11.如權(quán)利要求3至5中任何一項所述的方法,其中所述步驟c)包括:在從網(wǎng)絡(luò)(N)的屬于與所述數(shù)據(jù)流(DF)相關(guān)聯(lián)的多播分發(fā)樹(DT)的另一路由器接收到加入消息(Jm)時,檢查成員資格禁止表(MIT)是否包括與所述多播分發(fā)組(G(i))和所述傳輸接口(IF)相關(guān)的一個或多個條目,其中所述加入消息(Jm)指示所述另一路由器想要接收所述數(shù)據(jù)流(DF)的事實;并且如果是,則基于所述一個或多個條目來修改所述加入消息(Jm),以便移除所述加入消息(Jm)中與所述源節(jié)點(S)和通過所述傳輸接口(IF)將所述數(shù)據(jù)流(DF)傳輸?shù)剿龆嗖シ职l(fā)組(G(i))的任何其它源節(jié)點相關(guān)的部分。12.如權(quán)利要求11所述的方法,其中所述加入消息是PIM加入消息。13.—種包括計算機可執(zhí)行指令的計算機程序產(chǎn)品,所述計算機可執(zhí)行指令用于當程序在計算機上運行時執(zhí)行如以上權(quán)利要求中任何一項所述的方法的步驟。14.一種用于支持多個多播數(shù)據(jù)流的傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)(N)的路由器(R3),所述路由器(R3)包括: -擁塞控制單元(CC),被配置為:在所述路由器(R3)的傳輸接口(IFl、IF2、IF3)處檢測到擁塞時,識別正在通過所述傳輸接口(IFl、IF2、IF3)被轉(zhuǎn)發(fā)并且正在遭受丟包的多播數(shù)據(jù)流(DF);以及 -多播擁塞管理器(MCM),被配置為: -中斷所述數(shù)據(jù)流(DF)通過所述傳輸接口(IF1、IF2、IF3)向路由器(R3)下游的傳輸,并且在所述數(shù)據(jù)流(DF)將只通過所述傳輸接口(IF1、IF2、IF3)向路由器(R3)下游傳輸?shù)那闆r下,向上游路由器發(fā)送請求以便中斷所述數(shù)據(jù)流(DF)從所述上游路由器到所述路由器(R3)的傳輸;以及 -禁止經(jīng)由所述傳輸接口(IFl、IF2、IF3)轉(zhuǎn)發(fā)所述數(shù)據(jù)流的任何請求長達給定的時間段。15.—種包括如權(quán)利要求14所述的路由器(R3)的通信網(wǎng)絡(luò)(N)。
【文檔編號】H04L12/721GK105850083SQ201380081888
【公開日】2016年8月10日
【申請日】2013年12月31日
【發(fā)明人】A·加羅法洛, E·M·瑪菲奧內(nèi)
【申請人】意大利電信股份公司