TW201724863A - 串流服務系統、串流服務方法以及串流服務控制裝置 - Google Patents

串流服務系統、串流服務方法以及串流服務控制裝置 Download PDF

Info

Publication number
TW201724863A
TW201724863A TW104143652A TW104143652A TW201724863A TW 201724863 A TW201724863 A TW 201724863A TW 104143652 A TW104143652 A TW 104143652A TW 104143652 A TW104143652 A TW 104143652A TW 201724863 A TW201724863 A TW 201724863A
Authority
TW
Taiwan
Prior art keywords
controller
node
multicast tree
switching
switching node
Prior art date
Application number
TW104143652A
Other languages
English (en)
Other versions
TWI581624B (zh
Inventor
許名宏
曾建超
詹珉誠
顧興亮
周明澔
Original Assignee
財團法人工業技術研究院
國立交通大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院, 國立交通大學 filed Critical 財團法人工業技術研究院
Priority to TW104143652A priority Critical patent/TWI581624B/zh
Priority to US14/983,560 priority patent/US20170187763A1/en
Application granted granted Critical
Publication of TWI581624B publication Critical patent/TWI581624B/zh
Publication of TW201724863A publication Critical patent/TW201724863A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Abstract

本發明提供一種串流服務系統、串流服務方法及其控制器。串流服務系統包括多個交換節點、多個代理緩存伺服器、內容管理裝置以及控制器。交換節點間相互連接,而代理緩存伺服器分別連接至交換節點之一。控制器連接至此些交換節點並與內容管理裝置進行通訊。內容管理裝置提供代理緩存伺服器的伺服器資訊至控制器。第一客戶裝置加入播放群組時,內容管理裝置通知控制器,控制器由代理緩存伺服器中選擇第一代理緩存伺服器,並且設定至少部分的交換節點以調整群播樹(Multicast Tree)。第一代理緩存伺服器由群播樹的第一傳輸路徑傳輸串流封包至第一客戶裝置。

Description

串流服務系統、串流服務方法以及其控制器
本發明是有關於一種串流服務系統、串流服務方法以及其控制器。
隨著電子科技以及通訊科技的發展,越來越多的影音資訊透過串流技術而分享於網際網路之中,而使用者可以於各種智慧型行動裝置或電腦裝置上觀賞電影、電視劇或新聞節目等影音資料。
在網際網路之中,影音資訊例如是透過群播(Multicast)技術而採用群組的方式分享至群組成員。一般而言,群播技術透過一個群播位址而將前述影音資訊分享至群播網路上的群組成員。網際網路群組管理協定(Internet Group Management Protocol, IGMP)被提出以便有效管理與維護群播的群組成員。更詳細而言,在網際網路群組管理協定(IGMP)下,任一群組成員在加入或離開群播群組前,皆會告知群播路由器(Multicast Router)。另一方面,若採用支援網際網路群組管理協定窺探(IGMP snooping)功能的交換器(switch)協助傳輸影音資訊至群播群組的成員,則前述交換器更可進一步地記憶群組成員所對應的傳輸埠(port),使得交換器得以利用群播的形式替代廣播(broadcast)的形式來傳輸影音資訊。
然而,在傳統的網際網路上實現群播技術時,不能保證影音資訊的傳輸滿足服務品質(Quality of Service, QoS)的要求,並且也不能有效地利用鏈路頻寬。更詳細而言,群播群組間的傳輸網路並不一定能滿足影音串流的頻寬需求,也不能選擇合適的影音來源。此外,受限於擴展樹協定(Spanning Tree Protocol, STP),交換器間的冗餘鏈結(Redundant Link)不能有效地被利用以更佳地傳輸影音資訊。
基於前述,如何提供一個較佳的串流服務系統以及串流服務方法,仍是本領域技術人員努力的目標之一。
本發明提供一種串流服務系統、串流服務方法以及其控制器,可以使得影音資訊的傳輸滿足基本頻寬的要求,並且較佳地利用鏈路頻寬。
本發明的實施例提供一種串流服務系統,包括多個交換節點、多個代理緩存伺服器、內容管理裝置以及控制器。交換節點間相互連接,並且代理緩存伺服器分別連接至前述交換節點之一。控制器連接至此些交換節點,並且與內容管理裝置進行通訊。內容管理裝置提供代理緩存伺服器的伺服器資訊至控制器。第一客戶裝置加入播放群組時,內容管理裝置通知控制器,而控制器由代理緩存伺服器中選擇第一代理緩存伺服器,並且設定至少部分的交換節點以調整群播樹(Multicast Tree)。第一代理緩存伺服器由群播樹的第一傳輸路徑傳輸串流封包至第一客戶裝置。
本發明的實施例提供一種串流服務方法,適用於串流服務系統。串流服務系統包括相互連接的多個交換節點、分別連接至交換節點之一的多個代理緩存伺服器、內容管理裝置以及控制器。控制器連接至此些交換節點,並且與內容管理裝置進行通訊。串流服務方法包括下列步驟。由內容管理裝置提供代理緩存伺服器的伺服器資訊至控制器。由內容管理裝置接收第一客戶裝置所傳輸的訂閱要求。於接收訂閱要求後,由內容管理裝置傳輸連接要求至控制器。於接收連接要求後,由控制器從代理緩存伺服器中選擇第一代理緩存伺服器,並且設定至少部分的前述交換節點以調整群播樹。由控制器回傳連接響應至內容管理裝置。藉由群播樹的第一傳輸路徑,由第一代理緩存伺服器傳輸串流封包至第一客戶裝置。
本發明的實施例提供一種控制器,適用於串流服務系統。串流服務系統包括相互連接的多個交換節點、分別連接至交換節點之一的多個代理緩存伺服器以及內容管理裝置。控制器包括通訊介面、儲存單元以及處理器。通訊介面與內容管理裝置進行通訊,並且此些交換節點連接至通訊介面。處理器耦接至通訊介面與儲存單元。內容管理裝置提供代理緩存伺服器的伺服器資訊至控制器,而控制器儲存前述伺服器資訊於儲存單元。第一客戶裝置加入播放群組時,內容管理裝置通知控制器。控制器的處理器由代理緩存伺服器中選擇第一代理緩存伺服器,設定至少部分的前述交換節點以調整群播樹,使得第一代理緩存伺服器由群播樹的第一傳輸路徑傳輸串流封包至第一客戶裝置。
基於上述,本發明實施例所提供的串流服務系統、串流服務方法以及其控制器,於客戶裝置加入播放群組時,控制器調整群播樹,使得代理緩存伺服器與客戶裝置之間可以藉由群播樹的傳輸路徑傳輸串流封包。此外,控制器更可於客戶裝置離開播放群組或者是於網路發生鏈路壅塞時,進一步地調整群播樹以取消或調整客戶裝置與代理緩存伺服器之間的傳輸路徑。藉由控制器的協助,影音串流的傳輸可以滿足基本頻寬的要求。另一方面,客戶裝置與代理緩存伺服器之間的傳輸路徑也可以符合最短路徑的需求。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照本發明一實施例所繪示之串流服務系統的示意圖。參照圖1,於本實施例中,串流服務系統100包括多個交換節點110-1~110-4、多個代理緩存伺服器(Surrogate server)120-1~120-2、內容管裡裝置130以及控制器140。交換節點110-1~110-4相互連結,而代理緩存伺服器120-1、120-2分別連接至交換節點110-1、110-3。控制器140連接至此些交換節點110-1~110-4,並且與內容管理裝置130進行通訊。具體而言,控制器140例如是直接連接至內容管理裝置130來進行通訊,或者控制器140例如是透過交換節點110-1~110-4而與內容管理裝置130進行通訊,或者控制器140例如是透過網際網路(Internet)而與內容管理裝置130進行通訊。於本發明一實施例中,串流服務系統100更包括路由器150,藉以連接至另一代理緩存伺服器120-3。
串流服務系統100屬於軟體定義網路(Software-defined Network,SDN)的架構。一般而言,軟體定義網路(SDN)的架構包含控制層(Control Plane)與資料層(Data Plane)。於串流服務系統100中,控制層為控制器140對交換節點110-1~110-4與內容管裡裝置130進行控制、管理以及資訊交換的部分,而資料層為交換節點110-1~110-4間依據控制層的指令來轉送封包的部分。
於本實施例中,交換節點110-1~110-4例如是網路交換器,具有多個傳輸埠以協助封包在串流服務系統100之間的轉送,但本發明不限於此。內容管理裝置130例如是電腦或伺服器等類型的電子裝置,並且用於管理串流服務系統100內的資料以及訊息。於本實施例中,內容管理裝置130用於管理串流服務系統100內的影音資料。更詳細而言,內容管理裝置130例如是記錄每一筆影音資料所在的代理緩存伺服器120-1、120-2,並且將串流服務系統100內可提供的影音資料整理成一影音內容列表。
控制器140包括通訊介面142、儲存單元144以及處理器146。內容管理裝置130以及此些交換節點110-1~1104連接至通訊介面142,而處理器耦接至通訊介面142與儲存單元144。控制器140例如是電腦或伺服器等類型的電子裝置。具體而言,通訊介面142支援各種有線或無線通訊標準,例如是乙太網路(Ethernet)、藍芽(Bluetooth)通訊標準、ZIGBEE通訊標準、Wi-Fi通訊標準、長期演進技術(Long Term Evolution, LTE)通訊標準等,但不限於此。儲存單元144例如是硬碟(Hard Disk)、隨機存取記憶體(Random Access Memory, RAM)等類型的儲存元件。
處理器146可以是任何類型的控制電路,例如系統晶片(system-on-chip,SOC)、應用處理器(application processor)、媒體處理器(media processor)、微處理器(microprocessor)、中央處理單元(central processing unit,CPU)、數位信號處理器(digital signal processor)或其他類似者。
客戶裝置160-1藉由連入交換節點110-2以加入串流服務系統100,並且客戶裝置160-1的使用者可以透過客戶裝置160-1而從串流服務系統100之中選擇想觀看的影音資料。具體而言,於本實施例中,當客戶裝置160-1加入串流服務系統100時,內容管理裝置130例如是以網頁的形式呈現串流服務系統100內可提供的影音資料於客戶裝置160-1。當使用者點選欲觀看的影音資料後,串流服務系統100基於所選擇的影音資料,進一步地將客戶裝置160-1加入前述影音資料的播放群組,藉以利用對應的群播樹(Multicast tree)來提供前述影音資料的串流封包至客戶裝置160-1。
以圖1所示的實施例而言,當客戶裝置160-1(即第一客戶裝置)加入播放群組時,內容管理裝置130通知控制器140,而控制器140的處理器146由可以提供對應的影音資料的代理緩存伺服器120-1~120-2中選擇一者(即第一代理緩存伺服器,例如是代理緩存伺服器120-1),並且設定部分的交換節點(例如是交換節點110-1、110-2)以調整群播樹,使得所選擇的代理緩存伺服器120-1由群播樹的傳輸路徑(即第一傳輸路徑,包括交換節點110-1、110-2)傳輸串流封包至客戶裝置160-1。控制器140的處理器146例如是修改交換節點110-1、110-2之中的流表(flow table)以調整群播樹,並且形成代理緩存伺服器120-1與客戶裝置160-1間的傳輸路徑。本發明所提出的串流傳輸系統並不限於圖1所示的實施例。
圖2A是依照本發明的一實施例所繪示之串流服務方法的流程圖。參照圖2A,串流服務方法例如是適用於圖1所示的串流傳輸系統100,但本發明不限於此。參照圖2A,於串流服務方法之中,內容管理裝置130提供代理緩存伺服器120-1~120-2的伺服器資訊至控制器140(步驟S110)。具體而言,伺服器資訊例如是包括每個代理緩存伺服器120-1~120-2的識別碼、網路位址以及每個代理緩存伺服器120-1~120-2儲存的影音資料所對應的播放群組的資訊。控制器140則儲存伺服器資訊於儲存單元144。
接著,在將客戶裝置160-1加入播放群組的過程中,內容管理裝置130接收客戶裝置160-1所傳輸的訂閱要求(步驟S120),並且於接收訂閱要求後,由內容管理裝置130傳輸連接要求至控制器140(步驟S130)。具體而言,客戶裝置160-1發送的訂閱要求例如是包括所選擇的影音資料的內容訊息以及客戶裝置160-1的識別碼等資訊。內容管理裝置130接收訂閱要求後,進一步地產生連接要求,並且將連接要求傳輸至控制器140。連接要求包括所選擇的影音資料的內容訊息、客戶裝置160-1的識別碼、傳輸前述影音資料的串流封包的頻寬需求等資訊,而控制器140儲存前述連接要求於儲存單元144。
於接收前述連接要求後,由控制器140的處理器146從可以提供對應的影音資料的代理緩存伺服器120-1、120-2中選擇一者(即第一代理緩存伺服器,例如是代理緩存伺服器120-1),並且設定部分的交換節點(例如是交換節點110-1、110-2)以調整群播樹(步驟S140)。於調整群播樹後,控制器140更回傳連接響應至內容管理裝置130(步驟S150)。連接響應包括客戶裝置160-1的識別碼、用於提供串流封包的代理緩存伺服器120-1的識別碼等資訊。
最後,藉由調整後的群播樹的傳輸路徑(即第一傳輸路徑,包括交換節點110-1、110-2),由控制器140所選擇的代理緩存伺服器120-1傳輸串流封包至客戶裝置160-1(步驟S160)。
圖2B是依照本發明的另一實施例所繪示之串流服務方法的流程圖。參照圖2B,串流服務方法例如是適用於圖1所示的串流傳輸系統100,但本發明不限於此。具體而言,在圖2B所示的串流服務方法之中,當客戶裝置160-1加入串流服務系統100時,客戶裝置160-1與內容管理裝置130之間,首先進行驗證(Authentication)、帳號管理(Accounting)與授權(Authorization)程序(步驟S112)。接著,內容管理裝置130更提供影音內容列表至客戶裝置160-1(步驟S114)。客戶裝置160-1的使用者可以基於影音內容列表而選擇欲觀看的影音資料。
另一方面,在將客戶裝置160-1加入播放群組的過程中,若串流服務系統100基於網際網路群組管理協定(Internet Group Management Protocol, IGMP)而分別管理串流封包的群播樹中的群組成員,則當客戶裝置160-1加入前述播放群組時,客戶裝置160-1更傳輸網際網路群組管理協定(IGMP)成員報文,而網際網路群組管理協定(IGMP)成員報文則由交換節點110-1~110-4之一所接收(步驟S116)。接收前述網際網路群組管理協定(IGMP)成員報文的交換節點更基於交換節點控制協定例如是開放流(OpenFlow)協定而進一步地通知控制器140(步驟S118)。步驟S116、S118與步驟S120、S130間的先後關係不以圖2B的實施例為限。
參照圖2B,內容管理裝置130於接收連接響應後,更傳輸起始要求至控制器140於步驟S140中所選擇的代理緩存伺服器120-1(步驟S155)。具體而言,若客戶裝置160-1是所加入的播放群組的第一個客戶裝置,則內容管理裝置130傳輸起始要求至代理緩存伺服器120-11。代理緩存伺服器120-1在接收起始要求後,才藉由群播樹的傳輸路徑(包括交換節點110-1、110-2)傳輸串流封包至客戶裝置160-1。
圖3A-3B是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的方法流程圖。圖4A-4E是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的示意圖。具體而言,圖4A-4E繪示客戶裝置160-1作為第一個客戶裝置加入播放群組時,控制器140選擇第一代理緩存伺服器並且調整群播樹的示意圖。圖4A-4E所繪示的交換節點110-1~110-11、代理緩存伺服器120-1~120-2以及客戶裝置160-1不同於圖1所示的串流服務提供系統100的整體架構。
參照圖3A-3B以及圖4A,在接收連接要求後,控制器140的處理器140首先將客戶裝置160-1(即第一客戶裝置)所連接的交換節點110-3作為起始交換節點,並且將對應於群播樹的代理緩存伺服器120-1、120-2所連接的交換節點110-1、110-9作為最終交換節點(步驟S1401)。於本實施例中,對應於群播樹的代理緩存伺服器120-1、120-2皆可提供客戶裝置160-1所需要的影音資料的串流封包,而最終交換節點110-1、110-9分別與所連接的代理緩存伺服器120-1、120-2屬於同樣的群播樹。
接著,由控制器140的處理器146檢查起始交換節點110-3是否屬於群播樹(步驟S1402)。若起始交換節點110-3屬於群播樹,則連入起始交換節點110-3的客戶裝置160-1可直接由起始交換節點110-3接收所選擇的影音資料的串流封包,故而控制器140僅需設定起始交換節點110-3來調整群播樹。
然而,若起始交換節點110-3不屬於群播樹,則由控制器140的處理器146將起始交換節點110-3作為待檢查節點而加入檢查佇列以執行連入節點判斷程序(步驟S1403)。更詳細而言,參照圖3A-3B以及圖4B,在連入節點判斷程序之中,控制器140的處理器146從檢查佇列取得待檢查節點(步驟S1404),而此時待檢查節點為起始交換節點110-3。
取得待檢查節點110-3後,由控制器140的處理器146判斷待檢查節點110-3與起始交換節點110-3間的第一差距級數是否不小於最佳第一差距級數(步驟S1405)。在此,由於待檢查節點與起始交換節點皆為交換節點110-3,因此第一差距級數為1。另一方面,最佳第一差距級數此時為一內定值,例如是無限大。因此,待檢查節點110-3與起始交換節點110-3間的第一差距級數小於最佳第一差距級數。
重新參照圖4B,若第一差距級數小於最佳第一差距級數,則由控制器140的處理器146依據串流封包在傳輸時的頻寬需求檢測待檢查節點110-3與所連接的交換節點110-11、110-2、110-4之間的鏈路可用頻寬以取得第一交換節點110-11、110-2(步驟S1406)。具體而言,當待檢查節點110-3與所連接的交換節點110-11、110-2間的鏈路可用頻寬大於前述頻寬需求時,交換節點110-11、110-2即依序作為第一交換節點110-11、110-2。反之,則交換節點(例如是交換節點110-4)不作為第一交換節點。
取得第一交換節點110-11、110-2後,由控制器140的處理器146依序判斷第一交換節點110-11、110-2是否屬於群播樹(步驟S1407)。再次參照圖4B,控制器140的處理器146首先判斷第一交換節點110-11是否屬於群播樹。由於第一交換節點110-11不屬於群播樹,故控制器140的處理器146將第一交換節點110-11作為待檢查節點加入檢查佇列(步驟S1409)。類似地,控制器140的處理器146同樣將第一交換節點110-2作為待檢查節點加入檢查佇列。
參照圖3A-3B以及圖4C,控制器140判斷第一交換節點110-11、110-2皆不屬於群播樹後,分別將前述節點110-11、110-2加入檢查佇列後,控制器140的處理器146重新由檢查佇列取得待檢查節點110-11(步驟S1404)。接著,控制器140的處理器146判斷待檢查節點110-11與起始交換節點110-3間的第一差距級數是否不小於最佳第一差距級數(步驟S1405)。在此,待檢查節點110-11與起始交換節點110-3間的第一差距級數為2,而此時的最佳第一差距級數仍為內定值。
參照圖3A-3B以及圖4C,由於第一差距級數小於最佳第一差距級數,則由控制器140的處理器146依據串流封包在傳輸時的頻寬需求檢測待檢查節點110-11與所連接的交換節點110-10、110-1之間的鏈路可用頻寬以取得第一交換節點110-10、110-1(步驟S1406)。取得第一交換節點110-1、110-10後,由控制器140的處理器146依序判斷第一交換節點110-1、110-10是否屬於群播樹(步驟S1407)。
由於第一交換節點110-1即為屬於群播樹的最終交換節點110-1,因此由控制器140的處理器146判斷屬於同一群播樹的第一交換節點110-1與最終交換節點110-1之間的第二差距級數是否小於最佳第二差距級數,並且當第二差距級數小於最佳第二差距級數時,控制器140的處理器146將第一交換節點110-1設定為最佳連入節點(步驟S1408)。詳細而言,在圖4C中,第一交換節點與最終交換節點皆為交換節點110-1,故第一交換節點110-1與最終交換節點110-1之間的第二差距級數為1。另一方面,最佳第二差距級數此時為前述的內定值,並且內定值例如為無限大。此時,控制器140會將第一交換節點110-1設定為最佳連入節點。
另一方面,由於第一交換節點110-10不屬於群播樹,故而控制器140的處理器146將第一交換節點110-10作為待檢查節點加入檢查佇列(步驟S1409)。
於本實施中,最佳第一差距級數的定義為最佳連入節點與起始交換節點間的第一差距級數,而最佳第二差距級數為屬於同一群播樹的最佳連入節點與最終交換節點間的第二差距級數。然而在圖4A~4C的實施例中,直到控制器140設定第一交換節點110-1為最佳連入節點前,最佳連入節點為空值或空集合。此時,最佳第一差距級數與最佳第二差距級數皆為內定值,且內定值例如是無限大。換言之,在執行連入節點判斷程序前,控制器140的處理器146將最佳第一差距級數與最佳第二差距級數分別設定為內定值。
參照圖3A-3B以及圖4D,控制器140的處理器146從檢查佇列取得待檢查節點110-2(步驟S1404)。接著,通過步驟S1405~S1409,控制器140的處理器146將第一交換節點110-5作為待檢查節點加入檢查佇列。另一方面,由於交換節點110-11、110-2相對於起始交換節點110-3屬於同一層級,亦即交換節點110-11、110-2與起始交換節點110-3的差距級數皆為2,因此控制器140的處理器146並不會再次將最終交換節點110-1設定為最佳連入節點。接著,控制器140的處理器146從檢查佇列取得待檢查節點110-10(步驟S1404)。由於待檢查節點110-10與起始交換節點110-3間的第一差距級數為3,並且已經不小於最佳連入節點110-1與起始交換節點110-3間的最佳第一差距級數3(步驟S1405),故而控制器140的處理器146結束連入節點判斷程序(步驟S1410)。
在連入節點判斷程序之中一旦檢查佇列已不具有等待中的待檢查節點,則控制器140的處理器146同樣結束連入節點判斷程序(步驟S1410)。
參照圖3A-3B以及圖4E,於執行連入節點判斷程序後,由控制器140的處理器146從屬於群播樹的交換節點之中選擇最佳連入節點(步驟S1411)。於本實施例中,最佳連入節點即為交換節點110-1。接著,控制器140的處理器146基於起始交換節點110-3與最佳連入節點110-1選擇並調整第一代理緩存伺服器與客戶裝置160-1間的群播樹以建立第一傳輸路徑(步驟S1412)。基於圖4A-4E所繪示的實施例,控制器140的處理器146選擇與最佳連入節點110-1屬於同一群播樹的代理緩存伺服器120-1作為前述的第一代理緩存伺服器,並且調整代理緩存伺服器120-1與客戶裝置160-1間的群播樹以建立傳輸路徑(即第一傳輸路徑)。具體而言,前述的傳輸路徑包括交換節點110-3、110-1以及110-11,並且前述交換節點110-3、110-1以及110-11所屬的群播樹對應至代理緩存伺服器120-1所提供的串流封包。
圖5A-5C是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的示意圖。具體而言,圖5A-5C繪示客戶裝置160-2作為一客戶裝置加入播放群組時,控制器140選擇第一代理緩存伺服器並且調整群播樹的示意圖。與圖4A-4E的不同之處在於,在圖5A-5C的實施例中,播放群組內已經具有群組成員(即客戶裝置160-1),而客戶裝置160-1與代理緩存伺服器120-1之間已經存在群播樹,而前述群播樹包括交換節點110-3、110-1以及110-11。
參照圖3A-3B以及圖5A,連接至客戶裝置160-2的交換節點110-6作為起始交換節點,並且經由控制器140的處理器146依序執行步驟S1401~S1409後,可以依序取得待檢查節點110-4、110-5、110-7。接著,參照3A-3B以及圖5B,首先以待檢查節點110-4為對象,控制器140的處理器146執行步驟S1404~S1409後,可以取得最佳連入節點110-3。此時,最佳連入節點110-3與起始交換節點110-6間的最佳第一差距級數為3,並且,屬於同一群播樹的最佳連入節點110-3與最終交換節點110-1間的最佳第二差距級數同樣為3。
接著,同樣參照圖3A-3B以及圖5B,以待檢查節點110-7為對象,控制器140的處理器146執行步驟S1404~S1409時,可以取得第一交換節點110-1。由於第一交換節點110-1同樣屬於群播樹,並且第一交換節點110-1與最終交換節點110-1之間的第二差距級數僅為1。此時第一交換節點110-1與最終交換節點110-1之間的第二差距級數小於最佳連入節點110-3與最終交換節點110-1之間的最佳第二差距級數,故而控制器140的處理器146改為將第一交換節點110-1設為最佳連入節點。
最終,如同圖5C所示,控制器140的處理器146基於起始交換節點110-6與最佳連入節點110-1選擇並調整第一代理緩存伺服器與客戶裝置160-2間的群播樹以建立第一傳輸路徑。在圖5C的實施例中,代理緩存伺服器120-1為前述的第一代理緩存伺服器,而代理緩存伺服器120-1與客戶裝置160-2間傳輸路徑(即第一傳輸路徑)則包括交換節點110-6、110-1以及110-7。
圖6A是依照本發明的再一實施例所繪示之串流服務方法的流程圖。參照圖6A,於本實施例中,當客戶裝置(即第一客戶裝置,例如是圖1所示的客戶裝置160-1)離開播放群組時,內容管理裝置130更通知控制器140,並且控制器140的處理器146設定至少部分的交換節點(例如是圖1所示的交換節點110-1、110-2)以調整群播樹。
參照圖6A與圖1,於客戶裝置160-1離開播放群組的過程中,首先由客戶裝置160-1傳輸退訂要求至內容管理裝置130(步驟S510)。當內容管理裝置130接收退訂要求後,更依據退訂要求而傳輸離群要求至控制器140(步驟S520)。退訂要求以及離群要求皆包括目前所接收的影音資料的內容訊息以及客戶裝置160-1的識別碼等資訊。控制器140接收離群要求後,由控制器140的處理器146將客戶裝置160-1所連接的交換節點110-2作為起始交換節點,執行群播樹修剪程序以調整群播樹的傳輸路徑(即第一傳輸路徑,包括圖1所示的交換節點110-1、110-2)(步驟S530)。
圖6B是依照本發明的又一實施例所繪示之串流服務方法的流程圖。與圖6A的不同之處在於,圖6B的實施例中,當傳輸退訂要求的客戶裝置160-1為播放群組中的最後一個客戶裝置時,內容管理裝置130更依據退訂要求傳輸停止要求至代理緩存伺服器120-1以停止代理緩存伺服器120-1藉由群播樹的傳輸路徑(包括圖1所示的交換節點110-1、110-2)傳輸串流封包至客戶裝置160-1(步驟S535)。更具體而言,代理緩存伺服器120-1停止傳輸串流封包。
另一方面,參照圖6B,於客戶裝置160-1離開播放群組的過程中,客戶裝置更傳輸網際網路群組管理協定(IGMP)離群報文至串流服務系統100,並且網際網路群組管理協定(IGMP)離群報文由交換節點110-1~110-4之一所接收(步驟S522)。接收前述網際網路群組管理協定(IGMP)離群報文的交換節點(例如是交換節點110-1)更基於交換節點控制協定例如是開放流(OpenFlow)協定而進一步地通知控制器140(步驟S524)。步驟S522、S524與步驟S510、S520間的先後關係不以圖6B的實施例為限。
此外,於圖6B的實施例中,控制器140的處理器146執行群播樹修剪程序後,更回傳離群響應至內容管理裝置130(步驟S540)。離群響應包括客戶裝置160-1的識別碼等資訊。
圖7A與圖7B是依照本發明的一實施例所繪示之群播樹修剪程序的示意圖。圖7A-7B所繪示的交換節點110-1~110-11、代理緩存伺服器120-1~120-2以及客戶裝置160-1不同於圖1所示的串流服務提供系統100的整體架構。參照圖7A-7B,於群播樹修剪程序之中,當客戶裝置160-1(即第一客戶裝置)欲離開播放群組時,控制器140的處理器146判斷客戶裝置160-1所連接的起始交換節點110-3是否應用於群播樹的第二傳輸路徑。一般而言,代理緩存伺服器120-1(即第一代理緩存伺服器)由群播樹的第二傳輸路徑傳輸串流封包至另一客戶裝置(即第二客戶裝置,如圖7B所示的客戶裝置160-3)。以圖7B而言,第二傳輸路徑為客戶裝置160-3與代理緩存伺服器120-1間的傳輸路徑,並且第二傳輸路徑包括交換節點110-1、110-11、110-3與110-4。
參照圖7A的實施例,當客戶裝置160-1所連接的起始交換節點110-3未應用於群播樹的其他傳輸路徑時,則控制器140的處理器146將群播樹之中僅應用於客戶裝置160-1與代理緩存伺服器120-1間的傳輸路徑(即第一傳輸路徑)的多個交換節點110-3、110-11排除於群播樹之外。
參照圖7B的實施例,當客戶裝置160-1所連接的起始交換節點110-3應用於群播樹之中,客戶裝置160-3與代理緩存伺服器120-1間的傳輸路徑(即第二傳輸路徑)時,則控制器140將應用於客戶裝置160-1與代理緩存伺服器120-1間的傳輸路徑(即第一傳輸路徑)之中,位於起始交換節點110-3以上、且未應用於群播樹的其他分支路徑的交換節點110-3、110-11,排除於群播樹之外。控制器140並且進一步地將第二傳輸路徑之中,連接至起始交換節點110-3的下層交換節點110-4重新連接至群播樹以調整客戶裝置160-3與代理緩存伺服器120-1間的傳輸路徑。具體而言,交換節點110-4例如是重新連接至交換節點110-1、110-7或110-6。圖3A-3B所示的流程方法可以用於協助交換節點110-4重新加入代理緩存伺服器120-1的群播樹之中。具體而言,例如是以交換節點110-4作為待檢查節點而加入檢查佇列,並且重新執行步驟S1404~S1412。
圖8是依照本發明的一實施例所繪示之判斷鏈路壅塞而調整傳輸路徑的示意圖。參照圖8,於圖8的實施例中,群播樹包括交換節點110-1、110-11、110-3、110-7以及110-6。於本實施例中,控制器140的處理器146更選擇性地輪詢群播樹的交換節點110-1、110-11、110-3、110-7以及110-6以判斷傳輸路徑是否發生一鏈路壅塞(Link congestion)。具體而言,控制器140的處理器146可輪詢交換節點110-1、110-11、110-3以判斷客戶裝置160-1與代理緩存伺服器120-1間的傳輸路徑(即第一傳輸路徑)是否發生鏈路壅塞。另一方面,控制器140的處理器146可輪詢交換節點110-1、110-7、110-6以判斷客戶裝置160-2與代理緩存伺服器120-1間的傳輸路徑是否發生鏈路壅塞。
當鏈路壅塞發生於客戶裝置160-1與代理緩存伺服器120-1間的傳輸路徑,或者是鏈路壅塞發生於客戶裝置160-2與代理緩存伺服器120-1間的傳輸路徑時,控制器140的處理器146透過設定部分的交換節點來調整群播樹的傳輸路徑。具體而言,當交換節點110-7與110-1之間發生鏈路壅塞時,控制器140的處理器146更藉由設定交換節點110-1、110-2、110-5以及110-7來調整客戶裝置160-2與代理緩存伺服器120-1間的傳輸路徑,藉以維持串流封包的傳輸品質。
綜上所述,本發明實施例所提供的串流服務系統、串流服務方法以及其控制器,於客戶裝置加入播放群組時,控制器調整群播樹,使得客戶裝置與代理緩存伺服器之間可以藉由群播樹的傳輸路徑傳輸串流封包。此外,控制器更可於客戶裝置離開播放群組或者是於網路壅塞時,進一步地調整群播樹以消除或調整客戶裝置與代理緩存伺服器之間的傳輸路徑。藉由控制器的協助,影音串流的傳輸可以滿足基本頻寬的要求。另一方面,客戶裝置與代理緩存伺服器之間的傳輸路徑也可以符合最短路徑的需求。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧串流服務系統
110-1~110-11‧‧‧交換節點
120-1~120-3‧‧‧代理緩存伺服器
130‧‧‧內容管理裝置
140‧‧‧控制器
142‧‧‧通訊介面
144‧‧‧儲存單元
146‧‧‧處理器
150‧‧‧路由器
160-1~160-3‧‧‧客戶裝置
S110、S120、S130、S140、S150、S160、S112、S114、S116、S118、S510、S520、S530、S522、S524、S535、S540‧‧‧串流服務方法的步驟
S1401、S1402、S1403、S1404、S1405、S1406、S1407、S1408、S1409、S1410、S1411、S1412‧‧‧選擇第一代理緩存伺服器並且調整群播樹的步驟
圖1是依照本發明一實施例所繪示之串流服務系統的示意圖。 圖2A是依照本發明的一實施例所繪示之串流服務方法的流程圖。 圖2B是依照本發明的另一實施例所繪示之串流服務方法的流程圖。 圖3A-3B是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的方法流程圖。 圖4A-4E是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的示意圖。 圖5A-5C是依照本發明的一實施例所繪示之選擇第一代理緩存伺服器並且調整群播樹的示意圖。 圖6A是依照本發明的再一實施例所繪示之串流服務方法的流程圖。 圖6B是依照本發明的又一實施例所繪示之串流服務方法的流程圖。 圖7A與圖7B是依照本發明的一實施例所繪示之群播樹修剪程序的示意圖。 圖8是依照本發明的一實施例所繪示之判斷鏈路壅塞而調整傳輸路徑的示意圖。
100‧‧‧串流服務系統
110-1~110-4‧‧‧交換節點
120-1~120-3‧‧‧代理緩存伺服器
130‧‧‧內容管理裝置
140‧‧‧控制器
142‧‧‧通訊介面
144‧‧‧儲存單元
146‧‧‧處理器
150‧‧‧路由器
160-1‧‧‧客戶裝置

Claims (32)

  1. 一種串流服務系統,包括: 多個交換節點,該些交換節點間相互連接; 多個代理緩存伺服器,分別連接至該些交換節點之一; 一內容管理裝置;以及 一控制器,連接至該些交換節點,並與該內容管理裝置進行通訊, 其中該內容管理裝置提供該些代理緩存伺服器的多個伺服器資訊至該控制器, 其中一第一客戶裝置加入一播放群組時,該內容管理裝置通知該控制器,而該控制器由該些代理緩存伺服器中選擇一第一代理緩存伺服器,並且設定至少部分的該些交換節點以調整一群播樹(Multicast Tree), 該第一代理緩存伺服器由該群播樹的一第一傳輸路徑傳輸一串流封包至該第一客戶裝置。
  2. 如申請專利範圍第1項所述的串流服務系統,其中當該第一客戶裝置加入該播放群組時,該第一客戶裝置傳輸一訂閱要求至該內容管理裝置,而該內容管理裝置依據該訂閱要求傳輸一連接要求至該控制器, 該控制器接收該連接要求後,選擇對應該播放群組的該第一代理緩存伺服器,設定該至少部分的該些交換節點以調整該群播樹,並且回傳一連接響應至該內容管理裝置。
  3. 如申請專利範圍第2項所述的串流服務系統,其中該內容管理裝置於接收該連接響應後,該內容管理裝置更傳輸一起始要求至該第一代理緩存伺服器,並且該第一代理緩存伺服器於接收該起始要求後,藉由該群播樹的該第一傳輸路徑傳輸該串流封包至該第一客戶裝置。
  4. 如申請專利範圍第2項所述的串流服務系統,其中該控制器將該第一客戶裝置所連接的該些交換節點其中一者作為一起始交換節點,將對應於該群播樹的該至少一代理緩存伺服器所連接的該些交換節點至少一者作為至少一最終交換節點,該至少一最終交換節點屬於該群播樹,並且該控制器檢查該起始交換節點是否屬於該群播樹, 若該起始交換節點不屬於該群播樹,則該控制器將該起始交換節點加入一檢查佇列以執行一連入節點判斷程序, 該控制器執行該連入節點判斷程序以從屬於該群播樹的該至少部分的該些交換節點之中選擇一最佳連入節點,並且基於該起始交換節點與該最佳連入節點選擇並調整該第一代理緩存伺服器與該第一客戶裝置間的該群播樹以建立該第一傳輸路徑。
  5. 如申請專利範圍第4項所述的串流服務系統,其中於該連入節點判斷程序中, 該控制器由該檢查佇列取得一待檢查節點,並且判斷該待檢查節點與該起始交換節點間的一第一差距級數是否不小於一最佳第一差距級數, 若該第一差距級數不小於該最佳第一差距級數,則該控制器結束該連入節點判斷程序, 若該第一差距級數小於該最佳第一差距級數,則該控制器依據一頻寬需求檢測該待檢查節點與連接該待檢查節點的該等交換節點至少一者之間的一鏈路可用頻寬以取得至少一第一交換節點, 該控制器依序判斷該至少一第一交換節點是否屬於該群播樹, 若該控制器判斷該至少一第一交換節點屬於該群播樹,則該控制器判斷屬於同一該群播樹的該至少一第一交換節點與該至少一最終交換節點之間的一第二差距級數是否小於一最佳第二差距級數,當該第二差距級數小於該最佳第二差距級數時,該控制器將該至少一第一交換節點設定為該最佳連入節點, 若該至少一第一交換節點不屬於該群播樹,則該控制器將該至少一第一交換節點加入該檢查佇列, 其中當該檢查佇列已不具有等待中的該待檢查節點,則該控制器結束該連入節點判斷程序。
  6. 如申請專利範圍第5項所述的串流服務系統,其中該最佳第一差距級數為該最佳連入節點與該起始交換節點間的該第一差距級數,該最佳第二差距級數為屬於同一該群播樹的該最佳連入節點與該至少一最終交換節點間的該第二差距級數,並且於執行該連入節點判斷程序前,該最佳第一差距級數與該最佳第二差距級數分別為一內定值。
  7. 如申請專利範圍第1項所述的串流服務系統,其中當該第一客戶裝置加入該播放群組時,該第一客戶裝置更傳輸一網際網路群組管理協定(Internet Group Management Protocol ,IGMP)成員報文至該串流服務系統,並且該網際網路群組管理協定(IGMP)成員報文由該些交換節點之一所接收。
  8. 如申請專利範圍第1項所述的串流服務系統,其中該第一客戶裝置離開該播放群組時,該內容管理裝置通知該控制器,並且該控制器設定該至少部分的該些交換節點以調整該群播樹。
  9. 如申請專利範圍第8項所述的串流服務系統,其中當該第一客戶裝置離開該播放群組時,該第一客戶裝置傳輸一退訂要求至該內容管理裝置,而該內容管理裝置依據該退訂要求傳輸一離群要求至該控制器, 該控制器接收該離群要求後,將該第一客戶裝置所連接的該交換節點作為一起始交換節點,執行一群播樹修剪程序以調整該群播樹的該第一傳輸路徑。
  10. 如申請專利範圍第9項所述的串流服務系統,其中該內容管理裝置更依據該退訂要求傳輸一停止要求至該第一代理緩存伺服器以停止該第一代理緩存伺服器藉由該群播樹的該第一傳輸路徑傳輸該串流封包至該第一客戶裝置。
  11. 如申請專利範圍第9項所述的串流服務系統,其中於該群播樹修剪程序中, 該控制器判斷該起始交換節點是否應用於該群播樹的一第二傳輸路徑,並且該第一代理緩存伺服器由該群播樹的該第二傳輸路徑傳輸該串流封包至一第二客戶裝置, 若該起始交換節點未應用於該群播樹的該第二傳輸路徑,則該控制器將該群播樹之中僅應用於該第一傳輸路徑的該至少部分的該些交換節點排除於該群播樹之外, 若該起始交換節點應用於該群播樹的該第二傳輸路徑,則該控制器將該第一傳輸路徑中位於該起始交換節點以上、且未應用於該群播樹的其他分支路徑的該至少部分的該些交換節點,排除於該群播樹之外,並且將該第二傳輸路徑之中連接至該起始交換節點的一下層交換節點重新連接至該群播樹以調整該第二傳輸路徑。
  12. 如申請專利範圍第9項所述的串流服務系統,其中該第一客戶裝置更傳輸一網際網路群組管理協定(IGMP)離群報文至該串流服務系統,並且該網際網路群組管理協定(IGMP)離群報文由該些交換節點之一所接收。
  13. 如申請專利範圍第1項所述的串流服務系統,其中該控制器更選擇性地輪詢該群播樹的該至少部分的該些交換節點以判斷該第一傳輸路徑是否發生一鏈路壅塞,並且當該鏈路壅塞發生於該第一傳輸路徑時,該控制器調整該群播樹的該第一傳輸路徑。
  14. 一種串流服務方法,適用於一串流服務系統,該串流服務系統包括相互連接的多個交換節點、分別連接至該些交換節點之一的多個代理緩存伺服器、一內容管理裝置以及一控制器,該控制器連接至該些交換節點,並與該內容管理裝置進行通訊,而該串流服務方法包括: 由該內容管理裝置,提供該些代理緩存伺服器的多個伺服器資訊至該控制器; 由該內容管理裝置接收一第一客戶裝置所傳輸的一訂閱要求; 於接收該訂閱要求後,由該內容管理裝置傳輸一連接要求至該控制器; 於接收該連接要求後,由該控制器從該些代理緩存伺服器中選擇一第一代理緩存伺服器,並且設定至少部分的該些交換節點以調整一群播樹; 由該控制器回傳一連接響應至該內容管理裝置;以及 藉由該群播樹的一第一傳輸路徑,由該第一代理緩存伺服器傳輸一串流封包至該第一客戶裝置。
  15. 如申請專利範圍第14項所述的串流服務方法,更包括: 於接收該連接響應後,由內容管理裝置傳輸一起始要求至該第一代理緩存伺服器, 並且由該第一代理緩存伺服器傳輸該串流封包至該第一客戶裝置的步驟,更包括: 於接收該起始要求後,藉由該群播樹的該第一傳輸路徑,由該第一代理緩存伺服器傳輸該串流封包至該第一客戶裝置。
  16. 如申請專利範圍第14項所述的串流服務方法,其中由該控制器選擇該第一代理緩存伺服器並且調整該群播樹的步驟,更包括: 由控制器將該第一客戶裝置所連接的該些交換節點其中一者作為一起始交換節點,並且將對應於該群播樹的該至少一代理緩存伺服器所連接的該些交換節點至少一者作為至少一最終交換節點,該至少一最終交換節點屬於該群播樹; 由該控制器檢查該起始交換節點是否屬於該群播樹; 若該起始交換節點不屬於該群播樹,則由控制器將該起始交換節點加入一檢查佇列以執行一連入節點判斷程序;以及 於執行該連入節點判斷程序後,由該控制器從屬於該群播樹的該至少部分的該些交換節點之中選擇一最佳連入節點;以及 該控制器基於該起始交換節點與該最佳連入節點選擇並調整該第一代理緩存伺服器與該第一客戶裝置間的該群播樹以建立該第一傳輸路徑。
  17. 如申請專利範圍第16項所述的串流服務方法,其中執行該連入節點判斷程序的步驟,更包括: 由該控制器從該檢查佇列取得一待檢查節點; 由該控制器判斷該待檢查節點與該起始交換節點間的一第一差距級數是否不小於一最佳第一差距級數; 若該第一差距級數不小於該最佳第一差距級數,由該控制器結束該連入節點判斷程序; 若該第一差距級數小於該最佳第一差距級數,由該控制器依據一頻寬需求檢測該待檢查節點與連接該待檢查節點的該等交換節點至少一者之間的一鏈路可用頻寬以取得至少一第一交換節點; 由該控制器依序判斷該至少一第一交換節點是否屬於該群播樹; 若該至少一第一交換節點屬於該群播樹,由該控制器判斷屬於同一該群播樹的該至少一第一交換節點與該至少一最終交換節點之間的一第二差距級數是否小於一最佳第二差距級數,並且當該第二差距級數小於該最佳第二差距級數時,該控制器將該至少一第一交換節點設定為該最佳連入節點; 若該至少一第一交換節點不屬於該群播樹,由該控制器將該至少一第一交換節點加入該檢查佇列;以及 當該檢查佇列已不具有等待中的該待檢查節點,由該控制器結束該連入節點判斷程序。
  18. 如申請專利範圍第17項所述的串流服務方法,其中該最佳第一差距級數為該最佳連入節點與該起始交換節點間的該第一差距級數,該最佳第二差距級數為屬於同一該群播樹的該最佳連入節點與該至少一最終交換節點間的該第二差距級數,並且於執行該連入節點判斷程序前,該最佳第一差距級數與該最佳第二差距級數分別為一內定值。
  19. 如申請專利範圍第14項所述的串流服務方法,更包括: 由該些交換節點之一接收該第一客戶裝置所傳輸的一網際網路群組管理協定(IGMP)成員報文。
  20. 如申請專利範圍第14項所述的串流服務方法,更包括: 由該內容管理裝置接收該第一客戶裝置所傳輸的一退訂要求; 由該內容管理裝置依據該退訂要求傳輸一離群要求至該控制器;以及 於接收該離群要求後,以該第一客戶裝置所連接的該交換節點作為一起始交換節點,由該控制器將執行一群播樹修剪程序以調整該群播樹的該第一傳輸路徑。
  21. 如申請專利範圍第20項所述的串流服務方法,更包括: 由該內容管理裝置依據該退訂要求傳輸一停止要求至該第一代理緩存伺服器;以及 於接收該停止要求後,由該第一代理緩存伺服器停止藉由該群播樹的該第一傳輸路徑傳輸該串流封包至該第一客戶裝置。
  22. 如申請專利範圍第20項所述的串流服務方法,其中執行該群播樹修剪程序的步驟,更包括: 由該控制器判斷該起始交換節點是否應用於該群播樹的一第二傳輸路徑,其中該第一代理緩存伺服器由該群播樹的該第二傳輸路徑傳輸該串流封包至一第二客戶裝置; 若該起始交換節點未應用於該群播樹的該第二傳輸路徑,由該控制器將該群播樹之中僅應用於該第一傳輸路徑的該至少部分的該些交換節點排除於該群播樹之外;以及 若該起始交換節點應用於該群播樹的該第二傳輸路徑,由該控制器將該第一傳輸路徑中位於該起始交換節點以上、且未應用於該群播樹的其他分支路徑的該至少部分的該些交換節點,排除於該群播樹之外,並且將該第二傳輸路徑之中連接至該起始交換節點的一下層交換節點重新連接至該群播樹以調整該第二傳輸路徑。
  23. 如申請專利範圍第20項所述的串流服務方法,更包括: 由該些交換節點之一接收該第一客戶裝置所傳輸的一網際網路群組管理協定(IGMP)離群報文。
  24. 如申請專利範圍第14項所述的串流服務方法,更包括: 由控制器選擇性地輪詢該群播樹的該至少部分的該些交換節點以判斷該第一傳輸路徑是否發生一鏈路壅塞;以及 當該鏈路壅塞發生於該第一傳輸路徑時,由該控制器調整該群播樹的該第一傳輸路徑。
  25. 一種控制器,適用於一串流服務系統,該串流服務系統包括相互連接的多個交換節點、分別連接至該些交換節點之一的多個代理緩存伺服器以及一內容管理裝置,該控制器包括: 一通訊介面,與該內容管理裝置進行通訊,並且該些交換節點連接至該通訊介面; 一儲存單元;以及 一處理器,耦接至該通訊介面與該儲存單元, 其中該內容管理裝置提供該些代理緩存伺服器的多個伺服器資訊至該控制器,而該控制器儲存該些伺服器資訊於該儲存單元, 其中一第一客戶裝置加入一播放群組時,該內容管理裝置通知該控制器,該控制器的該處理器由該些代理緩存伺服器中選擇一第一代理緩存伺服器,設定至少部分的該些交換節點以調整一群播樹,使得該第一代理緩存伺服器由該群播樹的一第一傳輸路徑傳輸一串流封包至該第一客戶裝置。
  26. 如申請專利範圍第25項所述的控制器,其中當該第一客戶裝置加入該播放群組時,該控制器透過該通訊介面而由該內容管理裝置接收一連接要求, 該控制器接收該連接要求後,由該處理器選擇對應該播放群組的該第一代理緩存伺服器,設定該至少部分的該些交換節點以調整該群播樹,並且透過該通訊介面回傳一連接響應至該內容管理裝置, 該控制器更基於該連接要求而記錄該播放群組的一頻寬需求、該第一客戶裝置與該群播樹的相關資訊於該儲存單元。
  27. 如申請專利範圍第26項所述的控制器,其中該控制器的該處理器將該第一客戶裝置所連接的該些交換節點其中一者作為一起始交換節點,將對應於該群播樹的該至少一代理緩存伺服器所連接的該些交換節點至少一者作為至少一最終交換節點,該至少一最終交換節點屬於該群播樹,並且檢查該起始交換節點是否屬於該群播樹, 若該起始交換節點不屬於該群播樹,則該控制器的該處理器將該起始交換節點加入一檢查佇列以執行一連入節點判斷程序, 該控制器的該處理器執行該連入節點判斷程序以從屬於該群播樹的該至少部分的該些交換節點之中選擇一最佳連入節點,並且基於該起始交換節點與該最佳連入節點選擇並調整該第一代理緩存伺服器與該第一客戶裝置間的該群播樹以建立該第一傳輸路徑。
  28. 如申請專利範圍第27項所述的控制器,其中該處理器由該檢查佇列取得一待檢查節點,並且判斷該待檢查節點與該起始交換節點間的一第一差距級數是否不小於一最佳第一差距級數, 若該第一差距級數不小於該最佳第一差距級數,則該處理器結束連入節點判斷程序, 若該第一差距級數小於該最佳第一差距級數,則該處理器依據該頻寬需求檢測該待檢查節點與連接該待檢查節點的該等交換節點至少一者之間的一鏈路可用頻寬以取得至少一第一交換節點, 該處理器依序判斷該至少一第一交換節點是否屬於該群播樹, 若該處理器判斷該至少一第一交換節點屬於該群播樹,則該處理器判斷屬於同一該群播樹的該至少一第一交換節點與該至少一最終交換節點之間的一第二差距級數是否小於一最佳第二差距級數,當該第二差距級數小於該最佳第二差距級數時,該處理器將該至少一第一交換節點設定為該最佳連入節點, 若該至少一第一交換節點不屬於該群播樹,則該處理器將該至少一第一交換節點加入該檢查佇列, 其中當該檢查佇列已不具有等待中的該待檢查節點,則該處理器結束該連入節點判斷程序。
  29. 如申請專利範圍第28項所述的控制器,其中該最佳第一差距級數為該最佳連入節點與該起始交換節點間的該第一差距級數,該最佳第二差距級數為屬於同一該群播樹的該最佳連入節點與該至少一最終交換節點間的該第二差距級數,並且於執行該連入節點判斷程序前,該處理器分別將該最佳第一差距級數與該最佳第二差距級數設定為一內定值。
  30. 如申請專利範圍第25項所述的控制器,其中該第一客戶裝置離開該播放群組時,該內容管理裝置通知該控制器,並且該控制器的該處理器設定該至少部分的該些交換節點以調整該群播樹。
  31. 如申請專利範圍第30項所述的控制器,其中當該第一客戶裝置離開該播放群組時,該控制器透過該通訊介面而由該內容管理裝置接收一離群要求, 於接收該離群要求後,該控制器的該處理器將該第一客戶裝置所連接的該交換節點作為一起始交換節點,執行一群播樹修剪程序以調整該群播樹的該第一傳輸路徑。
  32. 如申請專利範圍第25項所述的串流服務系統,其中該控制器的該處理器更選擇性地輪詢該群播樹的該至少部分的該些交換節點以判斷該第一傳輸路徑是否發生一鏈路壅塞,並且當該鏈路壅塞發生於該第一傳輸路徑時,該處理器調整該群播樹的該第一傳輸路徑。
TW104143652A 2015-12-24 2015-12-24 串流服務系統、串流服務方法以及串流服務控制裝置 TWI581624B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104143652A TWI581624B (zh) 2015-12-24 2015-12-24 串流服務系統、串流服務方法以及串流服務控制裝置
US14/983,560 US20170187763A1 (en) 2015-12-24 2015-12-30 Streaming service system, streaming service method and controller thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104143652A TWI581624B (zh) 2015-12-24 2015-12-24 串流服務系統、串流服務方法以及串流服務控制裝置

Publications (2)

Publication Number Publication Date
TWI581624B TWI581624B (zh) 2017-05-01
TW201724863A true TW201724863A (zh) 2017-07-01

Family

ID=59087337

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104143652A TWI581624B (zh) 2015-12-24 2015-12-24 串流服務系統、串流服務方法以及串流服務控制裝置

Country Status (2)

Country Link
US (1) US20170187763A1 (zh)
TW (1) TWI581624B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US10708196B2 (en) * 2018-01-15 2020-07-07 Hewlett Packard Enterprise Development Lp Modifications of headend forwarding rules to join wide area network branch hosts to multicast groups
US11652733B2 (en) * 2020-11-25 2023-05-16 Arista Networks, Inc. Media route handling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295525B2 (en) * 2003-09-11 2007-11-13 Sun Microsystems, Inc. System and method for managing multicast group membership
TWI270273B (en) * 2005-03-09 2007-01-01 Suio Inc Proxy one-to-many data transmission system
WO2006115487A1 (en) * 2005-04-25 2006-11-02 Thomson Licensing Routing protocol for multicast in a meshed network
US20070064948A1 (en) * 2005-09-19 2007-03-22 George Tsirtsis Methods and apparatus for the utilization of mobile nodes for state transfer
US8274978B2 (en) * 2007-01-17 2012-09-25 Panasonic Corporation Systems and methods for reducing multicast traffic over a network
US20090055540A1 (en) * 2007-08-20 2009-02-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and Systems for Multicast Control and Channel Switching for Streaming Media in an IMS Environment
US8971322B2 (en) * 2009-03-03 2015-03-03 Telefonaktiebolaget Lm Ericsson (Publ) Multicast interworking systems and methods
TWI431997B (zh) * 2010-12-30 2014-03-21 Ind Tech Res Inst 用於即時媒體碼流之點對點網路傳輸方法及系統
US8638789B1 (en) * 2012-05-04 2014-01-28 Google Inc. Optimal multicast forwarding in OpenFlow based networks
EP2974133B1 (en) * 2013-03-13 2019-10-23 Nec Corporation Method and system for controlling an underlying physical network by a software defined network
US9172550B2 (en) * 2013-07-19 2015-10-27 Globalfoundries U.S. 2 Llc Company Management of a multicast system in a software-defined network
US20150054279A1 (en) * 2013-08-22 2015-02-26 Sauer-Danfoss Inc. System for a hydraulically powered electric generator
US9338096B2 (en) * 2013-08-30 2016-05-10 Futurewei Technologies, Inc. Multicast tree packing for multi-party video conferencing under SDN environment

Also Published As

Publication number Publication date
US20170187763A1 (en) 2017-06-29
TWI581624B (zh) 2017-05-01

Similar Documents

Publication Publication Date Title
CN103945198B (zh) 一种控制视频监控系统流媒体路由的系统和方法
US9680924B2 (en) System and method for resource selection during group communication broadcast
KR101086111B1 (ko) 메시 네트워크에서의 멀티캐스트를 위한 라우팅 프로토콜
CA2721472C (en) Method and apparatus for multicast tree management in multi-hop relay communication system
US9014051B2 (en) Updating multicast group information of a client device of a wireless mesh network
US9172550B2 (en) Management of a multicast system in a software-defined network
US9660836B2 (en) Network topology discovery
JP2006041784A (ja) 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
US20120023527A1 (en) Method, system and home stream media server for implementing video on demand service
JP2016527579A (ja) データ通信システム及び方法
TWI581624B (zh) 串流服務系統、串流服務方法以及串流服務控制裝置
JP2008278337A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法
WO2015010519A1 (zh) 拓扑结构发现方法及装置
CN103188132A (zh) 基于内容分发网络的即时通讯方法及系统
WO2017206369A1 (zh) 数据发送的方法、装置、系统、物理家庭网关及接入节点
KR100953507B1 (ko) 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법
CN106375100A (zh) 一种视频监控系统中组播实现方法及装置
CN103200119A (zh) 一种以太网虚拟化互联站点内负载分担方法和边缘设备
JP6467373B2 (ja) 通信チャネル制御装置、通信チャネル制御方法及び通信チャネル制御プログラム
US11018886B1 (en) Methods and apparatus for selectively filtering an IP multicast data stream for selected group members of a multicast group
CN112165416A (zh) 一种组网和通信的方法和装置
KR20050043176A (ko) 멀티캐스트 방식의 ip 방송 방법 및 시스템
US10230660B2 (en) Method and system for centralized controller for audio visual broadcasts
JP6177957B1 (ja) マルチキャスト用コントロールサーバ及びマルチキャスト制御システム
WO2016202072A1 (zh) 自动配置方法、控制器及设备