JP6562563B2 - 帯域幅予測を使用するネットワークパス選択 - Google Patents

帯域幅予測を使用するネットワークパス選択 Download PDF

Info

Publication number
JP6562563B2
JP6562563B2 JP2016560530A JP2016560530A JP6562563B2 JP 6562563 B2 JP6562563 B2 JP 6562563B2 JP 2016560530 A JP2016560530 A JP 2016560530A JP 2016560530 A JP2016560530 A JP 2016560530A JP 6562563 B2 JP6562563 B2 JP 6562563B2
Authority
JP
Japan
Prior art keywords
path
determined
data stream
determining
new data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016560530A
Other languages
English (en)
Other versions
JP2017511068A (ja
JP2017511068A5 (ja
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 JP2017511068A publication Critical patent/JP2017511068A/ja
Publication of JP2017511068A5 publication Critical patent/JP2017511068A5/ja
Application granted granted Critical
Publication of JP6562563B2 publication Critical patent/JP6562563B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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/025Updating only a limited number of routers, e.g. fish-eye update
    • 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/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/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

分野 この分野は、概して、ネットワークルーティングに関する。
関連技術 通信ネットワークは、例えば、2つの地理的に離れた場所の間でデータを転送することを可能にするネットワーク接続を提供し得る。ネットワーク接続は、ルータ等の通信デバイスを接続する複数のリンクに及んでもよい。複数のネットワークは、複数のリンクが複数の通信デバイスを通じてどのように相互接続されているかに応じて複数の異なるトポロジを有し得る。特定のネットワークトポロジを所与として、送信元と宛先との間で、複数の経路が利用可能であってもよい。いくつかの経路は、現在の容量および使用状況に応じて他の複数の経路よりも望ましいかもしれない。
従来の複数のルーティングアルゴリズムは、データをルーティングすべく、各ルータが有する、その隣接する複数のリンクおよびデバイスからの局所情報を当てにする。ルータは、そのような情報をルーティングテーブルにおいて維持する。また、受信パケットの宛先アドレスに基づいて、ルータは、そのルーティングテーブルを特定の近くのデバイスへパケットを転送するのに使用する。ルーティングテーブルを開発すべく、各ルータは、オープン・ショーテスト・パス・ファースト(OSPF)のようなプロトコルを使用してルーティングおよび到達可能性の情報をローカルな近隣のルータと交換する。このように、各ルータは、複数のパケットを転送し、かつ、複数の制御機能を実行して自身のルーティングテーブルを更新する。
局所情報を使用することが、いくつかのコンテクストでは望ましいかもしれない一方、それは、常に効率的にデータをルーティングしないかもしれない。データをより効率的にルーティングすべく、ソフトウェア定義ネットワーク(SDN)と称される他の技術が制御および転送機能を別個のデバイスへと分離する。制御デバイスは、ネットワークトポロジの全体的な知識を使用して、個別のデータフローについて複数の転送デバイスのネットワークを通るパスを決定する。このように、制御デバイスは、例えば、遅延を最小化するか、またはネットワークを通る帯域幅を最大にする複数のパスを確立し得る。
実施形態において、システムが新規データストリームを、複数のリンクで相互接続された複数の転送デバイスを介して送信元から宛先へルーティングする。システムは、新規データストリームのために複数の相互接続された転送デバイスを介するパスを作成するよう求める要求を受信し、新規データストリームのタイプを決定する制御デバイスを含む。データフローデータベースは、決定されたタイプを有するデータストリームの複数の使用履歴特性を格納する。パス計算モジュールは、決定されたタイプを有する複数のデータストリームの複数の使用履歴特性に基づいて、複数の相互接続された転送デバイスを介する、送信元から宛先までの要求されたパスを決定する。また、ルーティングテーブルモジュールは、パスに沿ったそれぞれの転送デバイスについて、(i)転送デバイスのどのポートを使用して、決定されたパスに沿って新規データストリームからデータをルーティングするか示すルーティングテーブルを決定し、(ii)決定されたルーティングテーブルを送信し、転送デバイスをパスに沿ってデータをルーティングするように設定する。
方法およびコンピュータプログラム製品の複数の実施形態がまた開示される。
本発明の更なる実施形態、特徴、および利点、並びに、様々な実施形態の構造および動作が、複数の添付図面を参照して以下で詳細に説明される。
本明細書に組み込まれ、本明細書の一部を形成する複数の添付図面は、本開示を例示し、説明と合わせることで、本開示の複数の原理を説明し、当業者が本開示を作成し使用することを可能にするのに更に役立つ。
実施形態に従って、複数の履歴特性に基づいてデータフローのためのパスを決定する通信ネットワークを示す図である。
実施形態に従って、データフローがどのように決定されたパスに沿って方向付けられるかを示す図である。
複数のネットワーク特性においてデータを収集する統計データサーバを示す図である。
パスを介してデータをルーティングするネットワークの構成を示す図である。 パスを介してデータをルーティングするネットワークの構成を示す図である。
高速パスの計算をより詳細に示す図である。
データフローについての複数の履歴特性に従ってパスを決定し、ネットワークを通るパスを設定するための方法を示すフローチャートである。
ある要素が最初に現れる図面は、概して、対応する参照番号の左端の1または複数の桁の数字で示される。複数の図面において、同様の参照番号は、同一または機能的に同様の要素を示し得る。
上述のように、複数のソフトウェア定義ネットワーク(SDN)は、ルーティングの決定において、全体のネットワークトポロジを有益に考慮することができる。送信元ることで、複数のSDNは、特定のデータフローのためにどのパスを選択するか決定すべく、ネットワーク上の様々な相互接続しているリンクの使用履歴を調べることが可能であってもよい。
本明細書で開示される複数の実施形態は、複数のネットワークリンクの使用履歴のみではなく、同様の複数のデータフローの履歴特性もまた説明する。例えば、複数の実施形態は、特定のタイプの複数のデータフロー、例えば、salesforce.comに対するHTTP(Hypertext Transfer Protocol)セッション等が平均帯域幅および持続時間を有することを決定し得る。複数の実施形態は、パスに沿って複数のリンクを通る複数の同様のフローの過去の帯域幅および可用性を説明する収集データに対して、平均帯域幅および可用性を評価し得る。
データがネットワークを介してルーティングされる場合に必要とされるコンピューティングリ送信元を削減すべく、複数の実施形態は、様々なデータタイプのためのネットワークパスを事前に計算し得る。更に、複数の実施形態は、一日の複数の異なる時間のためのネットワークパスを事前に計算し得る。一度事前に計算されると、複数のデータパスは、データベース内に格納され得る。次に、そのデータタイプを有するデータストリームが受信される場合、複数の実施形態は、データベースから適切なネットワークパスを読み出し得る。
図1は、実施形態に従って、複数の履歴特性に基づいてデータフローのためのパスを決定する通信ネットワーク100を示す図である。通信ネットワーク100は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、またはワイドエリアネットワーク(WAN)であってよい。それは、任意のポイントツーポイント、または、マルチポイントツーマルチポイントのネットワーキングプロトコルを利用し得る。用いられる複数のネットワークアクセスプロトコルは、例えば、マルチプロトコルラベルスイッチング(MPLS)、イーサネット(登録商標)、非同期転送モード(ATM)、高レベルデータリンク制御(HDLC)またはパケットリレーを含んでもよい。
通信ネットワーク100は、複数のリンクによって相互接続された転送デバイス102、104、106、108、110、112および114等の複数の転送デバイスを含む。例えば、転送デバイス104および106は、リンク130によって接続されている。転送デバイスは、データリンク層(オープンシステム相互接続層2)およびネットワーク層(オープンシステム相互接続層3)における複数のデバイスを含む、複数のパケットを転送するデバイスである。
リンク130は、グラフ132で示された使用パターンを有し得る。使用パターンは、1週間等の特定のサイクルにわたって繰り返され得、循環パターンを反映する。サイクルは、5分間隔等、複数の時間スライスへと分割され得る。各5分間隔について、リンク130は、平均使用量、言い換えれば使用される平均総帯域幅を有し得る。また、当然の結果として、リンク130はまた、平均可用性(availability)、言い換えればライン全体で利用可能な帯域幅の平均値を有してもよい。グラフ132で示されるように、リンク130を渡って利用される帯域幅は、時間スライス134の間に急増する。
図1は、リンク130を渡って利用される帯域幅が、時間スライス134の間に急増することを示すのみでなく、図1はまた、時間スライス134の間、データフロー120によって使用される帯域幅も急増することを示す。特に、図1は、データフロー120が転送デバイス102から転送デバイス108へ転送されていることを示す。データは、特定の送信元コンピューティングデバイスまたはネットワークからの、および特定の宛先コンピューティングデバイスまたはネットワークへのデータフローの形態であってよい。データフロー120は、グラフ122で示される使用パターンを有し、グラフ122は、データフローが時間スライス134の間に急増することを示す。
リンク130およびデータフロー120についてのこの履歴データに基づいて、通信ネットワーク100は、時間スライス134の間に、リンク130が、ネットワークが飽和して過負荷になることなくデータフロー120を転送するには不十分な容量を有し得るかどうかを決定する。それに応じて、通信ネットワーク100は、図2に示されるように、データフロー120を異なるパスへとリダイレクトしてもよい。
図2は、実施形態に従って、データフロー120が、通信ネットワーク100において決定されたパスに沿ってどのようにリダイレクトされるか示す図である。この例において、通信ネットワーク100は、複数の相互接続しているリンクの使用履歴データに従って、データフロー120のための代替パスを決定する。代替パスは、リンク130を回避し、転送デバイス104および106を接続する。その代わりに、データフロー120は、転送デバイス104から転送デバイス110および112を回って転送デバイス106へ転送される。このように、複数の実施形態は、履歴データを使用して、データフロー120がどのように様々なリンクの中でのネットワーク利用に影響を及ぼし得るか予測し、かつ複数の潜在的なボトルネックを回避するためのパスをルーティングする。
詳細な説明の残りの部分は、4つの項へと分割される。第1のセクションは、図3に関して、ネットワークの履歴データを収集することを説明する。第2のセクションは、図4Aから図4Bに関して、ネットワークを通してパスを確立すべく制御デバイスを使用することを説明する。第4のセクションは、図5に関して、パスを計算することをより詳細に説明する。第5および最後のセクションは、図6に関して、データフローについて複数の履歴特性に従ってパスを決定し、ネットワークを通るパスを設定するための方法を説明する。
[履歴データの収集]
図3は、パスに沿って統計データを収集するためのシステム300を示す図である。システム300は、図1および2に示される通信ネットワーク100の複数の転送デバイスを含む。システム300は、また、複数のネットワーク特性に関するデータを収集する統計データサーバ310を含む。統計データサーバ310は、使用履歴データベース302、パスデータベース304、およびデータフローデータベース306に結合され、使用履歴モジュール316、フロー統計データモジュール314、およびパス計算モジュール312を含む。各モジュールが、順に議論される。
使用履歴モジュール316は、ネットワークの使用履歴データを収集する。特に、使用履歴モジュール316は、ネットワークの各リンクにおいて利用される総帯域幅を収集し得る。より具体的に、使用履歴モジュール316は、時間サイクルの各時間スライスの間に、ネットワークの各リンクにおいて利用される総帯域幅を収集し得る。帯域幅データを収集すべく、使用履歴モジュール316は、リンク利用を監視する様々なネットワーク転送デバイスと通信し得る。
利用情報を収集するとすぐに、使用履歴モジュール316は、その情報を使用履歴データベース302内に格納する。複数の時間サイクルが経過すると、使用履歴モジュール316は、各スライスについてデータを集約し得る。例えば、使用履歴モジュール316は、その時間スライスの間の、各リンクを渡る利用の平均または移動平均を決定し得る。使用履歴モジュール316は、また、時間スライスの間の、各リンクを渡る利用の変動量を決定し得る。変動量は、平均利用における信頼のレベル(例えば、第95パーセンタイル値等の周知の統計方法)を示し得、周知の統計方法を使用して、リンクが今後可用性を有することになるかどうか予測するのに用いられ得る。
リンク使用状況に関するデータを収集することに加えて、統計データサーバ310は、フロー統計データモジュール314を使用して複数のデータフローに関するデータも収集する。使用履歴モジュール316と同様に、フロー統計データモジュール314が、様々な転送デバイスと通信して複数のデータフローに関するデータを収集し得る。データフローは、特定のタイプを有するデータとして識別され得、そのタイプは、特定の送信元インターネットプロトコル(IP)アドレス、送信元トランスポート制御プロトコル(TCP)またはユーザデータグラムプロトコル(UDP)ポート、宛先IPアドレス、宛先TCPポート、またはそれらの任意の組み合わせを有するデータとして定義され得る。例えば、1つのデータタイプは、(特定の宛先IPアドレスを有する)salesforce.comに宛てられた(宛先TCPポート80を有する)HTTPデータであってもよい。
フロー統計データモジュール314は、そのタイプのデータフローと一致する複数の属性を説明するデータを収集する。例えば、フロー統計データモジュール314は、特定のデータフローによって消費される総帯域幅および特定のデータフローの長さに関するデータを収集し得る。長さは、例えば持続時間または転送されるデータの合計の量で測定され得る。一度収集されると、フロー統計データモジュール314は、複数の属性をデータフローデータベース306内に格納し得る。使用履歴モジュール316と同様に、一度フロー統計データモジュール314がデータを収集すると、それは、データを集約し得る。フロー統計データモジュール314は、例えば平均または移動平均を取ることで、データを集約し得る。特に、フロー統計データモジュール314は、各タイプのデータフローについて、平均総帯域幅および平均の長さを決定し得る。平均に加えて、フロー統計データモジュール314は、また、様々な属性の変動量を決定し得る。使用履歴モジュール316と同様に、周知の複数の統計的技術を使用して、変動量が使用され得、リンクがデータフローを処理し得るかどうか予測する際の信頼度を確立する。全てのフローが収集される必要は無くてもよく、複数のフローの統計的サンプリングが複数の特定のフローを説明するのに用いられる情報を集約すべく用いられてもよい。
決定されたタイプを有するデータストリームの複数の使用履歴特性に基づいて、パス計算モジュール312は、各データタイプについて、複数の相互接続された転送デバイスを通る送信元から宛先までのパスを決定する。パスは、複数のネットワークリンクおよび複数の転送デバイスを含んでもよい。実施形態において、パスは制御デバイスを含まない。各データタイプについて、パス計算モジュール312は、各時間スライスの間にネットワークを通るデータフローをどのように送信するか定義するパスを決定し得る。それでも更に、上述のように、データタイプは、特定の送信元および宛先を有するデータフローとして識別されてもよく、または、それは特定の送信元または特定の宛先を単に有しているとして識別されてもよい。その場合、パス計算モジュール312が各時間スライスについての複数のパスを計算してよいだけではなく、パス計算モジュール312はまた、そのタイプを有する複数のフローを送信もしくは受信し得る様々な可能な送信元もしくは宛先についての複数のパスも計算してもよい。パス計算モジュール312がどのように複数のパスを計算するかについての更なる詳細は、図5に関して以下に提供される。
使用履歴に加えて、パス計算モジュール312は、レイテンシ、ジッタ、パケット損失、または様々なパスを渡って任意の他のパフォーマンスメトリック、ユーザのサービスレベルアグリーメント、または転送されているデータのタイプを考慮し得る。例えば、ブロードキャストビデオデータは、かなりの帯域幅を必要とし得るが、レイテンシは比較的重要でなくてもよい。他方、ボイスオーバーIP(VoIP)データは、そこまで大きな帯域幅を必要としなくてもよいが、レイテンシはより重要であり得る。ブロードキャストビデオデータの場合、制御デバイスは高帯域幅、高レイテンシのパスを選択し得、VoIPデータの場合、制御デバイスは低帯域幅、低レイテンシのパスを選択し得る。
また、パス計算モジュール312は、特定のサーバを介してデータをルーティングしてよい。例えば、特定のタイプを有するデータ、または、特定の宛先に宛てられたデータは、途中で特定のスクラビングサーバによって、スクラビングを受ける必要があり得る。スクラビングサーバは、受信データを監視すべく、または、データについて他の分析を実施すべく、悪意のある内容がないかデータをスキャンするのに使用され得る。その実施形態において、制御デバイスは、パスが特定のスクラビングサーバもしくはサーバのセットを通過するように、パスを決定し得る。
一度パス計算モジュール312が複数のパスを計算すると、パス計算モジュール312は、図4Aから図4Bで示されるように、ネットワークを介してデータをルーティングするのに用いられるパスデータベース304に複数のパスを格納する。
[新規データストリーム用の高速パスの確立]
図4Aから図4Bは、制御デバイス440を使用してパスを介してデータをルーティングするネットワークの構成を示す図である。
図4Aは、ネットワークユーザ444から宛先サーバ446へ送信されるデータストリームを図示するダイアグラム400を示す。データストリームは、パケット402、404、406、408、410および412を含む。データストリームの最初のパケット‐パケット402‐が転送デバイス102に到達するとき、それは制御デバイス440へルーティングされる。制御デバイス440は、このパケットが新規データストリームに属すると判断し、そのストリームのための高速パスを確立するプロセスを始める。
パスを決定すべく、制御デバイス440は、リアルタイムでパスを計算すべく、図3のパス計算モジュール312を利用してよい。図3について上述したように、かつ以下に図5についてより詳細に述べるように、計算は、そのタイプのデータフローが過去に消費してきた総帯域幅を考慮してよい。代替的に、制御デバイス440は事前に計算されたパスを読み出してもよい。事前に計算されたパスの読み出しのために、パス制御デバイス440は、新規データストリームが制御デバイス440で受信される場合、要求されたパスをパスデータベース304から読み出すパス選択モジュール442を含む。
上述のように、パスデータベース304は、様々なタイプと関連付けられる複数のパスを含む。複数の実施形態において、あるタイプが送信元IPアドレスおよび宛先IPアドレス、または送信元ポートおよび宛先ポートによって定義されてよい。例えば、パスデータベース304は、送信元ポート444のIPアドレスから宛先446のIPアドレスへのデータに関連付けられ、TCP宛先ポート80を有するパスを有し、HTTPトラフィックを指定するてよい。パスデータベース304は、そのタイプを登録し、パスを示してよい。パスデータベース304は、また、そのタイプを複数登録し、それぞれは、異なる時間スライスのためのパスを有してもよい。その実施形態において、パスデータベース304は、現在時間に対応する時間スライスで、そのタイプのデータフローのパスをリトリーブ(retrieve)してよい。
高速パスを決定した後、図4Bに示されるように、制御デバイスは、パスに沿って各転送デバイスについての複数のルーティングテーブルを更新する。
図4Bは、ユーザ444とサーバ446との間でパスを確立すべく、制御デバイス440がどのようにネットワーク転送デバイスを構成するか図示するダイアグラム450を示す。制御デバイス440は、パス選択モジュール442によって選択されるパスを設定するルーティングモジュール452を含む。
選択されたパスに従って、ルーティングテーブルモジュール452は、パスに沿ってそれぞれの転送デバイスについてのルーティングテーブルを決定する。特に、それぞれの転送デバイスの各々について、ルーティングテーブルモジュール452は、どのポートにデータストリームのデータをルーティングするか示すルーティングテーブルを決定してよい。ルーティングテーブルは、どのようにしてデータを転送するか示す。送信元ることで、データストリームのデータは、パスに沿ってルーティングされるであろう。一実施形態において、複数の更新済みルーティングテーブルは、複数の送信元/宛先アドレスおよび複数の送信元/宛先ポートの特定の組み合わせを有する複数のパケットをどのように転送するか、転送デバイスに命令してよい。代替の実施形態において、データストリームはラベルで識別されてよく、更新済みルーティングテーブルは、そのラベルを有する複数のパケットをどのように転送するか示してよい。
ルーティングテーブルモジュール452は、パスに沿ってそれぞれの転送デバイスを構成すべく、それぞれのルーティングテーブルを送信する。図4Bにおいて、制御デバイス440は、ユーザ444とサーバ446との間のデータストリームが転送デバイス106、108、112および110を含むパスをたどると決定する。転送デバイスを構成すべく、制御デバイス440は、構成コマンド422、424、426および428を使用して複数の更新済みルーティングテーブルを送信する。これらの構成コマンドは、ユーザ444を宛先446へ接続する高速パスにおける全ての転送デバイスを構成する。特に、コマンド422は、データストリームにおける複数のパケットを転送デバイス104へ転送するように転送デバイス102に命令し、コマンド424は、複数のパケットを転送デバイス110へ転送するように転送デバイス104に命令し、コマンド426は、複数のパケットを転送デバイス112へ転送するように転送デバイス110に命令し、コマンド428は、複数のパケットを転送デバイス106へ転送するように転送デバイス112に命令し、コマンド430は、複数のパケットを転送デバイス108へ転送するように転送デバイス106に命令し、コマンド432は、複数のパケットを宛先446へ転送するように転送デバイス108に命令する。制御デバイスは、OpenFlow、パス計算要素プロトコル、またはいくつかの他の方法を使用して、複数の転送デバイスをプログラムしてよい。
これらのパケットの受信すると、制御デバイス440は、デフォルトのパスを使用してそれらのパケットをその宛先へとルーティングする。このように、ネットワークを通るパスが確立されている間、複数のパケットは、それらの宛先へとルーティングされ続けてもよく、エッジ転送デバイスに複数の初期のパケットをバッファリングする必要を回避する。
一度パスが設定されると(例えば、転送デバイスがそれらの新規ルーティングテーブルで構成されると)、制御デバイスによって設定された高速パスに沿ってデータが流れる。この時点で、データはもはや制御デバイスを通らなくなるので、転送デバイスを通ってより速い速度で、より低いエンドツーエンドのレイテンシで流れる。
[パスの計算]
図5は、より詳細な高速パスの計算のダイアグラム500である。ダイアグラム500は、顧客ネットワーク502を送信先ネットワーク504に接続するネットワークを示す。顧客ネットワーク502は、転送デバイス510に結合され、送信先ネットワーク504は転送デバイス516に結合されている。転送デバイス516および510は、転送デバイス512および514を通って互いに接続される。複数の転送デバイスの各々は、制御デバイス506によって決定される複数のルーティングテーブルを有する。
様々な転送デバイスは、複数のリンクによって相互接続される。特に、転送デバイス510は、リンク520および524によって転送デバイス512および514にそれぞれ接続され、転送デバイス512および514は、リンク522および526によって転送デバイス516にそれぞれ接続される。
上述のように、使用履歴データは、複数のリンクの各々について収集される。使用履歴データは、1週間等の周期的な時間サイクルにわたってリンクの使用状況に関する情報を提供してよい。ダイアグラム500において、リンク520の使用履歴情報がグラフ530に示され、リンク524の使用情報がグラフ534に示され、リンク522の使用情報がグラフ532に示され、リンク526の使用情報が、グラフ536に示される。
複数のリンクにおける使用情報を収集することに加えて、複数のデータフローを説明する情報もまた収集される。ダイアグラム500において、顧客ネットワーク502は、データフロー560を送信先ネットワーク504へ送信する。データフロー560は、その送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポート、またはそれらの任意の組み合わせによって定義される特定のタイプを有する。データが収集され、データフロー562の挙動、例えばその持続時間およびそれが消費する帯域幅を説明する。
持続時間に基づいて、期間550が決定され、パスを計算するのに使用される。期間550は、例えば、複数の時間スライス(例えば、1週間サイクル内における5分間隔の複数の時間スライス)を含む特定の時間サイクルの一部である。データが入ってくるとき、パスがリアルタイムで計算される実施形態において、期間550が現在時間からデータフローの典型的な持続時間の終了まで動作してもよい。例えば、データフローが、月曜日の5:25PMに受信され、そのタイプの複数のデータフローが、典型的には20分間動作する場合、期間550が5:25PMに開始してよく、月曜日の5:45PMまで動作してもよい。その時間サイクルの間に収集された使用履歴データは、次にパスを計算するのに用いられてよい。
複数のパスが事前に計算され、新規データフローが入ってくるときに選択だけされる実施形態において、異なる期間が各時間スライスについて決定されてよく、パスが各期間について決定されてもよい。例えば、データフローが典型的には20分間動作する場合、第1の期間が日曜日の12:00‐12:20AMとして決定されてもよく、第2の期間が日曜日の12:05‐12:25AM等として決定されてもよい。次に、パスが複数の期間の各々について計算される。新規データフローが入ってくる場合、複数のデータフローが受信される時に対応するパスが選択される。上記の例において、データフローが日曜日の12:00AMに受信される場合、第1の期間についてのパスが選択されることになり、データフローが日曜日の12:05AMに受信される場合、第2の期間についてのパスが選択されることになる、等である。
特定の期間についてのパスを決定すべく、様々な候補パスが最初に決定され、それらの候補パスに沿った使用履歴が評価され比較される。顧客ネットワーク502と送信先ネットワーク504との間に、2つの候補パスがある。第1の候補パスは、リンク520および522に沿っており、第2の候補パスはリンク524および526に沿っている。
第1の候補パスを評価すべく、期間550中の使用履歴がリンク520および522について決定される。グラフ530および532に示されるように、期間550の間、リンク520および522は、利用可能な総帯域幅540および542をそれぞれ有する。利用可能帯域幅は、リンクが飽和状態となる前に処理され得る追加の容量の大きさであってよい。それは、また、ネットワークの1または複数のリンク(ネットワークリングにおける他の複数のリンク等)がダウンし、複数のリンク520または522が、その通常のトラフィックおよびフェイルオーバトラフィックの両方を搬送しなければいけなく、そうでなければ、ダウンしているリンク上を移動したであろう欠陥のシナリオも考慮に入れてよい。リンク520の、およびリンク522の利用可能帯域幅が、データフロー560によって通常消費される総帯域幅と比較される。リンク520および522の両方がデータフロー560のための十分な帯域幅を有する場合、第1の候補パスが選択されてよい。
第1の候補パスについて行われる同じ評価は、また、リンク524および526を含む第2の候補パスについても行われる。期間550中の使用履歴は、リンク524および526について決定される。グラフ534および536に示されるように、期間550中、リンク524および526は、利用可能な総帯域幅544および546をそれぞれ有する。リンク524のおよびリンク526の利用可能帯域幅は、データフロー560によって通常消費される総帯域幅と比較される。リンク524および526の両方がデータフロー560のために十分な帯域幅を有する場合、第1の候補パスが選択されてよい。
ある例において、リンク522の利用可能帯域幅542は、データフロー560のために不十分であり得る。その例において、第2の候補パスが選択されてよい。
両方のパスが利用可能を有する場合、他の複数の因子がどのパスを使用するか選択するのに用いられてもよい。例えば、最も大きい可用性を有するパスが用いられてよい。別の例において、レイテンシが近似されてよく、最も低いレイテンシを有するパスが選択されてもよい。 方法
図6は、データフローについての複数の履歴特性に従ってパスを決定し、ネットワークを通るパスを設定するための方法600を示すフローチャートである。段階602で、新規データストリーム用に複数の相互接続された転送デバイスを通るパスを作成するよう求める要求が、制御デバイスで受信される。要求は、データストリームにおける第1のパケットの形態、または他のタイプの要求であってもよい。
段階604で、新規データストリームのタイプが決定されてよい。そのタイプは、例えば、送信元IPアドレス、宛先IPアドレス、送信元TCPポート、または宛先TCPポートに基づいて識別されてよい。
そのタイプに基づいて、データストリームの複数の使用履歴特性が段階606で決定される。複数の使用履歴特性は、以前に送信されたそのタイプの複数のデータストリームによって利用された総帯域幅および以前に送信された複数のタイプのデータストリームの長さを含んでよい。
データストリームの使用履歴特性に基づいて、複数の相互接続された転送デバイスを通るパスが、段階608で決定される。パスは、送信元から宛先までに及ぶ。上述のように、パスは、要求が段階602で受信されるときに計算されてよく、または事前に計算され、要求が段階602で受信されるときだけ読み出されてもよい。
データストリームの複数の履歴特性に加えて、複数のネットワークリンクの使用履歴情報もまた、用いられてよい。使用履歴データは、複数の以前の時間サイクルの間に、複数の時間スライスにおける複数のリンクの利用を含んでよい。具体的に、時間サイクルは、繰り返される使用のパターンを有する周期的時間間隔を表してよい。また、複数の時間スライスは、周期的時間間隔におけるサブ間隔を表してよい。
時間スライスデータを使用してパスを計算すべく、どの新規データストリームを複数の時間スライスが占有することになるかについて決定されなければいけない。複数の時間スライスは、データストリームの典型的な長さに基づいて決定されてよい。次に、送信元と宛先とを接続する複数の候補パスが評価される。複数の候補パスの各々について、新規データストリームが占有するであろう複数の時間スライスの間における候補パスに沿った複数のリンクの利用が決定される。また、候補パスに沿った複数のリンクの決定された使用に基づいて、複数の時間スライスの間、パスにおける利用可能な総帯域幅が決定される。最後に、複数の候補パスについて決定された利用可能な総帯域幅が、データストリームの必要とする帯域幅と比較される。比較に基づいて、段階608で、候補パスが新規データストリームのために選択される。
一度パスが決定されると、段階610で複数のルーティングテーブルが、パスを実施することを決定される。パスに沿ったそれぞれの転送デバイスについて、ルーティングテーブルが決定される。ルーティングテーブルは、転送デバイスのどのポートに、段階608で決定されたパスに沿って新規データストリームのデータをルーティングするべきか示す。
最後に、段階612で、複数のルーティングテーブルが、決定されたパスに沿ってデータを転送するようにそれぞれの転送デバイスを構成すべく、送信される。 結論
本明細書で使用されるように、「ユーザ」という用語は、ネットワーク接続性サービスを利用する企業の従業者等のネットワーク接続性サービスの顧客、および、サービスプロバイダ自体のネットワークアドミニストレータの両方を包含してよい。ユーザはまた、異なる企業または組織に所属してもよい。
使用履歴データベース302、パスデータベース304およびデータフローデータベース306は、永続的メモリを含め、構造化されたメモリの任意の格納されたタイプであってよい。複数の例において、各データベースは、関連のデータベース、ファイルシステム、ドキュメントストア、またはBigDataストアとして実装されてよい。
図6の複数のデバイスおよび複数のモジュールの各々は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実装されてよい。
図6の複数のデバイスおよび複数のモジュールの各々は、同じまたは異なる複数のコンピューティングデバイスにおいて実装されてよい。そのようなコンピューティングデバイスは、限定されないが、パーソナルコンピュータ、携帯電話等のモバイルデバイス、ワークステーション、組み込みシステム、ゲームコンソール、テレビ、セットトップボックス、または、任意の他のコンピューティングデバイスを含み得る。更に、コンピューティングデバイスは、限定されないが、命令を実行し格納するための、プロセッサと、非一時的メモリを含むメモリとを有するデバイスを含み得る。メモリは、データおよびプログラム命令を有形に具体化し得る。ソフトウェアは、1または複数のアプリケーションおよびオペレーティングシステムを含み得る。ハードウェアは、限定されないが、プロセッサ、メモリ、およびグラフィカルユーザインタフェースディスプレイを含み得る。コンピューティングデバイスはまた、複数のプロセッサ、および複数の共有または別個のメモリ構成要素も有し得る。例えば、コンピューティングデバイスは、クラスタ化されたまたは分散された、コンピューティング環境またはサーバファームの一部または全体であってよい。
「(a)」、「(b)」、「(i)」、「(ii)」等の識別子が、異なる要素または段階のために使用されることがある。これらの識別子は明確にするために用いられ、必ずしも要素または段階の順序を指定するものではない。
本発明は、特定の複数の機能およびそれらの関係の実装を示す複数の機能的構成単位を用いて上述されてきた。これらの機能的構成単位の境界は、説明の利便性のために、本明細書で任意に画定された。複数の特定機能およびそれらの関係が適切に実行される限り、複数の代替の境界が画定され得る。
複数の具体的な実施形態についての前述の説明は、本発明の全般的性質を十分に明らかにすることになるので、当技術分野の技術内の知識を応用することで、過度の実験なしに、本発明の一般的概念から逸脱することなく、その他の人々がそのような複数の具体的な実施形態を様々な用途のために容易に修正し得る、および/または容易に改作し得る。したがって、そのような改作および修正は、本明細書において提示された教示および指導に基づいて、開示された複数の実施形態の均等物の趣旨内および範囲内であるように意図されている。本明細書の語句または用語は、説明を目的とするものであって限定するものではなく、これにより本明細書の語句または用語は、教示および指導を考慮して当業者により解釈されることになることが理解されるべきである。
本発明の広さおよび範囲は、上述の例示的実施形態の何れによっても限定されるべきではないが、以下の特許請求の範囲およびそれらの均等物のみに従って定義されるべきである。
[項目1]
複数のリンクと相互接続された複数の転送デバイスを含むネットワークを介して、新規データストリームを送信元から宛先へルーティングするためのコンピュータ実施方法であって、
(a)新規データストリームのために複数の上記相互接続された転送デバイスを通るパスを作成するよう求める要求を、制御デバイスで受信する段階と、
(b)上記新規データストリームのタイプを決定する段階と、
(c)決定された上記タイプに基づいて、上記決定されたタイプを有する複数のデータストリームの複数の使用履歴特性を決定する段階と、
(d)上記決定されたタイプを有する複数のデータストリームの上記複数の使用履歴特性に基づいて、上記複数の相互接続された転送デバイスを通る、上記送信元から上記宛先への、要求された上記パスを決定する段階と、
(e)上記パスに沿ったそれぞれの転送デバイスについて、上記転送デバイスのどのポートが、(d)で決定された上記パスに沿って上記新規データストリームからのデータをルーティングするかを示すルーティングテーブルを決定する段階と、
(f)上記それぞれの転送デバイスの各々について、(e)で決定された上記ルーティングテーブルを送信し、上記転送デバイスを構成する段階と、
を備える、方法。
[項目2]
上記決定する段階(c)は、以前に送信された上記タイプの複数のデータストリームによって利用された総帯域幅を決定する段階を有する、項目1に記載の方法。
[項目3]
上記決定する段階(c)は、更に、以前に送信された上記タイプの複数のデータストリームの長さを決定する段階を有する、項目2に記載の方法。
[項目4]
上記決定する段階(d)は、上記ネットワークの使用履歴データに基づいて上記パスを決定する段階を有する、項目3に記載の方法。
[項目5]
上記使用履歴データは、複数の以前の時間サイクルの間の複数の時間スライスにおける上記複数のリンクの利用を含み、上記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、上記複数の時間スライスは、上記複数の周期的時間間隔における複数のサブ間隔を表し、上記決定する段階(d)は、
(i)以前に送信された上記タイプの複数のデータストリームの長さに基づいて、どの複数の時間スライスを上記新規データストリームが占有することになるか決定する段階と、
上記送信元と宛先とを接続する複数の候補パスについて、
(ii)(i)で決定された上記複数の時間スライスについて候補パスに沿って複数のリンクの利用を決定する段階と、
(iii)上記候補パスに沿った上記複数のリンクの決定された上記利用に基づいて、(i)で決定された上記複数の時間スライスの間に上記パスにおいて利用可能な総帯域幅を決定する段階と、
(iv)上記複数の候補パスについて上記決定された利用可能な総帯域幅を、以前に送信された上記タイプの複数のデータストリームによって利用された上記決定された総帯域幅と比較し、上記新規データストリームのために要求された上記パスを選択する段階と、
を有する項目4に記載の方法。
[項目6]
上記利用を決定する上記段階(ii)は、少なくとも1つのリンクがダウンしていることを説明する、項目5に記載の方法。
[項目7]
上記決定する段階(d)は、(a)における上記要求の受信の前に起こり、
(g)上記決定されたパスを事前に計算されたパスデータベース内に格納する段階と、
(h)上記新規データストリームが(a)で受信される場合、上記要求されたパスを上記事前に計算されたパスデータベースから読み出す段階と、
を更に有する、項目3に記載の方法。
[項目8]
上記決定する段階(b)は、上記新規データストリームが特定の宛先IPアドレスおよびTCPポートを有するかどうか決定する段階を有する、項目1に記載の方法。
[項目9]
上記決定する段階(b)は、上記新規データストリームが特定の送信元IPアドレスおよびTCPポートを有するかどうか決定する段階を有する、項目1に記載の方法。
[項目10]
複数のリンクと相互接続された複数の転送デバイスを含むネットワークを介して、新規データストリームを送信元から宛先へ仮想的にルーティングするためのシステムであって、
新規データストリームのための複数の上記相互接続された転送デバイスを通るパスを作成するよう求める要求を受信し、上記新規データストリームのタイプを決定する制御デバイスと、
決定された上記タイプを有する複数のデータストリームの複数の使用履歴特性を格納するデータフローデータベースと、
上記決定されたタイプを有する複数のデータストリームの上記複数の使用履歴特性に基づいて、上記複数の相互接続された転送デバイスを介して上記送信元から上記宛先への、要求された上記パスを決定するパス計算モジュールと、
上記パスに沿ってそれぞれの転送デバイスについて、(i)上記転送デバイスのどのポートが上記決定されたパスに沿って上記新規データストリームのデータをルーティングするか示すルーティングテーブルを決定し、(ii)上記パスに沿ってデータをルーティングするように上記転送デバイスを構成すべく、決定された上記ルーティングテーブルを送信する、ルーティングテーブルモジュールと、を備える、
システム。
[項目11]
上記データフローデータベースは、以前に送信された上記タイプの上記複数のデータストリームによって利用される総帯域幅を格納する、項目10に記載のシステム。
[項目12]
上記データフローデータベースは、以前に送信された複数の上記タイプの複数のデータストリームの長さを格納する、項目11に記載のシステム。
[項目13]
上記ネットワークの使用履歴データを収集する使用履歴モジュールを更に備え、
上記パス計算モジュールは、上記ネットワークの上記使用履歴データに基づいて上記パスを決定する、
項目12に記載のシステム。
[項目14]
上記使用履歴データは、複数の以前の時間サイクルの間の複数の時間スライスにおける複数のリンクの利用を含み、上記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、上記複数の時間スライスは、上記複数の周期的時間間隔における複数のサブ間隔を表し、上記パス計算モジュールは、
(i)以前に送信された上記タイプの複数のデータストリームの長さに基づいて、どの複数の時間スライスを上記新規データストリームが占有することになるか決定し、
上記送信元と宛先とを接続する複数の候補パスについて、
(ii)(i)で決定された上記複数の時間スライスについて候補パスに沿って複数のリンクの利用を決定し、
(iii)上記候補パスに沿った上記複数のリンクの決定された上記利用に基づいて、(i)で決定された上記複数の時間スライスの間に上記パスにおいて利用可能な総帯域幅を決定し、
(iv)上記複数の候補パスについて決定された上記利用可能な総帯域幅を、以前に送信された上記タイプの複数のデータストリームによって利用された決定された上記帯域幅の量と比較し、上記新規データストリームのために要求された上記パスを選択する、
項目13に記載のシステム。
[項目15]
上記パス計算モジュールは、上記利用(ii)を決定し、少なくとも1つのリンクがダウンしていることを説明する、項目14に記載のシステム。
[項目16]
上記パス計算モジュールは、上記制御デバイスにおける上記要求の受信前に、上記パスを計算し、
上記決定されたパスを事前に計算されたパスデータベース内に格納するパスデータベースと、
上記新規データストリームが上記制御デバイスで受信される場合、上記要求されたパスを上記事前に計算されたパスデータベースから読み出すパス選択モジュールと、を更に有する、
項目12に記載のシステム。
[項目17]
上記パス選択モジュールは、上記新規データストリームが特定の宛先IPアドレスおよびTCPまたはUDPポートを有するかどうか決定する、項目16に記載のシステム。
[項目18]
上記パス選択モジュールは、上記新規データストリームが特定の送信元IPアドレスおよびTCPまたはUDPポートを有するかどうか決定する、項目16に記載のシステム。
[項目19]
複数のリンクと相互接続された複数の転送デバイスを介して、新規データストリームを送信元から宛先へ仮想的にルーティングするための方法を実施すべく、少なくとも1つの機械によって実行可能な複数の命令のプログラムを有形に具体化するプログラム格納デバイスであって、上記方法は、
(a)新規データストリームのための複数の相互接続された転送デバイスを通るパスを作成するよう求める要求を制御デバイスで受信する段階と、
(b)上記新規データストリームのタイプを決定する段階と、
(c)決定された上記タイプに基づいて、上記決定されたタイプを有する複数のデータストリームの複数の使用履歴特性を決定する段階と、
(d)上記決定されたタイプを有する複数のデータストリームの上記複数の使用履歴特性に基づいて、上記複数の相互接続された転送デバイスを通る、上記送信元から上記宛先への要求された上記パスを決定する段階と、
(e)上記パスに沿ってそれぞれの転送デバイスについて、上記転送デバイスのどのポートが(d)で決定された上記パスに沿って上記新規データストリームからデータをルーティングするか示すルーティングテーブルを決定する段階と、
(f)それぞれの上記転送デバイスの各々について、(e)で決定された上記ルーティングテーブルを送信し、上記転送デバイスを構成する段階と、を有する、
プログラム格納デバイス。
[項目20]
上記決定する段階(c)は、以前に送信された上記タイプの複数のデータストリームによって利用される総帯域幅を決定する段階と、以前に送信された複数の上記タイプの複数のデータストリームの長さを決定する段階と、を有し、
上記決定する段階(d)は、ネットワークの使用履歴データに基づいて上記パスを決定する段階を有する、
項目19に記載のプログラム格納デバイス。
[項目21]
上記使用履歴データは、複数の以前の時間サイクルの間の複数の時間スライスにおける複数のリンクの利用を含み、上記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、上記複数の時間スライスは、上記複数の周期的時間間隔における複数のサブ間隔を表し、上記決定する段階(d)は、
(i)以前に送信された上記タイプの複数のデータストリームの長さに基づいて、どの複数の時間スライスを上記新規データストリームが占有することになるか決定する段階と、
上記送信元と宛先とを接続する複数の候補パスについて、
(ii)(i)で決定された上記複数の時間スライスについて候補パスに沿って複数のリンクの利用を決定する段階と、
(iii)上記候補パスに沿った上記複数のリンクの上記決定された利用に基づいて、(i)で決定された上記複数の時間スライスの間に上記パスの利用可能な総帯域幅を決定する段階と、
(iv)上記複数の候補パスについて決定された上記利用可能な総帯域幅を、以前に送信された上記タイプの複数のデータストリームによって利用された、決定された上記総帯域幅と比較し、上記新規データストリームのために要求された上記パスを選択する段階と、を有する、
項目20に記載のプログラム格納デバイス。

Claims (11)

  1. 複数のリンクと相互接続された複数の転送デバイスを含むネットワークを介して、新規データストリームを送信元から宛先へ仮想的にルーティングするためのコンピュータ実装方法であって、
    (a)前記新規データストリームのために複数の前記相互接続された転送デバイスを通るパスを作成するよう求める要求を、制御デバイスで受信する段階と、
    (b)前記新規データストリームのタイプを決定する段階と、
    (c)決定された前記タイプに基づいて、前記決定されたタイプを有する複数のデータストリームの複数の使用履歴特性を決定する段階であって、前記複数の使用履歴特性は、以前に送信された前記タイプの複数のデータストリームの長さおよび以前に送信された前記タイプの複数のデータストリームによって利用された総帯域幅を含む、段階と、
    (d)以前に送信された前記タイプの複数のデータストリームの長さに基づいて、どの複数の時間スライスを前記新規データストリームが占有することになるか決定する段階であって、以前の複数の時間スライスは、複数の以前の時間サイクルの間にあり、前記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、前記複数の時間スライスは、前記複数の周期的時間間隔における複数のサブ間隔を表す、段階と、
    (e)前記送信元と宛先とを接続する複数の候補パスのぞれぞれについて、(d)で決定された前記複数の時間スライスについて候補パスに沿った複数のリンクの利用履歴を決定する段階と、
    (f)前記複数の候補パスのぞれぞれについて、前記候補パスに沿った前記複数のリンクの決定された前記利用履歴に基づいて、(d)で決定された前記複数の時間スライスの間に前記パスにおいて利用可能な総帯域幅を決定する段階と、
    (g)前記複数の候補パスについて前記決定された利用可能な総帯域幅を、以前に送信された前記タイプの複数のデータストリームによって利用された前記決定された総帯域幅と比較し、前記新規データストリームのために要求された前記パスを選択する段階であって、要求された前記パスは、前記送信元から前記宛先までの、前記複数の相互接続された転送デバイスを通る、段階と、
    )前記パスに沿ったそれぞれの転送デバイスについて、前記転送デバイスのどのポートが、()で選択された前記パスに沿って前記新規データストリームのデータをルーティングするかを示すルーティングテーブルを決定する段階と、
    )それぞれの前記転送デバイスの各々について、()で決定された前記ルーティングテーブルを送信し、前記転送デバイスを構成する段階と、
    を備える、方法。
  2. 前記利用履歴を決定する前記段階()は、少なくとも1つのリンクがダウンしていることを考慮に入れる、請求項に記載の方法。
  3. 前記段階(d)−(g)は、(a)における前記要求の受信の前に起こり、
    )前記決定されたパスを事前に計算されたパスデータベース内に格納する段階と、
    )前記新規データストリームが(a)で受信される場合、前記要求されたパスを前記事前に計算されたパスデータベースから読み出す段階と、
    を更に有する、請求項1または2に記載の方法。
  4. 前記決定する段階(b)は、前記新規データストリームが特定の宛先IPアドレスおよびTCPポートを有するかどうか決定する段階を有する、請求項1からのいずれか一項に記載の方法。
  5. 前記決定する段階(b)は、前記新規データストリームが特定の送信元IPアドレスおよびTCPポートを有するかどうか決定する段階を有する、請求項1からのいずれか一項に記載の方法。
  6. 複数のリンクと相互接続された複数の転送デバイスを含むネットワークを介して、新規データストリームを送信元から宛先へ仮想的にルーティングするためのシステムであって、
    前記ネットワークの使用履歴データを収集するように構成される使用履歴モジュールであって、前記使用履歴データは、複数の以前の時間サイクルの間の複数の時間スライスにおける複数のリンクの利用を含み、前記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、前記複数の時間スライスは、前記複数の周期的時間間隔における複数のサブ間隔を表す、使用履歴モジュールと、
    新規データストリームのための複数の前記相互接続された転送デバイスを通るパスを作成するよう求める要求を受信し、前記新規データストリームのタイプを決定するように構成される制御デバイスと、
    決定された前記タイプを有する複数のデータストリームの複数の使用履歴特性を格納するように構成されるデータフローデータベースであって、前記複数の使用履歴特性は、以前に送信された前記タイプの複数のデータストリームの長さおよび以前に送信された前記タイプの前記複数のデータストリームによって利用される総帯域幅を含む、データフローデータベースと、
    前記決定されたタイプを有する複数のデータストリームの前記複数の使用履歴特性に基づいて、前記複数の相互接続された転送デバイスを介して前記送信元から前記宛先への、要求された前記パスを決定するように構成されるパス計算モジュールであって、
    (i)以前に送信された前記タイプの複数のデータストリームの前記長さに基づいて、どの複数の時間スライスを前記新規データストリームが占有することになるか決定し、
    前記送信元と宛先とを接続する複数の候補パスについて、
    (ii)(i)で決定された前記複数の時間スライスについて前記候補パスに沿って複数のリンクの利用を決定し、
    (iii)前記候補パスに沿った前記複数のリンクの決定された前記利用に基づいて、(i)で決定された前記複数の時間スライスの間に前記パスにおいて利用可能な総帯域幅を決定し、
    (iv)前記複数の候補パスについて決定された前記利用可能な総帯域幅を、以前に送信された前記タイプの複数のデータストリームによって利用された決定された前記総帯域幅と比較し、前記新規データストリームのために要求された前記パスを選択する
    ように構成されるパス計算モジュールと、
    前記パスに沿ってそれぞれの転送デバイスについて、(i)前記転送デバイスのどのポートが前記決定されたパスに沿って前記新規データストリームのデータをルーティングするか示すルーティングテーブルを決定し、(ii)前記パスに沿ってデータをルーティングするように前記転送デバイスを構成すべく、決定された前記ルーティングテーブルを送信するように構成される、ルーティングテーブルモジュールと、を備える、
    システム。
  7. 前記パス計算モジュールは、少なくとも1つのリンクがダウンしていることを考慮に入れて前記利用(ii)を決定するように構成される、請求項に記載のシステム。
  8. 前記パス計算モジュールは、前記制御デバイスにおける前記要求の受信前に、前記パスを計算し、
    前記決定されたパスを事前に計算されたパスデータベース内に格納するためのパスデータベースと、
    前記新規データストリームが前記制御デバイスで受信される場合、前記要求されたパスを前記事前に計算されたパスデータベースから読み出すように構成されるパス選択モジュールと、を更に有する、
    請求項6または7に記載のシステム。
  9. 前記パス選択モジュールは、前記新規データストリームが特定の宛先IPアドレスおよびTCPまたはUDPポートを有するかどうか決定するように構成される、請求項に記載のシステム。
  10. 前記パス選択モジュールは、前記新規データストリームが特定の送信元IPアドレスおよびTCPまたはUDPポートを有するかどうか決定するように構成される、請求項8または9に記載のシステム。
  11. コンピュータに、複数のリンクと相互接続された複数の転送デバイスを介して、新規データストリームを送信元から宛先へ仮想的にルーティングするための方法を実施させるためのプログラムであって、前記方法は、
    (a)前記コンピュータが、新規データストリームのための複数の相互接続された転送デバイスを通るパスを作成するよう求める要求を信する段階と、
    (b)前記コンピュータが、前記新規データストリームのタイプを決定する段階と、
    (c)前記コンピュータが、決定された前記タイプに基づいて、前記決定されたタイプを有する複数のデータストリームの複数の使用履歴特性を決定する段階であって、前記複数の使用履歴特性は、以前に送信された複数の前記タイプの複数のデータストリームの長さおよび以前に送信された前記タイプの複数のデータストリームによって利用された総帯域幅を含む、決定する段階と、
    (d)前記コンピュータが、以前に送信された前記タイプの複数のデータストリームの長さに基づいて、どの複数の時間スライスを前記新規データストリームが占有することになるか決定する段階であって、前記複数の時間スライスは、複数の以前の時間サイクルの間にあり、前記時間サイクルは、繰り返される利用のパターンを有する複数の周期的時間間隔を表し、前記複数の時間スライスは、前記複数の周期的時間間隔における複数のサブ間隔を表す、決定する段階と、
    (e)前記コンピュータが、前記送信元と宛先とを接続する複数の候補パスのそれぞれについて、(d)で決定された前記複数の時間スライスについて前記候補パスに沿って複数のリンクの利用履歴を決定する段階と、
    (f)前記コンピュータが、前記送信元と宛先とを接続する複数の候補パスのそれぞれについて、前記候補パスに沿った前記複数のリンクの前記決定された利用履歴に基づいて、(d)で決定された前記複数の時間スライスの間に前記パスの利用可能な総帯域幅を決定する段階と、
    (g)前記コンピュータが、前記複数の候補パスについて決定された前記利用可能な総帯域幅を、以前に送信された前記タイプの複数のデータストリームによって利用された、決定された前記総帯域幅と比較し、前記新規データストリームのために要求された前記パスを選択する段階であって、要求された前記パスは、前記送信元から前記宛先までの前記複数の相互接続された転送デバイスを通る、階と、
    前記コンピュータが、前記パスに沿ってそれぞれの転送デバイスについて、前記転送デバイスのどのポートが()で決定された前記パスに沿って前記新規データストリームのデータをルーティングするか示すルーティングテーブルを決定する段階と、
    前記コンピュータが、それぞれの前記転送デバイスの各々について、()で決定された前記ルーティングテーブルを送信し、前記転送デバイスを構成する段階と、を有する、
    プログラム。
