專利名稱:一種多媒體內(nèi)容分發(fā)方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信技術(shù)領(lǐng)域,尤其涉及一種多媒體內(nèi)容分發(fā)方法、系統(tǒng)和裝置。
背景技術(shù):
IP多媒體子系統(tǒng)(IMS)是基于SIP協(xié)議的會話控制系統(tǒng)。IMS網(wǎng)絡采取了分層架構(gòu),體現(xiàn)了 “業(yè)務與控制分離”和“控制與接入及承載分離”的思想,使得不同的用戶終端能夠通過不同的無線或者有線接入技術(shù)接入IMS網(wǎng)絡,享受統(tǒng)一的呼叫控制服務,并使用多樣化的多媒體增值業(yè)務,被業(yè)界廣泛認同為下一代網(wǎng)絡的核心技術(shù)。目前,IMS網(wǎng)絡一般采用⑶N技術(shù)或者P2P技術(shù)分發(fā)多媒體內(nèi)容。當采用CDN技術(shù)分發(fā)多媒體內(nèi)容時,多媒體內(nèi)容存儲在網(wǎng)絡側(cè),所有用戶節(jié)點均從網(wǎng)絡側(cè)獲取多媒體內(nèi)容,因此會對網(wǎng)絡側(cè)節(jié)點造成較大負載,網(wǎng)絡側(cè)節(jié)點的流量瓶頸將影響多媒體內(nèi)容分發(fā)速度。當采用P2P技術(shù)分發(fā)多媒體內(nèi)容時,用戶節(jié)點可以從存儲有多媒體內(nèi)容的任何在線節(jié)點獲取多媒體內(nèi)容,該在線節(jié)點包括網(wǎng)絡側(cè)節(jié)點和用戶節(jié)點。由于在P2P網(wǎng)絡中,任意用戶節(jié)點在獲得多媒體內(nèi)容后都能成為種子節(jié)點,向其他用戶節(jié)點提供多媒體內(nèi)容,每一用戶節(jié)點也可以從其他任意存儲有多媒體內(nèi)容的用戶節(jié)點或網(wǎng)絡側(cè)節(jié)點中獲取多媒體內(nèi)容節(jié)點,這種多對多的關(guān)系導致P2P網(wǎng)絡的管理較為復雜。目前P2P網(wǎng)絡在互聯(lián)網(wǎng)領(lǐng)域應用較為廣泛,但是由于其管理復雜度較高,因此是否適合應用于移動通信領(lǐng)域仍在討論中。可見,如何快速有序地分發(fā)多媒體內(nèi)容,是當前亟待解決的問題之一。另外,目前的P2P網(wǎng)絡無法支持用戶的多媒體內(nèi)容切換操作,例如,無法支持用戶節(jié)點更改多媒體內(nèi)容源、即頻道切換的操作,也無法支持快進快退等進度切換的操作。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種多媒體內(nèi)容分發(fā)方法、系統(tǒng)和裝置,以便快速有序地分發(fā)多媒體內(nèi)容。本發(fā)明采用的技術(shù)方案具體是這樣實現(xiàn)的一種多媒體內(nèi)容分發(fā)方法,該方法包括根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容。一種多媒體內(nèi)容分發(fā)系統(tǒng),該系統(tǒng)包括流媒體控制器、流媒體分發(fā)服務器和用戶節(jié)點
所述流媒體控制器,用于根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹;所述流媒體分發(fā)服務器,用于存儲多媒體內(nèi)容,向用戶節(jié)點分發(fā)多媒體內(nèi)容;0015]所述用戶節(jié)點,用于從所述流媒體分發(fā)服務器或者其他用戶節(jié)點獲取多媒體內(nèi)容。一種多媒體內(nèi)容分發(fā)裝置,該裝置包括流媒體控制器,該流媒體控制器包括分發(fā)信息存儲模塊,用于存儲用戶節(jié)點從流媒體分發(fā)服務器或其他用戶節(jié)點上獲取多媒體內(nèi)容的多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息;多媒體組播樹組織模塊,用于根據(jù)所述多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息組織多個多媒體組播樹。由上述技術(shù)方案可見,本發(fā)明根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容,由于以從流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點作為根節(jié)點組織多媒體組播樹,使得該多媒體組播樹中的其他節(jié)點可以從根節(jié)點獲得多媒體內(nèi)容,減小了對網(wǎng)絡側(cè)的流媒體分發(fā)服務器的負載壓力,另外,由于采用組播樹的形式分發(fā)多媒體內(nèi)容,即采用樹形組織從其他用戶節(jié)點獲得多媒體內(nèi)容的各個用戶節(jié)點,減小了各個用戶節(jié)點的管理復雜度,因此本發(fā)明能夠應用于移動通信系統(tǒng)中。
圖1是本發(fā)明提供的多媒體內(nèi)容分發(fā)系統(tǒng)第一組成示意圖。圖2是本發(fā)明提供的多媒體內(nèi)容分發(fā)系統(tǒng)第二組成示意圖。圖3是本發(fā)明提供的一種多媒體內(nèi)容分發(fā)裝置的第一結(jié)構(gòu)圖。圖4是本發(fā)明提供的一種多媒體內(nèi)容分發(fā)裝置的第二結(jié)構(gòu)圖。圖5是本發(fā)明提供的基于CDN-P2P技術(shù)的多媒體內(nèi)容分發(fā)系統(tǒng)組成示意圖。圖6是圖5中的子節(jié)點進行多媒體內(nèi)容進度切換后的示意圖。圖7是圖5中的根節(jié)點進行多媒體內(nèi)容進度切換后的示意圖。圖8是本發(fā)明提供的播放內(nèi)容切換過程中的消息流程圖。
具體實施例方式本發(fā)明提供的多媒體內(nèi)容分發(fā)方法中,根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容。其中,所述組織多個多媒體組播樹可以包括按照用戶節(jié)點從流媒體分發(fā)服務器上獲得多媒體內(nèi)容的進度,將獲得的多媒體內(nèi)容源相同但是進度不同的用戶節(jié)點分別作為根節(jié)點組織多媒體組播樹。通過將獲得的多媒體內(nèi)容源相同但是進度不同的用戶節(jié)點分別作為根節(jié)點組織多媒體組播樹,使得可以為同一多媒體內(nèi)容源建立多個多媒體組播樹,從而加快多媒體分發(fā)速度。例如,對于一視頻文件,按照播放進度每5%為一個單元,為每個播放進度單元建立至少一個多媒體組播樹,能夠加快多媒體分發(fā)速度。在組織多媒體組播樹的過程中,將用戶節(jié)點新加入到組播樹的過程包括
根據(jù)用戶節(jié)點請求的多媒體內(nèi)容所屬的多媒體內(nèi)容源,以及請求的多媒體內(nèi)容進度,確定出相應的組播樹,搜索該組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點, 從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,即當多媒體組播樹中已有的節(jié)點進行多媒體內(nèi)容切換操作時,與用戶節(jié)點新加入到多媒體組播樹類似,需要執(zhí)行以下的步驟根據(jù)用戶節(jié)點請求的多媒體內(nèi)容所屬的多媒體內(nèi)容源,以及請求的多媒體內(nèi)容進度,確定出相應的組播樹,搜索該組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)
;卜.ο其中,從搜索結(jié)果中選擇父節(jié)點時,為了使得頻道切換或進度切換操作時用戶節(jié)點側(cè)的多媒體播放能夠順利進行,可以從所述搜索結(jié)果中選擇多個父節(jié)點,將該用戶節(jié)點掛接到該多個父節(jié)點上,通過多個父節(jié)點為該用戶節(jié)點提供多媒體內(nèi)容,使得該用戶節(jié)點的頻道切換或進度切換操作不至于影響多媒體內(nèi)容的正常播放。由多個父節(jié)點為所述用戶節(jié)點提供多媒體內(nèi)容達到一定時長后,或者滿足一定條件后(例如某一父節(jié)點向該用戶節(jié)點提供多媒體內(nèi)容的流量達到一定值),可以從該多個父節(jié)點中選擇一個父節(jié)點,將該用戶節(jié)點僅掛接到該一個父節(jié)點上,從而減小整個網(wǎng)絡的流量負載,簡化多媒體組播樹的結(jié)構(gòu),便于管理。一般地,可以根據(jù)每個父節(jié)點的多媒體流量穩(wěn)定性來選擇,例如選擇所述預定時長內(nèi)的數(shù)據(jù)流量相對穩(wěn)定(例如小于預定幅度,或者在所述多個父節(jié)點中的數(shù)據(jù)流量波動最小)的一個父節(jié)點。另外,根據(jù)請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點的類型的不同,還需要對與該節(jié)點相關(guān)的下層子節(jié)點進行相應的處理,具體包括當請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點重新組織多媒體組播樹。當請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,將該父節(jié)點下的子節(jié)點掛接到與該父節(jié)點同層的其他父節(jié)點上,或者掛接到該父節(jié)點上一層的父節(jié)點上。本發(fā)明還提供了一種多媒體內(nèi)容分發(fā)系統(tǒng),具體請參見圖1和圖2。圖1是本發(fā)明提供的多媒體內(nèi)容分發(fā)系統(tǒng)第一組成示意圖。如圖1所示,該系統(tǒng)包括流媒體控制器101、流媒體分發(fā)服務器102和用戶節(jié)點 103。流媒體控制器101,用于根據(jù)流媒體分發(fā)服務器102上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從流媒體分發(fā)服務器102獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹。流媒體分發(fā)服務器102,用于存儲多媒體內(nèi)容,向用戶節(jié)點103分發(fā)多媒體內(nèi)容。用戶節(jié)點103,用于從流媒體分發(fā)服務器101或者其他用戶節(jié)點103獲取多媒體內(nèi)容。圖2是本發(fā)明提供的多媒體內(nèi)容分發(fā)系統(tǒng)第二組成示意圖。如圖2所示,該系統(tǒng)在圖1所示系統(tǒng)的基礎(chǔ)上還包括切換控制器204。切換控制器204,用于在多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。其中,切換控制器204可以包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點重新組織多媒體組播樹。具體地,切換控制器204可以通過如下方式重新組織多媒體組播樹,例如向多媒體組播樹中的節(jié)點發(fā)送掛接到其他節(jié)點上的命令,或者向流媒體控制器101發(fā)送重新組織多媒體組播樹的命令,然后再由流媒體控制器101根據(jù)當前多媒體組播樹中各個用戶節(jié)點已經(jīng)獲得的多媒體內(nèi)容,向該多媒體組播樹中的某些用戶節(jié)點發(fā)送掛接到其他節(jié)點上的命令。切換控制器204還可以包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,將該父節(jié)點下的子節(jié)點掛接到與該父節(jié)點同層的其他父節(jié)點上,或者掛接到該父節(jié)點上一層的父節(jié)點上。其中,切換控制器204可以是獨立于流媒體控制器101和流媒體分發(fā)服務器102 的單獨的設(shè)備,也可以是位于流媒體控制器101或流媒體分發(fā)服務器102中的模塊。圖2 所示結(jié)構(gòu)僅為示例,并非用于限制本發(fā)明。圖3是本發(fā)明提供的一種多媒體內(nèi)容分發(fā)裝置的第一結(jié)構(gòu)圖。如圖3所示,該裝置包括流媒體控制器301,該流媒體控制器301包括分發(fā)信息存儲模塊3011,用于存儲用戶節(jié)點從流媒體分發(fā)服務器或其他用戶節(jié)點上獲取多媒體內(nèi)容的多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息。多媒體組播樹組織模塊3012,用于根據(jù)所述多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息組織多個多媒體組播樹。圖4是本發(fā)明提供的一種多媒體內(nèi)容分發(fā)裝置的第二結(jié)構(gòu)圖。圖4所示裝置在圖3所示裝置的基礎(chǔ)上進一步包括切換控制器402。切換控制器402,用于在多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。其中,切換控制器402可以包括接收模塊、搜索模塊、選擇模塊和發(fā)送模塊。所述接收模塊,用于接收用戶節(jié)點更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的請求。所述搜索模塊,用于搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)
點ο所述選擇模塊,用于從所述搜索模塊的搜索結(jié)果中選擇父節(jié)點。所述發(fā)送模塊,用于發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上的命令。所述選擇模塊可以進一步包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點。相應地,所述發(fā)送模塊可以進一步包括一模塊,用于向所述多媒體組織模塊發(fā)送根據(jù)更新的根節(jié)點重新組織多媒體組播樹的命令。
所述發(fā)送模塊也可以進一步包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,向該父節(jié)點下的子節(jié)點發(fā)送掛接到與該父節(jié)點同層的其他父節(jié)點上或者掛接到該父節(jié)點上一層的父節(jié)點上的命令。所述選擇模塊,可以用于從所述搜索模塊的搜索結(jié)果中選出多個父節(jié)點。所述選擇模塊,還可以用于根據(jù)該多個父節(jié)點中每個父節(jié)點的數(shù)據(jù)流量穩(wěn)定性選擇一個父節(jié)點;相應地,所述發(fā)送模塊,用于先發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到選出的多個父節(jié)點上的命令,再發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到所述一個父節(jié)點上的命令。下面舉一個具體的實例對本發(fā)明提供的方案進行示例性說明,具體請參見圖5至圖8。圖5是本發(fā)明提供的基于CDN-P2P技術(shù)的多媒體內(nèi)容分發(fā)系統(tǒng)組成示意圖。如圖5所示,該系統(tǒng)與核心IMS網(wǎng)絡相連,包括協(xié)換控制器501、流媒體控制器502 和流媒體分發(fā)服務器503。其中,切換控制器501用于在用戶節(jié)點請求切換流媒體內(nèi)容(例如頻道切換或者快進快退等)時進行切換控制。流媒體控制器502用于控制用戶節(jié)點從流媒體分發(fā)服務器503或其他用戶節(jié)點中獲取多媒體內(nèi)容。流媒體分發(fā)服務器503用于向用戶節(jié)點分發(fā)多媒體內(nèi)容。圖5所示多媒體內(nèi)容分發(fā)系統(tǒng)所要解決的主要問題包括兩個第一個問題是方便多媒體內(nèi)容分發(fā)系統(tǒng)的管理、降低對網(wǎng)絡側(cè)節(jié)點的負載壓力;第二個問題是使用戶在IMS 環(huán)境下使用終端觀看多媒體視頻時可以改變多媒體視頻的播放方式,例如快進或快退,或者實現(xiàn)快速頻道切換。針對第一個問題,通過在流媒體分發(fā)服務器中存儲多媒體內(nèi)容,在用戶節(jié)點間進行流量分擔,且用戶節(jié)點間采用多媒體組播樹的形式進行組織來解決。針對第二個問題,通過切換控制器501來解決,從而在進行頻道切換或者快進快退等切換操作時,能夠快速尋找到切換點,實現(xiàn)平滑過渡,提高用戶體驗。參見圖5,流媒體控制器502和流媒體分發(fā)服務器503之間可以采用心跳 (HeartBeat)消息進行同步,從而使得流媒體控制器502獲得各個用戶節(jié)點獲取多媒體內(nèi)容的內(nèi)容源信息和進度信息。流媒體分發(fā)服務器503可以接入多個用戶節(jié)點,第一層用戶節(jié)點(即與流媒體分發(fā)服務器503相連的用戶節(jié)點)中的每個用戶節(jié)點下分別組成一棵組播樹,無論是頻道切換(即多媒體內(nèi)容源之間的切換)還是頻道內(nèi)的快進快退(即統(tǒng)一多媒體內(nèi)容源下的進度切換),都以組播樹內(nèi)的節(jié)點結(jié)構(gòu)切換或者組播樹間的切換來完成。下面以頻道內(nèi)的快進快退場景為例進行介紹假設(shè)每個用戶節(jié)點可以存錯^時長的多媒體內(nèi)容,用戶節(jié)點之間可以采用P2P方式進行內(nèi)容共享,即第一秒接入的用戶節(jié)點可以為第五秒之內(nèi)接入的用戶節(jié)點提供內(nèi)容的共享,則這些用戶節(jié)點組成了一棵組播樹,具體可參見圖5。第一秒接入的用戶節(jié)點由于直接連接了流媒體分發(fā)服務器503,因此可以直接對流媒體分發(fā)服務器503上存儲的多媒體內(nèi)容進行控制。而在此用戶節(jié)點所在的組播樹上的其他節(jié)點則可以對部分多媒體內(nèi)容進行控制,例如用戶可以快進5S的內(nèi)容。但是如果需要快進更長時間的內(nèi)容則需要對組播樹進行拓撲上的變化,具體可參見圖5和圖6。圖6是圖5中的子節(jié)點進行多媒體內(nèi)容進度切換后的示意圖。圖6中,子節(jié)點5快進了 30秒即進入到35秒內(nèi)容范圍,需要先遍歷整個流媒體控制器502下的第一層父節(jié)點,尋找到第一個比其內(nèi)容少5秒的父節(jié)點然后連接到此組播樹下。為了平滑的實現(xiàn)切換,允許該切換的節(jié)點接入到該組播樹的多個父節(jié)點下,由于多個父節(jié)點同時向該節(jié)點傳送多媒體內(nèi)容,大大減緩了切換時帶來的切換斷檔問題,提高了用戶體驗。如上圖所示,子節(jié)點5移到以30s為父節(jié)點的組播樹下成為節(jié)點35,此時同時連接了 31s和3 兩個節(jié)點,兩個節(jié)點同時高速對此節(jié)點35進行內(nèi)容分發(fā),實現(xiàn)了切換的平滑過渡。等待一段時間過后,該節(jié)點35會選擇父節(jié)點中的某一個節(jié)點進行數(shù)據(jù)傳輸,目的是減少整個網(wǎng)絡的流量負載,節(jié)點的選擇依據(jù)此段時間內(nèi)數(shù)據(jù)流量相對平穩(wěn)的節(jié)點。關(guān)于圖6的切換過程描述的是子節(jié)點切換的過程。如果是父節(jié)點切換,則過程會比子節(jié)點切換過程復雜,具體請參見圖5和圖7。圖7是圖5中的根節(jié)點進行多媒體內(nèi)容進度切換后的示意圖。如圖7所示,具體過程如下如果根節(jié)點的需要進行切換,其根節(jié)點本身尋找組播樹的過程類似于子節(jié)點尋找組播樹的過程,即遍歷流媒體分發(fā)服務器503下面第一層父節(jié)點,尋找比自己接入時間小于預定時長的節(jié)點,再加入到該節(jié)點下的組播樹中。為了實現(xiàn)平滑過渡同樣會尋找多個父節(jié)點建立連接。與子節(jié)點切換相比需要增加的步驟包括請求切換的根節(jié)點以前所在組播樹需要重新連接流媒體分發(fā)服務器503并且組成一棵新組播樹。該方式可以為該組播樹下除去所述根節(jié)點以外的節(jié)點中最早接入的節(jié)點會連接到流媒體分發(fā)服務器503上,其他節(jié)點再連接該節(jié)點從而組成一棵新的組播樹。參見圖7,節(jié)點1快進了 33秒從而接入到一個新的組播樹中成為節(jié)點34,該組播樹的第一層父節(jié)點為第30秒接入的節(jié)點,該節(jié)點同時接收第31s和第3 節(jié)點的數(shù)據(jù)傳輸,待一段時間后,切換節(jié)點選擇了第31s的節(jié)點進行數(shù)據(jù)傳輸。而此根節(jié)點以前的組播樹重新進行排序,組成一棵新的組播樹,具體地,新的組播樹的根節(jié)點為第2秒接入的節(jié)點。如果請求切換的節(jié)點是父節(jié)點,則與根節(jié)點進行切換類似,將該請求切換的父節(jié)點下的子節(jié)點掛接到與該父節(jié)點同層的其他父節(jié)點上,或者掛接到該父節(jié)點上一層的父節(jié)
;卜.ο另外需要注意的是,每個流媒體分發(fā)服務器503需要維護本服務器下的所有用戶節(jié)點的播放內(nèi)容、接入時間、正在播放的時間等狀態(tài)信息。這樣在每次用戶節(jié)點進行切換時,用戶節(jié)點可以從該服務器處獲取其他用戶節(jié)點的信息,從而正確快速的進行組播樹的切換。流媒體控制器502則能夠獲取所有流媒體分發(fā)服務器503存儲的狀態(tài)信息,用戶節(jié)點也可以通過自身所在的流媒體分發(fā)服務器503從流媒體控制器502獲取其他組播樹上的用戶節(jié)點的狀態(tài)信息。下面以用戶節(jié)點UEl在視頻播放過程中進行播放進度切換,將視頻源從用戶節(jié)點 UE2切換到UE3的場景為例,對播放內(nèi)容切換過程中的消息流程進行介紹,具體請參見圖8。圖8是本發(fā)明提供的播放內(nèi)容切換過程中的消息流程圖。如圖8所示,該流程包括
1
步驟1,UEl與UE2處于連接狀態(tài),UE2為視頻源,UEl從UE2處獲取視頻資源,即多媒體內(nèi)容。步驟2,UEl發(fā)送切換請求,該請求發(fā)送至多媒體內(nèi)容分發(fā)系統(tǒng)(⑶N-P2P Based IPTV Distribution Functions)。步驟3,多媒體內(nèi)容分發(fā)系統(tǒng)根據(jù)UEl的切換請求進行新視頻源的查找,本例中查找結(jié)果為UE3。步驟4,多媒體內(nèi)容分發(fā)系統(tǒng)向UEl發(fā)送連接釋放命令。步驟5,UEl與UE2之間的連接被釋放。步驟6,多媒體內(nèi)容分發(fā)系統(tǒng)向用戶配置信息服務實體(User ProfileServer Function, UPSF)查找UE3用戶信息。步驟7,UPSF向多媒體內(nèi)容分發(fā)系統(tǒng)返回UE3的用戶信息。步驟8,多媒體內(nèi)容分發(fā)系統(tǒng)向UEl發(fā)起連接建立命令。步驟9,UEl向服務呼叫會話控制功能實體(Serving Call Session ControlFunction, S-CSCF)發(fā)出連接建立請求。步驟10,S-CSCF將連接建立請求轉(zhuǎn)發(fā)給UE3。步驟11,UEl與UE3開始建立連接。步驟12,UEl與UE3處于連接建立狀態(tài),本例中UEl從UE3獲取視頻資源,完成切換動作。多媒體內(nèi)容源切換(即頻道切換)與多媒體進度切換(即快進或快退)的方法的區(qū)別僅在于,多媒體進度切換是在同一內(nèi)容源下的組播樹內(nèi)或組播樹間進行切換,而多媒體內(nèi)容源切換則是在不同內(nèi)容源下的組播樹間進行切換。例如,第一內(nèi)容源(例如頻道1) 下的一個組播樹中的用戶節(jié)點需要切換到第二內(nèi)容源(例如頻道2),則首先查找該第二內(nèi)容源下的組播樹,選擇能夠為該用戶節(jié)點提供其請求的多媒體內(nèi)容進度的組播樹,將該用戶節(jié)點掛接到該組播樹下的用戶節(jié)點上。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種多媒體內(nèi)容分發(fā)方法,其特征在于,該方法包括根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述組織多個多媒體組播樹包括按照用戶節(jié)點從流媒體分發(fā)服務器上獲得多媒體內(nèi)容的進度,將獲得的多媒體內(nèi)容源相同但是進度不同的用戶節(jié)點分別作為根節(jié)點組織多媒體組播樹。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述組織多個多媒體組播樹包括根據(jù)用戶節(jié)點請求的多媒體內(nèi)容所屬的多媒體內(nèi)容源,以及請求的多媒體內(nèi)容進度,搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點, 將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容包括當多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,進入所述搜索的步驟。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,該方法還包括從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點重新組織多媒體組播樹。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,當請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,該方法還包括將該父節(jié)點下的子節(jié)點掛接到與該父節(jié)點同層的其他父節(jié)點上,或者掛接到該父節(jié)點上一層的父節(jié)點上。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述從搜索結(jié)果中選擇父節(jié)點包括從所述結(jié)果中選出多個父節(jié)點。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上包括先將用戶節(jié)點作為子節(jié)點掛接到選出的多個父節(jié)點上,再從該多個父節(jié)點中選擇一個父節(jié)點,將該用戶節(jié)點掛接到該一個父節(jié)點上。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述從該多個父節(jié)點中選擇一個父節(jié)點包括根據(jù)該多個父節(jié)點中每個父節(jié)點的數(shù)據(jù)流量穩(wěn)定性選擇一個父節(jié)點。
10.一種多媒體內(nèi)容分發(fā)系統(tǒng),其特征在于,該系統(tǒng)包括流媒體控制器、流媒體分發(fā)服務器和用戶節(jié)點;所述流媒體控制器,用于根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹;所述流媒體分發(fā)服務器,用于存儲多媒體內(nèi)容,向用戶節(jié)點分發(fā)多媒體內(nèi)容;所述用戶節(jié)點,用于從所述流媒體分發(fā)服務器或者其他用戶節(jié)點獲取多媒體內(nèi)容。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,該系統(tǒng)還包括切換控制器;所述切換控制器,用于在多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述切換控制器包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點重新組織多媒體組播樹。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述切換控制器包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,將該父節(jié)點下的子節(jié)點掛接到與該父節(jié)點同層的其他父節(jié)點上,或者掛接到該父節(jié)點上一層的父節(jié)點上。
14.一種多媒體內(nèi)容分發(fā)裝置,其特征在于,該裝置包括流媒體控制器,該流媒體控制器包括分發(fā)信息存儲模塊,用于存儲用戶節(jié)點從流媒體分發(fā)服務器或其他用戶節(jié)點上獲取多媒體內(nèi)容的多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息;多媒體組播樹組織模塊,用于根據(jù)所述多媒體內(nèi)容源信息和/或多媒體內(nèi)容進度信息組織多個多媒體組播樹。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,該裝置還包括切換控制器;所述切換控制器,用于在多媒體組播樹中的節(jié)點請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度時,搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點,從搜索結(jié)果中選擇父節(jié)點,將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述切換控制器包括接收模塊、搜索模塊、選擇模塊和發(fā)送模塊;所述接收模塊,用于接收用戶節(jié)點更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的請求;所述搜索模塊,用于搜索組播樹中已經(jīng)獲得該用戶節(jié)點請求的多媒體內(nèi)容的節(jié)點;所述選擇模塊,用于從所述搜索模塊的搜索結(jié)果中選擇父節(jié)點;所述發(fā)送模塊,用于發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到選出的父節(jié)點上的命令。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述選擇模塊進一步包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹的根節(jié)點時,從該根節(jié)點的下一層節(jié)點中選擇一個節(jié)點作為更新的根節(jié)點;所述發(fā)送模塊進一步包括一模塊,用于向所述多媒體組織模塊發(fā)送根據(jù)更新的根節(jié)點重新組織多媒體組播樹的命令。
18.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述發(fā)送模塊進一步包括一模塊,用于在請求更換多媒體內(nèi)容源或者多媒體內(nèi)容進度的節(jié)點是多媒體組播樹中的父節(jié)點時,向該父節(jié)點下的子節(jié)點發(fā)送掛接到與該父節(jié)點同層的其他父節(jié)點上或者掛接到該父節(jié)點上一層的父節(jié)點上的命令。
19.根據(jù)權(quán)利要求16、17或18所述的裝置,其特征在于,所述選擇模塊,用于從所述搜索模塊的搜索結(jié)果中選出多個父節(jié)點。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述選擇模塊,用于根據(jù)該多個父節(jié)點中每個父節(jié)點的數(shù)據(jù)流量穩(wěn)定性選擇一個父節(jié)占.^ w\ 所述發(fā)送模塊,用于先發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到選出的多個父節(jié)點上的命令,再發(fā)送將該用戶節(jié)點作為子節(jié)點掛接到所述一個父節(jié)點上的命令。
全文摘要
本發(fā)明提供了一種多媒體內(nèi)容分發(fā)方法、系統(tǒng)和裝置。該方法包括根據(jù)流媒體分發(fā)服務器上的多媒體內(nèi)容源,和/或從所述內(nèi)容源獲得的多媒體內(nèi)容進度,將從所述流媒體分發(fā)服務器獲得多媒體內(nèi)容的用戶節(jié)點分別作為根節(jié)點,組織多個多媒體組播樹,通過所述多媒體組播樹分發(fā)多媒體內(nèi)容。應用本發(fā)明能夠快速有序地分發(fā)多媒體內(nèi)容。
文檔編號H04L29/06GK102546525SQ20101058401
公開日2012年7月4日 申請日期2010年12月7日 優(yōu)先權(quán)日2010年12月7日
發(fā)明者張明峻, 王亞晨, 趙耀, 邢皓 申請人:中國移動通信集團公司