(57)【要約】  より効率的かつコントロールした方法で、情報フローを伝達する際に使用するために、１組の接続を確立し、継続的に評価し、コンピュータネットワーク上のホスト間で維持する。より良いおよび／または異なるパフォーマンス特性を有する接続を継続的に探索することにより、新しい接続が確立され、既存の接続が終了する。各接続は、ネットワークを通して、同じまたは異なるパスを利用することができ、時間とともに変化するパフォーマンス特性を有することができる。スループット、トランザクション時間、データの一貫性、レイテンシ、およびパケット損失を含む、ネットワークメトリクを向上するために、特定の情報フローに対して複数のパスを同時に使用できる。情報フローは１つまたは複数のサブフローに分割することができ、サブフローは１つまたは複数のアクティブな接続に割り当てることができる。さらに、ネットワークの状態に応じて、フローの分割方法および接続への割り当て方法に関する動的な決定を行うことができる。これらの接続を使用することで、コストを削減し、アプリケーションのＱｏＳ／ＱｏＥを保証して、公衆インターネットなどの既存のネットワークがエンタープライズクラスの接続を提供でき、本インターネットインフラストラクチャを修正せずに、エンタープライズクラウドの採用を加速するために、利用できる。
2019523621.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークホストを結合し、ネットワークホスト間で情報フローを通信することができるネットワークを含み、システムにおいてネットワークホスト間の複数の接続を利用する方法であって：
第１のネットワークホストと第２のネットワークホストとの間の複数の接続を維持することであって、前記複数の接続のそれぞれに対して；
前記第１のネットワークホストと、前記第２のネットワークホストとの間の接続を確立すること；
前記接続を繰り返し評価して、前記接続に関連する少なくとも１つのパフォーマンスメトリクスを決定すること；
前記接続に関する少なくとも１つのパフォーマンスメトリクに基づき、前記複数の状態を関連付けることであって、前記複数の状態のうち、１つまたは複数の第１の状態が準備完了状態を表し、前記複数の状態のうち、１つまたは複数の第２の状態が準備のできていない状態を表すこと；
前記第１のネットワークホストと前記第２のネットワークホストとの間で情報フローを移転する要求を受理すること；のサブステップを含み、
１つまたは複数の前記第１の状態に関連付けられた、１つまたは複数の前記接続に前記情報フローを割り当てること；
前記割り当てのステップに基づく前記複数の接続の１つまたは複数の前記情報フローからのデータを通信すること、
を含む方法。
【請求項２】
前記複数の接続がＶＰＮトンネルである、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのパフォーマンスメトリクスが、レイテンシ、スループット、およびパケット損失からなるセットから取得される、１つまたは複数のメトリクスを含む、請求項１に記載の方法。
【請求項４】
前記複数の接続のうちの１つについて、前記ネットワークを通るパスが、前記複数の接続のうちの第２の接続について、前記ネットワークを通るパスとは異なる、請求項１に記載の方法。
【請求項５】
前記第１のホストが複数のエンドポイントを有し、前記複数の接続のうちの少なくとも１つが、前記複数の接続のうちの第２の接続とは異なる１つの前記エンドポイントを使用する、請求項１に記載の方法。
【請求項６】
前記繰り返し評価するステップが、定期的間隔で周期的な前記接続に関連する、パフォーマンスメトリクスの評価を構成する、請求項１に記載の方法。 
【請求項７】
前記１つまたは複数の第２の状態が、スタンバイ、待機中、降格中、および探索中の状態を表す状態を含む、請求項１に記載の方法。
【請求項８】
ネットワークの少なくとも一部が公衆インターネットの一部を構成する、請求項１に記載の方法。
【請求項９】
前記複数の接続のそれぞれについて、前記接続の前記ネットワークを通るパスを決定する
サブステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記第１の状態のうちの１つまたは複数に関連付けられた、前記接続のうちの異なる１つまたは複数に前記情報フローを再割り当てし、前記再割り当てのステップが前記複数の接続の少なくとも１つに関連した少なくとも１つパフォーマンスメトリックに基づくものであり；
前記再割り当てのステップに基づく前記複数の接続の１つまたは複数を介して、前記情報フローからのデータを通信するステップをさらに含む、請求項１の方法。
【請求項１１】
前記接続が、前記接続に関連する前記少なくとも１つのパフォーマンスメトリクに基づく基準を満たす場合に、前記接続を終了させ、前記基準は、前記接続に関連する少なくとも１つのパフォーマンスメトリクと、複数の接続のうちの他の接続に関連する１つまたは複数の他のメトリクスとの比較に基づく、請求項１に記載の方法。
【請求項１２】
ネットワークホストを結合するネットワークを通して、ネットワークホスト間で情報フローを通信する装置であって、
プロセッサ読み取り可能命令を記憶する、少なくとも１つのメモリと通信する少なくとも１つのプロセッサを含む第１のネットワークホストであって、前記少なくとも１つのプロセッサが、前記プロセッサ可読な命令により、
第２のネットワークホストとの間の複数の接続を維持することであって、前記複数の接続のそれぞれに対して；
前記第２のネットワークホストとの間の接続を確立すること；
前記接続を繰り返し評価して、前記接続に関連する少なくとも１つのパフォーマンスメトリクスを決定すること；
前記接続に関する少なくとも１つのパフォーマンスメトリクに基づき、前記複数の状態を関連付けることであって、前記複数の状態のうち、１つまたは複数の第１の状態が準備完了状態を表し、前記複数の状態のうち、１つまたは複数の第２の状態が準備のできていない状態を表すこと；
前記第２のネットワークホストに情報フローを移転する要求を受理すること；のサブステップを含み、
１つまたは複数の前記第１の状態に関連付けられた、１つまたは複数の前記接続に前記情報フローを割り当て；
前記割り当てのステップに基づく前記複数の接続の１つまたは複数の前記情報フローからのデータを通信する、
ように構成された装置。
【請求項１３】
前記第１のホストが複数のエンドポイントを有し、前記複数の接続のうちの少なくとも１つが、前記複数の接続のうちの第２の接続とは異なる１つの前記エンドポイントを使用する、請求項１２に記載の装置。
【請求項１４】
繰り返しの評価は、規則的な間隔で周期的に前記接続に関連するメトリクスを評価することを含む、請求項１２に記載の装置。
【請求項１５】
前記少なくとも１つのプロセッサは、プロセッサ可読命令により、さらに、
前記第１の状態のうちの１つまたは複数に関連付けられた前記接続のうちの異なる１つまたは複数のものに前記情報フローを再割り当てし、前記再割り当てステップは、前記複数の接続のうちの少なくとも１つに関連する少なくとも１つのパフォーマンスメトリクスに基づくものであり、
前記再割り当てステップに基づいて、前記複数の接続のうちの１つまたは複数を介して前記情報フローからのデータを通信するように動作可能に構成される、請求項１２に記載の装置。
【請求項１６】
前記少なくとも１つのプロセッサは、プロセッサ可読命令により、さらに前記複数の接続について、
前記接続が、前記接続に関連する前記少なくとも１つのパフォーマンスメトリクに基づく基準を満たす場合に、前記接続を終了させ、前記基準が、前記接続に関連する少なくとも１つのパフォーマンスメトリク基準と、複数の接続のうちの他の接続に関連する、１つまたは複数の他のメトリクスとの比較に基づくものである、請求項１２に記載の装置。
【請求項１７】
請求項１に記載の方法を実行するように、少なくとも１つのプロセッサに指示するためのプログラムコードで符号化された、非一時的コンピュータ可読媒体。
【請求項１８】
ホスト間で情報を通信することができるネットワークに結合された、複数のネットワークホストを含むシステムにおいて、複数の利用可能な接続を介して、複数のパケットを含む情報のフローを通信する方法であって、システムは、ネットワークホスト間の複数の接続を利用し：
第１のネットワークホストと第２のネットワークホストとの間で情報フローを転送する要求を受理し、前記要求はパフォーマンス要件およびアプリケーション特性に関連付けられること；
情報フローを複数のサブフローに分割し、各サブフローはパケットのシーケンスを含み、分割するステップはパフォーマンス要件およびアプリケーション特性のうちの１つまたは複数に基づくものであること；
複数のサブフローのそれぞれを、前記第１のネットワークホストと前記第２のネットワークホストとの間の複数の接続の中からの接続に割り当てること；
前記割当てに基づいて、前記複数の接続のうちの１つまたは複数を介して、前記複数のサブフローからのデータを通信することを含む方法。
【請求項１９】
前記複数の接続は、ＶＰＮトンネルである、請求項１８に記載の方法。
【請求項２０】
前記アプリケーション特性が、パケットサイズ、フローサイズ、フロー期間、レイテンシ要求、および優先度からなるセットから取得される１つまたは複数の特性を含む、請求項１８に記載の方法。
【請求項２１】
前記性能要件が、１つまたは複数のサービスレベル契約（ＳＬＡ）に基づく、請求項１８に記載の方法。
【請求項２２】
前記分割するステップはさらに、ネットワーク状態、ユーザ情報および履歴上の決定からなる組から取得される１つまたは複数の項目を含む情報に基づく、請求項１８に記載の方法。
【請求項２３】
前記分割するステップは、前記情報フローの転送中に、情報フローを前記複数のサブフローに動的に分割する方法を変更する、請求項１８に記載の方法。
【請求項２４】
前記割当てのステップが、前記情報フローの転送中に、前記複数の接続のうちの異なる接続への１つまたは複数のサブフローの割り当てを変更する、請求項１８に記載の方法。
【請求項２５】
さらに、
前記第１のネットワークホストと前記第２のネットワークホストとの間で、第２の情報フローを転送するための第２の要求を受理すること；
第２の情報フローを、それぞれがパケットのシーケンスを含む、第２の複数のサブフローに分割すること；
前記第１のネットワークホストと前記第２のネットワークホストとの間の、前記複数の接続の中から、第２の複数のサブフローのそれぞれを接続に割り当てること；
第２の複数のサブフローのそれぞれを割り当てる前記ステップに基づいて、前記第２の複数の接続のうちの１つまたは複数を介して、前記第２の複数のサブフローのそれぞれからのデータを通信することをさらに含む、請求項１８に記載の方法。
【請求項２６】
前記複数の接続のうちの少なくとも１つが、前記情報フローおよび前記第２の情報フローの両方からのデータを通信する、請求項２５に記載の方法。
【請求項２７】
前記ネットワークの少なくとも一部が、前記公衆インターネットの一部を構成する、請求項１８に記載の方法。
【請求項２８】
ネットワークホストを結合するネットワークを介して、ネットワークホスト間で、情報フローを通信するための装置であって、
プロセッサ可読命令を記憶する、少なくとも１つのメモリと通信する少なくとも１つのプロセッサを含む、第１のネットワークホストを含む装置であって、少なくとも１つのプロセッサは、プロセッサ可読な命令により、
パフォーマンスフローを第２のネットワークホストに転送する要求を受理し、ここで前記要求は、パフォーマンス要件およびアプリケーション特性に関連するものであり；
情報フローを、それぞれがパケットのシーケンスを含む複数のサブフローに分割し、分割するステップは、パフォーマンス要件およびアプリケーション特性のうちの１つまたは複数に基づくものであり；
前記複数のサブフローのそれぞれを、前記第１のネットワークホストと前記第２のネットワークホストとの間の複数の接続の中からの接続に割り当て；
前記割り当てに基づいて、前記複数の接続のうちの１つまたは複数を通して、前記複数のサブフローからのデータを通信する、プロセッサ可読命令によって動作可能に構成される、装置。
【請求項２９】
前記アプリケーション特性が、パケットサイズ、フローサイズ、フロー期間、レイテンシ要求、および優先度からなるセットから取られる、１つまたは複数の特性を含む、請求項２８に記載の装置。
【請求項３０】
前記プロセッサは、前記情報フローの転送中に情報フローが前記複数のサブフローに動的にどのように分割するかを変更するように動作可能に構成される、請求項２８に記載の装置。
【請求項３１】
前記プロセッサは、前記情報フローの転送中に、前記複数の接続のうちの異なる接続への、１つまたは複数のサブフローの割り当てを変更するように、動作可能に構成される、請求項２８に記載の装置。
【請求項３２】
少なくとも１つのプロフェッサは、プロフェッサ可読命令によって、さらに、
前記第１のネットワークホストと前記第２のネットワークホストとの間で、第２の情報フローを転送するための第２の要求を受理し；
第２の情報フローを、それぞれがパケットのシーケンスを含む第２の複数のサブフローに分割し；
前記第１のネットワークホストと前記第２のネットワークホストとの間の前記複数の接続の中から、第２の複数のサブフローのそれぞれを接続に割り当て；
第２の複数のサブフローのそれぞれを割り当てることに基づいて、前記第２の複数のサブフローのそれぞれからのデータを、前記第２の複数の接続のうちの１つまたは複数を介して通信するように動作可能に構成される、請求項２８に記載の装置。
【請求項３３】
前記複数の接続のうちの少なくとも１つが、前記第１の情報フローおよび前記第２の情報フローの両方からのデータを通信する、請求項３３に記載の装置。
【請求項３４】
請求項１８に記載の方法を実行するように少なくとも１つのプロセッサに指示するためのプログラムコードで暗号化された非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１６年６月１８日に提出した米国仮出願６２／３５１，９５３によって優先権を主張し、参照により本明細書に組み込まれる。 
【背景技術】
【０００２】
背景
本発明は、コンピュータネットワーキングの分野に関し、より詳細には、パケット交換ネットワークのエンドポイント間のレイテンシ、フロー完了時間（ＦＣＴ）およびスループットなどのネットワークメトリクスを制御することに関する。これは、パブリックインターネット、プライベートインターネット、および３Ｇ／４Ｇ／５Ｇモバイルネットワークなどのネットワークを含む。
【０００３】
インターネットは優れた接続性を提供しながら、回復力、分散化、およびベストエフォート型パケット配信などの特性を保証する。しかし、これらの特性により、トラフィックのピークを処理するためのインターネットコアの使用率が低くなる。加えて、インターネットは、一般的に決定論的なものではなく、重要なアプリケーションへの利用を妨げることは事実である。企業は通常、スループットやレイテンシなど、関心のある指標を確保するためにプライベートネットワークを利用する。しかし、プライベートネットワークには、大きな運用経費（ＯＰＥＸ）と設備投資（ＣＡＰＥＸ）があり、すべての企業がそれらを購入できるわけではない。仮想プライベートネットワーク（ＶＰＮ）は、プライベートネットワークの利点をエミュレートするための技術を基礎として、インターネットを使用する。ＶＰＮは、公衆ネットワーク上で、セキュリティとパフォーマンスを確保するために、トンネリング技術に依存する。しかし、ＶＰＮは通常、単一のトンネルを使用してネットワークメトリクを保証せずに情報を送信することは、企業にとって重要な側面である。いくつかのシステムは、トラフィックに優先順位を付けるためにマルチプロトコルラベルシステム（ＭＰＬＳ）のようなパケット交換レイヤを適用するが、これは特定のキャリアのネットワーク内でのみ機能する。必要とするものは、トラフィックが、公衆インターネットを横断するときに、サービス品質（ＱｏＳ）または品質経験（ＱｏＥ）を保証しながら、スループットなどのメトリクを制御するために改善した方法である。
【０００４】
インターネット・プロトコル・スイート（ＴＣＰ／ＩＰ）は、データをあるポイントから別のポイントに送信する方法を指定して、エンドツーエンドの通信フレームワークを提供する。このモデルは、通常、ＯＳＩの７層アーキテクチャまたは４層スキーム（リンク、インターネット、トランスポート、アプリケーション）を通じて提示される。このシステムでは、コストを低く抑えながらエンドポイントの数が急増したため、インターネットを拡張できる。今日、公衆インターネットは、莫大な量のサービスおよびアプリケーションによる、１つのプライマリーシステムである。多くの企業が、サービスを提供し、インフラストラクチャを管理するために、インターネットを使用する。
【０００５】
公衆インターネットの大きな欠点は、レイテンシやスループットなどのネットワークメトリクスを保証する確定的サービスを提供することが、一般的に不可能なことである。この事実は、いくつかの機関や企業が特定のサービス品質（ＱｏＳ）を保証するために、プライベートネットワークの構築を引き起こした。このようなネットワークは、公衆インターネットにも接続するが、最低限の目的のため、またはファイアウォールを介した、重要でないサービスのためだけに接続されている。これらのシステムは、利用と、保守とが大規模な民間企業によって処理されるため、高価な利用となる。対照的に、公衆インターネットは、統合されたプロトコルの下で動作する、世界中の共有インフラを持つネットワークの、ネットワークである。
【０００６】
これらのプライベートネットワークは、物理的なものであれ仮想的なものであれ、エンドポイントを相互接続するために、さまざまなネットワークプロトコルや技術に依存する。例えば、参照により本明細書に組み込まれるインターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）３０３１に記載されているマルチプロトコル・ラベルスイッチング（ＭＰＬＳ）は、仮想専用通信チャネルのおかげで、標準インターネット接続と比較して、制御可能な性能および信頼性を提供する。他の最適化技術の中でも、これは、アプリケーションタイプなどの、様々なパラメータに基づき、トラフィックに優先順位を付ける。しかし、ＭＰＬＳ利用は通常、１メガビット当たり１００倍多いオーダーで、はるかに高いコストを伴う。“What is the cost of MPLS？”マッシュルームネットワークブログ（Mushroom Networks Blog）２０１５年８月２０日の例を参照。これらは参照により本明細書に組み込まれる。
【０００７】
近年では、クラウドコンピューティングの出現により、相互接続問題がいっそう悪化した。“A View  of  Cloud  Computing”Ｍ．Ａｒｍｂｒｕｓｔらを参照。これらは参照により本明細書に組み込まれる。クラウドコンピューティングは、オンデマンドサービスとして提供される柔軟なインフラストラクチャの外部化を提供し、実際に使用されるリソースに対して支払いする。しかし、クラウドコンピューティングモデルには、データが生成および消費される企業間の通信と、データを処理し保存することがあるデータセンターとにおいて重要なポイントがある。この事実は、クラウドコンピューティングパラダイムの統合を妨げた。一部の業界リーダーによると、公衆クラウドにはわずか５％のワークロードしかない。主な理由は、セキュリティ、ロックインコスト、データのプライバシー、およびネットワークのコストであり、これらは、ＩＴチームの躊躇によりいっそう悪化する。
【０００８】
重要なアプリケーションを管理することができるネットワークの使用、および重要ではないアプリケーションに対して特定の境界を確保する必要性など、クラウドコンピューティングの可能性を達成するために必要とされる欠落した部分がある。最近は、大企業のみが、プライベート広域ネットワーク（ＷＡＮ）を必要とする、決められたリンクのために、支払いをおこなうことができる。さらに、これらのネットワークは、パケット交換ネットワークではなく、ポイントツーポイント接続に依存しているため、スケーラビリティの問題があり、公衆インターネットなどのネットワークの主な利点を放棄する。後になって、最大のクラウドサービスプロバイダは、プライベートデータセンターを公衆クラウドに接続するための解決策を提供することにより、この問題に取り組んできた。例えば、アマゾンウェブサービスはダイレクトコネクトを提供し、マイクロソフトアズールは、エクスプレスルートを提供する。しかし、これらの解決策は、これらのクラウドへのプライベート接続を使用して、問題を処理する。ゆえに、低コストでのネットワークコネクションの問題および信頼性を維持するエクセレントスケーラビリティは、未解決のままである。
【図面の簡単な説明】
【０００９】
図１は、エンタープライズシナリオの例を示す。
【００１０】
図２は、エンタープライズシナリオの例を示す。
【００１１】
図３は、クラウドシナリオの例を示す。
【００１２】
図４は、クラウドシナリオの例を示す。
【００１３】
図５は、グローバルシナリオの例を示す。
【００１４】
図６Ａは、ＭＰＴＣＰシナリオの例を示す。
【００１５】
図６Ｂは、標準的なＴＣＰとＭＰＴＣＰプロトコルの比較を示す。
【００１６】
図７は、企業本部へ通じる支社の例示的な実施形態を示す。
【００１７】
図８は、複数のＣＳＰ内のフローの分割を示す。
【００１８】
図９Ａは、異なるＩＳＰとインターネットのコアとを横断するＣＳＰを示す。
【００１９】
図９Ｂは、インターネット上の異なる経路を示す。
【００２０】
図１０は、ＣＳＰの状態のダイアグラムを示す。
【００２１】
図１１は、３層ＣＳＰ管理アーキテクチャを示す。
【００２２】
図１２は、単一の企業の観点から見たシステムアーキテクチャを示す。
【００２３】
図１３は、２つの異なるエンタープライズを伴うグローバルの観点から見たシステムアーキテクチャを示す。
【００２４】
図１４は、企業間中間層を含む、２つの異なるエンタープライズを伴うグローバルの観点から見たシステムアーキテクチャを示す。
【００２５】
図１４Ｂは、各企業の特定の副層と結合副層とを有するより複雑な
中間層を示す。
【００２６】
図１５は、アーキテクチャ層内の学習構成要素を示す。
【００２７】
図１６は、各レベルに対する入力および出力を含む階層的学習アーキテクチャを示す。
【発明を実施するための形態】
【００２８】
詳細な明細
本発明の実施形態は、その現在のインフラストラクチャを使用して、アプリケーションのサービス品質（ＱｏＳ）または品質経験（ＱｏＥ）を保証するために、公衆インターネットを賢明に使用する。サービス品質（ＱｏＳ）は、客観的にサービスパラメータ（パケットロス率や平均スループットなど）を測定するが、品質経験（ＱｏＥ）は顧客のサービス体験（例、Ｗｅｂ閲覧、携帯電話、テレビ放送、またはコールセンターへの電話）を測定する別の関連概念である。主な前提は、保証したＱｏＳ／ＱｏＥを提供すると同時に、低価格とそのスケーラビリティを維持することである。
【００２９】
本発明の実施形態を使用して、より効率的で制御された方法で情報を送信するために複数のエンドポイント間に一組の接続が確立される。これらの接続を通じて、スループット、パケット損失およびレイテンシなどのネットワークメトリクスに対して、低コストを実現し、アプリケーションのＱｏＳ／ＱｏＥを保証することができる。本発明の実施形態を採用することは、公衆インターネットのような既存のネットワークが企業クラス接続を提供することを可能にし、それは現在のインターネットインフラストラクチャを修正することなく、企業クラウド採用を加速するために使用できる。
【００３０】
本発明の実施形態は、ほとんどのネットワーク、特にインターネットにおいて未使用の容量があるという観察に基づく。トラフィックのピークを吸収するために、コア内のルータは過剰にプロビジョニングされているため、低い使用率レベルで稼働する。つまり、輻輳時を除いて、未使用の帯域幅が十分にある。この追加の帯域幅を使用するために、利用するツールおよび技術は、マルチパスプロトコルを使用することができる。スループット、トランザクション時間、データの一貫性、レイテンシ、およびパケット損失など、さまざまなネットワークメトリクを改善するために複数のパスが同時に使用される。さらに、動的な決定は、ネットワークの状況に応じて行われる。 
【００３１】
以下の頭字語はここで使われる：
【００３２】
ＣＳＰ    サーティファイドスターフロー（商標）パス（Certified Star flow（商標） Path）
【００３３】
ＱｏＥ        品質経験
【００３４】
ＡＳＰ        悪化安全経路（Aggregated Secured Paths）
【００３５】
ＢＷ          帯域幅
【００３６】
ＱＡ          品質保証
【００３７】
ＬＣＩ      ローカルコンテキスト情報
【００３８】
ＧＣＩ      グローバルコンテキスト情報
【００３９】
本明細書では、インターネットという用語は、公衆または私的を問わず、公衆インターネット、またはインターネット・プロトコルを利用する他のパケット交換ネットワークを意味するために使用される。本発明の実施形態は、異なるシナリオの多様性の下で用いられることができる。下記に記載されたものは、関心のあるシナリオのうちのいくつかのものである。
【００４０】
シナリオ１：オフィス相互接続
【００４１】
本シナリオでは、図１の描写では、支社１００、１１０、１２０、１３０）は、本部ＨＱ（１４０）への接続を確立する。公衆インターネット（１５０）上の複数のルーター（例、１６０）は、接続を確立するために使用される。近年では、使用したプライベートリンクは、もはや必要ないが、なぜなら本発明は、ＱｏＥの補償を提供するからである。プライベートリンクへの依存よりも、インテリジェントポリシーは、マルチパス技術を使用して、インターネット、３Ｇ／４Ｇ／５Ｇモバイルネットワーク、および／またはプライベートネットワークの既存の過剰容量を利用する。この解決策により、企業はＯＰＥＸとＣＡＰＥＸを削減しながら、高いパフォーマンスを発揮する、仮想プライベートＷＡＮを実現する。
【００４２】
図２では、エンタープライズシナリオは、モバイル端末と共に示される。支社（２００、２１０）に加えてモバイル端末（２２０、２３０、２４０）は、ルータ（２６０）および本部（ＨＱ）（２７０）を通して、公衆インターネット（２５０）に結合される。モバイル端末は、オフィス相互接続シナリオに新たな次元を追加する。本ケースでは、端末は、物理的な場所の境界内に制限されていないが、異なるモビリティパターンを有する。例えば、モバイル端末は、ＨＱとの接続を確立するが、特定の支社に滞在する。次いで、従業員は、その端末を持って、別の場所にいる顧客を訪問できる。本発明は、接続を切ることなく、またはＱｏＥを劣化することなく、それらの状況を扱う。さらに、企業の敷地内で、追加の制約が適用される場合がある。企業ポリシーは、すべての端末が、ファイアウォールを使用するために、１つオフィスに最初に接続することを必要とすることを特定できる。他の企業は、ＨＱに直接的に接続するモバイル端末を許可できる。これらは、ハイレベルな状況であるが、モバイル端末の数およびそれらのモビリティパターンが、本発明によって提示される解決策に影響を与えることは明らかである。
【００４３】
シナリオ２：クラウド：クライアントを伴うクラウドデータセンターの接続：
【００４４】
図３は、クラウドを含むシナリオを示す。支社と本部を接続する以外に、複数のクライアント（３００、３１０、３２０、３３０）は、ルータ（３６０）を通した公衆インターネット（３５０）を通して、公衆クラウドデータセンター（３４０）へ結合する。それらは、クラウドスペースを通した２つの主な学校である。それらのリードする企業（例、アマゾンおよびグーグル）は、排他的に公衆クラウドにフォーカスし、すべての処理を実行し、データを保存する。対照的に、他の企業（例、マイクロソフト）は、ハイブリッドクラウドモデルを提唱し、ワークロードの分割を可能とし、公衆クラウドおよびプライベートエンタープライズクラウド間に保存する。
【００４５】
本発明の実施形態は、エンタープライズシナリオとしてのクラウドシナリオで、同様の根底にある技術を使用する。各エンドポイント（クライアントまたはクラウド）は、マルチパス技術を使用して複数のパスを同時に有効にし、それによって必要なアクセスＱｏＥを確保する。 
【００４６】
モバイル端末も、クラウド・クライアントとして考慮することができる。図４は、モバイル端末を併合するクラウドシナリオを示す。クライアント（４００、４１０、４２０）および モバイルクライアント（４３０、４４０）は、ルータ（４６０）を介した公衆インターネット（４５０）の使用と共に、クラウドデータセンター（４７０）に結合される。クラウドおよびエンタープライズシナリオ間の主な相違は、多種多様なアプリケーションの種類、トラフィックパターン、リソースの共有、とりわけその他のリソースの管理を含む。
【００４７】
シナリオ３：グローバルシナリオ
【００４８】
図５は、グローバルまたはオールツーオール・シナリオを示す。このシナリオは、モバイル端末を含む、エンタープライズおよびクラウドシナリオの結合による結果である。クライアント（５００、５２０、５３０、５４０）およびモバイルクライアント（５１０、５５０）に伴うエンタープライズ本部（５７０）および クラウドデータセンター（５８０）は、ルータ（５６０）を通す公衆インターネット（５９０）に結合する。本シナリオでの本発明の実施形態は、クライアントのニーズに基づいて異なるＱｏＥを保証しながら、エンドポイント（例、オフィス、ＨＱ、モバイル機器、公衆クラウドなど）間の異なる接続をサポートする。
【００４９】
イントロダクション
【００５０】
インターネット移送プロトコルはもともと回復力、ロバスト性、および安定性を念頭に置いてデザインされた。加えて、各ルータの可視性は隣接ルータに限定されるため、これらはリンクごとに動作する。ゆえに、ルーティングの決定は、ネットワーク全体の状況を考慮するのではなく、ローカルの条件に基づく。このアーキテクチャ上の決定は、インターネットのスケーラビリティに大きく貢献するが、スループットやレイテンシなどの他の測定基準では、そのパフォーマンスを低下させる。
【００５１】
クラウドのようなモデルは、これらのサービスを提供する公衆インターネットに依存するため、ネットワークメトリクスは、全体的なパフォーマンスに大きな影響を有する。新たな問題は、データ上のコントロールの欠如などが挙げられる。それらの影響にも関わらず、企業は、インストールの容易さ、柔軟なインスタンス、より優れたコスト対効果、可用性などの要素を悪用するために、公衆クラウドを使用するよう動機付けられている。
【００５２】
本発明の実施形態は、公衆インターネットインフラストラクチャの現存を有する最高のパフォーマンスを提供する、ネットワークの解決策を使用する。この目的のために、最適化されたルーティング技術が最終接続者に体感品質（ＱｏＥ）を保証するために、異なる接続タイプ上のローカルおよびグローバルコンテキスト情報を利用するのに使用さる。
【００５３】
使用する主な技術は、優れた方法で情報パケットを伝達する複数のパスの利用である。集約パスの機能には、スループットの向上、セキュリティの強化、レイテンシの短縮、パケット損失の低減、および信頼性の向上が含まれる。
【００５４】
プロトコル
【００５５】
上述したシナリオに直面する企業の所望の解決策は、プライベートネットワークの利点を得ることであるが、インフラストラクチャを基礎とした公衆インターネットの使用である。このアプローチは、展開および管理費の削減をもたらすであろう。この達成を可能にする技術は、トンネルの実装に部分的に依存する。それらは、公衆インターネット上で転送するトラフィックにロバスト性、完全性およびセキュリティを追加する。
【００５６】
本発明の実施形態は、トンネルを実装するために、仮想プライベートネットワーク（ＶＰＮ）を使用する。ＶＰＮは、インターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）２７６４で説明され、参照により組み込まれる。本発明の一実施形態では、オープンＶＰＮ（ｈｔｔｐｓ：//ｏｐｅｎｖｐｎ.ｎｅｔ/）を使用する。代替の実施形態では、ＩＰＳＥＣ実装を使用する。ＩＰＳＥＣは、インターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）６０７１で説明され、参照により組み込まれる。
【００５７】
本発明の実施形態は、暗号化を使用した機密方法でデータを移送するＶＰＮトンネルを使用する。代替の実施形態では、トンネルは、暗号化したパケットを生成して、パフォーマンスを向上するのに必要な計算時間を短縮するのに安全ではない。
【００５８】
本発明の実施形態は、その根底にある公衆インターネットインフラストラクチャを利用する。インターネットは、パケット交換ネットワークとしてデザインし機能し、それに従って送信元と宛先との間に潜在的に多数のパスが存在する。本発明の実施形態は、複数のパスを発見し維持するためにトンネリングを利用するが、代替の実施形態は接続プールのような他の技術を利用する。接続プーリングは、接続プールを常にアクティブに維持し、それらをアプリケーションデータの転送に再利用することで構成する。接続プーリングとトンネリングの違いは、接続プーリングはパケットのペイロードを転送するのに対し、トンネルは変更していないパケットをヘッダとともに転送するため、帯域外またはカスタムプロトコルを介して、追加の詳細情報を送信する必要があることである。本発明の一実施形態では、ＴＣＰプーリングは、インターネット上でＴＣＰデータを移送するために使用する。 
【００５９】
マルチパス・トランスポートは、ネットワーク機器の変更または再設定を必要とせずに、一連の異なるパスを使用できるようにする。このことは、マルチパス・トランスポートは、ルータに対して透過的である。本発明の実施形態は、マルチパス・トランスポートの利点とＶＰＮを組み合わせて、事前に確立し特徴付けられたトンネルのセットを介して、データを同時に転送する。ＯＳＩデータリンク層または上記のイーサネット、ＡＲＰ、ＩＣＭＰ、ＩＰ、ＴＣＰ、またはＵＤＰといった特徴に適合するプロトコルのパケットを伝送することができる。
【００６０】
多くの技術は、複製や分散など、複数のパスを活用できる手法を定義できる。複製は、情報フローを複写して、最高のパフォーマンスを得るために、異なるパスを通してそれらを送信する。信頼の向上は、コストを生じさせる。この技術は、複数回送信された同じトラフィックが、互いに干渉してルータを輻輳する、大きなオーバーヘッドを有する。対照的に、分散は、情報フローをサブフローに分割し、それらを異なるパスで送信する。この技術は混雑を減らすが、潜在的に順不同問題を悪化させることができる。転送するトラフィックの特定の要件に従って、パスを賢く使用する場合は、パフォーマンスが向上する。両方の技術は、複数のパスを作成するのに、共通のオーバーヘッドを共有する。
【００６１】
インターネットのマルチコネクティビティを利用することに加えて、近年の発明の実施形態はまた、一般にそのスループットおよび性能を改善するためにＶＰＮおよびＴＣＰプロトコルパラメータを微調整する。例えば、一実施形態は、巨大な最大伝送ユニット（ＭＴＵ）値（イーサネット９ＫＢジャンボフレーム、例えば４８ＫＢ  ＭＴＵよりもさらに大きい）を使用して、ＬＡＮをシミュレートするためにＶＰＮトンネルによって提供する抽象化を利用することができる；ＴＣＰ最大セグメントサイズ（ＭＳＳ）は、この調整に適応し、トンネル仮想インターフェイスに大きなフレームを挿入することができる；これらの巨大なフレームは、パス上のルータまたはそれらを生成する同じ物理／仮想ホストによって、複数のＩＰフラグメントに断片化される。このようにして、送信側のＴＣＰ輻輳制御アルゴリズムは送信ウィンドウ値のより速い成長を示し、その結果、一貫してスループットが向上する。
【００６２】
これらの利点を活用するために、ＴＣＰとＵＤＰが主な指数であるが、異なるプロトコルを使用できる。近年の発明の実施形態は、トンネルを通してパケットを転送する。トンネルの選択とパケットのスケジューリングは、パケットの優先順位付け要件に一致する、トンネルメトリックに基づく。 
【００６３】
ＭＰＴＣＰ
【００６４】
マルチパス・トランスポートへの１つのアプローチ、マルチパスＴＣＰは、インターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）６１８２に記載されている、マルチパスＴＣＰ開発のためのアーキテクチャガイドラインに記載されており、参照により明細書に組み込まれる。マルチパスＴＣＰ （ＭＰＴＣＰ）は、複数のパスを可能とするＴＣＰの延長である。図６Ａは、ＭＰＴＣＰの単純な例を示す。２つの接続（Ａ１、Ａ２）は、ホストＡ（６００）をインターネット（６１０）と結合し、２つの接続（Ｂ１、Ｂ２）は、ソフトＢ（６２０）をインターネット（６１０）に結合する。ホストＡからホストＢへの各パスは、ＩＰ送信元アドレスと宛先アドレス、ＩＰ送信元ポートと宛先ポート番号、および使用するプロトコルで構成する５タプルによって、一意に識別される。
【００６５】
上述の通り、インターネットを通したパスは、分断される必要はない。例えば、Ａ１−Ｂ１およびＡ１−Ｂ２は、ネットワーク内の共通のリンクを共有し、巧妙な選択は、輻輳と、相互干渉とを防止する。
【００６６】
ＭＰＴＣＰは、２つの主な目的を有し：（ｉ）複数のパスを同時に使用したスループットの向上および（ｉｉ）いくつかのパスを通してセグメントが送付できることによる回復性の向上。ノード障害は、ＭＰＴＣＰの回復力が重要になる極端な場合である。いくつかの状態では、ＭＰＴＣＰは、ＴＣＰをアウトパフォームできる。実際には、実装の詳細は、考慮しなければならない。例えば、ＭＰＴＣＰのオーバーヘッドコストは、小さなファイルの転送で、その利点を相殺する可能性がある。
【００６７】
ＭＰＴＣＰの使用が一般化する場合、それはまた予備容量のより良い使用法を通して混雑したボトルネックからトラフィックを移動することによって、インターネット全体の混雑の減少をもたらす可能性がある。
【００６８】
ＭＰＴＣＰ建設用スタックのオーバービューは、図６Ｂに描写される。標準的なＴＣＰ（６３０）は左側に示され、ＭＰＴＣＰ（６４０）は右側に示される。ＭＰＴＣＰ層は、パス管理、パケットスケジューリング、サブフローインターフェイス、および輻輳制御を扱う。サブフローは、転送の基礎となる各パスを与える標準的なＴＣＰセッションである。これらのすべての詳細は、アプリケーションに対して透過的である。
【００６９】
Ｌｉｎｕｘ用の参照ＭＰＴＣＰ実装は、カーネル空間で実行する。本発明の実施形態は、参照Ｌｉｎｕｘ実装の特定の、ＭＰＴＣＰカーネルモジュールに対する修正を含む。これらのモジュールは、ユーザスペースで実装されるプロセスからのＭＰＴＣＰ接続を最適化するネットリンクを通して、コマンドを受信する。 
【００７０】
一実施形態では、デフォルトのフルメッシュトポロジを使用する代わりに、クライアント（例えば支社）と、サーバ（例えばＨＱ）との間のポイントツーポイント接続を改善する新しいカーネルモジュールが利用される。このモジュールは、不使用の接続の排除を通して、マルチパス転送のオーバーヘッドを削減する（例、同じオフィスの同じ端末の２つのＩＰポート間）。 一実施形態では、参照ＭＰＴＣＰ・Ｌｉｎｕｘ実装のインターフェイス制限が増大された。この修正と共に、フローは、元の実装で課せられている制限である８つではなく、最大３２のインターフェイスを使用できる。代替の実施形態では、インターフェイスとサブフローの最大数を、増大することができる。
【００７１】
代替の実施形態では、フルユーザスペース実装と共に、ユーザスペースＩ／Ｏ（例、ＤＰＤＫ）は、利用できる。本実施形態は、ハイブリッド・カーネルユーザスペースの解決策よりも効果的である。これは、カーネルからユーザスペースへの通信および、その逆の通信に関連するオーバーヘッドを削減しながら、プロトコル実装の制御およびパフォーマンスの最適化を可能にする。もう一つの代替実施形態では、フル・カーネルスペースを実装することができる。
【００７２】
本発明の実施形態では、２つのＭＰＴＣＰサブモジュールの新バージョンは、利用可能であり：パスマネージャーとパケットスケジューラである。パスマネージャーは、確立するために、サブフローの数を決める。新バージョンは、サブフローを動的に作成して閉じると共に、他の修正を以下に記す。スケジューラは、パケットをサブフローに割り当てる。新しいスケジューラアルゴリズムは、サブフローとアプリケーション間で、負荷を分散する。
【００７３】
マルチパスＵＤＰ（ＭＰＵＤＰ）
【００７４】
ＵＤＰは、他のメジャーなトランスポートプロトコルである。ＵＤＰは、まだ標準化されていないＭＰＵＤＰをサポートするために拡張するが、基本的な考え方は同じであり：ＵＤＰ接続で複数のパスを同時に利用できるようにする。ＴＣＰとは異なり、ＵＤＰは信頼できるトランスプロトコルではなく、例えば、それはアプリケーションに欠落、順不同および重複パケットという課題を残す。
【００７５】
ＭＰＵＤＰは、信頼できないトランスポート、輻輳制御およびパケット順序付けの保証の欠如のＵＤＰ属性を引き継ぐ。近年、３つの標準的なトランスポート層のプロトコルのみが、信頼できないトランスポートを実装する：ＵＤＰ、ＤＣＣＰ およびＳＣＴＰである。ＵＤＰは輻輳制御を持たないため、主に低スループット要件の転送で使われる。アプリケーションの要件に応じて、異なる主なメトリクスは最適化を要する。例えば、いくつかのアプリケーションでは、パケット損失を減らすことは非常に重要であるが、一方では、一方向の遅延を減らすことがより重要である。マルチパスは、このトピックに非常に役立つ。例えば、パケット損失を減らすために、ＵＤＰトラフィックは、混雑の少ないパスに移行できる。一方の遅延を減らすために、ＵＤＰトラフィックを複製し、同時に複数のパスを通して送信できる。後者の場合、受信側で複製を排除することが重要である。これは、ＵＤＰ転送を、ＤＣＣＰ転送に変更することで実現できる。
【００７６】
データグラム輻輳制御プロトコル（ＤＣＣＰ）は、ＴＣＰのような輻輳制御（セッションハンドシェイクとシーケンス番号を使用）で信頼性の低い転送を実装する。ＤＣＣＰは、参照により本明細書に組み込まれるインターネット技術標準化委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）４３４０に記載され、参照により明細書に組み込まれる。
【００７７】
ストリーム制御伝送プロトコル（ＳＣＴＰ）には、部分信頼性（ＰＲ）の拡張機能を有し、期限切れデータの再送信を防止する。ＳＣＴＰは、インターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）４９６０に記載され、参照により明細書に組み込まれる。
【００７８】
これら３つのプロトコル間では、ＤＣＣＰおよびＳＣＴＰのみが輻輳制御を有し、ＳＣＴＰのみがマルチストリームおよびマルチホーミング（マルチパス）のサポートを有する。ゆえに、効率的なＭＰＵＤＰのための２つの可能な候補は、マルチパスＤＣＣＰ（手動でパスマネージャーとパケットスケジューラを実装する）か、または部分信頼性とマルチホーミングを持つＳＣＴＰになり得る。前者のようなアプローチは、Ｃ．Ｈｕａｎｇ，Ｙ．ＣｈｅｎおよびＳ．Ｌｉｎによる“マルチパスデータグラム輻輳制御プロトコルのためのパケットスケジューリングおよび輻輳制御方式”に提案され、参照により明細書に組み込まれる。後者のようなアプローチは、Ｃ．ＨｕａｎｇおよびＭ．Ｌｉｎによる“マルチホームネットワークのための部分的信頼性同時マルチパス転送（ＰＲ−ＣＭＴ）”に提案され、参照により明細書に組み込まれる。
【００７９】
加えて、いくつかのＵＤＰベースのアプリケーションは、マルチパス配信によって悪化する可能性があるパケットの順序に敏感である。ＤＣＣＰおよびＳＣＴＰは、この問題を阻止するために、パケットの並び替えをサポートする。
【００８０】
メトリクス
【００８１】
本発明の実施形態で利用するトンネルは、ネットワークメトリクスの用語で評価する。それらのいくつかは以下である：
【００８２】
帯域幅（ＢＷ）：帯域幅は、一定時間内に伝達できる理論上の最大データ量として定義する。したがって、帯域幅は、データ転送をサポートするためのネットワーク接続の容量を表す。帯域幅は、１秒ごとのビットでしばしば表現される（ｂｐｓ、Ｋｂｐｓ、Ｍｂｐｓ、Ｇｂｐｓ）。
【００８３】
パケット損失：パケットスイッチシステムでは、パケット損失とは、目的の宛先に到着できなかったパケットの数のことである。パケット損失の原因となる主な要因は、リンク輻輳、端末性能（ルータ、スイッチなど）であり、バッファの過負荷、ネットワークデバイスのソフトウェアの問題、およびハードウェアの障害である。破棄は、パケットの意図的な破棄である。
【００８４】
信頼性：信頼性とは、指定された条件下で、特定の期間システムまたはコンポーネントが機能する能力を示す。
【００８５】
スループット：スループットは、実際にどのくらいの量のデータが実際に“チャンネル”を通過するかを示す。これは、レイテンシ、パケット損失、および使用されるプロトコルなど、さまざまなことによって制限される可能性がある。スループットは通常、１秒あたりのビット数（ｂｐｓ、Ｋｂｐｓ、Ｍｂｐｓ、Ｇｂｐｓ）で測定する。
【００８６】
レイテンシ：レイテンシは、アプリケーションが送信するデータを生成してから送信先のアプリケーションに到着して処理されるまでの時間として定義する。パケット交換ネットワークにおけるレイテンシは、特に処理遅延、バッファ満杯および待ち行列遅延などの長距離ネットワークの動作環境において、多くの異なる要因によって影響を受ける可能性がある。
【００８７】
ジッタ：ジッタは、同じストリームに属する、２つの連続した受信パケットの転送遅延間の差の絶対値である。ジッタは、ネットワークの輻輳、タイミングドリフト、およびルート変更に起因する。インターネット技術特別調査委員会（ＩＥＴＦ）のコメント勧告（ＲＦＣ）３３９３の報告では、参照により明細書に組み込まれ、パケット遅延の変動を識別するためのパケット交換ネットワークにおけるジッタという用語は、完全には正しくない。パケット遅延の変動（ＰＤＶ）は、この文脈で使用するには、より良い用語であり得る。
【００８８】
往復時間（ＲＴＴ）：往復遅延時間とも呼ばれる往復時間は、パケットが特定の送信元から特定の宛先に送信され、返信パケットが送信元に送信されるまでに必要な時間である。
【００８９】
インターパケットタイム（ＩＰＴ）：インターパケットタイムは、フロー内で２つの連続するパケット間で経過する時間である。インターパケット到達時間（ＩＰＡＴ）は、インターパケット発行時間（ＩＰＥＴ）と比較する場合に、ジッタを計算するのに、便利で効率的な方法を提供する。
【００９０】
フロー完了時間（ＦＣＴ）：フロー完了時間は、ネットワークフローを使用して成功した、トランザクションを実行するために必要な時間である。トランザクションの種類とその正確性はアプリケーションによって異なる。
【００９１】
観察可能接続経路：観察可能接続経路は、フローの構成要素パケット（例、２つのエンドポイント間の持続的トンネル接続）が通過する測定可能なノードの集合である。
【００９２】
サーティファイドスタートフロー（商標）パス（Certified Starflow（商標） Paths）
【００９３】
本発明の実施形態の重要なコンセプトは、“Certified Starflow（商標）パス”、またはＣＳＰである。ＣＳＰは、ネットワークの２つのエンドポイント間で開かれた持続的な接続である。発明の実施形態では、この持続的な接続は、ＶＰＮトンネルの機能により実装する。接続が開かれて生存していると、前述のようなメトリックが監視され始める。トンネルが所望の間隔の間に或るしきい値を通過すると、トンネルは“Certified  Starflow（商標）パス”、またはＣＳＰの状態へと誘導する。同様に、ＣＳＰは、所望の間隔の或るしきい値を維持できない場合に、降格される。異なるアルゴリズムは、 所望のＱｏＥｓ要求と共に他の要因に従って、昇格および降格プロセスを支配する。例えば、企業が、１０Ｍｂｐｓ以上のスループットを必要とするＱｏＥを有する場合、このしきい値を超えるＶＰＮトンネルのみが、促進したＣＳＰを得る。代替の実施形態では、ＣＳＰは、セキュリティまたは暗号化を使用しない。これらは、トンネリング技術で実装できる。
【００９４】
インターネットなどのパケット交換ネットワーク内のパスは、２つのエンドポイント間で交換されるパケットが通過する一連のホップとして定義できる。そのセットは、各ホップでの次第である。インターネット内のルータは、それらを一意に識別し（例えば、フロー識別子としての５つのタプル）、アクティブである間それらの対応するルーティング状態を維持することによって、同じフローに属するパケットを転送する傾向があり、これはフロースティックネスと呼ばれる。
【００９５】
発明の実施形態は、インターネットによる動的な複数のパスを活用する。本発明の実施形態では、ＩＳＰは ２つのエンドポイントを接続するために使用でき、それらは別々の管理ドメインを横断するため、それらの間に複数のパスを暗黙的に提供する。エンドポイントごとに単一のＩＳＰであっても、２つのエンドポイント間のトラフィックフローイングは別々のパスを通過する。これは、パス上の一部のルータに同じ宛先への複数の発信ルートがあるからである。この多数のネクストホップは、トラフィックを負荷分散するためにルータによって利用され、それによってパフォーマンスを向上させ、輻輳を軽減する。マルチパスルーティングの状況で、接続指向プロトコル（ＴＣＰなど）を破壊しないようにするために、ルータは同じフローに属するパケットを同じネクストホップに送信する傾向があり、フローのスティッキ性を強化する。本発明の実施形態は、“パスフィッシング”として定義するプロセスにおいて、これらの接続を確立したエージェントに関係なく、エンドポイント間の接続を積極的に維持する。
【００９６】
同じ２つのエンドポイント間に異なるルートを持つＣＳＰを検出することは、ルータがフローごとのロードバランシングをどのように実施するかによって異なる。特定のフローに属するパケットを識別し、それらを同じネクストホップにルーティングするために、通常、フローごとの不変フィールドに対してハッシュ値を計算する。一例は、ＵＤＰ／ＴＣＰフローパケットの５タプルであり：ＩＰ送信元、 ＩＰ宛先、ポート送信元、ポート宛先、および転送プロトコルＩＤである。本発明の実施形態では、ＵＤＰトンネルを使用する。他の実施形態では、ＩＰｓｅｃまたは他のトンネリング手法を使用できる。いくつかのケースでは、送信元または宛先ポートは存在しない。（例、ＥＳＰヘッダを使用してトンネリングモードで動作するＩＰｓｅｃパケット内であり、これはトンネルモードでのＩＰｓｅｃの最も一般的な設定である。）この場合、同じＩＰｓｅｃトンネルに属するすべてのパケットに対して安定したパスを維持するために、パス上のルータは、ヘッダの他のバイトを送信元ＩＰおよび宛先ＩＰとともにハッシュ値として使用できる。
【００９７】
発見されたＣＳＰは、関連するメトリックの集合に基づいて特徴付けられ、パスはそれらのうちの１つである。特徴付けは能動的または受動的のいずれかである。前者はアクティブプローブを使用して測定値を取得するが、後者は実際に転送されるトラフィックから測定値を収集する。同等のパスを持つ複数のＣＳＰが検出された場合でも、他のメトリクスに関しては、異なる動作ができる。２つのサイト間のＣＰＳの数は動的であり、必要なＱｏＥに応じてインテリジェントで管理する。
【００９８】
発明の一実施形態では、ＣＳＰの数は、唯一のトンネル識別子の数の部分で制限する。例えば、５タプル技術を使用する場合、特定の送信元から特定の送信先へのＣＳＰの数は、エンドポイント間で確立できる、一意の５タプルの数によって決まる。
【００９９】
図７は、本部のエンタープライズに接続する支社の、例示的な実施形態を示す。本実施例では、支社は２つの異なるＩＳＰ接続を有し、単一のＩＰを伴う１つのＩＳＰ（７００）は利用可能な２つの転送ポートを指定し、２つのＩＰを有する他のＩＳＰ（７１０）は３および２つの転送ポートをそれぞれ指定する。接続の他の側面では、本部は、１つのＩＰアドレスと２つの転送ポートを伴う単一のＩＳＰ（７２０）を有する。
【０１００】
ネットワーク・セットアップのトップでは、ローテーション間の全ての可能なＣＳＰ（７３０）も示される。支社内の全てのＣＳＰの注釈は、表示されない。これは単純なネットワークトポロジーであるが、エンタープライズはそれらのオフィスを相互接続するのにより複雑なトポロジーを必要とし得る。その結果、トポロジーは、ＣＳＰを決定づける。
【０１０１】
本例では、ＩＰ転送ポート制限は１４のＣＳＰが可能となり、支社で可能なＩＰ転送ポートのペアの数の合計と、本部で可能なＩＰ転送ポートのペアの数の合計として表現できる。したがって本発明の実施形態は、これら１４以上のＣＳＰのトラフィックを潜在的に転送できる。
【０１０２】
ネットワークの構成がＣＳＰの数を制限するので、伝達下のフロー数は、ユーザやアプリケーションによる。また、フロー数はＣＳＰの容量によって制限され、各接続の帯域幅である。さらに利用可能なＣＳＰにトラフィックを分散しながら、システムの粒度を高めるために、フローはサブフローに分割される。
【０１０３】
本発明の一実施形態では、フローは最大３２の異なるＣＳＰを同時に使用でき、各ＣＳＰはそのフローのサブフローの総数のサブセットを処理できる。代替実施形態では、使用できるＣＰＳの異なる数は、３２以上とすることができる。これは図８に示される。単一のフロー（８００）は、最大３２個のサブフロー（８１０）に分割され、最大６個のＣＳＰ（８２０）を通して伝達する。
【０１０４】
本発明の一実施形態では、オリジナルＭＰＴＣＰプロトコルを利用し、すべてのエンドポイント間でフルメッシュ接続を確立する。代替実施形態では、未使用トンネルのオーバーヘッドを排除し、可能なサブフローの数を増やし、ＣＳＰ割り当てのフローの制限を克服するために、ポイントツーポイント・トポロジーを使用する。
【０１０５】
ＣＳＰ方向性
【０１０６】
本発明の一実施形態では、ＣＳＰは、トンネルから継承された特性として双方向である。両方のＣＳＰ方向が同じネットワークパスを使用するかどうかは、ネットワークインフラストラクチャによって異なる。例えば、両方向のＩＰベーストンネルは、同じネットワークパスを通過する必要はない。それは、異なる特性（例、レイテンシ、または帯域幅の観点）を潜在的に有するトンネルの各方向となる。
【０１０７】
しかしながら、いくつかのアプリケーションおよび／またはプロトコルは、両方のフロー方向の特徴で、本非対称性により影響を受けることがある。例えば、新しいデータを転送する前のプロトコルの確認応答パケット（ＡＣＫ）への依存性のため、ＴＣＰ接続はＲＴＴ（双方向の合成遅延）に大きく依存し、グローバルなエンドツーエンドのＱｏＥを保証する。
【０１０８】
本発明の一実施形態では、各データパケットは、その時点でのアプリケーションの特性またはシステムのポリシーにより、よりよく適合するＣＳＰを通して転送できる。例えば、ＴＣＰ接続は、与えられたＣＳＰを通して最初に確立することもあるが、その後、データパケットは、より高い帯域幅などのより良い特性で同じ宛先に到達する、代替ＣＳＰを通して送信できる。さらに、対応するＡＣＫパケットは、レイテンシなどの他の特性に基づいて、必ずしもデータパケットと同じではない、これらのＣＳＰのうちのいずれかを通して戻ることができる。これらの決定は動的であり、時間とともにパケットごとに変わる可能性がある。
【０１０９】
本発明の一実施形態では、ＣＳＰは、上述したメトリクスの手段によって、識別される。加えて、フローは、それらの同じメトリックに加えて、それらのフローを開くアプリケーションによって定義された特定の特性（例えば、トラフィックの種類、ファイル転送サイズなど）に関して、一連の要件を有する。システムは、フローのパケットを転送するためにアプリケーションのニーズを最適化するＣＳＰを選択できる（ＶｏＩＰや、大量のデータ転送に使用可能な帯域幅が広いＣＳＰなど、レイテンシに敏感なアプリケーション用の低レイテンシＣＳＰ）。
【０１１０】
ＣＳＰを分類するために、トンネルが何らかの基準に違反したときに、動的に反応するトンネルの継続的な監視がある。例えば、ＣＳＰはスループットに従い分類できる。分類の実装では、ＣＳＰは、パケット損失メトリクスに従い分類できる。 例えば、カテゴリＡには特定のしきい値より高いスループットを持つＣＳＰが含まれ、カテゴリＢにはそのしきい値を下回るがパケット損失が少ないＣＳＰがある。
【０１１１】
加えて、分類パターンは、ある種類のトラフィックを伴うＣＳＰを随伴する。例えば、大きいファイルを送信する場合、所望のＣＳＰはエクセレント・スループットを有するべきである。代替的に、データ受理確認を送信する場合、レイテンシの短縮はスループットよりも好ましい。さらに、フローはユーザおよびアプリケーションの種類に従い、異なる優先を持つことができる。例えば、分類は、リアルタイムやＱｏＥなどの特性を損なうことなく、これらの優先順位を保証するのに役立つ。
【０１１２】
利用
【０１１３】
本発明の実施形態は、任意の装置またはネットワーク機器に利用することができる仮想マシン（ＶＭ）内で動作する“エージェント”として配置される。ＶＭの実行場所によって、ＣＳＰの送信元と送信先が決まる。ＶＭ展開オプションは３つあり、システムパフォーマンスの衝撃を有する：１．ＷＡＮを伴うＬＡＮを接続するネットワーク要件でのＶＭの実行；２．ＬＡＮ内の或る集約ポイントでのＶＭの実行；および３．ＬＡＮ内での各端末でのＶＭの実行である。
【０１１４】
代替の実施形態では、エージェントはＶＭではなく、コンテナの仕様で展開する。コンテナは、オペレーションシステムによって提供される軽い仮想化メカニズムであり、プロセスのグループまたはシステムリソースのグループを分離することを可能にする。例えば、Ｌｉｎｕｘでは、アプリケーションとネットワーク端末は、ネームスペースで分離できる。
【０１１５】
いくつかのケースでは、ＣＳＰは異なるネットワークドメインを横切ることがあり（例、異なる自律システム、ＡＳ）、インターネットコアのルータを含む。 加えて、上記の３番目のオプションを選択する場合、ＣＳＰは、ＬＡＮも横断する。図９Ａはこの状態を示す。２つのＩＰＳ接続（９１０）を有する１つのエンドポイント（９００）は、インターネットコア（９２０）を通した２つのＩＳＰをも有するもう１つのエンドポイント（９４０）に接続する。各ＣＳＰは、エンドポイントの１つのＩＰ／転送ポートのペアでスタートし、他のＩＰ／転送ポートのペアで終着する。
【０１１６】
エージェントが配置する場所は、ＣＳＰの総数に影響する。本決定は、接続するエンドポイントの数を決定づける。例えば、上記の１番目のオプションを使用し、ＬＡＮの入出力でＶＭを展開する場合、ＣＳＰの数は、ポイントの出入力で利用可能なＣＳＰ識別子の数を制限するために、削減する。開かれたポートに関するセキュリティ上の懸念があるため、この制限はエンドポイントによって公開する利用可能な転送ポートのポート数に起因する。対照的に、ＶＭがＬＡＮ内の全ての端末で展開する場合、より多くのＣＳＰ識別子が典型的に利用可能となるため、ＣＰＳの数はより多くなることができる。この選択は、計算能力、セキュリティ、および会社の方針の観点からも影響を及ぼす。各端末でのＶＭ作動は、いくつかの企業では望まれないだろう。なぜなら彼らはＬＡＮを保護するためにファイアウォールを使用することが好ましいからである。
【０１１７】
すべての端末上でＶＭを作動することはエンドツーエンドＱｏＥの結果になり得るが、ＬＡＮの出入り口のポイントでこれらを用いることは、ＱｏＥがこれら２つのポイント間のみで補償されるため、パフォーマンスの不確実性となり得る。さらに、内部のルーティングオプションは、典型的に制限するので、企業内のＣＳＰは、これらのリンクの大部分を共有しがちである。この事実は、相互干渉と輻輳が原因で、パフォーマンスに衝撃を与えることができる。
【０１１８】
３つ目の選択肢は、前２つ間で中級の解決策である。すべてのＬＡＮ端末でＶＭを作動するのでなく、特定の重要な集約のみがＶＭを行う。この手法は２番目の選択肢ほど積極的ではなく、ＬＡＮ内でもＱｏＥを認証できる。
【０１１９】
ＣＳＰアサイメント
【０１２０】
公衆インターネットを通した２つのエンドポイントを接続するパスの数は、特に大きくなることができる。 エージェントは、ＣＳＰとして昇格および利用するトンネルの適切なセットの決定に責任的である。パケットをスケジュールし転送するＣＳＰの選択は、動的である。本決定は、２倍の基準、トラフィック要件およびＣＳＰの特徴に基づく。前者は転送されたトラフィックの種類の分類からなるが、後者はＣＳＰの予防的モニタリングの結果となる。これは、動的にトラフィックを適合し、ネットワークで変更するために反応する。これは、エージトラフィック要件と一致するより良いメトリクスを伴うＣＳＰを可能にし、これ等の１つとなる測定可能なパスとなる；例えば、異なるＣＳＰは、異なるネットワークパス（完全に観測可能）を横断でき、システムは信頼性を高めるために、これらの異なるＣＳＰ上でパケットを複製することが決定できる。
【０１２１】
ＶＭの場所は独立的に作動するが、図９Ｂは、ＣＳＰのトンネルおよびプールのセット間の関係を示す。エンドポイントＡ（９５０）および エンドポイントＢ（９７０）は、中間のルータ（９６０）を通してインターネット上で伝達する。本シナリオでは、４つのユニークなパスがあり下の表の最初の４行に示されている。
【０１２２】
加えて、ＶＭを作動する異なる選択肢が、示される。一実施形態では、ＶＭは、エンドポイント要件（９８０）で作動するが、もう１つの実施形態では、ＶＭは、企業（９５０）のルータの出口でのみ、行われる。
【０１２３】
以下の表は、５つの可能なパスとそれぞれが通過するノードを示す。
2019523621.tif 000003
【０１２４】
２つの異なるＣＳＰが同じルータを通過することは可能であり、追加のトンネルが他のトンネルの１つと同じノードを交差することも可能であることに留意されたい。例えば、トンネル５はトンネル２と同じノードを通過し、トンネル６はトンネル１と同じノードを通過する。たとえ２つの異なるＣＳＰが同じノードを通過しても、これらは異なるパフォーマンスの特徴を有する。
【０１２５】
本例では、エージェントには、１つのアクティブＣＳＰ（トンネル１）、スタンバイＣＳＰ（トンネル２）、およびプロービングＣＳＰ（トンネル３）を有することがある。考えられるＣＳＰの状態および状態遷移の１つの可能なセットは、下記で詳細に説明する。ＣＳＰの積極的な管理とモニタリングは、それぞれを特定のしきい値に対して評価し、それに応じて行動を起こす（例、成果の低いＣＳＰを削除する）。プロービングＣＳＰがアクティブＣＳＰまたはスタンバイＣＳＰ、あるいはその両方のＣＳＰよりも優れていない場合は、破棄し、そのＣＳＰ  ＩＤ（５タプル）が別のトンネルに再利用される。ゆえに、新しいトンネルは、他の２つの使用が促進した場合に、プロービングＣＳＰを分析できるようにする。これらの間のＣＳＰの状態と転移は、以下でさらに詳細に述べる。
【０１２６】
本発明の一実施形態では、ＣＳＰのプールは、それらの１つ以上がプロービングＣＳＰとなる場合に使用される。ゆえに、パフォーマンスは周期的に、例えば５分ごとに評価する。代替の実施形態では、測定間の時間は、他の論理または行動パターンに基づいてもよい。測定のオーバーヘッドを減らすために、実際のトラフィックが伝達される場合はパッシブ測定を使用でき、これらのＣＳＰにトラフィックがない場合はアクティブ測定を使用できる。
【０１２７】
いくつかの実施形態では、他のＣＳＰのどれよりも優れていないプロービングＣＳＰ／トンネルの複数の連続テストは、システムにＣＳＰを廃棄させ、代わりにより良いものを選択させる。ＣＳＰを廃棄するための試験基準は、時間内に分散された連続試験からなり得る。このケースでは、ＣＳＰ上のアクティブフローがあり、アクティブフローが終了するまで維持されるが、新しいフローはこれに割り当てられない。これは新しい５タプルを伴うＣＳＰ／トンネルの再起動の原因となり、前記５タプルと同じになり得る。新しいＣＳＰは、転送ポートの送信元で異なり、現在は送信元で利用可能なポートよりランダムに選択される。本ポートの修正は、破棄した同じパスの再利用の可能性を最小限にするために、行われる。この変更にも関わらず、“新しい”トンネルが破棄されたまたはアクティブなトンネルとことなく特性を有することは、保証されない。この理由により、エージェントは、これが異なる特性を有するか否かをチェックする。 
【０１２８】
代替の実施形態では、同じ基本パスを使用する複数のＣＳＰが、維持される。これは、例え、ネットワークパスが同じであっても、異なるパフォーマンスが２つのＣＳＰを生じることができるという事実によるものである。これらの違いは、ルータとそのキューイング、ルーティング、および／または内部ロードバランシング戦略によって発生できる。
【０１２９】
いくつかの実施形態では、エージェントは、ＣＳＰをオープンに維持するためにＶＰＮソフトウェアの選択肢を通してキープ・アライブを送信する。本手法は、周期的にネットワークメッセージを発生し、例えば、トンネルを開いたままにしておくために、１０秒ごとにＩＣＭＰ“ｐｉｎｇ”パケットを送信する。
【０１３０】
代替的な実施形態では、ポリシーは、新しいトンネルをプローブし、動的アルゴリズムを使用して昇格／降格プロセスを誘導するタイミングを決定するために使用する。また、ＣＳＰをテストするためのサンプリング周波数、およびネットワークの状態に適切に適応するために必要な粒度も影響を受ける。
【０１３１】
ルートの識別性
【０１３２】
ＣＳＰを区別する１つの方法は、ＣＳＰが通過するパスを通ることである。このケースで、本情報は、利用可能であり公衆インターネットにおける、もう一つの大きな関心事を満たし、可視性を獲得する。ユーザは、どのノード（例えば、ＩＰアドレスのセット）が自分のトラフィックを通過するかについての制御、または少なくとも知識を得たいと考えている。本発明の実施形態は、この可視性を提供するために、２つの異なる手法を利用する。
【０１３３】
最初の方法は、“トレースルート”手法である。この手法は、Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ（ＴＴＬ）を増分して、一連のパケットを送信する。各パケットが或るルータで所望の最大数に達する場合、それらのルータはパケットを送信元に返し、どのノードに到達したかを示す。
【０１３４】
例えば、最初のパケットは、ＴＴＬ＝１を有する。一度、最初のルータが本パケットを受理し、１によるＴＴＬを減少する。結果的な値がゼロになるため、ルータはそれ自身のアドレスまたは識別性を示すパケットを返す。
【０１３５】
トレースルート方法は、完全に正確というわけではない。第一に、ルータは回答する責任を持たず、このケースでは、これらはそれら自身の正しい情報を送信しないかもしれない。それらは、それらのＩＳＰを示す一般的な回答を送信するか、あるいは間違ったＩＰアドレスさえ提供するかもしれない。これは意図的に行うことができるが、一般的にはそうではない。トレースルートの異常性は、Ｂ．Ａｕｇｕｓｔｉｎらによって、“パリのトレースルートでのトレースルートの異常回避”で分析し、説明されており、参照によって明細書に組み込まれる。トレースルートの異常は、一般にトポロジー自体またはルータのロードバランシングポリシーに関連する。
【０１３６】
また、トレースルート手法では、パケット交換ネットワークでは、必ずしも満たされないという仮定がある。１つのパケットは或るパスを使用できるが、次のパケットは異なるパスを使用するかもしれない。本ケースでは、インクリメンタルＴＴＬは、同じパス内でルータの識別性を提供しない。この事実は、潜在的に不正確なリンク識別性を招くこともある。
【０１３７】
一実施形態では、代替のＴＴＬ値を有するプローブが、トレースしたい接続フローの実際のトラフィックとして偽装する、トレースルート技法を修正する代替方法を使用する。パケットは、接続フローパケットの１つと、ルータの応答を特定のプローブで照合するためにフィンガープリントされたランダムなペイロードに等しい、５タプルを有するように偽造する。この修正したトレースルート手法は、プローブによる周知またはランダムなポートを使用せずに、実際のトラフィックフローをシミュレートするので、従来のトレースルート手法よりも信頼性がある。
【０１３８】
フロースティッキ性の影響（ロードバランサをまたぐ場合でも一般的に保証されている）と共に、経時的なルート変更の検出を含むルートの発見という点で、再現性のある結果を達成できる。しかしながら、本手法は、全てのトレースルーティング手法に影響する欠点を有する：（ｉ）ＮＡＴは、プライベートネットワークでの書き換え、（ｉｉ）ＴＴＬが満期になると、ＩＳＰが応答しなくなることに対処することである。
【０１３９】
修正したトレースルート手法に特有の特別な欠点は、５タプルがそのポート上のリスニングサービス（例えば、ＯｐｅｎＶＰＮサービス）に転送される実際の有効なタプルであるので、ラストホップから何の回答も受け取らない可能性である。トンネルサービスは、内部プロトコルの要件に従わないため、パケットをドロップするのに十分スマートであるが：その特定のプローブのＩＣＭＰ時間超過メッセージは生成されない。本目的のため、ツールは、終了して接続が終了したと判断する前にしばらくの間ＴＴＬ値を増分する応答を受信しなかった後も、プローブを送信し続ける。ルート発見の代替の手法は可能であり、いくつかの実施形態では、他のルート発見器を使用する。
【０１４０】
トンネルに沿って通過したネットワークノードに関する情報を提供することができる手法を確立すると、ノードのセットを含む情報を維持することができ、各パスについて関心のある他のメトリックを収集することができる。ゆえに、大きなＣＳＰプールを管理するのでなく、削減したＣＳＰセットは利用できる。この最適化は、ＣＳＰ管理の簡略化による、オーバーヘッドの削減となる。 
【０１４１】
ＣＳＰステータス
【０１４２】
ネットワークの変動はＣＳＰのパフォーマンスに影響を与え、エージェントが初期化されたときの静的設定が妨げられる。むしろ、ＣＳＰは、絶えず変化するインターネットの状況に適応する必要がある。この問題に対処するために、各ＣＳＰは、ＣＳＰの役割およびそれらの測定基準（例えば、スループット、レイテンシなど）に基づいて異なる状況を反映する一組の可能な状態を有する。
【０１４３】
最終ユーザにとってシステムは安定しているが、使用されるＣＳＰのセットは所望のＱｏＥを維持するために動的に変更される。図１０は、ＣＳＰの可能な状態の例を示す。一実施形態は５つの状態を使用する：アクティブ（１３１）、スタンバイ（１１１）、ウェイティング（１４１）、降格（１２１）、プロービング（１０１）である。他の実施形態はこれらの状態を修正でき、例えば、ウェイティング状態を除く。図１０に示される状態のダイアグラムは、これらの状態間の推移を表す。これらの状態は、下記で詳細に示される。
【０１４４】
アクティブ：これは送信可能なＣＳＰ、または現在トラフィックを送信しているＣＳＰ。
【０１４５】
スタンバイ：このＣＳＰ状態は、アクティブに昇格した場合に、使用する資格があることを意味する。その昇格は、ＣＳＰメトリクスに基づく（帯域幅、レイテンシなど）。昇格後、スタンバイＣＳＰはアクティブになる。品質が特定の基準に違反する場合、スタンバイＣＳＰも削除できる。
【０１４６】
ウェイティング：オープンのままで、パフォーマンスが一定の制限を超えた場合、またはより多くのリソースが必要な場合に、ＣＳＰをスタンバイに昇格することができる。例えば、ウェイティングＣＳＰは、時々高いパフォーマンスを有し、他の周期で低いパフォーマンスを有することがある。
【０１４７】
降格：アクティブＣＳＰが低下した後、降格状態になる。この状態は、システムが、そのＣＳＰに、新しいフローまたはトラフィックを割り当てることができないことを意味する。さらに、降格ＣＳＰを通した進行中のトラフィックを扱うための、異なる選択肢がある。例えば、積極的なオプションはＣＳＰをカットして、（送信されていたかバッファの上のパケットのために）ＴＣＰにパケットの損失を処理させることからなるだろう。もう１つの選択肢は、パケット損失なしに、ＣＳＰ間でソフトな推移を実装するだろう。この選択肢は、進行中のパケットを送付し、ＣＳＰを完全に降格する。
【０１４８】
プロービング：プロービングＣＳＰは、有効なＣＳＰとして昇格したり排除したりする前の、（対象となるネットワークメトリクスに従った）分析中のトンネルである。
【０１４９】
削除したＣＳＰは、それらに関連するすべてのものが消去されるため、状態とは見なされない。図１０の交差は、ＣＳＰの排除を表す。
【０１５０】
異なる状態の推移を決定付けるコンディションは、スループット、レイテンシ、およびパケット損害を含む、ネットワークメトリクスに依存する。本発明のいくつかの実施形態では、それらの推移は静的で手動的である。代替実施形態では、より多くの測定基準を考慮して、プロセスは自動化される。
【０１５１】
エージェントは、ＣＳＰ  ＩＤを含む状態ごとにキューを管理する。エージェントが伝達する新ＣＳＰを必要とする場合、アクティブキューにし、所望のメトリクを伴うＣＳＰ  ＩＤを選択する。加えて、優先は、ＣＳＰ選択プロセスを最適化する、これらのキューに適応できる。 
【０１５２】
ＣＳＰアサイメントのフロー 
【０１５３】
ポリシーは、フロー由来のサブフローの最大数および使用可能なＣＳＰの数を特定する。それらのパラメータのトップではＣＳＰ割り当てのフローは、パフォーマンスを最適化するために実装する。
【０１５４】
一実施形態では、新しいフローがＶＭに到達する場合、アクティブＣＳＰの数と同様のサブフローに分割する。ゆえに、１つのサブフローは、各アクティブＣＳＰを通して、送付する。このプロセスは静的で、新しいフローがエージェントに到着するたびに行われる。
【０１５５】
代替の実施形態では、トラフィックの特徴、およびネットワークコンディションに基づいて分割した、動的フロー／サブフローを利用する。動的な解決策は、分割した１つのフローおよびＣＳＰ割り当てはある瞬間に良いパフォーマンスを有するが、もう１つの時間に乏しいパフォーマンスを有するので、利点を有する。いくつかの実施形態では、サブフローの数は変動可能であり、ＣＳＰ割り当ては動的に変化できる。ＣＳＰは同様に動的であり、動的な割り当ては、アプリケーションタイプ、時刻、ユーザのタイプなどに依存できる
【０１５６】
アーキテクチャ
【０１５７】
異なるエンドポイント間で多数のＣＳＰを管理し、ＣＳＰの割り当てへのフローをネットワーク状態に適応させ、エンドツーエンドのＱｏＥを保証することは、スケーラビリティと複雑性の観点から重要な作業である。この管理は、とりわけネットワーク状態（例えば、輻輳、失敗など）、クロストラフィック干渉、および公衆インターネットの確率的性質への対処などのリアルタイム情報に基づいて、行動することを含む。これらの問題を取り組むために、階層アーキテクチャを定義した。図１１は、このアーキテクチャを示す。一実施形態は３層の階層システムを利用し、最上層は、グローバル層（１５１）、中間層は、中間層（１６１）、および最下層はデータ層（１７１）である。アーキテクチャの下部には、情報、測定値およびパケットを管理するデータラベルがある。上記のデータレベルは中間レベルであり、異なるサブレベルを集計の複数のレベルに分解できる。これらの範囲は、エンタープライズ要件（例、部署、ユーザポリシーなどおよびネットワークトポロジー（例えば、ＩＰＳ、ポートの数など）を含むローカルコンテスト情報（ＬＣＩ）を包含する。このレベルは、ＬＣＩに基づくＣＳＰ割り当てのフローを含むポリシーを扱う。アーキテクチャのトップには、社会政治的状況、壊滅的な災害、スポーツゲームなどの世界規模のイベントを扱う、グローバルレベルがある。このグローバルコンテスト情報（ＧＣＩ）は、より低いレベルをガイドするポリシーを発生するために、使用する。インターフェイスは通信を扱い、これらのレベル間の情報を交換する重要な特性は、半独立した運用体制である。データ層が上位層から切断した場合でも、利用可能な情報に基づいて動作を継続できる。
【０１５８】
本発明の実施形態は、それらの異なる文脈情報を利用して、それらの機能性を最適化するために各層に、分散学習アルゴリズムを有する。各層が異なる種類の情報を扱うという事実は、公衆インターネット上でＱｏＥを保証するための、スケーラブルな解決策の提供に貢献する。
【０１５９】
レベルが高いほど、システムの抽象度と範囲は高くなるが、粒度は粗くなる。それらのレベルは、異なるタイムスケールも反映する。データレベルはリアルタイムで作動できるが、中間およびグローバルレベルは作動しない。これらのさまざまな運用体制は、エンドポイントで作動するエージェント（データレベル）と、オンプレミスまたはクラウドで実行する、中間レベルおよびグローバルレベルの分散型アーキテクチャに起因する。
【０１６０】
単一エンタープライズの視点
【０１６１】
エンタープライズが本発明の実施形態を使用するエンドツーエンドＱｏＥを保証したい場合、それらのオフィスでエージェントを展開することは最初のアクションとなる。それらのエージェントの組み合わせは、データ層の実装となる。各エージェントは、ＣＳＰの管理に責任的であり、フローをポリシーのセットに基づいて割り当てる。
【０１６２】
それらのポリシーは、ＬＣＩに基づいて発生させる中間層のアウトプットである。同様に、中間層は、ＧＣＩを考慮するグローバル層よりポリシーを受理する。単一のエンタープライズのケースでは、中間層とグローバル層は、各ＱｏＥを確保するのに貢献する。図１２は、この状態を示す。エンタープライズ・エンドポイントでデータ層（２２１、２６１、２５１）を扱うエージェントは、ＩＳＰ（２３１）を通して、公衆インターネット（２４１）に接続する。中間層（２１１）およびグローバル層（２０１）は、公衆インターネット（２４１）並びにお互いの通信およびデータ層（２２１、２６１、２５１）にも接続する。
【０１６３】
グローバルな視点
【０１６４】
データ層に関する本発明の実施形態は、中間レベル内のサブ層の一部と共に、各クライアントについて複製される。グローバルレベルは、共同分析およびトラフィックを開発する、全て顧客間で共有する。情報を集約するにも関わらず、各エンタープライズのドメインは、データや通信のセキュリティおよびプライバシーを確定するために分離する。
【０１６５】
アーキテクチャのグローバルな視点は、図１３に示される。１番目のエンタープライズ“企業Ａ”（３２１、３３１、３７１）、および２番目のエンタープライズ“企業Ｂ”（３４１、３６１）を扱うエージェントは、ＩＳＰ（３５１）を通して 公衆インターネット（３９１）に接続する。“企業Ａ”（３１１）および“企業Ｂ”（３８１）の中間層並びにグローバル層（３０１）も、公衆インターネット （３９１）並びにそれぞれの通信および データ層（３２１、３３１、３７１、３４１、３６１）に結合する。
【０１６６】
本ケースでは、２つのエンタープライズがある。各オフィスは、他のオフィスの接続を確立し扱うエージェントを有する。これらのエージェントは、それぞれの中間層からポリシーやコマンドを受理し、クラウド上で作動する。同時に、中間層ソフトウェアはＧＣＩを扱うグローバル層よりポリシーを受理する。グローバル層は、世界中で分配されるクラウド上で作動することもある。
【０１６７】
本実例では、同じエンタープライズ内でのオフィスのみが、これらの間で接続できる。代替実施形態では、異なるエンタープライズよりオフィスを相互接続するより複雑な解決策を実装する。本トポロジーは、ポリシーの上昇した複雑性になり得る。中間層内の異なるサブ層は、特定のシナリオに適応するポリシーを発生するこの複雑性を扱うために、構成できる。
【０１６８】
代替実施形態では、企業間接続を扱うより高いサブ層を、各エンタープライズの特定のミッドレベルサブ層のトップで使用する。この構成は、図１４Ａおよび１４Ｂで示される。企業Ａ（４２１、４３１、４７１）、および企業Ｂ（４４１、４６１）でデータ層を扱うエージェントは、ＩＳＰ（４５１）を通して、公衆インターネット４９１）に結合する。企業Ａ（４１１）および企業Ｂ （４８１）の中間層に加えて、企業間エンタープライズ中間層（４８３）と同様にグローバル層（４０１）も、公衆インターネット（４９１）に接続し、互いにデータ層（４２１、４３１、３７１、４４１、４６１）と通じる。概念的に、３つの中間層は、企業Ａ中間層（４１３）および 企業Ｂ中間層（４２３）のトップで、Ａ−Ｂ企業間層（４０３）として見ることができる。
【０１６９】
中間層内の異なるサブ層を創造する１つの利点は、エンタープライズ間でのローカルな意識と、連携特徴を提供することである。異なるエンタープライズからのＬＣＩの組み合わせでデザインしたポリシーは、促進したパフォーマンスの結果となることができる。階層化したアーキテクチャは、エンドユーザーからは完全に透過的でありながら、複雑さに対処する。
【０１７０】
データ層
【０１７１】
データ層は、パケットと、フローとを扱い、ユーザデータにアクセスして作用する。この層は２つの主な要素、データプレーンおよびコントロールプレーンを有する。データプレーンは、一連のスイッチングおよびルーティングポリシーに基づき、パケットを転送する役割を担う。このプレーンは、フローおよび対応するサブフローを扱う。また、データプレーンは、トラフィックシェーピングおよび優先のための場所である。対照的に、コントロールプレーンは、ＣＳＰの管理、ＣＳＰ割り当てへのフロー、サブフローポリシーの適用、および学習アルゴリズムに重点を置く。
【０１７２】
主なタスクは、ＣＳＰメトリクスの測定および収集である。本発明の実施形態は、帯域幅、パケット損失、およびレイテンシを含む上述したメトリクスのセットを収集する。これらの分析の目的は、システムのパフォーマンスをリアルタイムで監視し、ＱｏＥを維持し改善するための決定を下すことにある。 
【０１７３】
重要な機能は、いくつかのネットワークメトリクスおよび主なパフォーマンス・インディケーター（ＫＰＩ）の抽出、変換、およびロード（ＥＴＬ）である。発明の一実施形態では、このデータはすべてキュレーションされ、その粒状性に基づいて、中間層に送信される。理想的には、厳密に必要な情報だけが、１つの層から他の層に行く。
【０１７４】
これらの層間通信の頻度は、周期的分布に従うことができる。例えば、データのセットの各秒は、データ層から中間層へ送ることができる。この間隔の値は、応答システムを有効にし、そのスケーラビリティを危険にさらさないために、非常に重要となる。間隔を短くすると、処理と伝達の両方で莫大なオーバーヘッドのコストがかかるが、より細かい粒度が得られる。長い間隔はそのコストを避けるが、反応時間を短縮する。ゆえに、精度とリソース使用量との間には、システムの粒度をコントロールするためのトレードオフがある。本実施形態では、データ層から中間層への通信の間隔は、およそ１秒である。代替えの実施形態では、他の間隔が実装される。
【０１７５】
一実施形態では、ＺｅｒｏＭＱは、高性能非同期メッセージングライブラリであり、メッセージパックは、コンピュータデータ交換フォーマットであり、この層間通信を可能にする。加えて、データプレーンの実施形態は、メッセージキューテレメトリトランスポート（ＭＱＴＴ）をサポートし、これは、ＴＣＰ／ＩＰのトップで使用するためのＩＳＯ規格のパブリッシュ・サブスクライブベースの軽量メッセージングプロトコルである。
【０１７６】
例外（イベントベース）メカニズムは、反応時間を改善するため利用される。データ層がＣＳＰの突然の変化を検出すると、インターバルベースの通信の外側で、中間層に例外を送信する。本例外は、このようなバリエーションをどのように反応するかを決める中間層での、異なるイベントの引き金となるだろう。この手法は、システムのスケーラビリティを改善し、同時に、わずかなオーバーヘッドで予期しない変更を管理するための反応時間を改善する。この機能は、エンドユーザーとアプリケーションに対する透過性を強化する。
【０１７７】
トンネルとＣＳＰの監視に加えて、データ層は、異なるＣＳＰにフローを分散するために、必要なタスクの実行も担当する。この機能には、パケットのカプセル化、オプションの暗号化、およびマルチパス・トランスポートを有効にするためのフローに対する、ｆｏｒｋ／ｊｏｉｎ操作の実行が含まれる。
【０１７８】
加えて、データ層は、利用可能な帯域幅、パケット損失、およびレイテンシのような物理的または仮想的なインターフェイスの特徴を測定する。並行して、データ層は、トンネルおよびＣＳＰ上の基本的な操作を実行する。例えば、データ層は、ＣＳＰの状態とは独立に、ＣＳＰ状態をオープンに維持するキープアライブメッセージを担当する。同じ原則を、トンネルにも適用する。トラフィックがそれらに送信されない場合、トンネルはＣＳＰになるか、またはトンネルは破棄される。 
【０１７９】
上述は、データ層の異なる機能性および中間層に送るものに関係する。逆方向では、中間層は、データ層を強化するためのポリシーを送信する。ポリシーは、情報の状態からアクションへのマッピングである。システムの状態を考慮して、ポリシーは、どのＣＳＰを使用してどのタイプのトラフィックを送信できるか、またトラフィックを他の機能とともにサブフローに分割する方法を決定付ける。ポリシーはまた、異なるＣＳＰ状態間の遷移（例えば、ＣＳＰが、アクティブからスタンバイへ移行すること）と共に、ＣＳＰへのトンネルの昇格／降格の引き金となる。ポリシーは、データの取得方法など、異なるイベントもコントロールする。
【０１８０】
本発明の実施形態では、ＣＳＰは、フォワードリターンペアになる。往路と復路は正確に合致する必要はないが、それらは独立して選択されない。ゆえに、ＣＳＰの選択は、ヘッドポイント（送信元）と、テールポイント（送信先）との共同責任であるべきである。重要な情報は、依然としてローカルなものであるが（ほとんどの場合、入力リンクと、出力リンクでのアクセス輻輳に関連する）、これは２つのエンドポイント（または、この通信が他の送信先を含む場合は、それ以上）ではローカルである。これは、ＣＳＰの選択が、中間層で行われる理由を正当化する。両方のケースでは、中間層はブローカーとして機能し、さまざまなエージェントに影響を与える決定を下す。
【０１８１】
ポリシーに加え、中間層は、データ層が送信した分析に基づいて、または特定のメトリックを要求するために、ＣＳＰへの特定のトンネルを促進するコマンドを送信することもできる。コマンドを受信すると、データ層は、所望のアクションを行う。もう一つのコマンド例は、トンネルのプルーブである。ゆえに、データ層は、その状態に関係なくすべてのＣＳＰを観測するが、それらに基づいて行動するには、中間層からのポリシーが必要である。この場合のコントロールは、スケーラビリティの問題により、データ層から消去される。
【０１８２】
ポリシーには、データ層が実行できる、異なる自由度を有することができる。例えば、ポリシーは、１０Ｍｂｐｓ以上のスループットを伴うＣＳＰのみが利用できることを示すことがある。この状態では、データ層は、この条件を満たすＣＳＰのうちどれを使用するかを決定できる。いくつかの実施形態では、条件付きの状態に基づく制御アルゴリズムとして機能する厳密なポリシーを利用する。もう１つの実施形態では、より高い柔軟性は、中間層のポリシーによって可能となる。インテリジェントアルゴリズムは、パフォーマンスを最適化するために、これらの自由度を利用することができる。例えば、機械学習アルゴリズムを使用して、中間層ポリシーを維持しながら、どのＣＳＰを介してデータが送信されるかを決定するために、リアクティブ情報（すなわち、各ＣＳＰでのテスト）を利用することができる。
【０１８３】
本発明の一実施形態では、データ層のすべての機能は、各エンドポイントにあるエージェントの仮想マシン（ＶＭ）上で実行する。１つのＶＭは、１つのエンドポイントの物理的なポートのセットを管理できる。データ層は、アーキテクチャ全体の基盤を構成するため重要である。マルチパスの最適化およびアルゴリズムの学習は、データ層の上位に構築される。
【０１８４】
要約すると、好ましい実施形態では、データ層は、以下の機能を行う：１．ＣＳＰ上のメトリクスおよび間隔を基礎としたトンネルの測定；２．キュレート分析；３．ＣＳＰアライブの維持；４．中間層ポリシーおよびコマンドの実行；５．リアルタイムのコントロールオペレーション；および６．アプリケーションの解読および分類（ポリシーによりコントロール可能である）。 
【０１８５】
好ましい実施形態では、データ層は、以下の入力を有する：１．中間層ポリシー；および２．トンネル、ＣＰＳ、およびフロー管理のコマンド；並びに以下の出力： １．ＲＴＴ、片道遅延、スループット、容量、およびトレースルート、などのキュレート分析（ＣＰＳおよびトンネル）；並びに２．極端な状況の場合に例外を処理する（例、利用可能なＢＷなどの或る容量の突然の紛失）。
【０１８６】
データ層のいくつかの実施形態は、以下のモジュールを構成する：１．サブフローマネージャー；２．アプリケーションの分類；３．ネットワークコントローラー；および４．レポートエージェント。代替の実施形態では、データ層はまた、中間層ポリシーによって許容する自由度を行うための機械学習アルゴリズムを実装し、そして新しいネットワークメトリクスおよび互いの関係を発見する。
【０１８７】
中間層
【０１８８】
中間層は、各企業それぞれのシステムを理解しコントロールする層である。本発明の一実施形態では、本情報は、ＩＳＰ、物理的なインターフェイス、ＩＰアドレス、転送ポート、トポロジーなどの詳細を含む。この情報は、ローカルコンテキスト情報（ＬＣＩ）と呼ばれるものを含む。加えて、ＬＣＩは、異なるアプリケーション間の優先順位、新しいポリシーを導くパターンを創造するためのアプリケーションおよびフローのカテゴリ、とりわけクロストラフィックに関する情報を含む。ゆえに、この層の範囲は、各エンタープライズの内側のシステムの写真を創造する。
【０１８９】
中間層はまた、トンネル識別子を通過する異なるトンネルを探索するように、データ層に指示する。データ層がネットワーク測定値を送り返すと、中間層は、ポリシーまたはコマンドを通して、それらをＣＳＰに昇格するか降格するかを決定できる。ゆえに、それらの順番は、所望のポリシーまたはコマンドを行うデータ層へ、送り返される。他のコマンドは、利用可能な帯域幅、レイテンシＣＳＰ状態間の推移の測定を含むことができ、データ層でＥＴＬを行う頻度を修正でき、ローカルコンテキストの意識（エンタープライズ・レベル）を利用するポリシーを定義できる。 
【０１９０】
加えて、中間層は、入力として、キュレーション分析と組み合わせてポリシーを誘導する入力アプリケーションおよびユーザの要件を有する。中間層は、論理層であるため、フローまたはアプリケーションデータを見ない。いくつかの実施形態では、ネットワーク構成（転送ポート、ＩＰアドレス、インターフェイスなど）は、各エンタープライズのＩＴ担当者によるＧＵＩを通して、この層に入り込む。代替の実施形態では、この情報は、自己発見プロセスの結果である。
【０１９１】
上位層への出力として、中間層は、（すべての中間レベルのサブ層からの）予期しない状況および接続の状態による、パフォーマンス上のボトルネックについての情報をグローバル層に送信する。より良いスケーラビリティを有するめに抽象化を得ながら、粒度を減らすために、より高いレベルに進む前に、ステータステストおよびデータ分析が再度キュレーションされる。逆方向では、中間層は、グローバル層からのポリシーおよびコマンドを受理する。これらの規則はより高い層から来るので、それらはより抽象的であり：政治状況を避けるために、或る国を横断するネットワークパスを使用しない。データ層、中間層およびグローバル層間の関係は、軍事組織に類似化することができる。兵士（データ層）は、キャプテン（中間層）から注文を受け、同時に将軍（グローバル層）からの注文に従う。ポリシーを作成する層が高いほど、その細分性は低くなるが、低いレベルで保証する優先順位は高くなる。
【０１９２】
機械学習アルゴリズムは、ローカルのコンテキスト情報（ＬＣＩ）を活用して、解決策のパフォーマンスを向上させる新しいポリシーを動的に調整または作成できる。グローバル層ポリシーによって残された自由度は、中間層の改善分野を決定する。これは、学習アーキテクチャも各層で利用可能な情報に従い、階層構造に従うことを明らかにする。
【０１９３】
好ましい実施形態では、中間層は、エージェントではなく、クラウド上で作動する。異なるサブ層は、中間層を形成でき、階層方法でも整理される。サブ層の数は、扱うコンテキスト情報、実装するインテリジェンスの量、とりわけエンタープライズの関係によるであろう。 
【０１９４】
サマリーでは、好ましい実施形態では、中間層は下記の機能を実行する：１．システムのビュー（全社的）の処理；２．ＣＳＰおよびトンネルの管理；３．データ層へのポリシーおよびコマンドの送信；４．グローバルデータ層からのポリシーおよびコマンドの実行；並びに５．データプレーンおよびより低い中間層からの測定を収集し、処理する。
【０１９５】
好ましい実施形態では、中間層は、下記の入力を有する：１．グローバル層からのポリシー；２．データ層からのキュレートデータ分析；並びに下記の出力を有する：１．グローバル層へのキュレートデータ分析；２．データ層へのポリシーおよびコマンド３．ＬＣＩ；および４．ＧＵＩユーザデータ。
【０１９６】
代替の実施形態では、中間層は、トラフィックパターンのポリシーおよび分類を動的に創造する、機械学習アルゴリズムを利用する。
【０１９７】
グローバル層
【０１９８】
グローバル層は、すべてのエンタープライズ、グローバル公衆インターネット、および社会政治的出来事、ニュースなどの外部要因を含むシステムの全体像を有する。ゆえに、このレベル内のコンテキスト情報は、中間層に関して単一エンタープライズの焦点を超えているため、グローバルコンテキスト情報（ＧＣＩ）である。
【０１９９】
グローバル層は、中間層より受理したキュレート分析に従い、そのポリシーと決定をも誘導する。これらのポリシーは、そのルールとその自由度の制約により、下位層で最適化の余地を残す。グローバルポリシーの例は、或る国のリンクを使用しない、スポーツイベントによる混雑を避けるか、もしくは休日または夜間による低い利用を有する地域を通すＣＳＰを利用するであろう。
【０２００】
要約すると、好ましい実施形態では、グローバル層は以下の入力を利用する：１．中間層からのキュレート分析；２．社会政治的出来事に関する外部情報；および３．情報のクロール、並びに以下の出力を有する：１．中間層へのポリシーおよびコマンド
【０２０１】
代替の実施形態では、グローバル層は、動的なポリシーを創造する機械学習に適応し、世界的な出来事およびネットワークメトリクス間の関係を確立する。
【０２０２】
学習
【０２０３】
異なるレベルで構成したシステムアーキテクチャを、上述した。また、いくつかの実施形態では、各レベルにおいて、利用可能な情報を活用して、より良い決定を下し、システム全体のパフォーマンスを最適化する学習アルゴリズムを採用するという事実も上述した。以下に、各レベルでの学習の下に、その主なタスク、必要な入力および出力、およびそれらの最終目的を含めて説明する。
【０２０４】
本実施形態の学習ソリューションは、３つの異なる層に適用される：（i）データ層、（ii）中間層、および（iii）グローバル層。これらの３つの層は、学習の３つの異なるステージを翻訳する。データ層から始めて、伝達するＣＳＰとパケットに関する情報に基づく、反応フェーズがある。中間層では、エンタープライズ内の交差トラフィックなどのＬＣＩによるローカルフェーズがある。最後に、グローバル層では、より高い抽象化（例、一国からのトラフィック）を伴うトラフィックフローを扱う、グローバルフェーズがある。 
【０２０５】
より高い層は、より大きなレイテンシを犠牲にしてより良い可視性を持ち、それらのリアルタイム能力を低下させる。図１５は、アーキテクチャのフレームワーク内のこれらの異なるフェーズを示す。学習モジュール（５３１）を有するグローバル層（５０１）は、学習モジュール（５４１、５５１）を有する中間層（５１１）に結合され、学習モジュール（５６１）を有するデータ層（５２１）に結合する。
【０２０６】
これら３つのレベルで学習を分解することの利点は、異なる時間および抽象化の体制を通して、インターネット規模の解決策を提供することにある。本発明の実施形態は、最下層のエージェントから中間層およびグローバル層のクラウドまで、各アーキテクチャ層における、異なるインフラストラクチャ機能から利益を得る。ゆえに、システムがリアルタイムの制約に直面する場合、データ層でワークロードを実行しながら、容量の問題が少ないクラウドで、大量の重要でないデータを処理できる。 
【０２０７】
本発明の実施形態のマルチレベル学習アーキテクチャは、階層学習（ＨＬ）として示され、さらに図１６に示される。グローバル層（６０１）は、中間層（６１１）に結合され、中間層（６１１）はデータ層（６２１）に結合される。
【０２０８】
ＨＬアーキテクチャの実施形態は、各レベルで、異なる機械学習手法を使用する。例えば、１つのレベルは再帰的ニューラルネットワーク（ＲＮＮ）であり、次のレベルはディープラーニング（ＤＬ）を実装できる。各レベルは、下位レベルの出力が上位レベルの入力の１つになるという点で、互いに接続される。加えて、各層は、層の相互接続を補完する独自のデータセットを有する。
【０２０９】
例えば、データ層は、入力としての反応的な情報およびと中間層からの入力を有する（例えば、ポリシー）。結果として、学習システムの適切な機能を保証するために決定を下す可能性があるため、各レベルは独立する。例えば、データ層およびその反応的な学習アルゴリズムがクラウドより切断されたケースでは、データ層内のローカル学習は、層が利用可能であるという情報に従い、フローを最良のＣＳＰに割り当てことを決断できる。このケースでは、情報の深度はクラウドと同様ではないが、システムは働き続ける。その後、各層が接続され適切に機能している場合、各レベルからの抽象化およびそれらが持つ異なるシステムビジョンを活用することができる。 
【０２１０】
インフラストラクチャ機能は、ＨＬの重要なパラメータになる。エージェントは機能の異なる異種端末でホストされるため、各端末で実行する学習アルゴリズムは実行プラットフォームによって大きく影響する。例えば、いくつかの実施形態では、ＶＭはハイエンドサーバーで展開するが、他のケースでは、携帯電話などのリソースに制約のある端末で実行される最適化されたエージェントを検討する。 
【０２１１】
異種端末で実行する際の問題を避けるために、インフラストラクチャの能力は、各学習レベルでの入力として用いられる。そして、能力は、あるレベルから別のレベルへのフィードバックを通して、ＭＬベースの決定に影響を与える。この設計の特徴により、基盤となるインフラストラクチャに応じて、階層学習の自律的最適化が行われる。データ層のノードがより多くの計算を引き受けることができる場合、それはこの事実を中間層に伝達する。中間層はかくして、そのポリシーにさらに自由度を残す。逆のケースでは、エージェントはその限られたリソースを通信することができるので、ポリシーはより制約され、したがってより少ない計算リソースを必要とする。
【０２１２】
各ＨＬレベルで使用するＭＬ手法は、上位層からのポリシーによって課される制約に基づいて決定する。それらのポリシーは、システムを管理する各レベルで利用可能な情報に従って、動的に定義される。例えば、それらは利用可能な異なるＣＳＰへのフロー割り当てを指定する。それぞれのポリシーは異なる自由度を残しており、それらのポリシーに違反することなく、機械学習手法を適用するために、下のレベルで行われる。
【０２１３】
いくつかの実施形態は、（ニューラルネットワークにおける重み、またはベイズネットにおける確率表などの）機械学習パラメータが、層間で交換することを可能にし、すなわち、すでに訓練した機械学習エンジンを複製することによって得られた知識が交換される。このアプローチにより、各層がポリシーとコントロールコマンドを自身で取得できるようになり、クラウドから切断された場合でも、層の自律性が保証される。このアプローチはまた、より迅速な意思決定を意味する。言い換えれば、最下層は上層の可視性と知識を獲得し、逆もまた同様である。各層は、機械学習パラメータを更新するように努める。 
【０２１４】
例えば、中間層はデータ層にポリシーを送信して、１０Ｍｂｐｓを超えるスループットを伴うＣＳＰのみを使用できるように指定する。反応的な情報に従って、データ層ＭＬアルゴリズムは、ポリシーおよびそれが有する自由度に基づく、パフォーマンスを最適化できる。このケースでは、データ層は、その条件を満たすすべてのアクティブＣＳＰから選択できる。もう１つのより制限的な状況は、特定のアクティブＣＳＰのみを使用することある。ここでは、ポリシーによって利用可能な動作が制約しているため、データ層ではほとんど最適化できない。
【０２１５】
これらの自由度は、システム変数（エージェントの機能、コンテキスト情報、ネットワーク設定、トラフィック干渉など）を考慮して、各階層レベルで動的に最適化される。ＨＬアーキテクチャは、概念的にはＮＮ上の異なる反復を連結する、リカレントニューラルネットワーク（ＲＮＮ）と類似する。さらに、ＮＮを常に同様にするのではなく、それらの間のフィードバックを維持しながら、異なるＭＬ手法が各レベルの新しい入力と連結する。 
【０２１６】
本発明の実施形態では、機械学習は、異なる分野で適用する。ＨＬの内側のアルゴリズムは、分野の広範囲に適用できる、例えば：１．トンネル発見（ＩＰアドレス、ディスカバリ時間などに基づいて通過したネットワークノードとのパス情報）；２．ＣＳＰ昇格および降格；３.ＣＳＰ状態推移；４．ＳＬＡ、ＱｏＥなどのアプリケーションタイプに従ったＣＳＰ分類；５．フローおよびトラフィック分類；６．ＣＳＰへのフロー割り当て（コンテキスト情報、インフラストラクチャ機能、ネットワーク条件などに基づくフロー分割（サブフロー数による））７．履歴や出来事などに従ったネットワーク状態の予想；並びに８．ポリシー生成（中間およびグローバル層内）。これらの分野は、より高いレベルからのポリシーによって課される各建築レベルにおける自由度により調整される。
【０２１７】
ＭＬ手法を適用する主なエリアは、利用可能なＣＳＰへのフロー割り当てである。効果的な解決策を提供するため、動的である必要があり、ネットワーク変動に適応する。考慮すべきデータ量は膨大であり、時間とともに大きく変動し、アーキテクチャにとって大きな課題となる。これは、より静的なＣＳＰ／トンネル検出とは対照的である。
【０２１８】
ＣＳＰ割り当てに最適化されたフローを提供するために、異なるＭＬ技術をＬアーキテクチャで実行することが考えられる。いくつかの実施形態では、データ層では、リアルタイムの反応的情報を扱う、リカレントニューラルネットワーク（ＲＮＮ）を使用する。中間およびグローバル層では、ディープラーニング手法の利点は、それぞれローカルおよびグローバルのコンテキスト情報をカバーするために動作する。
【０２１９】
本発明は、いくつかの好ましい実施形態について上述された。これは説明の目的のみになされたものであり、そして本発明のバリエーションは、当業者には容易に明らかであり、そしてまた本発明の範囲内に入るものである。
【図１】
2019523621.tif 000004
【図２】
2019523621.tif 000005
【図３】
2019523621.tif 000006
【図４】
2019523621.tif 000007
【図５】
2019523621.tif 000008
【図６Ａ】
2019523621.tif 000009
【図６Ｂ】
2019523621.tif 000010
【図７】
2019523621.tif 000011
【図８】
2019523621.tif 000012
【図９Ａ】
2019523621.tif 000013
【図９Ｂ】
2019523621.tif 000014
【図１０】
2019523621.tif 000015
【図１１】
2019523621.tif 000016
【図１２】
2019523621.tif 000017
【図１３】
2019523621.tif 000018
【図１４Ａ】
2019523621.tif 000019
【図１４Ｂ】
2019523621.tif 000020
【図１５】
2019523621.tif 000021
【図１６】
2019523621.tif 000022
【国際調査報告】
2019523621.tif 000023
2019523621.tif 000024
2019523621.tif 000025