JP2016560530A 2014-04-10 2015-04-02 帯域幅予測を使用するネットワークパス選択 Active JP6562563B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/250,132 2014-04-10
US14/250,132 US8811172B1 (en) 2014-04-10 2014-04-10 Network path selection using bandwidth prediction
US14/332,843 2014-07-16
US14/332,843 US9210077B2 (en) 2014-04-10 2014-07-16 Network path selection using bandwidth prediction
PCT/US2015/024152 WO2015157094A1 (en) 2014-04-10 2015-04-02 Network path selection using bandwidth prediction

Publications (3)

Publication Number Publication Date
JP2017511068A JP2017511068A (ja) 2017-04-13
JP2017511068A5 JP2017511068A5 (ja) 2019-07-18
JP6562563B2 true JP6562563B2 (ja) 2019-08-21

Family

ID=51301732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560530A Active JP6562563B2 (ja) 2014-04-10 2015-04-02 帯域幅予測を使用するネットワークパス選択

Country Status (7)

Country Link
US (4) US8811172B1 (ja)
EP (1) EP2930891B1 (ja)
JP (1) JP6562563B2 (ja)
CN (1) CN106165354B (ja)
CA (1) CA2887738C (ja)
HK (1) HK1215832A1 (ja)
WO (1) WO2015157094A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753857B (zh) * 2013-12-26 2018-03-09 华为技术有限公司 网络流量控制设备及其安全策略配置方法及装置
US8811172B1 (en) 2014-04-10 2014-08-19 tw telecom holdings inc. Network path selection using bandwidth prediction
US9634867B2 (en) * 2014-05-02 2017-04-25 Futurewei Technologies, Inc. Computing service chain-aware paths
GB2537338A (en) 2014-11-28 2016-10-19 Aria Networks Ltd Modeling a border gateway protocol network
GB2536860A (en) * 2014-11-28 2016-10-05 Aria Networks Ltd Scheduling traffic in a telecommunications network
GB2543017A (en) 2014-11-28 2017-04-12 Aria Networks Ltd Telecommunications network planning
US10015625B2 (en) * 2015-02-11 2018-07-03 Flipboard, Inc. Providing digital content for offline consumption
WO2016146853A1 (en) * 2015-03-19 2016-09-22 Belgacom International Carrier Services Method and system for managing network utilisation
US10263864B2 (en) * 2015-08-13 2019-04-16 Electronics And Telecommunications Research Institute Apparatus and method for collecting adaptive flow statistics data in carrier network
IN2015CH04763A (ja) * 2015-09-08 2015-09-25 Wipro Ltd
US9825846B1 (en) * 2015-09-22 2017-11-21 Amazon Technologies, Inc. Multi-path routing
US9860159B1 (en) * 2015-09-22 2018-01-02 Amazon Technologies, Inc. Multi-path routing
US10044604B1 (en) 2015-09-22 2018-08-07 Amazon Technologies, Inc. Multi-path routing
US9699673B1 (en) 2016-02-23 2017-07-04 At&T Intellectual Property I, L.P. Maintaining active sessions during subscriber management system maintenance activities
CN105791168A (zh) * 2016-02-24 2016-07-20 中国联合网络通信集团有限公司 网络资源获取方法及装置
US10360514B2 (en) 2016-03-03 2019-07-23 At&T Intellectual Property I, L.P. Method and system to dynamically enable SDN network learning capability in a user-defined cloud network
SG11201807512RA (en) * 2016-07-27 2018-09-27 Megaport Services Pty Ltd Provisioning private network connections
US11025480B2 (en) * 2016-10-13 2021-06-01 Prodatakey, Inc. Automated troubleshooting of a wireless network using a wireless network control system
US10887786B2 (en) 2016-10-25 2021-01-05 Extreme Networks, Inc. Near-uniform load balancing in a visibility network via usage prediction
WO2018202297A1 (en) * 2017-05-04 2018-11-08 Huawei Technologies Co., Ltd. Network computing device, method and system for time-series forecasting based on a moving-median algorithm
US10462042B2 (en) * 2017-06-20 2019-10-29 Cisco Technology, Inc. Network path selection
CN113364686B (zh) 2017-06-30 2022-10-04 华为技术有限公司 一种生成转发表项的方法、控制器和网络设备
JP7156310B2 (ja) 2017-12-18 2022-10-19 日本電気株式会社 通信装置、通信システム、通信制御方法、プログラム
US10862964B2 (en) * 2018-09-18 2020-12-08 At&T Intellectual Property I, L.P. Peer packet transport
CN110290027B (zh) * 2019-07-15 2021-01-15 华北电力大学 一种面向配电通信业务的带宽预测方法及系统
CN113300958A (zh) * 2021-05-24 2021-08-24 北京字跳网络技术有限公司 一种报文传输方法、装置、电子设备和存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1293063A2 (en) 2000-06-14 2003-03-19 Coreexpress, Inc. Route selection within a network with peering connections
US6775701B1 (en) 2000-08-15 2004-08-10 Nortel Networks Limited Oversubscribing network resources
CN1200538C (zh) * 2003-07-11 2005-05-04 清华大学 一种通过统计和控制节点状态选择路由的方法
EP1847071A4 (en) 2005-01-26 2010-10-20 Internet Broadcasting Corp B V MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS
CN101047660A (zh) * 2006-03-28 2007-10-03 朗迅科技公司 发送数据的方法
US8289965B2 (en) * 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8130793B2 (en) * 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8619600B2 (en) * 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US7808918B2 (en) * 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
JP4806466B2 (ja) * 2007-08-22 2011-11-02 日本電信電話株式会社 パス管理制御方法、パス管理制御プログラム、パス管理制御装置およびパス管理制御システム
CN101562534B (zh) * 2009-05-26 2011-12-14 中山大学 一种网络行为分析系统
US8526985B2 (en) * 2009-11-30 2013-09-03 Alcatel Lucent System and method of geo-concentrated video detection
JP5493965B2 (ja) * 2010-02-15 2014-05-14 日本電気株式会社 帯域制御システム、帯域制御装置、帯域制御方法および帯域制御プログラム
JP5418289B2 (ja) 2010-02-23 2014-02-19 富士通株式会社 経路決定装置,経路決定方法及び経路決定プログラム
CN103069394B (zh) * 2010-08-25 2016-06-22 起元技术有限责任公司 评估数据流图的特征
JP2012074825A (ja) * 2010-09-28 2012-04-12 Hitachi Solutions Ltd QoS保障型ネットワークシステム、集中制御装置、及び集中制御装置の制御方法
EP2647166B1 (en) * 2010-12-01 2020-04-01 Nec Corporation Communication system, control device, communication method, and program
US8682812B1 (en) * 2010-12-23 2014-03-25 Narus, Inc. Machine learning based botnet detection using real-time extracted traffic features
WO2012164958A1 (en) 2011-06-02 2012-12-06 Nec Corporation Communication system, control device, forwarding node, and control method and program for communication system
US8654629B1 (en) 2011-06-29 2014-02-18 Amazon Technologies, Inc. Network capacity planning
US8611355B1 (en) 2013-09-03 2013-12-17 tw telecom holdings inc. Buffer-less virtual routing
US8811172B1 (en) 2014-04-10 2014-08-19 tw telecom holdings inc. Network path selection using bandwidth prediction

