TW201725927A - 用於電信網路中資料串流之最佳化路由的方法和系統 - Google Patents

用於電信網路中資料串流之最佳化路由的方法和系統 Download PDF

Info

Publication number
TW201725927A
TW201725927A TW105134271A TW105134271A TW201725927A TW 201725927 A TW201725927 A TW 201725927A TW 105134271 A TW105134271 A TW 105134271A TW 105134271 A TW105134271 A TW 105134271A TW 201725927 A TW201725927 A TW 201725927A
Authority
TW
Taiwan
Prior art keywords
node
nodes
network
processing
route
Prior art date
Application number
TW105134271A
Other languages
English (en)
Other versions
TWI727984B (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 巴而可公司
Publication of TW201725927A publication Critical patent/TW201725927A/zh
Application granted granted Critical
Publication of TWI727984B publication Critical patent/TWI727984B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本發明說明一種用於在電信網路之中路由至少一資料串流的方法、系統、以及網路元件,該網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路。所有節點會傳送它們的能力至一資料庫伺服器上的一系統資料庫,該資料庫伺服器會接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流。針對每一個請求來計算該兩個節點之間的至少一路由的量測值,以及提供指令以便僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。一最佳路由能夠利用至少一啟發式規則(heuristic rule)或線性程式化(linear programming)來決定。

Description

用於電信網路中資料串流之最佳化路由的方法和系統
本發明關於一種電信網路中資料串流之動態路由的方法以及一種提供動態路由的系統,並且關於一種能夠實施動態路由計算的路由裝置以及關於用於施行該動態路由的電腦程式和軟體。
在資料網路連接中,動態路由係一種藉由考量傳送期間在該網路之中的變化而從一原始/傳送節點發送資料(舉例來說,資料串流)至一目的地/接收節點的方式。倘若該資料串流在不同類型的網路(舉例來說,私人網路、廣域網路(Wide Area Network,WAN)、或是雲端主幹)上被發送的話,那麼,介於該些不同網路之間的防火牆便會讓該傳送變得更為複雜。舉例來說,要考量的進一步參數為不同協定的使用或是所需要的多重串流的組成。難題在於部署處理單元與轉送單元於該資料網路的節點之中,以便在該網路上發送串流時能夠達成最大品質成本效益(maximum quality to cost)。於現場串流的情況中,其中,可能允許延遲小於約50ms,更重要的係,該網路要能夠應付斷線,而不會干擾傳送。舉例來說,現場串流會被使用在需要語音傳送的應用之中,例如,會議交談或是協作環境中。
目前的會議交談或是協作解決方案經常係利用點對點 (peer-to-peer)或是點對伺服器(peer-to-server)來施行。大部分該些解決方案解決的係一個傳送器藉由利用多點控制單元(Multipoint Control Unit,MCU)發送給許多接收器的情況。額外的處理能力雖然可以被新增於此些MCU之中(舉例來說,轉碼(transcoding)、組構(composition)、視頻轉換(transrating)、或是尺寸重設(resizing));但是,該些資料串流經常係經由在該網路之中具有固定位置的事先定義的固定式節點來路由。該資料串流通常係在最靠近該目的地點的伺服器處進入或離開此些系統,並且經由事先定義和固定的規則來達成該些路由(以及處理)的可能最佳化。此些解決方案會受限於處理多媒體資料。所謂的「內容供應商(content provider)」(舉例來說,隨選視訊(video-on-demand))雖然經常需要在不同類型的網路之間並且在長距離中進行路由;但是,他們並不需要進行現場串流。另一方面,他們還會在開始傳送之前先緩衝儲存該些資料串流維持「很長的時間」,舉例來說,數分鐘,並且如果稍後需要重新路由的話,那麼,這便會在該緩衝時間區間內被實施,而不需要末端使用者通知。
美國專利案第US6981055B1號說明便說明如何經由多個網際網路路由供應商來最佳化一由多個邊界閘道器所組成的網路之中的路由。該方法包括以和複數條交替路徑相關聯的效能量測值為基礎來進行路由決策。重新路由則係利用最後收到的路由表來實施。
於本發明的其中一項觀點中提供一種用於在電信網路之中路由至少一資料串流的方法,例如,電腦施行的方法,該電信網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的 至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,該方法包括下面步驟:所有節點會傳送它們的能力至一資料庫伺服器上的一系統資料庫,舉例來說,所有有作用的節點或是所有可能有作用的節點會交流他們的能力;該資料庫伺服器會接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流;以及針對每一個請求,利用在接收該請求時已儲存在單一原始或中央資料庫之中的所有節點和鏈路的能力來計算該兩個節點之間的至少一路由的量測值,每一個路由皆包括至少一傳送節點、至少一接收節點、以及零或更多個處理節點;以及提供指令以便僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。
此方法的優點係該串流在一網路上被發送時會考量在發送該(些)串流時的該網路的狀態,並且還僅會在該(些)已算出的路由上發送該(些)串流。
該方法能夠包含利用至少一啟發式規則(heuristic rule)或線性程式化(linear programming)來計算一最佳路由。本發明的實施例的一優點為能夠計算一最佳路由。
在每一個直接狀態節點對中,介於它們之間的跳躍皆會利用一直接鏈路來取代。接著,一路由成本便會被算出,並且如果該路由成本較低而仍提供所需要的處理能力的話,該直接鏈路便會被保留。這會避免進行不必要的改變。狀態節點之間的直接鏈路的一優點係不需要在它們之 間放置任何其它狀態節點;不過,能夠放置其它類型的節點,舉例來說,中繼轉送節點。這意謂著此步驟不會移除處理能力,因此,該項請求會一直被滿足。
於另一步驟中,在每一個直接狀態節點對中,介於該兩個節點之間的所有鏈路皆會被移除,並且能夠考量所需要的處理能力而根據下面的其中一種演算法來新增最短路徑:Dijkstra演算法、Bellman/Ford演算法、以及Johnson's演算法。這提供一種良好的最佳化方式。
另外,具有處理能力的至少一節點可能會被新增或是移除,接著則會計算路由成本。倘若該路由成本比較低並且仍提供所需要的處理能力的話,該直接鏈路便會被保留。
根據本發明的任何實施例,該路由成本能夠金錢成本(monetary cost)或是等待時間成本(latency cost)。
優點是,利用一目標函數來模擬該網路並且利用該請求來定義該模型之中的變數的邊界條件,並且接著最小化或是最大化該目標函數。當已經定義具有限制條件的目標函數時,有數種可以進行最佳化的數學技術。舉例來說,該模型可能會包括用於至少一處理類型及/或至少一視窗的變數。舉例來說,該些變數可能為二進制。
如果每一個變數皆有一指數計數用以賦予該網路之中的每一個特定組件一獨特變數的話會有好處。
舉例來說,在該模型之中的每一個處理步驟皆與一權值變數相關聯。
該模型會受限於該請求之中所提供的限制條件,舉例來說, 成本及/或等待時間。舉例來說,該模型會受限於該網路的實際特性,舉例來說,接收與傳送頻寬及/或編碼與解碼能力。
所以,該目標函數會於該些變數限制條件的極限值裡面被最小化或是最大化。
舉例來說,利用線性程式化能夠找到一種解。
其亦可能會請求從至少兩個不同的傳送節點處發送至少兩個資料串流。
該些網路節點中的至少其中兩個能夠利用不同的協定。舉例來說,該已算出路由的網路節點之中的至少其中兩個能夠利用不同的協定。
為具有靈活性,於該網路之中的兩個事件之間能夠新增或是移除網路節點,或是兩者的組合。
於本發明的一實施例中,至少一資料串流會透過一週邊網路(perimeter network)或是藉由傳輸控制協定穿隧被發送。
該方法會包含:請求以一經處理的格式從至少一傳送節點處發送至少一資料串流至至少一接收節點;計算一處理節點以該傳送節點或是該接收節點為基準的最佳位置;發送該至少一資料串流至該最佳節點以進行處理;以及發送該經過處理的資料串流至該至少一接收節點,其可能透過另一處理節點。此方法的優點係會發現用於處理該請求的最佳位置。
要被實行之處理的一範例可能為組構、轉碼、定標(scaling)、重新封包(re-packaging)、中繼轉送、穿隧、視頻轉換、或是它們的任何組合。
為能夠調適鏈路設定值以達最佳資料傳遞的目的,在該經算出的路由中發送該至少一資料串流之前會先針對該至少一經算出的路由中 的每一個路由來修正該至少一鏈路的該些設定值。
為重新路由一資料串流,該網路的該些步驟會被提交至一觸發進行上面方法的事件。
該至少一單一原始或中央伺服器會使用該些被交流的節點能力來創造一由每一個節點和相關聯的鏈路所組成的經驗模型。優點係,該單一原始或中央伺服器會從監視資料中進行學習。
在本發明的任何實施例中,該請求條件會包括下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。優點係,於一請求之中能夠包含眾多條件。
於另一項觀點中,本發明提供一種用以實行任何上面提及的方法步驟的系統。
於本發明的又一項觀點中提供一種用於在電信網路之中路由至少一資料串流的系統,例如,電腦施行的系統,該電信網路包括至少一傳送節點、至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,其進一步包括至少一單一原始或中央伺服器,該至少一單一原始或中央伺服器會在一第二網路上透過客端裝置被連接至所有節點,其中,在每一個時間點中,每一個節點和鏈路的能力皆會被儲存在該單一原始或中央伺服器之中,因此,在每一個時間點中,經過該網路的每一個路由皆會與從屬於該路由的每一個節點和鏈路的能力中所算出的一量測值相關聯。該伺服器較佳的係會透過一客端裝置一直和該些節點進行通訊。
此作法的優點係,每一個路由在每一個時間點中會有一特定 的量測值。舉例來說,一量測值能夠為下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。
在每一個時間點中,一量測值或是多個量測值的任何組合皆會有一最佳路由。因此,可以以一或更多個量測值為基礎找到一合宜的最佳路由。
舉例來說,一路由包括一週邊網路或是傳輸控制協定穿隧。這允許一可能的路由使用DMZ或是TCP穿隧。
為允許有靈活性,至少兩個網路節點會利用不同的協定來施行。
一經算出的路由會包括利用不同協定來施行的至少兩個網路節點。這允許在最終的路由之中有不同的協定。
一處理節點會具備用以實行下面之中的任何、部分、或是所有功能的處理能力:至少一轉碼器、至少一組構器、至少一中繼轉送器、至少一定標器、至少一重新封包功能、或是它們的任何組合。除此之外,一處理節點還會被調適成用以實施其它功能。此些功能中的一部分對該系統來說為未知,舉例來說,因為該些功能為應用專屬的,舉例來說,臉部偵測、記錄、車牌辨識。
一事先設定的量測值會被指派給一路由的至少一條鏈路。這具有調適鏈路設定值以達最佳資料傳遞的優點。
為允許有靈活的解決方案,在該網路之中的一事件發生之前的該些節點之中的任何、一部分、或是所有節點的能力會不同於該事件已 經發生之後的該些能力及/或在該網路之中的一事件發生之前的一串流的路由會不同於該事件已經發生之後的路由。
該單一原始或中央伺服器會保留不同時間點處的節點的能力的取樣。
該網路能夠為一疊置網路(overlay network),每一個節點被施行在至少一虛擬機的一或數個實例上。
該資料庫伺服器會包括:系統資料庫、nosQL資料庫、知識資料庫、資料收集器、資料查詢、應用模組、以及通訊匯流排。
如上面的解釋,根據本發明的觀點,每一個請求皆會使用在該請求時的所有節點與鏈路的能力來計算(以及最佳化)一路由,因此,在請求一新路由的情況中同樣如此。本發明不僅關於所有節點為邊界閘道器且因而進行基本上相同類型工作時的情況;本發明的實施例亦能夠有不同的處理需求,並且必須計算與最佳化重新路由至另一節點。
另外,根據本發明的實施例的另一項觀點,節點(例如,邊界閘道器)會回報它們的能力給一資料庫。被回報的能力會包含處理能力,舉例來說,組構或轉碼。
由於根據本發明的實施例的新增處理能力的關係,最佳化會更為複雜並且能夠應付一具有不同能力節點的網路。除此之外,這亦能針對具有短暫延遲(例如,小於800ms或小於50ms,例如,從500ms以下至30ms以下)的「現場串流」來實施。舉例來說,服務供應商(舉例來說,隨選視訊或是廣播)能夠在高達數分鐘的緩衝器邊際時間(buffer margin)期間實施重新路由。使用者雖然可以容忍在資料被發送之後立刻接收該資料;然而,本 發明的實施例卻可能會使用在必須非常迅速進行重新路由的會議交談情形中,舉例來說,立刻並且依然符合組構、轉碼、等待時間、…等的必要條件。
因此,在本發明的實施例中會為每一個資料串流計算出一獨特的路由,俾使得一資料串流能夠被發送。當在該網路中有一事件時,此路由便會被更新。本發明的實施例允許最佳化此已算出的路由。
舉例來說,本發明的實施例提供一種用於最佳化的方法,舉例來說,藉由使用線性程式化,其能夠被使用在路由資料串流的方法之中,藉此,計算能力能夠從一伺服器(例如,單一原始或中央伺服器)處提供。
於本發明的實施例中,路由最佳化能夠藉由在該些串流之間不均勻地分割頻寬來實施;但是,實施的方式會在每一個串流中呈現相同的品質。這依賴於相依於該資料串流並且考量不同類型資料串流的不同需求來分派頻寬,舉例來說,相較於靜態影像內容,較多的頻寬會被分派給視訊內容。
於本發明的另一項觀點,一網路元件會被提供(例如,電腦施行的網路元件)用以實行本發明的任何方法。舉例來說,此網路元件能夠為一應用伺服器。舉例來說,該網路元件被調適成用於計算一電信網路中的至少一資料串流的路由,該網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,該網路元件至少存取一資料庫伺服器,所有節點會傳送它們的能力至該資料庫伺服器上的一系統資料庫; 該資料庫伺服器會接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流;以及針對每一個請求,該網路元件會被調適成用以利用在接收該請求時已儲存在單一原始或中央資料庫之中的所有節點和鏈路的能力來計算該兩個節點之間的至少一路由的量測值,每一個路由皆包括至少一傳送節點、至少一接收節點、以及零或更多個處理節點;以及提供指令以便僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。
該網路元件會包含一或更多個微處理器、處理器、控制器、或是一中央處理單元(Central Processing Unit,CPU)及/或一圖形處理單元(Graphics Processing Unit,GPU),並且會被調適成用以藉由軟體來程式化以實行功能,也就是,一或更多個程式。該網路可以具有記憶體(例如,非暫時性電腦可讀取的媒體、RAM、及/或ROM)、作業系統,視情況,會具有一顯示器(例如,固定格式顯示器)、資料輸入裝置(例如,鍵盤)、指標裝置(例如,滑鼠)、用以和其它裝置進行通訊的序列埠或並列埠、或是網路卡以及用以連接至任何該些網路的連接線。
該網路元件會被調適成用以利用至少一啟發式規則或線性程式化來計算一最佳路由。
在每一個直接狀態節點對中,該網路元件能夠利用一直接鏈路來取代介於它們之間的跳躍。接著便能夠算出一路由成本,並且如果該路由成本較低而仍提供所需要的處理能力的話,該直接鏈路便會被保留。這會避免進行不必要的改變。
於另一步驟中,在每一個直接狀態節點對中,該網路元件會被調適成用以移除介於該兩個節點之間的所有鏈路,並且能夠考量所需要的處理能力而根據下面的其中一種演算法來新增最短路徑:Dijkstra演算法、Bellman/Ford演算法、以及Johnson's演算法。這提供一種良好的最佳化方式。
另外,具有處理能力的至少一節點可能會被新增或是移除,接著則會計算路由成本。倘若該路由成本比較低並且仍提供所需要的處理能力的話,該直接鏈路便會被保留。
優點是,該網路元件具有利用一目標函數的網路模型,並且該網路元件被調適成用以利用該請求來定義該模型之中的變數的邊界條件,並且接著最小化或是最大化該目標函數。當已經定義具有限制條件的目標函數時,有數種可以進行最佳化的數學技術。舉例來說,該模型可能會包括用於至少一處理類型及/或至少一視窗的變數。舉例來說,該些變數可能為二進制。
如果每一個變數皆有一指數計數用以賦予該網路之中的每一個特定組件一獨特變數的話會有好處。
舉例來說,在該網路元件所使用的模型之中的每一個處理步驟皆與一權值變數相關聯。
該模型會受限於該請求之中所提供的限制條件,舉例來說,成本及/或等待時間。舉例來說,該模型會受限於該網路的實際特性,舉例來說,接收與傳送頻寬及/或編碼與解碼能力。
所以,該目標函數會於該些變數限制條件的極限值裡面被最 小化或是最大化。
舉例來說,利用線性程式化能夠找到一種解。
該網路元件亦可能會被調適成用以請求從至少兩個不同的傳送節點處發送至少兩個資料串流。
該些網路節點中的至少其中兩個能夠利用不同的協定。舉例來說,該已算出路由的網路節點之中的至少其中兩個能夠利用不同的協定。
為具有靈活性,於該網路之中的兩個事件之間能夠新增或是移除網路節點,或是兩者的組合。
舉例來說,至少一資料串流會透過一週邊網路或是藉由傳輸控制協定穿隧被發送。
該網路元件會被調適成用以包含:請求以一經處理的格式從至少一傳送節點處發送至少一資料串流至至少一接收節點;計算一處理節點以該傳送節點或是該接收節點為基準的最佳位置;發送該至少一資料串流至該最佳節點以進行處理;以及發送該經過處理的資料串流至該至少一接收節點,其可能透過另一處理節點。此方法的優點係會發現用於處理該請求的最佳位置。
要被實行之處理的一範例可能為組構、轉碼、定標、重新封包、中繼轉送、穿隧、視頻轉換、或是它們的任何組合。
為能夠調適鏈路設定值以達最佳資料傳遞的目的,在該經算出的路由中發送該至少一資料串流之前會先針對該至少一經算出的路由中的每一個路由來修正該至少一鏈路的該些設定值。
為重新路由一資料串流,該網路的該些步驟會被提交至一觸 發進行上面方法的事件。
該網路元件會使用該至少一單一原始或中央伺服器來交流節點的能力,用以創造一由每一個節點和相關聯的鏈路所組成的經驗模型。優點係,該單一原始或中央伺服器會從監視資料中進行學習。
於本發明的另一項觀點中,軟體可以被施行為一種已編譯成用於該網路的任何伺服器或節點中的一處理引擎的電腦程式產品。該電腦程式產品可以被儲存在一非暫時性訊號儲存媒體之中,例如,光碟(CD-ROM或DVD-ROM)、數位式磁帶、磁碟、固態記憶體(例如,USB快閃記憶體)、ROM、…等。
1‧‧‧原始節點
2‧‧‧處理節點
3‧‧‧處理節點
4‧‧‧處理節點
5‧‧‧處理節點
6‧‧‧目的地節點
7‧‧‧鏈路
8‧‧‧鏈路
9‧‧‧鏈路
10‧‧‧應用伺服器
11‧‧‧網路
12‧‧‧網路
13‧‧‧網路
14‧‧‧網路
15‧‧‧雲端
16‧‧‧雲端
17‧‧‧雲端
20‧‧‧原始節點
21‧‧‧目的地節點
22‧‧‧直接UDP(使用者資料包協定)鏈路
23‧‧‧防火牆
24‧‧‧網路
25‧‧‧鏈路
30‧‧‧原始節點
31‧‧‧目的地節點
32‧‧‧閘道器節點
33‧‧‧週邊網路或是DMZ(非軍事地帶)
34‧‧‧直接鏈路
35‧‧‧防火牆
36‧‧‧網路
37‧‧‧防火牆
38‧‧‧防火牆
39‧‧‧鏈路
40‧‧‧節點
41‧‧‧節點
42‧‧‧網路
43‧‧‧節點
44‧‧‧網路
45‧‧‧直接路由
46‧‧‧直接路由
47‧‧‧節點
48‧‧‧路由
49‧‧‧路由
50‧‧‧串流
60‧‧‧原始節點
61‧‧‧原始節點
62‧‧‧區域站點
63‧‧‧原始節點
64‧‧‧原始節點
65‧‧‧雲端
66‧‧‧處理節點
67‧‧‧處理節點
68‧‧‧區域站點
69‧‧‧處理節點
70‧‧‧週邊網路或是DMZ地帶
71‧‧‧目的地節點
72‧‧‧串流
73‧‧‧串流
74‧‧‧串流
75‧‧‧串流
76‧‧‧串流
80‧‧‧客端裝置
81‧‧‧處理管線
82‧‧‧處理管線
83‧‧‧處理管線
84‧‧‧處理管線
85‧‧‧處理管線
86‧‧‧串流
87‧‧‧串流
88‧‧‧串流
89‧‧‧串流
90‧‧‧串流
91‧‧‧串流
92‧‧‧串流
93‧‧‧串流
94‧‧‧串流
95‧‧‧串流
96‧‧‧串流
97‧‧‧串流
98‧‧‧串流
99‧‧‧串流
100‧‧‧節點
101‧‧‧網路
102‧‧‧目的地節點
103‧‧‧直接鏈路
104‧‧‧節點
105‧‧‧雲端
106‧‧‧鏈路
107‧‧‧鏈路
110‧‧‧節點
111‧‧‧網路
112‧‧‧目的地節點
113‧‧‧目的地節點
114‧‧‧目的地節點
115‧‧‧目的地節點
116‧‧‧目的地節點
117‧‧‧瓶頸
118‧‧‧處理節點
120‧‧‧原始節點
121‧‧‧處理節點
122‧‧‧處理節點
123‧‧‧目的地節點
124‧‧‧目的地節點
125‧‧‧雲端主幹
126‧‧‧鏈路
127‧‧‧鏈路
128‧‧‧鏈路
130‧‧‧原始節點
131‧‧‧處理節點
132‧‧‧處理節點
133‧‧‧處理節點
134‧‧‧處理節點
135‧‧‧處理節點
136‧‧‧目的地節點
137‧‧‧鏈路
138‧‧‧鏈路
139‧‧‧鏈路
140‧‧‧事件
160‧‧‧處理節點
161‧‧‧處理節點
162‧‧‧應用伺服器
163‧‧‧封包遺失百分比
164‧‧‧封包遺失百分比
165‧‧‧封包遺失百分比
166‧‧‧封包遺失百分比
167‧‧‧封包遺失百分比
170‧‧‧節點
171‧‧‧節點
172‧‧‧節點
173‧‧‧節點
174‧‧‧節點
175‧‧‧節點
176‧‧‧節點
177‧‧‧節點
178‧‧‧節點
200‧‧‧節點
201‧‧‧網路叢集
202‧‧‧網路叢集
203‧‧‧網路叢集
204‧‧‧原始節點
205‧‧‧組構器節點
206‧‧‧組構器節點
207‧‧‧控制器節點
208‧‧‧原始節點
209‧‧‧原始節點
210‧‧‧組構器節點
211‧‧‧頻寬
212‧‧‧頻寬
213‧‧‧頻寬
220‧‧‧客端裝置
221‧‧‧客端裝置
222‧‧‧客端裝置
223‧‧‧客端裝置
224‧‧‧客端裝置
225‧‧‧網路鏈路
圖1所示的係本發明的一實施例,其包括一網路的不同節點,該網路透過客端裝置被連接至一應用伺服器。
圖2所示的係本發明的一實施例,其包括一阻隔一鏈路的防火牆。
圖3所示的係本發明的一實施例,其包括利用DMZ。
圖4所示的係本發明的一實施例,其包括透過一節點來重新路由。
圖5所示的係本發明的一實施例,其包括一用於組構的處理節點。
圖6所示的係本發明的一實施例,其包括一處理節點的能力。
圖7所示的係本發明的一實施例,其包括轉碼。
圖8所示的係本發明的一實施例,其包括重新定位一高頻寬需求。
圖9所示的係本發明的一實施例,其包括該網路之中不同鏈路的不同特徵。
圖10所示的係本發明的一實施例,其包括在一鏈路崩解之後的重新路由。
圖11所示的係本發明的一實施例,其包括一用於說明重新路由的流程圖。
圖12所示的係本發明的一實施例,其包括監視一特定鏈路。
圖13所示的係本發明的一實施例,其包括一網路之中的不同節點。
圖14所示的係本發明的一實施例的一流程圖,其包括應用一啟發式規則。
圖15所示的係本發明的一實施例的一流程圖,其包括線性程式化。
圖16所示的係本發明的一實施例,其包括數個網路叢集(network cluster)。
定義
在下文中,「資料串流」包括包含下面之中的任一者、任何組合、或是全部的資料:文字、視訊、音頻、元資料檔案(metadata file)、或是能夠在一網路中的多個節點之間被發送並且由節點來處理的任何數位化資料。該資料串流會包含封包或訊框,舉例來說,其具有標頭或前段碼、中間碼、或是後段碼、錯誤檢查資料或錯誤改正資料。
「混合網路」包括利用不同的通訊技術(例如,有線連接以及無線連接)來通訊。一包括不同網路的混合網路可能需要將一資料串流從其中一個網路轉換至另一個網路。所以,舉例來說,該混合網路會包括私人網路、廣域網路(WAN)、或是雲端主幹中的其中一者或是一部分或是全部。
「跳躍」為一封包、訊框、或是串流從一原始節點前往一目的地節點所採用的路徑的一部分。當實施跳躍時,該封包或串流會通過一網路元件,例如,路由器、閘道器、處理節點、…等。節點能夠被配置成中繼器(repeater)。
「網路元件」,舉例來說,伺服器(例如,應用伺服器、資料庫伺服器)、路由器、閘道器、處理節點、中繼器、編碼器、解碼器、轉碼器、加密器及/或解密器、組構器、數據機、視頻轉換或是尺寸重設裝置、協定轉換器、緩衝器、…等,能夠為具有一處理引擎(例如,微處理器或是FPGA)以及記憶體的裝置,或者被建構成一微控制器或是包括能夠被執行用以創造相關功能俾使得數位資訊能夠被處理的軟體。此些網路元件會有一網路介面,例如,網路卡,其允許此些網路元件中的每一者和該網路進行互動。網路元件可以包括被編碼在媒體之中用以實施任何種類的資訊處理的邏輯。邏輯可以包括邏輯閘或是被編碼在碟片或是其它電腦可讀取媒體之中的軟體及/或被編碼在下面之中的指令:特定應用積體電路(Application Specific Integrated Circuit,ASIC)、可場程式化閘陣列(Field Programmable Gate Array,FPGA)、或是其它處理器或硬體。
優點是,利用「單一原始伺服器」來儲存需要同步化(如果該同步化延遲的話可能會造成問題)方可進行複製的特定資訊。此單一原始伺服器能夠被施行為一中央伺服器。
「鏈路」為一介於該網路之中的兩個節點之間的通訊通道。
「狀態節點」能夠記憶一系統中發生互動(舉例來說,和一使用者互動、和一應用互動)的一或更多個先前事件。「直接狀態節點對」則 在該些節點之間的鏈路之中沒有任何其它狀態節點。
「客端裝置」係指一能夠運行於任何類型電腦(舉例來說,膝上型電腦、桌上型電腦、平板、電話、…)上的軟體或者為一實體數位處理裝置,其會與一伺服器進行通訊並且有時候能夠和一使用者互動。其能夠操控一或更多種類型的節點,舉例來說,原始節點、目的地節點、及/或處理節點。有各種類型的客端裝置-伺服器技藝,例如,精簡型客端裝置(thin client)、厚實型客端裝置(thick client)、…等,它們有不同的智慧程度以及客端裝置獨立性。
「應用」為能夠運行於一伺服器上或是能夠運行於可以操控該些節點的客端裝置上的電腦程式或是軟體,一應用能夠藉由提交一請求給應用伺服器而啟動兩個節點之間的串流,該請求具有關於該串流的資訊以及該串流應該如何被發送和被接收的必要條件。該些節點將會使用該網路來發送該串流給其它節點。
或者該客端裝置亦能夠請求一於另一客端裝置上被操控的串流。
「編解碼」以及「傳輸協定」:參考音頻/視訊:
視訊編解碼(及/或音頻編解碼)以及傳輸協定能夠有任何組合:
視訊編解碼:MJPEG、h.263、h.264(=AVC)、h.264(=HEVC)、VP8、VP9、VMW、…
音頻編解碼:mp3、flac、ogg vorbis、WAV、AAC、…
傳輸協定:WebRTC、RTP、RTSP、DASH、HLS、RTMP、 MirrorOP、…
如果有其它資料的話則可以採用JSON over websockets、xml over http、…以及許多更多的組合。
縮寫
解釋性實施例的詳細說明
現在將針對特殊實施例並且參考特定圖式來說明本發明;但是,本發明並不受限於此說明,而僅由申請專利範圍來限制。所述圖式僅為概略性並且沒有限制性。
再者,說明以及申請專利範圍之中的第一、第二、第三、以及類似語詞係用來區分雷同的元件而未必用於說明順序或是時間順序。該些語詞在適當的情況下可以互換,並且本發明的實施例能夠以本文中所述或所示以外的順序來操作。
又,說明以及申請專利範圍之中的頂端、底部、上方、下方、以及類似語詞僅係為達說明的目的而未必用來說明相對位置。該些語詞的用法在適當的情況下可以互換,並且本文中所述之本發明的實施例能夠以本文中所述或所示以外的配向來操作。申請專利範圍之中所使用的「包括」一詞不應被詮釋成侷限於後面所列的構件;其並沒有排除其它元件或步驟。其必須被詮釋成指明所述特徵元件、事物、步驟、或是組件的存在;但是,並不排除有一或更多個其它特徵元件、事物、步驟、或是組件、或是由它們所組成的群組的存在,或者,不排除新增一或更多個其它特徵元件、事物、步驟、或是組件、或是由它們所組成的群組。因此,「一種裝置,其包括構件A與B」的表達語的範疇不應受限於僅由構件A與B所組成的 裝置。其意義為,在本發明中,該裝置的僅有相關組件為A與B。同樣地,應該注意的係,在說明或申請專利範圍之中同樣使用到的「被耦接」一詞不應被詮釋成僅侷限於直接連接。因此,「一裝置A被耦接至一裝置B」的表達語的範疇不應受限於裝置A的一輸出直接被連接至裝置B的一輸入的裝置或是系統。其意義為在A的一輸出以及B的一輸入之間存在一路徑,該路徑可以為一包含其它裝置或構件的路徑。
本文中所引用的軟體涵蓋可由一處理器來直接或間接執行之以任何語言所構成的任何類型的程式。
本文中所引用的邏輯、硬體、處理器、或是電路系統涵蓋具有任何程度整合的任何種類的邏輯或是類比電路系統,並且不受限於一般用途處理器、數位訊號處理器、ASIC、FPGA、離散式組件、或是電晶體邏輯閘、…等。
圖1所示的係本發明的一實施例,其包括一電子數位式電信網路,該網路具有一傳送原始節點1,四個處理節點2、3、4、以及5,以及一接收目的地節點6。該些節點由不同的客端裝置來操控並且為於不同的雲端處。圖中顯示不同的客端裝置(方形)220、221、222、223、224以及一連接至單一原始或中央伺服器的連接線225。原始節點1為一由客端裝置220操控的區域節點,節點2由客端裝置222操控並且位於雲端15處,節點3與4由客端裝置221操控並且位於雲端16處,節點5由客端裝置223操控並且位於雲端17處,以及目的地節點6為一由客端裝置224操控的區域節點。圖中的工作係在該原始節點1與該目的地節點6之間建立一鏈路,用以發送資料。圖1顯示有不同的替代方式來達成該些節點之間的連接線的 目的。最終選定的係一包括鏈路7、8、以及9的特定路由。本發明的實施例被調適成使得該傳送能夠符合將該網路及其鏈路的目前狀態納入考量的特定必要條件。舉例來說,該些必要條件可能為最大等待時間數額、最小品質水平、…等。倘若有多個串流的話,便可能會需要進行組構。
一混合網路中的節點可能分散在一區域、一國家、一洲大陸、或是全世界的不同類型網路之中,例如,私人網路、廣域網路(WAN)、或是雲端主幹。該些節點被施行為單機型裝置或是由該雲端供應商的實體伺服器中的虛擬機的一或數個實例來施行。在每一部虛擬機中可能會有任意數量的節點。所有節點會在該些網路11、12、13、14以及透過一網路鏈路225(它們能夠為分開或者彼此連接)被連接至一應用伺服器10。該應用伺服器10會從每一個節點處持續地接收和該節點的能力有關的資訊,因此,該應用伺服器10施行一種監視功能,用以在每一個時間點處監視該混合網路的狀態。於其中一實施例中,資訊亦能夠以非持續的方式並且在有請求時才被收集。舉例來說,其中一種請求可能為週期性啟動頻寬測試(舉例來說,每小時一次或是配合任何偏好區間來進行)。於另一範例中,倘若一新的節點被增加至該網路之中的話,一請求便會被發出用以測試該新節點的網路能力及/或連接狀態(舉例來說,測試一防火牆),以便檢視其是否可在未來用於進行連接。
在該網路中會有多項事件,也就是,會影響該網路的動作,因而改變該網路的狀態。舉例來說,一中斷鏈路會出現或者一通道會突然有重載,使得該頻寬會嚴重地下降。如果需要的話,該單一原始或中央伺服器會新增節點於該網路之中的一路徑之中或是移除該網路之中的一路徑 之中的節點,用以提高效率並且確保服務的品質。引進或是移除一節點同樣為一事件。
一資料串流從一原始節點(其亦能夠充當一傳送節點)處發出,並且在其最終目的地處被一目的地節點(其亦充當一接收節點)接收。一處理節點能夠與該(些)原始節點或是該(些)目的地節點共用一實體裝置,或者,其能夠當成一分離節點被放置在該(些)原始節點與該(些)目的地節點之間。一處理節點擁有計算能力,以便套用各種功能至該(些)串流。舉例來說,此些功能可能為組構、轉碼、…。除此之外,一處理節點還會被配置成用以實施其它功能。此些功能中的一部分對該系統來說為未知,舉例來說,因為該些功能為應用專屬的,舉例來說,臉部偵測、記錄、車牌辨識。
該(些)處理節點亦能夠充當傳送節點以及接收節點。倘若有一事件的話,舉例來說,中斷鏈路,該網路狀態便會改變並且之前所算出的路由可能不再合法。於此情況中,一網路元件(例如,該應用伺服器)會計算一新的路由,其可能使用或是不使用目前操控該串流的處理器節點作為一傳送節點。用於進行和重新路由有關之計算的該網路元件(例如,該應用伺服器)會包含一或更多個微處理器、處理器、控制器、或是一中央處理單元(CPU)及/或一圖形處理單元(GPU),並且會被調適成用以藉由軟體來程式化以實行功能,也就是,一或更多個程式。該網路可以具有記憶體(例如,非暫時性電腦可讀取的媒體、RAM、及/或ROM)、作業系統,視情況,會具有一顯示器(例如,固定格式顯示器)、資料輸入裝置(例如,鍵盤)、指標裝置(例如,滑鼠)、用以和其它裝置進行通訊的序列埠或並列埠、或是網路卡以及用以連接至任何該些網路的連接線。該應用伺服器會查詢該網路上 的靜態與動態混合消息,以便找尋可接受、良好、或是較佳的路由,舉例來說,「正確的」路由。舉例來說,靜態消息能夠由系統管理者來輸入,舉例來說,使用閘道器「x」來串流至一特定公司網路內部的任何目的地。動態消息則為藉由從先前的決策中學習而新增至該系統的消息。
路由的計算能夠藉由考量下面之中的任何部分、一部分、或是全部而被最佳化:請求之中的條件、要被發送的資料的特徵、以及該些網路節點的目前能力及/或目前測得的狀態。舉例來說,如果一鏈路具有每秒1G位元的完整能力並且50%被其它應用使用的話,那麼,該目前測得的狀態則為每秒僅能夠使用500M位元。
圖2所示的係本發明的一實施例,其包括一原始節點20以及一目的地節點21。介於它們之間的直接UDP(使用者資料包協定)鏈路22雖然在網路24的邊界處受到一防火牆23阻隔;然而,兩個裝置卻能夠在TCP上穿隧RTP,因此,該應用伺服器能夠選擇在鏈路25上進行路由,而不需要選擇路由通過一處理節點。
圖3所示的係根據本發明的一網路的一實施例,其具有一位於網路36之中的原始節點30、一目的地節點31、以及一位於週邊網路或是DMZ(非軍事地帶)33之中的閘道器節點32。介於該原始節點30與該目的地節點31之間的直接鏈路34雖然受到一防火牆35阻隔;然而,週邊網路33包括一閘道器節點32,並且該串流能夠透過該閘道器節點32被重新路由並且透過鏈路39被進一步路由至該目的地節點31。該閘道器節點32同樣受到防火牆37與38的限制;但是,舉例來說,該些防火牆能夠被配置成不會阻隔來自此閘道器個人電腦的串流。替代方式係,該閘道器節點32具有一 用以介接位於該防火牆後面之網路的網路介面以及一用以介接並非位於該防火牆後面之網路(圖中並未顯示)的網路介面。
於其中一實施例中,有多個串流要在該網路上被發送。圖4a)顯示來自網路42之中的節點40與41的2個串流如何被要求發送至網路44之中的節點43。直接路由為45以及46。然而,節點43卻可能無法接收該些路由中的其中一個路由(舉例來說,路由46)上的其中一個串流。舉例來說,目的地節點43可能不具有處理能力(舉例來說,沒有能力處理解碼及/或組構或是所需要的任何其它功能),或者可能有一條斷線存在或是可能有一防火牆存在。圖4b)顯示該應用伺服器如何在路由48與49上將兩個串流重新路由至節點47。該些串流會在節點47處被處理並且所生成的其中一個串流50現在會被發送至節點43。
圖5所示的係本發明的一實施例,其包括:位於一區域站點62處的兩個原始節點60與61;位於雲端65之中的兩個原始節點63與64;位於雲端65之中的一個處理節點66;位於區域站點68處的一個處理節點67;位於一週邊網路或是DMZ地帶70處的一個處理節點69;以及位於區域站點68處的一個目的地節點71。於其中一實施例中,來自全部四個原始節點60、61、63、以及64的串流72、73、74、以及75應該被組構成一個串流並且被發送至該目的地節點71。該三個處理節點66、67、以及69可以達成各式各樣的解決方式。其中一種情況可能為該組構必須在位置靠近該些原始節點或是與該些原始節點有最佳分隔的處理節點處被實施。或者,舉例來說,最佳的條件可能係關於頻寬、距離、處理能力、或是任何其它特徵。圖5所示的係最佳處理節點為66的範例,該節點位於雲端65之中。 因此,該些串流72、73、74、以及75會被發送至處理節點66並且被組構成一個串流76,其會被發送至該目的地節點71。於一般的情況中,舉例來說,該些處理節點能夠實施組構、轉碼、定標、重新封包、中繼轉送、穿隧、視頻轉換、或是任何其它功能。每一個節點皆能夠操控其中一項功能或是數項功能的任何組合。
圖6中所示的係本發明的其中一實施例的一範例,其中,一節點包括數種功能。處理節點P包括多條處理管線81至85:管線81與82用於轉碼;管線83與84用於中繼轉送;以及管線85用於組構。轉碼管線81與82各自分別接收與傳送一串流86與87。中繼轉送管線83與84各自分別接收與傳送一串流88與89,它們會經過處理並且經過處理的串流95、96會被傳送。轉碼管線82接收一串流87,其會經過處理並且經過處理的串流94會被傳送至兩個目的地。該組構管線接收三個串流,該管線會將該些串流組構成一個串流並且將此串流發送至兩個目的地。
於本發明的其中一實施例中,該些傳送節點與接收節點以不同的協定來通訊,因此,需要進行轉碼。圖7顯示一種範例,其中,節點100位於網路101之中,其利用H.264 over RTP(即時協定)。H.264係一種能夠由RTP來攜載的視訊碼格式。有一目的地節點102位於該網路101外面;但是,直接鏈路103受到阻隔,因為節點102運行VP8 over Web RTC(網路即時通訊)。VP8係一種能夠由WEB RTC來攜載的視訊壓縮格式。WEB RTC係一種應用程式化介面,其支援瀏覽器至瀏覽器通訊。節點104位於雲端105之中並且包括一轉碼器。應用伺服器(圖中並未顯示)接著會決定在鏈路107之中透過節點104將該串流重新路由至節點。該串流被轉碼至VP8 over WebRTC並且現在能夠透過鏈路106被發送至目的地節點102。
圖8所示的係一實施例,其中,5個串流要從一位於網路111之中的節點110處被發送至位於網路111外面的目的地節點112至116。這可能會在節點S的位置附近造成一瓶頸117。應用伺服器(圖中並未顯示)接著會將所有串流重新路由至位於雲端118之中的處理節點118,接著,該處理節點118會將該些串流中繼轉送至它們的目的地節點112至116。依此方式便能夠將高頻寬需求移至該網路之中比較不敏感的地方。
圖9所示的係本發明的一實施例,其為一混合網路,該混合網路包括一原始節點120、兩個處理節點121與122、以及兩個目的地節點123與124。一串流會從該原始節點120處被發送至該兩個目的地節點123與124。不同的鏈路有不同的特性。舉例來說,介於處理節點121與122之間的雲端主幹125通常為快速並且可靠;而舉例來說,介於原始節點120與第一處理節點121之間的鏈路126則會呈現變動的效能。另外,介於處理節點122和目的地節點123與124之間的鏈路127與128的可靠性同樣低於雲端主幹125。藉由為每一條鏈路選擇適當的鏈路設定值,該(些)串流的傳遞便能夠進一步的最佳化。舉例來說,倘若該串流應該以不同的編解碼和解析度被發送至多個目的地的話,可以在中間的步驟或是跳躍之中選擇解析度以及編解碼,用以最小化頻寬以及處理能力(以便降低成本)及/或處理需求(以便縮短等待時間)。於另一範例中,可以使用一比較可靠的鏈路,俾使得能夠選擇具有比較少附加運算成本(overhead cost)的協定來進行錯誤回復(error recovery)。選擇該些鏈路設定值會被併入於整體的路由計算之中,因為其可能會影響該路由(舉例來說,需要有一在一特定的位置處可能為可使 用或是不可使用的特定處理節點)。
圖10所示的係本發明的一實施例,其包括一原始節點130、為於不同位置的處理節點131至135、以及一目的地節點136。應用伺服器已經針對一特定的資料串流算出一通過鏈路137、138、以及139的路由。倘若鏈路139因為事件140的關係而突然失效的話,該應用伺服器(圖中並未顯示)便會被通知並且被觸發用以重新路由該資料串流。該應用伺服器會收集介於該原始節點130與該目的地節點136之間的所有節點的所有能力並且計算一新路由。該計算能夠由該原始節點130或是任何其它不可取代節點(或是「狀態」節點)來進行,或是由位於該中斷鏈路前方的處理節點135來進行。於此範例中,一通過節點131與132的路由會被選擇。本發明能夠處理現場串流,其可能會有來自該原始節點的連續傳送。因為其中一個節點可能會送出眾多串流至數個節點,所以,僅有在失效的鏈路被發送的資料串流需要被重新路由,而通過可運作鏈路的前進中路由則會保留而不會受到干擾。在該些節點中的快取時間會被限制於數毫秒。
圖11中以流程圖來顯示該程序。在步驟150中,至少一串流在一網路中沿著至少一已算出的路由從至少一原始節點流至至少一目的地節點。在步驟151中,一事件出現在該網路中,其中,至少一鏈路會中斷。在步驟152中,該事件會觸發該應用伺服器,用以取樣每一個節點的能力並且為沿著具有中斷鏈路的路由被發送的至少一串流中的每一個串流重新計算一路由。沿著具有中斷鏈路的路由被發送的至少一串流中的每一個串流接著便會在其重新計算的路由上被重新路由。
舉例來說,經驗模型會被產生,以便預測特定輸入/輸出需 要多少每一種類型的能力。這能夠藉由利用組件的摘要說明並且持續監視此些組件來施行。此「大數據(big data)」接著會被用來模擬該些組件。此些模型能夠被用來預測組件的行為並且用來偵測異常及/或問題。舉例來說,於一特定類型的機器中,類型x的轉碼器會在1080p視訊串流中消耗10%的中央處理單元。
於其中一實施例中,該應用伺服器會收集每一個時間點處的特定節點與鏈路的能力。舉例來說,藉由考量網路中的實際負載,該伺服器便能夠建立一具有該網路行為之統計資料的資料庫。圖12顯示在一特定時間點處介於兩個處理節點160與161之間的鏈路之中的封包遺失記錄。每一條鏈路皆會提供其封包遺失百分比163至167給應用伺服器162。實際封包遺失的一範例可能係163為0.1%,164為0%,165為0.2%,166為0.15%,以及167為0.09%。應用伺服器162接著便會得知節點160與161之間的平均封包遺失為0.1%。此記錄資料會被儲存在用於進行預測的資料庫之中。
上面所述的預測可以顯示需要有額外的節點或者某些節點能夠被移除。於其中一實施例中,應用伺服器會相依於目前的需求而新增或移除節點。圖13所示的係在一特定時間點處於一網路之中的路由的範例。該網路具有原始節點、目的地節點、以及處理節點。某些節點170至172目前沒有被使用。該應用伺服器接著會決定移除此些節點,以便降低成本。如果在一稍後的時間點處需求改變的話會需要額外的節點,該應用伺服器便會新增節點至該網路。該網路係一疊置網路,其包括被施行為虛擬機的多個節點,它們能夠相依於需求而被加入或是移除。在圖14之中所述的計算能夠被用來計算預測結果,用以決定在各種條件下所需要的節點數 量與類型。舉例來說,此些條件能夠為當天/當週或當年中的一特定時間,或者請求發送一特定類型的資料串流或是多種特定類型資料串流的組合。加上和每一個節點的處理能力有關的資訊便能夠預測實際需要的節點數量。
在一包括一原始節點與一目的地節點以及至少一處理節點的網路中,可能會有至少兩種可能的方式用以將一串流從該原始節點處路由至該目的地節點。可能路由的數量會隨著位於該原始節點與該目的地節點之間的可利用處理節點的數量而增加。一網路之中的每一個節點與鏈路會與成本相關聯,舉例來說,成本可能為使用租賃網路的金錢成本,或者以等待時間所量測的成本,或是亦可能為其它成本量測值。因此,不同的路由會與不同的成本相關聯。因為每一個請求皆伴隨特定的必要條件(需要中繼轉送、組構、轉碼、…等),所以,每一個請求可能會有不同的路由以及和每一條路由有關的成本。所以,優點係,尋找該請求的最佳路由以最小化該成本。舉例來說,這會包括最小化金錢成本、等待時間成本或是改變次數的成本、或是任何其它類型成本、或是它們的任何組合。
該最佳化雖然能夠利用「暴力」藉由實施所有可能的計算來實施;然而,此作法經常非常耗時而沒有效率。或者,亦能夠使用Monte Carlo方法。啟發式規則能夠被用來限制解空間。
本發明的實施例包含根據圖14之中所述的下面方法來套用啟發式規則。圖14所示的係用以計算路由的本發明的一實施例的流程圖。該方法會在兩個主要步驟之中實施。在步驟180中會實施第一步驟,其中,會根據所接收的請求並且考量可利用的節點在該原始節點和該目的地節點 之間建立一功能圖。該功能圖係利用一種專屬的方式來建立,俾使得所有的請求功能皆會出現;但是,並沒有任何最佳化考量。步驟180為一快速步驟,其能夠在多個時間訊框內被實施,例如,800ms,甚至50ms,舉例來說,從小於800ms短至30ms。於一第二步驟181中會開始進行一最佳化方法。該步驟包括針對每一個直接狀態節點對,將跳躍移除並且利用一直接鏈路來取代,並且如果仍可符合該請求(或者獲得改良)的話,該直接鏈路便會被保留;以及如果不符合該請求的話,該改變便會被回復到先前的狀態。步驟182為該最佳化方法的第二部分,其包括移除該兩個節點之間的所有鏈路並且根據Dijkstra演算法(舉例來說,請參見1959年發表於Numerische Mathematik之中的「和圖形有關的兩種問題之註釋(A Note on Two Problems in Connexion with Graphs)」)來新增最短路徑。此步驟認為該些鏈路有不同的成本。步驟181與182會在一較長的時間訊框之中被實施,舉例來說,數分鐘。該方法亦可能運作於許多此些時間訊框之中,其中,其會在每一個時間訊框結束處提供會被接受或是拒斥的中間結果。
Dijkstra演算法雖然較佳;不過,亦能夠使用其它演算法。Bellman-Ford演算法為一種在一有加權的有向圖(weighted digraph)之中計算從單一原始頂點至所有其它頂點的最短路徑的演算法。針對相同的問題,Bellman-Ford演算法雖然慢於Dijkstra演算法;但是,比較實用,因為其能夠應付該些邊緣權值中的一部分為負數的圖形。舉例來說,請參見https://en.wikipedia.org/wiki/bellman%E2%80%93Ford algorithm
因為負數成本或等待時間並不實用,所以,此演算法雖然可以取代Dijkstra演算法;但是可能比較慢。
Johnson演算法藉由使用Bellman-Ford演算法來計算輸入圖形的轉換圖形,其會移除所有的負數權值,從而允許在該經轉換圖形中使用Dijkstra演算法。舉例來說,請參見https://en.wikipedia.org/wiki/Johnson%27s algorithm
圖15所示的係本發明的另一實施例,其中,步驟190為第一快速步驟,其能夠在多個時間訊框內被實施,例如,800ms,甚至50ms,舉例來說,從小於800ms短至30ms。步驟191會開始進行一包括線性程式化的最佳化方法。該步驟191包括將該網路之中的所有節點納入考量來建立一目標函數,並且利用該網路與資料串流的已知限制以及該路由的被要求的必要條件來定義邊界條件。在步驟192中會利用一適當的解算器來解出該等式,也就是,最佳化。步驟191與192會在一較長的時間訊框之中被實施,舉例來說,數分鐘。該方法亦可能運作於許多此些時間訊框之中,因此,其會在每一個時間訊框結束處提供會被接受或是拒斥的中間結果。獲得解答的時間會相依於該獨立式網路的複雜性、所使用的解算器工具、以及可利用的計算能力。
為縮短等待時間,重要的可能係設下用以限制該網路的跳躍層數的必要條件。下面便係當該層數被限制為三個時的情況的範例;每一層皆會有任意數量的節點。此範例中的網路雖然包括原始節點、控制器、以及組構器;但是,該些等式亦能夠延伸至進一步的處理類型。
探討下面的目標函數: 其中,xij代表利用原來的原始節點,yijk代表由第k個組構器來進行定標,以及zijk代表由第k個組構器來進行定標與組構,xij、yijk、以及zijk皆為二進制。
因此,如果xij=1的話,xij便係第i個控制器,其會在視窗wij中使用該原來的原始節點(和所收到的相同);而如果yijk=1的話,yijk便係第i個控制器,其會在視窗wij中使用一經定標的原始節點,並且由該第k個組構器來進行定標;以及如果zijk=1的話,zijk便係第i個控制器,其會使用該第k個組構器來未完整的佈局進行定標與組構。
等式(1)的邊界條件為 也就是,僅有一個組構器能夠實施定標,或者 也就是,完整的組構僅由一個組構器來進行,並且 也就是,每一個原始節點為組構的原來部分或是經定標的部分,其中,i=1…N,j=1…ni,N為控制器的數量以及ni為控制器i的佈局之中的視窗的數量。wx、wy、wz為權值,其能夠設定「偏好」,用以進行局部組構、定標、或是雲端組構。舉例來說,如果wx>wy>wz的話,任何控制器皆會偏好自行接收與解碼(wx為最大);如果不可能的話,該控制器將會依賴於定標(wy為第二大);以及最後的選項則為該控制器將會完全依賴於雲端組構(wz為最 小)。
下面的邊界條件考量可利用的頻寬:
其中,BCTRL為控制器的接收頻寬,DCTRL為控制器的解碼能力,bx為用以接收原來的原始節點所需要的頻寬,by為用以接收經定標的原始節點所需要的頻寬,bz為用以接收一或更多個原始節點的組構結果所需要的頻寬。
進一步言之,編碼與解碼能力會有下面的邊界條件:
dx、dy、dz為用以解碼原來的原始節點、經定標的原始節點、或是多個原始節點之組構結果所需要的解碼能力。
bx、by、bz為頻寬,如上面所述。
DCOMP為一組構器的解碼能力。
ECOMP為一組構器的編碼能力。
BTXCOMP與BRXCOMP分別為傳送頻寬與接收頻寬。其假設所有組構器有相同的限制。
目標為在邊界條件(2)至(10)的限制下最佳化等式(1)之中的M。
於另一實施例中,該些節點能夠位於不同的網路之中。圖16顯示一節點200,其會包括任何原始或處理功能。該節點200還會以高頻寬連接線(舉例來說,速度為100Mb/秒)被連接至叢集201、202、以及203。叢集201會包括一原始節點204以及一組構器節點205。叢集202會包括一組構器節點206、一控制器節點207、以及一原始節點208。叢集203會包括一原始節點209以及一組構器節點210。如果需要的話,節點200能夠使用叢集201、202、及/或203之中的資源。該些叢集之間的頻寬分別為211、212、及/或213。該些原始節點的格式為Slm,其中,l為原始節點編號,而m為叢集編號。該些組構器節點的格式PPkm,其中,k為組構器編號,而m為叢集編號。該些控制器節點的格式PLim,其中,i為組構器編號,而m為叢集編號。
進一步言之,,l=1...L,m=1...M,以及,l=1...K,m=1...M i ,以及,i=1...N,m=1...M i
再者,如果原始節點Sl位於視窗wij之中的話,fijl=1;以及,如果原始節點Sl不位於視窗wij之中的話,fijl=0。其中,,i=1...N,j=1...n i
如果叢集m具有頻寬Bm的話,那麼,外送的串流便應該符合下面的條件, 而外來的串流則應該符合下面的條件, Slm、PLim、PPkm為該模型的輸入並且能夠輕易地改變。fijl係從分析中所抽出,其為每一個控制器想要顯示(被要求的佈局)。等式(11)與(12)模擬叢集M的流出量(flux out)與流入量(flux in),其中,連接至叢集M的鏈路受到頻寬Bm限制。將限制條件(11)與(12)增加至該模型可以將網路與限制納入考量。進一步言之,此模型會包括行動式的原始節點與控制器節點,因為Slm與PLim為可變動。叢集大小為任意大小;其可能為單一組構器或原始節點(於此情況中,(11)及/或(12)之中的括弧會被刪除)。該叢集定義可以模擬區域網路與遠端網路中的通訊,舉例來說,遠端協作。
本發明和具有處理能力的各式各樣數位裝置有關,例如,應用伺服器、資料庫伺服器、…等。此些裝置中的每一者會包含一或更多個微處理器、處理器、控制器、或是中央處理單元(CPU)及/或圖形處理單元 (GPU),並且會被調適成用以藉由軟體來程式化以實行它們個別的功能,也就是,一或更多個程式。此些裝置之中的任何、一部分、或是所有裝置可以具有記憶體(例如,非暫時性電腦可讀取的媒體、RAM、及/或ROM)、作業系統,視情況,會具有一顯示器(例如,固定格式顯示器)、資料輸入裝置(例如,鍵盤)、指標裝置(例如,滑鼠)、用以和其它裝置進行通訊的序列埠或並列埠、網路卡以及用以連接至任何該些網路的連接線。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:在一電信網路之中路由至少一資料串流,該電信網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:所有節點會傳送它們的能力至一資料庫伺服器上的一系統資料庫;該資料庫伺服器會接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流;以及針對每一個請求,利用在接收該請求時已儲存在該中央資料庫之中的所有節點和鏈路的能力來計算該兩個節點之間的至少一路由的量測值,每一個路由皆包括至少一傳送節點、至少一接收節點、以及零或更多個處理節點;以及提供指令以便僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:利用至少一啟發式規則或線性程式化來計算一最佳路由。在每一個直接狀態節點對中,介於它們之間的跳躍皆會利用一直接鏈路來取代,計算一路由成本,並且如果該路由成本較低而仍提供所需要的處理能力的話則保留該直接鏈路。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:在每一個直接狀態節點對中,移除介於該兩個節點之間的所有鏈路,並且考量所需要的處理能力而根據下面的其中一種演算法來新增最短路徑:Dijkstra演算法、Bellman/Ford演算法、以及Johnson's演算法。
軟體碼部分可以在一處理引擎中被執行時允許或是幫助新增或移除具有處理能力的至少一節點,計算路由成本,如果該路由成本較低而仍提供所需要的處理能力的話則保留該直接鏈路,其中,該路由成本為金錢成本或是等待時間成本。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:利用一目標函數來模擬該網路並且利用該請求來定義該模型之中的變數的邊界條件,並且最小化或是最大化該目標函數,其中,該模型 會包括用於至少一處理類型及/或至少一視窗的變數。該些變數可能為二進制並且每一個變數皆有一指數計數用以賦予該網路之中的每一個特定組件一獨特變數。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:在該模型之中的每一個處理步驟皆與一權值變數相關聯。
該模型會受限於該請求之中所提供的限制條件,舉例來說,成本及/或等待時間。
該模型會受限於該網路的實際特性,舉例來說,接收與傳送頻寬及/或編碼與解碼能力。
該目標函數會於該些變數限制條件的極限值裡面被最小化或是最大化,藉此,利用線性程式化能夠找到解。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:請求從至少兩個不同的傳送節點處發送至少兩個資料串流,藉此,該些網路節點中的至少其中兩個能夠利用不同的協定,以及該已算出路由的網路節點之中的至少其中兩個能夠利用不同的協定。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下 面的功能:於該網路之中的兩個事件之間新增或是移除網路節點,或是兩者的組合。
透過一週邊網路或是藉由傳輸控制協定穿隧發送至少一資料串流。
請求以一經處理的格式從至少一傳送節點處發送至少一資料串流至至少一接收節點;計算一處理節點以該傳送節點或是該接收節點為基準的最佳位置;發送該至少一資料串流至該最佳節點以進行處理;以及發送該經過處理的資料串流至該至少一接收節點,其可能透過另一處理節點,藉此,該處理能夠為組構、轉碼、定標、重新封包、中繼轉送、穿隧、視頻轉換、或是它們的任何組合。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:在該經算出的路由中發送該至少一資料串流之前先針對該至少一經算出的路由中的每一個路由來修正該至少一鏈路的該些設定值。
該至少一單一原始或中央伺服器會使用該些被交流的節點能力來創造一由每一個節點和相關聯的鏈路所組成的經驗模型。
該請求條件會包括下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。
該軟體能夠被具現在一電腦程式產品之中,該電腦程式產品被調適成用以在該軟體被載入於該或該些個別裝置之中並且在一或更多個 處理引擎(例如,微處理器、ASIC、FPGA、…等)之中被執行時用以實行下面的功能:一量測值包括下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。
在每一個時間點中,一量測值或是多個量測值的任何組合皆會有一最佳路由。
一事先設定的量測值會被指派給一路由的至少一條鏈路。
該單一原始或中央伺服器會保留不同時間點處的節點的能力的取樣。
任何上面的軟體可以被施行為一種已編譯成用於該網路的任何伺服器或節點中的一處理引擎的電腦程式產品。該電腦程式產品可以被儲存在一非暫時性訊號儲存媒體之中,例如,光碟(CD-ROM或DVD-ROM)、數位式磁帶、磁碟、固態記憶體(例如,USB快閃記憶體)、ROM、…等。
1‧‧‧原始節點
2‧‧‧處理節點
3‧‧‧處理節點
4‧‧‧處理節點
5‧‧‧處理節點
6‧‧‧目的地節點
7‧‧‧鏈路
8‧‧‧鏈路
9‧‧‧鏈路
10‧‧‧應用伺服器
11‧‧‧網路
12‧‧‧網路
13‧‧‧網路
14‧‧‧網路
15‧‧‧雲端
16‧‧‧雲端
17‧‧‧雲端
220‧‧‧客端裝置
221‧‧‧客端裝置
222‧‧‧客端裝置
223‧‧‧客端裝置
224‧‧‧客端裝置
225‧‧‧網路鏈路

