專(zhuān)利名稱(chēng):一種組播頻道控制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,具體地講本發(fā)明涉及到一種組播頻道控制方法及裝置。
背景技術(shù):
目前隨著IP視頻(IP TeleVison,IPTV)業(yè)務(wù)在我國(guó)的蓬勃發(fā)展,越來(lái)越多的寬帶接入網(wǎng)絡(luò)支持了互聯(lián)網(wǎng)組管理協(xié)議(Internet Group ManagementProtocol,IGMP)和以IGMP協(xié)議為基礎(chǔ)的組播業(yè)務(wù)。組播相對(duì)于單播來(lái)說(shuō),可以有效的利用網(wǎng)絡(luò)帶寬,減少網(wǎng)絡(luò)流量,提高數(shù)據(jù)傳輸?shù)男省D壳?,組播技術(shù)成為許多網(wǎng)絡(luò)應(yīng)用的關(guān)鍵支撐技術(shù),例如網(wǎng)絡(luò)多媒體會(huì)議、遠(yuǎn)程教育、IPTV、網(wǎng)上實(shí)時(shí)轉(zhuǎn)播、網(wǎng)絡(luò)數(shù)據(jù)發(fā)布、分布式協(xié)同工作等。然而,在IPTV應(yīng)用中如何更好的實(shí)現(xiàn)對(duì)于用戶(hù)的點(diǎn)播節(jié)目的可控性,保證用戶(hù)視頻流的質(zhì)量的同時(shí)還要實(shí)現(xiàn)節(jié)約帶寬,一直是IPTV發(fā)展面臨的一個(gè)問(wèn)題。
現(xiàn)有技術(shù)主要采用了兩種技術(shù)方案來(lái)實(shí)現(xiàn)IPTV業(yè)務(wù)中點(diǎn)播節(jié)目的可控性一種是傳統(tǒng)的IGMP技術(shù)方案,另外一種是IGMP技術(shù)方案基礎(chǔ)上增加組播頻道快速離開(kāi)功能的快速離開(kāi)方案。
圖1是IPTV業(yè)務(wù)組網(wǎng)示意圖。圖中,組播路由器與IPTV網(wǎng)絡(luò)相連,組播用戶(hù)通過(guò)組播代理接入,然后與組播路由器相連。對(duì)于組播用戶(hù)來(lái)講,組播代理設(shè)備實(shí)現(xiàn)組播路由器的功能,即通過(guò)接收組播用戶(hù)的加入、離開(kāi)請(qǐng)求,周期性下發(fā)查詢(xún)報(bào)文,維護(hù)組播組成員關(guān)系;對(duì)于組播路由器來(lái)講,組播代理設(shè)備則是一個(gè)組播主機(jī),通過(guò)發(fā)送加入或離開(kāi)請(qǐng)求獲取或取消多播路由器上某個(gè)組播組的服務(wù)。組播用戶(hù)與組播代理、組播代理與組播路由器之間通過(guò)IGMP協(xié)議互相通信。
IGMP協(xié)議規(guī)定,當(dāng)組播路由器接收到端口下組播用戶(hù)的離開(kāi)報(bào)文后,需要發(fā)送特定組查詢(xún)報(bào)文,等待該組播組下可能存在的其他用戶(hù)的回應(yīng),以確定此端口所連接的網(wǎng)絡(luò)中是否還有其他組播用戶(hù)在這個(gè)組中,當(dāng)確認(rèn)沒(méi)有其他用戶(hù)在這個(gè)組播組后,才能將這個(gè)端口從該組播組的表項(xiàng)中刪除,從而保證了一個(gè)用戶(hù)的離開(kāi)不會(huì)干擾可能跟該用戶(hù)同屬于一個(gè)組播組的其他用戶(hù)。
但是上述的組播特定組查詢(xún)報(bào)文過(guò)程所產(chǎn)生的延時(shí)在實(shí)際的IPTV業(yè)務(wù)應(yīng)用中帶來(lái)了問(wèn)題。在由組播技術(shù)提供的IPTV業(yè)務(wù)中,用戶(hù)的頻道切換操作包括發(fā)送原頻道的IGMP離開(kāi)報(bào)文,發(fā)送新頻道的IGMP加入報(bào)文。當(dāng)組播接入設(shè)備接收到IGMP離開(kāi)報(bào)文后,不會(huì)立刻將原有視頻流中斷,而是要發(fā)送IGMP特定組查詢(xún)報(bào)文后,等待用戶(hù)是否回應(yīng)IGMP加入報(bào)文后,再?zèng)Q定是否中斷視頻流。在組播接入設(shè)備等待響應(yīng)報(bào)文的期間內(nèi),就不能及時(shí)的將原有的頻道刪除,造成新舊視頻流同時(shí)下發(fā),浪費(fèi)大量的帶寬。例如,當(dāng)用戶(hù)快速依次瀏覽多個(gè)頻道,從頻道1到頻道10,這樣就會(huì)在一段時(shí)間內(nèi)有10個(gè)頻道的視頻流同時(shí)發(fā)送到組播接入設(shè)備的一個(gè)組播業(yè)務(wù)端口上,可能大大超過(guò)該業(yè)務(wù)端口的下行帶寬,造成報(bào)文丟失、延遲,用戶(hù)的視頻節(jié)目質(zhì)量急劇下降,甚至無(wú)法觀看。
為了解決上述問(wèn)題,現(xiàn)有技術(shù)又采用了一種能夠迅速中斷離開(kāi)組播用戶(hù)的視頻流的組播用戶(hù)快速離開(kāi)方案。此方案仍然基于IGMP協(xié)議。如圖2所示,在上述的IPTV業(yè)務(wù)應(yīng)用中,在一個(gè)用戶(hù)切換頻道時(shí),當(dāng)端口收到原頻道的IGMP離開(kāi)報(bào)文后,組播接入設(shè)備立刻將該端口從所離開(kāi)的組播組的表項(xiàng)中刪除,停止轉(zhuǎn)發(fā)原頻道的視頻流,避免出現(xiàn)新舊兩個(gè)頻道同時(shí)下發(fā),從而實(shí)現(xiàn)任意時(shí)刻該端口只能轉(zhuǎn)發(fā)一個(gè)頻道的節(jié)目,節(jié)約設(shè)備帶寬。
但是,上述的快速離開(kāi)方案只適用于組播接入設(shè)備的一個(gè)業(yè)務(wù)端口下只有一個(gè)組播用戶(hù)的情況,對(duì)于一個(gè)業(yè)務(wù)端口下接入多個(gè)組播用戶(hù)的情況,又有著新的問(wèn)題。
如圖3所示,假設(shè)數(shù)字用戶(hù)線(xiàn)接入復(fù)接器(Digital Subscriber Line AccessMultiplexer,DSLAM)設(shè)備IPTV業(yè)務(wù)應(yīng)用中采用了快速離開(kāi)方案??梢钥吹疆?dāng)機(jī)頂盒(Side Top Box,STB)STB1和STB2同時(shí)收看頻道1的時(shí)候,DSLAM只會(huì)向下發(fā)送一份頻道1的視頻流,然后通過(guò)集線(xiàn)器(HUB)復(fù)制成兩份視頻流,分別給STB1和STB2;但是當(dāng)STB1的用戶(hù)切換頻道到頻道2的時(shí)候,STB1就會(huì)發(fā)出頻道1的離開(kāi)報(bào)文、頻道2的加入報(bào)文,由于DSLAM無(wú)法知道還有STB2也正在接收頻道1,而DSLAM啟動(dòng)了快速離開(kāi)功能,DSLAM就會(huì)直接將頻道1的視頻流刪除,轉(zhuǎn)發(fā)頻道2的視頻流,對(duì)于STB2的用戶(hù)來(lái)說(shuō),就會(huì)出現(xiàn)突然頻道1的節(jié)目中斷,直到STB2重新發(fā)起加入請(qǐng)求后,頻道1的視頻才能恢復(fù)。這樣,兩個(gè)組播用戶(hù)在頻道切換的過(guò)程就產(chǎn)生了互相干擾的情況。
于是,針對(duì)一個(gè)業(yè)務(wù)端口下接入多個(gè)組播用戶(hù)的情況,現(xiàn)有技術(shù)又采用了一種技術(shù),綜合了上面所述的IGMP技術(shù)方案的特定組查詢(xún)特性和快速離開(kāi)方案的快速切斷視頻流的特性。
在該技術(shù)的應(yīng)用中,組播接入設(shè)備對(duì)一個(gè)業(yè)務(wù)端口下的多個(gè)組播用戶(hù)啟動(dòng)快速離開(kāi)功能,同時(shí)還設(shè)置一個(gè)快速離開(kāi)響應(yīng)時(shí)間。當(dāng)組播接入設(shè)備的一個(gè)業(yè)務(wù)端口接收到一個(gè)組播用戶(hù)的切換頻道請(qǐng)求的組播離開(kāi)報(bào)文后,向該端口下的組播用戶(hù)發(fā)送該請(qǐng)求離開(kāi)頻道的特定組查詢(xún)報(bào)文,以確定是否還存在其它組播用戶(hù)在收看該頻道,如果在給定的快速離開(kāi)響應(yīng)時(shí)間內(nèi)沒(méi)有收到其它組播用戶(hù)發(fā)送該頻道的加入報(bào)文,則認(rèn)為沒(méi)有其他用戶(hù)在收看該頻道,因此立即切斷該頻道的組播流,如果在給定的快速離開(kāi)響應(yīng)時(shí)間內(nèi)接收到其它組播用戶(hù)發(fā)送該頻道的加入報(bào)文,則不切斷該頻道的組播流,繼續(xù)轉(zhuǎn)發(fā)。
在這個(gè)技術(shù)方案中,由于可以將快速離開(kāi)響應(yīng)時(shí)間控制在一個(gè)合理的并且足夠短的時(shí)間內(nèi),因此該技術(shù)方案能夠?qū)崿F(xiàn)在足夠短的時(shí)間內(nèi)迅速切斷組播用戶(hù)離開(kāi)的報(bào)文,避免了申請(qǐng)離開(kāi)的組播頻道滯留時(shí)間太長(zhǎng)影響了帶寬的使用,同時(shí)又能夠保證對(duì)離開(kāi)的組播用戶(hù)不會(huì)對(duì)其他的組播用戶(hù)產(chǎn)生干擾。
但是,在受控組播業(yè)務(wù)應(yīng)用中,上述方案確不能很好地實(shí)現(xiàn)。受控組播業(yè)務(wù)要求控制一個(gè)業(yè)務(wù)端口下最多可以點(diǎn)播的組播頻道數(shù),在這種前提下,上述的技術(shù)方案可能導(dǎo)致頻道切換不成功的情況。假設(shè)一個(gè)業(yè)務(wù)端口的最大點(diǎn)播頻道數(shù)為2,該業(yè)務(wù)端口下的兩個(gè)組播用戶(hù)分別點(diǎn)播組播頻道A和B。當(dāng)點(diǎn)播頻道A的組播用戶(hù)想切換到頻道C,該組播用戶(hù)會(huì)向組播接入設(shè)備發(fā)送頻道A的離開(kāi)報(bào)文和頻道C的加入報(bào)文。組播接入設(shè)備接收到該組播用戶(hù)發(fā)出的組播頻道A的離開(kāi)報(bào)文后,向該端口下發(fā)頻道A的特定組播查詢(xún)報(bào)文,在快速離開(kāi)響應(yīng)時(shí)間超時(shí)之前,該端口下還存在兩個(gè)頻道正在轉(zhuǎn)發(fā),這次組播接入設(shè)備又接收到頻道C的加入報(bào)文,由于此時(shí)該端口下同時(shí)在線(xiàn)的組播頻道數(shù)目已經(jīng)達(dá)到2,所以根據(jù)受控組播的原理,組播接入設(shè)備會(huì)拒絕頻道C的加入,從而造成頻道切換的失敗。當(dāng)然,如果在快速離開(kāi)響應(yīng)報(bào)文超時(shí)之后,如果組播用戶(hù)再發(fā)出頻道C的加入報(bào)文,則可以點(diǎn)播成功。也即,在當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道數(shù)目已經(jīng)達(dá)到端口允許接入的最大組播頻道數(shù)時(shí),組播用戶(hù)必須要等待快速離開(kāi)響應(yīng)時(shí)間超時(shí)才能夠切換到要加入的組播頻道C中,這樣的頻道切換時(shí)延對(duì)于組播用戶(hù)來(lái)說(shuō)是不符合要求的,甚至是無(wú)法接收的。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題是提出一種組播頻道切換控制方法及裝置,以避免現(xiàn)有技術(shù)在單端口多用戶(hù)接入的情況下頻道切換的時(shí)延給用戶(hù)的業(yè)務(wù)質(zhì)量帶來(lái)的影響。
為解決上述問(wèn)題,本發(fā)明提出了一種組播頻道控制方法,包括
當(dāng)組播接入設(shè)備接收到組播頻道離開(kāi)報(bào)文,向接收到所述組播頻道離開(kāi)報(bào)文的業(yè)務(wù)端口發(fā)送所述申請(qǐng)離開(kāi)的組播頻道特定組查詢(xún)報(bào)文,特定組查詢(xún)響應(yīng)時(shí)間超時(shí)后,停止申請(qǐng)離開(kāi)的組播頻道的轉(zhuǎn)發(fā);a)當(dāng)接收到組播頻道加入報(bào)文,判斷是否允許當(dāng)前業(yè)務(wù)端口加入所述申請(qǐng)加入的組播頻道,如果是,轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,執(zhí)行步驟b);b)在所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果存在,停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道,并轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,拒絕該組播頻道的加入。
其中,所述的停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道為停止轉(zhuǎn)發(fā)響應(yīng)時(shí)間將最早超時(shí)的申請(qǐng)離開(kāi)的組播頻道。
其中,當(dāng)接收到組播頻道離開(kāi)報(bào)文,還包括步驟將申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道設(shè)置為即將離開(kāi)狀態(tài);當(dāng)接收到組播頻道離開(kāi)報(bào)文,所述在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道為在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道。
其中,步驟a)所述判斷是否允許當(dāng)前業(yè)務(wù)端口加入申請(qǐng)加入的組播頻道的步驟為判斷申請(qǐng)加入的組播頻道是否是當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入;否則,判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,則不允許所述申請(qǐng)加入的組頻道的加入。
其中,所述的判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道的步驟為
判斷所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道數(shù)是否小于所述的業(yè)務(wù)端口能夠接入的組播頻道數(shù),如果是,則允許新的組播頻道的加入,否則,則不允許新的組播頻道的加入。
相應(yīng)地,本發(fā)明還提出了一種組播頻道控制裝置,其包括頻道離開(kāi)處理單元和頻道加入處理單元,其中,頻道離開(kāi)處理單元,用于在接收到組播頻道離開(kāi)報(bào)文后,向接收到所述組播頻道的業(yè)務(wù)端口發(fā)送所述申請(qǐng)離開(kāi)的組播頻道特定組查詢(xún)報(bào)文,在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)后,停止申請(qǐng)離開(kāi)的組播頻道的轉(zhuǎn)發(fā);而所述的頻道加入處理單元包括組播轉(zhuǎn)發(fā)單元、第一控制單元和第二控制單元,其中組播轉(zhuǎn)發(fā)單元,用于控制組播頻道的轉(zhuǎn)發(fā);第一控制單元,用于在接收到組播頻道加入報(bào)文后,判斷是否允許當(dāng)前業(yè)務(wù)端口加入該申請(qǐng)加入的組播頻道,如果是,通知組播轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,交給第二判斷單元進(jìn)行處理;第二控制單元,用于在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果存在,通知組播轉(zhuǎn)發(fā)單元停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道,并轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,拒絕該組播頻道的加入。
其中,所述第二判斷單元中停止轉(zhuǎn)發(fā)所示申請(qǐng)離開(kāi)的一個(gè)組播頻道為停止轉(zhuǎn)發(fā)響應(yīng)時(shí)間將最早超時(shí)的組播頻道。
所述的頻道離開(kāi)處理單元還包括狀態(tài)設(shè)定單元,用于將申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道設(shè)置為即將離開(kāi)狀態(tài);
所述的第二控制單元查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道為查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道。
其中,所述的第一控制單元進(jìn)一步包括第一判斷單元,判斷申請(qǐng)加入的組播頻道是否是當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,通知第二判斷子單元進(jìn)行判斷;第二判斷單元,判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,則不允許所述申請(qǐng)加入的組頻道的加入。
其中,所述第二判斷單元判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道的步驟為判斷所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道數(shù)是否小于所述的業(yè)務(wù)端口能夠接入的組播頻道數(shù);如果是,則允許新的組播頻道的加入,否則,則不允許新的組播頻道的加入。
與現(xiàn)有技術(shù)相比,本發(fā)明在受控的單端口多用戶(hù)接入的情況下實(shí)現(xiàn)了在快速響應(yīng)時(shí)間內(nèi)也能合理有效地控制組播頻道的切換,減少了頻道切換的時(shí)延,保證了組播業(yè)務(wù)的質(zhì)量。
圖1是現(xiàn)有技術(shù)IPTV業(yè)務(wù)組網(wǎng)圖;圖2是現(xiàn)有技術(shù)組播頻道快速離開(kāi)技術(shù)原理圖;圖3是快速離開(kāi)技術(shù)方案技術(shù)問(wèn)題示意圖;圖4是本發(fā)明組播頻道控制方法執(zhí)行步驟示意圖;
圖5是本發(fā)明實(shí)施例IPTV業(yè)務(wù)組網(wǎng)圖;圖6是本發(fā)明組播頻道控制方法實(shí)施例組播離開(kāi)處理流程圖;圖7是本發(fā)明組播頻道控制方法實(shí)施例組播加入處理流程圖;圖8是本發(fā)明組播頻道控制裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面根據(jù)附圖對(duì)本發(fā)明的實(shí)施例作出詳細(xì)的說(shuō)明。
本發(fā)明的主要思想是在現(xiàn)有技術(shù)的基礎(chǔ)上,對(duì)組播接入設(shè)備接收到組播加入報(bào)文的處理加以改進(jìn),以實(shí)現(xiàn)對(duì)申請(qǐng)離開(kāi)和加入的組播頻道的合理有效控制。
在現(xiàn)有技術(shù)中,當(dāng)組播接入設(shè)備接收到組播頻道離開(kāi)報(bào)文后,向接收到所述組播頻道的業(yè)務(wù)端口發(fā)送所述申請(qǐng)離開(kāi)的組播頻道特定組查詢(xún)報(bào)文,并啟動(dòng)特定組查詢(xún)快速響應(yīng)時(shí)間計(jì)時(shí)器,計(jì)時(shí)器超時(shí)后,立即停止申請(qǐng)離開(kāi)的組播頻道的轉(zhuǎn)發(fā)。
而在接收到組播頻道加入報(bào)文時(shí),如圖4所示,本發(fā)明采用以下步驟01)接收組播接入報(bào)文。
02)判斷是否允許當(dāng)前業(yè)務(wù)端口加入申請(qǐng)加入的組播頻道,如果是,執(zhí)行步驟50),否則,執(zhí)行步驟30)。
03)在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果是,執(zhí)行步驟40),否則,拒絕該組播頻道的加入,操作結(jié)束。
04)停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道。
05)轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道;操作結(jié)束。
下面根據(jù)實(shí)施例對(duì)上述描述進(jìn)行具體說(shuō)明。
如圖5所示,在IPTV接入網(wǎng)絡(luò)中,DSLAM設(shè)備為組播接入設(shè)備,擔(dān)任組播路由器的功能,DSLAM設(shè)備向用戶(hù)提供xDSL業(yè)務(wù)端口;在用戶(hù)側(cè),兩臺(tái)STB設(shè)備通過(guò)HUB與同一個(gè)xDSL調(diào)制解調(diào)器(MOdulation and DEModulation,MODEM)連接,兩臺(tái)STB分別連接有一臺(tái)電視機(jī)。
每臺(tái)STB的操作可分為三種類(lèi)型開(kāi)機(jī),切換頻道,和關(guān)機(jī)。其中,STB開(kāi)機(jī)時(shí)會(huì)發(fā)出組播加入報(bào)文,切換頻道會(huì)先發(fā)出當(dāng)前頻道的組播離開(kāi)報(bào)文,然后發(fā)出新頻道的組播加入報(bào)文,而關(guān)機(jī)則會(huì)發(fā)出當(dāng)前頻道的組播離開(kāi)報(bào)文。因此,對(duì)客戶(hù)端STB的請(qǐng)求的處理也可以歸納為對(duì)組播離開(kāi)請(qǐng)求和組播加入請(qǐng)求的處理。
在本實(shí)施例種,對(duì)于組播離開(kāi)報(bào)文的處理過(guò)程如圖6所示11)接收組播離開(kāi)報(bào)文;12)向接收到組播離開(kāi)報(bào)文的xDSL端口發(fā)送申請(qǐng)離開(kāi)的頻道的特定組查詢(xún)報(bào)文,將頻道的狀態(tài)設(shè)置為即將離開(kāi)狀態(tài),并啟動(dòng)快速響應(yīng)時(shí)間計(jì)時(shí)器;13)判斷超時(shí)器是否超時(shí),如果是,停止該申請(qǐng)離開(kāi)的頻道數(shù)據(jù)的轉(zhuǎn)發(fā),操作結(jié)束,否則,執(zhí)行步驟14);14)判斷是否接收到特定組查詢(xún)的響應(yīng)報(bào)文,如果是,將頻道的狀態(tài)改為正常狀態(tài),并將計(jì)時(shí)器清零,操作結(jié)束,否則,繼續(xù)執(zhí)行步驟13)。
相應(yīng)地,對(duì)于組播加入報(bào)文的處理過(guò)程如圖7所示21)接收組播接入報(bào)文;22)判斷是否允許當(dāng)前xDSL端口接受申請(qǐng)加入的組播頻道的加入,如果是,執(zhí)行步驟25),否則,執(zhí)行步驟23);23)在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道,如果是,執(zhí)行步驟24),否則,拒絕該組播頻道的加入,操作結(jié)束;
24)停止轉(zhuǎn)發(fā)所述處于即將離開(kāi)狀態(tài)的、最早申請(qǐng)離開(kāi)的組播頻道;25)轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道;操作結(jié)束。
根據(jù)上述的處理步驟,下面結(jié)合上述的三種操作對(duì)本實(shí)施里的原理及應(yīng)用作具體描述。
假設(shè)STB用戶(hù)進(jìn)行關(guān)機(jī)操作或者頻道切換操作向DSLAM發(fā)出組播離開(kāi)報(bào)文,DSLAM接收到該STB發(fā)出的組播離開(kāi)報(bào)文后,向該STB的xDSL端口發(fā)送申請(qǐng)離開(kāi)的頻道的特定組查詢(xún)報(bào)文,同時(shí)將頻道的狀態(tài)設(shè)置為即將離開(kāi)狀態(tài),并啟動(dòng)快速響應(yīng)計(jì)時(shí)器。
在快速響應(yīng)時(shí)間內(nèi),也即計(jì)時(shí)器超時(shí)之前,可能出現(xiàn)以下三種情況1)沒(méi)有接收到任何加入報(bào)文。
當(dāng)一個(gè)STB用戶(hù)關(guān)機(jī)后可能會(huì)出現(xiàn)這種情況。
在這種情況下,計(jì)時(shí)器超時(shí),該STB用戶(hù)申請(qǐng)離開(kāi)的頻道的數(shù)據(jù)會(huì)停止轉(zhuǎn)發(fā)。
2)接收到該xDSL端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道的加入報(bào)文。
當(dāng)一個(gè)STB用戶(hù)正關(guān)機(jī)、另外STB用戶(hù)正開(kāi)機(jī)加入到一個(gè)正在轉(zhuǎn)發(fā)的頻道,或者一個(gè)STB用戶(hù)正關(guān)機(jī)、另外一個(gè)STB用戶(hù)在切換頻道到一個(gè)正在轉(zhuǎn)發(fā)的頻道,或者一個(gè)STB用戶(hù)切換頻道到一個(gè)正在轉(zhuǎn)發(fā)的頻道,都可能出現(xiàn)這種情況。
在這種情況下,由于申請(qǐng)加入的頻道已經(jīng)被當(dāng)前的xDSL端口正在轉(zhuǎn)發(fā),不需要增加或者刪除組播頻道的轉(zhuǎn)發(fā)數(shù)據(jù)。
這種情況又包括兩種情形申請(qǐng)加入的頻道為即將離開(kāi)狀態(tài)的當(dāng)前正在轉(zhuǎn)發(fā)頻道和申請(qǐng)加入的頻道為正常狀態(tài)的當(dāng)前正在轉(zhuǎn)發(fā)的頻道。
對(duì)于前面一種情形,將該處于即將離開(kāi)狀態(tài)的頻道的狀態(tài)修改為正常狀態(tài),清零計(jì)時(shí)器,正常轉(zhuǎn)發(fā)該頻道。
對(duì)于后面一種情況,不需作任何處理。
3)接收到新頻道的加入報(bào)文。
當(dāng)一個(gè)STB用戶(hù)正關(guān)機(jī)、另外STB用戶(hù)正開(kāi)機(jī)加入到一個(gè)新的頻道,或者一個(gè)STB用戶(hù)正關(guān)機(jī)、另外一個(gè)STB用戶(hù)在切換頻道到一個(gè)新的頻道,或者一個(gè)STB用戶(hù)切換頻道到新的頻道,都可能出現(xiàn)這種情況。
在這種情況下,首先判斷當(dāng)前xDSL業(yè)務(wù)端口是否還允許該新的頻道的加入,如果是,直接向該端口轉(zhuǎn)發(fā)新申請(qǐng)加入的頻道數(shù)據(jù),否則,查詢(xún)當(dāng)前是否存在處于即將離開(kāi)狀態(tài)的頻道,如果是,則中止該處于即將離開(kāi)狀態(tài)的頻道的轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)該新加入的組播頻道,否則,無(wú)法加入該新的組播頻道。
在實(shí)際應(yīng)用中,一個(gè)xDSL業(yè)務(wù)端口都設(shè)置一個(gè)最大允許接入的組播頻道數(shù),該最大接入組播頻道數(shù)根據(jù)xDSL端口的帶寬或者管理的需要進(jìn)行設(shè)置。判斷當(dāng)前xDSL業(yè)務(wù)端口是否允許新的頻道的加入即是判斷該端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道數(shù)是否小于該端口設(shè)定的最大允許接入頻道數(shù),如果小于,則允許該新加入頻道的接入,否則,不允許其接入。
另外,在上述判斷當(dāng)前是否存在處于即將離開(kāi)狀態(tài)的頻道的過(guò)程中,如果當(dāng)前存在有不止一個(gè)處于即將離開(kāi)狀態(tài)的頻道,則最先中止最應(yīng)該離開(kāi)的頻道的轉(zhuǎn)發(fā),其中最應(yīng)該離開(kāi)在實(shí)際應(yīng)用中可以采用兩種方式來(lái)判斷,一是其中最早申請(qǐng)離開(kāi)的頻道,二是離超時(shí)時(shí)刻最接近的頻道。
這樣,在這種情況下,如果端口當(dāng)前轉(zhuǎn)發(fā)頻道數(shù)已經(jīng)等于最大允許接入頻道數(shù),新申請(qǐng)加入的頻道根據(jù)接入控制的條件無(wú)法被接受,于是就尋找是否存在有處于即將離開(kāi)狀態(tài)但仍然被轉(zhuǎn)發(fā)的頻道,如果存在,就中止處于即將離開(kāi)狀態(tài)的其中一個(gè)最應(yīng)該離開(kāi)的頻道的轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)該新加入的組播頻道,否則,無(wú)法加入該新的組播頻道。
下面對(duì)可能產(chǎn)生這種情況的STB幾種操作進(jìn)行分析
當(dāng)一個(gè)STB用戶(hù)正關(guān)機(jī)、另外STB用戶(hù)正開(kāi)機(jī)加入到一個(gè)新的頻道時(shí),需要兩個(gè)STB用戶(hù)的動(dòng)作恰好在快速響應(yīng)時(shí)間內(nèi)才可能出現(xiàn)這種情況,所以這種情況的概率比較低。
當(dāng)一個(gè)STB用戶(hù)正關(guān)機(jī)、另外一個(gè)STB用戶(hù)在切換頻道時(shí),同樣需要兩個(gè)STB用戶(hù)的動(dòng)作恰好在快速響應(yīng)時(shí)間內(nèi)才可能出現(xiàn)這種情況,所以這種情況的概率也比較低。
當(dāng)一個(gè)STB用戶(hù)在切換頻道到一個(gè)新的頻道時(shí),由于一個(gè)STB用戶(hù)在切換頻道的時(shí)候在很短的時(shí)間內(nèi)向DSLAM設(shè)備先后發(fā)送現(xiàn)有頻道的組播離開(kāi)報(bào)文和新頻道的組播加入報(bào)文,這種情況的概率要高得多。所以該實(shí)施例對(duì)STB用戶(hù)在切換頻道時(shí)對(duì)組播頻道的控制有更大的意義。
相應(yīng)地,本發(fā)明也提供了組播頻道控制裝置,該裝置采用上面的方法實(shí)現(xiàn)對(duì)組播頻道的加入和離開(kāi)的有效控制。下面對(duì)其實(shí)施例進(jìn)行描述。
如圖8所示,DSLAM設(shè)備包括頻道離開(kāi)處理單元和頻道加入處理單元,其中頻道離開(kāi)處理單元在接收到組播頻道離開(kāi)報(bào)文后,向接收到組播離開(kāi)報(bào)文的xDSL端口發(fā)送申請(qǐng)離開(kāi)的頻道的特定組查詢(xún)報(bào)文,將頻道的狀態(tài)設(shè)置為即將離開(kāi)狀態(tài),并啟動(dòng)快速響應(yīng)時(shí)間計(jì)時(shí)器。計(jì)時(shí)器超時(shí)后,立即停止申請(qǐng)離開(kāi)的組播頻道的轉(zhuǎn)發(fā)。
其中頻道加入處理單元又包括組播轉(zhuǎn)發(fā)單元、第一控制單元和第二控制單元,其中組播轉(zhuǎn)發(fā)單元根據(jù)來(lái)自于其他單元的指令控制組播頻道的轉(zhuǎn)發(fā),主要包括兩個(gè)操作停止轉(zhuǎn)發(fā)一個(gè)指定的組播頻道和開(kāi)始轉(zhuǎn)發(fā)一個(gè)指定的組播頻道。
第一控制單元在接收到STB用戶(hù)發(fā)出的組播頻道加入報(bào)文后,判斷當(dāng)前xDSL端口是否允許申請(qǐng)加入的組播頻道的加入,如果是,通知組播轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,交給第二控制單元進(jìn)一步處理;
在實(shí)際應(yīng)用中,一個(gè)xDSL業(yè)務(wù)端口都設(shè)置一個(gè)最大允許接入的組播頻道數(shù),該最大接入組播頻道數(shù)根據(jù)xDSL端口的帶寬或者管理的需要進(jìn)行設(shè)置。判斷當(dāng)前xDSL業(yè)務(wù)端口是否允許新的頻道的加入即是判斷該端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道數(shù)是否小于該端口設(shè)定的最大允許接入頻道數(shù),如果小于,則允許該新加入頻道的接入,否則,不允許其接入。
第一控制單元又包括頻道判斷單元和頻道數(shù)比較單元。在上述接入控制判斷單元判斷的過(guò)程中,首先頻道判斷單元判斷該STB用戶(hù)申請(qǐng)加入的組播頻道是否是當(dāng)前xDSL端口已經(jīng)正在轉(zhuǎn)發(fā)的組播頻道,如果是,不作任何處理,否則,由頻道數(shù)比較單元繼續(xù)判斷當(dāng)前xDSL端口正在轉(zhuǎn)發(fā)的頻道數(shù)是否小于該端口設(shè)定的最大允許接入頻道數(shù),如果小于,則通知組播轉(zhuǎn)發(fā)單元開(kāi)始轉(zhuǎn)發(fā)該新加入頻道的數(shù)據(jù),否則,初步判斷為不允許該頻道的接入。
第二控制單元在第一控制單元初步判斷已經(jīng)無(wú)法接受一個(gè)新申請(qǐng)加入的組播頻道后開(kāi)始工作。第二控制單元在接收到第一控制單元的通知后,在xDSL端口當(dāng)前轉(zhuǎn)發(fā)的組播頻道中查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道,如果有,則通知組播轉(zhuǎn)發(fā)單元中止該處于即將離開(kāi)狀態(tài)的頻道的轉(zhuǎn)發(fā),開(kāi)始轉(zhuǎn)發(fā)該新加入的組播頻道,否則,最終確認(rèn)無(wú)法加入該新的組播頻道。
同樣,在上述判斷是否存在處于即將離開(kāi)狀態(tài)的頻道的過(guò)程中,如果當(dāng)前存在有不止一個(gè)處于即將離開(kāi)狀態(tài)的頻道,則最先中止最應(yīng)該離開(kāi)的頻道的轉(zhuǎn)發(fā),其中最應(yīng)該離開(kāi)在實(shí)際應(yīng)用中可以采用兩種方式來(lái)判斷,一是其中最早申請(qǐng)離開(kāi)的頻道,二是離超時(shí)時(shí)刻最接近的頻道。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種組播頻道控制方法,其特征在于a)當(dāng)接收到組播頻道加入報(bào)文,判斷是否允許當(dāng)前業(yè)務(wù)端口加入所述申請(qǐng)加入的組播頻道,如果是,轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,執(zhí)行步驟b);b)在所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果存在,停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道,并轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,拒絕該組播頻道的加入。
2.如權(quán)利要求1所述的組播頻道控制方法,其特征在于,步驟b)所述的停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道為停止轉(zhuǎn)發(fā)響應(yīng)時(shí)間最早超時(shí)的申請(qǐng)離開(kāi)的組播頻道。
3.如權(quán)利要求1所述的組播頻道控制方法,其特征在于當(dāng)接收到組播頻道離開(kāi)報(bào)文,將申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道設(shè)置為即將離開(kāi)狀態(tài);當(dāng)接收到組播頻道離開(kāi)報(bào)文,所述在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道為在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道。
4.如權(quán)利要求1所述的組播頻道控制方法,其特征在于,步驟a)所述判斷是否允許當(dāng)前業(yè)務(wù)端口加入該申請(qǐng)加入的組播頻道的步驟為a1)判斷申請(qǐng)加入的組播頻道是否是當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,執(zhí)行步驟a2);a2)判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,則不允許所述申請(qǐng)加入的組頻道的加入。
5.如權(quán)利要求4所述的組播頻道控制方法,其特征在于,步驟a2)中所述的判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道的步驟為判斷所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道數(shù)是否小于所述的業(yè)務(wù)端口能夠接入的組播頻道數(shù),如果是,則允許新的組播頻道的加入,否則,則不允許新的組播頻道的加入。
6.一種組播頻道控制裝置,包括頻道離開(kāi)處理單元和頻道加入處理單元,其中,頻道離開(kāi)處理單元,用于在接收到組播頻道離開(kāi)報(bào)文后,向接收到所述組播頻道的業(yè)務(wù)端口發(fā)送所述申請(qǐng)離開(kāi)的組播頻道特定組查詢(xún)報(bào)文,在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)后,停止申請(qǐng)離開(kāi)的組播頻道的轉(zhuǎn)發(fā),其特征在于,所述的頻道加入處理單元包括有組播轉(zhuǎn)發(fā)單元、第一控制單元和第二控制單元,其中組播轉(zhuǎn)發(fā)單元,用于控制組播頻道的轉(zhuǎn)發(fā);第一控制單元,用于在接收到組播頻道加入報(bào)文后,判斷是否允許當(dāng)前業(yè)務(wù)端口加入申請(qǐng)加入的組播頻道,如果是,通知組播轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,交給第二判斷單元進(jìn)行處理;第二控制單元,用于在當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果存在,通知組播轉(zhuǎn)發(fā)單元停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道,并轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,拒絕該組播頻道的加入。
7.如權(quán)利要求6所述的組播頻道控制裝置,其特征在于,所述第二判斷單元中停止轉(zhuǎn)發(fā)所示申請(qǐng)離開(kāi)的一個(gè)組播頻道為停止轉(zhuǎn)發(fā)響應(yīng)時(shí)間將最早超時(shí)的組播頻道。
8.如權(quán)利要求6所述的組播頻道裝置,其特征在于所述的頻道離開(kāi)處理單元還包括狀態(tài)設(shè)定單元,用于將申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道設(shè)置為即將離開(kāi)狀態(tài);所述的第二控制單元查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道為查詢(xún)是否存在處于即將離開(kāi)狀態(tài)的組播頻道。
9.如權(quán)利要求6所述的組播頻道裝置,其特征在于,所述的第一控制單元具體包括第一判斷單元,判斷申請(qǐng)加入的組播頻道是否是當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,通知第二判斷子單元進(jìn)行判斷;第二判斷單元,判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道,如果是,則允許所述申請(qǐng)加入的組頻道的加入,否則,則不允許所述申請(qǐng)加入的組頻道的加入。
10.如權(quán)利要求9所述的組播頻道裝置,其特征在于,所述第二判斷單元判斷是否允許當(dāng)前業(yè)務(wù)端口加入新的組播頻道為判斷所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的組播頻道數(shù)是否小于所述的業(yè)務(wù)端口能夠接入的組播頻道數(shù);如果是,則允許新的組播頻道的加入,否則,則不允許新的組播頻道的加入。
全文摘要
本發(fā)明公開(kāi)了一種組播頻道控制方法及裝置,應(yīng)用于組播業(yè)務(wù)接入網(wǎng)絡(luò)中,其中方法包括當(dāng)接收到組播頻道加入報(bào)文,判斷是否允許當(dāng)前業(yè)務(wù)端口加入所述申請(qǐng)加入的組播頻道,如果是,轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,在所述業(yè)務(wù)端口當(dāng)前正在轉(zhuǎn)發(fā)的頻道中查詢(xún)是否存在申請(qǐng)離開(kāi)后在特定組查詢(xún)響應(yīng)時(shí)間超時(shí)之前還未接收到響應(yīng)的組播頻道,如果存在,停止轉(zhuǎn)發(fā)所述申請(qǐng)離開(kāi)的一個(gè)組播頻道,并轉(zhuǎn)發(fā)該申請(qǐng)加入的組播頻道,否則,拒絕該組播頻道的加入。采用本發(fā)明,在受控的單端口多用戶(hù)接入的情況下也能實(shí)現(xiàn)在快速響應(yīng)時(shí)間內(nèi)合理有效地控制組播頻道的切換,減少了頻道切換的時(shí)延,保證了組播業(yè)務(wù)的質(zhì)量。
文檔編號(hào)H04L29/06GK101056255SQ20061003588
公開(kāi)日2007年10月17日 申請(qǐng)日期2006年6月9日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者李志強(qiáng), 陳沁 , 王德義 申請(qǐng)人:華為技術(shù)有限公司