図面 (/)
課題・解決手段
方法は、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを、第1のネットワークデバイスが判定することを含みうる。本方法は更に、データプレーンとは別個の制御プレーンを介して制御デバイスとの制御チャネルを確立することを含みうる。本方法は更に、当該制御チャネルを介して制御デバイスに第1のセキュリティアソシエーションパラメータをアドバタイズすることを含みうる。本方法は、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、制御チャネルを介して制御デバイスから受信することを含みうる。本方法は更に、第2のセキュリティアソシエーションパラメータを使用して、第2のネットワークデバイスとのデータプレーンコネクションを確立することを含みうる。
概要
背景
概要
方法は、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを、第1のネットワークデバイスが判定することを含みうる。本方法は更に、データプレーンとは別個の制御プレーンを介して制御デバイスとの制御チャネルを確立することを含みうる。本方法は更に、当該制御チャネルを介して制御デバイスに第1のセキュリティアソシエーションパラメータをアドバタイズすることを含みうる。本方法は、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、制御チャネルを介して制御デバイスから受信することを含みうる。本方法は更に、第2のセキュリティアソシエーションパラメータを使用して、第2のネットワークデバイスとのデータプレーンコネクションを確立することを含みうる。
目的
セキュア通信チャネルを確立する際の多くの課題の1つは、いわゆる中間者攻撃(man-in-the-middle attack)を受けることなく、エンドポイント間でやりとりされる認証情報及び暗号化キーのための能力を提供する
効果
実績
- 技術文献被引用数
- 0件
- 牽制数
- 0件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
方法であって、第1のネットワークデバイスが、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを決定することと、データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、第1のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、前記第2のセキュリティアソシエーションパラメータを使用して前記第2のネットワークデバイスとのデータプレーンコネクションを確立することと、を含む方法。
請求項2
認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項1に記載の方法。
請求項3
前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項2に記載の方法。
請求項4
前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換(NAT)を決定することを更に含む、請求項3に記載の方法。
請求項5
前記アップストリームパスのための前記NATを、前記制御デバイスに送信することを更に含む、請求項3又は4に記載の方法。
請求項6
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、前記制御デバイスへの接続に使用するために前記第1のネットワークデバイスが使用可能な複数のトランスポートを識別することと、前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、を含む、請求項1から5のいずれか1項に記載の方法。
請求項7
前記第1のセキュリティアソシエーションパラメータは、前記第2のネットワークデバイスに反映されるキーを含み、前記キーは、前記第2のネットワークデバイスとの前記データプレーンを確立するために使用される、請求項1から6のいずれか1項に記載の方法。
請求項8
非一時的なコンピュータ読み取り可能媒体であって、当該媒体に格納されたコンピュータ読み取り可能命令を含み、当該命令は、第1のネットワークデバイスが、ソフトウェア定義ネットワーク(SDN)におけるトラポートを通じてオープンする制御チャネルのタイプを決定することと、データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、第1のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、前記第2のセキュリティアソシエーションパラメータを使用して前記第2のネットワークデバイスとのデータプレーンコネクションを確立することと、を含む動作の実行を行う又は制御するためにプロセッサにより実行可能である、コンピュータ読み取り可能媒体。
請求項9
前記動作は、認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項8に記載の非一時的なコンピュータ読み取り可能媒体。
請求項10
前記動作は、前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項9に記載の非一時的なコンピュータ読み取り可能媒体。
請求項11
前記動作は、前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換(NAT)を決定することを更に含む、請求項10に記載の非一時的なコンピュータ読み取り可能媒体。
請求項12
前記動作は、前記アップストリームパスのための前記NATを、前記制御デバイスに送信することを更に含む、請求項10又は11に記載の非一時的なコンピュータ読み取り可能媒体。
請求項13
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、前記制御デバイスへの接続に使用するために前記第1のネットワークデバイスが使用可能な複数のトランスポートを識別することと、前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、を含む、請求項8から12のいずれか1項に記載の非一時的なコンピュータ読み取り可能媒体。
請求項14
前記第1のセキュリティアソシエーションパラメータは、前記第2のネットワークデバイスに反映されるキーを含み、前記キーは、前記第2のネットワークデバイスとの前記データプレーンを確立するために使用される、請求項8から13のいずれか1項に記載の非一時的なコンピュータ読み取り可能媒体。
請求項15
システムであって、メモリと、1つ以上のプロセッサとを備え、当該1つ以上のプロセッサは、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを決定することと、データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立することと、第1のネットワークデバイスに関連付けられた第1のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズすることと、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信することと、前記第2のセキュリティアソシエーションパラメータを使用して前記第2のネットワークデバイスとのデータプレーンコネクションを確立することと、を含む動作を実行するように構成される、システム。
請求項16
前記動作は、認証プロトコルを使用して前記制御デバイスとの認証を行うことを更に含む、請求項15に記載のシステム。
請求項17
前記動作は、前記制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行うことを更に含む、請求項16に記載のシステム。
請求項18
前記動作は、前記制御デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換(NAT)を決定することを更に含む、請求項17に記載のシステム。
請求項19
前記動作は、前記アップストリームパスのための前記NATを、前記制御デバイスに送信することを更に含む、請求項17又は18に記載のシステム。
請求項20
データプレーンとは別個の前記制御プレーンを介して前記制御デバイスとの前記制御チャネルを確立することは、前記制御デバイスへの接続に使用するために前記第1のネットワークデバイスが使用可能な複数のトランスポートを識別することと、前記複数のトランスポートのそれぞれを通じて、前記制御デバイスとのそれぞれの制御チャネルを確立することと、を含む、請求項15から19のいずれか1項に記載のシステム。
請求項21
装置であって、第1のネットワークデバイスが、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを決定する手段と、データプレーンとは別個の制御プレーンを介して制御デバイスとの前記制御チャネルを確立する手段と、第1のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスにアドバタイズする手段と、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、前記制御チャネルを介して前記制御デバイスから受信する手段と、前記第2のセキュリティアソシエーションパラメータを使用して前記第2のネットワークデバイスとのデータプレーンコネクションを確立する手段と、を備える装置。
請求項22
請求項2から7のいずれか1項に記載の方法を実行する手段を更に備える、請求項21に記載の装置。
請求項23
コンピュータによって実行されると当該コンピュータに請求項1から7のいずれか1項に記載の方法のステップを実行させる命令を含むコンピュータプログラム、コンピュータプログラム製品、又はコンピュータ読み取り可能媒体。
技術分野
背景技術
0003
ネットワークの使用は、別個のコンピューティングデバイス間の通信を可能にするのに有用なツールである。コンピュータ、及びコンピュータが通信するネットワークが急増しているにもかかわらず、現在のネットワーク技術には依然として様々な制限が残っている。
0004
本開示において請求される主題は、任意の欠点を解決する又は上述のような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、本開示で説明されるいくつかの実施形態が実施されうる技術分野の一例を示すためにのみ提供される。
0005
本発明の態様は独立請求項に記載されており、好ましい特徴は従属請求項に記載されている。1つの態様の特徴は、各態様に対して単独で、又は他の態様と組み合わせて適用されうる。
0006
本開示の1つ以上の実施形態は、ソフトウェア定義ネットワーク(SDN)におけるトランスポートを通じてオープンする制御チャネルのタイプを、第1のネットワークデバイスが決定することを含みうる方法を含みうる。本方法は更に、データプレーンとは別個の制御プレーンを介して制御デバイスとの制御チャネルを確立することを含みうる。本方法は更に、当該制御チャネルを介して制御デバイスに第1のセキュリティアソシエーションパラメータをアドバタイズすることを含みうる。本方法は、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを、制御チャネルを介して制御デバイスから受信することを含みうる。本方法は更に、第2のセキュリティアソシエーションパラメータを使用して、第2のネットワークデバイスとのデータプレーンコネクションを確立することを含みうる。
0007
本開示の1つ以上の実施形態は、そのような方法の実行を容易にするためのシステム及び/又は非一時的なコンピュータ読み取り可能媒体を更に含みうる。
0008
実施形態の目的及び利点は、少なくとも、請求項において具体的に指摘されるエレメント、特徴、及び組み合わせによって実現されて達成される。
0009
前述の全体的な説明及び以下の詳細な説明の両方は、単に例及び説明のためのものであり、請求される本発明を限定するものではないことを理解されたい。
図面の簡単な説明
0010
実施形態の例は、以下の添付図面を使用して更なる具体性及び詳細を伴って記載及び説明される。
0011
図1は、ソフトウェア定義ネットワーク(SDN)を実装するネットワークコンポーネントのシステム例を示す。
0012
図2は、SDNを実装する他のシステム例を示す。
0013
図3は、制御プレーンの実装のシステム例を示す。
0014
図4は、データプレーンの実装の他のシステム例を示す。
0016
図6は、SDN内に制御プレーン及びデータプレーンを確立する他の方法例のフローチャートを示す。
0017
図7は、SDN内に制御プレーン及びデータプレーンを確立する他の方法例のフローチャートを示す。
0018
図8は、コンピューティングシステムの例を示す。
実施例
0019
暗号化は、現代の通信ネットワークにわたって行われているデータのやりとりの大部分の基礎的となる機能である。エンドポイントの認証、セキュアな制御パス及びデータパスの確立、並びに暗号化キーのやりとりに関わる課題は重要である。セキュア通信チャネルを確立する際の多くの課題の1つは、いわゆる中間者攻撃(man-in-the-middle attack)を受けることなく、エンドポイント間でやりとりされる認証情報及び暗号化キーのための能力を提供することである。中間者攻撃は、やりとりされる情報をサードパーティが傍受することができるように、やりとりされる情報の、当該サードパーティによる盗聴及び潜在的な変更を伴う。中間者攻撃を軽減するために使用されるいくつかの従来技術は、ディフィ・ヘルマン(Diffie-Hellman)及び楕円曲線ディジタル署名アルゴリズム(ECDSA)を含む。
0020
本開示の態様は、従来のネットワークにおける各種のセキュリティ上の欠陥を軽減するための従来のアプローチについてのこれらの及び他の欠点に対処する。例えば、本開示は、認証及び暗号化キーのやりとりに、比較的セキュアで、かつ、ディスアソシエート・チャネル(disassociated channel)を使用することによって、非セキュア媒体上でセキュア通信を提供しなければならないという課題に対処する。ディスアソシエート・チャネルは、データ及び制御プロトコル処理の観点から、非セキュアチャネルと同じ機能性を提供し、ある信頼レベルを提供する通信チャネルが使用されることを所与のネットワークの実装者が決定でき、中間者攻撃の可能性を低減するという追加の利点を有する。ほとんどのプライベート通信ネットワーク(例えば、MPLS、リース回線TDM、又はプライベートフレーム/ATMネットワーク)は、一般に、オープンインターネットよりも良好なレベルのセキュリティ及び完全性を提供しうるため、本開示は、プライベートネットワークを、インターネット用のディスアソシエート・チャネルとして使用することによって、暗号化及び認証情報のあらゆるやりとりのセキュリティを大幅に改善しうる。絶対的にセキュアであると見なすことができるネットワークはほとんどないので、認証及びセキュア交換機能の所与のセットが、要求条件を緩和することなくそのまま使用されうる。
0021
本開示は、情報、具体的には所与のプロトコルアドバタイズメント及び関連するメッセージの発信者のローカル通信パス情報を搬送している特定のパスを識別する能力を有するプロトコルを提供する。本開示は更に、前述の通信パスからディスアソシエート・チャネルを介してアドバタイズされる、ローカル通信パスに関する情報を収集するための、帯域外メカニズムを提供しうる。本開示は更に、プロトコルが特に動作可能でないパス(即ち、ディスアソシエート・パス)を通じて、暗号化された通信チャネルを確立するために必要とされる全ての情報を搬送するプロトコルを提供しうる。本開示は更に、前述のプロトコル内で、アドバタイズされた各ローカルパスと、各ローカルパスに関連付けられた共有の又は固有の暗号化パラメータとを一意に識別する能力を提供しうる。本開示は更に、ローカル暗号化エンドポイントが、ネットワークアドレス変換(NAT、IETF RFC2663)の対象であってもなくてもよいパスを通じて、暗号化された通信を確立しながら、それらのパスを、制御チャネルパスからディスアソシエートされたものとして管理する能力を提供しうる。本開示の他の利点は、他のローカルパスのための潜在的なネットワークアドレス変換条件を発見する目的で、ディスアソシエート・チャネル又はパス上で実行されるプロトコルとは異なる制御プロトコルの使用を含みうる。
0022
少なくともいくつかの実施形態では、システムは、サイト間の相互接続に、プライベートネットワーク及びパブリックインターネットを使用するネットワークを含み、この場合、プライベートネットワーク及び/又はインターネットが、サイト間の接続に適するものとしてプライマリ又はバックアップ容量で使用されうるか、異なる通信パスプロファイルを使用する特定のアプリケーションで使用されうる。両方のネットワーク上の通信は、保護されてもよく、暗号化されてもよい。例示的な配置は、制御プレーンプロトコル及びデータプレーンプロトコルの両方を、両方のネットワークに対して同一の(又はほぼ同一の)方法で関与させることができ、その場合、両方のネットワークに固有のパラメータは、それぞれの個別のネットワークを通じてやりとりされうる。
0023
本開示の実施形態は、コンピュータネットワークに対する改善及びコンピュータ自体の動作に対する改善を提供することができる。例えば、本開示の1つ以上の実施形態を使用すると、ネットワークトラフィックがよりセキュアになりうるとともに、スニッフィング攻撃及び中間者攻撃に対する脆弱性がより少なくなりうる。添付の図面を参照して、本開示の実施形態について説明する。
0024
図1は、本開示の1つ以上の実施形態に係る、ソフトウェア定義ネットワーク(SDN)を実装するネットワークコンポーネントの例示的なシステム100を示す。SDNは、任意のタイプのネットワーク又はネットワークトポロジを含みうる。例えば、SDNは、ソフトウェア定義ワイドエリアネットワーク(SD−WAN)、ソフトウェア定義ローカルエリアネットワーク(LAN)、ソフトウェア定義メトロポリタンエリアネットワーク(MAN)、又は他のタイプのネットワークを含みうる。システム100は、内部ネットワークドメイン105及び1つ以上の外部ネットワークドメインを含みうる。システム100は、1つ以上のエッジネットワークデバイス110(エッジネットワークデバイス110a〜110d等)、制御デバイス120、通信ネットワーク130、並びに、外部ネットワークデバイス140及び141(外部ネットワークデバイス140a〜140d及び141a〜141d等)を含みうる。
0025
説明を簡単かつ明確にするために、本開示のいくつかの例は、ネットワークがハードウェアによって制御されるのではなく、ソフトウェアによって少なくとも部分的に管理されるWANに関して説明される。このため、SDNは、インターネット、マルチプロトコルラベルスイッチング(MPLS:MultiProtocol Label Switching)コネクション、及び/又はセルラコネクション(Long Term Evolution(LTE)、LTE Advanced、Worldwide Interoperability for Microwave Access(WiMAX)、Evolved High Speed Packet Access(HSPA+)、及び/又はその他のもの等)のような、複数のタイプのコネクション又は通信リンクをサポートしうる。加えて、SDNは、種々のコネクション間のロードバランシング又はロードシェアリングをサポートしうる。更に、いくつかのネットワークについての分散された性質に起因して、SDNは、仮想プライベートネットワーク(VPN)、ファイアウォール、及び他のセキュリティサービスをサポートしうる。例えば、SD−WANでは、制御プレーンが物理トポロジから機能的に分離されうる。いくつかの実施形態では、SDNは、(ソフトウェアにより管理される)ネットワークの制御プレーンを、(ネットワークのハードウェア上で動作する)ネットワークのデータプレーンから分離しうる。本明細書で使用されるように、制御プレーンという用語は、データプレーンで生じうる、ネットワークを通じたデータ伝送ではなく、ネットワーク自体の制御及び管理で使用される通信及びコネクションを指しうる。本明細書で使用されるように、データプレーンという用語は、ネットワークを通じたデータの送信及び受信で使用される通信及びコネクションを指しうる。例えば、制御プレーンは、ネットワーク内のネットワークデバイスに向かう管理トラフィックを含む場合があり、データプレーンは、ネットワーク内のネットワークデバイスを通過するトラフィックを含む場合がある。
0026
いくつかの実施形態では、制御デバイス120は、エッジネットワークデバイス110の動作の1つ以上の態様を指示することによって、内部ネットワークドメイン105の制御プレーンを管理するように構成されうる。例えば、制御デバイス120は、1つ以上のエッジネットワークデバイス110にポリシーを生成及び/又は配布しうる。ポリシーは、ルーティング、優先度、メディア等の、ネットワークトラフィックの処理に関係するルール又はルールのセットを含みうる。内部ネットワークドメイン105は、特定の機能及び/又はプロトコルを有する、保護され制御されたドメインとして動作しうる。いくつかの実施形態では、エッジネットワークデバイス110は、制御デバイス120によって作成された及び/又は伝えられた1つ以上のポリシーに基づいて動作しうる。これら及び他の実施形態では、エッジネットワークデバイス110は、制御デバイス120によって作成された及び/又は伝えられたポリシーに基づいて、内部ネットワークドメイン105内のデータトラフィックをルーティングしうる。
0027
いくつかの実施形態では、制御デバイス120は、エッジネットワークデバイス110の各々と制御プレーンコネクションを形成しうる。制御プレーンコネクションは、内部ネットワークドメイン105の管理及び制御のために、エッジネットワークデバイス110と制御デバイス120との間のデータのやりとりを容易にしうる。制御プレーンコネクションは、データグラム・トランスポート層セキュリティ(DTLS:Datagram Transport Layer Security)トンネル等の、通信ネットワーク130を通るトンネルを介して動作しうる。いくつかの実施形態では、制御プレーンコネクション上で伝送されるデータは、制御デバイス120が通信ネットワーク130のトポロジを判定することを容易にしうる。例えば、制御デバイス120は、通信ネットワーク130内のエッジネットワークデバイス110間にどのような物理的コネクションが存在するかを判定するために、エッジネットワークデバイス110と通信しうる。追加的又は代替的には、制御プレーンコネクション上で伝送されるデータは、エッジネットワークデバイス110間の通信ネットワーク130を通る、使用可能な、最適な又は望ましいパスを制御デバイス120が判定することを容易にしうる。追加的又は代替的には、制御プレーンコネクション上で伝送されるデータは、エッジネットワークデバイス110間の通信ネットワーク130を通る、使用可能な、最適な又は望ましいパスをエッジネットワークデバイス110が判定することを容易にしうる。追加的又は代替的には、制御デバイス120は、制御プレーンコネクション上でエッジネットワークデバイス110にルート情報を伝達しうる。これらの及び他の実施形態では、制御プレーンコネクションは、制御デバイス120とエッジネットワークデバイス110との間の永続的コネクションを含んでもよく、それにより、制御デバイス120と所与のエッジネットワークデバイス110との間のコネクションが切断された場合に、エッジネットワークデバイス110は、内部ネットワークドメイン105を介して通信することができないか、さもなければ、通信することを許可されないことがある。
0028
いくつかの実施形態では、制御デバイス120は、内部ネットワークドメイン105内にルート情報を格納する中央ルートテーブルを維持しうる。例えば、制御デバイス120は、通信ネットワーク130を通じてエッジネットワークデバイス110が使用可能な物理的コネクション及び/又は論理的コネクションを判定するために、様々なエッジネットワークデバイス110と通信しうる。いくつかの実施形態では、エッジネットワークデバイス110は、互いに対する1つ以上の物理的及び/又は論理的コネクションを含みうる。これらの及び他の実施形態では、制御デバイス120は、内部ネットワークドメイン105を通るデータトラフィックルートをエッジネットワークデバイス110が判定するのを助けるために、中央ルートテーブルとともに1つ以上のポリシーを生成及び/又は更新しうる。例えば、制御デバイス120は、内部ネットワークドメイン105を通る全ての個別のフローに関与するのではなく、トラフィックフローに関連するポリシー及び他のコンフィギュレーションプリファレンスをエッジネットワークデバイス110に提供しうる。
0029
これらの及び他の実施形態では、エッジネットワークデバイス110は、システム100全体のトポロジ及び/又はルートパス(route path)を格納していなくてもよい。エッジネットワークデバイス110の各々は、到達可能性を判定するために、互いに個別に問い合わせる必要がない場合がある。その代わりに、制御デバイス120は、そのような情報をエッジネットワークデバイス110に提供してもよい。これら及び他の実施形態では、エッジネットワークデバイス110は、制御デバイス120から受信した1つ以上の他のポリシー、トラフィックの特性、ルートパスの特性、ソースエッジネットワークデバイス110、及び宛先(例えば、エッジネットワークデバイス110)に基づいて、最も直接的なルート、最も費用効果の高いルート、最も信頼性の高いルート、又は何らかの他のルートを通じてトラフィックをルーティングしうる。
0030
いくつかの実施形態では、1つ以上のポリシーは、ネクストホップ及びルートパス指示を決定することに関するガイダンスを含みうる。例えば、特定のポリシーは、トラフィックのために完全なエンドツーエンド・ルートを提供するのではなく、トラフィックフローの特定のカテゴリ、クラス、又はグループのために次にトラフィックをどこにルーティングするかを、特定のエッジネットワークデバイス110に指示しうる。例えば、エッジネットワークデバイス110aは、外部ネットワークデバイス141cのアドレスに向かうデータを外部ネットワークデバイス140aから受信しうる。エッジネットワークデバイス110aは、外部ネットワークデバイス141cのアドレスに宛てられたネットワークトラフィックのための「ネクストホップ」が、エッジネットワークデバイス110dにルーティングされることを含む、データのためのルートパスを決定するためにネットワークデバイス110aが使用しうる第1のポリシーを格納していてもよい。
0031
いくつかの実施形態では、制御デバイス120は、内部ネットワークドメイン105内のあるネットワークトラフィックフローを、あるタイプのコネクション又は通信リンク(例えば、LTE、インターネット、MPLS)を介して、及び/又はあるエッジネットワークデバイス110を介してルーティングさせるためのポリシーを生成しうる。いくつかの実施形態では、リンク分類が通信リンクのタイプを示しうる。エッジネットワークデバイス110は、(例えば、パケットがネットワークを通って移動しているときに)高速パスでのルーティング決定を行いうる。エッジネットワークデバイス110は、アクションを決定するためにポリシーを使用しうる。例えば、データの所与のセットについて、当該ポリシーは、コンフィギュレーションプリファレンスに基づいて、及び通信リンクのタイプ又は分類に基づいて、第1のルーティングパスが選択されうることを示しうる。エッジネットワークデバイス110は更に、特定のソースからの全てのパケット、特定のコンピュータラップトップから発信された全てのパケット、トラフィックのタイプ(例えば、音声)等についてのアクションを決定(例えば、ルートパスを決定)しうる。他の例では、ポリシーは、100.1/16の範囲内のIPアドレスを有する全てのフローが音声フローとして分類されうることを示しうるコンフィギュレーションプリファレンスを有する。エッジネットワークデバイス110が3つの異なる通信リンク(例えば、インターネットリンク、MPLSリンク、セルラリンク)に接続される場合。コンフィギュレーションプリファレンスは、音声トラフィックがインターネットリンクを介してルーティングされるべきであることを示しうる。したがって、エッジネットワークデバイス110は、100.1/16の範囲内のIPアドレスを有する全てのフローを、インターネットリンクを介してルーティングしうる。コンフィギュレーションプリファレンスの他の例は、とりわけ、コスト(例えば、金銭的、時間、ルート、ホップ、トランスポートヘルス(損失、レイテンシ、及び/又はジッタ等)、帯域幅、パスジオグラフィ、ソース(例えば、デバイス、ジオグラフィ、ユーザ)、宛先(例えば、デバイス、ジオグラフィ、ユーザ)、アプリケーション(例えば、ビジネス、ソーシャル)、ユーザグループ(例えば、第1のサブネットIP上のファイナンス、第2のサブネットIP上のHR、第3のサブネットIP上のエンジニアリング)を含みうる。任意のタイプのデータ又は情報がコンフィギュレーションプリファレンスとして使用されうる。一例では、エッジネットワークデバイス110は、ヘッダ等の、トラフィックに関連付けられたメタデータを識別しうる。ヘッダは、当該ヘッダ内に、予め定義されたルーティングパスを示すためのDSCP値を含みうる。エッジネットワークデバイス110は、(レイヤ7ヘッダ又はhttpヘッダと称されることもある)特定のアプリケーションに基づいて、ルーティング決定を行ってもよい。例えば、エッジネットワークデバイス110は、第1のパス上でOFFICE365トラフィックをルーティングし、第2のパス上でSALESFORCEトラフィックをルーティングしてもよい。
0032
いくつかの実施形態では、制御デバイス120は、エッジネットワークデバイス110の認証を容易にしうる。制御デバイス120は更に、データプレーンのコンフィギュレーションを容易にしうる。少なくともいくつかの実施形態では、データプレーンをセットアップするために、エッジネットワークデバイス110は、エッジネットワークデバイス110用のセキュリティアソシエーションパラメータのセットを生成しうる。セキュリティアソシエーションパラメータは、エッジネットワークデバイス110との認証及び/又は接続のために他のエッジネットワークデバイスによって使用されうる情報を含みうる。例えば、セキュリティアソシエーションパラメータは、1つ以上のキー、証明書等を含みうる。エッジネットワークデバイス110は、セキュリティアソシエーションパラメータを制御デバイス120に送信しうる。制御デバイス120は、エッジネットワークデバイス110に接続することが許可されている他のエッジネットワークデバイスに、当該セキュリティアソシエーションパラメータを送信しうる。制御プレーン及びデータプレーンのコンフィギュレーションを容易にするために使用される制御デバイス120の更なる詳細については、図3〜図7に関連して説明される。
0033
いくつかの実施形態では、エッジネットワークデバイス110間のトラフィック、及びエッジネットワークデバイス110と制御デバイス120との間のトラフィックは、エッジネットワークデバイス110間の1つ以上のデータグラム・トランスポート層セキュリティ(DTLS)及び/又はトランスポート層セキュリティ(TLS)コネクションを介して、256ビット長のキーを用いたAdvanced Encryption Standard(AES)を使用する双方向認証等によって暗号化されうる。
0034
いくつかの実施形態では、制御デバイス120は、内部ネットワークドメイン105内のエッジネットワークデバイス110のうちの1つ又は以上(又は全て)の認証情報を記憶しうる。これら及び他の実施形態では、制御デバイス120の当該記憶された認証情報に一致する又はさもなければ対応する認証情報を、デバイスが有しない限り、当該デバイスは、内部ネットワークドメイン105内で通信することを阻まれる。いくつかの実施形態では、当該認証情報は、制御プレーンコネクションを確立するためにエッジネットワークデバイス110が最初にオンラインになるときに使用されてもよく、制御デバイス120との制御プレーンコネクションを有さない任意のデバイスが、内部ネットワークドメイン105内で通信することを阻まれてもよい。
0035
エッジネットワークデバイス110は、内部ネットワークドメイン105の境界で動作しうる。エッジネットワークデバイス110は、内部ネットワークドメイン105内で動作しうる1つ以上の物理的コネクション及び/又は論理的コネクションを含みうる。そのようなコネクションが通信ネットワーク130の一部として示されてもよい。追加的又は代替的には、エッジネットワークデバイス110は、内部ネットワークドメイン105の外部で動作する1つ以上の物理的コネクション及び/又は論理的コネクションを含んでもよい。例えば、エッジネットワークデバイス110は、(複数の)外部ネットワークデバイス140及び/又は141に接続されてもよい。
0036
いくつかの実施形態では、エッジネットワークデバイス110は、関連する外部ネットワークデバイス140及び141から内部ネットワークドメイン105にトラフィックをルーティングするように動作しうる。追加的又は代替的には、エッジネットワークデバイス110は、内部ネットワークドメイン105から関連する外部ネットワークデバイス140及び141にトラフィックをルーティングするように動作してもよい。いくつかの実施形態では、エッジネットワークデバイス110は、とりわけ、オープン・ショーテスト・パス・ファースト(OSPF:Open Shortest Path First)、ボーダ・ゲートウェイ・プロトコル(BGP:Border Gateway Protocol)、仮想ルータ冗長プロトコル(VRRP:Virtual Router Redundancy Protocol)、双方向フォワーディング検出(BFD:Bi-directional Forwarding Detection)等の、典型的な通信プロトコルを使用して、関連する外部ネットワークデバイス140及び141と通信しうる。追加的又は代替的には、エッジネットワークデバイス110は、とりわけ、差別化サービスコードポイント(DSCP:differentiated services code point)タグ付け又はサービスタイプ(TOS:type of service)タグ付け、サービス品質(QoS:Quality of Service)モニタリング、サービスレベルアグリーメント(SLA:Service Level Agreements)、インターネットプロトコル(IP)フォワーディング、インターネットプロトコルセキュリティ(IPsec:Internet Protocol Security)、アクセス制御リスト(ACL:Access Control Lists)等の、他のネットワーク機能をサポートしてもよい。
0037
例えば、DSCP又はTOSタグ付けでは、エッジネットワークデバイス110はDSCP又はTOSタグをパケットヘッダに挿入するように構成されうる。そのようなDSCP又はTOSタグは、特定のタイプのネットワークトラフィックを送信する複数の通信リンクのうちの1つの通信リンク(又は1つの通信リンクについてのプリファレンス)を識別しうる。DSCP又はTOSタグに基づいて、エッジネットワークデバイス110は、1つ以上のタイプの通信リンクを介してネットワークトラフィックをルーティングしうる。
0038
更なる例として、IPsecでは、エッジネットワークデバイス110は、ネットワークトラフィックを認証及び/又は暗号化するためにIPsecを使用しうる。例えば、所与のエッジネットワークデバイス110は、所与のエッジネットワークデバイス110と通信するために1つ以上のコンピューティングデバイスを認証しうる、及び/又は、コンピューティングデバイスと所与のエッジネットワークデバイス110との間で伝達される1つ以上のパケットを暗号化しうる。
0039
他の例として、ACLでは、エッジネットワークデバイス110は、所与のポート又は特定の通信リンクを使用することを許可されうる1つ以上のアドレス、ホスト、及び/又はネットワークを示す、ルールのセットを含みうる。これら及び他の実施形態では、エッジネットワークデバイス110は、インバウンド(inbound)トラフィック、アウトバウンド(outbound)トラフィック、又はその両方に適用可能なACLを含みうる。
0040
いくつかの実施形態では、エッジネットワークデバイス110は、1つ以上のルートテーブルをローカルで維持しうる。いくつかの実施形態では、エッジネットワークデバイス110は、制御デバイス120から送信された1つ以上のポリシーに基づいて、ルートテーブルを調整又は変更しうる。例えば、1つ以上のポリシーに基づいて、エッジネットワークデバイス110によって、1つ以上のエントリが、除去されてもよいし、廃棄されてもよいし、又はさもなければルートテーブルに追加されなくてもよい。いくつかの実施形態では、エッジネットワークデバイス110は、制御デバイス120からの、及び/又はエッジネットワークデバイス110によって処理されるトラフィックからのポリシーに基づいて、ルートテーブルを更新、変更、及び/又は生成するためのロジックを含みうる。1つ以上のルートテーブルが、BGP及び/又はOSPF等の1つ以上のネットワークプロトコルを使用して学習された、直接インタフェースルート、静的ルート、及び/又は動的ルートに基づいて、エッジネットワークデバイス110によって自動的に追加されてもよい。いくつかの実施形態では、内部ネットワークドメイン105の外部のデータのためのルーティング決定が、制御デバイス120からの特定の指示、入力、又は制御無しで、特定のエッジネットワークデバイス110によって実行されうる。例えば、特定のエッジネットワークデバイス110は、当該特定のエッジネットワークデバイス110が制御デバイス120から受信した1つ以上のポリシーに基づいて、ルーティング決定を計算しうる。
0041
いくつかの実施形態では、エッジネットワークデバイス110及び/又は制御デバイス120のうちの1つ以上が、1つ以上の物理コンピューティングデバイス上で動作する1つ以上の仮想マシンとして実装されうる。追加的又は代替的には、エッジネットワークデバイス110及び/又は制御デバイス120はそれぞれ、個別のスタンドアロン型コンピューティングデバイスを含んでもよい。
0042
本開示の範囲から逸脱することなく、図1に対して変更、追加、又は省略が行われてもよい。例えば、4つのエッジネットワークデバイス110及び1つの制御デバイス120を含むものとして示されているが、システム100は、何千又は何万ものエッジネットワークデバイス110及び5つ以上の制御デバイス120のような、任意の数のエッジネットワークデバイス110及び制御デバイス120を含んでもよい。他の例として、単一の通信ネットワーク130として示されるように、通信ネットワーク130は、複数のタイプの通信コネクションを含んでもよい。
0043
図2は、本開示の1つ以上の実施形態に係る、SDNを実装するネットワークコンポーネントの他の例示的なシステム200を示す。システム200は、1つ以上のエッジネットワークデバイス210(エッジネットワークデバイス210a〜210o等)、1つ以上の制御デバイス220(制御デバイス220a、220b、及び220c等)、及び1つ以上の通信ネットワーク230(通信ネットワーク230a、230b、及び230c等)を含みうる。エッジネットワークデバイス210は、図1のエッジネットワークデバイス110と類似又は同等であってもよく、制御デバイス220は、図1の制御デバイス120と類似又は同等であってもよく、通信ネットワーク230は、図1の通信ネットワーク130と類似又は同等であってもよい。システム200は、図1のシステム100と類似又は同等のシステムであってもよいが、追加のネットワークコンポーネント及び追加の外部ネットワークドメインを含むように拡張される。
0044
システム200は、エッジネットワークデバイス210内及び間に、図1のシステム100に関して説明したものと類似又は同等の方法で、内部ネットワークドメイン205を含みうる。システム200は更に、複数の外部ネットワークドメインを含みうる。例えば、データセンタ240は、第1の外部ネットワークドメインを表し、キャンパス250は、第2の外部ネットワークドメインを表し、ブランチ260は、第3の外部ネットワークドメインを表し、リモートサイト270は、第4の外部ネットワークドメインを表しうる。これら及び他の実施形態では、各外部ネットワークドメインは、内部ネットワークドメイン205と所与の外部ネットワークドメインとの間のブリッジとして機能する1つ以上のエッジネットワークデバイス210を含みうる。追加的又は代替的には、外部ネットワークドメインのうちの1つ以上は、内部ネットワークドメイン205を通じて通信可能に接続されることによって、単一のネットワーク内にあるかのように、他の外部ネットワークドメインからアクセス可能であるように機能的に動作しうる。
0045
いくつかの実施形態では、システム200は、1つ以上の外部リソース280(外部リソース280a〜280c等)を含みうる。外部リソース280は、内部ネットワークドメイン205を運用する同じエンティティ又は組織によって運用されてもよく、又は異なるエンティティによって運用されてもよい。これら及び他の実施形態では、システム200は、特定の外部リソース280に関連付けられうるエッジネットワークデバイス210を含みうる。例えば、システム200は、地域コロケーション施設内に配置されたエッジネットワークデバイス210を含みうる。地域コロケーション施設は、所与の物理的ロケーションにおけるインターネット又は他の通信プロトコルへの有向又は保証されたアクセスを有するロケーションを含みうる。いくつかの実施形態では、地域コロケーション施設は、外部リソース280のうちの1つ以上への、優先されたコネクション又は改善されたコネクションを含みうる。いくつかの実施形態では、地域コロケーション施設は、外部ネットワークドメインのうちの1つ以上に物理的に近接しうる、指定された地理的ロケーションにあってもよい。例えば、データセンタ240はニューヨークに配置され、ブランチ260はテキサス州ダラスに配置され、エッジネットワークデバイス210nはテキサス州ヒューストンの地域コロケーション施設内に配置されてもよい。
0046
外部リソース280は、システム200による消費のために利用可能な任意のコンピューティングサービスを含みうる。例えば、外部リソース280は、ソフトウエアサブスクリプション又はサービスとしてのソフトウェア(SaaS:software as a service)のようなクラウドベースのサービス(Microsoft Office 365、Azure、Google Apps、Workforce、Amazon Web Services、WorkDay、DocuSign、GoToMeeting、WebEx、QuickBooks、及び/又はその他のもの等)、メディアサービス(YouTube(登録商標)、NetFlix、Pandora、Spotify、及び/又はその他のもの等)、及び/又はその他のものを含みうる。これら及び他の実施形態では、外部リソース280は、様々な地理的ロケーションにある1つ以上のアクセスポイントを有する外部リソース280へのアクセスを容易にするために、サードパーティ・ネットワークを含みうる。例えば、SaaSは、サードパーティ・ネットワークにアクセスするための、テキサス州オースティン、カリフォルニア州パロアルト、及びニューヨーク州ニューヨークにあるアクセスサーバを含みうる。
0047
いくつかの実施形態では、システム200は地理的に分散されてもよい。例えば、データセンタ240は、ミネソタ州セントポールに配置され、キャンパス250は、アイオワ州デスモインに配置されてもよく、ワシントン州シアトル、カリフォルニア州ロサンゼルス、ジョージア州アトランタ、及びフロリダ州オーランドに、ブランチ260があってもよく、英国のロンドン、ドイツのベルリン、及び韓国のソウルにリモートサイト270があってもよい。これら及び他の実施形態では、システム200は、これらの分散された物理的ロケーションの全ての間の通信を単一のネットワークとして容易にするために、通信ネットワーク230及び内部ネットワークドメイン205を使用しうる。
0048
いくつかの実施形態では、1つ以上の外部ネットワークドメインは、Microsoft Exchange、SharePoint、Oracle e-Business Suite、及び/又はその他のもの等の、データセンタ240内のリソースを有する1つ以上のアプリケーションを使用しうる。例えば、キャンパス250で動作するワークステーションは、Microsoft Exchangeを動作させうる。アプリケーションの動作には、ワークステーションからキャンパス250の外部ネットワークドメイン内のエッジネットワークデバイス210eに進むデータフローが含まれうる。当該データフローは、内部ネットワークドメイン205を通じて、エッジネットワークデバイス210eから、データセンタ240に関連付けられたエッジネットワークデバイス210b、210c及び/又は210dのうちの1つに進みうる。エッジネットワークデバイス210b、210c及び/又は210dのうちの1つは、トラフィックを、データセンタ240の外部ネットワークドメイン内のMicrosoft Exchangeサーバにルーティングしうる。追加的又は代替的には、アプリケーションの動作には、Microsoft Exchangeサーバからワークステーションに流れるデータの逆の順序のデータフローが含まれうる。
0049
いくつかの実施形態では、システム200は、管理ネットワーク232を介して制御デバイス220と通信しうるネットワーク管理デバイス290を含みうる。ネットワーク管理デバイス290は、エッジネットワークデバイス210、制御デバイス220、及び/又はその他のものを含む、内部ネットワークドメイン205に関連付けられた1つ以上のデバイスの管理及び制御を提供しうる。例えば、ネットワーク管理デバイス290は、ネットワーク管理者に内部ネットワークドメイン205の動作を制御又は監視するためのアクセスを提供するグラフィカルユーザインタフェース(GUI)を提供しうる。いくつかの実施形態では、ネットワーク管理者は、エッジネットワークデバイス210を介して実装するために制御デバイス220に伝達されうるポリシーを、ネットワーク管理デバイス290を介して入力しうる。いくつかの実施形態では、ネットワーク管理デバイス290は、GUIダッシュボードに、エッジネットワークデバイス210の数及び/又はステータス及び/又はヘルス、制御デバイス220の数及び/又はステータス、リブートの回数及び/又は最後の時刻、トランスポートヘルス(損失、レイテンシ、及び/又はジッタ等)、動作している又は動作していないサイトの数、ネットワークリソースのアプリケーション消費、アプリケーションルーティング、及び/又はその他のもの等といった、内部ネットワークドメイン205の1つ以上のプロパティの視覚的及び/又はテキスト記述を提供しうる。
0050
いくつかの実施形態では、ネットワーク管理デバイス290は、承認されたエッジネットワークデバイス210及び/又は制御デバイス220を、認証及び/又は認識するように構成されうる。例えば、ネットワーク管理デバイス290は、シリアル番号、MACアドレス、又はセキュリティアソシエーションパラメータ、エッジネットワークデバイス210及び/又は制御デバイス220についての他の一意に識別する情報のリストを維持しうる。これらの及び他の実施形態では、内部ネットワークドメイン205内の通信は、ネットワーク管理デバイス290によって維持されるリスト上の識別情報を用いて、エッジネットワークデバイス210及び/又は制御デバイス220に制限されてもよい。
0051
いくつかの実施形態では、ネットワーク管理デバイス290は、1つ以上のエッジネットワークデバイス210及び/又は制御デバイス220のコンフィギュレーションを、生成及び/又は記憶するように構成されうる。例えば、ネットワーク管理者は、特定のエッジネットワークデバイス210をコンフィギュレーションするためにネットワーク管理デバイス290を使用してもよく、そのコンフィギュレーションを、将来のエッジネットワークデバイスに適用されうるテンプレートとして格納してもよい。追加的又は代替的には、エッジネットワークデバイス210用のテンプレートは、サードパーティによって提供され、新たなエッジネットワークデバイス210に適用されてもよい。これら及び他の実施形態では、制御デバイス220用のテンプレートが、生成され、記憶され、及び/又は新たな制御デバイス220に適用されてもよい。追加的又は代替的には、新たに配置されるエッジネットワークデバイス210を自動的にコンフィギュレーションするために、このようなテンプレートが使用されてもよい。例えば、新たに配置されるエッジネットワークデバイス210は、オンラインにされ、対応する制御デバイス220に接続されうる。当該対応する制御デバイス220は、ネットワーク管理デバイス290を用いてエッジネットワークデバイス210のシリアル番号を検証しうるとともに、エッジネットワークデバイス210用のテンプレートをネットワーク管理デバイス290から取得しうる。制御デバイス220は、自動的にインストールされるエッジネットワークデバイス210にテンプレートを送信し、当該テンプレートに従ってエッジネットワークデバイス210をコンフィギュレーションしうる。
0052
いくつかの実施形態では、ネットワーク管理デバイス290は、物理デバイス又は仮想化されたマシンとして実装さうる。これらの及び他の実施形態では、ネットワーク管理デバイス290は、例えばデータセンタ240内又はキャンパス250における、集中ロケーションの近くに物理的に配置されうる。
0053
本開示の範囲から逸脱することなく、図2に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス210及び外部ネットワークドメインを含むものとして示されているが、システム200は、任意の数のエッジネットワークデバイス210及び外部ネットワークドメインを含みうる。
0054
図3は、本開示の1つ以上の実施形態に係る、制御プレーン305の実装の例示的なシステム300を示す。図3は、制御プレーン305を介してエッジネットワークデバイス310a、310b及び310cと通信するための複数の潜在的な通信リンクを含みうる制御デバイス320を示す。制御プレーン305は、セキュアネットワーク及び/又はプライベートネットワークで実装されてもよい。例えば、制御デバイス320は、プライベートトランスポート365を使用して制御プレーン305を介して通信しうる。エッジネットワークデバイス310a及び310bは、図1のエッジネットワークデバイス110及び/又は図2のエッジネットワークデバイス210a〜210oと類似又は同等であってもよい。制御デバイス420は、図1の制御デバイス及び/又は図2の制御デバイス220と類似又は同等であってもよい。任意の数の制御デバイスが使用されてもよい。
0055
制御デバイス320は、エッジネットワークデバイス310間の制御プレーン305をサポートしうる。制御デバイス320は、エッジネットワークデバイス310間のルーティング及び暗号化情報を受信し、アドバタイズしうる。エッジネットワークデバイス310は、図4に関連して更に説明されるように、互いの間に制御プレーンチャネルは確立しえないが、互いの間にデータプレーンコネクションを確立しうる。
0056
少なくともいくつかの実施形態では、システム300は、管理ネットワーク232を介して制御デバイス320と通信しうるネットワーク管理デバイス390を含みうる。ネットワーク管理デバイス390は、エッジネットワークデバイス310、制御デバイス320、及び/又はその他のものを含む、制御プレーン315の受動部分を介して、1つ以上のデバイスの管理及び制御を提供しうる。デバイスは、制御プレーン315の受動部分を介してネットワーク管理デバイス390に接続し、ネットワーク管理デバイス390と通信しうる。ネットワーク管理デバイス390は、図2のネットワーク管理デバイス290と類似又は同等であってもよい。
0057
少なくともいくつかの実施形態では、ネットワーク管理デバイス390は、それぞれの接続エンドポイント(例えば、エッジネットワークデバイス310、制御デバイス320、及び/又はその他のもの)のためのネットワークアドレス変換(NAT)トラバーサル情報の発見を支援する役割を果たしうる。ネットワーク管理デバイス390は更に、制御デバイス320のためのロケーション及びセッション情報を提供しうるとともに、エッジネットワークデバイス310及び/又は他の制御デバイス(図3には図示せず)とセッション情報を共有しうる。少なくともいくつかの実施形態では、システム300は、パブリックネットワーク370を含みうる。データプレーンは、パブリックネットワーク370を介して確立されなくてもよい。これらの実施形態では、第1のネットワーク管理デバイス390aが、プライベートネットワーク365のアクティビティを調整し、第2のネットワーク管理デバイス390bが、パブリックネットワーク370のアクティビティを調整しうる。例えば、パブリックネットワーク370がインターネットを含む場合、第2のネットワーク管理デバイス390bは、インターネットドメインに固有でありうるNATトラバーサルを支援しうる。
0058
少なくともいくつかの実施形態では、エッジネットワーク機器310は、制御プレーン305を介して制御デバイス310から他のエッジネットワークデバイス310に関連付けられた1つ以上のキーを受信しうる。例えば、1つ以上のデータパケットは、1つのエッジネットワークデバイス310から他のエッジネットワークデバイス310にデータを送信する際に、セキュリティ目的で1つ以上のキーを使用しうる。これらの及び他の実施形態では、制御デバイス320は、制御デバイス320によって実装される中央ルートテーブル及び/又はポリシーに基づいて、受信したキーを1つ以上の他のエッジネットワークデバイス310に反映させうる。これらの及び他の実施形態では、所与のエッジネットワークデバイス310は、エッジネットワークデバイス間のセキュア通信のためのデータプレーン(例えば、図4のデータプレーン405)の確立を容易にするために対称キーを生成しうる。これらの及び他の実施形態では、対称キーのペアが所与のエッジネットワークデバイス310によって生成され、一方は所与のエッジネットワークデバイス310に残り、他方は制御デバイス320に提供され、それにより、制御デバイス320は、所与のエッジネットワークデバイス310と通信する他のエッジネットワークデバイスに、(データプレーンではなく)制御プレーン305を介して他方の対称キーを配布しうる。このようにして、制御デバイス320のポリシーに基づいて所与のエッジネットワークデバイス310と通信する各エッジネットワークデバイスは、データプレーンの外部で対称キーを受信しうる。
0059
本開示の範囲から逸脱することなく、図3に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス310を含むものとして示されているが、システム300は、任意の数のエッジネットワークデバイス310を含みうる。他の例として、1つの制御デバイス320を含むものとして示されているが、任意の数の制御デバイスが使用されうる。他の例として、2つのネットワーク管理デバイスを含むものとして示されているが、任意の数のネットワーク管理デバイスが使用されうる。他の例として、1つのプライベートネットワーク365及び1つのパブリックネットワーク370を含むものとして示されているが、任意の数のプライベートネットワーク及びパブリックネットワークが使用されうる。
0060
図4は、本開示の1つ以上の実施形態に係る、データプレーン405の実装の他の例示的なシステム400を示す。システム400は、図3の制御プレーン305、エッジネットワークデバイス310、制御デバイス320、及びネットワーク管理デバイス390を含みうる。
0061
制御プレーン305は、プライベートネットワーク365内に実装されうるとともに、アクティブシグナリングを使用しうる。データプレーン405は、制御プレーンから独立して別個でありうるとともに、パブリックネットワーク370内に実装されうる。制御プレーン305は、ディスアソシエート・パス機能を、データプレーン405に対して提供しうる。例示を目的として、システム300はプライベートネットワーク365及びパブリックネットワーク370を含むが、両方のネットワークは、両方ともプライベートであるか又は両方ともパブリックである等、同じタイプであってもよい。
0062
プライベートネットワーク365を使用するパスについては、各エッジネットワークデバイス310は、(ネットワーク管理デバイスがシステム400の一部である場合)ネットワーク管理デバイス390との認証を行い、次いで制御デバイス320との認証を行いうる。暗号化キーは、エッジネットワークデバイス310によって制御デバイス320へアドバタイズされる。その後、制御デバイスは、アドバタイズメントのターゲットを除く、他の全てのエッジネットワークデバイス310について、暗号化キーを含むエンドポイント情報(例えば、セキュリティアソシエーションパラメータ)を各エッジネットワークデバイス310にアドバタイズしうる。エッジネットワークデバイス310は、制御デバイス320から受信した情報に基づいて、プライベートネットワーク365にアタッチされた他の全てのエンドポイントと、データプレーン405に沿って暗号化を確立することを含む、データプレーン405をアクティブに確立しうる。
0063
パブリックネットワーク370を使用するパスについては、各エッジネットワークデバイス310は、ネットワーク管理デバイス390との認証を行いうる。それにより、エッジネットワークデバイス310に、潜在的なNATトラバーサル情報が提供されうる。インターネットパス用の暗号化キーは、エッジネットワークデバイス310によって制御デバイス320に対してアドバタイズされうる。制御デバイス320は、暗号化キーを含む、この追加のエンドポイント情報を、アドバタイズメントのためのターゲットエッジデバイス310を除く、他の全てのエンドポイントについての各エンドポイントに、アドバタイズしうる。各エッジネットワークデバイス310は、ここで、パブリック(例えば、インターネット)パスを介して、暗号化されたデータプレーン405を確立することができ、同じパスを介して暗号化に関連する情報を送信することはない。
0064
本開示の範囲から逸脱することなく、図4に対して変更、追加、又は省略が行われてもよい。例えば、ある数のエッジネットワークデバイス310を含むものとして示されているが、システム400は、任意の数のエッジネットワークデバイス310を含みうる。他の例として、1つの制御デバイス320を含むものとして示されているが、任意の数の制御デバイスが使用されうる。他の例として、2つのネットワーク管理デバイス390を含むものとして示されているが、任意の数のネットワーク管理デバイスが使用されうる。他の例として、1つのプライベートネットワーク365及び1つのパブリックネットワーク370を含むものとして示されているが、任意の数のプライベートネットワーク及びパブリックネットワークが使用されうる。
0065
図5は、本開示の1つ以上の実施形態に係る、SDN内で制御プレーン及びデータプレーンを確立する例示的な方法500のフローチャートを示す。本方法は、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシン上で実行されるもの等)、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、ネットワークデバイス(例えば、図1〜図4のエッジネットワークデバイス110、210又は310)又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び/又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
0066
方法500は、ブロック505で開始しうる。当該ブロックにおいて、処理ロジックは、ソフトウェア定義ネットワーク(SDN)内のトランスポートを介してオープンする制御チャネルのタイプを決定しうる。処理ロジックは、処理ロジック及び/又はそれぞれのエッジネットワークデバイスに通信可能に接続された1つ以上のトランスポートを識別することによって、当該制御チャネルのタイプをローカルで発見しうる。トランスポートのタイプは、制御チャネルのタイプに影響を及ぼしうる。処理ロジックは更に、各トランスポートを介していくつの制御チャネルをオープンするかを決定しうる。少なくともいくつかの実施形態では、処理ロジックは、各トランスポートを介して1つの制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、1つ以上のトランスポートを介して複数の制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、トランスポートタイプに基づいて、特定の数の制御チャネルを確立しうる。例えば、より高いセキュリティ及び/又は帯域幅を有するトランスポートタイプは、他のトランスポートタイプと比較して、より多くの制御チャネルを有しうる。
0067
ブロック510において、処理ロジックは、データプレーンとは別個の制御プレーンを介して、制御デバイスとの制御チャネルを確立しうる。少なくともいくつかの実施形態では、処理ロジックは、ブロック505で決定されたとおりのタイプ及び数の制御チャネルを確立しうる。当該制御チャネルは、セキュア制御チャネルを含みうる。処理ロジックは更に、図2及び図3のネットワーク管理デバイス290又は390等の、1つ以上のネットワーク管理デバイスとの1つ以上の制御チャネルをそれぞれ確立しうる。一例では、システムは、MPLSトランスポート及びインターネットトランスポートを含みうる。処理ロジックは、MPLSトランスポートを介して少なくとも1つの制御チャネルを確立し、インターネットトランスポートを介して少なくとも1つの制御チャネルを確立しうる。
0068
ブロック515において、処理ロジックは、制御デバイス及び/又はネットワーク管理デバイスに向かうアップストリームパスのための潜在的なネットワークアドレス変換(NAT)を決定しうる。少なくともいくつかの実施形態では、処理ロジックは、パブリックネットワーク用のNATを決定しうる。処理ロジックは、制御デバイス及び/又はネットワーク管理デバイスへの1つ以上のパスをトレースしてもよく、その一方で、当該パスに沿って発生しうる任意のNATに留意する。処理デバイスは、NATをデータストレージに格納しうる。
0069
ブロック520において、処理ロジックは、制御チャネルを介して制御デバイスに第1のセキュリティアソシエーションパラメータをアドバタイズしうる。少なくともいくつかの実施形態では、処理ロジックは、第1のセキュリティアソシエーションパラメータを生成しうる。第1のセキュリティアソシエーションパラメータは、第1のエッジネットワークデバイスに関連付けられうる。処理ロジックは、認証プロトコルを使用して制御デバイスとの認証を行いうる。少なくともいくつかの実施形態では、処理ロジックは、制御デバイスとの認証を行う前に、ネットワーク管理デバイスとの認証を行いうる。第1のセキュリティアソシエーションパラメータは、制御チャネル以外のチャネルを介して第1のエッジネットワークデバイスを識別し、当該第1のエッジネットワークデバイスとの認証を行い、当該第1のエッジネットワークデバイスに接続するために他のデバイスによって使用されうる、キー、キーペア、複数のキーのセット、証明書、トークン、又は任意の他のオブジェクトを含みうる。制御デバイスは、第1のセキュリティアソシエーションパラメータを受信し、他のデバイスから他のセキュリティアソシエーションパラメータを受信しうる。制御デバイスは、図6に関連して更に説明されるように、受信されたセキュリティアソシエーションパラメータのいくつか、いずれか又は全てを、許可されたデバイスに送信してもよい。
0070
ブロック525において、処理ロジックは、制御チャネルを介して制御デバイスから、第2のネットワークデバイスに関連付けられた第2のセキュリティアソシエーションパラメータを受信しうる。ブロック530において、処理ロジックは、第2のセキュリティアソシエーションパラメータを使用して、第2のネットワークデバイスとのデータプレーンコネクションを確立しうる。
0071
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び/又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
0072
図6は、本開示の1つ以上の実施形態に係る、SDN内で制御プレーン及びデータプレーンを確立する例示的な方法600のフローチャートを示す。本方法は、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシン上で実行されるもの等)、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、制御デバイス(例えば、図1〜図4の制御デバイス120、220又は320)又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び/又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
0073
方法600は、ブロック605で開始しうる。当該ブロックにおいて、処理ロジックは、制御プレーンに関連付けられた第1の制御チャネルを介して、第1のネットワークデバイスから第1のセキュリティアソシエーションパラメータを受信しうる。同様に、ブロック610において、処理ロジックは、制御プレーンに関連付けられた第2の制御チャネルを介して、第2のネットワークデバイスから第2のセキュリティアソシエーションパラメータを受信しうる。処理ロジックは、任意の数のネットワークデバイスから任意の数のセキュリティアソシエーションパラメータを受信しうる。
0074
ブロック615において、処理ロジックは、第1のネットワークデバイスと第2のネットワークデバイスとが互いに関連付けられていることを判定しうる。例えば、処理ロジックは、第1のネットワークデバイス及び第2のネットワークデバイスが単一のエンティティ(例えば、企業)に関連付けられており、それ故に、データプレーンを介して互いに接続することが許可されていることを判定しうる。
0075
ブロック620において、処理ロジックは、第1のセキュリティアソシエーションパラメータを第2のネットワークデバイスに送信しうる。同様に、ブロック625において、処理ロジックは、第2のセキュリティアソシエーションパラメータを第1のネットワークデバイスへ送信しうる。(データプレーンではなく)制御プレーンを介して共有されたセキュリティアソシエーションパラメータのやりとりを使用して、第1のネットワークデバイス及び第2のネットワークデバイスは、互いの間にデータプレーンを確立しうる。
0076
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び/又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
0077
図7は、本開示の1つ以上の実施形態に係る、SDN内で制御プレーン及びデータプレーンを確立する例示的な方法700のフローチャートを示す。本方法は、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシン上で実行されるもの等)、又は両方の組合せを含みうる処理ロジックによって実行されてよく、この処理ロジックは、制御デバイス(例えば、図1〜図4のエッジネットワークデバイス120、220又は320)、ネットワークデバイス(例えば、図1〜図4のエッジネットワークデバイス110、210又は310)又は他のコンピュータシステム若しくはデバイスのいずれかに含められうる。ただし、他のシステム、又は複数のシステムの組合せが、本方法を実行するために使用されてもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び/又は同時に、並びに本明細書で提示されず説明されない他の動作とともに生じてもよい。更に、開示された主題による方法を実行するために、全ての例示された動作が使用されるわけではない。更に、当業者であれば、これらの方法が代替的には状態図又はイベントを介して一連の相互に関連する状態として表されうることを理解し、認識するのであろう。更に、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポート及び転送することを容易にするために、非一時的なコンピュータ読み取り可能媒体等の製品に格納されることが可能である。本明細書で使用される製品という用語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。別個のブロックとして示されているが、種々のブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、又は削除されてもよい。
0078
説明を簡単にするために、処理ロジックは、プライベートネットワークへのコネクションと、パブリックネットワーク(例えば、インターネット)へのコネクションとの、2つのトランスポートコネクションを有するエッジネットワークデバイスに関連付けられうる。以下で説明するように、方法700の下では、トランスポートコネクションのリストが、生成され、かつ、その後に種々のデバイスとのデータプレーンセッションの確立に使用されうる。複数のデータプレーンセッションは、シリアルに、又は少なくとも部分的にパラレルに確立されてもよい。
0079
方法700は、ブロック705で開始しうる。当該ブロックにおいて、処理ロジックは、管理デバイスが特定のトランスポート用に設定されているかどうかを判定する。ブロック705において管理デバイスが特定のトランスポート用に設定されていない(例えば、「NO」の)場合、処理ロジックは、ブロック710において、いずれかの追加のトランスポートが使用可能であるかどうかを判定しうる。ブロック710においていずれかの追加のトランスポートが使用可能である(例えば、「YES」の)場合、ブロック710において、処理ロジックは、他のトランスポートを用いて管理デバイスを設定し、ブロック705に進みうる。
0080
ブロック705において管理デバイスが特定のトランスポート用に設定されている(例えば、「YES」の)場合、処理ロジックは、ブロック715において、管理デバイスとのコネクションを確立し、ネットワークアドレス変換(NAT)情報を収集し始めうる。ブロック720において、処理ロジックは、制御デバイスがネットワークに存在するかどうかを判定しうる。ブロック720において制御デバイスがネットワークに存在する(例えば、「YES」の)場合、処理ロジックは、ブロック725において、制御デバイスとの制御プレーンセッションを確立しうる。処理ロジックは、ブロック710に進みうる。
0081
ブロック705において制御デバイスがネットワークに存在しない(例えば、「NO」の)場合、処理ロジックは、ブロック710において、追加のトランスポートが使用可能であるかどうかを判定しうる。ブロック710において追加のトランスポートが使用可能でない(例えば、「NO」の)場合、処理ロジックは、ブロック730において、全てのトランスポートについて制御セッションが確立されているかどうかを判定しうる。
0082
ブロック730において全てのトランスポートについて制御セッションが確立されている(例えば、「YES」の)場合、処理ロジックは、他の許可されたエッジネットワークデバイスとのデータプレーンコネクションを確立しうる。ブロック730において全てのトランスポートについて制御セッションが確立されていない(例えば、「NO」の)場合、処理ロジックは、ブロック740において、追加のトランスポートが使用可能になるまで待機しうる。
0083
当業者であれば、これらのプロセス、動作、及び方法について、実行される機能及び/又は動作が異なる順序で実装されうることを理解するのであろう。更に、概説された機能及び動作は例としてのみ提供され、当該機能及び動作のいくつかは、開示された実施形態の本質から逸脱することなく、オプションでありうるか、より少ない機能及び動作と組み合わされるうるか、又は追加の機能及び動作に拡張されうる。
0084
図8は、本開示で説明される少なくとも1つの実施形態に係る、例示的なコンピューティングシステム800を示す。システム800は、ソフトウェアをテストするように構成された任意の適切なシステム、装置、又はデバイスを含みうる。コンピューティングシステム800は、プロセッサ810、メモリ820、データストレージ830、及び通信ユニット840を備え、これらは全て通信可能に接続されうる。いくつかの実施形態では、本開示のネットワークデバイス(例えば、図1〜図4のエッジネットワークデバイス110、210又は310)、制御デバイス(例えば、図1〜図4の制御デバイス120、220又は320)、又は他のコンピューティングデバイスのいずれかが、コンピューティングシステム800として実装されうる。追加的又は代替的には、ネットワークデバイス、制御デバイス、ローカルコンピューティングデバイス、又は他のコンピューティングデバイスのうちの1つ以上は、コンピューティングシステム800等の物理コンピューティングシステム上で動作する仮想マシンとして実装されうる。
0085
一般に、プロセッサ810は、種々のコンピュータハードウェア又はソフトウェアモジュールを含む、任意の適切な専用又は汎用コンピュータ、コンピューティングエンティティ、又は処理デバイスを含みうるとともに、任意の適用可能なコンピュータ読み取り可能な記憶媒体上に記憶された命令を実行するように構成されうる。例えば、プロセッサ810は、プログラム命令の解釈及び/又は実行、及び/又はデータの処理を行うように構成された、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は任意の他のディジタル若しくはアナログ回路を含みうる。
0086
図8では単一のプロセッサとして示されているが、プロセッサ810は、本開示で説明される任意の数の動作を個別に又はまとめて実行するように構成された、任意の数のネットワーク又は物理的ロケーションにわたって分散された任意の数のプロセッサを含みうることを理解されたい。いくつかの実施形態では、プロセッサ810は、メモリ820に、データストレージ830に、又はメモリ820及びデータストレージ830に格納された、プログラム命令の解釈及び/又は実行と、格納されたデータの処理との少なくともいずれかを行いうる。いくつかの実施形態では、プロセッサ810は、データストレージ830からプログラム命令をフェッチし、そのプログラム命令をメモリ820にロードしうる。
0087
プログラム命令がメモリ820にロードされた後、プロセッサ810は、図5〜図7の方法500、600及び/又は700をそれぞれ実行するための命令等のプログラム命令を実行しうる。例えば、プロセッサ810は、トラフィックフローが再ルーティング(rerouting)アプリケーションに関連付けられていると判定し、かつ、最良のパフォーマンススコアを有するパスに沿ってトラフィックフローを再ルーティングしうる。他の例として、プロセッサ810は、DNSクエリ及び/又はDNS応答を書き換えうる。更なる例として、プロセッサ810は、再ルーティングされたパスに関連付けられたNAT出口ポイントが使用されうるように、フローをルーティングしうる。更なる例として、プロセッサ810は、複数のパスからのどのパスが最良のパスであるかを判定し、かつ、それに応じてトラフィックを再ルーティングしうる。
0088
メモリ820及びデータストレージ830は、当該媒体に格納されたコンピュータ実行可能命令又はデータ構造を担持する又は有するための、コンピュータ読み取り可能な記憶媒体又は1つ以上のコンピュータ読み取り可能な記憶媒体を含みうる。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ810等の汎用又は専用コンピュータによってアクセスされうる任意の使用可能な媒体とされうる。いくつかの実施形態では、コンピューティングシステム800は、メモリ820及びデータストレージ830のいずれかを備えていても備えていなくてもよい。
0089
限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、コンパクトディスク・リードオンリメモリ(CD−ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又は、コンピュータ実行可能命令の形式の所望のプログラムコード若しくはデータ構造を担持若しくは格納するために使用されうる、かつ、汎用又は専用コンピュータによってアクセスされうる任意の他の記憶媒体を含む、非一時的なコンピュータ読み取り可能な記憶媒体を含みうる。上記の組合せも、コンピュータ読み取り可能な記憶媒体の範囲内に含まれうる。コンピュータ実行可能命令は、例えば、プロセッサ810に特定の動作又は動作群を実行させるように構成された、命令及びデータを含みうる。
0090
通信ユニット840は、MPLSコネクション、インターネット、セルラネットワーク(例えば、LTEネットワーク)等のネットワークを介して情報を送信又は受信するように構成された、任意のコンポーネント、デバイス、システム、又はそれらの組合せを含みうる。いくつかの実施形態では、通信ユニット840は、他のロケーションの他のデバイスと通信、同じロケーションの他のデバイスと通信、又は同じシステム内の他のコンポーネントとさえ通信しうる。例えば、通信ユニット840は、モデム、ネットワークカード(無線又は有線)、光通信デバイス、赤外線通信デバイス、無線通信デバイス(アンテナ等)、チップセット(Bluetooth(登録商標)デバイス、802.6デバイス(例えば、メトロポリタンエリアネットワーク(MAN))、WiFiデバイス、WiMaxデバイス、セルラ通信設備、又はその他のもの等)、及び/又はそれらの任意の組合せを含みうる。通信ユニット840は、本開示で説明されるネットワーク及び/又は任意の他のデバイス若しくはシステムとデータがやりとりされることを可能にしうる。例えば、通信ユニット840は、システム800が、ネットワークデバイス、制御デバイス及び/又は他のネットワーク等の、他のシステムと通信することを可能にしうる。
0091
本開示の範囲から逸脱することなく、システム800に対して変更、追加、又は省略が行われてもよい。例えば、データストレージ830は、複数のロケーションに配置され、かつ、ネットワークを介してプロセッサ810によってアクセスされる、異なる複数の記憶媒体であってもよい。
0092
上述のように、本開示で説明される実施形態は、以下でより詳細に説明されるように、種々のコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用コンピュータ(例えば、図8のプロセッサ810)の使用を含みうる。更に、上述のように、本開示で説明される実施形態は、当該媒体に格納されたコンピュータ実行可能命令又はデータ構造を担持する又は有するための、コンピュータ読み取り可能媒体(例えば、図8のメモリ820又はデータストレージ830)を用いて実装されうる。
0093
本開示で使用されるように、「モジュール」又は「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能媒体、処理デバイス、又は他の何らかのハードウェア)に格納される、及び/又はそれによって実行されうる、モジュール又はコンポーネント及び/又はソフトウェアオブジェクト又はソフトウェアルーチンのアクションを実行するように構成された、特定のハードウェア実装を指しうる。いくつかの実施形態では、本開示で説明される異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして(例えば、別個のスレッドとして)実装されうる。本開示で説明されるシステム及び方法のいくつかは、全体として、(汎用ハードウェアに格納される、及び/又は汎用ハードウェアによって実行される)ソフトウェアで実装されるものとして説明されるが、特定のハードウェア実装、又はソフトウェアと特定のハードウェア実装との組合せも可能であり、考えられる。本明細書では、「コンピューティングエンティティ」は、本開示でこれまでに定義された任意のコンピューティングシステム、又はコンピューティングシステム上で実行される任意のモジュール又はモジュールの組合せとされうる。
0094
一般的な慣行によれば、図面に示される種々の特徴は、一定の縮尺で描かれていない場合がある。本開示で提示される例示は、任意の特定の装置(例えば、デバイス、システム等)又は方法の実際の図であることを意味するものではなく、本開示の種々の実施形態を説明するために用いられた理想化された表現にすぎない。したがって、種々の特徴の寸法は、明確にするために任意に拡大又は縮小されてもよい。更に、図面のいくつかは、明確にするために簡略化されている場合がある。したがって、図面は、所与の装置(例えば、デバイス)のコンポーネントの全て、又は特定の方法の全ての動作を示すわけではない。
0095
本開示及び特に添付の請求項(例えば、添付の請求項のボディ)で使用される用語は、全体として「open」用語として意図される(例えば、「含んでいる(including)」という用語は、「含んでいるが、これに限定されない」と解釈されるべきであり、「有する」という用語は、「少なくとも有する」と解釈されるべきであり、「含む(includes)」という用語は、とりわけ「含むが、これに限定されない」と解釈されるべきである)。
0096
更に、導入された請求項記載の特定の数が意図される場合、そのような意図は、請求項において明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解を助けるために、以下の添付の請求項は、請求項記載を導入するために「少なくとも1つの」及び「1つ以上の」という導入フレーズの使用を含む場合がある。
0097
加えて、たとえ導入された請求項記載の特定の数が明示的に記載されているとしても、当業者であれば、そのような記載が少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう(例えば、他の修飾語が無い「2つの記載」という最小限の記載は、少なくとも2つの記載、又は2つ以上の記載を意味する)。更に、「A、B、及びC等のうちの少なくとも1つ」又は「A、B、及びC等のうちの1つ以上」に類似する慣習が使用される場合、一般に、このような構成は、A単独、B単独、C単独、A及びBの組み合わせ、A及びBの組み合わせ、A及びCの組み合わせ、B及びCの組み合わせ、又は、A、B及びCの組み合わせ等を含むことが意図される。
0098
更に、明細書、特許請求の範囲、又は図面のいずれにおいても、2つ以上の代替的用語を表す任意の分離語又はフレーズは、用語のうちの1つ、用語のうちのいずれか、又は両方の用語を含む可能性が考えられていると理解されるべきである。例えば、フレーズ「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
0099
しかしながら、そのようなフレーズの使用は、不定冠詞「a」又は「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意の特定の請求項を、そのような記載を1つだけ含む実施形態に限定することを黙示するものと解釈されるべきではなく、同じ請求項が、導入フレーズ「1つ以上の」又は「少なくとも1つの」、及び「a」又は「an」等の不定冠詞を含む場合であっても(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味するように解釈されるべきである)、同じことが、請求項記載を導入するために使用される明確な冠詞の使用に当てはまる。
0100
更に、「第1の」、「第2の」、「第3の」等の用語の使用は、本明細書では必ずしも特定の順序又は特定のエレメント数を示すためには使用されない。一般に、「第1の」、「第2の」、「第3の」等の用語は、異なるエレメント間で一般的な識別子として区別するために使用される。「第1の」、「第2の」、「第3の」等の用語が特定の順序を示していることの提示が無い場合、これらの用語は、特定の順序を示すものと理解されるべきではない。更に、「第1の」、「第2の」、「第3の」等の用語が特定のエレメント数を示していることの提示が無い場合、これらの用語は、特定のエレメント数を示すものと理解されるべきではない。例えば、第1のウィジェットは第1のサイドを有するものとして記述され、第2のウィジェットは第2のサイドを有するものとして記述されてもよい。第2のウィジェットに関する「第2のサイド」との用語の使用は、第2のウィジェットのそのようなサイドを、第1のウィジェットの「第1のサイド」と区別しうるが、第2のウィジェットが2つのサイドを有することを示すものではない。