Claims (43)

  1. 一種用於在電信網路之中路由至少一資料串流的方法,該電信網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,該方法包括下面步驟:所有節點傳送它們的能力至一資料庫伺服器上的一系統資料庫;該資料庫伺服器接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流;以及針對每一個請求,利用在接收該請求時已儲存在單一原始或中央資料庫之中的所有節點和鏈路的能力來計算該兩個節點之間的至少一路由的量測值,每一個路由皆包括至少一傳送節點、至少一接收節點、以及零或更多個處理節點;以及提供指令,以僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。
  2. 根據申請專利範圍第1項的方法,其包括利用至少一啟發式規則或線性程式化來計算一最佳路由。
  3. 根據申請專利範圍第2項的方法,其包括在每一個直接狀態節點對中,利用一直接鏈路來取代介於它們之間的跳躍,計算一路由成本,並且如果該路由成本較低而仍提供所需要的處理能力的話則保留該直接鏈路。
  4. 根據申請專利範圍第2項的方法,其包括在每一個直接狀態節點對中,移除介於該兩個節點之間的所有鏈路,並且考量所需要的處理能力而根據下面的其中一種演算法來新增最短路徑:Dijkstra演算法、Bellman/Ford 演算法、以及Johnson's演算法。
  5. 根據申請專利範圍第1項的方法,其包括新增或移除具有處理能力的至少一節點,計算路由成本,並且如果該路由成本較低而仍提供所需要的處理能力的話則保留該直接鏈路。
  6. 根據申請專利範圍第3項的方法,其中,該路由成本為金錢成本或是等待時間成本。
  7. 根據申請專利範圍第2項的方法,其包括利用一目標函數來模擬該網路並且利用該請求來定義該模型之中的變數的邊界條件,並且最小化或是最大化該目標函數。
  8. 根據申請專利範圍第7項的方法,其中,該模型包括用於至少一處理類型及/或至少一視窗的變數。
  9. 根據申請專利範圍第7項的方法,其中,該些變數為二進制。
  10. 根據申請專利範圍第7項的方法,其中,每一個變數皆有一指數計數用以賦予該網路之中的每一個特定組件一獨特變數。
  11. 根據申請專利範圍第7項的方法,其中,在該模型之中的每一個處理步驟皆與一權值變數相關聯。
  12. 根據申請專利範圍第7項的方法,其中,該模型會受限於該請求之中所提供的限制條件,舉例來說,成本及/或等待時間。
  13. 根據申請專利範圍第7項的方法,其中,該模型會受限於該網路的實際特性,舉例來說,接收與傳送頻寬及/或編碼與解碼能力。
  14. 根據申請專利範圍第7項的方法,其中,該目標函數會於該些變數限制條件的極限值裡面被最小化或是最大化。
  15. 根據申請專利範圍第7項的方法,其中,藉由利用線性程式化能夠找到解。
  16. 根據申請專利範圍第1項的方法,其包括,請求從至少兩個不同的傳送節點處發送至少兩個資料串流。
  17. 根據申請專利範圍第1項的方法,其包括,該些網路節點中的至少其中兩個利用不同的協定。
  18. 根據申請專利範圍第1項的方法,其包括,該已算出路由的網路節點之中的至少其中兩個利用不同的協定。
  19. 根據申請專利範圍第1項的方法,其包括,於該網路之中的兩個事件之間新增或是移除網路節點,或是兩者的組合。
  20. 根據申請專利範圍第1項的方法,其包括,透過一週邊網路或是藉由傳輸控制協定穿隧發送至少一資料串流。
  21. 根據申請專利範圍第1項的方法,其包括:請求以一經處理的格式從至少一傳送節點處發送至少一資料串流至至少一接收節點;計算一處理節點以該傳送節點或是該接收節點為基準的最佳位置;發送該至少一資料串流至該最佳節點以進行處理;以及發送該經過處理的資料串流至該至少一接收節點,其可能透過另一處理節點。
  22. 根據申請專利範圍第1項的方法,其包括,該處理為組構、轉碼、定標、重新封包、中繼轉送、穿隧、視頻轉換、或是它們的任何組合。
  23. 根據申請專利範圍第1項的方法,其包括,在該經算出的路由中發送該至少一資料串流之前先針對該至少一經算出的路由中的每一個路由來修正該至少一鏈路的該些設定值。
  24. 根據申請專利範圍第1項的方法,其包括,該至少一單一原始或中央伺服器會使用該些被交流的節點能力來創造一由每一個節點和相關聯的鏈路所組成的經驗模型。
  25. 根據申請專利範圍第1項的方法,其中,該請求條件包括下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。
  26. 一種包含重新路由資料串流的方法,其包括,該網路的該些步驟被提交至一觸發進行根據申請專利範圍第1項的方法的事件。
  27. 一種用於在電信網路之中路由至少一資料串流的系統,該電信網路包括至少一傳送節點、至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,其進一步包括至少一單一原始或中央伺服器,該至少一單一原始或中央伺服器會在一第二網路上透過客端裝置被連接至所有節點,其中,在每一個時間點中,每一個節點和鏈路的能力皆會被儲存在該單一原始或中央伺服器之中,因此,在每一個時間點中,經過該網路的每一個路由皆會與從屬於該路由的每一個節點和鏈路的能力中所算出的一量測值相關聯。
  28. 根據申請專利範圍第27項的系統,其中,一量測值包括下面之中的任一者:等待時間、成本、計算時間、資料串流的品質、訊框率、可接受的損失率、資料串流的優先序、或是它們的任何組合。
  29. 根據申請專利範圍第27項的系統,其中,在每一個時間點中,一量測值或是多個量測值的任何組合皆會有一最佳路由。
  30. 根據申請專利範圍第27項的系統,其中,一路由包括一週邊網路或 是傳輸控制協定穿隧。
  31. 根據申請專利範圍第27項的系統,其中,至少兩個網路節點係利用不同的協定來施行。
  32. 根據申請專利範圍第27項的系統,其中,一經算出的路由包括利用不同協定來施行的至少兩個網路節點。
  33. 根據申請專利範圍第27項的系統,其中,一處理節點包括下面之中的任一者:至少一轉碼器、至少一組構器、至少一中繼轉送器、至少一定標器、至少一重新封包功能、或是它們的任何組合。
  34. 根據申請專利範圍第27項的系統,其中,一事先設定的量測值會被指派給一路由的至少一條鏈路。
  35. 根據申請專利範圍第27項的系統,其中,在該網路之中的一事件發生之前的所有節點的能力會不同於該事件已經發生之後的該些能力。
  36. 根據申請專利範圍第27項的系統,其中,在該網路之中的一事件發生之前的一串流的路由會不同於該事件已經發生之後的路由。
  37. 根據申請專利範圍第27項的系統,其中,該單一原始或中央伺服器會保留不同時間點處的節點的能力的取樣。
  38. 根據申請專利範圍第27項的系統,其中,該網路為一疊置網路,每一個節點被施行在至少一虛擬機的一或數個實例上。
  39. 根據申請專利範圍第27項的系統,其中,資料庫伺服器包括:系統資料庫、nosQL資料庫、知識資料庫、資料收集器、資料查詢、應用模組、以及通訊匯流排。
  40. 一種系統,其被調適成用以實行根據申請專利範圍第1項的方法。
  41. 一種網路元件,其被調適成用於計算一電信網路中的至少一資料串流的路由,該電信網路具有用以提供至少一資料串流的至少一傳送節點、用以接收該至少一資料串流的至少一接收節點、零或更多個處理節點、以及連接該些節點的至少一鏈路,該網路元件至少存取一資料庫伺服器,所有節點傳送它們的能力至該資料庫伺服器上的一系統資料庫;該資料庫伺服器接收具有至少一條件的至少一請求,用以在兩個節點之間發送至少一資料串流;以及針對每一個請求,其中,該網路元件被調適成用以利用在接收該請求時已儲存在單一原始或中央資料庫之中的所有節點和鏈路的能力來計算該兩個節點之間的至少一路由的量測值,每一個路由皆包括至少一傳送節點、至少一接收節點、以及零或更多個處理節點;以及提供指令,以僅使用具有符合該請求之中的該至少一條件之量測值的至少一路由。
  42. 一種電腦程式產品,當在一處理引擎之中被執行時其實行根據申請專利範圍第1項的方法。
  43. 一種非暫時性訊號儲存媒體,其儲存申請專利範圍第42項的電腦程式產品。
