JP6527584B2 - 積極的ネットワーク障害処理 - Google Patents

積極的ネットワーク障害処理 Download PDF

Info

Publication number
JP6527584B2
JP6527584B2 JP2017516261A JP2017516261A JP6527584B2 JP 6527584 B2 JP6527584 B2 JP 6527584B2 JP 2017516261 A JP2017516261 A JP 2017516261A JP 2017516261 A JP2017516261 A JP 2017516261A JP 6527584 B2 JP6527584 B2 JP 6527584B2
Authority
JP
Japan
Prior art keywords
network
traffic
predetermined maximum
failures
maximum number
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
JP2017516261A
Other languages
English (en)
Other versions
JP2017518720A5 (ja
JP2017518720A (ja
Inventor
マハジャン,ラトゥル
ジャーン,ミーン
カンドゥラ,シュリカント
リウ,ホーンチアーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017518720A publication Critical patent/JP2017518720A/ja
Publication of JP2017518720A5 publication Critical patent/JP2017518720A5/ja
Application granted granted Critical
Publication of JP6527584B2 publication Critical patent/JP6527584B2/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • 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
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • 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
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/147Network analysis or design for predicting network behaviour
    • 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
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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
    • 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/149Network analysis or design for prediction of maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

[0001]電子的サービス(例えば、検索サービス、電子メールサービス、ソーシャルネットワーキングサービス、クラウドコンピューティングサービス、など)は、より多くのユーザーへサービスすることおよびより多くのコンテンツを提供することにより拡大し続けており、電子的サービスのプロバイダーは、拡張された電子的サービスを提供するために装置のネットワークを継続的に維持し、かつ更新しなければならない。しかしながら、装置および装置を相互接続し、かつ個別のネットワーク内のデータを伝達するリンクは、故障する、またはネットワーク輻輳(例えば、リンクが通信容量を超過する)を招く恐れのある障害を引き起こす可能性がある。したがって、ネットワークは、ネットワークの効率性および信頼性に影響を及ぼす恐れがあるパケットの損失を被る可能性がある。
[0002]本明細書に記載される技術および/またはシステムは、ネットワークの少なくとも一部が、所定の最大障害数を超過しない限り、輻輳(例えば、リンクが容量を超過する)を回避できることを保証することができる障害処理サービスを実装する。障害処理サービスは、ネットワークトポロジに基づき可能性のある障害の異なる組み合わせをモデル化し、次いで、発生する実際の障害数が所定の最大障害数以下である限り、輻輳が回避されるように個別の経路を介して伝達されるべきトラフィック量を計算する。
[0003]本概要は、詳細な説明の中で以下に詳しく説明される、簡単化された形での選択された概念を紹介するために提供される。本概要は、特許請求の範囲の主題の主要な機能または本質的な特徴を特定することを意図するものでも、特許請求の範囲の主題の範囲を限定するために使用されることを意図するものでもない。
[0004]詳細な説明は添付の図面を参照して表現される。図に於いて、参照番号の最左の数字は参照番号が最初に現れた図を識別する。異なる図での同一の参照番号の使用は、類似のまたは同一の項目を示す。
[0005]障害処理サービスが、様々な実施形態に従って、所定の最大障害数までを取り扱うようにネットワークを構成する図を例示する。 [0006]様々な実施形態に従って、所定の最大リンク障害数までを取り扱うように構成されたネットワーク例を示す図である。 [0007]様々な実施形態に従って、所定の最大のコントロール障害数までを取り扱うように構成されたネットワーク例を示す図を例示する。 [0008]様々な実施形態に従って、障害処理サービスを実装する環境例を示す図を例示する。 [0009]様々な実施形態に従って、所定の最大障害数がリンク上に輻輳を引き起こすことなく発生することができるようにネットワークを構成するプロセス例を示す図を例示する。 [0010]様々な実施形態に従って、障害処理サービスが可能性のある障害の異なる組み合わせに関連した制約を効率的に解決することができるようにソーティングネットワーク手法を使用するプロセス例を示す図を例示する。 [0011]様々な実施形態に従って、障害処理サービスを実装するために使用されるソーティングネットワーク例を示す図を例示する。
[0012]本明細書に記載された技術および/またはシステムは、ネットワークのための障害処理サービスを実装する。障害処理サービスは、所定の最大障害数までを取り扱うようにネットワークを積極的に構成する。例えば、障害処理サービスは、入力として、特定の許容される障害数(例えば、所定の最大障害数)およびネットワークの少なくとも一部のトポロジを受信することができる。トポロジは、少なくとも、
(i)装置および装置間のリンクなどのネットワーク構成要素の配置、および(ii)ネットワークまたはネットワークの一部内の1つまたは複数の個別のフローに関連した情報を含むことができる。入力に基づいて、障害処理サービスは、ネットワーク内で実際に発生する障害数が所定の最大障害数以下である限り、ネットワーク輻輳が回避されるように、個別のフローについて、1つまたは複数の経路内で伝達されるトラフィック量を計算するように構成される。次いで、障害処理サービスは、障害が実際にネットワーク内で発生する以前に計算に基づきフローが配分されるように、ネットワークの構成要素を構成する(例えば、命令を発出する)ことができる。したがって、障害処理サービスは、所定の最大障害数に達するまで堅牢であるように積極的にネットワークを構成する(例えば、輻輳が発生しないように保証する)。
[0013]ネットワーク障害は、データプレーン障害またはコントロールプレーン障害を含む可能性がある。データプレーン障害は、リンク(例えば、ネットワーク内の2つの装置間の直接のリンク)が故障する場合、または装置が故障する場合に発生する。本明細書に記載された様々な実装では、ネットワーク障害に関連する装置は、例えば、ネットワーク内でデータパケット(例えば、ネットワーク内で伝達されるトラフィック)を回送する仕事をするスイッチング装置であり得る。したがって、データプレーン障害は、パケットの回送に影響を及ぼすリンク障害またはスイッチ障害を含む可能性がある。コントロールプレーン障害は、ネットワーク内のスイッチング装置が、適時に、再構成すること、または更新を受信することに失敗する場合(例えば、完全な再構成障害、再構成遅延など)に発生する。したがって、スイッチング装置がパケットを回送し続け、かつ故障していないとしても、スイッチング装置が以前のまたは古い構成であり、かつ更新されていないまたは新しくない構成に基づきパケットを回送することから、障害が依然として発生する。コントロールプレーン障害は、リモートプロシージャコール(RPC)障害、スイッチング装置ファームウェアまたはソフトウェア内のバグ、スイッチング装置内のメモリ不足などに起因する可能性がある。したがって、本明細書に記載された障害処理サービスは、実際に発生する障害数が所定の最大障害数未満である限り、障害処理サービスが、ネットワーク輻輳が発生することがない(例えば、ネットワーク内のリンク上のトラフィックが容量を超過しない)ことを保証するように、データプレーン障害および/またはコントロールプレーン障害を積極的に処理するようにネットワークを構成する。
[0014]従来、トラフィックエンジニアリング制御装置は、障害の検出に応答してネットワークを再構成する。したがって、従来の手法は、障害が実際に発生した後の、および障害が検出された後のネットワーク輻輳、結果として、既に発生し、かつ修正の必要が生じているネットワーク輻輳を削減する。多くの場合、トラフィックエンジニアリング制御装置は、ネットワーク処理能力を、例えば、パケット損失に起因して、中断または減少させる障害に対して効率的に反応することができない(例えば、再動作または訂正は数十秒を要する可能性がある)。例えば、ネットワーク内のリンクが故障する(例えば、故障が発生する)場合、ネットワーク内のスイッチング装置は、典型的にはトラフィックを他の利用可能な経路に移動する(例えば、トラフィックを再調整する)ように構成される。しかしながら、本動作は、リンク容量制約を考慮しておらず、したがって、本動作は、その後に反応的に訂正されなければならないリンク輻輳を招くことが多い。
[0015]図1は、本明細書に記載された障害処理サービス102が所定の最大障害数(例えば、1、2、3、4、10、20、100または任意のその他の数)まで取り扱うようにネットワーク104を構成する例図100を例示する。所定の最大障害数は、障害処理サービス102を作動させるエンティティ、あるいはネットワーク104またはパケット回送などのネットワーク104の特定の機能を管理するエンティティ(例えば、トラフィックエンジニアリングアプリケーションまたは制御装置)により設定され得る。上記のように、障害処理サービス102は、ネットワーク104内の障害を処理するための積極的な手法を実装する。例えば、障害処理サービス102は、輻輳からの開放が所定の最大障害数まで実現されるように、フローに関連した1つまたは複数の経路を介して伝達されるべきトラフィック量を計算することができる。別の言い方をすれば、障害処理サービス102は、障害の総数が所定の許容される障害の最大数以下である限り、輻輳が発生しない、例えば、リンクが帯域幅容量を超過しないように、ネットワーク内にトラフィック拡散する。
[0016]ネットワーク104は、様々な装置106および直結のリンク108、例えば、ネットワーク104内の2つの装置106間のリンクを含むことができる。直結のリンク108は、2つの装置を接続する通信経路の少なくとも一部であり得る。例えば、入口スイッチング装置は、トラフィックが発生する発信元装置であり、出口スイッチング装置はトラフィックが終結する宛先装置であり得る。入口スイッチング装置は、1つまたは複数の通信経路を確立し、かつ1つまたは複数の通信経路を介して出口スイッチング装置にフロー(例えば、トラフィック)を伝達するように構成される、または指示され得る。本明細書に記載されるように、通信経路はまた、(例えば、入口スイッチング装置および出口スイッチング装置を含む)2つ以上の装置を通過する、通信トンネルまたはトンネルと呼ばれ得る。
[0017]様々な実施形態では、ネットワーク104は、データセンターネットワーク(DCN)、インターネットサービスプロバイダー(ISP)ネットワーク、企業ネットワーク(例えば、クラウドサービス)またはエンティティの制御下にあり得る任意のその他の管理ドメイン(例えば、障害処理サービス102を実行する装置を作動させ、かつ維持するエンティティ)などの、大規模な生産ネットワークであり得る。装置106は、スイッチング装置(スイッチ)、ルーティング装置(ルーター)、ゲートウェイ装置(ゲートウェイ)、ブリッジング装置(ネットワークブリッジ)、ハブ装置(ネットワークハブ)、ファイヤーウォール装置、ネットワークアドレス変換装置(NAT)、多重化装置(マルチプレクサー)、無線アクセスポイント装置(WAP)、プロキシーサーバー装置、ファイルサーバー装置、データベースサーバー装置、記憶装置などのような物理的ネットワーク装置であり得る。装置106はまた、ネットワーク104に接続する能力のあるエンドユーザー装置であり得る。例えば、エンドユーザー装置は、スマートフォン、携帯電話、パーソナルデジタルアシスタント(PDA)、電子ブック装置、ラップトップコンピューティング装置、タブレットコンピューティング装置、パーソナルメディアプレーヤーなどのような、モバイルまたは携帯装置を含むことができる。あるいは、エンドユーザー装置は、デスクトップコンピューティング装置、ゲームコンソール装置、デジタルビデオ録画装置(DVR)、セットトップボックス装置などのような、据え置き型装置を含むことができる。したがって、ネットワーク104は、ドメインまたは管理ネットワークを構成するために相互に接続された数十、数百、数千の装置を含むことができる。
[0018]本明細書で議論される様々な例では、障害処理サービス102はトンネル型フォワーディングに従って実装され得る。トンネル型フォワーディングは、ネットワークのトラフィックエンジニアリングに於いて使用され得る。トンネル型フォワーディングでは、1つまたは複数のトンネル(例えば、通信経路)が入口−出口スイッチング装置対間のトラフィックを伝達するために確立され、かつ伝達されるトラフィックは、フローと呼ばれ得る。上述のように、フローは、複数のトンネルに拡散され、または分散され得る。したがって、障害処理サービス102は、フローが複数のトンネルに分割される方法を決定する重み付けを有する入口スイッチング装置を構成することができる。
[0019]障害処理サービス102は、ネットワーク104のトポロジを受信またはアクセスし、かつモデル、例えば、連立方程式をトポロジおよび所定の許容される最大障害数に基づき生成するように構成される。モデルは、ネットワーク内で潜在的に発生し得る可能性のある障害の異なる組み合わせ表現する(例えば、障害の種類、障害の場所など)。例えば、所定の許容される障害の最大数が1である場合、可能性のある障害の組み合わせは、1つの許容される障害が発生し得るネットワーク内の一箇所(例えば、スイッチ故障に対する各スイッチング装置)に関連している。したがって、可能性のある障害の組み合わせは、単一の障害を含むことができる。別の例では、所定の許容される障害の最大数が2である場合、可能性のある障害の組み合わせは、2つの障害が発生し得るネットワーク内の2箇所に関連している。さらに別の例では、所定の許容される障害の最大数は3、5、10、20、50、100などの、任意の数であり得る。
[0020]次いで、障害処理サービス102は、ネットワーク内の経路を介して伝達されるべきトラフィック量を計算するためにモデルを使用する。計算されたトラフィック量は、発生する障害数が所定の障害の最大数以下である限り、リンクが通信容量を超過することなく、リンクに到着する追加のトラフィック(例えば、障害に応答したトラフィック量の再調整プロセスの一部として)のために部屋、例えば、利用可能な空間を提供する。すなわち、計算は、障害の任意の組み合わせ(例えば、障害の数が所定の最大障害数以下である障害の組み合わせ)の結果としてリンクに到着する可能性がある追加のトラフィックが当該リンクに対する利用可能なまたは予備の容量より少ないことを保証し、したがって、リンク輻輳は回避される。様々な実施形態では、入口スイッチング装置は、入口スイッチング装置が1つまたは複数のトンネル(例えば、障害に影響された)を無効にし、かつ1つまたは複数の障害トンネルを介して伝達されるトラフィックをフローに対して確立された他のトンネル(例えば、残余のトンネル)上に分割するように、障害に応答した比例再調整を実装することができる。
[0021]様々な実装では、ネットワーク104は、多数の装置(例えば、数十、数百、数千など)および/または2つの装置間のリンクを含むことができる。したがって、可能性のある障害の異なる組み合わせを決定することおよび異なる組み合わせをモデル化することは、計算上の課題、例えば、多数の制約を提示することができる。したがって、障害処理サービス102は、本明細書でさらに議論するように、生起する多数の制約を符号化し、かつ制約を効率的に解決するために(例えば、1つまたは複数のフローに対するトラフィック配分を計算するために)ソーティングネットワーク手法を使用することができる。いくつかの例では、障害処理サービス102は、削減された数の制約(例えば、ネットワークトラフィックに最も多くの影響を与える障害に関連した)をソートするためにソーティングネットワーク手法を使用することができる。
[0022]上述のように、ネットワーク障害は、データプレーン障害および/またはコントロールプレーン障害を含み得る。図1は、リンク障害110、スイッチ障害112およびコントロール障害114を例示する。リンク障害110およびスイッチ障害112はそれぞれ、少なくとも、リンクまたはスイッチング装置がフローまたはフローの一部を処理することができないことから、トンネル型フォワーディングに影響を及ぼす可能性があり、したがって、ネットワーク104内のトラフィックを再調整されるべきことが要求されるデータプレーン障害の例である。コントロール障害114は、トンネルに沿ったスイッチング装置が、少なくとも、新しいまたは更新された構成に従ってトラフィックを経路付けすることが期待される時点で、古いまたは以前の構成に従ってトラフィックを経路付し続ける可能性があることから、ネットワーク輻輳を引き起こす可能性もあるコントロールプレーン障害の例である。
[0023]積極的に障害を処理するためにネットワーク104を構成することに先立って、障害処理サービス102は、1つまたは複数の障害保護レベル116を決定する(例えば、アクセスまたは受信する)ように構成される。障害保護レベル116は、所定の許容されるリンク障害の最大数(例えば、以下の議論におけるk)、所定の許容されるスイッチ障害の最大数(例えば、以下の議論におけるk)および/または所定の許容されるコントロール障害の最大数(例えば、以下の議論におけるk)を示すことができる。
[0024]障害保護レベル116に基づき、障害処理サービス102は、発生する障害の総数が所定の許容される障害の最大数以下である限り、ネットワーク輻輳が回避されることを保証するトラフィック量を計算するように構成される。次いで、障害処理サービス102は、ネットワーク104に対して構成設定118を提供して、ネットワーク104が、計算結果に基づきトラフィックを伝達する(例えば、配分する)ように構成され得る。
[0025]一例として、図2は、障害処理サービス102が所定のリンク障害の最大数kまで処理するようにネットワークを構成する方法を示す図200を例示しており、図2の例ではk=1である。したがって、図2は、データプレーン障害に向けたものであり、リンク障害以前のネットワークのトラフィック配分をモデル化した第1の構成202およびリンク障害後の同一のネットワークのトラフィック配分をモデル化した第2の構成204を例示する。ネットワークは、第1のスイッチング装置206(1)、第2のスイッチング装置206(2)、第3のスイッチング装置206(3)および第4のスイッチング装置206(4)を含む。ネットワーク内の任意の2つの装置間の各リンクは、超過した場合、リンクに輻輳を引き起こさせる可能性のある通信容量または帯域制限(例えば、図2の例では10ユニット)を有する。
[0026]第1の構成202では、第1のトンネル208(1)(トンネルは図2内の点線で示される)は、1.5ユニット(例えば、毎秒当たりのギガビット、Gbps)のトラフィックをスイッチング装置206(2)からスイッチング装置206(4)にスイッチング装置206(1)を介して伝達し、第2のトンネル208(2)は、1.5ユニットのトラフィックをスイッチング装置206(3)からスイッチング装置206(4)にスイッチング装置206(1)を介して伝達し、第3のトンネル208(3)は、7ユニットのトラフィックをスイッチング装置206(3)からスイッチング装置206(4)に直接伝達し、第4のトンネル208(4)は、7ユニットのトラフィックをスイッチング装置206(2)からスイッチング装置206(4)に直接伝達する。したがって、トンネル208(1)およびトンネル208(4)は、スイッチング装置206(2)が入口スイッチング装置であり、スイッチング装置206(4)が出口スイッチング装置であるフローに関連付けられ得る。さらに、トンネル208(2)およびトンネル208(3)は、スイッチング装置206(3)が入口スイッチング装置であり、スイッチング装置206(4)が出口スイッチング装置である別のフローに関連付けられ得る。障害処理サービス102は、k=1を指定する、障害保護レベル116に基づきトラフィック量(例えば、図2に例示されるユニット)を計算する。
[0027]したがって、リンク障害210(例えば、データプレーン障害)が、第2の構成204内に示されるように、スイッチング装置206(2)とスイッチング装置206(4)との間の場所で発生する場合、ネットワークは、第1のトンネル212(1)が、8.5ユニットのトラフィックをスイッチング装置206(2)からスイッチング装置206(4)にスイッチング装置206(1)を介して伝達し、第2のトンネル212(2)が、1.5ユニットのトラフィックをスイッチング装置206(3)からスイッチング装置206(4)にスイッチング装置206(1)を介して伝達し、かつ第3のトンネル212(3)が7ユニットのトラフィックをスイッチング装置206(3)からスイッチング装置206(4)に直接伝達するようにトラフィックを再調整する。
[0028]図示のように、第1の構成202でのトンネル208(2)およびトンネル208(3)は、再調整プロセスの間変更されないままである。しかしながら、第2の構成204内のトンネル212(1)は、リンク障害210の結果として第1の構成202でのトンネル208(1)およびトンネル208(4)のフローを合わせて処理するように再調整されたトンネルである。第2の構成204では、スイッチング装置206(1)からスイッチング装置206(4)への直接リンク上の負荷は、リンクの最大容量以内である、合計10ユニット(すなわち、8.5+1.5)である。
[0029]図2は、リンク障害がスイッチング装置206(2)とスイッチング装置206(4)との間で発生していることを示しているが、例えば、障害処理サービス102により計算されるように、第1の構成202内で指定されたユニットは、ネットワーク内のどこであれ単一のリンク障害を積極的に処理することができ、かつ単一のリンク障害(k=1)を越えない限り、輻輳は依然として回避されることになる。例えば、スイッチング装置206(2)とスイッチング装置206(4)間のリンクの替わりに、スイッチング装置206(1)とスイッチング装置206(3)間のリンクが故障した場合、トンネル208(2)を介して伝達される1.5ユニットは、合計8.5ユニットが再調整された構成に於いてスイッチング装置206(3)とスイッチング装置206(4)間のリンクを介して伝達されるように(例えば、8.5ユニットはリンクに対する容量10ユニット未満である)、トンネル208(3)を介して伝達される7ユニットに加算され得る。
[0030]さらに、第1の構成202はまた、輻輳を引き起こすことなく単一のスイッチ障害(例えば、K=1)を処理することができる。例えば、スイッチング装置206(1)が故障した場合、トンネル208(1)を介して伝達される1.5ユニットは、トンネル208(4)を介して伝達されるように再調整され(例えば、7+1.5<10ユニット)、かつトンネル208(2)を介して伝達される1.5ユニットは、トンネル208(3)を介して伝達されるように再調整され得る(例えば、7+1.5<10ユニット)。
[0031]したがって、障害処理サービス102は、フローに対するトラフィック量を計算するように構成され、かつ、ネットワークが、例えば第2の構成204内に示されたように、障害に対して堅牢であるように構成された後に発生する、リンク障害のためにリンクに到着する可能性がある、再調整されたトラフィック(例えば、比例再調整)を吸収するために十分に利用可能なまたは予備の容量があるように、例えば、第1の構成202内で示されたように、計算されたトラフィック量に基づきネットワークを積極的に構成する。
[0032]別の例として、図3は、障害処理サービス102がコントロール障害の最大数kまで処理するようにネットワークを構成する方法を示す図300を例示する。したがって、図3は、コントロールプレーン障害に向けられ、かつネットワークまたはネットワークの一部のトラフィックをモデル化する第1のトラフィックエンジニアリング(TE)構成302および第2のTE構成304を例示する。所定の許容されるコントロールプレーン障害の最大数は1に等しい(例えば、k=1)。第1のTE構成302および第2のTE構成304に於いて、トラフィックは、図3の例内の、第1のスイッチング装置306(1)、第2のスイッチング装置306(2)、第3のスイッチング装置306(3)および第4のスイッチング装置306(4)によりまたは介して伝達される。この例では、リンク容量は10ユニットである。リンクおよび装置の配置、リンク容量、ならびに第1のTE構成302内で伝達されるトラフィックは、障害処理サービス102によりアクセス可能なネットワークトポロジにより表され得る。
[0033]第1のTE構成302に於いて、第1のトンネル308(1)(トンネルは同様に図3内の点線で示される)はスイッチング装置306(1)からスイッチング装置306(2)に直接10ユニットのトラフィックを伝達し、第2のトンネル308(2)は、スイッチング装置306(1)からスイッチング装置306(3)に直接10ユニットのトラフィックを伝達し、第3のトンネル308(3)は、スイッチング装置306(2)からスイッチング装置306(4)に直接7ユニットのトラフィックを伝達し、第4のトンネル308(4)は、スイッチング装置306(3)からスイッチング装置306(4)に直接7ユニットのトラフィックを伝達し、第5のトンネル308(5)は、スイッチング装置306(2)からスイッチング装置306(4)にスイッチング装置306(1)を介して3ユニットのトラフィックを伝達し、第6のトンネル308(6)は、スイッチング装置306(3)からスイッチング装置306(4)にスイッチング装置306(1)を介して3ユニットのトラフィックを伝達する。
[0034]この例では、障害処理サービス102またはトラフィックエンジニアリングコントローラは、第2のTE構成304内に示されるように新トンネル310を収容するためにスイッチング装置を更新しようとする。したがって、障害処理サービス102は、トンネル312(1)が第1のTE構成302内のトンネル308(3)および308(5)を介してこれまでに伝達されていたトラフィックを結合して(例えば、7+3=10ユニット)伝達するように、新しい構成(例えば、新しい重み付けの配分)でスイッチング装置306(2)を更新することを試みることができる。さらに、障害処理サービス102またはトラフィックエンジニアリングコントローラは、トンネル312(2)が第1のTE構成302内のトンネル308(2)および308(4)を介してこれまでに伝達されていたトラフィックを結合して(例えば、7+3=10ユニット)伝達するように、新しい構成でスイッチング装置306(3)を更新することを試みることができる。第2のTE構成304内のトンネル312(3)および312(4)は、第1のTE構成302内のトンネル308(1)およびトンネル308(2)からは変更されない。
[0035]したがって、コントロール障害314(例えば、コントロールプレーン障害)が、第2のTE構成304内に示されるように、スイッチング装置306(2)(例えば、スイッチング装置障害を更新する、または遅延され、タイムリーに実装されないような試み)に於いて発生した場合、スイッチング装置306(2)は、第1のTE構成302に従ってトラフィックを経路付し続けることになる。したがって、トンネル312(1)は、トンネル308(5)からの3ユニットのトラフィックを取り入れるように構成されることに成功しないことになる。しかしながら、障害処理サービス102は、最大1つのスイッチング装置が故障した場合であっても、リンク輻輳が発生しないことを保証するトンネル310に対する7ユニットのトラフィック量を計算するように構成される。例えば、トンネル308(5)および新しいトンネル310からの古い構成のトラフィックであっても、スイッチング装置306(1)とスイッチング装置306(4)間のリンクの容量は、10ユニットの容量を超過しない(例えば、3+7≦10ユニット)。
[0036]図3は、コントロール障害がスイッチング装置306(2)に於いて発生し(例えば、可能性のある障害の第1の組み合わせ)、図3におけるTE構成がネットワーク内のどこであれ、例えばスイッチング装置306(3)に於いて、コントロール障害(例えば、可能性のある障害の第2の組み合わせ)を積極的に処理することができることを示す。
[0037]図4は、上記の障害処理サービス102を実装する環境例400を示す図である。様々な実施形態に於いて、障害処理サービス102は、1つまたは複数の装置402により実装され得る。装置402は、デスクトップコンピューティング装置、サーバーコンピューティング装置などといった据え置き型装置を含むことができる。装置402は、それらの替わりに、ラップトップコンピューティング装置、タブレットコンピューティング装置、スマートフォン装置、携帯電話装置、携帯情報端末(PDA)装置、電子ブック装置などといったモバイルまたは携帯型装置を含むことができる。
[0038]装置402は、本明細書に記載された技術を実装するように構成された障害処理サービス102を含む。装置402は、1つまたは複数のプロセッサ404およびメモリ406を個別にかつ別々に含むことができる。プロセッサ404は、単一の処理装置または、それぞれが複数の異なる処理装置を含むことができる、いくつかの装置であり得る。プロセッサ404は、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、セキュリティプロセッサなどを含むことができる。代替として、または加えて、本明細書に記載された技術のいくつかまたはすべては、少なくとも一部を、1つまたは複数のハードウェアロジックコンポーネントにより遂行され得る。例えば、限定するものではなく、使用され得るハードウェアロジックコンポーネントの種類の例には、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、アプリケーション固有標準製品(ASSP)、状態マシーン、コンプレックスプログラマブルロジックデバイス(CPLD)、その他の論理回路、システムオンチップ(SoC)、および/または命令に基づき動作を遂行する任意のその他の装置が含まれる。その他の能力の中で、プロセッサ404は、メモリ406内に記憶されたコンピュータ読み取り可能な命令を読み込みかつ実行するように構成され得る。
[0039]メモリ406は、コンピュータ読み取り可能な媒体の1つまたは組み合わせを含むことができる。
本明細書で使用されるように、「コンピュータ読み取り可能な媒体」は、コンピュータ記憶媒体および通信媒体を含む。
[0040]コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールまたはその他のデータなどの、情報を記憶するための任意の方法または技術で実装された、揮発性および不揮発性、可換型および非可換型媒体を含む。コンピュータ記憶媒体は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他の種類のランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリ、またはその他のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多目的ディスク(DVD)またはその他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク装置またはその他の磁気記憶装置、あるいは装置によりアクセスするための情報を記憶するために使用され得る任意のその他の媒体を含むが、限定するものではない。
[0041]一方、通信媒体は、搬送波などの変調されたデータ信号内のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータを含む。本明細書で定義されるように、コンピュータ記憶媒体は、通信媒体を含まない。
[0042]メモリ406は、その他のモジュール、コンポーネントおよび装置の利便性のために装置内のおよび装置に結合されたハードウェアおよびサービスを管理するように構成されるオペレーティングシステムを含むことができる。幾つかの例では、障害処理サービス102の少なくとも一部は、オペレーティングシステム内に、またはオペレーティングシステムにより実装され得る。
[0043]障害処理サービス102は、監視モジュール408、計算モジュール410および構成モジュール412の1つまたは複数を含む。本明細書で使用されるように、用語「モジュール」は、議論の目的のために例示的に区分されたソフトウェアを表すことを意図するものであり、何らかの種類の要件あるいは要求された方法、態様または機構を表すことを意図するものではない。したがって、様々な「モジュール」が議論されるが、それらの機能および/または類似の機能は、(例えば、より少ない数のモジュールに結合される、より多くの数のモジュールに分割されるなど)異なる形で配置され得る。さらに、ある機能およびモジュールが、1つまたは複数の装置にまたがる1つまたは複数のプロセッサ上で実行可能なソフトウェアおよび/またはファームウェアにより実装されるように本明細書中に記載されるが、他の実施形態では、モジュールのいずれかまたはすべては、記載した機能を実行するためにハードウェア(例えば、ASIC、特定目的処理装置など)により全体的にまたは一部が実装され得る。他の例では、機能および/またはモジュールは、デバイスドライバー、ファームウェアなどの一部として実装される。
[0044]様々な実施形態に於いて、監視モジュール408は、(例えば、ネットワークの少なくとも一部の)ネットワークトポロジを観察し、かつ/またはネットワークトポロジストア414内にネットワークトポロジを記憶するように構成される。ネットワークトポロジは、ネットワークの様々なコンポーネントの配置(例えば、装置の場所、装置の種類、装置の機能、装置対間のリンクなど)である。ネットワークトポロジは、ネットワークコンポーネントの配置を表す物理的トポロジおよびネットワーク内のデータフローを表す論理的トポロジを含むことができる。したがって、監視モジュール208は、様々な発信元装置(例えば、入口スイッチ)から様々な宛先装置(例えば、出口スイッチ)に伝達されるトラフィックフローを観察し、かつ記憶するように構成される。監視モジュール408は、周期的スケジュールに従って、かつ/または特定の事象に応答して、実時間でネットワークトポロジを決定することができる。
[0045]ネットワークトポロジはまた、その他のネットワーク設定、例えば、ネットワーク内の個別のリンクに対する最大リンク容量(例えば、帯域幅)、ネットワーク上のフローの要求する容量を含む。上述のように、障害処理サービス102は、実際の障害数が所定の許容される障害の最大数を超過しない限り、リンクが輻輳することがない(例えば、最大リンク容量を超過しない)ことを保証するようにトラフィック量を計算する。
[0046]計算モジュール410は、構成設定118を計算するように構成される。計算モジュール410は、ネットワークトポロジストア414から現在のまたは最近のネットワークトポロジを決定する(例えば、受信するまたはアクセスする)ことができる。さらに、計算モジュール410は、障害保護レベルストア416から1つまたは複数の障害保護レベル116を決定する(例えば、受信するまたはアクセスする)ように構成される。障害保護レベル116は、ネットワークに対して許容される所定の最大障害数(例えば、リンク障害、スイッチ障害および/またはコントロール障害の1つまたは複数に対する所定の最大数)を指定することができる。障害保護レベルストア416は、異なるシナリオにおける計算モジュール410によりアクセス可能な変化する障害保護レベルを保存することができる。例えば、障害処理サービス102は、異なる時間(例えば、特定の時差帯に対する夜間対昼間)、ネットワーク上の異なる要求などに基づき異なる保護レベルを実装することができる。
[0047]ネットワークトポロジおよび障害保護レベルに基づき、計算モジュール410は、ネットワーク内に発生し得る可能性のある障害(例えば、障害の種類、障害箇所など)の異なる組み合わせを表す、モデル、例えば、連立方程式、を生成する。次いで、計算モジュール410は、例えば構成設定118のような、トラフィック量を計算するためにモデルを使用することができる。上述のように、計算されたトラフィック量は、発生する障害数が(例えば、障害の種類に応じて定義されるような)所定の最大障害数以下である限り、リンクが通信容量を超過することなく、(例えば、1つまたは複数の障害に応答したトラフィック再調整プロセスの一部として)追加のトラフィックがリンクに到着することを可能とする。様々な実施形態の於いて、本明細書でさらに議論するように、保護モジュール410は、可能性のある障害の異なる組み合わせに基づき制約を符号化し、次いで、効率的に制約を解決するためにソーティングネットワーク手法を使用することができる。
[0048]構成モジュール412は、障害に起因する輻輳およびパケット損失(例えば、まだ発生してはいない未知の障害)が回避され得るように、ネットワーク104を構成する命令を発出するように構成される。例えば、構成モジュール412は、トラフィックが計算モジュール410により計算されたトラフィック量に基づき伝達される、かつ/または配分されるように、ネットワーク内のスイッチング装置に適用するための特定のコマンド(例えば、装置特有コマンド)を生成することができる。
[0049]様々な実施形態の於いて、障害処理サービス102は、トラフィックエンジニアリングコントローラの一部として実装され得る。代替として、障害処理サービス102は、トラフィックエンジニアリングコントローラとインターフェイスを取るように構成され得る。したがって、装置402は、1つまたは複数の通信装置418を含むことができる。通信装置418は、1つまたは複数のネットワーク(例えば、ネットワーク104)、様々なサービスまたはコンテンツプロバイダーにより運用されるアプリケーション、および/またはその他の装置への有線および/または無線接続を容易にするように構成され得る。したがって、通信装置418は、様々な通信またはネットワーク接続プロトコルの1つまたは複数を実装することができる。
[0050]図5および図6は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組み合わせ内に実装され得る一連の動作を表す論理的流れ図として示されるプロセス例を例示する。ソフトウェアの文脈に於いて、動作は、1つまたは複数のプロセッサにより実行される場合、列挙された動作を遂行するようにコンピューティング装置を構成する、コンピュータ実行可能な命令を表す。一般的に、コンピュータ実行可能な命令は、特定の機能を遂行する、または特定の抽象データ型を実装するコンピューティング装置を構成する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。いくつかの実装形態では、動作のいずれかまたはすべては、記載された機能を実行するために、ハードウェア(例えば、ASIC、特定目的処理装置などとして)により全体または一部に実装され得る。いくつかの例では、機能および/またはモジュールは、オペレーティングシステムの一部として実装される。その他の例では、機能および/またはモジュールは、デバイスドライバー、ファームウェアなどの一部として実装される。
[0051]動作が記載されている順序は、限定として制約されることを意図するものではなく、任意の数の記載された動作は、プロセスを実装するために任意の順序で、かつ/または並列に結合され得る。
[0052]図5は、所定の最大障害数まで堅牢である(例えば、リンクが輻輳することがないことを保証する)ようにネットワークを構成するプロセス例500を例示する。図5に於ける動作例は、図1から図4のいずれか1つに例示されるモジュール、コンポーネントおよび/または要素により説明され得る。
[0053]502に於いて、観察モジュール408は、ネットワークトポロジを観察し、かつ(例えば、ネットワークトポロジストア414内に)記憶することができる。例えば、ネットワークトポロジは、ネットワークの様々な構成要素の配置に関連した情報(例えば、装置の所在、装置の種類、装置の機能、装置対間のリンクなど)を提供することができる。様々な実装に於いて、観察され、かつ記憶されたネットワークトポロジは、ネットワークのフローを記述するトラフィック需要マトリックス(例えば、フローに対する発信元または入口装置、フローに対する宛先または出口装置、フローに対するトラフィックの総量、フローに対するトラフィックのトンネル配分など)を含むことができる。
[0054]504に於いて、計算モジュール410は、所定の最大障害数を指定した1つまたは複数の障害処理レベルを決定することができる。例えば、計算モジュール410は、障害保護レベルストア416にアクセスする、またはネットワークを管理するエンティティから障害保護レベルを受信することができる。様々な実施形態に於いて、障害保護レベルは、特定の種類(例えば、リンク障害、スイッチ障害またはコントロール障害)の所定の最大障害数を示すことができる。したがって、計算モジュール410は、ネットワークがリンク障害(k)、スイッチング装置障害(k)、コントロール障害(k)、2種類の障害の組み合わせ、またはすべての3種類の障害の組み合わせに対して堅牢であるべきか否かに応じてトラフィック量を計算することによりネットワーク保護のレベルを変化させることができる。
[0055]506に於いて、計算モジュール410は、ネットワークトポロジおよび障害保護レベルに基づき可能性のある障害の異なる組み合わせを捕捉するモデルを生成することができる。例えば、計算モジュール410は、ネットワークトポロジストア414および障害保護レベルストア416内の情報にアクセスすることができる。様々な実施形態に於いて、モデルは、可能性のある障害に関連した変数(例えば、トポロジにより記述されるネットワーク配置内の障害の場所)を含む連立方程式である。
[0056]508に於いて、計算モジュール410は、ネットワーク内のリンク上で伝達されるべき、個々のフローに対するトラフィック量を計算することができる。例えば、計算モジュール410は、発生する障害数が(例えば、障害の種類に対して定義されるような)所定の最大障害数以下である限り、計算されたトラフィック量が、リンクが通信容量を超過することなく、(例えば、1つまたは複数の障害に応答して比例トラフィック再調整プロセスの一部として)追加のトラフィックがリンクに到着することを可能とするように連立方程式を解くことができる。
[0057]510に於いて、構成モジュール412は、計算されたトラフィック量に基づき構成設定を生成し、かつ構成設定(例えば、命令、コマンドなど)をネットワークに提供することができる。
[0058]図6は、障害処理サービスが可能性のある障害の異なる組み合わせに関連した制約を効率的に解決することができるように、ソーティングネットワーク手法を使用する処理例600を例示する。図6に於ける、動作例は、図1から図5のいずれか1つに例示されたモジュール、コンポーネント、要素および/または動作を参照して記述され得る。例えば、処理例600は、図5内の動作506および/または動作508に従って実装され得る。
[0059]602に於いて、計算モジュール410は、モデル(例えば、連立方程式)により捕捉された可能性のある障害の異なる組み合わせに基づき解決されるべき第1の数の制約を決定する。上述のように、障害処理サービス102が制約の解決に於ける計算上の課題で提示されるような、制約の第1の数が十分に大きいシナリオが存在し得る。
[0060]604に於いて、計算モジュール410は、ソーティングネットワークを使用して制約の第1の数を制約の第2の数に削減することができる。このことは、より少ない計算上のオーバーヘッドで計算を遂行可能とする。
[0061]606に於いて、計算モジュール410は、第2の数の制約を解決し、かつネットワーク内で伝達されるべきトラフィック量を計算する。
[0062]ネットワークが所定の最大障害数まで堅牢であるようにフローのトラフィック配分を決定するために遂行される計算例が本明細書で提供される。上述のように、ネットワーク104は、多数の装置(例えば、数十、数百、数千など)を含むことができる。したがって、可能性のある障害の異なる組み合わせ(例えば、所定の最大数までの障害数の所在)を決定することは、可能性のある障害の異なる組み合わせに関連した大きな数の制約を計算し、かつ解決することが必要となる大きなオーバーヘッド量に起因する計算上の課題を提示している。最大k個の障害(例えば、所定の最大数)が許容される場合、n個の可能性のある障害(例えば、ネットワーク104内の様々なスイッチに1つに位置するスイッチ障害110、ネットワーク104内の様々なリンクの1つに位置するリンク障害112、ネットワーク104内の様々なスイッチの1つにおけるコントロール障害114)を被る余地のあるネットワークに対する計算上の課題は、以下の式のように表現され得る。
Figure 0006527584
[0063]式(1)を用いると、n=1000(例えば、大規模なネットワーク内の妥当なリンク数)かつk=3の場合、最大で3個の障害がネットワークコンポーネントにわたって発生する、異なる組み合わせの数は10より多い。このことは解決するために大量の計算上のオーバーヘッドを必要とする。
[0064]計算モジュール410は、可能性のある障害の異なる組み合わせに関連した多数の制約を「有界M和」問題(例えば、N個の変数の内任意のM個の合計が有界である)に変換することにより計算上のオーバーヘッドを削減するように構成される。したがって、問題中の多数の制約は、最大、または最小のM個の変数上の単一の制約に削減され得る。計算モジュール410は、本明細書でさらに議論されるように、Ο(kn)線形束縛条件として有界M和問題を効率的に符号化するためにソーティングネットワーク手法を使用することができる。計算モジュール410は、以下に基づき可能性のある障害の異なる組み合わせをモデル化する。
(i)スイッチング装置が新しい構成で更新することに失敗した場合(例えば、コントロール障害)、スイッチング装置は古い構成を使用し、(ii)リンクが故障した場合(例えば、リンク障害)、入口スイッチング装置は決定論的にトラフィックを再調整する(例えば、比例再調整)。
[0065]本明細書で提供される説明は、トラフィックエンジニアリング(TE)に関連した実装例に於いて障害からネットワークを保護するために障害処理サービス102を使用する。
表1は、ネットワークのトラフィックエンジニアリングに関連して使用される表記法を提供する。
Figure 0006527584
Figure 0006527584
[0066]このように、トラフィックエンジニアリング実装に於ける障害処理サービス102への入力は、グラフG=(V,E)であり、ここで、Vはスイッチング装置の集合であり、Eは、それぞれの直接リンクが2つのスイッチング装置間に確立される直接リンクの集合である。グラフGは、監視モジュール408により決定され、かつ記憶されるネットワークトポロジの少なくとも一部を表す。E内の各リンクeは、容量c(例えば、図2および図3の例の中で提供されるように所定の容量、例えば10ユニット)を有することができる。計算モジュール410は、各フローfが、入口スイッチング装置から出口スイッチング装置に伝達されるトラフィックの集合であるフローの集合としてネットワーク上のトラフィック要求を表す。トラフィックエンジニアリング(TE)間隔内の帯域幅要求fは、dであり、かつトラフィックは、事前に確立されたトンネル集合Tに分散させられ得る。
[0067]この実装例では、計算モジュール410は、各フローの出力帯域幅割当{b|∀f}および各トンネルを通過するできるフロー量{af,t|∀f,t∈T}を計算するように構成される。計算モジュール410は、帯域幅割当、例えば、DCNまたはWANに対して、以下のような経路制約のある多品種フロー問題に基づき解決する(例えば、計算する)ことができる。
max Σf∈F 式(2)
Figure 0006527584
Figure 0006527584
∀f∈F、t∈T: 0≦b≦d;0≦af,t 式(5)
[0068]式(2)は、ネットワークスループットを最大化するように定式化される。式(3)は、ネットワーク内のリンクが過負荷になるべきでないことを示す。式(3)に於いて、l[t,e]は、トンネルtがリンクeを通過するか否かを示すバイナリ変数である。式(3)は、トンネルにまたがったフローの割当の合計が、フローに割り当てられたレート未満とならないことを示す。式(4)は、フローに許可された帯域幅がフローの要求を超えることがないこと、および変数が負ではないことを示す。幾つかの実装では、計算モジュール410は、フローおよび入口スイッチが式(6)で提供されるトラフィック配分重み付けを使用するように、それらのレートリミッター{b}を更新することができる。
Figure 0006527584
[0069]様々な実施形態に於いて、コントロールプレーン障害(例えば、コントロール障害114)をモデル化するために、計算モジュール410は、kまたはより少ないスイッチング装置が古い構成({b’},{a’f,t})を更新することに失敗しない限り、例えば、リンクに於いて、輻輳が発生しないように、新しい構成({b},{af,t})を計算する。本明細書で使用されるように、(i)λ=1は入口スイッチvでフローの少なくとも1つに対する構成失敗を示し、(ii)λ=0は入口スイッチに於いて開始されるすべてのフローに対する構成が成功していることを示す。計算モジュール410は、各スイッチング装置の状態を示すベクトルλ=[λ│v∈V]によりネットワーク内のコントロールプレーン障害を表すことができる。したがって、計算されたネットワーク構成が、k障害に対して堅牢であることを保証するために、ネットワークは、式(7)により表わされる一群の状況下で過負荷リンクを有することはできない。
Figure 0006527584
[0070]計算モジュール410は、式(8)に示すように、式(7)の必要条件を捕捉することができる。
Figure 0006527584
[0071]式(8)に於いて、
Figure 0006527584
は、式(9)に表されるようになんらの構成の障害もない場合に、スイッチング装置vに於いて開始されるフローから、リンクeに到着し得る総トラフィックである。
Figure 0006527584
[0072]式(9)に於いて、s[t,v]はトンネルtに対する発信元スイッチング装置がvであるか否かを示すバイナリ変数である。
[0073]式(8)に於いて、
Figure 0006527584
は、障害発生(例えば、λ=1)時の、vに於いて開始されるフローからのリンクeのトラフィックの上界であり、以下の式(10)のように表され得る。
Figure 0006527584
[0074]式(10)に於いて、βf,tは、障害がfに対して発生する場合のトンネルt上のフローのトラフィックの上界である。レートリミッター内の更新が成功した場合の例では、βf,tは以下の式(11)のようにモデル化され得る。
∀f∈F,t∈T:βf,t=max{w’f,t,af,t} 式(11)
[0075]式(11)に於いて、w’f,tは、(例えば、監視モジュール408により知られるまたは観察され得る)古い構成に於けるトンネルtに対するフローの配分の重み付けである。
[0076]したがって、式(8〜11)を使用して、計算モジュール410は、kコントロールプレーン障害に対して堅牢であるTE構成を見出すことができる。別な言い方をすれば、ネットワークは、ネットワーク輻輳(例えば、リンクがその容量を超過する)を引き起こすことなくk個のコントロールプレーン障害までを処理することができる。
[0077]様々な実施形態に於いて、データプレーン障害(例えば、スイッチ障害110またはリンク障害112)をモデル化するために、計算モジュール410は、(i)故障したリンク数がk以下であり、(ii)故障したスイッチング装置がk以下である限り、輻輳が発生しないようにフロー割当を計算する。これは、故障したスイッチング装置に付随しないリンク障害に対して適用することができる。計算モジュール410は、スイッチング装置が多数の付随するリンクを有することから、スイッチング装置障害およびリンク障害を別個に考慮することができる。故障しているリンクeは、μ=1として示され、また、スイッチ障害はη=1として示され得る。前記の文章中の変数は、リンクまたはスイッチが故障していない場合ゼロとなろう。次いで、計算モジュール410は、ベクトル(μ,η)としてデータプレーン障害を表すことができ、ここで、ベクトルμ=[μ│e∈E]、またベクトルη=[η│v∈V]である。トラフィックエンジニアリング構成がk個のリンク障害およびk個のスイッチ障害に対して堅牢であることを保証するためには、式(12)により指定されるようなハードウェア障害の場合の集合のもとで過負荷リンクがないことが必要である。
Figure 0006527584
[0078]データプレーン障害は、入口スイッチング装置がトラフィックを再調整する(例えば、影響を受けたトンネルから残余のトンネルへトラフィックを移動する)場合、それらの障害が、ネットワーク上のトラフィック配分を変更することから輻輳を引き起こす可能性がある。したがって、障害のケース(μ,η)が与えられると、計算モジュール410は、故障したリンクおよび/または故障したスイッチを通過しない各フローfの残余のトンネル
Figure 0006527584
を知り、かつフローfの残余のトンネルは、式(13)により表されるように割り当てられたレートを保持することを可能としなければならない。
Figure 0006527584
[0079]フローfが故障ケース(μ,η)のもとで残余のトンネルを有しない状況、例えば、
Figure 0006527584
、では、フローの大きさbfはゼロに固定され得る。したがって、式(13)はいずれのリンクも過負荷ではないことを保証する。
[0080]式(13)を見ると、残余のトンネルの数が増加すると、ネットワークスループットもまた増加する。このように、様々な実施形態では、ネットワークトポロジは、(例えば、障害処理サービス、別のトラフィックエンジニアリングコントローラなどにより)、障害が発生した場合に、フローに対するトンネルの喪失(例えば、トンネル喪失の数)が最小化されるように、トンネルを割付することによりネットワークスループットを改善するように構成され得る。例えば、ネットワークは、個別のフローに対して、最大でp本のトンネルがリンクを通過し、かつ最大でq本のトンネルがスイッチング装置を通過することができるように、(p,q)リンク−スイッチの互いに素なトンネルに基づき構成され得る。パラメータpおよびqは、障害処理サービス102および/またはトラフィックエンジニアリングコントローラにより定義され、かつフロー固有であり得る。
[0081]上述のように、ネットワークに対する可能性のある障害の異なる組み合わせをモデル化する結果生じる多数の制約を解決するために、計算モジュール410は、有界M和問題に制約を変換し、次いでソーティングネットワークを使用して、有界M和問題を符号化するように構成される。有界M和問題は、N個の変数集合が与えられると、それらの変数の任意のM個の総計が境界Bより少ないか、または境界Bより大きくなければならないというように定義され得る。したがって、Nが、濃度M以下であるすべての変数サブセットの集合である場合、有界M和問題は、以下の式(14)で表され得る。
Figure 0006527584
[0082]式(14)に於いて、Sは、異なる可能性のある障害の組み合わせを表す。nがN個の中でj番目に大きい変数に対する式である場合、すべての上記の制約は、次式の場合に保持される。
Figure 0006527584
[0083]したがって、計算モジュール410は、N個中の最大のM個の変数に対する効率的な(一次)式を発見することができ、したがって、計算モジュール410は、元の制約(例えば、多数の制約)をより効率的に解決され得る削減された数の制約(例えば、1つの制約)で置き換えることができる。
[0084]コントロールプレーン障害の場合には、式(8)は、制約を有界M和問題に変換するために式(16)のように書き換えられ得る。
Figure 0006527584
[0085]
Figure 0006527584
、D中でj番目に大きい要素であるdを用いて、かつ
Figure 0006527584
であることから、式(16)は、以下の式(17)と等価である。
Figure 0006527584
[0086]したがって、計算モジュール410は、元の
Figure 0006527584
の制約を│E│の制約(例えば、各リンクごとに1つ)に変換するために式(16)および式(17)を使用することができる。
[0087]データプレーン障害の場合には、フローfのトンネルは、(p,q)互いに素なリンク−スイッチとして表され得る。したがって、データプレーン障害のケース
Figure 0006527584
に対して、残余のトンネルの数は、τ=│T│−k−k未満ではない。
Figure 0006527584
がA={af,t│t∈T}内のj番目の最小要素である場合、式(18)は式(13)内のすべての制約が満足されることを保証する。
Figure 0006527584
[0088]計算モジュール410は、式(18)内の左辺が、フローfが
Figure 0006527584
内の任意のケースのもとでフローの残余のトンネルから得ることができる、最悪の場合の帯域幅割当であることから、すべての制約が満足されることを保証することができる。
[0089]次いで、計算モジュール410は、ソーティングネットワークに基づき一次制約として最大のM個の変数を表す。ソーティングネットワークは、任意のN値の配列をソートすることができる比較−入替え演算子のネットワークである。4つの入力値702(例えば、x1=6、x2=8、x3=4、x4=9)をソートするソーティングネットワーク例700が、図7に示される。このネットワーク例700は、各比較−入替え演算子が左から2つの入力を取り、2つの入力を比較し、かつ2つの入力の内の大きいものを上方に、2つの入力の内の小さいものを下方に移動するソート・マージアルゴリズムに基づいている。ソーティングネットワークの特性は、比較−入替え演算子のシーケンスが、入力と独立に実装されることである。この特性は、計算モジュール410が最大の変数から最小の変数までのそれぞれに対して一次式として計算を符号化することを可能とする。したがって、ネットワーク例700の出力704(例えば、y1、y2、y3、y4)はソートされた順番(例えば、9>8>6>4)となる。
[0090]最大のM個の変数はソートされるべきであることから、計算モジュール410は、Ο(NM)演算子を有する部分ネットワークを使用することができる。様々な実施形態に於いて、計算モジュール410は、最大のM個の値を生み出すステージ数の後終了するバブルソートを使用してソーティングネットワークを実装することができる。
実装例
[0091]実装A、ネットワークの少なくとも一部に対する所定の最大障害数を決定するステップと、ネットワークの少なくとも一部の1つまたは複数のフローを決定するステップと、1つまたは複数のハードウェアプロセッサにより、少なくとも部分的には所定の最大障害数に基づき、ネットワークの少なくとも一部に対する1つまたは複数の障害の異なる組み合わせのモデルを生成するステップと、少なくとも部分的には、モデルに基づき、1つまたは複数のフロー中の個別のフローに対して、少なくともネットワークの一部内に発生する実際の障害数が所定の最大障害数以下である場合、輻輳が回避されるように、1つまたは複数の個別の経路を介して伝達されるべきトラフィック量を計算するステップと、1つまたは複数のフロー中の個別のフローに対して、少なくとも部分的には、1つまたは複数の個別の経路上で伝達されるべきトラフィック量に基づきネットワークの少なくとも一部内にトラフィックを配分させるステップと、を含む方法。
[0092]実装B、1つまたは複数のフローが個別に発信元装置から宛先装置へトラフィックを伝達し、かつ1つまたは複数のフローがネットワークトポロジを通過する実装Aの方法であって、ネットワークトポロジが、ネットワークの少なくとも一部内の複数の装置および複数の装置間の複数のリンクの配置と、所定の最大障害数が超過しない限り、複数のリンク中の個別のリンクの容量が超過しないことを計算が保証する、複数のリンク中の個別のリンクに対する容量と、を表す実装Aの方法。
[0093]実装C、追加のトラフィックが最大障害数以下の発生に応答して到着する場合、容量が超過することがないように、1つまたは複数の個別の経路を介して伝達されるべきトラフィック量を計算するステップが、複数のリンク中の個別のリンク上で利用可能な帯域幅を提供する、実装Bの方法。
[0094]実装D、さらに、1つまたは複数の障害の異なる組み合わせをモデル化するためにネットワークの少なくとも一部のネットワークトポロジを観察するステップを含む、実装Aまたは実装Bの方法。
[0095]実装E、モデルがネットワークの少なくとも一部に対する1つまたは複数の障害の異なる組み合わせに関連した第1の数の制約を含み、方法がさらに、1つまたは複数の個別の経路を介して伝達されるべきトラフィック量を計算するステップに先立ってソーティングネットワークを使用して制約の第1の数より少ない制約の第2の数に制約の第1の数を削減するステップを含む、実装Aから実装Dのいずれか1つの方法。
[0096]実装F、所定の最大障害数が、1つまたは複数のスイッチング装置が現在の構成を古い構成から新しい構成に更新することに失敗する、または現在の構成を古い構成から新しい構成に更新することに遅延するコントロール障害に関連付けられる、実装Aから実装Eのいずれか1つの方法。
[0097]実装G、所定の最大障害数が、1つまたは複数のスイッチング装置がトラフィックを伝達することに失敗し、かつ伝達できないスイッチ障害に関連付けられる、実装Aから実装Eのいずれか1つの方法。
[0098]実装H、所定の最大障害数が、1つまたは複数のリンクがトラフィックを伝達することに失敗し、かつ伝達できないリンク障害に関連付けられる、実装Aから実装Eのいずれか1つの方法。
[0099]実装I、トラフィックを個別のフローに対するネットワークの少なくとも一部に配分させるステップが、1つまたは複数のスイッチング装置に配分命令を発出するステップを含む、実装Aから実装Hのいずれか1つの方法。
[00100]実装J、1つまたは複数のプロセッサにより実行される時、ネットワークの少なくとも一部に対する所定の最大障害数を決定するステップと、1つまたは複数の個別のリンクに対して、ネットワークの少なくとも一部内の1つまたは複数のリンクに対する通信容量を決定し、ネットワーク内で実際に発生する障害数が所定の最大障害数以下である限り、個別のリンクが通信容量を超過することがないように、ネットワークの少なくとも一部に対するトラフィック構成を計算するステップと、少なくとも部分的にはトラフィック構成に基づきネットワークの少なくとも一部を構成するステップとを行うために、1つまたは複数のプロセッサをプログラミングする、コンピュータ実行可能な命令を記憶する1つまたは複数のコンピュータ記憶媒体。
[00101]実装K、実行可能な命令がさらに、少なくとも部分的には、ネットワークの少なくとも一部のトポロジおよび所定の最大障害数に基づき可能性のある障害の異なる組み合わせのモデルを生成するステップであって、該モデルがネットワークの少なくとも一部に対する可能性のある障害の異なる組み合わせに関連付けられた第1の数の制約を含む、ステップと、ネットワークの少なくとも一部に対するトラフィック構成を計算するステップに先立ち、ソーティングネットワークを使用して制約の第1の数未満の制約の第2の数に制約の第1の数を削減するステップとを行うために、1つまたは複数のプロセッサをプログラミングする、実装Jの1つまたは複数のコンピュータ記憶媒体。
[00102]実装L、所定の最大障害数が、1つまたは複数のスイッチング装置が現在の構成を古い構成から新しい構成に更新することに失敗する、または現在の構成を古い構成から新しい構成に更新することに遅延する、コントロール障害に関連付けられる、実装Jまたは実装Kの1つまたは複数のコンピュータ記憶媒体。
[00103]実装M、所定の最大障害数が、1つまたは複数のスイッチング装置がトラフィックを伝達することに失敗し、かつ伝達できないスイッチ障害に関連付けられる、実装Jまたは実装Kの1つまたは複数のコンピュータ記憶媒体。
[00104]実装N、所定の最大障害数が、1つまたは複数のリンクがトラフィックを伝達することに失敗し、かつ伝達できないリンク障害に関連付けられる、実装Jまたは実装Kの1つまたは複数のコンピュータ記憶媒体。
[00105]実装O、1つまたは複数のプロセッサと、1つまたは複数のメモリと、1つまたは複数のメモリ上に記憶される計算モジュールであって、ネットワークトポロジにアクセスするステップと、ネットワークの少なくとも一部で実際に発生する障害数が所定の許容される障害の最大数以下である限り、ネットワークの少なくとも一部内の個別のリンクが通信容量を超過することがないように、少なくとも部分的には、ネットワークトポロジに基づき、ネットワークの少なくとも一部に対するトラフィック構成を計算するステップとを行うために、1つまたは複数のプロセッサにより実行される計算モジュールと、1つまたは複数のメモリ上に記憶される構成モジュールであって、少なくとも部分的には、計算されたトラフィック構成に基づきネットワークを構成するステップを行うために、1つまたは複数のプロセッサにより実行される構成モジュールと、を含む1つまたは複数の装置。
[00106]実装P、所定の最大障害数が、1つまたは複数のスイッチング装置が現在の構成を古い構成から新しい構成に更新することに失敗する、または現在の構成を古い構成から新しい構成に更新することに遅れるコントロール障害に関連付けられる、実装Oの1つまたは複数の装置。
[00107]実装Q、所定の最大障害数が、1つまたは複数のスイッチング装置がトラフィックを伝達することに失敗し、かつ伝達できないスイッチ障害に関連付けられる、実装Oの1つまたは複数の装置。
[00108]実装R、所定の最大障害数が、1つまたは複数のリンクがトラフィックを伝達することに失敗し、かつ伝達できないリンク障害に関連付けられる、実装Oの1つまたは複数の装置。
[00109]実装S、計算モジュールが、少なくとも部分的には、ネットワークトポロジおよび所定の最大障害数に基づき可能性のある障害の異なる組み合わせのモデルを生成するステップであって、モデルが、ネットワークの少なくとも一部に対する可能性のある障害の異なる組み合わせに関連した第1の数の制約を含む、ステップと、トラフィック構成を計算するステップに先立ちソーティングネットワークを使用して制約の第1の数未満である制約の第2の数に制約の第1の数を削減するステップとをさらに行う、実装OからRのいずれか1つの中の1つまたは複数の装置。
[00110]実装T、構成モジュールが、1つまたは複数のスイッチング装置にフロー配分の重み付けを提供することによりネットワークを構成する、実装OからSのいずれか1つの中の1つまたは複数の装置。
結論
[00111]本開示は、構造的特徴および/または方法論的動作に固有の言語を使用することができるが、本発明は、本明細書に記載された特定の特徴または動作に限定されるものではない。むしろ、特定の特徴および動作は、本発明の例示的な形態として開示されるものである。

Claims (20)

  1. ネットワークの少なくとも一部についての障害の所定の最大数を求めるステップと、
    前記ネットワークの前記少なくとも一部のトポロジを求めるステップと、
    前記ネットワークの前記少なくとも一部の1つまたは複数のフローを求めるステップと、
    障害の前記所定の最大数および前記ネットワークの前記少なくとも一部の前記トポロジに少なくとも部分的に基づき、1つまたは複数のハードウェアプロセッサが、前記ネットワークの前記少なくとも一部についての1つまたは複数の障害の様々な組み合わせのモデルを生成するステップであって、前記モデルは前記ネットワークの前記少なくとも一部についての前記1つまたは複数の障害の前記様々な組み合わせに関連した第1の数の制約を含む、ステップと、
    前記モデルにおける前記第1の数の制約を、前記第1の数の制約よりも少ない第2の数の制約に、ソーティングネットワークを使用して削減するステップと、
    前記モデルに少なくとも部分的に基づき、前記1つまたは複数のフローのうちの個別のフローについて、1つまたは複数の経路のうちの個別の経路を介して伝達されるトラフィックの量を、前記ネットワークの前記少なくとも一部において発生する実際の障害の数が障害の前記所定の最大数以下である場合に輻輳が回避されるように計算するステップと、
    前記1つまたは複数のフローのうちの個別のフローについて、前記ネットワークの前記少なくとも一部において配分されるトラフィックを、前記1つまたは複数の経路のうちの前記個別の経路を介して伝達されるトラフィックの前記量に少なくとも部分的に基づき生じさせるステップと
    を含む方法。
  2. 請求項1に記載の方法であって、前記1つまたは複数のフローは、トラフィックを発信元装置から宛先装置まで個別に伝達し、前記1つまたは複数のフローは前記トポロジの少なくとも一部を通過し、前記トポロジは、
    前記ネットワークの前記少なくとも一部における複数のデバイスおよび前記複数のデバイス間の複数のリンクの配置と、
    前記複数のリンクのうちの個別のリンクについての容量であって、前記計算は、前記複数のリンクのうちの個別のリンクの前記容量が、障害の前記所定の最大数を超過しない限り超過しないことを保証する、前記複数のリンクのうちの個別のリンクについての容量と
    を表す、方法。
  3. 請求項2に記載の方法であって、前記1つまたは複数の経路のうちの前記個別の経路を介して伝達されるトラフィックの前記量の前記計算は、前記複数のリンクのうちの個別のリンクに関する帯域幅の利用可能性を、前記容量が、障害の前記所定の最大数未満の発生に応答して追加のトラフィックが到着した場合に超過しないように提供する、方法。
  4. 請求項1に記載の方法であって、障害の前記所定の最大数はコントロール障害に関連付けられ、該コントロール障害において、1つまたは複数のスイッチング装置は、現在の構成を古い構成から新しい構成に更新することに失敗するか、または、前記現在の構成を前記古い構成から前記新しい構成に更新することに遅延する、方法。
  5. 請求項1に記載の方法であって、障害の前記所定の最大数はスイッチ障害に関連付けられ、該スイッチ障害において、1つまたは複数のスイッチング装置はトラフィックを伝達することに失敗しかつ伝達できない、方法。
  6. 請求項1に記載の方法であって、障害の前記所定の最大数はリンク障害に関連付けられ、該リンク障害において、1つまたは複数のリンクはトラフィックを伝達することに失敗しかつ伝達できない、方法。
  7. 請求項1に記載の方法であって、個別のフローについて前記ネットワークの前記少なくとも一部において配分されるトラフィックを生じさせる前記ステップは、配分命令を1つまたは複数のスイッチング装置に発行するステップを含む、方法。
  8. 請求項1に記載の方法であって、前記ネットワークの前記少なくとも一部において配分されるトラフィックを生じさせる前記ステップは、フロー配分重みを1つまたは複数のスイッチング装置に提供するステップを含む、方法。
  9. 1つまたは複数のプロセッサと、
    命令を記憶する1つまたは複数のメモリと
    を備えたシステムであって、前記命令は、前記1つまたは複数のプロセッサに、
    ネットワークの少なくとも一部についての障害の所定の最大数を求めるステップと、
    前記ネットワークの前記少なくとも一部のトポロジであって、前記ネットワークの前記少なくとも一部における1つまたは複数のリンクのうちの個別のリンクについての通信容量を含むトポロジを求めるステップと、
    前記ネットワークの前記少なくとも一部の前記トポロジおよび障害の前記所定の最大数に少なくとも部分的に基づき、可能性ある障害の様々な組み合わせのモデルを生成するステップであって、前記モデルは可能性ある障害の前記様々な組み合わせに関連した第1の数の制約を含む、ステップと、
    前記モデルに含まれる前記第1の数の制約を、前記第1の数の制約よりも少ない第2の数の制約に、ソーティングネットワークを使用して削減するステップと、
    前記モデルに少なくとも部分的に基づき、前記ネットワークの前記少なくとも一部についてのトラフィック構成を、前記ネットワークにおいて実際に発生する障害の数が障害の前記所定の最大数以下である限り、個別のリンクが前記通信容量を超過しないように計算するステップと、
    前記ネットワークの前記少なくとも一部を、前記トラフィック構成に少なくとも部分的に基づき構成するステップと
    を実行させる、システム。
  10. 請求項9に記載のシステムであって、障害の前記所定の最大数はコントロール障害に関連付けられ、該コントロール障害において、1つまたは複数のスイッチング装置は、現在の構成を古い構成から新しい構成に更新することに失敗するか、または、前記現在の構成を前記古い構成から前記新しい構成に更新することに遅延する、システム。
  11. 請求項9に記載のシステムであって、障害の前記所定の最大数はスイッチ障害に関連付けられ、該スイッチ障害において、1つまたは複数のスイッチング装置はトラフィックを伝達することに失敗しかつ伝達できない、システム。
  12. 請求項9に記載のシステムであって、障害の前記所定の最大数はリンク障害に関連付けられ、該リンク障害において、前記1つまたは複数のリンクのうちの少なくとも1つはトラフィックを伝達することに失敗しかつ伝達できない、システム。
  13. 請求項9に記載のシステムであって、前記命令は、前記1つまたは複数のプロセッサに、前記ネットワークの前記少なくとも一部を、フロー配分重みを1つまたは複数のスイッチング装置に提供することによって構成させる、システム。
  14. 請求項9に記載のシステムであって、前記トラフィック構成の前記計算は、前記個別のリンクについての帯域幅の利用可能性を、前記個別のリンクが、障害の前記所定の最大数未満の発生に応答して追加のトラフィックが到着した場合に前記通信容量を超過しないように提供する、システム。
  15. 1つまたは複数のプロセッサと、
    命令を記憶する1つまたは複数のメモリと
    を備えた1つまたは複数の装置であって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数の装置に、
    ネットワークのトポロジにアクセスするステップと、
    前記ネットワークのトポロジおよび障害の所定の最大数に少なくとも部分的に基づき、可能性ある障害の様々な組み合わせのモデルを生成するステップであって、前記モデルは可能性ある障害の前記様々な組み合わせに関連した第1の数の制約を含む、ステップと、
    前記モデルにおける前記第1の数の制約を、前記第1の数の制約よりも少ない第2の数の制約に、ソーティングネットワークを使用して削減するステップと、
    前記ネットワークのトポロジに少なくとも部分的に基づき、ネットワークの少なくとも一部についてのトラフィック構成を、前記ネットワークの前記少なくとも一部において実際に発生する障害の数が障害の前記所定の最大数以下である限り、前記ネットワークの前記少なくとも一部における個別のリンクが通信容量を超過しないように計算するステップと、
    前記ネットワークを、計算された前記トラフィック構成に少なくとも部分的に基づき構成するステップと
    を実行させる、1つまたは複数の装置。
  16. 請求項15に記載の1つまたは複数の装置であって、障害の前記所定の最大数はコントロール障害に関連付けられ、該コントロール障害において、1つまたは複数のスイッチング装置は、現在の構成を古い構成から新しい構成に更新することに失敗するか、または、前記現在の構成を前記古い構成から前記新しい構成に更新することに遅延する、1つまたは複数の装置。
  17. 請求項15に記載の1つまたは複数の装置であって、障害の前記所定の最大数はスイッチ障害に関連付けられ、該スイッチ障害において、1つまたは複数のスイッチング装置はトラフィックを伝達することに失敗しかつ伝達できない、1つまたは複数の装置。
  18. 請求項15に記載の1つまたは複数の装置であって、障害の前記所定の最大数はリンク障害に関連付けられ、該リンク障害において、1つまたは複数のリンクはトラフィックを伝達することに失敗しかつ伝達できない、1つまたは複数の装置。
  19. 請求項15に記載の1つまたは複数の装置であって、前記ネットワークを構成するステップは、フロー配分重みを1つまたは複数のスイッチング装置に提供するステップを含む、1つまたは複数の装置。
  20. 請求項15に記載の1つまたは複数の装置であって、前記命令は、前記1つまたは複数の装置を、前記個別のリンクについての帯域幅の利用可能性を、前記個別のリンクが、障害の前記所定の最大数未満の発生に応答して追加のトラフィックが到着した場合に前記通信容量を超過しないように提供するように更に構成する、1つまたは複数の装置。
JP2017516261A 2014-06-06 2015-06-04 積極的ネットワーク障害処理 Active JP6527584B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/298,820 US9602351B2 (en) 2014-06-06 2014-06-06 Proactive handling of network faults
US14/298,820 2014-06-06
PCT/US2015/034088 WO2015187893A1 (en) 2014-06-06 2015-06-04 Proactive handling of network faults

Publications (3)

Publication Number Publication Date
JP2017518720A JP2017518720A (ja) 2017-07-06
JP2017518720A5 JP2017518720A5 (ja) 2018-07-12
JP6527584B2 true JP6527584B2 (ja) 2019-06-05

Family

ID=53499072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017516261A Active JP6527584B2 (ja) 2014-06-06 2015-06-04 積極的ネットワーク障害処理

Country Status (6)

Country Link
US (1) US9602351B2 (ja)
EP (1) EP3152867B1 (ja)
JP (1) JP6527584B2 (ja)
KR (1) KR102342063B1 (ja)
CN (1) CN106464531B (ja)
WO (1) WO2015187893A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693705B2 (en) 2016-03-23 2020-06-23 Arista Networks, Inc. Show command service aka CLI relay
US10187286B2 (en) * 2016-05-23 2019-01-22 Arista Networks, Inc. Method and system for tracking network device information in a network switch
US10917284B2 (en) 2016-05-23 2021-02-09 Arista Networks, Inc. Method and system for using an OpenConfig architecture on network elements
US10812318B2 (en) * 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US20180351788A1 (en) 2017-05-31 2018-12-06 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
KR102364386B1 (ko) * 2017-11-30 2022-02-17 재단법인대구경북과학기술원 사이버 물리 시스템의 전자 장치 및 제어 방법
US11051230B2 (en) * 2018-08-22 2021-06-29 Bae Systems Information And Electronic Systems Integration Inc. Wireless resilient routing reconfiguration linear program
US11178018B2 (en) 2018-09-28 2021-11-16 Arista Networks, Inc. Method and system for managing real network systems using simulation results
US11251245B1 (en) * 2019-01-21 2022-02-15 Xsight Labs Ltd. Responding to a failure of a main die of a switch data-plane device
US10880166B2 (en) 2019-02-21 2020-12-29 Arista Networks, Inc. Multi-cluster management plane for network devices
KR102287151B1 (ko) 2019-11-07 2021-08-05 데니스 아나톨예비치 필라트 배터리 충전 시스템
KR102330486B1 (ko) 2019-11-11 2021-11-23 마리아 메이 리 마스크에 탈부착 가능한 탈부착 모듈
US11057275B1 (en) 2020-09-18 2021-07-06 Arista Networks, Inc. Method and system for achieving high availability of a primary network controller in a network controller cluster using distributed network device state information
CN115933565B (zh) * 2022-12-23 2023-10-20 广东职业技术学院 一种agv任务交换方法、装置、系统和介质

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537580A (en) 1994-12-21 1996-07-16 Vlsi Technology, Inc. Integrated circuit fabrication using state machine extraction from behavioral hardware description language
CA2161847A1 (en) 1995-10-31 1997-05-01 Wayne D. Grover Method for preconfiguring a network to withstand anticipated failures
US6078741A (en) 1997-02-05 2000-06-20 Firsttel Systems Corporation Automatic generation of reconfiguration scripts for telecommunication devices
US6724722B1 (en) 1999-03-19 2004-04-20 Lucent Technologies Inc. Managing congestion and potential traffic growth in an information network
GB2362481B (en) * 2000-05-09 2004-12-01 Rolls Royce Plc Fault diagnosis
US7073143B1 (en) 2000-11-06 2006-07-04 Cadence Design Systems, Inc. Solving constraint satisfiability problem for circuit designs
US20020130872A1 (en) 2001-03-15 2002-09-19 Elena Novikova Methods and systems for conflict resolution, summation, and conversion of function curves
US7415038B2 (en) 2001-03-29 2008-08-19 International Business Machines Corporation Method and system for network management providing access to application bandwidth usage calculations
US20030014644A1 (en) 2001-05-02 2003-01-16 Burns James E. Method and system for security policy management
WO2003014927A2 (en) 2001-08-08 2003-02-20 Trivium Systems Inc. Scalable messaging platform for the integration of business software components
US20030106062A1 (en) 2001-12-05 2003-06-05 Koninklijke Philips Electronics N.V. Home network environment as a state machine
US7221945B2 (en) 2002-05-03 2007-05-22 Leapstone Systems, Inc. System and method for establishing and controlling access to network resources
US7324981B2 (en) 2002-05-16 2008-01-29 Microsoft Corporation System and method of employing efficient operators for Bayesian network search
US7552205B2 (en) 2002-05-21 2009-06-23 Accenture Global Services Gmbh Distributed transaction event matching
US8140569B2 (en) 2003-05-29 2012-03-20 Microsoft Corporation Dependency network based model (or pattern)
GB0301707D0 (en) * 2003-01-24 2003-02-26 Rolls Royce Plc Fault diagnosis
US7610386B1 (en) 2003-04-29 2009-10-27 Blue Titan Software, Inc. Stateful messaging gateway
US7539741B2 (en) 2003-04-30 2009-05-26 Nokia Siemens Networks Oy System, apparatus and method for supporting constraint based routing for multi-protocol label switching traffic engineering in policy-based management
US7680055B1 (en) * 2003-09-26 2010-03-16 At&T Intellectual Property Ii, L.P. Method and apparatus for increasing survivability in IP networks
US20050076339A1 (en) 2003-10-03 2005-04-07 Nortel Networks Limited Method and apparatus for automated negotiation for resources on a switched underlay network
US8312145B2 (en) 2003-12-22 2012-11-13 Rockstar Consortium US L.P. Traffic engineering and bandwidth management of bundled links
US7564780B2 (en) 2004-01-15 2009-07-21 Fujitsu Limited Time constrained failure recovery in communication networks
US8146160B2 (en) 2004-03-24 2012-03-27 Arbor Networks, Inc. Method and system for authentication event security policy generation
US7558215B2 (en) 2004-09-24 2009-07-07 Alcatel-Lucent Usa Inc. Method for optimizing the frequency of network topology parameter updates
US7796500B1 (en) 2004-10-26 2010-09-14 Sprint Communications Company L.P. Automated determination of service impacting events in a communications network
JP4438064B2 (ja) 2004-11-15 2010-03-24 キヤノン株式会社 データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US7469392B2 (en) 2004-12-09 2008-12-23 Synopsys, Inc. Abstraction refinement using controllability and cooperativeness analysis
US8494539B1 (en) 2005-06-30 2013-07-23 Alcatel Lucent Congestion management in radio access networks
US7426524B2 (en) 2005-09-27 2008-09-16 International Business Machines Corporation Update processes in an enterprise planning system
US7746784B2 (en) 2006-03-23 2010-06-29 Alcatel-Lucent Usa Inc. Method and apparatus for improving traffic distribution in load-balancing networks
US7539133B2 (en) 2006-03-23 2009-05-26 Alcatel-Lucent Usa Inc. Method and apparatus for preventing congestion in load-balancing networks
US7769727B2 (en) 2006-05-31 2010-08-03 Microsoft Corporation Resolving update-delete conflicts
WO2008009235A1 (en) 2006-07-12 2008-01-24 Huawei Technologies Co., Ltd. Method for controlling congestion
US8135990B2 (en) * 2006-08-11 2012-03-13 Opnet Technologies, Inc. Multi-variate network survivability analysis
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US7853675B2 (en) 2007-03-02 2010-12-14 International Business Machines Corporation Automatically enforcing change control in operations performed by operational management products
US7730364B2 (en) * 2007-04-05 2010-06-01 International Business Machines Corporation Systems and methods for predictive failure management
US7873592B2 (en) 2007-04-20 2011-01-18 Microsoft Corporation Type inference for object-oriented languages
US20080271022A1 (en) 2007-04-27 2008-10-30 Motorola, Inc. Utilizing graphs to detect and resolve policy conflicts in a managed entity
CN101304350B (zh) 2007-05-11 2013-02-13 华为技术有限公司 访问家庭网络设备的方法、系统和家庭网络接入设备
US8117606B2 (en) 2007-06-04 2012-02-14 Infosys Technologies Ltd. System and method for application migration in a grid computing environment
WO2009012019A1 (en) 2007-07-18 2009-01-22 Bobby Ninan Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency
EP2073478B1 (en) 2007-12-20 2011-11-16 Electronics and Telecommunications Research Institute Encryption communication apparatus and method for controlling transfer period of key resynchronization information
US8447859B2 (en) 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
JP2011514586A (ja) 2008-02-08 2011-05-06 エクリオ インコーポレイテッド デジタル電子デバイス上の複数のアプリケーションおよびサービスを制御するためのシステム、方法、ならびに装置
US9098479B2 (en) 2008-02-15 2015-08-04 Edyt Inc. Methods and apparatus for improved navigation among controlled terms in one or more user documents
US8191075B2 (en) 2008-03-06 2012-05-29 Microsoft Corporation State management of operating system and applications
US8140461B2 (en) 2008-03-24 2012-03-20 Hewlett-Packard Development Company, L.P. System and method for identifying conflicting network access rules and creating a resolved consequence
US8086701B2 (en) 2008-04-28 2011-12-27 Microsoft Corporation Platform for managing and configuring network state
US8374987B2 (en) 2008-06-30 2013-02-12 Sap Ag Stateful, continuous evaluation of rules by a state correlation engine
CN102160359B (zh) 2008-09-18 2015-07-08 皇家飞利浦电子股份有限公司 控制系统的方法和信号处理系统
US7996719B2 (en) * 2008-10-24 2011-08-09 Microsoft Corporation Expressing fault correlation constraints
US7839789B2 (en) * 2008-12-15 2010-11-23 Verizon Patent And Licensing Inc. System and method for multi-layer network analysis and design
US8175846B2 (en) * 2009-02-05 2012-05-08 Honeywell International Inc. Fault splitting algorithm
US7904540B2 (en) 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US8144594B2 (en) 2009-03-25 2012-03-27 Comcast Cable Communications, Llc Congestion management in a shared network
US8270313B2 (en) 2009-11-13 2012-09-18 Mitsubishi Electric Research Laboratories, Inc. Ranking nodes in networks with topologies arranged as directed acyclic graphs
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US8364909B2 (en) 2010-01-25 2013-01-29 Hewlett-Packard Development Company, L.P. Determining a conflict in accessing shared resources using a reduced number of cycles
US8489765B2 (en) 2010-03-19 2013-07-16 Cisco Technology, Inc. Dynamic directed acyclic graph (DAG) adjustment
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US9009530B1 (en) 2010-06-30 2015-04-14 Purdue Research Foundation Interactive, constraint-network prognostics and diagnostics to control errors and conflicts (IPDN)
US8880468B2 (en) 2010-07-06 2014-11-04 Nicira, Inc. Secondary storage architecture for a network control system that utilizes a primary network information base
US8887132B1 (en) 2010-09-03 2014-11-11 Christopher R. Hunter Application runtime environment and framework
US8819220B2 (en) * 2010-09-09 2014-08-26 Hitachi, Ltd. Management method of computer system and management system
US20120101980A1 (en) 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
US20120163178A1 (en) 2010-12-23 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Multiple-Algorithm Congestion Management
US9277422B2 (en) 2011-02-15 2016-03-01 Tata Consultancy Services Limited Dynamic self configuration engine for cognitive networks and networked devices
JP5672063B2 (ja) 2011-02-24 2015-02-18 富士通株式会社 送信制御プログラム、通信装置および送信制御方法
US20120323702A1 (en) 2011-06-16 2012-12-20 Emmanuel Puentes System and method for client-server cooperation in selecting content for display
US8661449B2 (en) 2011-06-17 2014-02-25 Microsoft Corporation Transactional computation on clusters
US8612583B2 (en) 2011-07-29 2013-12-17 Cisco Technology, Inc. Network management system scheduling for low power and lossy networks
US8898676B2 (en) 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9277482B2 (en) 2011-11-10 2016-03-01 Cisco Technology, Inc. Adaptive reoptimization rate for unstable network topologies
CN104040948B (zh) 2011-11-16 2018-09-18 诺基亚通信公司 网络协调设备
US9059939B2 (en) * 2012-02-23 2015-06-16 Infosys Limited End-to-end network service assurance solution
DE102012003977A1 (de) * 2012-02-28 2013-08-29 Vodafone Holding Gmbh Verfahren zum Untersuchen eines Datentransportnetzwerks und Computerprogrammprodukt
US20130294250A1 (en) 2012-05-01 2013-11-07 Qualcomm Iskoot, Inc. Exchanging data between a user equipment and one or more servers over a communications network
US8995339B2 (en) 2012-06-08 2015-03-31 At&T Intellectual Property I, L.P. Network control of applications using application states
US8984480B2 (en) 2012-07-10 2015-03-17 International Business Machines Corporation Automating and/or recommending data sharing coordination among applications in mobile devices
WO2014046875A1 (en) * 2012-09-20 2014-03-27 Ntt Docomo, Inc. A method and apparatus for topology and path verification in networks
US9203759B2 (en) 2012-11-07 2015-12-01 Broadcom Corporation Switch state reporting
US9399959B2 (en) * 2014-03-26 2016-07-26 GM Global Technology Operations LLC System and method for adjusting a torque capacity of an engine using model predictive control
AT512003A3 (de) 2013-01-23 2014-05-15 Avl List Gmbh Verfahren zur Ermittlung eines regelungstechnischen Beobachters für den SoC
US20140244218A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Architecture optimization
CN103200027A (zh) * 2013-03-01 2013-07-10 中国工商银行股份有限公司 一种定位网络故障的方法、装置及系统
US9141682B1 (en) 2013-03-25 2015-09-22 Amazon Technologies, Inc. Resolving conflicts within saved state data
US9559870B2 (en) 2013-07-08 2017-01-31 Nicira, Inc. Managing forwarding of logical network traffic between physical domains
US9929918B2 (en) 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud
US9454382B2 (en) 2013-10-14 2016-09-27 International Business Machines Corporation Verification of UML state machines
US9613074B2 (en) 2013-12-23 2017-04-04 Sap Se Data generation for performance evaluation
CN106164839B (zh) 2014-02-04 2019-10-22 触觉实验室股份有限公司 以减小的等待时间提供对输入的视觉响应的方法
US9110524B1 (en) 2014-06-09 2015-08-18 Xilinx, Inc. High throughput finite state machine
US9892185B2 (en) 2014-08-19 2018-02-13 Projectwizards Gmbh Method and system for syncing data structures

Also Published As

Publication number Publication date
BR112016027284A2 (pt) 2017-08-15
KR20170017903A (ko) 2017-02-15
US9602351B2 (en) 2017-03-21
EP3152867A1 (en) 2017-04-12
CN106464531A (zh) 2017-02-22
JP2017518720A (ja) 2017-07-06
WO2015187893A1 (en) 2015-12-10
BR112016027284A8 (pt) 2021-07-13
CN106464531B (zh) 2019-06-18
US20150358200A1 (en) 2015-12-10
EP3152867B1 (en) 2020-04-01
KR102342063B1 (ko) 2021-12-21

Similar Documents

Publication Publication Date Title
JP6527584B2 (ja) 積極的ネットワーク障害処理
US11588737B2 (en) Flow-based load balancing
US10742556B2 (en) Tactical traffic engineering based on segment routing policies
CN107852368B (zh) 用于网络服务的高度可用的服务链
US20170019303A1 (en) Service Chains for Network Services
Yanjun et al. Traffic engineering framework with machine learning based meta-layer in software-defined networks
CN105553680A (zh) 基于网络特征创建虚拟接口的系统和方法
Muthumanikandan et al. Link failure recovery using shortest path fast rerouting technique in SDN
EP2958269B1 (en) Method and apparatus for deploying a minimal-cost ccn topology
US11444840B2 (en) Virtualized networking application and infrastructure
US11252076B2 (en) Data forwarding method and apparatus
JPWO2012141241A1 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
CN112997452A (zh) 具有策略实施的基于云的路由器
CN106104503B (zh) 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化
JP2013187656A (ja) 分散型クラウドインフラのための網制御システム及び経路管理サーバ及び網制御方法及びプログラム
CN110851275A (zh) 路由节点的负载转移方法及装置
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
US20220394362A1 (en) Methods, systems, and devices for bandwidth steering using photonic devices
US20180139113A1 (en) Efficiently Calculating Per Service Impact Of Ethernet Ring Status Changes
JP2018182648A (ja) ネットワーク設計装置およびネットワーク設計方法
BR112016027284B1 (pt) Método, meio de armazenamento e dispositivo de gestão proativa de falhas de rede
JP2014212398A (ja) 通信システム、通信ノード、パケット処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190308

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: 20190411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190510

R150 Certificate of patent or registration of utility model

Ref document number: 6527584

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250