Also Published As

Publication number Publication date
CN106165354B (zh) 2019-12-10
EP2930891A1 (en) 2015-10-14
JP2017511068A (ja) 2017-04-13
EP2930891B1 (en) 2016-11-23
CA2887738C (en) 2016-08-30
US8811172B1 (en) 2014-08-19
US20150295822A1 (en) 2015-10-15
WO2015157094A1 (en) 2015-10-15
US9667542B2 (en) 2017-05-30
US20170339057A1 (en) 2017-11-23
US9210077B2 (en) 2015-12-08
US20160156556A1 (en) 2016-06-02
CA2887738A1 (en) 2015-06-15
HK1215832A1 (zh) 2016-09-15
CN106165354A (zh) 2016-11-23
US10091107B2 (en) 2018-10-02

Similar Documents

Publication Publication Date Title
JP6562563B2 (ja) 帯域幅予測を使用するネットワークパス選択
US11588737B2 (en) Flow-based load balancing
US10673741B2 (en) Control device discovery in networks having separate control and forwarding devices
US8780716B2 (en) System and method for service assurance in IP networks
Zhang et al. A multipath transport scheme for real-time multimedia services based on software-defined networking and segment routing
JP6067682B2 (ja) 情報決定方法及び情報決定システム
Alotaibi et al. Utilising SDN to counter BGP convergence delays
Chumcharoen et al. Queuing-aware Routing Algorithm in Software Defined Networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R150 Certificate of patent or registration of utility model

Ref document number: 6562563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250