TW105134271A 2015-11-03 2016-10-24 用於電信網路中資料串流之最佳化路由的方法和系統 TWI727984B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1519379.0A GB2544049A (en) 2015-11-03 2015-11-03 Method and system for optimized routing of data streams in telecommunication networks
GB1519379.0 2015-11-03

Publications (2)

Publication Number Publication Date
TW201725927A true TW201725927A (zh) 2017-07-16
TWI727984B TWI727984B (zh) 2021-05-21

Family

ID=55130581

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105134271A TWI727984B (zh) 2015-11-03 2016-10-24 用於電信網路中資料串流之最佳化路由的方法和系統

Country Status (7)

Country Link
US (1) US10686693B2 (zh)
EP (1) EP3371951B1 (zh)
CN (1) CN108432202B (zh)
GB (1) GB2544049A (zh)
SG (1) SG11201803608TA (zh)
TW (1) TWI727984B (zh)
WO (1) WO2017076652A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11127004B2 (en) * 2016-02-18 2021-09-21 Mastercard International Incorporated Systems and methods for pre-processing network messages to optimize routing
WO2018073674A1 (en) 2016-10-21 2018-04-26 Levi Dinor Adam Vestergaard Flat data routing chain
US10616374B2 (en) * 2017-03-14 2020-04-07 International Business Machines Corporation Client attachment to an overlay network
CN109803450A (zh) * 2018-12-12 2019-05-24 平安科技(深圳)有限公司 无线设备与电脑连接方法、电子装置及存储介质
CN109788249B (zh) * 2018-12-27 2020-12-25 浙江蓝卓工业互联网信息技术有限公司 基于工业互联网操作系统的视频监控控制方法
CN111510383B (zh) * 2019-01-31 2023-03-24 华为技术有限公司 一种路由计算方法以及相关设备
CN109639575B (zh) * 2019-02-02 2020-09-11 北京邮电大学 基于链路拥塞系数的路由规划方法
US10992496B2 (en) * 2019-05-14 2021-04-27 International Business Machines Corporation Tuning TCP largesend parameter in VXLan cloud environments
CA3144466A1 (en) * 2019-07-23 2021-01-28 Lazar Entertainment Inc. Live media content delivery systems and methods
CN111769996A (zh) * 2020-09-02 2020-10-13 江苏达科云数据科技有限公司 一种应用于复杂网络环境下的设备监控方法
CN113904974B (zh) * 2021-10-09 2023-08-15 咪咕文化科技有限公司 智能路由方法、装置及设备
GB2612956B (en) * 2021-11-05 2024-05-22 British Telecomm Method of operating a telecommunications network

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981055B1 (en) 2000-08-22 2005-12-27 Internap Network Services Corporation Method and system for optimizing routing through multiple available internet route providers
US7092378B1 (en) * 2001-12-10 2006-08-15 At & T Corp. System for utilizing a genetic algorithm to provide constraint-based routing of packets in a communication network
US9325805B2 (en) * 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US8060650B2 (en) * 2004-10-27 2011-11-15 Hewlett-Packard Development Company, L.P. Diagnosing a path in a storage network
US8218445B2 (en) * 2006-06-02 2012-07-10 Ciena Corporation Smart ethernet edge networking system
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
CN101729385B (zh) * 2008-10-31 2012-07-25 华为技术有限公司 一种路径计算及建立方法、装置和系统
US8289365B2 (en) * 2009-03-30 2012-10-16 Alcatel Lucent Method and apparatus for the efficient transmission of multimedia streams for teleconferencing
CN101820384A (zh) * 2010-02-05 2010-09-01 浪潮(北京)电子信息产业有限公司 一种集群服务动态分配方法及装置
JP5678573B2 (ja) * 2010-02-24 2015-03-04 富士通株式会社 経路計算システム、経路計算方法及び経路計算プログラム
US20120309394A1 (en) * 2010-09-16 2012-12-06 Qualcomm Incorporated Apparatus and methods for hand-in to a femto node
US20130034105A1 (en) * 2011-08-04 2013-02-07 Intelepeer, Inc. Cascading routing queries
US9106511B1 (en) 2011-08-22 2015-08-11 Star2Star Communications, LLC Systems and methods for optimizing application data delivery over third party networks
CN102664812B (zh) * 2012-05-14 2015-05-20 山东大学 融合业务预测与实时负载的两阶段服务系统负载预测与均衡方法
US20150128223A1 (en) * 2012-06-11 2015-05-07 Telefonaktiebolaget L M Ericsson (Publ) Using Security Levels in Optical Network
WO2014053166A1 (en) * 2012-10-02 2014-04-10 Telefonaktiebolaget L M Ericsson (Publ) Control of power consumption modes of communications apparatus
CN103260033B (zh) * 2013-04-26 2017-02-08 西安交通大学 一种联合端系统和中继节点网络编码的鲁棒视频传输方法
CN103338269B (zh) * 2013-07-19 2016-12-28 中国人民解放军信息工程大学 一种数据传输方法及装置
CN103716808B (zh) * 2013-12-20 2016-09-28 合肥工业大学 一种无线传感器网络链路质量预测方法
CN107729147B (zh) * 2014-03-06 2021-09-21 华为技术有限公司 流计算系统中的数据处理方法、控制节点及流计算系统
US9686101B2 (en) * 2014-05-09 2017-06-20 Lattice Semiconductor Corporation Stream creation with limited topology information

