(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-19
(45)【発行日】2024-06-27
(54)【発明の名称】割り当てられたコンテキストに基づくネットワークサービスアクセス及びデータルーティング
(51)【国際特許分類】
H04L 41/40 20220101AFI20240620BHJP
H04L 45/76 20220101ALI20240620BHJP
H04L 41/342 20220101ALI20240620BHJP
【FI】
H04L41/40
H04L45/76
H04L41/342
(21)【出願番号】P 2023507913
(86)(22)【出願日】2021-07-30
(86)【国際出願番号】 US2021044007
(87)【国際公開番号】W WO2022035625
(87)【国際公開日】2022-02-17
【審査請求日】2023-03-23
(32)【優先日】2020-08-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508041127
【氏名又は名称】シスコ テクノロジー,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100140431
【氏名又は名称】大石 幸雄
(72)【発明者】
【氏名】バルア,プリータム
(72)【発明者】
【氏名】シュリヴァスタヴァ,ガウラブ
【審査官】小林 義晴
(56)【参考文献】
【文献】米国特許第08621596(US,B2)
【文献】米国特許出願公開第2018/0351862(US,A1)
【文献】国際公開第2020/112448(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/40
H04L 45/76
H04L 41/342
(57)【特許請求の範囲】
【請求項1】
方法であって、
プロセッサによって、ネットワークドメイン内のネットワークプリミティブについて、前記ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(software-defined wide area network、SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、
前記プロセッサによって、前記ネットワークプリミティブの機能をアドバタイズすることであって、前記機能が、前記ネットワークプリミティブが前記割り当てられたコンテキストを搬送する前記データを受信することができるかどうかを記述することと、
前記プロセッサによって、前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記SDWANファブリックオーバーレイを通して、前記1つ以上のソースノードから前記ネットワークプリミティブへ前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御することと、を含む、方法。
【請求項2】
前記ネットワークプリミティブが、ネットワークトンネル、仮想プライベートネットワーク、及び前記ネットワークドメイン内の特定のプレフィックス内のノードのうちの1つである、請求項1に記載の方法。
【請求項3】
前記割り当てられたコンテキストが、前記1つ以上のソースノードに割り当てられたセキュリティグループタグである、請求項1又は2に記載の方法。
【請求項4】
前記1つ以上のソースノードが、前記SDWANファブリックオーバーレイを通して、前記ネットワークプリミティブを含む前記ネットワークドメインに結合されている第2のネットワークドメイン内にある、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記ネットワークプリミティブが、ネットワークデバイスに関連付けられた仮想プライベートネットワーク、前記ネットワークデバイスに関連付けられたネットワークトンネル、及び前記ネットワークデバイスに関連付けられたネットワークプレフィックスのうちの1つ以上を含み、前記方法は、
前記プロセッサによって、前記ネットワークトンネルが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうか、前記仮想プライベートネットワークが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうか、及び前記ネットワークプレフィックスが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうか、の優先順位で、前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御することを更に含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記ネットワークプリミティブが、前記ネットワークドメイン内の特定のプレフィックス内のノードであり、前記方法は、
前記プロセッサによって、複数の異なるプレフィックス内のノードが、前記割り当てられたコンテキストを搬送する前記データを受信することができるかどうかに基づいて、プレフィックスリストを維持することであって、前記プレフィックスリストが、前記割り当てられたコンテキストを搬送する前記データを受信することができるプレフィックスのリストを含むことと、
前記プロセッサによって、前記プレフィックスリストにルートマップを適用することであって、前記ルートマップが、前記ネットワークプリミティブ及び前記1つ以上のソースノードを含むことと、
前記プロセッサによって、前記プレフィックスリストへの前記ルートマップの適用に基づいて、前記割り当てられたコンテキストを搬送する前記データが、前記ネットワークプリミティブによって受信され得るかどうかを判定することと、を更に含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記ネットワークプリミティブが、前記割り当てられたコンテキストを搬送する前記データを前記ネットワークドメイン内の他のネットワークプリミティブと共有する、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記ネットワークプリミティブが、前記ネットワークドメイン内の特定のプレフィックスにあり、かつ特定の仮想プライベートネットワーク内の特定のトンネルを通してデータを受信するように構成されている、エッジノードであり、前記方法は、
前記プロセッサによって、前記特定のトンネルが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかを判定することと、
前記プロセッサによって、前記特定の仮想プライベートネットワークが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかを判定することと、
前記プロセッサによって、前記特定のプレフィックスが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかを判定することと、
前記プロセッサによって、前記特定のトンネル、前記特定の仮想プライベートネットワーク、及び前記特定のプレフィックスが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかに基づいて、前記割り当てられたコンテキストを搬送する前記データの前記エッジノードへの選択的伝送を制御することと、を更に含む、請求項1~7のいずれか一項に記載の方法。
【請求項9】
前記割り当てられたコンテキストを搬送する前記データの前記エッジノードへの選択的伝送を制御することは、
前記プロセッサによって、前記特定の仮想プライベートネットワーク及び前記特定のプレフィックスが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかにかかわらず、前記特定のトンネルが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を欠く場合、前記割り当てられたコンテキストを搬送する前記データを前記エッジノードに伝送することを控えることを更に含む、請求項8に記載の方法。
【請求項10】
前記割り当てられたコンテキストを搬送する前記データの前記エッジノードへの選択的伝送を制御することは、
前記プロセッサによって、前記特定のプレフィックスが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を有するかどうかにかかわらず、前記特定の仮想プライベートネットワークが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記機能を欠く場合、前記割り当てられたコンテキストを搬送する前記データを前記エッジノードに伝送することを控えることを更に含む、請求項8又は9に記載の方法。
【請求項11】
前記プロセッサによって、前記割り当てられたコンテキストを搬送する前記データを受信する際に、前記特定のプレフィックスの特性に基づいて、前記特定のプレフィックス内の追加のノードへ前記割り当てられたコンテキストを搬送する前記データの伝搬を制御することを更に含む、請求項8~10のいずれか一項に記載の方法。
【請求項12】
前記割り当てられたコンテキストを搬送する前記データを受信する際の前記特定のプレフィックスの前記特性は、前記エッジノードが、前記割り当てられたコンテキストを搬送する前記データを受信する好適な宛先であることを含む、請求項11に記載の方法。
【請求項13】
前記SDWANファブリックオーバーレイが、オーバーレイ管理プロトコル(overlay management protocol、OMP)によって管理される、請求項1~12のいずれか一項に記載の方法。
【請求項14】
前記OMPが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記SDWANファブリックオーバーレイを通して前記1つ以上のソースノードから前記ネットワークプリミティブへ前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御するように構成されている、請求項13に記載の方法。
【請求項15】
前記OMPが、前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記1つ以上のソースノードの1つ以上の転送テーブルを更新することによって、前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御するように構成されている、請求項14に記載の方法。
【請求項16】
システムであって、
1つ以上のプロセッサと、
命令を内部に記憶している少なくとも1つのコンピュータ可読記憶媒体であって、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ネットワークドメイン内のネットワークプリミティブについて、前記ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、
前記ネットワークプリミティブの機能をアドバタイズすることであって、前記機能が、前記ネットワークプリミティブが前記割り当てられたコンテキストを搬送する前記データを受信することができるかどうかを記述することと、
前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記SDWANファブリックオーバーレイを通して、前記1つ以上のソースノードから前記ネットワークプリミティブへ前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御することと、を含む、動作を実行させる、少なくとも1つのコンピュータ可読記憶媒体と、を備える、システム。
【請求項17】
前記ネットワークプリミティブが、ネットワークトンネル、仮想プライベートネットワーク、及び前記ネットワークドメイン内の特定のプレフィックス内のノードのうちの1つである、請求項16に記載のシステム。
【請求項18】
前記SDWANファブリックオーバーレイが、オーバーレイ管理プロトコル(OMP)によって管理される、請求項16又は17に記載のシステム。
【請求項19】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
ネットワークドメイン内のネットワークプリミティブについて、前記ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、
前記ネットワークプリミティブの機能をアドバタイズすることであって、前記機能が、前記ネットワークプリミティブが前記割り当てられたコンテキストを搬送する前記データを受信することができるかどうかを記述することと、
前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記SDWANファブリックオーバーレイを通して、前記1つ以上のソースノードから前記ネットワークプリミティブへ前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御することと、を含む、動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項20】
前記SDWANファブリックオーバーレイは、オーバーレイ管理プロトコル(OMP)によって管理される、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項21】
装置であって、
ネットワークドメイン内のネットワークプリミティブについて、前記ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義するための手段と、
前記ネットワークプリミティブの機能をアドバタイズするための手段であって、前記機能は、前記ネットワークプリミティブが、前記割り当てられたコンテキストを搬送する前記データを受信することができるかどうかを記述する、アドバタイズするための手段と、
前記割り当てられたコンテキストを搬送する前記データを受信するための前記ネットワークプリミティブの前記機能に基づいて、前記SDWANファブリックオーバーレイを通して、前記1つ以上のソースノードから前記ネットワークプリミティブへ前記割り当てられたコンテキストを搬送する前記データの選択的伝送を制御するための手段と、を備える、装置。
【請求項22】
請求項2~15のいずれか一項に記載の方法を実装するための手段を更に備える、請求項21に記載の装置。
【請求項23】
コンピュータによって実行されるときに、前記コンピュータに、請求項1~15のいずれか一項に記載の方法のステップを遂行させる命令を含む、コンピュータプログラム
、又はコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年8月14日に出願された米国仮特許出願第63/065,932号の利益を主張する2020年11月6日に出願された米国非仮特許出願第17/091,478号の利益及び優先権を主張し、その内容は、参照によりその全体が本明細書に明示的に組み込まれる。
【0002】
本開示の主題は、概して、コンピュータネットワーキングの分野に関し、より具体的には、ユーザコンテキスト及びアプリケーションコンテキストのいずれか又は両方に基づいてネットワークサービスアクセス及びデータルーティングを制御するためのシステム、方法、及びコンピュータ可読媒体に関するものである。
【背景技術】
【0003】
エンタープライズネットワーク環境は絶えず進化している。モバイル及びモノのインターネット(Internet of Thing、IoT)デバイストラフィック、サービスとしてのソフトウェア(Software as a Service、SaaS)アプリケーション、クラウドの採用に対する需要がより高まっている。加えて、セキュリティのニーズが高まり、特定のアプリケーションでは、適切な動作のために優先順位付け及び最適化が必要となり得る。このように複雑さが増すにつれて、高い利用可能性及び拡張性を提供しながら、コスト及び運用費用を削減することが求められている。
【0004】
従来のワイドエリアネットワーク(wide area network、WAN)アーキテクチャは、この発展する環境下で大きな課題に直面している。従来のWANアーキテクチャは、通常では、複数のマルチプロトコルラベルスイッチング(Multi-Protocol Label Switching、MPLS)トランスポート、又はアクティブ/バックアップ方式で使用されるインターネット若しくはロングタームエボリューション(Long-Term Evolution、LTE)リンクと対にされたMPLSからなり、ほとんどの場合、インターネット又はSaaSトラフィックは、インターネットアクセスのために中央データセンタ又はリージョナルハブにバックホールされる。これらのアーキテクチャに伴う問題としては、帯域幅不足、高い帯域幅コスト、アプリケーションダウンタイム、低いSaaS性能、複雑な動作、クラウド接続性のための複雑なワークフロー、長い導入期間及びポリシー変更、制限されたアプリケーション可視性、並びにネットワークを保護する際の困難性が挙げられ得る。
【0005】
近年、ソフトウェア定義されたエンタープライズネットワークソリューションが、これらの課題に対処するために開発されてきた。ソフトウェア定義されたエンタープライズネットワーキングは、ソフトウェア定義されたワイドエリアネットワーク(software-defined wide area network、SDWAN)及びソフトウェア定義されたローカルエリアネットワーク(software-defined local area network、SDLAN)の両方を含む、より広範な技術であるソフトウェア定義されたネットワーキング(software-defined networking、SDN)の一部である。SDNは、ネットワーク管理に対する一元化の手法で、基盤となるネットワークインフラをアプリケーションから切り離すことができる。データプレーン転送及び制御プレーンをこのように分離することによって、ネットワークオペレータが、ネットワークのインテリジェンスを一元化し、より多くのネットワーク自動化、動作の簡略化、並びにプロビジョニング、監視、及びトラブルシューティングの一元化を提供することを可能にし得る。ソフトウェア定義されたエンタープライズネットワーキングは、SDNのこれらの原理をWAN及びローカルエリアネットワーク(local area network、LAN)に適用することができる。
【0006】
SDWAN内のデバイス及びSDWAN統合、例えば、クロスドメインSDWAN統合に関与するネットワークは、割り当てられたユーザコンテキスト及びアプリケーションコンテキストに基づいて、データルーティング及びネットワークサービスアクセスを促す機能を欠いている可能性がある。特に、展開中のいくつかのSDWAN対応デバイスは、ネットワークサービスアクセスを提供する際に割り当てられたコンテキストを受け入れる機能をサポートし得るが、他のデバイスは、ネットワークサービスアクセスを提供する際に割り当てられたコンテキストを受け入れる機能を欠いている。したがって、この機能を持たないエッジデバイスが展開において使用されるとき、ブラウンフィールド又はグリーンフィールドのSDWAN展開をサポートすることは現状困難である。
【図面の簡単な説明】
【0007】
本開示並びにその特徴及び利点のより完全な理解を提供するために、添付の図面と併せて以下の説明が参照される。
【
図1】実施形態による、高レベルネットワークアーキテクチャの例を例示する。
【
図2】実施形態による、ネットワークトポロジの例を例示する。
【
図3】実施形態による、オーバーレイネットワークを管理するためのプロトコルの動作を示す図の例を例示する。
【
図4】実施形態による、ネットワークをセグメント化するための仮想プライベートネットワークの動作を示す図の例を例示する。
【
図5】実施形態による、ネットワーク環境の例を例示する。
【
図8】システムの構成要素がバスを使用して互いに電気的に通信するバスコンピューティングシステムの例を示す。
【発明を実施するための形態】
【0008】
本開示の様々な実施形態を以下に詳細に考察する。具体的な実装形態が考察されるが、これは例解目的でのみ行われることを理解されたい。当業者は、本開示の精神及び範囲から逸脱することなく、他の構成要素及び構成が使用され得ることを認識するであろう。したがって、以下の説明及び図面は例示的なものであり、限定するものとして解釈されるべきではない。本開示の完全な理解を提供するために、多数の特定の詳細が説明される。しかしながら、ある特定の事例では、説明を不明瞭にすることを回避するために、周知又は従来の詳細は説明されない。本開示における1つの又はある実施形態への言及は、同じ実施形態又は任意の実施形態への言及であり得、そのような言及は、実施形態のうちの少なくとも1つを意味する。
【0009】
「一実施形態」又は「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な箇所における「一実施形態では」という句の出現は、必ずしも全てが同じ実施形態を指すわけではなく、他の実施形態と相互に排他的な別個の又は代替的な実施形態でもない。更に、いくつかの実施形態によって示され得るが、他の実施形態によって示され得ない様々な特徴が説明される。
【0010】
本明細書で使用される用語は、概して、本開示の文脈内で、及び各用語が使用される特定の文脈において、当技術分野における通常の意味を有する。代替的な文言及び同義語が、本明細書で考察される用語のうちのいずれか1つ以上に使用され得、用語が本明細書で詳述又は考察されるか否かに特別な重要性は置かれるべきではない。場合によっては、ある特定の用語の同義語が提供される。1つ以上の同義語のリサイタルは、他の同義語の使用を除外しない。本明細書で考察される任意の用語の例を含む、本明細書の随所での例の使用は、例解にすぎず、本開示又は任意の例示的な用語の範囲及び意味を更に限定することを意図するものではない。同様に、本開示は、本明細書で与えられる様々な実施形態に限定されない。
【0011】
本開示の範囲を限定することを意図せずに、本開示の実施形態による器具、装置、方法、及びそれらの関連結果の例を以下に示す。タイトル又はサブタイトルは、読者の便宜のために実施例において使用される場合があり、本開示の範囲を限定するものではないことに留意されたい。別段の定義がない限り、本明細書で使用される技術用語及び科学用語は、本開示が属する技術分野の当業者によって一般に理解される意味を有する。矛盾する場合には、定義を含む本明細書が優先する。本開示の更なる特徴及び利点は、以下の説明に記載され、一部はその説明から明らかになるか、又は本明細書に開示された原理の実施によって知ることができる。本開示の特徴及び利点は、添付の特許請求の範囲において特に指摘される手段及び組み合わせによって実現及び取得することができる。本開示のこれら及び他の特徴は、以下の説明及び添付の特許請求の範囲からより完全に明らかになるか、又は本明細書に記載の原理を実施することによって知ることができる。
【0012】
概要
本発明の態様は独立請求項に記載されており、好ましい特徴は従属請求項に記載されている。1つの態様の特徴は、任意の態様に単独で、又は他の態様と組み合わせて適用され得る。
【0013】
本方法は、ネットワークドメイン内のネットワークプリミティブについて、ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、ネットワークプリミティブの機能をアドバタイズすることであって、機能が、ネットワークプリミティブが割り当てられたコンテキストを搬送するデータを受信することができるかどうかを記述することと、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、SDWANファブリックオーバーレイを通して、1つ以上のソースノードからネットワークプリミティブへ割り当てられたコンテキストを搬送するデータの選択的伝送を制御することと、を含み得る。
【0014】
方法のいくつかの実施形態では、ネットワークプリミティブは、ネットワークトンネル、仮想プライベートネットワーク、及びネットワークドメイン内の特定のプレフィックス内のノードのうちの1つである。
【0015】
方法のいくつかの実施形態では、割り当てられたコンテキストは、1つ以上のソースノードに割り当てられたセキュリティグループタグである。
【0016】
方法のいくつかの実施形態では、1つ以上のソースノードは、SDWANファブリックオーバーレイを通して、ネットワークプリミティブを含むネットワークドメインに結合されている第2のネットワークドメイン内にある。
【0017】
本方法のいくつかの実施形態では、ネットワークプリミティブは、ネットワークデバイスに関連付けられた仮想プライベートネットワーク、ネットワークデバイスに関連付けられたネットワークトンネル、及びネットワークデバイスに関連付けられたネットワークプレフィックスのうちの1つ以上を含み、本方法は、ネットワークトンネルが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうか、仮想プライベートネットワークが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうか、及びネットワークプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうか、の優先順位で、割り当てられたコンテキストを搬送するデータの選択的伝送を制御することを更に含む。
【0018】
本方法のいくつかの実施形態では、ネットワークプリミティブは、ネットワークドメイン内の特定のプレフィックス内のノードであり、本方法は、複数の異なるプレフィックス内のノードが、割り当てられたコンテキストを搬送するデータを受信することができるかどうかに基づいて、プレフィックスリストを維持することであって、プレフィックスリストが、割り当てられたコンテキストを搬送するデータを受信することができるプレフィックスのリストを含むことと、プレフィックスリストにルートマップを適用することであって、ルートマップが、ネットワークプリミティブ及び1つ以上のソースノードを含むことと、プレフィックスリストへのルートマップの適用に基づいて、割り当てられたコンテキストを搬送するデータが、ネットワークプリミティブによって受信され得るかどうかを判定することと、を更に含む。
【0019】
本方法のいくつかの実施形態では、ネットワークプリミティブは、割り当てられたコンテキストを搬送するデータをネットワークドメイン内の他のネットワークプリミティブと共有する。
【0020】
本方法のいくつかの実施形態では、ネットワークプリミティブは、ネットワークドメイン内の特定のプレフィックス内にあり、かつ特定の仮想プライベートネットワーク内の特定のトンネルを通してデータを受信するように構成されているエッジノードであり、本方法は、特定のトンネルが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかを判定することと、特定の仮想プライベートネットワークが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかを判定することと、特定のプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかを判定することと、特定のトンネル、特定の仮想プライベートネットワーク、及び特定のプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかに基づいて、割り当てられたコンテキストを搬送するデータのエッジノードへの選択的伝送を制御することと、を更に含む。
【0021】
本方法のいくつかの実施形態では、割り当てられたコンテキストを搬送するデータのエッジノードへの選択的伝送を制御することは、特定の仮想プライベートネットワーク及び特定のプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかにかかわらず、特定のトンネルが、割り当てられたコンテキストを搬送するデータを受信するための機能を欠く場合、割り当てられたコンテキストを搬送するデータをエッジノードに伝送することを控えることを更に含む。
【0022】
本方法のいくつかの実施形態では、割り当てられたコンテキストを搬送するデータのエッジノードへの選択的伝送を制御することは、特定のプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかにかかわらず、特定の仮想プライベートネットワークが、割り当てられたコンテキストを搬送するデータを受信するための機能を欠く場合、割り当てられたコンテキストを搬送するデータをエッジノードに伝送することを控えることを更に含む。
【0023】
本方法のいくつかの実施形態では、割り当てられたコンテキストを搬送するデータを受信する際に、方法は、特定のプレフィックスの特性に基づいて、特定のプレフィックス内の追加のノードへの割り当てられたコンテキストを搬送するデータの伝搬を制御することを更に含む。
【0024】
本方法のいくつかの実施形態では、割り当てられたコンテキストを搬送するデータを受信する際の特定のプレフィックスの特性は、エッジノードが、割り当てられたコンテキストを搬送するデータを受信する好適な宛先であることを含む。
【0025】
本方法のいくつかの実施形態では、SDWANファブリックオーバーレイが、オーバーレイ管理プロトコル(overlay management protocol、OMP)によって管理される。
【0026】
本方法のいくつかの実施形態では、OMPが、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、SDWANファブリックオーバーレイを通して1つ以上のソースノードからネットワークプリミティブへの割り当てられたコンテキストを搬送するデータの選択的伝送を制御するように構成されている。
【0027】
本方法のいくつかの実施形態では、OMPが、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、1つ以上のソースノードの1つ以上の転送テーブルを更新することによって、割り当てられたコンテキストを搬送するデータの選択的伝送を制御するように構成されている。
【0028】
システムは、1つ以上のプロセッサと、命令を内部に記憶した少なくとも1つのコンピュータ可読記憶媒体と、を含むことができ、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、ネットワークドメイン内のネットワークプリミティブについて、ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、ネットワークプリミティブの機能をアドバタイズすることであって、機能が、ネットワークプリミティブが割り当てられたコンテキストを搬送するデータを受信することができるかどうかを記述することと、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、SDWANファブリックオーバーレイを通して、1つ以上のソースノードからネットワークプリミティブへの割り当てられたコンテキストを搬送するデータの選択的伝送を制御することと、を含む、動作を実行させる。
【0029】
命令を内部に記憶し得る非一時的コンピュータ可読記憶媒体であって、命令は、プロセッサによって実行されると、プロセッサに、ネットワークドメイン内のネットワークプリミティブについて、ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、ネットワークプリミティブの機能をアドバタイズすることであって、機能が、ネットワークプリミティブが割り当てられたコンテキストを搬送するデータを受信することができるかどうかを記述することと、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、SDWANファブリックオーバーレイを通して、1つ以上のソースノードからネットワークプリミティブへ割り当てられたコンテキストを搬送するデータの選択的伝送を制御することと、を含む、動作を実行させる、非一時的コンピュータ可読記憶媒体。
【0030】
例示的な実施形態
開示される技術は、SDWANにおいてユーザ及びアプリケーションコンテキストを受信するためのエッジデバイス機能を決定するための当技術分野における必要性に対処する。本技術は、SDWANsにおけるユーザコンテキスト及びアプリケーションコンテキストのいずれか又は両方に基づいてネットワークサービスアクセス及びデータルーティングを制御するための方法、システム、及び非一時的コンピュータ可読媒体を伴う。本技術は、具体的には、ブラウンフィールド又はグリーンフィールド展開の困難を低減することができる。
【0031】
図1は、本技術の態様を実装するためのネットワークアーキテクチャ100の一例を示す。ネットワークアーキテクチャ100の実装の一例は、Cisco(登録商標)SDWANアーキテクチャである。しかしながら、当業者は、ネットワークアーキテクチャ100及び本開示で考察される任意の他のシステムについて、同様の又は代替的な構成において追加の又はより少ない構成要素があり得ることを理解するであろう。本開示において提供される例示及び実施例は、簡潔かつ明確にするためのものである。他の実施形態は、異なる数及び/又はタイプの要素を含み得るが、当業者は、そのような変形が本開示の範囲から逸脱しないことを理解するであろう。
【0032】
この例では、ネットワークアーキテクチャ100は、オーケストレーションプレーン102、管理プレーン120、制御プレーン130、及びデータプレーン140を備えることができる。オーケストレーションプレーン102は、オーバーレイネットワークにおけるエッジネットワークデバイス142(例えば、スイッチ、ルータなど)の自動的なオンボードを支援することができる。オーケストレーションプレーン102は、1つ以上の物理又は仮想ネットワークオーケストレータアプライアンス104を含むことができる。ネットワークオーケストレータアプライアンス104は、エッジネットワークデバイス142の初期認証を実行し、制御プレーン130のデバイスとデータプレーン140のデバイスとの間の接続を調整することができる。いくつかの実施形態において、ネットワークオーケストレータアプライアンス104はまた、ネットワークアドレス変換(Network Address Translation、NAT)の背後に位置するデバイスの通信を可能にすることができる。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vBondアプライアンスは、ネットワークオーケストレータアプライアンス104として動作することができる。
【0033】
管理プレーン120は、ネットワークの中央構成及び監視を担うことができる。管理プレーン120は、1つ以上の物理又は仮想ネットワーク管理アプライアンス122を含むことができる。いくつかの実施形態では、ネットワーク管理アプライアンス122は、ユーザが、アンダーレイ及びオーバーレイネットワーク内のエッジネットワークデバイス142及びリンク(例えば、インターネットトランスポートネットワーク160、MPLSネットワーク162、4G/LTEネットワーク164)を監視、構成、及び維持することを可能にするために、グラフィカルユーザインターフェースを介して、ネットワークの集中管理を提供することができる。ネットワーク管理アプライアンス122は、マルチテナンシーをサポートし、異なるエンティティ(例えば、企業、企業内の部門、企業内のグループなど)に関連付けられた論理的に分離されたネットワークの集中管理を可能にすることができる。代替的に、又は加えて、ネットワーク管理アプライアンス122は、単一のエンティティのための専用ネットワーク管理システムであり得る。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vManageアプライアンスは、ネットワーク管理アプライアンス122として動作することができる。管理プレーン120は、ネットワークに関する分析を提供するための分析エンジン124を含むことができる。
【0034】
制御プレーン130は、ネットワークトポロジを構築及び維持し、トラフィックがどこに流れるかを決定することができる。制御プレーン130は、1つ以上の物理又は仮想ネットワークコントローラアプライアンス132を含むことができる。ネットワークコントローラアプライアンス132は、各ネットワークデバイス142へのセキュア接続を確立し、制御プレーンプロトコル(例えば、オーバーレイ管理プロトコル(OMP)(以下で更に詳細に考察される)、オープンショーテストパスファースト(Open Shortest Path First、OSPF)、中間システムツー中間システム(Intermediate System to Intermediate System、IS-IS)、ボーダーゲートウェイプロトコル(BGP)、プロトコル独立マルチキャスト(Protocol-Independent Multicast、PIM)、インターネットグループ管理プロトコル(Internet Group Management Protocol、IGMP)、インターネット制御メッセージプロトコル(Internet Control Message Protocol、ICMP)、アドレス解決プロトコル(Address Resolution Protocol、ARP)、双方向転送検出(Bidirectional Forwarding Detection、BFD)、リンクアグリゲーション制御プロトコル(Link Aggregation Control Protocol、LACP)など)を介して、ルート及びポリシー情報を配信することができる。いくつかの実施形態では、ネットワークコントローラアプライアンス132は、ルートリフレクタとして動作することができる。ネットワークコントローラアプライアンス132はまた、エッジネットワークデバイス142間のデータプレーン140におけるセキュアな接続を調整することができる。例えば、いくつかの実施形態では、ネットワークコントローラアプライアンス132は、ネットワークデバイス142間で暗号キー情報を配信することができる。これは、ネットワークが、インターネット鍵交換(Internet Key Exchange、IKE)なしにセキュアネットワークプロトコル又はアプリケーション(例えば、インターネットプロトコルセキュリティ(Internet Protocol Security、IPSec)、トランスポート層セキュリティ(Transport Layer Security、TLS)、セキュアシェル(Secure Shell、SSH)など)をサポートすることを可能にし、ネットワークのスケーラビリティを可能にすることができる。いくつかの実施形態では、物理的又は仮想Cisco(登録商標)SD-WAN vSmartコントローラは、ネットワークコントローラアプライアンス132として動作することができる。
【0035】
データプレーン140は、制御プレーン130からの決定に基づくパケットの転送を担うことができる。データプレーン140は、エッジネットワークデバイス142を含むことができ、これは物理又は仮想ネットワークデバイスであり得る。エッジネットワークデバイス142は、1つ以上のデータセンタ又はコロケーションセンタ150、キャンパスネットワーク152、支局ネットワーク154、ホームオフィスネットワーク154などにおいて、又はクラウド(例えば、Infrastructure as a Service(IaaS)、Platform as a Service(PaaS)、SaaS、及び他のクラウドサービスプロバイダネットワーク)においてなど、組織のエッジの様々なネットワーク環境で動作することができる。エッジネットワークデバイス142は、1つ以上のインターネットトランスポートネットワーク160(例えば、デジタル加入者線(Digital Subscriber Line、DSL)、ケーブルなど)、MPLSネットワーク162(又は他のプライベートパケット交換ネットワーク(例えば、メトロイーサネット、フレームリレー、非同期転送モード(Asynchronous Transfer Mode、ATM)など)、モバイルネットワーク164(例えば、3G、4G/LTE、5Gなど)、又は他のWAN技術(例えば、同期光ネットワーキング(Synchronous Optical Networking、SONET)、同期デジタルハイアラーキ(Synchronous Digital Hierarchy、SDH)、高密度波長分割多重(Dense Wavelength Division Multiplexing、DWDM)、又は他の光ファイバ技術;専用回線(例えば、T1/E1、T3/E3など);公衆交換電話網(Public Switched Telephone Network、PSTN)、統合サービスデジタル網(Integrated Services Digital Network、ISDN)、又は他の私設回線交換網;スモールアパーチャターミナル(small aperture terminal、VSAT)又は他の衛星ネットワーク;など)を介するなど、1つ以上のWANトランスポートを介して、サイト間のセキュアデータプレーン接続を提供することができる。エッジネットワークデバイス142は、他のタスクの中でも、トラフィック転送、セキュリティ、暗号化、サービス品質(quality of service、QoS)、及びルーティング(例えば、BGP、OSPFなど)を担うことができる。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vEdgeルータは、エッジネットワークデバイス142として動作することができる。
【0036】
図2は、ネットワークアーキテクチャ100の様々な態様を示すためのネットワークトポロジ200の一例を示す。ネットワークトポロジ200は、管理ネットワーク202、一対のネットワークサイト204A及び204B(まとめて204)(例えば、データセンタ150、キャンパスネットワーク152、支局ネットワーク154、ホームオフィスネットワーク156、クラウドサービスプロバイダネットワークなど)、並びに一対のインターネットトランスポートネットワーク160A及び160B(まとめて160)を含むことができる。管理ネットワーク202は、1つ以上のネットワークオーケストレータアプライアンス104と、1つ以上のネットワーク管理アプライアンス122と、1つ以上のネットワークコントローラアプライアンス132と、を含むことができる。管理ネットワーク202は、この例では単一のネットワークとして示されているが、当業者であれば、管理ネットワーク202の各要素を任意の数のネットワークにわたって分散させることができ、かつ/又はサイト204と同じ場所に配置することができることを理解するであろう。この例では、管理ネットワーク202の各要素は、トランスポートネットワーク160A又は160Bのいずれかを介して到達することができる。
【0037】
各サイトは、1つ以上のサイトネットワークデバイス208に接続された1つ以上のエンドポイント206を含むことができる。エンドポイント206は、汎用コンピューティングデバイス(例えば、サーバ、ワークステーション、デスクトップコンピュータなど)、モバイルコンピューティングデバイス(例えば、ラップトップ、タブレット、携帯電話など)、ウェアラブルデバイス(例えば、腕時計、眼鏡又は他のヘッドマウントディスプレイ(head-mounted display、HMD)、イヤーデバイスなど)などを含むことができる。エンドポイント206はまた、農業機器(例えば、家畜追跡管理システム、給水装置、無人航空機(unmanned aerial vehicle、UAV)など)などのモノのインターネット(IoT)デバイス又は機器、連結された自動車及び他の車両、スマートホームセンサ及びデバイス(例えば、アラームシステム、セキュリティカメラ、照明、電化製品、メディアプレーヤ、HVAC機器、ユーティリティメータ、窓、自動ドア、ドアベル、ロックなど)、オフィス機器(例えば、デスクトップ電話、コピー機、ファックス機など)、ヘルスケアデバイス(例えば、ペースメーカー、バイオメトリックセンサー、医療機器など)、産業機器(例えば、ロボット、工場機械、建設機器、産業センサなど)、小売機器(例えば、自動販売機、販売時点管理(point of sale、POS)装置、無線周波数識別(Radio Frequency Identification、RFID)タグなど)、スマートシティデバイス(例えば、街灯、パーキングメータ、廃棄物管理センサなど)、輸送及び物流機器(例えば、回転式改札口、レンタカートラッカー、ナビゲーション装置、在庫モニタなど)などを含むことができる。
【0038】
サイトネットワークデバイス208は、物理又は仮想スイッチ、ルータ、及び他のネットワークデバイスを含むことができる。この例では、サイト204Aは、一対のサイトネットワークデバイスを含んで示され、サイト204Bは単一のサイトネットワークデバイスを含んで示されているが、サイトネットワークデバイス208は、マルチティア(例えば、コア、分散、及びアクセスティア)、スパインアンドリーフ、メッシュ、ツリー、バス、ハブアンドスポークなどを含む任意のネットワークトポロジにおいて任意の数のネットワークデバイスを含むことができる。例えば、いくつかの実施形態では、1つ以上のデータセンタネットワークは、Cisco(登録商標)Application Centric Infrastructure(ACI)アーキテクチャを実装し得、及び/又は1つ以上のキャンパスネットワークは、Cisco(登録商標)Software Defined Access(SD-Access又はSDA)アーキテクチャを実装し得る。サイトネットワークデバイス208は、エンドポイント206を1つ以上のエッジネットワークデバイス142に接続することができ、エッジネットワークデバイス142は、トランスポートネットワーク160に直接接続するために使用することができる。
【0039】
いくつかの実施形態では、「色」は、個々のWANトランスポートネットワークを識別するために使用することができ、異なるWANトランスポートネットワークは、異なる色(例えば、mpls、private1、biz-internet、metro-ethernet、lteなど)を割り当てられ得る。この例では、ネットワークトポロジ200は、インターネットトランスポートネットワーク160Aに対して「biz-internet」と呼ばれる色、及びインターネットトランスポートネットワーク160Bに対して「public-internet」と呼ばれる色を利用することができる。
【0040】
いくつかの実施形態では、各エッジネットワークデバイス208は、ネットワークコントローラアプライアンス132へのデータグラムトランスポート層セキュリティ(Datagram Transport Layer Security、DTLS)又はTLS制御接続を形成し、各トランスポートネットワーク160を介して、任意のネットワーク制御アプライアンス132に接続することができる。いくつかの実施形態では、エッジネットワークデバイス142はまた、IPSecトンネルを介して他のサイト内のエッジネットワークデバイスに接続することもできる。いくつかの実施形態では、BFDプロトコルは、損失、待ち時間、ジッタ、及び経路障害を検出するために、これらのトンネルの各々内で使用され得る。
【0041】
エッジネットワークデバイス142上では、個々のWANトランスポートトンネルを識別又は区別するのを助けるために色を使用することができる(例えば、同じ色が単一のエッジネットワークデバイス上で2回使用されないことがある)。色自体も重要性を有し得る。例えば、metro-ethernet、mpls、並びにprivate1、private2、private3、private4、private5、及びprivate6の色は、プライベートネットワークのために、又はトランスポートIPエンドポイントのNATアドレス指定がない場所で(例えば、同じ色の2つのエンドポイント間にNATがない場合があるため)使用され得るプライベート色とみなされ得る。エッジネットワークデバイス142がプライベートカラーを使用するとき、それらは、ネイティブ、プライベート、アンダーレイIPアドレスを使用して、他のエッジネットワークデバイスへのIPSecトンネルを構築しようと試み得る。パブリックカラーは、3g、biz、internet、blue、bronze、custom1、custom2、custom3、default、gold、green、lte、public-internet、red、及びsilverを含むことができる。パブリックカラーは、(NATが関与する場合)ポストNAT IPアドレスへのトンネルを構築するために、エッジネットワークデバイス142によって使用され得る。エッジネットワークデバイス142がプライベートカラーを使用し、他のプライベートカラーと通信するためにNATを必要とする場合、構成内のキャリア設定は、エッジネットワークデバイス142がプライベートIPアドレスを使用するかパブリックIPアドレスを使用するかを指示することができる。この設定を使用して、2つのプライベートカラーは、一方又は両方がNATを使用しているときにセッションを確立することができる。
【0042】
図3は、ネットワーク(例えば、ネットワークアーキテクチャ100)のオーバーレイを管理するためにいくつかの実施形態において使用され得るOMPの動作を示す
図300の一例を示す。この例では、OMPメッセージ302A及び302B(まとめて302)は、ネットワークコントローラアプライアンス132とエッジネットワークデバイス142A及び142Bとの間でそれぞれ伝送され得、ルートプレフィックス、ネクストホップルート、暗号鍵、ポリシー情報などの制御プレーン情報は、それぞれのセキュアDTLS又はTLS接続304A及び304Bを介して交換され得る。ネットワークコントローラアプライアンス132は、ルートリフレクタと同様に動作することができる。例えば、ネットワークコントローラアプライアンス132は、エッジネットワークデバイス142からルートを受信し、それらに任意のポリシーを処理及び適用し、オーバーレイ内の他のエッジネットワークデバイス142にルートをアドバタイズすることができる。定義されたポリシーが存在しない場合、エッジネットワークデバイス142は、各エッジネットワークデバイス142が別のサイトにおいて別のエッジネットワークデバイス142に直接接続し、各サイトから完全なルーティング情報を受信することができるフルメッシュトポロジと同様に挙動することができる。
【0043】
OMPは、以下の3つのタイプのルートをアドバタイズすることができる。
・ エッジネットワークデバイス142のローカルサイト又はサービス側から学習されるプレフィックスに対応し得るOMPルート。プレフィックスは、静的若しくは接続されたルートとして、又は、例えば、OSPF若しくはBGPプロトコル内から発信され、オーバーレイにわたって搬送され得るように、OMPに再配信され得る。OMPルートは、トランスポートロケーション(transport location、TLOC)情報(BGPネクストホップIPアドレスに類似し得る)などの属性、並びに起点、発信元、プリファレンス、サイト識別子、タグ、及び仮想プライベートネットワーク(virtual private network、VPN)などの他の属性をアドバタイズすることができる。OMPルートは、それが指し示すTLOCがアクティブである場合、転送テーブルにインストールされ得る。
・ トランスポートネットワーク160に接続するエッジネットワークデバイス142上の論理トンネル終端ポイントに対応し得るTLOCルート。いくつかの実施形態では、TLOCルートは、一意に識別され、IPアドレス、リンク色、及びカプセル化(例えば、ジェネリックルーティングカプセル化(Generic Routing Encapsulation、GRE)、IPSecなど)を含む3タプルによって表され得る。システムIPアドレス、色、及びカプセル化に加えて、TLOCルートは、TLOCプライベート及びパブリックIPアドレス、キャリア、プリファレンス、サイト識別子、タグ、及び重みなどの属性も搬送することができる。いくつかの実施形態では、TLOCは、アクティブなBFDセッションがそのTLOCに関連付けられているとき、特定のエッジネットワークデバイス142上でアクティブ状態にあり得る。
・エッジネットワークデバイス142のローカルサイトに接続され得、かつサービス挿入とともに使用するために他のサイトにアクセス可能であり得るサービス(例えば、ファイアウォール、分散型サービス拒否(distributed denial of service、DDoS)緩和器、ロードバランサ、侵入防止システム(intrusion prevent system、IPS)、侵入検出システム(intrusion detection systems、IDS)、WANオプティマイザなど)を表すことができるサービ、スルート。加えて、これらのルートは、VPNを含むこともでき、VPNラベルは、どのVPNがリモートサイトでサービスされるかをネットワークコントローラアプライアンス132に伝えるために、更新タイプで送信することができる。
【0044】
図3の例では、OMPは、エッジネットワークデバイス142とネットワークコントローラアプライアンス132との間に確立されたDTLS/TLSトンネル304上で実行されることが示されている。加えて、
図300は、WANトランスポートネットワーク160Aを介してTLOC308Aと308Cとの間に確立されたIPSecトンネル306Aと、WANトランスポートネットワーク160Bを介してTLOC308BとTLOC308Dとの間に確立されたIPSecトンネル306Bと、を示す。IPSecトンネル306A及び306Bが確立されると、それらの各々にわたってBFDを有効にすることができる。
【0045】
図4は、ネットワーク(例えば、ネットワークアーキテクチャ100)のセグメンテーションを提供するためにいくつかの実施形態において使用され得るVPNの動作を示す
図400の一例を示す。VPNは、互いに分離することができ、独自の転送テーブルを有することができる。インターフェース又はサブインターフェースは、単一のVPNの下で明示的に構成することができ、2つ以上のVPNの一部でなくてもよい。ラベルは、パケットが属するVPNを識別することができるOMPルート属性及びパケットカプセル化において使用され得る。VPN番号は、0~65530の値を有する4バイト整数とすることができる。いくつかの実施形態において、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、及び/又はエッジネットワークデバイス142は各々、トランスポートVPN402(例えば、VPN番号0)及び管理VPN404(例えば、VPN番号512)を含むことができる。トランスポートVPN402は、WANトランスポートネットワーク(例えば、MPLSネットワーク162及びインターネットトランスポートネットワーク160)にそれぞれ接続する1つ以上の物理又は仮想ネットワークインターフェース(例えば、ネットワークインターフェース410A及び410B)を含むことができる。ネットワークコントローラアプライアンス132への、又はネットワークコントローラアプライアンス132とネットワークオーケストレータアプライアンス104との間のセキュアDTLS/TLS接続は、トランスポートVPN402から開始することができる。加えて、制御プレーン130が確立され得、IPSecトンネル306(図示せず)が遠隔サイトに接続することができるように、静的若しくはデフォルトルート又は動的ルーティングプロトコルが、トランスポートVPN402内で構成されて、適切なネクストホップ情報を得ることができる。
【0046】
管理VPN404は、ネットワークインターフェース410Cを介して、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、及び/又はエッジネットワークデバイス142との間で、帯域外管理トラフィックを実行することができる。いくつかの実施形態では、管理VPN404は、オーバーレイネットワークにわたって搬送されなくてもよい。
【0047】
トランスポートVPN402及び管理VPN404に加えて、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、又はエッジネットワークデバイス142は、1つ以上のサービス側VPN406も含むことができる。サービス側VPN406は、1つ以上のローカルサイトネットワーク412に接続し、ユーザデータトラフィックを搬送する1つ以上の物理又は仮想ネットワークインターフェース(例えば、ネットワークインターフェース410D及び410E)を含むことができる。サービス側VPN406は、OSPF又はBGP、仮想ルータ冗長プロトコル(Virtual Router Redundancy Protocol、VRRP)、QoS、トラフィックシェーピング、ポリシングなどの特徴に対して有効にすることができる。いくつかの実施形態では、ユーザトラフィックは、サイト412におけるネットワークコントローラアプライアンス132から受信されたOMPルートをサービス側VPNルーティングプロトコルに再配信することによって、IPSecトンネルを介して他のサイトに向けられ得る。次に、ローカルサイト412からのルートは、サービスVPNルートをOMPルーティングプロトコルにアドバタイズすることによって、他のサイトにアドバタイズされ得、これは、ネットワークコントローラアプライアンス132に送信され、ネットワーク内の他のエッジネットワークデバイス142に再配信され得る。ネットワークインターフェース410A~E(まとめて410)は、この例では物理インターフェースであるように示されているが、当業者であれば、トランスポート及びサービスVPN内のインターフェース410は、代わりにサブインターフェースであり得ることを理解するであろう。
【0048】
図1~
図4において上記で説明したシステムは、ネットワーク及びデバイスが、それらの機能に応じて、割り当てられたコンテキストを受け入れるか又は受け入れないことを可能にするように構成される。逆に、これらのネットワーク及びデバイスは、それらの機能をアドバタイズし、割り当てられたコンテキストを受け入れられるかどうかを送信側に伝えることができる。本技術は、ネットワークプリミティブ(トンネル、VPN、及びプレフィックスなど)が、割り当てられたコンテキスト(セキュリティグループタグなど)を受け入れる機能を定義することを可能にする。ネットワークプリミティブは、例えば、オーバーレイ管理プロトコル(OMP)と互換性のある拡張などの動的ルーティング拡張を介して、この機能をアドバタイズすることができる。以下のように、送信側は、送信側に関連付けられた割り当てられたコンテキスト、例えば、セキュリティグループタグ(security group tag、SGT)を有するデータをリモートエンドに送信するか否かを決定することができる。加えて、例えば、割り当てられたコンテキストのファブリックドメインへの伝搬を更に制限することによって、割り当てられたコンテキストの後続のファブリックドメインへの伝搬を更に制御しながら、割り当てられたコンテキストをソースエッジから宛先エッジに送信する柔軟な対応も可能にする。
【0049】
トンネル及びVPNプリミティブについて、割り当てられたコンテキストを受信することができる機能は、それぞれエンドポイント(TLOC)レベル及びVPNレベルで定義することができる。プレフィックスの場合、機能は、動的ルーティング拡張、例えば、OMPに適用されるプレフィックスマップ及びルートマップを使用して定義することができる。以下は、SGTを受信及び処理する機能をアドバタイズする、ネットワークトンネル、VPN、及びプレフィックスのための例示的なトリガである。
【0050】
【0051】
ハードコードされ得るデバイス機能は、トンネルプロトコルに変換される。いくつかの実施形態では、SGT機能は、CISCO vSmartなどの一元化コントローラによって処理され得、これはドメインファブリック全体にわたってソースノードに、この情報を伝搬することができる。
【0052】
動的ルーティング拡張を使用して、TLOCごと、VPNごと、又はオーバーレイプレフィックスごとにネットワークプリミティブの機能をアドバタイズすることができる。このアドバタイズされた機能は、ネットワークプリミティブのタイプごとに、トンネルネクストホップ、VPN、及びプレフィックスルックアップ結果のターゲットにおいて転送プレーンにプログラムされ得る。
【0053】
いくつかの実施形態では、ネットワークプリミティブの機能の実施は、トンネル、次いでVPN、次いでプレフィックスの順序で進行することができる。例えば、トンネルがコンテキストベースのデータルーティング及びネットワークサービスアクセスをサポートし、プレフィックスがサポートしない場合、割り当てられたコンテキストは宛先エッジに送信され得るが、宛先エッジを越えて伝搬されないようにすることができる。所与のネットワークプリミティブがいかなるクロスドメイン統合もサポートしない場合、動的ルーティング拡張は、これらのアドバタイズメントをソースにもたらすことを控えることができる。この控えることは、トンネル、VPN、若しくはプレフィックス、又はそれらの組み合わせにおける機能の欠如によってもたらされ得る。
【0054】
いくつかの実施形態では、割り当てられたコンテキストを受信するための機能を有するプレフィックスを列挙するプレフィックスのリストを維持することができる。ルートマップは、プレフィックスのリスト内の所与のプレフィックスに適用することができ、ルートマップ及びプレフィックスのリストを使用して、本技術は、所与のプレフィックスが割り当てられたコンテキストを受信するための機能を有するかどうかを判定することができる。
【0055】
いくつかの実施形態では、ネットワークプリミティブは、データ及び割り当てられたコンテキストの伝搬を更に制御することができる。この伝搬は、特定のプレフィックス内の他のノード、ネットワークプリミティブのネットワーク内のノード、又は他の要因によって制限され得る。いくつかの実施形態では、ネットワークプリミティブは、割り当てられたコンテキストを搬送するデータを送信するソースノードとは別個のネットワーク内にあり得る。ネットワークプリミティブが特定のプレフィックスであるとき、伝搬は、特定のプレフィックス内の他のノードに限定され得るか、又は伝搬は、特定のプレフィックスの特性に基づいて限定され得る。
【0056】
詳細な例を示すために、VPNの機能の実施は、以下の形態を採ることができる。
【0057】
【0058】
エッジの機能が定義されると、VPNラベルに関連付けられた動的ルーティング拡張ベースのコンテキスト機能を下記のようにアドバタイズすることができる。
【0059】
【0060】
vSmartでは、動的ルーティング拡張は、VPNコンテキスト機能をプレフィックスに関連付けるのではなく、VPNコンテキスト機能をデバイスにアドバタイズする。この方法は、デバイスにおいてコンテキスト機能をスケーラブルに実装する方式を提供し、同時に、独立して構成されたプレフィックスベースの機能が同様に実施されることを可能にする(データプレーンパスにおけるプレフィックス結果、間接ネクストホップ、及びトンネルネクストホップは、独立したコンテキスト許可属性を有することに留意されたい)。
【0061】
vSmartは以下のようアドバタイズできる。
【0062】
【0063】
データプレーンにおけるCISCOパケット処理(CISCO Packet Processing、CPP)は、仮想ルーティング及び転送(virtual routing and forwarding、vrf)を制御することができる。
【0064】
【0065】
図5は、ある環境に従ったネットワーク環境の例示的な図を例示する。エッジは、割り当てられたコンテキストを受け入れる機能をアドバタイズし、そのアドバタイズメントを使用して、他のデバイス及びネットワークとの通信に影響を与えることができる。
【0066】
エッジ510-1、510-2、及び510-3は、それぞれ、OMPインターフェース520-1、520-2、及び520-3を使用して、SGTを受信するための機能をアドバタイズすることができる。機能がアドバタイズされるとき、OMPインターフェース520は、CISCO vSmart又は別の一元化コントローラを介してドメインを通して機能アドバタイズを伝搬することができる。これにより、全てのエッジ510は、どのトンネル、VPN、及びプレフィックスがSGTを受信するための機能を有するかを認識することができる。エッジ510は、仮想ルーティング及び転送を制御するためにCPP又は別のパケットプロセッサを使用することができる。いくつかの実施形態では、デバイスとしてのエッジ510は、トンネリングプロトコルの下で変換され処理されることになる特定のSGT機能を有することになる。
【0067】
いくつかの実施形態において、エッジ510-2は、SGTを受信するための機能を有していなくてもよい。エッジ510-2は、OPMトランスミッタ520-2を介してエッジ510-1にその機能をアドバタイズすることができる。エッジ510-2は、そのアドバタイズされた機能及びエッジ510-1からの伝送がSGTを含むかどうかに基づいて、エッジ510-1からエッジ510-2への選択的伝送を制御することができる。
【0068】
エッジ510-2は、ネクストホップ、VPN、及びプレフィックスをこの順序でトンネルするための機能を実施することができる。例えば、トンネルが機能をサポートしないがプレフィックスがサポートする場合、SGTはエッジ510-2へ送信されない。トンネルがSGTをサポートし、プレフィックスが宛先としてSGTを許可する場合、SGTは受信され得るが、エッジ510-2によって伝搬されることはない。
【0069】
プレフィックス機能は、OMPトランスミッタ520-2に適用されるネットワーク540-1から受信されるルートマップを使用して部分的に定義することができる。ルートマップは、経路のリストであり、その経路に沿った通信の許可又は拒否を伴う。ルートマップに対するルートの評価は、ルートのリストを所定の順序で走査し、各マッチングステートメントの基準を評価することからなる。リスト走査は、最初のステートメントマッチが見つかると中止され、ステートメントマッチに関連付けられたアクションが実行される。エッジ510-2によってネットワーク540-1から受信されたルートマップは、ネットワーク540-1における通信のためにどのインターフェースが利用可能であるかを列挙することができる。
【0070】
エッジ510-2上のVPN530は、SGTを受信するその機能をネットワーク540-1へ別個にアドバタイズすることができ、逆もまた同様である。ネットワーク540-1及び540-2は、全てが所与のファブリック内に存在するエッジ510と通信する非ファブリックネットワークとすることができる。
【0071】
図6は、実施形態による例示的な方法を例示する。ネットワークプリミティブは、割り当てられたコンテキストを受け入れるか否かを定義し、その定義をアドバタイズし、その後、適切なデータを受信することができる。
【0072】
この方法は、ネットワークドメイン内のネットワークプリミティブが、SDWANファブリックオーバーレイを通して1つ以上のソースノードから割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義すること(600)によって開始する。いくつかの実施形態では、ネットワークプリミティブは、
図1~
図4で説明したものなどの、ネットワークトンネル、仮想プライベートネットワーク、又はネットワークドメイン内のプレフィックスであり得る。いくつかの実施形態では、ソースノードは、ネットワークプリミティブとは異なるネットワークドメイン内にあり得、ドメインは、SDWANファブリックオーバーレイを通して結合される。いくつかの実施形態では、割り当てられたコンテキストは、1つ以上のソースノードに割り当てられたSGTであり得る。
【0073】
いくつかの実施形態では、ネットワークプリミティブは、特定のVPNにおける特定のトンネルを通してデータを受信するように構成されたネットワークドメインにおける特定のプレフィックス内のエッジノードであり得る。そのような場合、本方法は、特定のトンネル、特定のVPN、及び特定のプレフィックスが、割り当てられたコンテキストを搬送するデータを受信することができるかどうかを判定する。いくつかの実施形態では、優先順位は、トンネルからVPNを経由しプレフィックスに進むことができる。いくつかの実施形態では、ネットワークプリミティブが、定義されたコンテキストを搬送するデータを受信することができるかどうかは、トンネル、VPN、及びプレフィックスの機能の組み合わせに基づいて判定され得る。
【0074】
いくつかの実施形態では、ネットワークプリミティブがプレフィックスであるとき、プレフィックスが、割り当てられたコンテキストとともにデータを受信するための機能を有すると判定することは、どのプレフィックスが機能を有するかを列挙するプレフィックスリストの使用を伴い得る。ルートマップをプレフィックスリストに適用することができ、プレフィックスの機能を決定することができる。
【0075】
ネットワークプリミティブの機能は、SDWANファブリックオーバーレイを通して1つ以上のソースノードにアドバタイズされる(610)。アドバタイズされた機能は、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に直接関係する。
【0076】
ネットワークプリミティブは、ネットワークプリミティブの機能に基づいて、1つ以上のソースノードからの割り当てられたコンテキストを搬送するデータの選択的伝送を制御する(620)。いくつかの実施形態では、これは、ソースノードが、割り当てられたコンテキストを、その機能を有しないネットワークプリミティブへ送信することを控えることによって行われる。いくつかの実施形態では、これは、ソースノードが、割り当てられたコンテキストを、その機能を有するネットワークプリミティブへ伝送することによって行われる。いくつかの実施形態では、ネットワークプリミティブは、例えば、データ内の割り当てられたコンテキストの存在に基づいて、プリミティブが受信することができない情報をデータが含むとき、データの任意の部分を受信しなくてもよい。
【0077】
いくつかの実施形態では、選択的ネットワークプリミティブは、
図5のエッジ510のように、ネットワークトンネル、VPN、及びネットワークプレフィックスのうちの1つ以上を含むことができる。割り当てられたコンテキストの選択的伝送は、ネットワークトンネル、VPNS、及びネットワークプレフィックスの機能の任意の組み合わせに依存することができ、これらは別個に決定することができる。いくつかの実施形態では、割り当てられたコンテキストを搬送するデータの選択的伝送は、ネットワークトンネル、VPN、及びプレフィックスの機能の優先順位で決定され得る。いくつかの実施形態では、割り当てられたコンテキストを搬送するデータのエッジ510への選択的伝送を制御することは、割り当てられたコンテキストを搬送するデータをエッジ510に伝送することを控えることを含むことができる。この控えることは、トンネルが、割り当てられたコンテキストを搬送するデータを受信するための機能を欠くことに起因し得、VPN及びプレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかにかかわらず遂行することができる。他の状況においては、この控えることは、VPNが、割り当てられたコンテキストを搬送するデータを受信するための機能を欠くことに起因し得、プレフィックスが、割り当てられたコンテキストを搬送するデータを受信するための機能を有するかどうかにかかわらず遂行することができる。
【0078】
いくつかの実施形態では、選択的伝送はデバイスベースとすることができ、選択的伝送はネットワークトンネルプロトコルを使用して制御される。
【0079】
いくつかの実施形態では、ネットワークプリミティブがプレフィックスであるとき、選択的伝送を制御することは、割り当てられたコンテキストを搬送するデータをネットワークドメイン内の他のネットワークプリミティブと共有することを含むことができる。いくつかの実施形態では、ネットワークプリミティブがプレフィックスであるとき、選択的伝送を制御することは、プレフィックスの特性に基づいて、割り当てられたコンテキストを搬送するデータをプレフィックス内の他のノードと共有することを含むことができる。プレフィックスの特性は、エッジノードが割り当てられたコンテキストを搬送するデータを受信するための好適な宛先であること、プレフィックス内の他のデバイス、位置、又は他の要因を含むことができる。
【0080】
いくつかの実施形態では、伝送を制御することは、割り当てられたコンテキストを搬送するデータをネットワークプリミティブへ伝送することを控えることを伴い得る。いくつかの実施形態では、伝送を制御することは、ネットワークプリミティブによって、割り当てられたコンテキストを搬送するデータを受信することを伴い得る。いくつかの実施形態では、伝送を制御することは、割り当てられたコンテキストを搬送するデータを伝搬することを伴い得る。ネットワークプリミティブは、割り当てられたコンテキストを搬送するデータを、同じネットワーク内の他のネットワークプリミティブに、又はOMPによって管理することができるSDWANオーバーレイファブリックを通して接続されている他のネットワーク内の他のネットワークプリミティブに伝搬することができる。いくつかの実施形態では、OMP自体が、ネットワークプリミティブの転送テーブルを更新することによって、又は他の手段を介して、伝送を制御することができる。
【0081】
図7は、ネットワークデバイス700(例えば、スイッチ、ルータ、ネットワーク機器など)の例を示す。ネットワークデバイス700は、マスタ中央処理装置(CPU)702と、インターフェース704と、バス706(例えば、PCIバス)と、を含み得る。適切なソフトウェア又はファームウェアの制御下で動作するとき、CPU702は、パケット管理、エラー検出、及び/又はルーティング機能を実行することを担うことができる。CPU702は、オペレーティングシステム及び任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下で、これらの機能の全てを達成することが好ましい。CPU702は、Motorolaファミリのマイクロプロセッサ又はMIPSファミリのマイクロプロセッサからのプロセッサなど、1つ以上のプロセッサ708を含むことができる。代替的な実施形態において、プロセッサ708は、ネットワークデバイス700の動作を制御するために特別に設計されたハードウェアであり得る。一実施形態では、メモリ710(不揮発性RAM及び/又はROMなど)も、CPU702の一部を形成することができる。しかしながら、メモリがシステムに結合され得る多くの異なる方法が存在する。
【0082】
インターフェース704は、インターフェースカード(ラインカードと称されることもある)として提供することができる。インターフェース704は、ネットワークを介したデータパケットの送信及び受信を制御することができ、場合によっては、ネットワークデバイス700とともに使用される他の周辺機器をサポートすることができる。提供され得るインターフェースの中には、イーサネットインターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェースなどがある。加えて、高速トークンリングインターフェース、無線インターフェース、イーサネットインターフェース、ギガビットイーサネットインターフェース、非同期転送モード(ATM)インターフェース、高速シリアルインターフェース(High-Speed Serial Interface、HSSI)、パケットオーバソネット(Packet Over SONET、POS)インターフェース、ファイバ分散データインターフェース(Fiber Distributed Data Interface、FDDI)などの様々な超高速インターフェースが提供され得る。インターフェース704は、適切な媒体との通信に適したポートを含むことができる。場合によっては、インターフェース704は、独立したプロセッサを含み得、場合によっては、揮発性RAMを含み得る。独立したプロセッサは、パケット交換、メディア制御、及び管理などの通信集約型タスクを制御することができる。通信集約型タスクのために別個のプロセッサを提供することによって、インターフェース704は、CPU702が、ルーティング計算、ネットワーク診断、セキュリティ機能などを効率的に実行することを可能にし得る。
【0083】
図7に示されるシステムは、一実施形態のネットワークデバイスの例であるが、対象技術が実装され得る唯一のネットワークデバイスアーキテクチャでは決してない。例えば、通信だけでなくルーティング計算及び他のネットワーク機能を処理することができる単一のプロセッサを有するアーキテクチャを使用することもできる。更に、他のタイプのインターフェース及び媒体もまた、ネットワークデバイス700とともに使用され得る。
【0084】
ネットワークデバイスの構成にかかわらず、ネットワークデバイスは、本明細書で説明するローミング、ルート最適化、及びルーティング機能のための汎用ネットワーク動作及び機構のためのプログラム命令を記憶するように構成された1つ以上のメモリ又はメモリモジュール(メモリ710を含む)を採用し得る。プログラム命令は、オペレーティングシステム及び/又は1つ以上のアプリケーションの動作を制御し得る。1つ以上のメモリはまた、モビリティバインディング、登録、及び関連付けテーブルなどのテーブルを記憶するように構成され得る。
【0085】
図8は、システムの構成要素がバス805を使用して互いに電気的に通信するバスコンピューティングシステム800の例を示す。コンピューティングシステム800は、処理ユニット(CPU又はプロセッサ)810と、読取り専用メモリ(read-only memory、ROM)820及びランダムアクセスメモリ(random access memory、RAM)825などのシステムメモリ815を含む様々なシステム構成要素をプロセッサ810に結合するシステムバス805と、を含み得る。コンピューティングシステム800は、プロセッサ810に直接接続された、近接した、又はその一部として統合された高速メモリのキャッシュ812を含むことができる。コンピューティングシステム800は、プロセッサ810による迅速なアクセスのために、メモリ815、ROM820、RAM825、及び/又は記憶デバイス830からキャッシュ812にデータをコピーすることができる。このようにして、キャッシュ812は、データを待っている間のプロセッサ遅延を回避する性能の向上をもたらすことができる。これら及び他のモジュールは、様々なアクションを実行するようにプロセッサ810を制御することができる。他のシステムメモリ815も、同様に使用可能であり得る。メモリ815は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ810は、任意の汎用プロセッサと、プロセッサ810を制御するように構成された、記憶デバイス830に記憶されたモジュール1である832、モジュール2である834、及びモジュール3である836などのハードウェアモジュール又はソフトウェアモジュールと、ソフトウェア命令が実際のプロセッサ設計に組み込まれた専用プロセッサと、を含むことができる。プロセッサ810は、本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称又は非対称であり得る。
【0086】
コンピューティングシステム800とのユーザインタラクションを可能にするために、入力デバイス845は、音声用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチ保護スクリーン、キーボード、マウス、モーション入力、音声など、任意の数の入力機構として表すことができる。出力デバイス835は、当業者に既知のいくつかの出力機構のうちの1つ以上とすることもできる。いくつかの事例において、マルチモーダルシステムは、ユーザがコンピューティングシステム800と通信するために複数のタイプの入力を提供することを可能にする。通信インターフェース840は、ユーザ入力及びシステム出力を統制及び管理することができる。任意の特定のハードウェア構成上で動作することに対する制限はない場合があり、したがって、ここでの基本的な特徴は、改良されたハードウェア又はファームウェア構成が開発されるにつれて、それらと容易に置換され得る。
【0087】
記憶デバイス830は、不揮発性メモリとすることができ、ハードディスク、又は磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ、読み出し専用メモリ、及びこれらのハイブリッドなど、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体とすることができる。
【0088】
上で考察されるように、記憶デバイス830は、プロセッサ810を制御するためのソフトウェアモジュール832、834、836を含むことができる。他のハードウェア又はソフトウェアモジュールも企図される。記憶デバイス830は、システムバス805に接続することができる。いくつかの実施形態では、特定の機能を実行するハードウェアモジュールは、機能を遂行するために、プロセッサ810、バス805、出力デバイス835などの必要なハードウェア構成要素に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0089】
要約すると、本技術は、ネットワークドメイン内のネットワークプリミティブについて、ネットワークプリミティブが、ソフトウェア定義されたワイドエリアネットワーク(SDWAN)ファブリックオーバーレイを通して、1つ以上のソースノードから関連付けられた割り当てられたコンテキストを搬送するデータを受信することができるかどうかを定義することと、ネットワークプリミティブの機能をアドバタイズすることであって、機能が、ネットワークプリミティブが割り当てられたコンテキストを搬送するデータを受信することができるかどうかを記述することと、割り当てられたコンテキストを搬送するデータを受信するためのネットワークプリミティブの機能に基づいて、SDWANファブリックオーバーレイを通して、1つ以上のソースノードからネットワークプリミティブへの割り当てられたコンテキストを搬送するデータの選択的伝送を制御することと、を含み得る。
【0090】
説明を明確にするために、いくつかの事例では、様々な実施形態が、ソフトウェア又はハードウェアとソフトウェアの組み合わせで具現化される方法におけるデバイス、デバイス構成要素、ステップ又はルーチンを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。
【0091】
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、及びメモリは、ビットストリームなどを含むケーブル又はワイヤレス信号を含むことができる。しかしながら、言及されるとき、非一時的コンピュータ可読記憶媒体は、エネルギー、搬送波信号、電磁波、及び信号自体などの媒体を明示的に除外する。
【0092】
上述の例による方法は、コンピュータ可読媒体に記憶されるか、又は別様にコンピュータ可読媒体から利用可能なコンピュータ実行可能命令を使用して実装することができる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理装置に、ある特定の機能若しくは機能のグループを実行させるか、又は他の方法で構成する命令及びデータを含むことができる。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、又はソースコードであり得る。説明される例による方法中に、命令、使用される情報、及び/又は作成される情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気又は光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶デバイスなどを含む。
【0093】
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア、及び/又はソフトウェアを備えることができ、様々なフォームファクタのうちのいずれかを取ることができる。そのようなフォームファクタのいくつかの例は、サーバ、ラックマウントデバイス、デスクトップコンピュータ、ラップトップコンピュータなどの汎用コンピューティングデバイス、又はタブレットコンピュータ、スマートフォン、携帯情報端末、ウェアラブルデバイスなどの汎用モバイルコンピューティングデバイスを含む。本明細書で説明される機能はまた、周辺機器又はアドインカードにおいて具現化され得る。そのような機能はまた、更なる例として、単一のデバイス内で実行される異なるチップ又は異なるプロセス間の回路基板上に実装され得る。
【0094】
命令、そのような命令を搬送するための媒体、それらを実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示において説明される機能を提供するための手段である。
【0095】
添付の特許請求の範囲内の態様を説明するために様々な例及び他の情報が使用されたが、当業者はこれらの例を使用して多種多様な実装形態を導出することができるので、そのような例における特定の特徴又は構成に基づいて特許請求の範囲の限定が示唆されるべきではない。更に、いくつかの主題は、構造的特徴及び/又は方法ステップの例に特有の言語で説明されている場合があるが、添付の特許請求の範囲において定義される主題は、これらの説明された特徴又は行為に必ずしも限定されないことを理解されたい。例えば、そのような機能は、本明細書で識別された構成要素以外の構成要素において異なるように分散され得るか、又は実行され得る。むしろ、説明された特徴及びステップは、添付の特許請求の範囲内のシステム及び方法の構成要素の例として開示される。