TWI630807B - 負載平衡系統、負載平衡裝置及拓樸管理方法 - Google Patents
負載平衡系統、負載平衡裝置及拓樸管理方法 Download PDFInfo
- Publication number
- TWI630807B TWI630807B TW105142409A TW105142409A TWI630807B TW I630807 B TWI630807 B TW I630807B TW 105142409 A TW105142409 A TW 105142409A TW 105142409 A TW105142409 A TW 105142409A TW I630807 B TWI630807 B TW I630807B
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- edge
- edge server
- video stream
- servers
- Prior art date
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本揭露提出一種負載平衡系統、負載平衡裝置及拓樸管理方法。拓樸管理方法包括為每個邊緣伺服器配置及維護傳輸進度值;將邊緣伺服器分組為多個伺服器群組,每個伺服器群組的邊緣伺服器供應一影音串流且每個邊緣伺服器被分組到至少一伺服器群組;從頻寬使用率高於高負載門檻值的第一邊緣伺服器供應的至少一影音串流中選擇第一影音串流;選擇第二邊緣伺服器;將第一影音串流的影音資料同步到第二邊緣伺服器;將第二邊緣伺服器的傳輸進度值設定為第一邊緣伺服器的傳輸進度值;以及將第二邊緣伺服器加入供應第一影音串流的伺服器群組。
Description
本揭露是有關於一種負載平衡系統、負載平衡裝置及拓樸管理方法,且亦有關於一種能最佳化利用頻寬及硬體資源的負載平衡系統、負載平衡裝置及拓樸管理方法。
隨著網際網路技術與雲端運算技術快速發展,雲端運算服務具備可靠性高、建置成本低、擴展性佳等優勢,企業可隨時利用雲端環境快速部署虛擬機器以提供各式應用服務如Web檔案傳輸、影音隨選視訊(Video on Demand)、影音串流(Live Streaming)等,解決了傳統自主建置系統設備可能導致使用率不佳與設備維護之問題。雖然雲端運算服務帶來許多好處,對企業而言,如何有效率地依其用戶數量調整雲端系統服務規模以維持良好的服務品質,是一項重要的議題。
以影音串流應用服務為例,影音發佈端利用影音發佈軟體或裝置將影音串流上傳至影音服務系統指定之串流來源伺服器(Origin Server)後,再由串流來源伺服器將串流資料擴散至串流邊緣伺服器(Edge Server)以服務使用者連線進行影音播放,此為典型且已廣泛被使用的來源-邊緣架構。在此架構中,影音服務系統會配置一負載平衡伺服器(Load Balancer)接收影音串流觀看請求並進行連線資料分流,係指當使用者欲觀看某一影音頻道時,需先連線至負載平衡伺服器,再由負載平衡伺服器決定此一使用者連線應重新導向(Redirect)至哪一台串流邊緣伺服器以取得該影音頻道之影音串流資料。其中,每一影音頻道可對應多種解析度產生多個影音串流。另外,不同的影音頻道依其影音內容熱門程度與播放時段等因素影響,會有不同數量的線上觀賞人數,若影音串流系統配置服務使用者的串流邊緣伺服器不足,則在大量觀看人數的情形下,易導致連線擁塞,使得影音播放不順暢與延遲時間上升而造成使用者服務體驗品質下降。反之,若配置的串流邊緣伺服器數量過多,則可能導致有些串流邊緣伺服器的使用者觀看數量偏低,而造成雲端資源浪費與主機租用成本提高。
目前已有許多網路流量之負載平衡方法被提出與應用,例如隨機選擇(Random)、輪替(Round Robin)、加權輪替(Weighted Round Robin, WRR)、加權公平佇列(Weighted Fair Queuing, WFQ)、最少連接(Least Connection)、加權最少連接(Weighted Least Connection)、伺服器負載(Server Load)評估等。在多影音串流與動態觀看人數的影音應用情境下,如何使用適當的負載平衡方法並搭配伺服器動態擴充/縮編機制,達到有效率的影音資料擴散且節省主機租用成本,便是一項挑戰。
本揭露提供一種負載平衡系統、負載平衡裝置及拓樸管理方法,使得影音資料的資源用量可在對應的伺服器群組間自適性流動,以最少的頻寬及硬體資源達到最佳化的負載平衡效果。
本揭露的一範例實施例提出一種拓樸管理方法,包括為每一多個邊緣伺服器配置及維護一傳輸進度值。上述拓樸管理方法更包括將所述多個邊緣伺服器分組為多個伺服器群組,其中每一所述多個伺服器群組的邊緣伺服器供應多個影音串流中的一影音串流,每一所述邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組。上述拓樸管理方法更包括從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值並且所述第一邊緣伺服器供應所述多個影音串流之中的至少一影音串流的影音資料;從所述第一邊緣伺服器供應的所述至少一影音串流中選擇一第一影音串流;從所述多個邊緣伺服器之中選擇一第二邊緣伺服器;將所述第一影音串流的影音資料同步到所述第二邊緣伺服器;將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值。上述拓樸管理方法更包括將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
本揭露的一範例實施例提出一種負載平衡系統,包括多個邊緣伺服器、多個來源伺服器及一負載平衡裝置。所述多個來源伺服器耦接所述多個邊緣伺服器,其中每一所述多個來源伺服器產生多個影音串流中的一影音串流,所述影音串流的影音資料被同步到所述多個邊緣伺服器中的至少一邊緣伺服器。負載平衡裝置耦接所述多個來源伺服器及所述多個邊緣伺服器。其中所述負載平衡裝置為每一所述多個邊緣伺服器配置及維護一傳輸進度值。其中所述負載平衡裝置將多個邊緣伺服器分組為多個伺服器群組。其中每一所述多個伺服器群組的邊緣伺服器供應所述影音串流,每一所述邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組。其中所述負載平衡裝置從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值並且所述第一邊緣伺服器提供所述多個影音串流之中的至少一影音串流的影音資料。其中所述負載平衡裝置從所述第一邊緣伺服器供應的所述至少一影音串流中選擇一第一影音串流。其中所述負載平衡裝置從所述多個邊緣伺服器之中選擇一第二邊緣伺服器。其中所述負載平衡裝置將所述第一影音串流的影音資料同步到所述第二邊緣伺服器。其中所述負載平衡裝置將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值。其中所述負載平衡裝置將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
本揭露的一範例實施例提出一種負載平衡裝置,包括一處理單元及一通訊單元,所述負載平衡裝置藉由所述通訊單元耦接所述多個來源伺服器及所述多個邊緣伺服器,所述多個來源伺服器耦接所述多個邊緣伺服器。其中每一所述多個來源伺服器產生多個影音串流中的一影音串流,所述影音串流的影音資料被同步到所述多個邊緣伺服器中的至少一邊緣伺服器。其中所述處理單元為每一所述多個邊緣伺服器配置及維護一傳輸進度值。其中所述處理單元將多個邊緣伺服器分組為多個伺服器群組。其中每一所述多個伺服器群組的邊緣伺服器供應所述影音串流,每一所述邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組。其中所述處理單元從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值並且所述第一邊緣伺服器提供所述多個影音串流之中的至少一影音串流的影音資料。其中所述處理單元從所述第一邊緣伺服器供應的所述至少一影音串流中選擇一第一影音串流。其中所述處理單元從所述多個邊緣伺服器之中選擇一第二邊緣伺服器。其中所述通訊單元發送一訊息給所述第一影音串流所對應的所述來源伺服器或所述第二邊緣伺服器,將所述第一影音串流的影音資料同步到所述第二邊緣伺服器。其中所述處理單元將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值。其中所述處理單元將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
基於上述,本揭露的拓樸管理方法會對每一個伺服器配置及維護單一的傳輸進度值,並根據伺服器群組中所有伺服器的傳輸進度值選出一個負載較小的伺服器來提供影音資料,當系統中有高負載邊緣伺服器時,將其影音串流移轉給其他負載較小的邊緣伺服器,以維持系統中所有邊緣伺服器的頻寬及硬體資源的負載平衡。
為讓本揭露的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1為根據一範例實施例的負載平衡系統的方塊圖。
請參照圖1,負載平衡系統100包括負載平衡裝置110、邊緣伺服器120-1~120-3及來源伺服器130-1~130-2。首先值得注意的是,儘管在圖1中只繪示了三個邊緣伺服器120-1~120-3及兩個來源伺服器130-1~130-2,但本揭露不限於此,負載平衡系統100可包括任意數量的邊緣伺服器及來源伺服器。來源伺服器130-1~130-2所耦接到的邊緣伺服器120-1~120-3的數量和對象會根據負載平衡系統100的負載平衡狀態而動態調整。負載平衡系統100可耦接到多個用戶端裝置140-1~140-n及管理裝置150,其中管理裝置150還可耦接到資料庫160。用戶端裝置140-1~140-n可為個人電腦、筆記型電腦、平板電腦、智慧型手機等電子裝置。使用者可藉由用戶端裝置140-1~140-n上的網頁瀏覽器或播放器等軟體從邊緣伺服器120-1~120-3下載影音資料。在一範例實施例中,負載平衡裝置110可為包括處理器(亦參考為處理單元)及通訊晶片(亦參考為通訊單元)的伺服器。
每一邊緣伺服器120-1~120-3及來源伺服器130-1~130-2可設置於相同或不同的機器中。而每一來源伺服器130-1~130-2也可以與任一邊緣伺服器120-1~120-3設置於同一個實體機器或同一個虛擬機器。來源伺服器130-1~130-2與邊緣伺服器120-1~120-3設置於同一個實體或虛擬機器時,來源伺服器130-1~130-2與邊緣伺服器120-1~120-3會共享同一個實體機器或虛擬機器的中央處理單元運算資源與網路頻寬資源。負載平衡裝置110可與任一邊緣伺服器120-1~120-3或來源伺服器130-1~130-2位於相同或不同的實體或虛擬機器。負載平衡裝置110可以是以軟體實作的程式碼或是以硬體實作的負載平衡電路,也可以是一個獨立的負載平衡伺服器。
舉例來說,當影音發佈端正在利用影音發佈軟體或裝置將影音串流的影音資料上傳到來源伺服器130-1時,負載平衡裝置110會根據影音串流的總流量需求指示來源伺服器130-1將影音資料同步到由邊緣伺服器120-1、120-2所組成的伺服器群組,以提供用戶端裝置140-1~140-n從此伺服器群組中的邊緣伺服器120-1或120-2下載影音資料。詳細來說,負載平衡裝置110可根據邊緣伺服器的負載狀況來調整影音串流對應的伺服器群組,並且動態擴充或縮減伺服器群組中邊緣伺服器的數量。
當用戶端裝置140-1~140-n要下載影音資料時,用戶端裝置140-1~140-n會發送請求給負載平衡裝置110以詢問邊緣伺服器網址,並在獲得此邊緣伺服器網址後發送請求給此邊緣伺服器以下載影音資料。上述下載過程可採用超本文傳輸協定(HyperText Transfer Protocol,HTTP)網址導向,以相容於現有播放器的影音資料下載。當負載平衡裝置110收到用戶端裝置140-1~140-n的下載請求時,負載平衡裝置110可依據用戶端裝置140-1~140-n欲下載的影音串流(例如,來源伺服器130-1的影音串流)對應的伺服器群組(例如,邊緣伺服器120-1、120-2)中的邊緣伺服器的負載情況選擇一個邊緣伺服器(例如,邊緣伺服器120-1)並將其網址回覆給用戶端裝置140-1~140-n。
也就是說,來源伺服器130-1會對影音資料進行編碼並將影音資料擴散到邊緣伺服器120-1、120-2。邊緣伺服器120-1、120-2則會接收編碼後的影音資料並提供影音資料的下載頻寬以供用戶端裝置140-1~140-n來下載。負載平衡裝置110則會決定影音資料的擴散拓樸,其中擴散拓樸為來源伺服器130-1~130-2將影音資料同步到邊緣伺服器120-1~120-3時,來源伺服器130-1~130-2與這些邊緣伺服器120-1~120-3同步影音串流之影音資料的連接狀態。負載平衡裝置110還會決定影音資料的傳輸排程及提供影音資料的下載轉址,使得用戶端裝置140-1~140-n可從正確的邊緣伺服器下載影音資料。
另外,管理裝置150會在影音串流發佈時選擇影音串流對應的來源伺服器(例如,來源伺服器130-1),並將上述資料記錄於資料庫160中。管理裝置150還可對負載平衡裝置110進行組態設定及提供影音串流和伺服器資訊,或者從資料庫160中查詢負載平衡系統100的歷史資料。
圖2是根據本揭露一範例實施例的負載平衡方法的流程圖。
請參照圖2,在步驟S201中,負載平衡裝置110為每一邊緣伺服器配置一傳輸進度值並將多個邊緣伺服器分組為多個伺服器群組。在此每一伺服器群組的邊緣伺服器用以供應一影音串流,且每一邊緣伺服器會被分組至這些伺服器群組中的至少一個伺服器群組。在步驟S203中,負載平衡裝置110從用戶端裝置接收對應第二影音串流的一下載請求,並依據此下載請求從上述多個伺服器群組之中選擇其中一個伺服器群組(以下稱為第一伺服器群組),此第一伺服器群組供應此第二影音串流。在步驟S205中,負載平衡裝置110依據第一伺服器群組的邊緣伺服器的傳輸進度值,從第一伺服器群組的邊緣伺服器之中選擇其中一個邊緣伺服器作為第三邊緣伺服器來提供第二影音串流的影音資料給用戶端裝置。值得注意的是,第一伺服器群組的邊緣伺服器之中具有最小傳輸進度值的邊緣伺服器會被選作第三邊緣伺服器,而負載平衡裝置110還會計算一增值並將此增值累加至第三邊緣伺服器的傳輸進度值,負載平衡裝置110將下載請求重新導向到第三邊緣伺服器。在本範例實施例中,此增值為所述影音資料大小除以第三邊緣伺服器的一第一頻寬參數。
上述邊緣伺服器對應的頻寬參數是依據邊緣伺服器的對外頻寬而決定。任意兩個邊緣伺服器的頻寬參數比例與對外頻寬比例相等。例如,邊緣伺服器1的對外頻寬為100Mbps、邊緣伺服器2的對外頻寬為200Mbps,則邊緣伺服器1與邊緣伺服器2的頻寬參數可以分別為100和200、或者分別為100×106
和200×106
、或者分別為100/(100+200)和200/(100+200),即1/3與2/3…等等。
此外,任意兩個邊緣伺服器的頻寬參數比例也可設定與預留的對外頻寬比例相等。例如,邊緣伺服器1預留的對外頻寬為80Mbps、邊緣伺服器2預留的對外頻寬為180Mbps,則邊緣伺服器1與邊緣伺服器2的頻寬參數可以分別為80和180、或者分別為80×106
和180×106
、或者分別為80/(80+180)和180/(80+180),即4/13與9/13…等等。
圖3是根據本揭露一範例實施例的負載平衡方法的範例。
請參照圖3,在本範例中有三個影音頻道,也就是頻道A、B、C分別由來源伺服器A、B、C產生對應的影音串流,並使用邊緣伺服器1、2、3、4對外供應頻寬(本範例實施例假設頻道與來源伺服器為一一對應,因此以相同符號A、B、C來同時表示影音頻道及來源伺服器)。其中,頻道A的影音串流同步至邊緣伺服器1和邊緣伺服器2,頻道B的影音串流同步至邊緣伺服器2和邊緣伺服器3,頻道C的影音串流同步至邊緣伺服器3和邊緣伺服器4。邊緣伺服器對於每一頻道提供的分流服務及其頻寬用量分別以方塊的填滿方式和面積來表示。因此,邊緣伺服器1服務頻道A、邊緣伺服器2同時服務頻道A和頻道B,邊緣伺服器3同時服務頻道B和頻道C,邊緣伺服器4服務頻道C。此外,為簡化說明,在下文中假設每一邊緣伺服器的對外頻寬可同時供應100台用戶端裝置140-1~140-n下載頻道影音串流資料。
隨著頻道觀看人數變化,例如,頻道A觀看人數從160升至170,頻道B人數維持80,頻道C人數從160降至150,本範例實施例的負載平衡方法可即時調適邊緣伺服器1、2、3、4對於各頻道的頻寬供應量,自動調整每一頻道的影音串流在邊緣伺服器的頻寬負載,收斂達成最適當的頻寬負載平衡狀態。舉例來說,邊緣伺服器2提供給頻道A、B的頻寬從60、40變為70、30,而邊緣伺服器3提供給頻道B、C的頻寬從40、60變為50、50。
上述每一影音頻道對應一來源伺服器,以及來源伺服器對應每一影音頻道產生一影音串流之對應關係僅是為了方便說明,實際上每一來源伺服器可同時耦接服務多個影音頻道,且來源伺服器可為每一影音頻道產生對應多種解析度的多個影音串流。對邊緣伺服器而言,係將對應同一影音頻道的多個影音串流視為不同的影音串流。因此,更精確的說法是,邊緣伺服器提供分流服務的對象是個別的影音串流,也就是說,對應同一影音頻道的多個影音串流的影音資料可被同步至不同的邊緣伺服器。
圖4是根據本揭露一範例實施例的負載平衡方法的另一範例。
請參照圖4,頻道A的影音串流同步至邊緣伺服器1、2、3、4,每一邊緣伺服器頻寬用量皆為80,且剩餘頻寬皆為20。假設加入頻道B分享邊緣伺服器4的頻寬,隨著頻道B的觀看人數增加至80,本範例實施例的負載平衡方法可將原本頻道A的影音串流在邊緣伺服器4的頻寬用量自動轉移至邊緣伺服器1、2、3,使頻道A和頻道B的影音串流的頻寬需求皆能滿足。
從圖3及圖4的範例可得知,當影音頻道的頻寬需求隨觀看人數改變時,使用本範例實施例的負載平衡方法可自動調整所有邊緣伺服器的頻寬分配比例。
圖5A及圖5B是根據本揭露一範例實施例用以說明負載平衡方法運作原理的一範例。
請參照圖5A,在本範例中有三個影音頻道,頻道A的影音串流同步至邊緣伺服器1和邊緣伺服器2,頻道B的影音串流同步至邊緣伺服器2和邊緣伺服器3,頻道C的影音串流同步至邊緣伺服器3和邊緣伺服器4,其中,負載平衡裝置110對應每一邊緣伺服器配置一傳輸進度值,分別為TP1
、TP2
、TP3
、以及TP4
,而BW1
到BW4
分別為邊緣伺服器1到邊緣伺服器4的頻寬參數。依據圖2所揭露的負載平衡方法流程圖,首先,在步驟S203中,負載平衡裝置110從用戶端裝置X接收頻道A的影音串流下載請求(REQ Channel A),並依據此下載請求從多個伺服器群組之中選擇頻道A影音串流所對應的伺服器群組,此伺服器群組包括邊緣伺服器1和邊緣伺服器2。在步驟S205中,負載平衡裝置110從邊緣伺服器1和邊緣伺服器2之中選擇具有最小傳輸進度值的邊緣伺服器來提供頻道A影音串流的影音資料給用戶端裝置X。假設目前邊緣伺服器1的頻寬負載較高,其傳輸進度值TP1
大於邊緣伺服器2的傳輸進度值TP2
,因而負載平衡裝置110選擇邊緣伺服器2作為對應此下載請求的影音資料提供者,並計算一增值累加至邊緣伺服器2的傳輸進度值TP2
(即,TP2
←TP2
+ChunkSizeA
/BW2
),如圖5A所示的第①步驟。此增值可為頻道A影音串流的影音資料大小(ChunkSizeA
)除以邊緣伺服器2的頻寬參數(BW2
)。當用戶端裝置X收到負載平衡裝置110的重導向回應時,從邊緣伺服器2下載對應此下載請求的影音資料,如圖5B所示的第①步驟。
接著,負載平衡裝置110從用戶端裝置Y接收頻道B的影音串流下載請求(REQ Channel B),並依據此下載請求選擇頻道B影音串流所對應的伺服器群組,即邊緣伺服器2和邊緣伺服器3。類似地,負載平衡裝置110從頻道B影音串流的伺服器群組中選擇傳輸進度值最小的邊緣伺服器。此時,因為邊緣伺服器2的傳輸進度值TP2
已在步驟①中累加而增大,因此負載平衡裝置110選擇邊緣伺服器3作為對應此下載請求的影音資料提供者,並計算一增值累加至邊緣伺服器3的傳輸進度值TP3
(即,TP3
←TP3
+ChunkSizeB
/BW3
),如圖5A所示的第②步驟。當用戶端裝置Y收到負載平衡裝置110的重導向回應時,從邊緣伺服器3下載對應此下載請求的影音資料,如圖5B所示的第②步驟。
接著,負載平衡裝置110從用戶端裝置Z接收頻道C的影音串流下載請求(REQ Channel C),並依據此下載請求選擇頻道C影音串流所對應的伺服器群組,即邊緣伺服器3和邊緣伺服器4。類似地,負載平衡裝置110從頻道C影音串流的伺服器群組中選擇傳輸進度值最小的邊緣伺服器。此時,因為邊緣伺服器3的傳輸進度值TP3
已在步驟②中累加而增大,因此負載平衡裝置110選擇邊緣伺服器4作為對應此下載請求的影音資料提供者,並計算一增值累加至邊緣伺服器4的傳輸進度值TP4
(即,TP4
←TP4
+ChunkSizeC
/BW4
),如圖5A的第③步驟。當用戶端裝置Z收到負載平衡裝置110的重導向回應時,從邊緣伺服器4下載對應此下載請求的影音資料,如圖5B的第③步驟。
值得注意的是,依據圖5A及圖5B範例中的影音資料擴散拓樸,每個頻道所對應的伺服器群組僅涵蓋部分的邊緣伺服器,而任一邊緣伺服器(例如邊緣伺服器1)的頻寬負載卻能平均分散至其他所有的邊緣伺服器(例如邊緣伺服器2~4)。也就是說,頻寬資源用量可在全部的邊緣伺服器之間自適性調度。因此,本方法藉由各影音串流的伺服器群組重疊所造成的資源連通特性,可自動達成系統全部邊緣伺服器的頻寬負載平衡。
圖6為根據本揭露一範例實施例的影音擴散拓樸簡化方法的流程圖。
請參照圖6,在步驟S601中,負載平衡裝置110從對應一影音串流的伺服器群組中選擇一無效邊緣伺服器(以下亦參考為第四邊緣伺服器),其中此無效邊緣伺服器的傳輸進度值與此伺服器群組的所有邊緣伺服器的傳輸進度值之中的最小傳輸進度值的差值在預定時間內是大於或等於一無效門檻值。值得注意的是,無效門檻值代表邊緣伺服器對應該伺服器群組的頻寬用量的偏移上限。此外,上述預定時間可等於零。在步驟S603中,負載平衡裝置110將無效邊緣伺服器從伺服器群組中移除,並且在步驟S605中,負載平衡裝置110發送訊息給此影音串流對應的來源伺服器及/或無效邊緣伺服器,並停止將此影音串流的影音資料同步到無效邊緣伺服器。
具體來說,由於對於每一影音串流的伺服器群組只有傳輸進度值最小的邊緣伺服器才會被選擇當作此影音串流的資料下載點,因此伺服器群組中傳輸進度值過大的邊緣伺服器在短時間內已經無法服務此影音串流,而可將此傳輸進度值過大的邊緣伺服器從伺服器群組中移除。通常這種情況可能發生在同一個邊緣伺服器被其他影音串流瞬間地過度使用,導致其負載高於伺服器群組中的其他邊緣伺服器。而無效門檻值的設定可考慮傳輸進度值瞬間可容忍的累增偏移量,並依據頻道觀看人數瞬間增加量的上限來計算。
圖7是根據本揭露一範例實施例的影音擴散拓樸簡化方法的範例。
請參照圖7,原本頻道A的影音串流同步至邊緣伺服器1,頻道B的影音串流同步至邊緣伺服器1和邊緣伺服器2,頻道A與B的觀看人數分別為50和70,且在邊緣伺服器1和邊緣伺服器2的頻寬用量達成負載平衡。隨著頻道A觀看人數增加至80,邊緣伺服器1的傳輸進度值也會隨著頻道A觀看人數增加而快速增加。負載平衡裝置110在短時間內不會將頻道B影音串流的影音資料下載請求導向原本屬於頻道B影音串流的伺服器群組中的邊緣伺服器1,所以邊緣伺服器1實質上已不再為頻道B影音串流提供分流服務。因此,可以停止頻道B影音串流從來源伺服器B到邊緣伺服器1的影音資料同步連線。
圖8為根據本揭露一範例實施例的影音擴散拓樸強化方法的流程圖。
請參照圖8,在步驟S801中,負載平衡裝置110會從負載平衡系統100的邊緣伺服器中選擇一個高負載邊緣伺服器(以下亦參考為第一邊緣伺服器),其中高負載邊緣伺服器的頻寬使用率高於高負載門檻值,且高負載邊緣伺服器供應一或多個影音串流的影音資料下載。在步驟S803中,負載平衡裝置110會從對應高負載邊緣伺服器的多個影音串流中選擇一移轉影音串流(以下亦參考為第一影音串流)。並且,在步驟S805中,負載平衡裝置110會選擇一接收邊緣伺服器(以下亦參考為第二邊緣伺服器),其中接收邊緣伺服器不屬於對應移轉影音串流的伺服器群組。
例如,在一範例實施例中,負載平衡裝置110會在不屬於對應移轉影音串流的伺服器群組的邊緣伺服器中,先挑出頻寬使用率不為零且頻寬使用率低於低負載門檻值的邊緣伺服器,然後,再從所挑出的邊緣伺服器中任選一個邊緣伺服器作為接收邊緣伺服器,也可從上述所挑出的邊緣伺服器中選擇頻寬使用率最高的邊緣伺服器作為接收邊緣伺服器。此外,若在不屬於對應移轉影音串流的伺服器群組的邊緣伺服器之中,不存在頻寬使用率不為零且頻寬使用率低於低負載門檻值的邊緣伺服器時,則負載平衡裝置110會在不屬於對應移轉影音串流的伺服器群組的邊緣伺服器中,先挑出頻寬使用率介於低負載門檻值及高負載門檻值之間的邊緣伺服器,然後再從所挑出的邊緣伺服器中選擇頻寬使用率最低的邊緣伺服器作為接收邊緣伺服器。
之後,在步驟S807中,負載平衡裝置110會發送訊息給移轉影音串流對應的來源伺服器及/或接收邊緣伺服器,將移轉影音串流的影音資料同步到接收邊緣伺服器。然後,在步驟S809中,負載平衡裝置110會將接收邊緣伺服器的傳輸進度值設定為高負載邊緣伺服器的傳輸進度值。最後,在步驟S811中,負載平衡裝置110會將接收邊緣伺服器加入對應移轉影音串流的伺服器群組。在本範例實施例中,例如,高負載門檻值會被設定為每一邊緣伺服器的對外頻寬的80%且低負載門檻值會被設定為每一邊緣伺服器的對外頻寬的60%。
在本範例實施例中,藉由優先選擇頻寬使用率低於低負載門檻值的邊緣伺服器之中,頻寬使用率最高的邊緣伺服器作為接收邊緣伺服器,可降低負載平衡系統100使用的邊緣伺服器的總量並提高每個使用中邊緣伺服器的使用率。而藉由選擇頻寬使用率介於低負載門檻值及高負載門檻值之間的邊緣伺服器之中,頻寬使用率最低的邊緣伺服器作為接收邊緣伺服器,可在負載平衡系統100整體邊緣伺服器使用率偏高的情況下盡可能讓個別邊緣伺服器的頻寬使用率不超過高負載門檻值。另外,為了保證接收邊緣伺服器加入對應移轉影音串流的伺服器群組後能維持正確的負載平衡效果,必須先完成接收邊緣伺服器傳輸進度值的均一化設定。例如,在步驟S809中,在進行均一設定時,負載平衡裝置110會將接收邊緣伺服器的傳輸進度值設定為高負載邊緣伺服器的傳輸進度值。
圖9為根據本揭露一範例實施例的影音擴散拓樸強化方法的範例。
請參照圖9,由於邊緣伺服器2頻寬負載過高,因此負載平衡裝置110選擇頻道B作為移轉影音串流並將其在邊緣伺服器2的負載轉移至接收邊緣伺服器(即,邊緣伺服器3)。依據本範例實施例的影音擴散拓樸強化方法,邊緣伺服器3不僅分攤了頻道B影音串流在邊緣伺服器2的負載,且藉由頻道A和頻道D影音串流各自對應的伺服器群組的負載連動,達成邊緣伺服器3和邊緣伺服器4共同分攤邊緣伺服器1和邊緣伺服器2頻寬負載的效果。
請再參照圖8,若在步驟S805中,當負載平衡裝置110找不到頻寬使用率不為零且頻寬使用率低於低負載門檻值的邊緣伺服器,也找不到頻寬使用率介於低負載門檻值及高負載門檻值之間的邊緣伺服器時,則負載平衡裝置110會選擇一頻寬使用率為零的邊緣伺服器作為接收邊緣伺服器。以上選擇頻寬使用率為零的邊緣伺服器作為接收邊緣伺服器的方法也稱為伺服器動態擴充方法。
圖10為根據本揭露一範例實施例的伺服器動態擴充方法的範例。
請參照圖10,由於負載平衡裝置110偵測到邊緣伺服器3為高負載伺服器,因此負載平衡裝置110在邊緣伺服器3所服務的頻道中選擇一移轉影音串流。為了方便說明,假設頻道D被選為移轉影音串流。在選擇移轉影音串流之後,本範例實施例的伺服器動態擴充方法會先建立來源伺服器D至動態擴充的邊緣伺服器4之間的同步連線,再配合上文中的負載平衡方法,邊緣伺服器4會自動分攤頻道D影音串流在邊緣伺服器1、邊緣伺服器2、以及邊緣伺服器3的頻寬負載,重新收斂至最適當的負載平衡狀態。此外,配合上文中的影音擴散拓樸簡化方法,負載平衡裝置110還會自動移除來源伺服器D至邊緣伺服器1、邊緣伺服器2、以及邊緣伺服器3的同步連線。
圖11為根據本揭露一範例實施例的伺服器動態擴充方法的另一範例。
請參照圖11,假設邊緣伺服器3對應的頻道C被選為移轉影音串流,則負載平衡裝置110會建立來源伺服器C至動態擴充的邊緣伺服器4之間的同步連線。配合上文中的負載平衡方法,邊緣伺服器4會自動分攤頻道C影音串流在邊緣伺服器3的頻寬負載,且邊緣伺服器3會自動分攤頻道D影音串流在邊緣伺服器1及邊緣伺服器2的頻寬負載,最後重新收斂至最適當的負載平衡狀態。此外,配合上文中的影音擴散拓樸簡化方法,負載平衡裝置110還會自動移除來源伺服器D至邊緣伺服器1及邊緣伺服器2的同步連線。
圖12A及圖12B為根據本揭露一範例實施例的伺服器動態縮減方法的流程圖。
請參照圖12A及圖12B,在步驟S1201中,負載平衡裝置110判斷在移除所有邊緣伺服器的其中之一後,其餘邊緣伺服器的平均頻寬使用率是否仍小於中負載門檻值。若在移除所有邊緣伺服器的其中之一後,此些邊緣伺服器的平均頻寬使用率仍小於中負載門檻值時,則在步驟S1203中,負載平衡裝置110會從所有邊緣伺服器中選擇一離線邊緣伺服器(以下亦參考為第五邊緣伺服器)並計算離線邊緣伺服器的目前頻寬用量。在步驟S1205中,負載平衡裝置110會從離線邊緣伺服器以外的邊緣伺服器中選擇至少一接收邊緣伺服器(以下亦參考為第六邊緣伺服器),其中所選出的每個第六邊緣伺服器的目前頻寬用量與到達中負載門檻值的頻寬用量的頻寬差額的總和大於離線邊緣伺服器的目前頻寬用量。在步驟S1207中,負載平衡裝置110會將離線邊緣伺服器所供應的每一影音串流在離線邊緣伺服器的頻寬用量填補到第六邊緣伺服器的頻寬差額,藉以選出離線邊緣伺服器的每一影音串流所對應的第六邊緣伺服器,並發送訊息給此影音串流對應的來源伺服器及/或所選出的第六邊緣伺服器,以將此影音串流的影音資料從來源伺服器同步到選出的第六邊緣伺服器。在此,若此影音串流對應的來源伺服器與所選出的第六邊緣伺服器已在進行影音資料同步則不需要再次發送訊息或重複同步影音資料。在步驟S1209中,負載平衡裝置110會重置所有邊緣伺服器的傳輸進度值,例如,將負載平衡系統100的所有邊緣伺服器的傳輸進度值重新設定為0。在步驟S1211中,負載平衡裝置110會將離線邊緣伺服器的每一影音串流所對應選出的第六邊緣伺服器加入至該每一影音串流所對應的伺服器群組。在此,若所選出的第六邊緣伺服器已屬於該影音串流所對應的伺服器群組則不需要再次加入。在步驟S1213中,負載平衡裝置110會將離線邊緣伺服器從負載平衡系統100中的所有伺服器群組移除,並發送訊息給離線邊緣伺服器的每一影音串流所對應的來源伺服器及/或離線邊緣伺服器,停止將影音串流的影音資料同步到離線邊緣伺服器。最後,關閉離線邊緣伺服器。在本範例實施例中,例如,中負載門檻值是被設定為每一邊緣伺服器總頻寬的70%。
圖13A及圖13B為根據本揭露一範例實施例的伺服器動態縮減方法的範例。
請參照圖13A及圖13B,負載平衡裝置110選擇邊緣伺服器4為離線邊緣伺服器,並將邊緣伺服器4所服務的每一頻道影音串流的頻寬用量填補到其他接收邊緣伺服器的頻寬差額。其中,頻道A影音串流在邊緣伺服器4的頻寬用量被填補到邊緣伺服器1,頻道B影音串流在邊緣伺服器4的頻寬用量被分割後分別填補到邊緣伺服器2和邊緣伺服器3。由於邊緣伺服器4對應頻道B影音串流的頻寬用量要被分配到邊緣伺服器2和邊緣伺服器3,而來源伺服器B與邊緣伺服器3原本並未進行過影音資料同步,因此必須先建立來源伺服器B與邊緣伺服器3的影音資料同步(對應圖12的步驟S1207),並將邊緣伺服器3 加入頻道B影音串流所對應的伺服器群組中(對應圖12B的步驟S1211)。最後,負載平衡系統100重新收斂至最適當的負載平衡狀態,邊緣伺服器4完成所有頻寬負載轉移後即可離線。
上述每一影音頻道對應一來源伺服器,以及來源伺服器對應每一影音頻道產生一影音串流之對應關係僅是為了方便說明,實際上每一來源伺服器可同時耦接服務多個影音頻道,且來源伺服器可為每一影音頻道產生對應多種解析度的多個影音串流。對邊緣伺服器而言,係將對應同一影音頻道的多個影音串流視為不同的影音串流。因此,更精確的說法是,邊緣伺服器提供分流服務的對象是個別的影音串流,也就是說,對應同一影音頻道的多個影音串流的影音資料可被同步至不同的邊緣伺服器。
綜上所述,本揭露的負載平衡系統、負載平衡裝置及拓樸管理方法會自動調整系統中所有伺服器供應各影音串流資料下載的頻寬分配比例,並適時進行來源伺服器與邊緣伺服器之間拓樸的簡化或強化以節省來源伺服器的上傳頻寬且達成多個伺服器群組之間的負載平衡。此外,本揭露的負載平衡系統、負載平衡裝置及拓樸管理方法還會對應來源伺服器的影音串流進行邊緣伺服器的擴充以緩解邊緣伺服器負載過高的情況。本揭露的負載平衡系統、負載平衡裝置及拓樸管理方法也會對應來源伺服器的影音串流進行邊緣伺服器的縮減,使得系統可利用最少數量的邊緣伺服器在每個邊緣伺服器不超過高負載的情況下提供影音串流資料下載的足夠頻寬。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧負載平衡系統
110‧‧‧負載平衡裝置
120-1~120-3‧‧‧邊緣伺服器
130-1~130-2‧‧‧來源伺服器
140-1~140-n‧‧‧用戶端裝置
150‧‧‧管理裝置
160‧‧‧資料庫
S201、S203、S205‧‧‧負載平衡方法的步驟
S601、S603、S605‧‧‧影音擴散拓樸簡化方法的步驟
S801、S803、S805、S807、S809、S811‧‧‧影音擴散拓樸強化方法的步驟
S1201、S1203、S1205、S1207、S1209、S1211、S1213‧‧‧伺服器動態縮減方法的步驟
110‧‧‧負載平衡裝置
120-1~120-3‧‧‧邊緣伺服器
130-1~130-2‧‧‧來源伺服器
140-1~140-n‧‧‧用戶端裝置
150‧‧‧管理裝置
160‧‧‧資料庫
S201、S203、S205‧‧‧負載平衡方法的步驟
S601、S603、S605‧‧‧影音擴散拓樸簡化方法的步驟
S801、S803、S805、S807、S809、S811‧‧‧影音擴散拓樸強化方法的步驟
S1201、S1203、S1205、S1207、S1209、S1211、S1213‧‧‧伺服器動態縮減方法的步驟
圖1是根據一範例實施例的負載平衡系統的方塊圖。 圖2是根據一範例實施例的負載平衡方法的流程圖。 圖3是根據一範例實施例的負載平衡方法的範例。 圖4是根據一範例實施例的負載平衡方法的另一範例。 圖5A及圖5B是根據一範例實施例用以說明負載平衡方法運作原理的一範例。 圖6為根據一範例實施例的影音擴散拓樸簡化方法的流程圖。 圖7是根據一範例實施例的影音擴散拓樸簡化方法的範例。 圖8為根據一範例實施例的影音擴散拓樸強化方法的流程圖。 圖9為根據一範例實施例的影音擴散拓樸強化方法的範例。 圖10為根據一範例實施例的伺服器動態擴充方法的範例。 圖11為根據一範例實施例的伺服器動態擴充方法的另一範例。 圖12A及圖12B為根據一範例實施例的伺服器動態縮減方法的流程圖。 圖13A及圖13B為根據一範例實施例的伺服器動態縮減方法的範例。
Claims (24)
- 一種拓樸管理方法,包括:為每一多個邊緣伺服器配置及維護一傳輸進度值,並將所述多個邊緣伺服器分組為多個伺服器群組,其中每一所述多個伺服器群組的邊緣伺服器供應多個影音串流中的一影音串流,每一所述多個邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組,其中該傳輸進度值與每一所述多個邊緣伺服器供應的影音資料大小及每一所述多個邊緣伺服器的頻寬參數的比值相關;從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值,並且所述第一邊緣伺服器供應所述多個影音串流之中的至少一影音串流的影音資料;從所述第一邊緣伺服器供應的所述至少一影音串流中選擇一第一影音串流;從所述多個邊緣伺服器之中選擇一第二邊緣伺服器;將所述第一影音串流的影音資料同步到所述第二邊緣伺服器;將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值;以及將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
- 如申請專利範圍第1項所述的拓樸管理方法,其中為每一所述多個邊緣伺服器配置及維護所述傳輸進度值的步驟包括:從一用戶端裝置接收對應所述多個影音串流之中的一第二影音串流的一下載請求;依據所述下載請求從上述多個伺服器群組之中選擇一第一伺服器群組,其中所述第一伺服器群組供應所述第二影音串流;以及依據所述第一伺服器群組的邊緣伺服器的傳輸進度值,從所述第一伺服器群組的邊緣伺服器之中選擇其中一個邊緣伺服器作為一第三邊緣伺服器來提供所述第二影音串流的一影音資料給所述用戶端裝置。
- 如申請專利範圍第2項所述的拓樸管理方法,其中依據所述第一伺服器群組的邊緣伺服器的傳輸進度值,從所述第一伺服器群組的邊緣伺服器之中選擇其中一個邊緣伺服器作為所述第三邊緣伺服器來提供所述第二影音串流的所述影音資料給所述用戶端裝置的步驟包括:選擇所述第一伺服器群組的邊緣伺服器之中具有一最小傳輸進度值的邊緣伺服器作為所述第三邊緣伺服器;計算一增值並將所述增值累加至所述第三邊緣伺服器的傳輸進度值;以及將所述下載請求重新導向到所述第三邊緣伺服器。
- 如申請專利範圍第3項所述的拓樸管理方法,其中所述增值為所述影音資料大小除以所述第三邊緣伺服器的一第一頻寬參數,其中所述第一頻寬參數是依據所述第三邊緣伺服器的對外頻寬而決定。
- 如申請專利範圍第1項所述的拓樸管理方法,其中選擇所述第二邊緣伺服器的步驟包括:在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,選擇頻寬使用率不為零且頻寬使用率低於一低負載門檻值的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第5項所述的拓樸管理方法,其中選擇所述第二邊緣伺服器的步驟更包括:若在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中不存在頻寬使用率不為零且頻寬使用率低於所述低負載門檻值的邊緣伺服器時,則在不屬於供應所述第一影音串流的伺服器群組的所述多個邊緣伺服器之中,選擇頻寬使用率介於所述低負載門檻值及所述高負載門檻值之間的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第6項所述的拓樸管理方法,其中選擇所述第二邊緣伺服器的步驟更包括:若在不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,不存在頻寬使用率介於所述低負載門檻值及所述高負載 門檻值之間的邊緣伺服器時,則選擇頻寬使用率為零的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第1項所述的拓樸管理方法,更包括:從一第三影音串流的伺服器群組中選擇一第四邊緣伺服器,其中所述第四邊緣伺服器的傳輸進度值與所述第三影音串流的伺服器群組的邊緣伺服器的傳輸進度值之中的一最小傳輸進度值的一差值在一預定時間內大於或等於一無效門檻值,其中所述預定時間可等於零;將所述第四邊緣伺服器從所述第三影音串流的伺服器群組中移除;以及發送一訊息給所述第三影音串流對應的一來源伺服器或所述第四邊緣伺服器,以停止將所述第三影音串流的影音資料同步到所述第四邊緣伺服器。
- 一種負載平衡系統,包括:多個邊緣伺服器;多個來源伺服器,耦接所述多個邊緣伺服器,其中每一所述多個來源伺服器產生多個影音串流中的一影音串流,所述影音串流的影音資料被同步到所述多個邊緣伺服器中的至少一邊緣伺服器;以及一負載平衡裝置,耦接所述多個來源伺服器及所述多個邊緣伺服器,其中所述負載平衡裝置為每一所述多個邊緣伺服器配置及維 護一傳輸進度值,其中該傳輸進度值與每一所述多個邊緣伺服器供應的影音資料大小及每一所述多個邊緣伺服器的頻寬參數的比值相關,其中所述負載平衡裝置將多個邊緣伺服器分組為多個伺服器群組,其中每一所述多個伺服器群組的邊緣伺服器供應所述影音串流,每一所述多個邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組,其中所述負載平衡裝置從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值並且所述第一邊緣伺服器提供所述多個影音串流之中的至少一影音串流的影音資料,其中所述負載平衡裝置從所述第一邊緣伺服器供應的所述至少一影音串流中選擇一第一影音串流,其中所述負載平衡裝置從所述多個邊緣伺服器之中選擇一第二邊緣伺服器,其中所述負載平衡裝置將所述第一影音串流的影音資料同步到所述第二邊緣伺服器,其中所述負載平衡裝置將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值,其中所述負載平衡裝置將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
- 如申請專利範圍第9項所述的負載平衡系統,其中所述負載平衡裝置從一用戶端裝置接收對應所述多個影音串流之中的一第二影音串流的一下載請求,其中所述多個伺服器群組之中的一第一伺服器群組供應所述第二影音串流,其中所述負載平衡裝置依據所述第一伺服器群組的邊緣伺服器的傳輸進度值,從所述第一伺服器群組的邊緣伺服器之中選擇其中一個邊緣伺服器作為一第三邊緣伺服器來提供所述第二影音串流的一影音資料給所述用戶端裝置。
- 如申請專利範圍第10項所述的負載平衡系統,其中所述負載平衡裝置選擇所述第一伺服器群組的邊緣伺服器之中具有一最小傳輸進度值的邊緣伺服器作為所述第三邊緣伺服器,其中所述負載平衡裝置計算一增值並將所述增值累加至所述第三邊緣伺服器的傳輸進度值,其中所述負載平衡裝置將所述下載請求重新導向到所述第三邊緣伺服器。
- 如申請專利範圍第11項所述的負載平衡系統,其中所述增值為所述影音資料大小除以所述第三邊緣伺服器的一第一頻寬參數,其中所述第一頻寬參數是依據所述第三邊緣伺服器的對外頻寬而決定。
- 如申請專利範圍第9項所述的負載平衡系統,其中所述負載平衡裝置在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,選擇頻寬使用率不為零 且頻寬使用率低於一低負載門檻值的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第13項所述的負載平衡系統,其中若在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中不存在頻寬使用率不為零且頻寬使用率低於所述低負載門檻值的邊緣伺服器時,則所述負載平衡裝置在不屬於供應所述第一影音串流的伺服器群組的所述多個邊緣伺服器之中,選擇頻寬使用率介於所述低負載門檻值及所述高負載門檻值之間的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第14項所述的負載平衡系統,其中若在不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,不存在頻寬使用率介於所述低負載門檻值及所述高負載門檻值之間的邊緣伺服器時,則所述負載平衡裝置選擇頻寬使用率為零的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第9項所述的負載平衡系統,更包括:其中所述負載平衡裝置從一第三影音串流的伺服器群組中選擇一第四邊緣伺服器,其中所述第四邊緣伺服器的傳輸進度值與所述第三影音串流的伺服器群組的邊緣伺服器的傳輸進度值之中的一最小傳輸進度值的一差值在一預定時間內大於或等於一無效門檻值,其中所述預定時間可等於零,其中所述負載平衡裝置將所述第四邊緣伺服器從所述第三影音串流的伺服器群組中移除, 其中所述負載平衡裝置發送一訊息給所述第三影音串流對應的所述來源伺服器或所述第四邊緣伺服器,以停止將所述第三影音串流的影音資料同步到所述第四邊緣伺服器。
- 一種負載平衡裝置,包括一處理單元及一通訊單元,所述負載平衡裝置藉由所述通訊單元耦接多個來源伺服器及多個邊緣伺服器,所述多個來源伺服器耦接所述多個邊緣伺服器,其中每一所述多個來源伺服器產生多個影音串流中的一影音串流,所述影音串流的影音資料被同步到所述多個邊緣伺服器中的至少一邊緣伺服器,其中所述處理單元為每一所述多個邊緣伺服器配置及維護一傳輸進度值,其中該傳輸進度值與每一所述多個邊緣伺服器供應的影音資料大小及每一所述多個邊緣伺服器的頻寬參數的比值相關,其中所述處理單元將多個邊緣伺服器分組為多個伺服器群組,其中每一所述多個伺服器群組的邊緣伺服器供應所述影音串流,每一所述多個邊緣伺服器被分組至屬於所述多個伺服器群組之中的至少一伺服器群組,其中所述處理單元從所述多個邊緣伺服器之中選擇一第一邊緣伺服器,其中所述第一邊緣伺服器的一頻寬使用率高於一高負載門檻值並且所述第一邊緣伺服器提供所述多個影音串流之中的至少一影音串流的影音資料,其中所述處理單元從所述第一邊緣伺服器供應的所述至少一 影音串流中選擇一第一影音串流,其中所述處理單元從所述多個邊緣伺服器之中選擇一第二邊緣伺服器,其中所述通訊單元發送訊息給發送一訊息給所述第一影音串流對應的所述來源伺服器或所述第二邊緣伺服器,將所述第一影音串流的影音資料同步到所述第二邊緣伺服器,其中所述處理單元將所述第二邊緣伺服器的傳輸進度值設定為所述第一邊緣伺服器的傳輸進度值,其中所述處理單元將所述第二邊緣伺服器加入供應所述第一影音串流的伺服器群組。
- 如申請專利範圍第17項所述的負載平衡裝置,其中所述處理單元從一用戶端裝置接收對應所述多個影音串流之中的一第二影音串流的一下載請求,其中所述多個伺服器群組之中的一第一伺服器群組供應所述第二影音串流,其中所述處理單元依據所述第一伺服器群組的邊緣伺服器的傳輸進度值,從所述第一伺服器群組的邊緣伺服器之中選擇其中一個邊緣伺服器作為一第三邊緣伺服器來提供所述第二影音串流的一影音資料給所述用戶端裝置。
- 如申請專利範圍第18項所述的負載平衡裝置,其中所述處理單元選擇所述第一伺服器群組的邊緣伺服器之中具有一最小傳輸進度值的邊緣伺服器作為所述第三邊緣伺服器,其中所述處理單元計算一增值並將所述增值累加至所述第三 邊緣伺服器的傳輸進度值,其中所述處理單元將所述下載請求重新導向到所述第三邊緣伺服器。
- 如申請專利範圍第19項所述的負載平衡裝置,其中所述增值為所述影音資料大小除以所述第三邊緣伺服器的一第一頻寬參數,其中所述第一頻寬參數是依據所述第三邊緣伺服器的對外頻寬而決定。
- 如申請專利範圍第17項所述的負載平衡裝置,其中所述處理單元在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,選擇頻寬使用率不為零且頻寬使用率低於一低負載門檻值的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第21項所述的負載平衡裝置,其中若在所述多個邊緣伺服器之中不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中不存在頻寬使用率不為零且頻寬使用率低於所述低負載門檻值的邊緣伺服器時,則所述處理單元在不屬於供應所述第一影音串流的伺服器群組的所述多個邊緣伺服器之中,選擇頻寬使用率介於所述低負載門檻值及所述高負載門檻值之間的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第22項所述的負載平衡裝置,其中若在不屬於供應所述第一影音串流的伺服器群組的邊緣伺服器之中,不存在頻寬使用率介於所述低負載門檻值及所述高負載門檻 值之間的邊緣伺服器時,則所述處理單元選擇頻寬使用率為零的邊緣伺服器作為所述第二邊緣伺服器。
- 如申請專利範圍第17項所述的負載平衡裝置,其中所述處理單元從一第三影音串流的伺服器群組中選擇一第四邊緣伺服器,其中所述第四邊緣伺服器的傳輸進度值與所述第三影音串流的伺服器群組的邊緣伺服器的傳輸進度值之中的一最小傳輸進度值的一差值在一預定時間內大於或等於一無效門檻值,其中所述預定時間可等於零,其中所述處理單元將所述第四邊緣伺服器從所述第三影音串流的伺服器群組中移除,其中所述通訊單元發送一訊息給所述第三影音串流對應的所述來源伺服器或所述第四邊緣伺服器,以停止將所述第三影音串流的影音資料同步到所述第四邊緣伺服器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611248225.4A CN107241374B (zh) | 2016-03-28 | 2016-12-29 | 负载平衡系统、负载平衡装置及拓朴管理方法 |
US15/470,924 US10484463B2 (en) | 2016-03-28 | 2017-03-28 | Load balancing system, load balancing device and topology management method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??105109609 | 2016-03-28 | ||
TW105109609 | 2016-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201735588A TW201735588A (zh) | 2017-10-01 |
TWI630807B true TWI630807B (zh) | 2018-07-21 |
Family
ID=61021727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105142409A TWI630807B (zh) | 2016-03-28 | 2016-12-21 | 負載平衡系統、負載平衡裝置及拓樸管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI630807B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049579A1 (en) * | 2002-04-10 | 2004-03-11 | International Business Machines Corporation | Capacity-on-demand in distributed computing environments |
US8244874B1 (en) * | 2011-09-26 | 2012-08-14 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20120303818A1 (en) * | 2010-04-07 | 2012-11-29 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20140101306A1 (en) * | 2011-10-14 | 2014-04-10 | Marco Murgia | Systems and methods for dynamic adaptation of network accelerators |
US8819187B1 (en) * | 2013-10-29 | 2014-08-26 | Limelight Networks, Inc. | End-to-end acceleration of dynamic content |
US8892686B1 (en) * | 2013-12-19 | 2014-11-18 | Limelight Networks, Inc. | Dynamic content transformation for multiple devices |
US20150081847A1 (en) * | 2013-09-19 | 2015-03-19 | Verizon Patent And Licensing Inc. | Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking |
US20150127774A1 (en) * | 2013-11-01 | 2015-05-07 | Numecent Holdings Inc. | Adaptive cloud-based application streaming |
-
2016
- 2016-12-21 TW TW105142409A patent/TWI630807B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049579A1 (en) * | 2002-04-10 | 2004-03-11 | International Business Machines Corporation | Capacity-on-demand in distributed computing environments |
US20120303818A1 (en) * | 2010-04-07 | 2012-11-29 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US8244874B1 (en) * | 2011-09-26 | 2012-08-14 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20140101306A1 (en) * | 2011-10-14 | 2014-04-10 | Marco Murgia | Systems and methods for dynamic adaptation of network accelerators |
US20150081847A1 (en) * | 2013-09-19 | 2015-03-19 | Verizon Patent And Licensing Inc. | Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking |
US8819187B1 (en) * | 2013-10-29 | 2014-08-26 | Limelight Networks, Inc. | End-to-end acceleration of dynamic content |
US20150127774A1 (en) * | 2013-11-01 | 2015-05-07 | Numecent Holdings Inc. | Adaptive cloud-based application streaming |
US8892686B1 (en) * | 2013-12-19 | 2014-11-18 | Limelight Networks, Inc. | Dynamic content transformation for multiple devices |
Also Published As
Publication number | Publication date |
---|---|
TW201735588A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241374B (zh) | 负载平衡系统、负载平衡装置及拓朴管理方法 | |
US10432709B2 (en) | Load balancing method, load balancing system, load balancing device and topology reduction method | |
US11770564B2 (en) | Systems, devices and methods for distributing data with multi-tiered encoding | |
Mukerjee et al. | Practical, real-time centralized control for cdn-based live video delivery | |
TWI604728B (zh) | 使用對使用者設備節點之加權定義自加權公平佇列排程器的調節內容串流 | |
CN107251569B (zh) | 动态内容分发网络分配系统 | |
CN105337901A (zh) | 一种路由器的智能带宽分配方法及装置 | |
EP3595325A1 (en) | Method for realizing multicast and relevant network device | |
TWI618406B (zh) | 直播視訊媒合方法與系統 | |
Zhao et al. | Enabling P2P one-view multiparty video conferencing | |
Magharei et al. | Adaptive receiver-driven streaming from multiple senders | |
Da Silva et al. | MUSLIN: Achieving high, fairly shared QoE through multi-source live streaming | |
TWI630807B (zh) | 負載平衡系統、負載平衡裝置及拓樸管理方法 | |
CN107241376B (zh) | 负载平衡方法、系统与装置及其拓朴简化方法 | |
TWI604724B (zh) | 負載平衡方法、負載平衡系統、負載平衡裝置及拓樸簡化方法 | |
Wang et al. | CDNPatch: a cost‐effective failover mechanism for hybrid CDN‐P2P live streaming systems | |
WO2017071524A1 (zh) | 多媒体资源的发布方法及装置 | |
Kulupana et al. | Optimized resource distribution for interactive TV applications | |
Azgin et al. | Cooperative delivery techniques to support video-on-demand service in IPTV networks | |
Labib et al. | Clustered P2P Proxy-Assisted Architecture for On Demand Media Streaming |