Also Published As

Publication number Publication date
TWI727984B (zh) 2021-05-21
CN108432202B (zh) 2021-05-28
GB201519379D0 (en) 2015-12-16
SG11201803608TA (en) 2018-05-30
EP3371951B1 (en) 2020-07-15
WO2017076652A1 (en) 2017-05-11
EP3371951A1 (en) 2018-09-12
CN108432202A (zh) 2018-08-21
US20180316600A1 (en) 2018-11-01
US10686693B2 (en) 2020-06-16
GB2544049A (en) 2017-05-10

Similar Documents

Publication Publication Date Title
TWI727984B (zh) 用於電信網路中資料串流之最佳化路由的方法和系統
Egilmez et al. Scalable video streaming over OpenFlow networks: An optimization framework for QoS routing
US10715638B2 (en) Method and system for server assignment using predicted network metrics
US20180139269A1 (en) Dynamic load balancing among data centers
US11979326B2 (en) Tool port throttling at a network visibility node
CN109314760B (zh) 视频会议系统和视频会议方法
Yu et al. Genetic algorithm‐based routing method for enhanced video delivery over software defined networks
JP2016502372A (ja) データをルーティングするための方法、ノード及びコンピュータプログラム
US10412016B2 (en) Streaming information based on available bandwidth
Hoßfeld et al. Can context monitoring improve QoE? A case study of video flash crowds in the internet of services
Amour et al. Quality estimation framework for encrypted traffic (q2et)
US20150358368A1 (en) Network optimization of peer-to-peer teleconferencing
Hayes et al. Controlled unfair adaptive 360 vr video delivery over an MPTCP/QUIC architecture
Sayit et al. DASH-QoS: A scalable network layer service differentiation architecture for DASH over SDN
da Silva et al. Cross-layer multiuser session control for optimized communications on SDN-based cloud platforms
US11418568B2 (en) Model-based parameter selection for media sessions
Kleinrouweler et al. A model for evaluating sharing policies for network-assisted HTTP adaptive streaming
Manfredi et al. Optimal QoE-fair resource allocation in multipath video delivery network
US20190037149A1 (en) Distributed Audio Control Method, Device System, and Software Product
Tsai et al. An Adaptive Solution for Images Streaming in Vehicle Networks using MQTT Protocol
Needham et al. Traffic and network modeling for next generation applications
Dlamini et al. QoS performance analysis of bit rate video streaming in next generation networks using TCP, UDP and a TCP+ UDP hybrid
Kengne Tchendji et al. Traffic predictive-based flow splitting rerouting scheme for link failures in software-defined networks
Khan et al. Optimized congestion aware and rate-adaptive multimedia communication for application in fragile environment during disaster management and recovery
Farahani Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, SDN, and MEC