(57)【要約】方法は、ソフトウェア定義ネットワーク（ＳＤＮ）におけるトランスポートを通じてオープンする制御チャネルのタイプを、第１のネットワークデバイスが判定することを含みうる。本方法は更に、データプレーンとは別個の制御プレーンを介して制御デバイスとの制御チャネルを確立することを含みうる。本方法は更に、当該制御チャネルを介して制御デバイスに第１のセキュリティアソシエーションパラメータをアドバタイズすることを含みうる。本方法は、第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、制御チャネルを介して制御デバイスから受信することを含みうる。本方法は更に、第２のセキュリティアソシエーションパラメータを使用して、第２のネットワークデバイスとのデータプレーンコネクションを確立することを含みうる。
2020530957.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
第１のネットワークデバイスが、ソフトウェア定義ネットワーク（ＳＤＮ）におけるトランスポートを通じてオープンする制御チャネルのタイプを決定することと、
データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、
第１のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、
第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、
前記第２のセキュリティアソシエーションパラメータを使用して前記第２のネットワークデバイスとのデータプレーンコネクションを確立することと、
を含む方法。
【請求項２】
認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項１に記載の方法。
【請求項３】
前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項２に記載の方法。
【請求項４】
前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換（ＮＡＴ）を決定することを更に含む、請求項３に記載の方法。
【請求項５】
前記アップストリームパスのための前記ＮＡＴを、前記制御デバイスに送信することを更に含む、請求項３又は４に記載の方法。
【請求項６】
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、
前記制御デバイスへの接続に使用するために前記第１のネットワークデバイスが使用可能な複数のトランスポートを識別することと、
前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、
を含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記第１のセキュリティアソシエーションパラメータは、前記第２のネットワークデバイスに反映されるキーを含み、前記キーは、前記第２のネットワークデバイスとの前記データプレーンを確立するために使用される、請求項１から６のいずれか１項に記載の方法。
【請求項８】
非一時的なコンピュータ読み取り可能媒体であって、当該媒体に格納されたコンピュータ読み取り可能命令を含み、当該命令は、
第１のネットワークデバイスが、ソフトウェア定義ネットワーク（ＳＤＮ）におけるトラポートを通じてオープンする制御チャネルのタイプを決定することと、
データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、
第１のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、
第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、
前記第２のセキュリティアソシエーションパラメータを使用して前記第２のネットワークデバイスとのデータプレーンコネクションを確立することと、
を含む動作の実行を行う又は制御するためにプロセッサにより実行可能である、コンピュータ読み取り可能媒体。
【請求項９】
前記動作は、認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項８に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１０】
前記動作は、前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項９に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１１】
前記動作は、前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換（ＮＡＴ）を決定することを更に含む、請求項１０に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１２】
前記動作は、前記アップストリームパスのための前記ＮＡＴを、前記制御デバイスに送信することを更に含む、請求項１０又は１１に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１３】
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、
前記制御デバイスへの接続に使用するために前記第１のネットワークデバイスが使用可能な複数のトランスポートを識別することと、
前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、
を含む、請求項８から１２のいずれか１項に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１４】
前記第１のセキュリティアソシエーションパラメータは、前記第２のネットワークデバイスに反映されるキーを含み、前記キーは、前記第２のネットワークデバイスとの前記データプレーンを確立するために使用される、請求項８から１３のいずれか１項に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１５】
システムであって、
メモリと、
１つ以上のプロセッサとを備え、当該１つ以上のプロセッサは、
ソフトウェア定義ネットワーク（ＳＤＮ）におけるトランスポートを通じてオープンする制御チャネルのタイプを決定することと、
データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、
第１のネットワークデバイスに関連付けられた第１のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、
第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、
前記第２のセキュリティアソシエーションパラメータを使用して前記第２のネットワークデバイスとのデータプレーンコネクションを確立することと、
を含む動作を実行するように構成される、システム。
【請求項１６】
前記動作は、認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項１５に記載のシステム。
【請求項１７】
前記動作は、前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項１６に記載のシステム。
【請求項１８】
前記動作は、前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換（ＮＡＴ）を決定することを更に含む、請求項１７に記載のシステム。
【請求項１９】
前記動作は、前記アップストリームパスのための前記ＮＡＴを、前記制御デバイスに送信することを更に含む、請求項１７又は１８に記載のシステム。
【請求項２０】
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、
前記制御デバイスへの接続に使用するために前記第１のネットワークデバイスが使用可能な複数のトランスポートを識別することと、
前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、
を含む、請求項１５から１９のいずれか１項に記載のシステム。
【請求項２１】
装置であって、
第１のネットワークデバイスが、ソフトウェア定義ネットワーク（ＳＤＮ）におけるトランスポートを通じてオープンする制御チャネルのタイプを決定する手段と、
データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立する手段と、
第１のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズする手段と、
第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信する手段と、
前記第２のセキュリティアソシエーションパラメータを使用して前記第２のネットワークデバイスとのデータプレーンコネクションを確立する手段と、
を備える装置。
【請求項２２】
請求項２から７のいずれか１項に記載の方法を実行する手段を更に備える、請求項２１に記載の装置。
【請求項２３】
コンピュータによって実行されると当該コンピュータに請求項１から７のいずれか１項に記載の方法のステップを実行させる命令を含むコンピュータプログラム、コンピュータプログラム製品、又はコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年７月２１日に提出された米国特許出願第６２／５３９，４３１号の優先権を主張し、その全体が本明細書により援用される。
【０００２】
本開示で説明される実施形態は、動的なディスアソシエート・チャネル暗号化キー配布に関する。
【背景技術】
【０００３】
ネットワークの使用は、別個のコンピューティングデバイス間の通信を可能にするのに有用なツールである。コンピュータ、及びコンピュータが通信するネットワークが急増しているにもかかわらず、現在のネットワーク技術には依然として様々な制限が残っている。
【０００４】
本開示において請求される主題は、任意の欠点を解決する又は上述のような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、本開示で説明されるいくつかの実施形態が実施されうる技術分野の一例を示すためにのみ提供される。
【発明の概要】
【０００５】
本発明の態様は独立請求項に記載されており、好ましい特徴は従属請求項に記載されている。１つの態様の特徴は、各態様に対して単独で、又は他の態様と組み合わせて適用されうる。
【０００６】
本開示の１つ以上の実施形態は、ソフトウェア定義ネットワーク（ＳＤＮ）におけるトランスポートを通じてオープンする制御チャネルのタイプを、第１のネットワークデバイスが決定することを含みうる方法を含みうる。本方法は更に、データプレーンとは別個の制御プレーンを介して制御デバイスとの制御チャネルを確立することを含みうる。本方法は更に、当該制御チャネルを介して制御デバイスに第１のセキュリティアソシエーションパラメータをアドバタイズすることを含みうる。本方法は、第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを、制御チャネルを介して制御デバイスから受信することを含みうる。本方法は更に、第２のセキュリティアソシエーションパラメータを使用して、第２のネットワークデバイスとのデータプレーンコネクションを確立することを含みうる。
【０００７】
本開示の１つ以上の実施形態は、そのような方法の実行を容易にするためのシステム及び／又は非一時的なコンピュータ読み取り可能媒体を更に含みうる。
【０００８】
実施形態の目的及び利点は、少なくとも、請求項において具体的に指摘されるエレメント、特徴、及び組み合わせによって実現されて達成される。
【０００９】
前述の全体的な説明及び以下の詳細な説明の両方は、単に例及び説明のためのものであり、請求される本発明を限定するものではないことを理解されたい。
【図面の簡単な説明】
【００１０】
実施形態の例は、以下の添付図面を使用して更なる具体性及び詳細を伴って記載及び説明される。
【００１１】
【図１】図１は、ソフトウェア定義ネットワーク（ＳＤＮ）を実装するネットワークコンポーネントのシステム例を示す。
【００１２】
【図２】図２は、ＳＤＮを実装する他のシステム例を示す。
【００１３】
【図３】図３は、制御プレーンの実装のシステム例を示す。
【００１４】
【図４】図４は、データプレーンの実装の他のシステム例を示す。
【００１５】
【図５】図５は、ＳＤＮ内に制御プレーン及びデータプレーンを確立する方法例のフローチャートを示す。
【００１６】
【図６】図６は、ＳＤＮ内に制御プレーン及びデータプレーンを確立する他の方法例のフローチャートを示す。
【００１７】
【図７】図７は、ＳＤＮ内に制御プレーン及びデータプレーンを確立する他の方法例のフローチャートを示す。
【００１８】
【図８】図８は、コンピューティングシステムの例を示す。
【発明を実施するための形態】
【００１９】
暗号化は、現代の通信ネットワークにわたって行われているデータのやりとりの大部分の基礎的となる機能である。エンドポイントの認証、セキュアな制御パス及びデータパスの確立、並びに暗号化キーのやりとりに関わる課題は重要である。セキュア通信チャネルを確立する際の多くの課題の１つは、いわゆる中間者攻撃（man-in-the-middle attack）を受けることなく、エンドポイント間でやりとりされる認証情報及び暗号化キーのための能力を提供することである。中間者攻撃は、やりとりされる情報をサードパーティが傍受することができるように、やりとりされる情報の、当該サードパーティによる盗聴及び潜在的な変更を伴う。中間者攻撃を軽減するために使用されるいくつかの従来技術は、ディフィ・ヘルマン（Diffie-Hellman）及び楕円曲線ディジタル署名アルゴリズム（ＥＣＤＳＡ）を含む。
【００２０】
本開示の態様は、従来のネットワークにおける各種のセキュリティ上の欠陥を軽減するための従来のアプローチについてのこれらの及び他の欠点に対処する。例えば、本開示は、認証及び暗号化キーのやりとりに、比較的セキュアで、かつ、ディスアソシエート・チャネル（disassociated channel）を使用することによって、非セキュア媒体上でセキュア通信を提供しなければならないという課題に対処する。ディスアソシエート・チャネルは、データ及び制御プロトコル処理の観点から、非セキュアチャネルと同じ機能性を提供し、ある信頼レベルを提供する通信チャネルが使用されることを所与のネットワークの実装者が決定でき、中間者攻撃の可能性を低減するという追加の利点を有する。ほとんどのプライベート通信ネットワーク（例えば、ＭＰＬＳ、リース回線ＴＤＭ、又はプライベートフレーム／ＡＴＭネットワーク）は、一般に、オープンインターネットよりも良好なレベルのセキュリティ及び完全性を提供しうるため、本開示は、プライベートネットワークを、インターネット用のディスアソシエート・チャネルとして使用することによって、暗号化及び認証情報のあらゆるやりとりのセキュリティを大幅に改善しうる。絶対的にセキュアであると見なすことができるネットワークはほとんどないので、認証及びセキュア交換機能の所与のセットが、要求条件を緩和することなくそのまま使用されうる。
【００２１】
本開示は、情報、具体的には所与のプロトコルアドバタイズメント及び関連するメッセージの発信者のローカル通信パス情報を搬送している特定のパスを識別する能力を有するプロトコルを提供する。本開示は更に、前述の通信パスからディスアソシエート・チャネルを介してアドバタイズされる、ローカル通信パスに関する情報を収集するための、帯域外メカニズムを提供しうる。本開示は更に、プロトコルが特に動作可能でないパス（即ち、ディスアソシエート・パス）を通じて、暗号化された通信チャネルを確立するために必要とされる全ての情報を搬送するプロトコルを提供しうる。本開示は更に、前述のプロトコル内で、アドバタイズされた各ローカルパスと、各ローカルパスに関連付けられた共有の又は固有の暗号化パラメータとを一意に識別する能力を提供しうる。本開示は更に、ローカル暗号化エンドポイントが、ネットワークアドレス変換（ＮＡＴ、ＩＥＴＦ ＲＦＣ２６６３）の対象であってもなくてもよいパスを通じて、暗号化された通信を確立しながら、それらのパスを、制御チャネルパスからディスアソシエートされたものとして管理する能力を提供しうる。本開示の他の利点は、他のローカルパスのための潜在的なネットワークアドレス変換条件を発見する目的で、ディスアソシエート・チャネル又はパス上で実行されるプロトコルとは異なる制御プロトコルの使用を含みうる。
【００２２】
少なくともいくつかの実施形態では、システムは、サイト間の相互接続に、プライベートネットワーク及びパブリックインターネットを使用するネットワークを含み、この場合、プライベートネットワーク及び／又はインターネットが、サイト間の接続に適するものとしてプライマリ又はバックアップ容量で使用されうるか、異なる通信パスプロファイルを使用する特定のアプリケーションで使用されうる。両方のネットワーク上の通信は、保護されてもよく、暗号化されてもよい。例示的な配置は、制御プレーンプロトコル及びデータプレーンプロトコルの両方を、両方のネットワークに対して同一の（又はほぼ同一の）方法で関与させることができ、その場合、両方のネットワークに固有のパラメータは、それぞれの個別のネットワークを通じてやりとりされうる。
【００２３】
本開示の実施形態は、コンピュータネットワークに対する改善及びコンピュータ自体の動作に対する改善を提供することができる。例えば、本開示の１つ以上の実施形態を使用すると、ネットワークトラフィックがよりセキュアになりうるとともに、スニッフィング攻撃及び中間者攻撃に対する脆弱性がより少なくなりうる。添付の図面を参照して、本開示の実施形態について説明する。
【００２４】
図１は、本開示の１つ以上の実施形態に係る、ソフトウェア定義ネットワーク（ＳＤＮ）を実装するネットワークコンポーネントの例示的なシステム１００を示す。ＳＤＮは、任意のタイプのネットワーク又はネットワークトポロジを含みうる。例えば、ＳＤＮは、ソフトウェア定義ワイドエリアネットワーク（ＳＤ−ＷＡＮ）、ソフトウェア定義ローカルエリアネットワーク（ＬＡＮ）、ソフトウェア定義メトロポリタンエリアネットワーク（ＭＡＮ）、又は他のタイプのネットワークを含みうる。システム１００は、内部ネットワークドメイン１０５及び１つ以上の外部ネットワークドメインを含みうる。システム１００は、１つ以上のエッジネットワークデバイス１１０（エッジネットワークデバイス１１０ａ〜１１０ｄ等）、制御デバイス１２０、通信ネットワーク１３０、並びに、外部ネットワークデバイス１４０及び１４１（外部ネットワークデバイス１４０ａ〜１４０ｄ及び１４１ａ〜１４１ｄ等）を含みうる。
【００２５】
説明を簡単かつ明確にするために、本開示のいくつかの例は、ネットワークがハードウェアによって制御されるのではなく、ソフトウェアによって少なくとも部分的に管理されるＷＡＮに関して説明される。このため、ＳＤＮは、インターネット、マルチプロトコルラベルスイッチング（ＭＰＬＳ：MultiProtocol Label Switching）コネクション、及び／又はセルラコネクション（Long Term Evolution（ＬＴＥ）、LTE Advanced、Worldwide Interoperability for Microwave Access（ＷｉＭＡＸ）、Evolved High Speed Packet Access（ＨＳＰＡ＋）、及び／又はその他のもの等）のような、複数のタイプのコネクション又は通信リンクをサポートしうる。加えて、ＳＤＮは、種々のコネクション間のロードバランシング又はロードシェアリングをサポートしうる。更に、いくつかのネットワークについての分散された性質に起因して、ＳＤＮは、仮想プライベートネットワーク（ＶＰＮ）、ファイアウォール、及び他のセキュリティサービスをサポートしうる。例えば、ＳＤ−ＷＡＮでは、制御プレーンが物理トポロジから機能的に分離されうる。いくつかの実施形態では、ＳＤＮは、（ソフトウェアにより管理される）ネットワークの制御プレーンを、（ネットワークのハードウェア上で動作する）ネットワークのデータプレーンから分離しうる。本明細書で使用されるように、制御プレーンという用語は、データプレーンで生じうる、ネットワークを通じたデータ伝送ではなく、ネットワーク自体の制御及び管理で使用される通信及びコネクションを指しうる。本明細書で使用されるように、データプレーンという用語は、ネットワークを通じたデータの送信及び受信で使用される通信及びコネクションを指しうる。例えば、制御プレーンは、ネットワーク内のネットワークデバイスに向かう管理トラフィックを含む場合があり、データプレーンは、ネットワーク内のネットワークデバイスを通過するトラフィックを含む場合がある。
【００２６】
いくつかの実施形態では、制御デバイス１２０は、エッジネットワークデバイス１１０の動作の１つ以上の態様を指示することによって、内部ネットワークドメイン１０５の制御プレーンを管理するように構成されうる。例えば、制御デバイス１２０は、１つ以上のエッジネットワークデバイス１１０にポリシーを生成及び／又は配布しうる。ポリシーは、ルーティング、優先度、メディア等の、ネットワークトラフィックの処理に関係するルール又はルールのセットを含みうる。内部ネットワークドメイン１０５は、特定の機能及び／又はプロトコルを有する、保護され制御されたドメインとして動作しうる。いくつかの実施形態では、エッジネットワークデバイス１１０は、制御デバイス１２０によって作成された及び／又は伝えられた１つ以上のポリシーに基づいて動作しうる。これら及び他の実施形態では、エッジネットワークデバイス１１０は、制御デバイス１２０によって作成された及び／又は伝えられたポリシーに基づいて、内部ネットワークドメイン１０５内のデータトラフィックをルーティングしうる。
【００２７】
いくつかの実施形態では、制御デバイス１２０は、エッジネットワークデバイス１１０の各々と制御プレーンコネクションを形成しうる。制御プレーンコネクションは、内部ネットワークドメイン１０５の管理及び制御のために、エッジネットワークデバイス１１０と制御デバイス１２０との間のデータのやりとりを容易にしうる。制御プレーンコネクションは、データグラム・トランスポート層セキュリティ（ＤＴＬＳ：Datagram Transport Layer Security）トンネル等の、通信ネットワーク１３０を通るトンネルを介して動作しうる。いくつかの実施形態では、制御プレーンコネクション上で伝送されるデータは、制御デバイス１２０が通信ネットワーク１３０のトポロジを判定することを容易にしうる。例えば、制御デバイス１２０は、通信ネットワーク１３０内のエッジネットワークデバイス１１０間にどのような物理的コネクションが存在するかを判定するために、エッジネットワークデバイス１１０と通信しうる。追加的又は代替的には、制御プレーンコネクション上で伝送されるデータは、エッジネットワークデバイス１１０間の通信ネットワーク１３０を通る、使用可能な、最適な又は望ましいパスを制御デバイス１２０が判定することを容易にしうる。追加的又は代替的には、制御プレーンコネクション上で伝送されるデータは、エッジネットワークデバイス１１０間の通信ネットワーク１３０を通る、使用可能な、最適な又は望ましいパスをエッジネットワークデバイス１１０が判定することを容易にしうる。追加的又は代替的には、制御デバイス１２０は、制御プレーンコネクション上でエッジネットワークデバイス１１０にルート情報を伝達しうる。これらの及び他の実施形態では、制御プレーンコネクションは、制御デバイス１２０とエッジネットワークデバイス１１０との間の永続的コネクションを含んでもよく、それにより、制御デバイス１２０と所与のエッジネットワークデバイス１１０との間のコネクションが切断された場合に、エッジネットワークデバイス１１０は、内部ネットワークドメイン１０５を介して通信することができないか、さもなければ、通信することを許可されないことがある。
【００２８】
いくつかの実施形態では、制御デバイス１２０は、内部ネットワークドメイン１０５内にルート情報を格納する中央ルートテーブルを維持しうる。例えば、制御デバイス１２０は、通信ネットワーク１３０を通じてエッジネットワークデバイス１１０が使用可能な物理的コネクション及び／又は論理的コネクションを判定するために、様々なエッジネットワークデバイス１１０と通信しうる。いくつかの実施形態では、エッジネットワークデバイス１１０は、互いに対する１つ以上の物理的及び／又は論理的コネクションを含みうる。これらの及び他の実施形態では、制御デバイス１２０は、内部ネットワークドメイン１０５を通るデータトラフィックルートをエッジネットワークデバイス１１０が判定するのを助けるために、中央ルートテーブルとともに１つ以上のポリシーを生成及び／又は更新しうる。例えば、制御デバイス１２０は、内部ネットワークドメイン１０５を通る全ての個別のフローに関与するのではなく、トラフィックフローに関連するポリシー及び他のコンフィギュレーションプリファレンスをエッジネットワークデバイス１１０に提供しうる。
【００２９】
これらの及び他の実施形態では、エッジネットワークデバイス１１０は、システム１００全体のトポロジ及び／又はルートパス（route path）を格納していなくてもよい。エッジネットワークデバイス１１０の各々は、到達可能性を判定するために、互いに個別に問い合わせる必要がない場合がある。その代わりに、制御デバイス１２０は、そのような情報をエッジネットワークデバイス１１０に提供してもよい。これら及び他の実施形態では、エッジネットワークデバイス１１０は、制御デバイス１２０から受信した１つ以上の他のポリシー、トラフィックの特性、ルートパスの特性、ソースエッジネットワークデバイス１１０、及び宛先（例えば、エッジネットワークデバイス１１０）に基づいて、最も直接的なルート、最も費用効果の高いルート、最も信頼性の高いルート、又は何らかの他のルートを通じてトラフィックをルーティングしうる。
【００３０】
いくつかの実施形態では、１つ以上のポリシーは、ネクストホップ及びルートパス指示を決定することに関するガイダンスを含みうる。例えば、特定のポリシーは、トラフィックのために完全なエンドツーエンド・ルートを提供するのではなく、トラフィックフローの特定のカテゴリ、クラス、又はグループのために次にトラフィックをどこにルーティングするかを、特定のエッジネットワークデバイス１１０に指示しうる。例えば、エッジネットワークデバイス１１０ａは、外部ネットワークデバイス１４１ｃのアドレスに向かうデータを外部ネットワークデバイス１４０ａから受信しうる。エッジネットワークデバイス１１０ａは、外部ネットワークデバイス１４１ｃのアドレスに宛てられたネットワークトラフィックのための「ネクストホップ」が、エッジネットワークデバイス１１０ｄにルーティングされることを含む、データのためのルートパスを決定するためにネットワークデバイス１１０ａが使用しうる第１のポリシーを格納していてもよい。
【００３１】
いくつかの実施形態では、制御デバイス１２０は、内部ネットワークドメイン１０５内のあるネットワークトラフィックフローを、あるタイプのコネクション又は通信リンク（例えば、ＬＴＥ、インターネット、ＭＰＬＳ）を介して、及び／又はあるエッジネットワークデバイス１１０を介してルーティングさせるためのポリシーを生成しうる。いくつかの実施形態では、リンク分類が通信リンクのタイプを示しうる。エッジネットワークデバイス１１０は、（例えば、パケットがネットワークを通って移動しているときに）高速パスでのルーティング決定を行いうる。エッジネットワークデバイス１１０は、アクションを決定するためにポリシーを使用しうる。例えば、データの所与のセットについて、当該ポリシーは、コンフィギュレーションプリファレンスに基づいて、及び通信リンクのタイプ又は分類に基づいて、第１のルーティングパスが選択されうることを示しうる。エッジネットワークデバイス１１０は更に、特定のソースからの全てのパケット、特定のコンピュータラップトップから発信された全てのパケット、トラフィックのタイプ（例えば、音声）等についてのアクションを決定（例えば、ルートパスを決定）しうる。他の例では、ポリシーは、１００．１／１６の範囲内のＩＰアドレスを有する全てのフローが音声フローとして分類されうることを示しうるコンフィギュレーションプリファレンスを有する。エッジネットワークデバイス１１０が３つの異なる通信リンク（例えば、インターネットリンク、ＭＰＬＳリンク、セルラリンク）に接続される場合。コンフィギュレーションプリファレンスは、音声トラフィックがインターネットリンクを介してルーティングされるべきであることを示しうる。したがって、エッジネットワークデバイス１１０は、１００．１／１６の範囲内のＩＰアドレスを有する全てのフローを、インターネットリンクを介してルーティングしうる。コンフィギュレーションプリファレンスの他の例は、とりわけ、コスト（例えば、金銭的、時間、ルート、ホップ、トランスポートヘルス（損失、レイテンシ、及び／又はジッタ等）、帯域幅、パスジオグラフィ、ソース（例えば、デバイス、ジオグラフィ、ユーザ）、宛先（例えば、デバイス、ジオグラフィ、ユーザ）、アプリケーション（例えば、ビジネス、ソーシャル）、ユーザグループ（例えば、第１のサブネットＩＰ上のファイナンス、第２のサブネットＩＰ上のＨＲ、第３のサブネットＩＰ上のエンジニアリング）を含みうる。任意のタイプのデータ又は情報がコンフィギュレーションプリファレンスとして使用されうる。一例では、エッジネットワークデバイス１１０は、ヘッダ等の、トラフィックに関連付けられたメタデータを識別しうる。ヘッダは、当該ヘッダ内に、予め定義されたルーティングパスを示すためのＤＳＣＰ値を含みうる。エッジネットワークデバイス１１０は、（レイヤ７ヘッダ又はｈｔｔｐヘッダと称されることもある）特定のアプリケーションに基づいて、ルーティング決定を行ってもよい。例えば、エッジネットワークデバイス１１０は、第１のパス上でOFFICE365トラフィックをルーティングし、第２のパス上でSALESFORCEトラフィックをルーティングしてもよい。
【００３２】
いくつかの実施形態では、制御デバイス１２０は、エッジネットワークデバイス１１０の認証を容易にしうる。制御デバイス１２０は更に、データプレーンのコンフィギュレーションを容易にしうる。少なくともいくつかの実施形態では、データプレーンをセットアップするために、エッジネットワークデバイス１１０は、エッジネットワークデバイス１１０用のセキュリティアソシエーションパラメータのセットを生成しうる。セキュリティアソシエーションパラメータは、エッジネットワークデバイス１１０との認証及び／又は接続のために他のエッジネットワークデバイスによって使用されうる情報を含みうる。例えば、セキュリティアソシエーションパラメータは、１つ以上のキー、証明書等を含みうる。エッジネットワークデバイス１１０は、セキュリティアソシエーションパラメータを制御デバイス１２０に送信しうる。制御デバイス１２０は、エッジネットワークデバイス１１０に接続することが許可されている他のエッジネットワークデバイスに、当該セキュリティアソシエーションパラメータを送信しうる。制御プレーン及びデータプレーンのコンフィギュレーションを容易にするために使用される制御デバイス１２０の更なる詳細については、図３〜図７に関連して説明される。
【００３３】
いくつかの実施形態では、エッジネットワークデバイス１１０間のトラフィック、及びエッジネットワークデバイス１１０と制御デバイス１２０との間のトラフィックは、エッジネットワークデバイス１１０間の１つ以上のデータグラム・トランスポート層セキュリティ（ＤＴＬＳ）及び／又はトランスポート層セキュリティ（ＴＬＳ）コネクションを介して、２５６ビット長のキーを用いたAdvanced Encryption Standard（ＡＥＳ）を使用する双方向認証等によって暗号化されうる。
【００３４】
いくつかの実施形態では、制御デバイス１２０は、内部ネットワークドメイン１０５内のエッジネットワークデバイス１１０のうちの１つ又は以上（又は全て）の認証情報を記憶しうる。これら及び他の実施形態では、制御デバイス１２０の当該記憶された認証情報に一致する又はさもなければ対応する認証情報を、デバイスが有しない限り、当該デバイスは、内部ネットワークドメイン１０５内で通信することを阻まれる。いくつかの実施形態では、当該認証情報は、制御プレーンコネクションを確立するためにエッジネットワークデバイス１１０が最初にオンラインになるときに使用されてもよく、制御デバイス１２０との制御プレーンコネクションを有さない任意のデバイスが、内部ネットワークドメイン１０５内で通信することを阻まれてもよい。
【００３５】
エッジネットワークデバイス１１０は、内部ネットワークドメイン１０５の境界で動作しうる。エッジネットワークデバイス１１０は、内部ネットワークドメイン１０５内で動作しうる１つ以上の物理的コネクション及び／又は論理的コネクションを含みうる。そのようなコネクションが通信ネットワーク１３０の一部として示されてもよい。追加的又は代替的には、エッジネットワークデバイス１１０は、内部ネットワークドメイン１０５の外部で動作する１つ以上の物理的コネクション及び／又は論理的コネクションを含んでもよい。例えば、エッジネットワークデバイス１１０は、（複数の）外部ネットワークデバイス１４０及び／又は１４１に接続されてもよい。
【００３６】
いくつかの実施形態では、エッジネットワークデバイス１１０は、関連する外部ネットワークデバイス１４０及び１４１から内部ネットワークドメイン１０５にトラフィックをルーティングするように動作しうる。追加的又は代替的には、エッジネットワークデバイス１１０は、内部ネットワークドメイン１０５から関連する外部ネットワークデバイス１４０及び１４１にトラフィックをルーティングするように動作してもよい。いくつかの実施形態では、エッジネットワークデバイス１１０は、とりわけ、オープン・ショーテスト・パス・ファースト（ＯＳＰＦ：Open Shortest Path First）、ボーダ・ゲートウェイ・プロトコル（ＢＧＰ：Border Gateway Protocol）、仮想ルータ冗長プロトコル（ＶＲＲＰ：Virtual Router Redundancy Protocol）、双方向フォワーディング検出（ＢＦＤ：Bi-directional Forwarding Detection）等の、典型的な通信プロトコルを使用して、関連する外部ネットワークデバイス１４０及び１４１と通信しうる。追加的又は代替的には、エッジネットワークデバイス１１０は、とりわけ、差別化サービスコードポイント（ＤＳＣＰ：differentiated services code point）タグ付け又はサービスタイプ（ＴＯＳ：type of service）タグ付け、サービス品質（ＱｏＳ：Quality of Service）モニタリング、サービスレベルアグリーメント（ＳＬＡ：Service Level Agreements）、インターネットプロトコル（ＩＰ）フォワーディング、インターネットプロトコルセキュリティ（ＩＰｓｅｃ：Internet Protocol Security）、アクセス制御リスト（ＡＣＬ：Access Control Lists）等の、他のネットワーク機能をサポートしてもよい。
【００３７】
例えば、ＤＳＣＰ又はＴＯＳタグ付けでは、エッジネットワークデバイス１１０はＤＳＣＰ又はＴＯＳタグをパケットヘッダに挿入するように構成されうる。そのようなＤＳＣＰ又はＴＯＳタグは、特定のタイプのネットワークトラフィックを送信する複数の通信リンクのうちの１つの通信リンク（又は１つの通信リンクについてのプリファレンス）を識別しうる。ＤＳＣＰ又はＴＯＳタグに基づいて、エッジネットワークデバイス１１０は、１つ以上のタイプの通信リンクを介してネットワークトラフィックをルーティングしうる。
【００３８】
更なる例として、ＩＰｓｅｃでは、エッジネットワークデバイス１１０は、ネットワークトラフィックを認証及び／又は暗号化するためにＩＰｓｅｃを使用しうる。例えば、所与のエッジネットワークデバイス１１０は、所与のエッジネットワークデバイス１１０と通信するために１つ以上のコンピューティングデバイスを認証しうる、及び／又は、コンピューティングデバイスと所与のエッジネットワークデバイス１１０との間で伝達される１つ以上のパケットを暗号化しうる。
【００３９】
他の例として、ＡＣＬでは、エッジネットワークデバイス１１０は、所与のポート又は特定の通信リンクを使用することを許可されうる１つ以上のアドレス、ホスト、及び／又はネットワークを示す、ルールのセットを含みうる。これら及び他の実施形態では、エッジネットワークデバイス１１０は、インバウンド（inbound）トラフィック、アウトバウンド（outbound）トラフィック、又はその両方に適用可能なＡＣＬを含みうる。
【００４０】
いくつかの実施形態では、エッジネットワークデバイス１１０は、１つ以上のルートテーブルをローカルで維持しうる。いくつかの実施形態では、エッジネットワークデバイス１１０は、制御デバイス１２０から送信された１つ以上のポリシーに基づいて、ルートテーブルを調整又は変更しうる。例えば、１つ以上のポリシーに基づいて、エッジネットワークデバイス１１０によって、１つ以上のエントリが、除去されてもよいし、廃棄されてもよいし、又はさもなければルートテーブルに追加されなくてもよい。いくつかの実施形態では、エッジネットワークデバイス１１０は、制御デバイス１２０からの、及び／又はエッジネットワークデバイス１１０によって処理されるトラフィックからのポリシーに基づいて、ルートテーブルを更新、変更、及び／又は生成するためのロジックを含みうる。１つ以上のルートテーブルが、ＢＧＰ及び／又はＯＳＰＦ等の１つ以上のネットワークプロトコルを使用して学習された、直接インタフェースルート、静的ルート、及び／又は動的ルートに基づいて、エッジネットワークデバイス１１０によって自動的に追加されてもよい。いくつかの実施形態では、内部ネットワークドメイン１０５の外部のデータのためのルーティング決定が、制御デバイス１２０からの特定の指示、入力、又は制御無しで、特定のエッジネットワークデバイス１１０によって実行されうる。例えば、特定のエッジネットワークデバイス１１０は、当該特定のエッジネットワークデバイス１１０が制御デバイス１２０から受信した１つ以上のポリシーに基づいて、ルーティング決定を計算しうる。
【００４１】
いくつかの実施形態では、エッジネットワークデバイス１１０及び／又は制御デバイス１２０のうちの１つ以上が、１つ以上の物理コンピューティングデバイス上で動作する１つ以上の仮想マシンとして実装されうる。追加的又は代替的には、エッジネットワークデバイス１１０及び／又は制御デバイス１２０はそれぞれ、個別のスタンドアロン型コンピューティングデバイスを含んでもよい。
【００４２】
本開示の範囲から逸脱することなく、図１に対して変更、追加、又は省略が行われてもよい。例えば、４つのエッジネットワークデバイス１１０及び１つの制御デバイス１２０を含むものとして示されているが、システム１００は、何千又は何万ものエッジネットワークデバイス１１０及び５つ以上の制御デバイス１２０のような、任意の数のエッジネットワークデバイス１１０及び制御デバイス１２０を含んでもよい。他の例として、単一の通信ネットワーク１３０として示されるように、通信ネットワーク１３０は、複数のタイプの通信コネクションを含んでもよい。
【００４３】
図２は、本開示の１つ以上の実施形態に係る、ＳＤＮを実装するネットワークコンポーネントの他の例示的なシステム２００を示す。システム２００は、１つ以上のエッジネットワークデバイス２１０（エッジネットワークデバイス２１０ａ〜２１０ｏ等）、１つ以上の制御デバイス２２０（制御デバイス２２０ａ、２２０ｂ、及び２２０ｃ等）、及び１つ以上の通信ネットワーク２３０（通信ネットワーク２３０ａ、２３０ｂ、及び２３０ｃ等）を含みうる。エッジネットワークデバイス２１０は、図１のエッジネットワークデバイス１１０と類似又は同等であってもよく、制御デバイス２２０は、図１の制御デバイス１２０と類似又は同等であってもよく、通信ネットワーク２３０は、図１の通信ネットワーク１３０と類似又は同等であってもよい。システム２００は、図１のシステム１００と類似又は同等のシステムであってもよいが、追加のネットワークコンポーネント及び追加の外部ネットワークドメインを含むように拡張される。
【００４４】
システム２００は、エッジネットワークデバイス２１０内及び間に、図１のシステム１００に関して説明したものと類似又は同等の方法で、内部ネットワークドメイン２０５を含みうる。システム２００は更に、複数の外部ネットワークドメインを含みうる。例えば、データセンタ２４０は、第１の外部ネットワークドメインを表し、キャンパス２５０は、第２の外部ネットワークドメインを表し、ブランチ２６０は、第３の外部ネットワークドメインを表し、リモートサイト２７０は、第４の外部ネットワークドメインを表しうる。これら及び他の実施形態では、各外部ネットワークドメインは、内部ネットワークドメイン２０５と所与の外部ネットワークドメインとの間のブリッジとして機能する１つ以上のエッジネットワークデバイス２１０を含みうる。追加的又は代替的には、外部ネットワークドメインのうちの１つ以上は、内部ネットワークドメイン２０５を通じて通信可能に接続されることによって、単一のネットワーク内にあるかのように、他の外部ネットワークドメインからアクセス可能であるように機能的に動作しうる。
【００４５】
いくつかの実施形態では、システム２００は、１つ以上の外部リソース２８０（外部リソース２８０ａ〜２８０ｃ等）を含みうる。外部リソース２８０は、内部ネットワークドメイン２０５を運用する同じエンティティ又は組織によって運用されてもよく、又は異なるエンティティによって運用されてもよい。これら及び他の実施形態では、システム２００は、特定の外部リソース２８０に関連付けられうるエッジネットワークデバイス２１０を含みうる。例えば、システム２００は、地域コロケーション施設内に配置されたエッジネットワークデバイス２１０を含みうる。地域コロケーション施設は、所与の物理的ロケーションにおけるインターネット又は他の通信プロトコルへの有向又は保証されたアクセスを有するロケーションを含みうる。いくつかの実施形態では、地域コロケーション施設は、外部リソース２８０のうちの１つ以上への、優先されたコネクション又は改善されたコネクションを含みうる。いくつかの実施形態では、地域コロケーション施設は、外部ネットワークドメインのうちの１つ以上に物理的に近接しうる、指定された地理的ロケーションにあってもよい。例えば、データセンタ２４０はニューヨークに配置され、ブランチ２６０はテキサス州ダラスに配置され、エッジネットワークデバイス２１０ｎはテキサス州ヒューストンの地域コロケーション施設内に配置されてもよい。
【００４６】
外部リソース２８０は、システム２００による消費のために利用可能な任意のコンピューティングサービスを含みうる。例えば、外部リソース２８０は、ソフトウエアサブスクリプション又はサービスとしてのソフトウェア（ＳａａＳ：software as a service）のようなクラウドベースのサービス（Microsoft Office 365、Azure、Google Apps、Workforce、Amazon Web Services、WorkDay、DocuSign、GoToMeeting、WebEx、QuickBooks、及び／又はその他のもの等）、メディアサービス（YouTube（登録商標）、NetFlix、Pandora、Spotify、及び／又はその他のもの等）、及び／又はその他のものを含みうる。これら及び他の実施形態では、外部リソース２８０は、様々な地理的ロケーションにある１つ以上のアクセスポイントを有する外部リソース２８０へのアクセスを容易にするために、サードパーティ・ネットワークを含みうる。例えば、ＳａａＳは、サードパーティ・ネットワークにアクセスするための、テキサス州オースティン、カリフォルニア州パロアルト、及びニューヨーク州ニューヨークにあるアクセスサーバを含みうる。
【００４７】
いくつかの実施形態では、システム２００は地理的に分散されてもよい。例えば、データセンタ２４０は、ミネソタ州セントポールに配置され、キャンパス２５０は、アイオワ州デスモインに配置されてもよく、ワシントン州シアトル、カリフォルニア州ロサンゼルス、ジョージア州アトランタ、及びフロリダ州オーランドに、ブランチ２６０があってもよく、英国のロンドン、ドイツのベルリン、及び韓国のソウルにリモートサイト２７０があってもよい。これら及び他の実施形態では、システム２００は、これらの分散された物理的ロケーションの全ての間の通信を単一のネットワークとして容易にするために、通信ネットワーク２３０及び内部ネットワークドメイン２０５を使用しうる。
【００４８】
いくつかの実施形態では、１つ以上の外部ネットワークドメインは、Microsoft Exchange、SharePoint、Oracle e-Business Suite、及び／又はその他のもの等の、データセンタ２４０内のリソースを有する１つ以上のアプリケーションを使用しうる。例えば、キャンパス２５０で動作するワークステーションは、Microsoft Exchangeを動作させうる。アプリケーションの動作には、ワークステーションからキャンパス２５０の外部ネットワークドメイン内のエッジネットワークデバイス２１０ｅに進むデータフローが含まれうる。当該データフローは、内部ネットワークドメイン２０５を通じて、エッジネットワークデバイス２１０ｅから、データセンタ２４０に関連付けられたエッジネットワークデバイス２１０ｂ、２１０ｃ及び／又は２１０ｄのうちの１つに進みうる。エッジネットワークデバイス２１０ｂ、２１０ｃ及び／又は２１０ｄのうちの１つは、トラフィックを、データセンタ２４０の外部ネットワークドメイン内のMicrosoft Exchangeサーバにルーティングしうる。追加的又は代替的には、アプリケーションの動作には、Microsoft Exchangeサーバからワークステーションに流れるデータの逆の順序のデータフローが含まれうる。
【００４９】
いくつかの実施形態では、システム２００は、管理ネットワーク２３２を介して制御デバイス２２０と通信しうるネットワーク管理デバイス２９０を含みうる。ネットワーク管理デバイス２９０は、エッジネットワークデバイス２１０、制御デバイス２２０、及び／又はその他のものを含む、内部ネットワークドメイン２０５に関連付けられた１つ以上のデバイスの管理及び制御を提供しうる。例えば、ネットワーク管理デバイス２９０は、ネットワーク管理者に内部ネットワークドメイン２０５の動作を制御又は監視するためのアクセスを提供するグラフィカルユーザインタフェース（ＧＵＩ）を提供しうる。いくつかの実施形態では、ネットワーク管理者は、エッジネットワークデバイス２１０を介して実装するために制御デバイス２２０に伝達されうるポリシーを、ネットワーク管理デバイス２９０を介して入力しうる。いくつかの実施形態では、ネットワーク管理デバイス２９０は、ＧＵＩダッシュボードに、エッジネットワークデバイス２１０の数及び／又はステータス及び／又はヘルス、制御デバイス２２０の数及び／又はステータス、リブートの回数及び／又は最後の時刻、トランスポートヘルス（損失、レイテンシ、及び／又はジッタ等）、動作している又は動作していないサイトの数、ネットワークリソースのアプリケーション消費、アプリケーションルーティング、及び／又はその他のもの等といった、内部ネットワークドメイン２０５の１つ以上のプロパティの視覚的及び／又はテキスト記述を提供しうる。
【００５０】
いくつかの実施形態では、ネットワーク管理デバイス２９０は、承認されたエッジネットワークデバイス２１０及び／又は制御デバイス２２０を、認証及び／又は認識するように構成されうる。例えば、ネットワーク管理デバイス２９０は、シリアル番号、ＭＡＣアドレス、又はセキュリティアソシエーションパラメータ、エッジネットワークデバイス２１０及び／又は制御デバイス２２０についての他の一意に識別する情報のリストを維持しうる。これらの及び他の実施形態では、内部ネットワークドメイン２０５内の通信は、ネットワーク管理デバイス２９０によって維持されるリスト上の識別情報を用いて、エッジネットワークデバイス２１０及び／又は制御デバイス２２０に制限されてもよい。
【００５１】
いくつかの実施形態では、ネットワーク管理デバイス２９０は、１つ以上のエッジネットワークデバイス２１０及び／又は制御デバイス２２０のコンフィギュレーションを、生成及び／又は記憶するように構成されうる。例えば、ネットワーク管理者は、特定のエッジネットワークデバイス２１０をコンフィギュレーションするためにネットワーク管理デバイス２９０を使用してもよく、そのコンフィギュレーションを、将来のエッジネットワークデバイスに適用されうるテンプレートとして格納してもよい。追加的又は代替的には、エッジネットワークデバイス２１０用のテンプレートは、サードパーティによって提供され、新たなエッジネットワークデバイス２１０に適用されてもよい。これら及び他の実施形態では、制御デバイス２２０用のテンプレートが、生成され、記憶され、及び／又は新たな制御デバイス２２０に適用されてもよい。追加的又は代替的には、新たに配置されるエッジネットワークデバイス２１０を自動的にコンフィギュレーションするために、このようなテンプレートが使用されてもよい。例えば、新たに配置されるエッジネットワークデバイス２１０は、オンラインにされ、対応する制御デバイス２２０に接続されうる。当該対応する制御デバイス２２０は、ネットワーク管理デバイス２９０を用いてエッジネットワークデバイス２１０のシリアル番号を検証しうるとともに、エッジネットワークデバイス２１０用のテンプレートをネットワーク管理デバイス２９０から取得しうる。制御デバイス２２０は、自動的にインストールされるエッジネットワークデバイス２１０にテンプレートを送信し、当該テンプレートに従ってエッジネットワークデバイス２１０をコンフィギュレーションしうる。
【００５２】
いくつかの実施形態では、ネットワーク管理デバイス２９０は、物理デバイス又は仮想化されたマシンとして実装さうる。これらの及び他の実施形態では、ネットワーク管理デバイス２９０は、例えばデータセンタ２４０内又はキャンパス２５０における、集中ロケーションの近くに物理的に配置されうる。
【００５３】
本開示の範囲から逸脱することなく、図２に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス２１０及び外部ネットワークドメインを含むものとして示されているが、システム２００は、任意の数のエッジネットワークデバイス２１０及び外部ネットワークドメインを含みうる。
【００５４】
図３は、本開示の１つ以上の実施形態に係る、制御プレーン３０５の実装の例示的なシステム３００を示す。図３は、制御プレーン３０５を介してエッジネットワークデバイス３１０ａ、３１０ｂ及び３１０ｃと通信するための複数の潜在的な通信リンクを含みうる制御デバイス３２０を示す。制御プレーン３０５は、セキュアネットワーク及び／又はプライベートネットワークで実装されてもよい。例えば、制御デバイス３２０は、プライベートトランスポート３６５を使用して制御プレーン３０５を介して通信しうる。エッジネットワークデバイス３１０ａ及び３１０ｂは、図１のエッジネットワークデバイス１１０及び／又は図２のエッジネットワークデバイス２１０ａ〜２１０ｏと類似又は同等であってもよい。制御デバイス４２０は、図１の制御デバイス及び／又は図２の制御デバイス２２０と類似又は同等であってもよい。任意の数の制御デバイスが使用されてもよい。
【００５５】
制御デバイス３２０は、エッジネットワークデバイス３１０間の制御プレーン３０５をサポートしうる。制御デバイス３２０は、エッジネットワークデバイス３１０間のルーティング及び暗号化情報を受信し、アドバタイズしうる。エッジネットワークデバイス３１０は、図４に関連して更に説明されるように、互いの間に制御プレーンチャネルは確立しえないが、互いの間にデータプレーンコネクションを確立しうる。
【００５６】
少なくともいくつかの実施形態では、システム３００は、管理ネットワーク２３２を介して制御デバイス３２０と通信しうるネットワーク管理デバイス３９０を含みうる。ネットワーク管理デバイス３９０は、エッジネットワークデバイス３１０、制御デバイス３２０、及び／又はその他のものを含む、制御プレーン３１５の受動部分を介して、１つ以上のデバイスの管理及び制御を提供しうる。デバイスは、制御プレーン３１５の受動部分を介してネットワーク管理デバイス３９０に接続し、ネットワーク管理デバイス３９０と通信しうる。ネットワーク管理デバイス３９０は、図２のネットワーク管理デバイス２９０と類似又は同等であってもよい。
【００５７】
少なくともいくつかの実施形態では、ネットワーク管理デバイス３９０は、それぞれの接続エンドポイント（例えば、エッジネットワークデバイス３１０、制御デバイス３２０、及び／又はその他のもの）のためのネットワークアドレス変換（ＮＡＴ）トラバーサル情報の発見を支援する役割を果たしうる。ネットワーク管理デバイス３９０は更に、制御デバイス３２０のためのロケーション及びセッション情報を提供しうるとともに、エッジネットワークデバイス３１０及び／又は他の制御デバイス（図３には図示せず）とセッション情報を共有しうる。少なくともいくつかの実施形態では、システム３００は、パブリックネットワーク３７０を含みうる。データプレーンは、パブリックネットワーク３７０を介して確立されなくてもよい。これらの実施形態では、第１のネットワーク管理デバイス３９０ａが、プライベートネットワーク３６５のアクティビティを調整し、第２のネットワーク管理デバイス３９０ｂが、パブリックネットワーク３７０のアクティビティを調整しうる。例えば、パブリックネットワーク３７０がインターネットを含む場合、第２のネットワーク管理デバイス３９０ｂは、インターネットドメインに固有でありうるＮＡＴトラバーサルを支援しうる。
【００５８】
少なくともいくつかの実施形態では、エッジネットワーク機器３１０は、制御プレーン３０５を介して制御デバイス３１０から他のエッジネットワークデバイス３１０に関連付けられた１つ以上のキーを受信しうる。例えば、１つ以上のデータパケットは、１つのエッジネットワークデバイス３１０から他のエッジネットワークデバイス３１０にデータを送信する際に、セキュリティ目的で１つ以上のキーを使用しうる。これらの及び他の実施形態では、制御デバイス３２０は、制御デバイス３２０によって実装される中央ルートテーブル及び／又はポリシーに基づいて、受信したキーを１つ以上の他のエッジネットワークデバイス３１０に反映させうる。これらの及び他の実施形態では、所与のエッジネットワークデバイス３１０は、エッジネットワークデバイス間のセキュア通信のためのデータプレーン（例えば、図４のデータプレーン４０５）の確立を容易にするために対称キーを生成しうる。これらの及び他の実施形態では、対称キーのペアが所与のエッジネットワークデバイス３１０によって生成され、一方は所与のエッジネットワークデバイス３１０に残り、他方は制御デバイス３２０に提供され、それにより、制御デバイス３２０は、所与のエッジネットワークデバイス３１０と通信する他のエッジネットワークデバイスに、（データプレーンではなく）制御プレーン３０５を介して他方の対称キーを配布しうる。このようにして、制御デバイス３２０のポリシーに基づいて所与のエッジネットワークデバイス３１０と通信する各エッジネットワークデバイスは、データプレーンの外部で対称キーを受信しうる。
【００５９】
本開示の範囲から逸脱することなく、図３に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス３１０を含むものとして示されているが、システム３００は、任意の数のエッジネットワークデバイス３１０を含みうる。他の例として、１つの制御デバイス３２０を含むものとして示されているが、任意の数の制御デバイスが使用されうる。他の例として、２つのネットワーク管理デバイスを含むものとして示されているが、任意の数のネットワーク管理デバイスが使用されうる。他の例として、１つのプライベートネットワーク３６５及び１つのパブリックネットワーク３７０を含むものとして示されているが、任意の数のプライベートネットワーク及びパブリックネットワークが使用されうる。
【００６０】
図４は、本開示の１つ以上の実施形態に係る、データプレーン４０５の実装の他の例示的なシステム４００を示す。システム４００は、図３の制御プレーン３０５、エッジネットワークデバイス３１０、制御デバイス３２０、及びネットワーク管理デバイス３９０を含みうる。
【００６１】
制御プレーン３０５は、プライベートネットワーク３６５内に実装されうるとともに、アクティブシグナリングを使用しうる。データプレーン４０５は、制御プレーンから独立して別個でありうるとともに、パブリックネットワーク３７０内に実装されうる。制御プレーン３０５は、ディスアソシエート・パス機能を、データプレーン４０５に対して提供しうる。例示を目的として、システム３００はプライベートネットワーク３６５及びパブリックネットワーク３７０を含むが、両方のネットワークは、両方ともプライベートであるか又は両方ともパブリックである等、同じタイプであってもよい。
【００６２】
プライベートネットワーク３６５を使用するパスについては、各エッジネットワークデバイス３１０は、（ネットワーク管理デバイスがシステム４００の一部である場合）ネットワーク管理デバイス３９０との認証を行い、次いで制御デバイス３２０との認証を行いうる。暗号化キーは、エッジネットワークデバイス３１０によって制御デバイス３２０へアドバタイズされる。その後、制御デバイスは、アドバタイズメントのターゲットを除く、他の全てのエッジネットワークデバイス３１０について、暗号化キーを含むエンドポイント情報（例えば、セキュリティアソシエーションパラメータ）を各エッジネットワークデバイス３１０にアドバタイズしうる。エッジネットワークデバイス３１０は、制御デバイス３２０から受信した情報に基づいて、プライベートネットワーク３６５にアタッチされた他の全てのエンドポイントと、データプレーン４０５に沿って暗号化を確立することを含む、データプレーン４０５をアクティブに確立しうる。
【００６３】
パブリックネットワーク３７０を使用するパスについては、各エッジネットワークデバイス３１０は、ネットワーク管理デバイス３９０との認証を行いうる。それにより、エッジネットワークデバイス３１０に、潜在的なＮＡＴトラバーサル情報が提供されうる。インターネットパス用の暗号化キーは、エッジネットワークデバイス３１０によって制御デバイス３２０に対してアドバタイズされうる。制御デバイス３２０は、暗号化キーを含む、この追加のエンドポイント情報を、アドバタイズメントのためのターゲットエッジデバイス３１０を除く、他の全てのエンドポイントについての各エンドポイントに、アドバタイズしうる。各エッジネットワークデバイス３１０は、ここで、パブリック（例えば、インターネット）パスを介して、暗号化されたデータプレーン４０５を確立することができ、同じパスを介して暗号化に関連する情報を送信することはない。
【００６４】
本開示の範囲から逸脱することなく、図４に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス３１０を含むものとして示されているが、システム４００は、任意の数のエッジネットワークデバイス３１０を含みうる。他の例として、１つの制御デバイス３２０を含むものとして示されているが、任意の数の制御デバイスが使用されうる。他の例として、２つのネットワーク管理デバイス３９０を含むものとして示されているが、任意の数のネットワーク管理デバイスが使用されうる。他の例として、１つのプライベートネットワーク３６５及び１つのパブリックネットワーク３７０を含むものとして示されているが、任意の数のプライベートネットワーク及びパブリックネットワークが使用されうる。
【００６５】
図５は、本開示の１つ以上の実施形態に係る、ＳＤＮ内で制御プレーン及びデータプレーンを確立する例示的な方法５００のフローチャートを示す。本方法は、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、ネットワークデバイス（例えば、図１〜図４のエッジネットワークデバイス１１０、２１０又は３１０）又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び／又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
【００６６】
方法５００は、ブロック５０５で開始しうる。当該ブロックにおいて、処理ロジックは、ソフトウェア定義ネットワーク（ＳＤＮ）内のトランスポートを介してオープンする制御チャネルのタイプを決定しうる。処理ロジックは、処理ロジック及び／又はそれぞれのエッジネットワークデバイスに通信可能に接続された１つ以上のトランスポートを識別することによって、当該制御チャネルのタイプをローカルで発見しうる。トランスポートのタイプは、制御チャネルのタイプに影響を及ぼしうる。処理ロジックは更に、各トランスポートを介していくつの制御チャネルをオープンするかを決定しうる。少なくともいくつかの実施形態では、処理ロジックは、各トランスポートを介して１つの制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、１つ以上のトランスポートを介して複数の制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、トランスポートタイプに基づいて、特定の数の制御チャネルを確立しうる。例えば、より高いセキュリティ及び／又は帯域幅を有するトランスポートタイプは、他のトランスポートタイプと比較して、より多くの制御チャネルを有しうる。
【００６７】
ブロック５１０において、処理ロジックは、データプレーンとは別個の制御プレーンを介して、制御デバイスとの制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、ブロック５０５で決定されたとおりのタイプ及び数の制御チャネルを確立しうる。当該制御チャネルは、セキュア制御チャネルを含みうる。処理ロジックは更に、図２及び図３のネットワーク管理デバイス２９０又は３９０等の、１つ以上のネットワーク管理デバイスとの１つ以上の制御チャネルをそれぞれ確立しうる。一例では、システムは、ＭＰＬＳトランスポート及びインターネットトランスポートを含みうる。処理ロジックは、ＭＰＬＳトランスポートを介して少なくとも１つの制御チャネルを確立し、インターネットトランスポートを介して少なくとも１つの制御チャネルを確立しうる。
【００６８】
ブロック５１５において、処理ロジックは、制御デバイス及び／又はネットワーク管理デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換（ＮＡＴ）を決定しうる。少なくともいくつかの実施形態では、処理ロジックは、パブリックネットワーク用のＮＡＴを決定しうる。処理ロジックは、制御デバイス及び／又はネットワーク管理デバイスへの１つ以上のパスをトレースしてもよく、その一方で、当該パスに沿って発生しうる任意のＮＡＴに留意する。処理デバイスは、ＮＡＴをデータストレージに格納しうる。
【００６９】
ブロック５２０において、処理ロジックは、制御チャネルを介して制御デバイスに第１のセキュリティアソシエーションパラメータをアドバタイズしうる。少なくともいくつかの実施形態では、処理ロジックは、第１のセキュリティアソシエーションパラメータを生成しうる。第１のセキュリティアソシエーションパラメータは、第１のエッジネットワークデバイスに関連付けられうる。処理ロジックは、認証プロトコルを使用して制御デバイスとの認証を行いうる。少なくともいくつかの実施形態では、処理ロジックは、制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行いうる。第１のセキュリティアソシエーションパラメータは、制御チャネル以外のチャネルを介して第１のエッジネットワークデバイスを識別し、当該第１のエッジネットワークデバイスとの認証を行い、当該第１のエッジネットワークデバイスに接続するために他のデバイスによって使用されうる、キー、キーペア、複数のキーのセット、証明書、トークン、又は任意の他のオブジェクトを含みうる。制御デバイスは、第１のセキュリティアソシエーションパラメータを受信し、他のデバイスから他のセキュリティアソシエーションパラメータを受信しうる。制御デバイスは、図６に関連して更に説明されるように、受信されたセキュリティアソシエーションパラメータのいくつか、いずれか又は全てを、許可されたデバイスに送信してもよい。
【００７０】
ブロック５２５において、処理ロジックは、制御チャネルを介して制御デバイスから、第２のネットワークデバイスに関連付けられた第２のセキュリティアソシエーションパラメータを受信しうる。ブロック５３０において、処理ロジックは、第２のセキュリティアソシエーションパラメータを使用して、第２のネットワークデバイスとのデータプレーンコネクションを確立しうる。
【００７１】
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び／又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
【００７２】
図６は、本開示の１つ以上の実施形態に係る、ＳＤＮ内で制御プレーン及びデータプレーンを確立する例示的な方法６００のフローチャートを示す。本方法は、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、制御デバイス（例えば、図１〜図４の制御デバイス１２０、２２０又は３２０）又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び／又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
【００７３】
方法６００は、ブロック６０５で開始しうる。当該ブロックにおいて、処理ロジックは、制御プレーンに関連付けられた第１の制御チャネルを介して、第１のネットワークデバイスから第１のセキュリティアソシエーションパラメータを受信しうる。同様に、ブロック６１０において、処理ロジックは、制御プレーンに関連付けられた第２の制御チャネルを介して、第２のネットワークデバイスから第２のセキュリティアソシエーションパラメータを受信しうる。処理ロジックは、任意の数のネットワークデバイスから任意の数のセキュリティアソシエーションパラメータを受信しうる。
【００７４】
ブロック６１５において、処理ロジックは、第１のネットワークデバイスと第２のネットワークデバイスとが互いに関連付けられていることを判定しうる。例えば、処理ロジックは、第１のネットワークデバイス及び第２のネットワークデバイスが単一のエンティティ（例えば、企業）に関連付けられており、それ故に、データプレーンを介して互いに接続することが許可されていることを判定しうる。
【００７５】
ブロック６２０において、処理ロジックは、第１のセキュリティアソシエーションパラメータを第２のネットワークデバイスに送信しうる。同様に、ブロック６２５において、処理ロジックは、第２のセキュリティアソシエーションパラメータを第１のネットワークデバイスへ送信しうる。（データプレーンではなく）制御プレーンを介して共有されたセキュリティアソシエーションパラメータのやりとりを使用して、第１のネットワークデバイス及び第２のネットワークデバイスは、互いの間にデータプレーンを確立しうる。
【００７６】
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び／又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
【００７７】
図７は、本開示の１つ以上の実施形態に係る、ＳＤＮ内で制御プレーン及びデータプレーンを確立する例示的な方法７００のフローチャートを示す。本方法は、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、制御デバイス（例えば、図１〜図４のエッジネットワークデバイス１２０、２２０又は３２０）、ネットワークデバイス（例えば、図１〜図４のエッジネットワークデバイス１１０、２１０又は３１０）又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び／又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
【００７８】
説明を簡単にするために、処理ロジックは、プライベートネットワークへのコネクションと、パブリックネットワーク（例えば、インターネット）へのコネクションとの、２つのトランスポートコネクションを有するエッジネットワークデバイスに関連付けられうる。以下で説明するように、方法７００の下では、トランスポートコネクションのリストが、生成され、かつ、その後に種々のデバイスとのデータプレーンセッションの確立に使用されうる。複数のデータプレーンセッションは、シリアルに、又は少なくとも部分的にパラレルに確立されてもよい。
【００７９】
方法７００は、ブロック７０５で開始しうる。当該ブロックにおいて、処理ロジックは、管理デバイスが特定のトランスポート用に設定されているかどうかを判定する。ブロック７０５において管理デバイスが特定のトランスポート用に設定されていない（例えば、「ＮＯ」の）場合、処理ロジックは、ブロック７１０において、いずれかの追加のトランスポートが使用可能であるかどうかを判定しうる。ブロック７１０においていずれかの追加のトランスポートが使用可能である（例えば、「ＹＥＳ」の）場合、ブロック７１０において、処理ロジックは、他のトランスポートを用いて管理デバイスを設定し、ブロック７０５に進みうる。
【００８０】
ブロック７０５において管理デバイスが特定のトランスポート用に設定されている（例えば、「ＹＥＳ」の）場合、処理ロジックは、ブロック７１５において、管理デバイスとのコネクションを確立し、ネットワークアドレス変換（ＮＡＴ）情報を収集し始めうる。ブロック７２０において、処理ロジックは、制御デバイスがネットワークに存在するかどうかを判定しうる。ブロック７２０において制御デバイスがネットワークに存在する（例えば、「ＹＥＳ」の）場合、処理ロジックは、ブロック７２５において、制御デバイスとの制御プレーンセッションを確立しうる。処理ロジックは、ブロック７１０に進みうる。
【００８１】
ブロック７０５において制御デバイスがネットワークに存在しない（例えば、「ＮＯ」の）場合、処理ロジックは、ブロック７１０において、追加のトランスポートが使用可能であるかどうかを判定しうる。ブロック７１０において追加のトランスポートが使用可能でない（例えば、「ＮＯ」の）場合、処理ロジックは、ブロック７３０において、全てのトランスポートについて制御セッションが確立されているかどうかを判定しうる。
【００８２】
ブロック７３０において全てのトランスポートについて制御セッションが確立されている（例えば、「ＹＥＳ」の）場合、処理ロジックは、他の許可されたエッジネットワークデバイスとのデータプレーンコネクションを確立しうる。ブロック７３０において全てのトランスポートについて制御セッションが確立されていない（例えば、「ＮＯ」の）場合、処理ロジックは、ブロック７４０において、追加のトランスポートが使用可能になるまで待機しうる。
【００８３】
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び／又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
【００８４】
図８は、本開示で説明される少なくとも１つの実施形態に係る、例示的なコンピューティングシステム８００を示す。システム８００は、ソフトウェアをテストするように構成された任意の適切なシステム、装置、又はデバイスを含みうる。コンピューティングシステム８００は、プロセッサ８１０、メモリ８２０、データストレージ８３０、及び通信ユニット８４０を備え、これらは全て通信可能に接続されうる。いくつかの実施形態では、本開示のネットワークデバイス（例えば、図１〜図４のエッジネットワークデバイス１１０、２１０又は３１０）、制御デバイス（例えば、図１〜図４の制御デバイス１２０、２２０又は３２０）、又は他のコンピューティングデバイスのいずれかが、コンピューティングシステム８００として実装されうる。追加的又は代替的には、ネットワークデバイス、制御デバイス、ローカルコンピューティングデバイス、又は他のコンピューティングデバイスのうちの１つ以上は、コンピューティングシステム８００等の物理コンピューティングシステム上で動作する仮想マシンとして実装されうる。
【００８５】
一般に、プロセッサ８１０は、種々のコンピュータハードウェア又はソフトウェアモジュールを含む、任意の適切な専用又は汎用コンピュータ、コンピューティングエンティティ、又は処理デバイスを含みうるとともに、任意の適用可能なコンピュータ読み取り可能な記憶媒体上に記憶された命令を実行するように構成されうる。例えば、プロセッサ８１０は、プログラム命令の解釈及び／又は実行、及び／又はデータの処理を行うように構成された、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は任意の他のディジタル若しくはアナログ回路を含みうる。
【００８６】
図８では単一のプロセッサとして示されているが、プロセッサ８１０は、本開示で説明される任意の数の動作を個別に又はまとめて実行するように構成された、任意の数のネットワーク又は物理的ロケーションにわたって分散された任意の数のプロセッサを含みうることを理解されたい。いくつかの実施形態では、プロセッサ８１０は、メモリ８２０に、データストレージ８３０に、又はメモリ８２０及びデータストレージ８３０に格納された、プログラム命令の解釈及び／又は実行と、格納されたデータの処理との少なくともいずれかを行いうる。いくつかの実施形態では、プロセッサ８１０は、データストレージ８３０からプログラム命令をフェッチし、そのプログラム命令をメモリ８２０にロードしうる。
【００８７】
プログラム命令がメモリ８２０にロードされた後、プロセッサ８１０は、図５〜図７の方法５００、６００及び／又は７００をそれぞれ実行するための命令等のプログラム命令を実行しうる。例えば、プロセッサ８１０は、トラフィックフローが再ルーティング（rerouting）アプリケーションに関連付けられていると判定し、かつ、最良のパフォーマンススコアを有するパスに沿ってトラフィックフローを再ルーティングしうる。他の例として、プロセッサ８１０は、ＤＮＳクエリ及び／又はＤＮＳ応答を書き換えうる。更なる例として、プロセッサ８１０は、再ルーティングされたパスに関連付けられたＮＡＴ出口ポイントが使用されうるように、フローをルーティングしうる。更なる例として、プロセッサ８１０は、複数のパスからのどのパスが最良のパスであるかを判定し、かつ、それに応じてトラフィックを再ルーティングしうる。
【００８８】
メモリ８２０及びデータストレージ８３０は、当該媒体に格納されたコンピュータ実行可能命令又はデータ構造を担持する又は有するための、コンピュータ読み取り可能な記憶媒体又は１つ以上のコンピュータ読み取り可能な記憶媒体を含みうる。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ８１０等の汎用又は専用コンピュータによってアクセスされうる任意の使用可能な媒体とされうる。いくつかの実施形態では、コンピューティングシステム８００は、メモリ８２０及びデータストレージ８３０のいずれかを備えていても備えていなくてもよい。
【００８９】
限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、コンパクトディスク・リードオンリメモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、又は、コンピュータ実行可能命令の形式の所望のプログラムコード若しくはデータ構造を担持若しくは格納するために使用されうる、かつ、汎用又は専用コンピュータによってアクセスされうる任意の他の記憶媒体を含む、非一時的なコンピュータ読み取り可能な記憶媒体を含みうる。上記の組合せも、コンピュータ読み取り可能な記憶媒体の範囲内に含まれうる。コンピュータ実行可能命令は、例えば、プロセッサ８１０に特定の動作又は動作群を実行させるように構成された、命令及びデータを含みうる。
【００９０】
通信ユニット８４０は、ＭＰＬＳコネクション、インターネット、セルラネットワーク（例えば、ＬＴＥネットワーク）等のネットワークを介して情報を送信又は受信するように構成された、任意のコンポーネント、デバイス、システム、又はそれらの組合せを含みうる。いくつかの実施形態では、通信ユニット８４０は、他のロケーションの他のデバイスと通信、同じロケーションの他のデバイスと通信、又は同じシステム内の他のコンポーネントとさえ通信しうる。例えば、通信ユニット８４０は、モデム、ネットワークカード（無線又は有線）、光通信デバイス、赤外線通信デバイス、無線通信デバイス（アンテナ等）、チップセット（Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス、８０２．６デバイス（例えば、メトロポリタンエリアネットワーク（ＭＡＮ））、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラ通信設備、又はその他のもの等）、及び／又はそれらの任意の組合せを含みうる。通信ユニット８４０は、本開示で説明されるネットワーク及び／又は任意の他のデバイス若しくはシステムとデータがやりとりされることを可能にしうる。例えば、通信ユニット８４０は、システム８００が、ネットワークデバイス、制御デバイス及び／又は他のネットワーク等の、他のシステムと通信することを可能にしうる。
【００９１】
本開示の範囲から逸脱することなく、システム８００に対して変更、追加、又は省略が行われてもよい。例えば、データストレージ８３０は、複数のロケーションに配置され、かつ、ネットワークを介してプロセッサ８１０によってアクセスされる、異なる複数の記憶媒体であってもよい。
【００９２】
上述のように、本開示で説明される実施形態は、以下でより詳細に説明されるように、種々のコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用コンピュータ（例えば、図８のプロセッサ８１０）の使用を含みうる。更に、上述のように、本開示で説明される実施形態は、当該媒体に格納されたコンピュータ実行可能命令又はデータ構造を担持する又は有するための、コンピュータ読み取り可能媒体（例えば、図８のメモリ８２０又はデータストレージ８３０）を用いて実装されうる。
【００９３】
本開示で使用されるように、「モジュール」又は「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア（例えば、コンピュータ読み取り可能媒体、処理デバイス、又は他の何らかのハードウェア）に格納される、及び／又はそれによって実行されうる、モジュール又はコンポーネント及び／又はソフトウェアオブジェクト又はソフトウェアルーチンのアクションを実行するように構成された、特定のハードウェア実装を指しうる。いくつかの実施形態では、本開示で説明される異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして（例えば、別個のスレッドとして）実装されうる。本開示で説明されるシステム及び方法のいくつかは、全体として、（汎用ハードウェアに格納される、及び／又は汎用ハードウェアによって実行される）ソフトウェアで実装されるものとして説明されるが、特定のハードウェア実装、又はソフトウェアと特定のハードウェア実装との組合せも可能であり、考えられる。本明細書では、「コンピューティングエンティティ」は、本開示でこれまでに定義された任意のコンピューティングシステム、又はコンピューティングシステム上で実行される任意のモジュール又はモジュールの組合せとされうる。
【００９４】
一般的な慣行によれば、図面に示される種々の特徴は、一定の縮尺で描かれていない場合がある。本開示で提示される例示は、任意の特定の装置（例えば、デバイス、システム等）又は方法の実際の図であることを意味するものではなく、本開示の種々の実施形態を説明するために用いられた理想化された表現にすぎない。したがって、種々の特徴の寸法は、明確にするために任意に拡大又は縮小されてもよい。更に、図面のいくつかは、明確にするために簡略化されている場合がある。したがって、図面は、所与の装置（例えば、デバイス）のコンポーネントの全て、又は特定の方法の全ての動作を示すわけではない。
【００９５】
本開示及び特に添付の請求項（例えば、添付の請求項のボディ）で使用される用語は、全体として「open」用語として意図される（例えば、「含んでいる（including）」という用語は、「含んでいるが、これに限定されない」と解釈されるべきであり、「有する」という用語は、「少なくとも有する」と解釈されるべきであり、「含む（includes）」という用語は、とりわけ「含むが、これに限定されない」と解釈されるべきである）。
【００９６】
更に、導入された請求項記載の特定の数が意図される場合、そのような意図は、請求項において明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解を助けるために、以下の添付の請求項は、請求項記載を導入するために「少なくとも１つの」及び「１つ以上の」という導入フレーズの使用を含む場合がある。
【００９７】
加えて、たとえ導入された請求項記載の特定の数が明示的に記載されているとしても、当業者であれば、そのような記載が少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう（例えば、他の修飾語が無い「２つの記載」という最小限の記載は、少なくとも２つの記載、又は２つ以上の記載を意味する）。更に、「Ａ、Ｂ、及びＣ等のうちの少なくとも１つ」又は「Ａ、Ｂ、及びＣ等のうちの１つ以上」に類似する慣習が使用される場合、一般に、このような構成は、Ａ単独、Ｂ単独、Ｃ単独、Ａ及びＢの組み合わせ、Ａ及びＢの組み合わせ、Ａ及びＣの組み合わせ、Ｂ及びＣの組み合わせ、又は、Ａ、Ｂ及びＣの組み合わせ等を含むことが意図される。
【００９８】
更に、明細書、特許請求の範囲、又は図面のいずれにおいても、２つ以上の代替的用語を表す任意の分離語又はフレーズは、用語のうちの１つ、用語のうちのいずれか、又は両方の用語を含む可能性が考えられていると理解されるべきである。例えば、フレーズ「Ａ又はＢ」は、「Ａ」又は「Ｂ」又は「Ａ及びＢ」の可能性を含むと理解されるべきである。
【００９９】
しかしながら、そのようなフレーズの使用は、不定冠詞「a」又は「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意の特定の請求項を、そのような記載を１つだけ含む実施形態に限定することを黙示するものと解釈されるべきではなく、同じ請求項が、導入フレーズ「１つ以上の」又は「少なくとも１つの」、及び「a」又は「an」等の不定冠詞を含む場合であっても（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味するように解釈されるべきである）、同じことが、請求項記載を導入するために使用される明確な冠詞の使用に当てはまる。
【０１００】
更に、「第１の」、「第２の」、「第３の」等の用語の使用は、本明細書では必ずしも特定の順序又は特定のエレメント数を示すためには使用されない。一般に、「第１の」、「第２の」、「第３の」等の用語は、異なるエレメント間で一般的な識別子として区別するために使用される。「第１の」、「第２の」、「第３の」等の用語が特定の順序を示していることの提示が無い場合、これらの用語は、特定の順序を示すものと理解されるべきではない。更に、「第１の」、「第２の」、「第３の」等の用語が特定のエレメント数を示していることの提示が無い場合、これらの用語は、特定のエレメント数を示すものと理解されるべきではない。例えば、第１のウィジェットは第１のサイドを有するものとして記述され、第２のウィジェットは第２のサイドを有するものとして記述されてもよい。第２のウィジェットに関する「第２のサイド」との用語の使用は、第２のウィジェットのそのようなサイドを、第１のウィジェットの「第１のサイド」と区別しうるが、第２のウィジェットが２つのサイドを有することを示すものではない。
【０１０１】
本開示に記載された全ての例及び条件表現は、本発明と発明者によって当該技術を促進することに貢献した概念とを読者が理解するのを助けるための、教育的目的を意図しており、そのような具体的に記載された例及び条件に限定されるものではないと解釈されるべきである。本開示の実施形態が詳細に説明されてきたが、本開示の精神及び範囲から逸脱することなく、様々な変更、置換及び改変がそれらに対してなされうることが理解されるべきである。
【図１】
2020530957.tif 000003
【図２】
2020530957.tif 000004
【図３】
2020530957.tif 000005
【図４】
2020530957.tif 000006
【図５】
2020530957.tif 000007
【図６】
2020530957.tif 000008
【図７】
2020530957.tif 000009
【図８】
2020530957.tif 000010
【国際調査報告】
2020530957.tif 000011
2020530957.tif 000012
2020530957.tif 000013