(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-30
(54)【発明の名称】マルチリージョンSDWANのための分散型ルーティングコントローラ
(51)【国際特許分類】
H04L 41/34 20220101AFI20240123BHJP
H04L 45/42 20220101ALI20240123BHJP
【FI】
H04L41/34
H04L45/42
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023538113
(86)(22)【出願日】2022-08-10
(85)【翻訳文提出日】2023-07-24
(86)【国際出願番号】 US2022074737
(87)【国際公開番号】W WO2023019157
(87)【国際公開日】2023-02-16
(32)【優先日】2022-01-27
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-08-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】508041127
【氏名又は名称】シスコ テクノロジー,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100140431
【氏名又は名称】大石 幸雄
(72)【発明者】
【氏名】トリア,サミール ディー
(72)【発明者】
【氏名】アグラワル,ヴィヴェック
(72)【発明者】
【氏名】マハデヴァン,サティシュ,クマール
(72)【発明者】
【氏名】ポンヌル,ラミカンタ,レッディ
(72)【発明者】
【氏名】バロゼット,ジャン-マルク
(72)【発明者】
【氏名】カーデイム,ハムザ シュアイブ
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030HA08
5K030HC01
5K030HD03
5K030JA10
5K030JA11
5K030LB01
5K030LB07
(57)【要約】
いくつかの実施形態によれば、ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)は、第1の領域及び第2の領域を含む。第1の領域は、複数の第1のルーティングコントローラ及び複数の第1のSD-WANエッジルータを含む。第2の領域は、複数の第2のルーティングコントローラ及び複数の第2のSD-WANエッジルータを含む。第1の領域の各第1のSD-WANエッジルータは、第1の領域の複数の第1のルーティングコントローラとのオーバーレイ管理プロトコル(Overlay Management Protocol、OMP)ピアリング接続を確立するが、第2の領域の複数の第2のルーティングコントローラとのOMPピアリング接続の確立を回避するように構成される。第2の領域の各第2のSD-WANエッジルータは、第2の領域の複数の第2のルーティングコントローラとのOMPピアリング接続を確立するが、第1の領域の複数の第1のルーティングコントローラとのOMPピアリング接続の確立を回避するように構成される。
【特許請求の範囲】
【請求項1】
ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)であって、
第1の領域であって、
複数の第1のルーティングコントローラであって、各第1のルーティングコントローラが前記第1の領域のための複数の第1のルートを記憶する、複数の第1のルーティングコントローラと、
複数の第1のSD-WANエッジルータと、を含む第1の領域と、
第2の領域であって、
複数の第2のルーティングコントローラであって、各第2のルーティングコントローラが前記第2の領域のための複数の第2のルートを記憶する、複数の第2のルーティングコントローラと、
複数の第2のSD-WANエッジルータと、を含む第2の領域と、を含み、
前記第1の領域の各第1のSD-WANエッジルータは、
前記第1の領域の前記複数の第1のルーティングコントローラとのオーバーレイ管理プロトコル(Overlay Management Protocol、OMP)ピアリング接続を確立し、
前記第2の領域の前記複数の第2のルーティングコントローラとのOMPピアリング接続を確立することを回避するように構成され、
前記第2の領域の各第2のSD-WANエッジルータは、
前記第2の領域の前記複数の第2のルーティングコントローラとのOMPピアリング接続を確立し、
前記第1の領域の前記複数の第1のルーティングコントローラとのOMPピアリング接続を確立することを回避するように構成される、SD-WAN。
【請求項2】
前記第1の領域の各第1のルーティングコントローラは、前記第2の領域のための前記複数の第2のルートを記憶することを防止され、
前記第2の領域の各第2のルーティングコントローラは、前記第1の領域のための前記複数の第1のルートを記憶することを防止される、請求項1に記載のSD-WAN。
【請求項3】
前記第1及び第2のルーティングコントローラの各々は、vSmartコントローラである、請求項1又は2に記載のSD-WAN。
【請求項4】
前記複数の第1のルーティングコントローラの各第1のルーティングコントローラは、前記第1の領域の他の第1のルーティングコントローラとのOMPピアリング接続を確立するように構成され、
前記複数の第1のルーティングコントローラの各第1のルーティングコントローラは、前記第1の領域外の任意のルーティングコントローラとのOMPピアリング接続を確立することを防止され、
前記複数の第2のルーティングコントローラの各第2のルーティングコントローラは、前記第2の領域の他の第2のルーティングコントローラとのOMPピアリング接続を確立するように構成され、
前記複数の第2のルーティングコントローラの各第2のルーティングコントローラは、前記第2の領域外の任意のルーティングコントローラとのOMPピアリング接続を確立することを防止される、請求項1から3のいずれか一項に記載のSD-WAN。
【請求項5】
ネットワークファシリテータであって、
前記複数の第1及び第2のSD-WANエッジルータのうちの特定のSD-WANエッジルータから登録要求を受信し、前記登録要求は、前記特定のSD-WANエッジルータの特定の領域識別子を含み、
前記登録要求を受信することに応答して、ルーティングコントローラのリストを前記特定のSD-WANエッジルータに送信し、前記ルーティングコントローラのリスト内の各ルーティングコントローラは、前記特定のSD-WANエッジルータの前記特定の領域識別子に一致する領域識別子を有する、ように構成されるネットワークファシリテータを更に含む、請求項1から4のいずれか一項に記載のSD-WAN。
【請求項6】
前記ネットワークファシリテータは、vBondオーケストレータである、請求項5に記載のSD-WAN。
【請求項7】
前記登録要求は、データグラムトランスポート層セキュリティ(Datagram Transport Layer Security、DTLS)トンネルを形成するための要求である、請求項5又は6に記載のSD-WAN。
【請求項8】
前記第1の領域の複数の第1の境界ルータであって、各第1の境界ルータは、
前記第1の領域の前記複数の第1のルーティングコントローラとのOMPピアリング接続を確立し、
コア領域の複数のコアルーティングコントローラとのOMPピアリング接続を確立し、
前記第2の領域の前記複数の第2のルーティングコントローラとのOMPピアリング接続を確立することを回避するように構成される、複数の第1の境界ルータと、
前記第2の領域の複数の第2の境界ルータであって、各第2の境界ルータは、
前記第2の領域の前記複数の第2のルーティングコントローラとのOMPピアリング接続を確立し、
前記コア領域の前記複数のコアルーティングコントローラとのOMPピアリング接続を確立し、
前記第1の領域の前記複数の第1のルーティングコントローラとのOMPピアリング接続を確立することを回避するように構成される、複数の第2の境界ルータと、を更に含む、請求項1から7のいずれか一項に記載のSD-WAN。
【請求項9】
コア領域であって、
複数のコアルーティングコントローラと、
複数のSD-WAN境界ルータと、を含むコア領域を更に含む、請求項1から8のいずれか一項に記載のSD-WAN。
【請求項10】
各SD-WAN境界ルータは、
前記コア領域の前記複数のコアルーティングコントローラとのOMPピアリング接続を確立し、
前記第1又は第2の領域のうちの1つの他の領域のみのルーティングコントローラとのOMPピアリング接続を確立する、ように構成される、請求項9に記載のSD-WAN。
【請求項11】
ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)におけるSD-WANエッジルータによって実行される方法であって、
前記SD-WANのネットワークファシリテータに登録要求を送信することであって、前記登録要求は、前記SD-WANエッジルータの特定の領域識別子を含むことと、
前記SD-WANの前記ネットワークファシリテータからルーティングコントローラのリストを受信することであって、
前記ルーティングコントローラのリストは、前記SD-WANの複数のルーティングコントローラを識別し、
前記ネットワークファシリテータから受信した前記ルーティングコントローラのリスト内の各ルーティングコントローラは、前記SD-WANエッジルータの前記特定の領域識別子と一致する領域識別子を有することと、
前記ネットワークファシリテータからの前記ルーティングコントローラのリスト内の前記複数のルーティングコントローラとのオーバーレイ管理プロトコル(Overlay Management Protocol、OMP)ピアリング接続を確立することと、
前記SD-WANエッジルータの前記特定の領域識別子とは異なる領域識別子を有する任意の他のルーティングコントローラとのOMPピアリング接続を確立することを回避することと、を含む、方法。
【請求項12】
前記複数のルーティングコントローラの各々は、vSmartコントローラである、請求項11に記載の方法。
【請求項13】
前記ネットワークファシリテータは、vBondオーケストレータである、請求項11又は12に記載の方法。
【請求項14】
前記登録要求は、データグラムトランスポート層セキュリティ(Datagram Transport Layer Security、DTLS)トンネルを形成するための要求である、請求項11から13のいずれか一項に記載の方法。
【請求項15】
ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)におけるSD-WANネットワークファシリテータによって実行される方法であって、
第1の領域の複数の第1のルーティングコントローラから第1の領域識別子を受信することと、
第2の領域の複数の第2のルーティングコントローラから第2の領域識別子を受信することと、
SD-WANエッジルータから登録要求を受信することであって、前記登録要求は、前記SD-WANエッジルータの特定の領域識別子を含むことと、
前記SD-WANエッジルータの前記特定の領域識別子が、前記第1の領域の前記複数の第1のルーティングコントローラの前記第1の領域識別子と一致すると決定することと、
ルーティングコントローラのリストを前記SD-WANエッジルータに送信することであって、前記ルーティングコントローラのリストは、前記複数の第1のルーティングコントローラを含み、前記複数の第2のルーティングコントローラを除外することと、を含む、方法。
【請求項16】
前記複数の第1及び第2のルーティングコントローラの各々は、vSmartコントローラである、請求項15に記載の方法。
【請求項17】
前記ネットワークファシリテータは、vBondオーケストレータである、請求項15又は16に記載の方法。
【請求項18】
前記登録要求は、データグラムトランスポート層セキュリティ(Datagram Transport Layer Security、DTLS)トンネルを形成するための要求である、請求項15から17のいずれか一項に記載の方法。
【請求項19】
SD-WAN境界ルータから第2の登録要求を受信することであって、前記第2の登録要求は、前記SD-WAN境界ルータの特定の領域識別子を含むことと、
前記SD-WAN境界ルータの前記特定の領域識別子が、前記第2の領域の前記複数の第2のルーティングコントローラの前記第2の領域識別子と一致すると決定することと、
ルーティングコントローラの第2のリストを前記SD-WAN境界ルータに送信することであって、前記ルーティングコントローラの第2のリストは、前記複数の第2のルーティングコントローラを含み、前記複数の第1のルーティングコントローラを除外することと、を更に含む、請求項15から18のいずれか一項に記載の方法。
【請求項20】
前記SD-WANエッジルータの前記特定の領域識別子が、前記第1の領域の前記複数の第1のルーティングコントローラの前記第1の領域識別子と一致すると決定することは、前記SD-WANの全てのルーティングコントローラを含むルーティングコントローラの完全なリストを分析することを含む、請求項15から19のいずれか一項に記載の方法。
【請求項21】
ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)におけるSD-WANエッジルータであって、
前記SD-WANのネットワークファシリテータに登録要求を送信する手段であって、前記登録要求は、前記SD-WANエッジルータの特定の領域識別子を含む、送信する手段と、
前記SD-WANの前記ネットワークファシリテータからルーティングコントローラのリストを受信する手段であって、
前記ルーティングコントローラのリストは、前記SD-WANの複数のルーティングコントローラを識別し、
前記ネットワークファシリテータから受信した前記ルーティングコントローラのリスト内の各ルーティングコントローラは、前記SD-WANエッジルータの前記特定の領域識別子と一致する領域識別子を有する、受信する手段と、
前記ネットワークファシリテータからの前記ルーティングコントローラのリスト内の前記複数のルーティングコントローラとのオーバーレイ管理プロトコル(Overlay Management Protocol、OMP)ピアリング接続を確立する手段と、
前記SD-WANエッジルータの前記特定の領域識別子とは異なる領域識別子を有する任意の他のルーティングコントローラとのOMPピアリング接続を確立することを回避する手段と、を含む、ルータ。
【請求項22】
請求項12から14のいずれか一項に記載の方法を実装する手段を更に備える、請求項21に記載のルータ。
【請求項23】
ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)におけるSD-WANネットワークファシリテータであって、
第1の領域の複数の第1のルーティングコントローラから第1の領域識別子を受信する手段と、
第2の領域の複数の第2のルーティングコントローラから第2の領域識別子を受信する手段と、
SD-WANエッジルータから登録要求を受信する手段であって、前記登録要求は、前記SD-WANエッジルータの特定の領域識別子を含む、受信する手段と、
前記SD-WANエッジルータの前記特定の領域識別子が、前記第1の領域の前記複数の第1のルーティングコントローラの前記第1の領域識別子と一致すると決定する手段と、
ルーティングコントローラのリストを前記SD-WANエッジルータに送信する手段であって、前記ルーティングコントローラのリストは、前記複数の第1のルーティングコントローラを含み、前記複数の第2のルーティングコントローラを除外する、送信する手段と、を含む、ファシリテータ。
【請求項24】
請求項16から20のいずれか一項に記載の方法を実装する手段を更に備える、請求項23に記載のファシリテータ。
【請求項25】
請求項11から20のいずれか一項に記載の方法を実装するための命令を含む、有形コンピュータ可読媒体上に符号化されたコンピュータプログラム、コンピュータプログラム製品、又は論理。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2021年8月13日に出願された「Distributed Routing Controllers for Multi-Region SDWAN」と題する米国仮特許出願第63/232,946号の利益を主張し、その全内容は参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、概して、ワイドエリアネットワークにおけるソフトウェア定義ネットワーキング(software defined networking in a wide area network、SD-WAN)に関し、より詳細には、マルチリージョンSD-WANのための分散型ルーティングコントローラに関する。
【背景技術】
【0003】
従来のワイドエリアネットワーク(wide area network、WAN)アーキテクチャは、支店又はキャンパスの場所にいるユーザを、データセンタ内のサーバ上でホストされるアプリケーションに接続する。通常、セキュリティ保護及び信頼性のある接続性のために、専用のマルチプロトコルラベルスイッチング(multiprotocol Label Switching、MPLS)回路が使用される。しかしながら、ビジネスはますますモバイルになりつつあり、ビジネス上重要なアプリケーションは複数のクラウドにわたってインターネット上で動作している。従来のWANアーキテクチャは、利用可能な帯域幅、セキュリティ、及び複雑さ管理において制限される場合があり、これは、ビジネスの生産性を妨げる場合がある。
【0004】
WANにおけるソフトウェア定義ネットワーキング(SD-WAN)は、ネットワーキングハードウェアをその制御機構から切り離すことによって、WANの管理及び動作を簡略化する。利点は、複数の技術にわたるトランスポート独立によるコスト削減、ビジネスアプリケーション性能の改善及び敏捷性の向上、SaaS及びパブリッククラウドアプリケーションに対するユーザエクスペリエンス及び効率の最適化、並びに自動化及びクラウドベースの管理による動作の簡略化を含む。しかしながら、既存のSD-WANは、ルーティングコントローラの制限のため、スケーリングすることが困難であり得る。
【図面の簡単な説明】
【0005】
開示された実施形態並びにその特徴及び利点のより完全な理解のために、添付の図面と併せて以下の明細書が参照される。
【
図1】いくつかの実施形態による、分散型ルーティングコントローラを有するマルチリージョンSD-WANを示すネットワーク図である。
【
図2】いくつかの実施形態による、SD-WAN内のエッジルータによる例示的方法を図示するフロー図である。
【
図3】いくつかの実施形態による、SD-WANにおけるルートコントローラによる例示的方法を図示するフロー図である。
【
図4】いくつかの実施形態による、本明細書に提示される種々の技術の側面を実装するために利用されることができるプログラム構成要素を実行することが可能なデバイスのための例示的コンピュータアーキテクチャを示す図である。
【発明を実施するための形態】
【0006】
概要
本発明の態様は独立請求項に記載されており、好ましい特徴は従属請求項に記載されている。一態様の特徴は、各態様に単独で、又は他の態様と組み合わせて適用され得る。
【0007】
いくつかの実施形態によれば、ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)は、第1の領域及び第2の領域を含む。第1の領域は、複数の第1のルーティングコントローラ及び複数の第1のSD-WANエッジルータを含む。第2の領域は、複数の第2のルーティングコントローラ及び複数の第2のSD-WANエッジルータを含む。第1の領域の各第1のSD-WANエッジルータは、第1の領域の複数の第1のルーティングコントローラとのオーバーレイ管理プロトコル(Overlay Management Protocol、OMP)ピアリング接続を確立するが、第2の領域の複数の第2のルーティングコントローラとのOMPピアリング接続の確立を回避するように構成される。第2の領域の各第2のSD-WANエッジルータは、第2の領域の複数の第2のルーティングコントローラとのOMPピアリング接続を確立するが、第1の領域の複数の第1のルーティングコントローラとのOMPピアリング接続の確立を回避するように構成される。
【0008】
別の実施形態によれば、SD-WAN内のSD-WANエッジルータによって実行される方法は、SD-WANのネットワークファシリテータに登録要求を送信することを含む。登録要求は、SD-WANエッジルータの特定の領域識別子を含む。方法は、SD-WANのネットワークファシリテータからルーティングコントローラのリストを受信することを更に含む。ルーティングコントローラのリストは、SD-WANの複数のルーティングコントローラを識別する。ネットワークファシリテータから受信したルーティングコントローラのリスト内の各ルーティングコントローラは、SD-WANエッジルータの特定の領域識別子と一致する領域識別子を有する。方法は、ネットワークファシリテータからのルーティングコントローラのリスト内の複数のルーティングコントローラとのOMPピアリング接続を確立することを更に含む。方法は、SD-WANエッジルータの特定の領域識別子とは異なる領域識別子を有する任意の他のルーティングコントローラとのOMPピアリング接続を確立することを回避することを更に含む。
【0009】
更に別の実施形態によれば、SD-WAN内のSD-WANファシリテータによって実行される方法は、第1の領域の複数の第1のルーティングコントローラから第1の領域識別子を受信することを含む。方法は、第2の領域の複数の第2のルーティングコントローラから第2の領域識別子を受信することを更に含む。方法は、SD-WANエッジルータから登録要求を受信することを更に含む。登録要求は、SD-WANエッジルータの特定の領域識別子を含む。方法は、SD-WANエッジルータの特定の領域識別子が、第1の領域の複数の第1のルーティングコントローラの第1の領域識別子と一致すると決定することを更に含む。方法は、ルーティングコントローラのリストをSD-WANエッジルータに送信することを更に含む。ルーティングコントローラのリストは、複数の第1のルーティングコントローラを含み、複数の第2のルーティングコントローラを除外する。
【0010】
本開示のある実施形態の技術的利点は、以下のうちの1つ以上を含み得る。本明細書で説明するいくつかのシステム及び方法は、SD-WANの全てのルーティングコントローラ間のピアリング/制御接続のフルメッシュを防止する。ルーティングコントローラ(例えば、vSmartコントローラ)の集中プールがSD-WANの全ての領域についてのルート情報を記憶する既存のSD-WANとは異なり、本開示の実施形態は、ルーティングコントローラが割り当てられた領域についてのルート情報のみを記憶する、分散された領域ごとのルーティングコントローラを提供する。更に、特定の領域内の各エッジルータは、その特定の領域のルーティングコントローラとピアリングするだけである。分散された領域ごとのルーティングコントローラを有するSD-WANを提供することによって、SD-WANは、既存のSD-WANよりも大規模に水平にスケーリングすることが可能であり得る。更に、各ルーティングコントローラが記憶する必要があるルートの数を減らすことによって、ネットワーク帯域幅及びコンピュータリソース(例えば、コンピュータメモリ及び処理能力)を最適化し得る。他の技術的利点は、以下の図面、説明、及び特許請求の範囲から当業者に容易に明らかになるであろう。更に、特定の利点が上に列挙されているが、様々な実施形態は、列挙された利点の全てを含む場合、いくつかを含む場合、又は列挙された利点を全く含まない場合がある。
【0011】
例示的な実施形態
本開示は、概して、集中型ルーティングコントローラを有する典型的なSD-WANとは対照的に、分散型ルーティングコントローラを有するマルチリージョンSD-WANに関する。複数の領域(例えば、複数の都市、州、又はカウンター)にわたって施設を有する大企業及び組織は、様々な技術的要件をサポートするためにSD-WANを展開し得る。そのような配備は、典型的には、高いスケール要件を有する。例えば、組織のSD-WANは、何万ものルータまでスケールアップする能力を必要とする場合がある。しかしながら、典型的なSD-WANは集中型ルーティングコントローラクラスタ(例えば、Cisco vSmartコントローラの集中型クラスタ)を有するため、典型的なSD-WAN展開は、必要とされるルータの数までスケールアップする能力において制限を有し得る。
【0012】
集中型ルーティングコントローラを有する典型的なSD-WANに関するこれらの問題及び他の問題に対処するために、本明細書に記載する実施形態は、マルチリージョンSD-WANが、集中型ルーティングコントローラを有する既存のSD-WANよりも大規模に水平にスケーリングすることを可能にする、分散された領域ごとのルーティングコントローラアーキテクチャのためのアーキテクチャを提供する。開示される実施形態の分散型ルーティングコントローラアーキテクチャは、ルーティングコントローラ(すなわち、vSmartコントローラ)が特定の領域に割り当てられ、異なる領域内のルーティングコントローラとは異なる状態を有することができるアーキテクチャを提供することによって、集中型ルーティングコントローラを有する既存のSD-WANのスケーリング制限に対処する。これは、各ルーティングコントローラがSD-WAN全体のためのルートを記憶するのではなく、その領域のためのルートのみを記憶するので、全SD-WANにおいて全体的により大きなルートスケーリングを可能にする。このアーキテクチャを達成するために、開示された実施形態は、エッジ/境界ルータと同じ領域に割り当てられたルーティングコントローラとのみピアリングするようにエッジ/境界ルータをプログラムするために領域固有の識別子を利用する、エッジ/境界ルータのための完全に自動化された動的ピアリング論理を提供する。例えば、特定のSD-WAN領域の全ての境界ルータは、境界ルータと同じ領域識別子を有するルーティングコントローラとのみピアリングするようにプログラムされる(すなわち、境界ルータは、異なるSD-WAN領域に割り当てられたルーティングコントローラとピアリングしない)。結果として、開示される実施形態によるSD-WANは、集中型ルーティングコントローラを有する既存のSD-WANよりも水平方向に大きくスケーリングすることができる。
【0013】
図1は、分散型ルーティングコントローラ120を有するマルチリージョンSD-WAN環境100を示すネットワーク図を示す。マルチリージョンSD-WAN環境100は、複数のSD-WAN領域110を含む。例えば、マルチリージョンSD-WAN環境100は、第1のSD-WAN領域110Aと、第2のSD-WAN領域110Bと、第3のSD-WAN領域110Cと、コア/ミドルマイルSD-WAN領域110Dとを含み得る。各SD-WAN領域110は、複数のルーティングコントローラ120を含む。例えば、第1のSD-WAN領域110Aは、ルーティングコントローラ120A-1及び120A-2を含み、第2のSD-WAN領域110Bは、ルーティングコントローラ120B-1及び120B-2を含み、第3のSD-WAN領域110Cは、ルーティングコントローラ120C-1及び120C-2を含み、コア/ミドルマイルSD-WAN領域110Dは、ルーティングコントローラ120D-1及び120D-2を含む。各ルーティングコントローラ120は、(例えば、インターネットなどのネットワークを介してOMPピアリング/制御接続150を形成することによって)同じSD-WAN領域110内の他のルーティングコントローラ120とのみピアリングする。例えば、ルーティングコントローラ120A-1及び120A-2は、互いにピアリングするが、マルチリージョンSD-WAN環境100の残りのルーティングコントローラ120のいずれともピアリングしない。同様に、各ルーティングコントローラ120は、(例えば、インターネットなどのネットワークを介してOMPピアリング/制御接続150を形成することによって)同じSD-WAN領域110内にあるエッジルータ130及び境界ルータ140とのみピアリングする。例えば、ルーティングコントローラ120A-1及び120A-2は、エッジルータ130A-1、130A-2、及び130A-3並びに境界ルータ140A及び140Bとピアリングするが、マルチリージョンSD-WAN環境100の残りのエッジルータ130及び境界ルータ140のいずれともピアリングしない。マルチリージョンSD-WAN環境100は、それらのそれぞれのSD-WAN領域110とのみピアリングする専用ルーティングコントローラ120を各々が有するSD-WAN領域110を(すなわち、ルーティングコントローラの集中プールがSD-WAN全体とピアリングする典型的なSD-WANの代わりに)含むので、マルチリージョンSD-WAN環境100は、ルーティングコントローラクラスタ及びそれらの関連付けられたパス/ルートを比較的無制限に水平方向にスケーリングすることが可能であり得る。
【0014】
ルーティングコントローラ120は、マルチリージョンSD-WAN環境100の制御プレーンを分析及び管理する。エッジルータ130又は境界ルータ140とは異なり、ルーティングコントローラ120は、データトラフィックの送信を処理しない。代わりに、ルーティングコントローラ120は、エッジルータ130及び境界ルータ140にルート情報を提供する。いくつかの実施形態では、各ルーティングコントローラ120は、サーバ上で仮想マシンとして動作するソフトウェアであるCisco vSmartコントローラである。各ルーティングコントローラ120は、同じ領域110内のエッジルータ130、境界ルータ140、及び他のルーティングコントローラ120と、インターネットなどのネットワークを介してOMPピアリング/制御接続150を形成する。各OMPピアリング/制御接続150(例えば、150A~F)は、制御プロトコル(すなわち、OMP)がネットワークデバイス間でルーティング、ポリシー、及び管理情報を交換するために使用される通信チャネルである。一般に、ルーティングコントローラ120は、接続を確立し、接続を調整し、SD-WANファブリックを形成する接続を維持する。ルーティングコントローラ120は、各エッジルータ130との制御プレーン接続(すなわち、OMPピアリング/制御接続150)を確立及び維持する。データグラムトランスポート層セキュリティ(Datagram Transport Layer Security、DTLS)トンネルとして動作する各OMPピアリング/制御接続150は、デバイス認証が成功した後に確立される。いくつかの実施形態では、OMPピアリング/制御接続150は、ルーティングコントローラ120とエッジルータ130との間で暗号化されたペイロードを搬送する。このペイロードは、ルーティングコントローラ120がネットワークトポロジを決定し、ネットワーク宛先への最良のルートを計算し、このルート情報をエッジルータ130に配布するのに必要なルート情報を含み得る。いくつかの実施形態では、ルーティングコントローラ120は、エッジルータ130がSD-WANのサービス側で接続される任意のデバイスとの直接的なピアリング関係を有しない。
【0015】
各ルーティングコントローラ120は、エッジルータ130から、及びその領域110内の任意の他のルーティングコントローラ120から(すなわち、OMPピアリング/制御接続150を介して)学習する、その関連する領域110のためのルート情報(すなわち、OMPルート)を記憶するルートテーブルを記憶及び維持する。マルチリージョンSD-WAN環境100は、ルーティングコントローラ120のための分散された領域ごとのアーキテクチャを提供するので、各ルーティングコントローラ120は、ルーティングコントローラ120が動作している領域についてのルート情報をそのルートテーブルに記憶するだけである。例えば、ルーティングコントローラ120A-1及び120A-2は、互いから、並びにSD-WAN領域110A内のエッジルータ130A-1、130A-2、及び130A-3から学習する、SD-WAN領域110Aについてのルート情報のみを記憶する。同様に、ルーティングコントローラ120B-1及び120B-2は、互いから、並びにSD-WAN領域110B内のエッジルータ130B-1、130B-2、及び130B-3から学習するSD-WAN領域110Bについてのルート情報のみを記憶し、ルーティングコントローラ120C-1及び120C-2は、互いから、並びにSD-WAN領域110C内のエッジルータ130C-1、130C-2、及び130C-3から学習するSD-WAN領域110Cについてのルート情報のみを記憶する。ルーティングコントローラ120A-1及び120A-2は、領域110B又は110Cについてのルート情報を記憶せず、ルーティングコントローラ120B-1及び120B-2は、領域110A又は110Cについてのルート情報を記憶せず、ルーティングコントローラ120C-1及び120C-2は、領域110A又は110Bについてのルート情報を記憶しない。SD-WAN内の全ての領域110についてのルート情報を記憶することを防止される分散型ルーティングコントローラ120を有することによって、マルチリージョンSD-WAN環境100は、全ての領域110についてのルート情報を記憶する集中型ルーティングコントローラ120を有する典型的なSD-WANよりもはるかに大規模に水平にスケーリングすることができる。
【0016】
各SD-WAN領域110はまた、複数のエッジルータ130を含む。例えば、第1のSD-WAN領域110Aは、エッジルータ130A-1、130A-2、及び130A-3を含み、第2のSD-WAN領域110Bは、エッジルータ130B-1、130B-2、及び130B-3を含み、第3のSD-WAN領域110Cは、エッジルータ130C-1、130C-2、及び130C-3を含む。エッジルータ140は、サイト(リモートオフィス、支店、キャンパス、データセンタなど)の周辺に位置し、サイト間の接続性を提供する。エッジルータ130は、ハードウェアデバイス、又は仮想マシンとして動作するソフトウェア(例えば、クラウドベースのルータ)のいずれかであり得る。エッジルータ130は、データトラフィックの送信を処理する。ルーティングコントローラ120と同様に、各エッジルータ130は、(例えば、OMPピアリング/制御接続150を形成することによって)同じSD-WAN領域110内のルーティングコントローラ120とのみピアリングする。例えば、エッジルータ130A-1、130A-2、及び130A-3は、ルーティングコントローラ120A-1及び120A-2とピアリングするが、マルチリージョンSD-WAN環境100の残りのルーティングコントローラ120のいずれともピアリングすることを回避する。
【0017】
各SD-WAN領域110はまた、複数の境界ルータ140を含む。例えば、第1のSD-WAN領域110Aは境界ルータ140A及び140Bを含み、第2のSD-WAN領域110Bは境界ルータ140C及び140Dを含み、第3のSD-WAN領域110Cは境界ルータ140E及び140Fを含む。各境界ルータ140はまた、コア/ミドルマイルSD-WAN領域110D内にある。境界ルータ140は、ハードウェアデバイス、又は仮想マシンとして動作するソフトウェア(例えば、クラウドベースのルータ)のいずれかであり得る。境界ルータ140は、データトラフィックの送信を処理する。各境界ルータ140、エッジルータ130は、(例えば、OMPピアリング/制御接続150を形成することによって)同じSD-WAN領域110内のルーティングコントローラ120と、及びコア/ミドルマイルSD-WAN領域110Dのルーティングコントローラ120とピアリングする。例えば、境界ルータ140A及び140Bは、コア/ミドルマイルSD-WAN領域110Dのルーティングコントローラ120D-1及び120D-2に加えて、第1のSD-WAN領域110Aのルーティングコントローラ120A-1及び120A-2とピアリングする。
【0018】
ネットワークファシリテータ160は、ルーティングコントローラ120、エッジルータ130、及び境界ルータ140の初期オンボーディングを自動的に調整するネットワークデバイスである。一般に、ネットワークファシリテータ160は、ルーティングコントローラ120とエッジルータ130との間の接続を容易にする。オンボーディングプロセスの間、ネットワークファシリテータ160は、オーバーレイネットワークへの参加を要求するデバイスを認証及び検証する。例えば、ネットワークファシリテータ160は、エッジルータ130A-1などの特定のSD-WANエッジルータ130から登録要求170を受信し得る。いくつかの実施形態では、登録要求170は、特定のSD-WANエッジルータの特定の領域識別子(例えば、SD-WAN領域110Aのための領域識別子)を含み得る。登録要求の受信に応答して、ネットワークファシリテータ160は、ルーティングコントローラリスト180をエッジルータ130A-1に送信する。ルーティングコントローラリスト180は、エッジルータ130A-1の領域識別子と一致する領域識別子を有するルーティングコントローラ120(すなわち、この例ではルーティングコントローラ120A-1及び120A-2)のみを含むようにフィルタリングされたルーティングコントローラ120のリストである。このようにして、ネットワークファシリテータ160は、エッジルータ130A-1がその領域110Aのルーティングコントローラ120(すなわち、ルーティングコントローラ120A-1及び120A-2)とのみピアリングするために必要な情報を提供する。いくつかの実施形態では、ネットワークファシリテータ160は、Cisco vBondオーケストレータである。ネットワークファシリテータ160は、ハードウェアデバイス、又は仮想マシンとして動作するソフトウェア(例えば、クラウドベースのルータ)のいずれかであり得る。
【0019】
動作中、マルチリージョンSD-WAN環境100は、SD-WANの全てのルーティングコントローラ120間のピアリング/制御接続のフルメッシュを防止する、分散された領域ごとのルーティングコントローラアーキテクチャを提供する。そうするために、マルチリージョンSD-WAN環境100は、制御接続及びOMPルート配信において固有の挙動をする。まず、マルチリージョンSD-WAN環境100の各ルーティングコントローラ120、エッジルータ130、及び境界ルータ140は、それらが属する特定の領域110に関連付けられた領域識別子を用いて構成される。例えば、SD-WAN領域110Aは、「領域1」という領域識別子を有することができ、SD-WAN領域110A内の全てのデバイス(例えば、ルーティングコントローラ120A-1及び120A-2、エッジルータ130A-1、130A-2、及び130A-3、並びに境界ルータ140A及び140B)は、「領域1」という同じ領域識別子で構成される。同様に、SD-WAN領域110Bは、「領域2」という領域識別子を有することができ、SD-WAN領域110B内の全てのデバイス(例えば、ルーティングコントローラ120B-1及び120B-2、エッジルータ130B-1、130B-2、及び130B-3、並びに境界ルータ140C及び140D)は、「領域2」という同じ領域識別子で構成される。ネットワークファシリテータ160に登録するとき、各ルーティングコントローラ120は、その領域識別子をネットワークファシリテータ160に提示する。ネットワークファシリテータ160は、マルチリージョンSD-WAN環境100の全てのルーティングコントローラ120及び各ルーティングコントローラ120の領域識別子をリストするルーティングコントローラリスト180を維持する。このようにして、ネットワークファシリテータ160は、どのルーティングコントローラ120が所与の領域110を担当しているかを認識する。
【0020】
次に、エッジルータ130及び境界ルータ140がネットワークファシリテータ160に登録するとき、各デバイスは、登録要求170においてその割り当てられた領域識別子をネットワークファシリテータ160に送信する。ネットワークファシリテータ160は、ルーティングコントローラリスト180を要求元デバイスに返送することで、登録要求170に応答する。しかしながら、マルチリージョンSD-WAN環境100の全てのルーティングコントローラ120を列挙するルーティングコントローラリスト180を送信する代わりに、ネットワークファシリテータ160は、ルーティングコントローラリスト180をフィルタリングして、要求元デバイスに一致する領域識別子を有するルーティングコントローラ120のみを含める。例えば、「領域1」の領域識別子を含む登録要求170をエッジルータ130A-1から受信したことに応答して、ネットワークファシリテータ160は、「領域1」の領域識別子も有するルーティングコントローラ120(すなわち、ルーティングコントローラ120A-1及び120A-2)のみを含むようにフィルタリングされたルーティングコントローラリスト180を送信することによって応答する。次いで、受信デバイス(すなわち、この例ではエッジルータ130A-1)は、ルーティングコントローラリスト180にリストされたルーティングコントローラ120(すなわち、ルーティングコントローラ120A-1及び120A-2)とのみ制御接続及びOMPピアリング(すなわち、OMPピアリング/制御接続150A)を確立することに進む。このようにして、マルチリージョンSD-WAN環境100は、領域110にわたるネットワーク内の全てのルーティングコントローラ120間のピアリング/制御接続のフルメッシュを防止する。
【0021】
図2は、SD-WAN内のエッジルータによる例示的方法200を図示するフロー図である。例えば、方法200は、マルチリージョンSD-WAN環境100のエッジルータ130によって実行され得る。方法200は、登録要求がSD-WANのネットワークファシリテータに送信されるステップ210で開始し得る。登録要求は、SD-WANエッジルータの特定の領域識別子を含む。いくつかの実施形態では、登録要求は登録要求170であり、ネットワークファシリテータはネットワークファシリテータ160である。いくつかの実施形態では、登録要求は、DTLSトンネルを形成する要求である。
【0022】
ステップ220において、方法200は、SD-WANのネットワークファシリテータからルーティングコントローラのリストを受信する。ルーティングコントローラのリストは、SD-WANの1つ以上のルーティングコントローラを識別する。ネットワークファシリテータから受信したルーティングコントローラのリスト内の各ルーティングコントローラは、ステップ210で受信したSD-WANエッジルータの特定の領域識別子と一致する領域識別子を有する。いくつかの実施形態では、ルーティングコントローラのリストは、ルーティングコントローラリスト180である。いくつかの実施形態では、複数のルーティングコントローラは、ルーティングコントローラ120である。いくつかの実施形態では、各ルーティングコントローラは、vSmartコントローラである。
【0023】
ステップ230において、方法200は、ステップ220において受信されたネットワークファシリテータからのルーティングコントローラのリスト内の複数のルーティングコントローラとのOMPピアリング接続を確立する。いくつかの実施形態では、OMPピアリング接続は、OMPピアリング/制御接続150である。
【0024】
ステップ240において、方法200は、SD-WANエッジルータの特定の領域識別子とは異なる領域識別子を有する任意の他のルーティングコントローラとのOMPピアリング接続を確立することを回避する。例えば、SD-WANエッジルータの特定の領域識別子が「領域1」である場合、SD-WANエッジルータは、「領域2」、「領域3」、又は「領域1」以外の任意の他の領域識別子の領域識別子を有するルーティングコントローラとのOMPピアリング接続の確立を回避する。ステップ240の後、方法200は終了し得る。
【0025】
図3は、SD-WAN内のルートコントローラによる例示的方法300を図示するフロー図である。例えば、方法300は、マルチリージョンSD-WAN環境100のネットワークファシリテータ160によって実行され得る。方法300は、方法300がSD-WANのルーティングコントローラから領域識別子を受信するステップ310で開始し得る。例えば、各ルーティングコントローラは、SD-WANに登録するための要求において、その関連付けられた領域識別子を送信し得る。いくつかの実施形態では、登録要求は登録要求170である。いくつかの実施形態では、方法300は、ルーティングコントローラ及びそれらの関連付けられた領域識別子のリストを形成し、維持し得る。例えば、方法300は、ルーティングコントローラリスト180を形成し、維持し得る。
【0026】
ステップ320において、方法300は、SD-WANエッジルータから登録要求を受信する。登録要求は、エッジルータの領域識別子を含む。いくつかの実施形態では、登録要求は登録要求170である。いくつかの実施形態では、SD-WANエッジルータはエッジルータ130である。
【0027】
ステップ330において、方法300は、ステップ320において受信されたエッジルータの領域識別子をルーティングコントローラの記憶された領域識別子と照合する。例えば、方法300は、ステップ320において受信されたエッジルータの領域識別子と同一の領域識別子を有するルーティングコントローラを識別するために、SD-WANのルーティングコントローラの完全なリストを分析し得る。
【0028】
ステップ340において、方法300は、ルーティングコントローラのリストをエッジルータに送信する。いくつかの実施形態では、ルーティングコントローラのリストは、ステップ330で識別された一致する領域識別子を有するルーティングコントローラのみを含むようにフィルタリングされたルーティングコントローラのフィルタリング済みリストである。いくつかの実施形態では、ルーティングコントローラのリストは、ルーティングコントローラリスト180である。ステップ340の後、方法300は終了し得る。
【0029】
図4は、上述した機能を実装するためのプログラム構成要素を実行することができるデバイスのための例示的なコンピュータアーキテクチャを示す。
図4に示されるコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップコンピュータ、ラップトップ、タブレット、ネットワークアプライアンス、電子リーダ、スマートフォン、又は他のコンピューティングデバイスなどの任意のタイプのコンピュータ400を示し、本明細書に提示されるソフトウェア構成要素のいずれかを実行するために利用されることができる。コンピュータ400は、いくつかの例では、ルーティングコントローラ120、エッジルータ130、境界ルータ140、ネットワークファシリテータ160、及び/又は本明細書で説明する任意の他のデバイスなど、本明細書で説明する1つ以上のデバイスに対応することができ、パーソナルデバイス(例えば、スマートフォン、テーブル、ウェアラブルデバイス、ラップトップデバイスなど)、サーバ、スイッチ、ルータ、ハブ、ブリッジ、ゲートウェイ、モデム、リピータ、アクセスポイント、並びに/又は任意のタイプのソフトウェア及び/若しくは仮想化技術を実行し得る任意の他のタイプのコンピューティングデバイスなど、ネットワーク化されたデバイスを含むことができる。コンピュータ400は、システムバス又は他の電気通信経路によって多数の構成要素又はデバイスを接続することができるプリント回路基板であるベースボード402又は「マザーボード」を含む。例示的な一構成では、1つ以上の中央処理装置(central processing unit、「CPU」)404が、チップセット406と共に動作する。CPU404は、コンピュータ400の動作に必要な算術演算及び論理演算を実行する標準的なプログラマブルプロセッサとすることができる。
【0030】
CPU404は、状態を区別して変化させるスイッチング素子の操作を通じて、1つの離散的な物理的状態から次の状態に遷移することによって動作を実行する。スイッチング素子は、一般に、フリップフロップなど、2つのバイナリ状態のうちの1つを維持する電子回路と、論理ゲートなど、1つ以上の他のスイッチング素子の状態の論理的組み合わせに基づいて出力状態を提供する電子回路とを含む。これらの基本的なスイッチング素子を組み合わせて、レジスタ、加算器-減算器、算術論理ユニット、浮動小数点ユニットなどを含む、より複雑な論理回路を作成することができる。
【0031】
チップセット406は、CPU404と、ベースボード402上の残りの構成要素及びデバイスとの間のインターフェースを提供する。チップセット406は、コンピュータ400内のメインメモリとして使用されるRAM408へのインターフェースを提供することができる。チップセット406は、コンピュータ400を起動し、様々な構成要素とデバイスとの間で情報を転送するのを助ける基本ルーチンを記憶するための読取り専用メモリ(read-only memory、「ROM」)410又は不揮発性RAM(non-volatile RAM、「NVRAM」)などのコンピュータ可読記憶媒体へのインターフェースを更に提供することができる。ROM410又はNVRAMはまた、本明細書で説明する構成によるコンピュータ400の動作に必要な他のソフトウェア構成要素を記憶することができる。
【0032】
コンピュータ400は、インターネットなどのネットワークを介したリモートコンピューティングデバイス及びコンピュータシステムへの論理接続を使用して、ネットワーク化された環境で動作することができる。チップセット406は、ギガビットイーサネットアダプタなどのNIC412を介してネットワーク接続性を提供するための機能を含むことができる。NIC412は、ネットワーク424を介してコンピュータ400を他のコンピューティングデバイスに接続することができる。複数のNIC412がコンピュータ400内に存在し、コンピュータを他のタイプのネットワーク及びリモートコンピュータシステムに接続することができることを理解されたい。
【0033】
コンピュータ400は、コンピュータ用の不揮発性ストレージを提供するストレージデバイス418に接続することができる。ストレージデバイス418は、オペレーティングシステム420、プログラム422、及びデータを記憶することができ、これらは本明細書でより詳細に説明されている。ストレージデバイス418は、チップセット406に接続されたストレージコントローラ414を介してコンピュータ400に接続することができる。ストレージデバイス418は、1つ以上の物理ストレージユニットから構成することができる。ストレージコントローラ414は、シリアルアタッチドSCSI(serial attached SCSI、「SAS」)インターフェース、シリアルアドバンストテクノロジーアタッチメント(serial advanced technology attachment、「SATA」)インターフェース、ファイバチャネル(fiber channel、「FC」)インターフェース、又はコンピュータと物理ストレージユニットとの間でデータを物理的に接続及び転送するための他のタイプのインターフェースを介して、物理ストレージユニットとインターフェースすることができる。
【0034】
コンピュータ400は、記憶されている情報を反映するように物理ストレージユニットの物理的状態を変換することによって、ストレージデバイス418上にデータを記憶することができる。物理的状態の特定の変換は、本明細書の異なる実施形態において、様々な要因に依存し得る。そのような要因の例は、物理ストレージユニットを実装するために使用される技術、ストレージデバイス418が一次ストレージとして特徴付けられるか二次ストレージとして特徴付けられるかなどを含むことができるが、これらに限定されない。
【0035】
例えば、コンピュータ400は、ストレージコントローラ414を介して命令を発行して、磁気ディスクドライブユニット内の特定の位置の磁気特性、光学ストレージユニット内の特定の位置の反射若しくは屈折特性、又はソリッドステートストレージユニット内の特定のコンデンサ、トランジスタ、若しくは他の個別構成要素の電気特性を変更することによって、ストレージデバイス418に情報を記憶することができる。物理媒体の他の変換は、本明細書の範囲及び要旨から逸脱することなく可能であり、前述の例は、本説明を容易にするためにのみ提供される。コンピュータ400は更に、物理ストレージユニット内の1つ以上の特定の位置の物理的状態又は特性を検出することによって、ストレージデバイス418から情報を読み取ることができる。
【0036】
上述した大容量ストレージデバイス418に加えて、コンピュータ400は、プログラムモジュール、データ構造、又は他のデータなどの情報を記憶及び検索するために、他のコンピュータ可読記憶媒体にアクセスすることができる。コンピュータ可読記憶媒体は、データの非一時的記憶を提供し、コンピュータ400によってアクセスすることができる任意の利用可能な媒体であることを当業者は理解されたい。いくつかの例では、ルーティングコントローラ120、エッジルータ130、境界ルータ140、ネットワークファシリテータ160、及び/又は本明細書で説明される任意の他のデバイスによって実行される動作は、コンピュータ400と同様の1つ以上のデバイスによってサポートされ得る。別の言い方をすれば、ルーティングコントローラ120、エッジルータ130、境界ルータ140、ネットワークファシリテータ160、及び/又は本明細書で説明される任意の他のデバイスによって実行される動作の一部又は全部は、1つ以上のコンピュータデバイス400によって実行され得る。
【0037】
限定ではなく例として、コンピュータ可読記憶媒体は、任意の方法又は技術で実装される揮発性及び不揮発性、取外し可能及び取外し不能媒体を含むことができる。コンピュータ可読記憶媒体は、RAM、ROM、消去可能、ROM、消去可能プログラマブルROM(erasable programmable ROM、「EPROM」)、電気的消去可能プログラマブルROM(electrically-erasable programmable ROM、「EEPROM」)、フラッシュメモリ若しくは他のソリッドステートメモリ技術、コンパクトディスクROM(compact disc ROM、「CD-ROM」)、デジタル多用途ディスク(digital versatile disk、「DVD」)、高解像度DVD(high definition DVD、「HD-DVD」)、BLU-RAY、若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は非一時的に所望の情報を記憶するために使用することができる任意の他の媒体を含むが、これらに限定されない。
【0038】
上記で簡単に述べたように、ストレージデバイス418は、コンピュータ400の動作を制御するために利用されるオペレーティングシステム420を記憶することができる。一実施形態によれば、オペレーティングシステムは、LINUXオペレーティングシステムを含む。別の実施形態によれば、オペレーティングシステムは、ワシントン州レドモンドのMICROSOFT CorporationからのWINDOWS(登録商標)SERVERオペレーティングシステムを含む。更なる実施形態によれば、オペレーティングシステムは、UNIXオペレーティングシステム又はその変形のうちの1つを含むことができる。他のオペレーティングシステムも利用可能であることを理解されたい。ストレージデバイス418は、コンピュータ400によって利用される他のシステム又はアプリケーションプログラム及びデータを記憶することができる。
【0039】
一実施形態では、ストレージデバイス418又は他のコンピュータ可読記憶媒体は、コンピュータ実行可能命令で符号化され、コンピュータ実行可能命令は、コンピュータ400にロードされると、コンピュータを汎用コンピューティングシステムから本明細書で説明される実施形態を実装することができる専用コンピュータに変換する。これらのコンピュータ実行可能命令は、上述したように、CPU404が状態間でどのように遷移するかを指定することによってコンピュータ400を変換する。一実施形態によれば、コンピュータ400は、コンピュータ400によって実行されると、
図2及び
図3に関して上述した様々なプロセスを実行するコンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体にアクセスすることができる。コンピュータ400はまた、本明細書で説明する他のコンピュータ実装動作のいずれかを実行するための命令を記憶したコンピュータ可読記憶媒体を含むことができる。
【0040】
コンピュータ400はまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、又は他のタイプの入力デバイスなど、いくつかの入力デバイスからの入力を受信及び処理するための1つ以上の入力/出力コントローラ416を含むことができる。同様に、入力/出力コントローラ416は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、又は他のタイプの出力デバイスなどのディスプレイに出力を提供することができる。
【0041】
本明細書で説明するように、コンピュータ400は、ルーティングコントローラ120、エッジルータ130、境界ルータ140、ネットワークファシリテータ160、及び/又は本明細書で説明する任意の他のデバイスのうちの1つ以上を備え得る。コンピュータ400は、1つ以上の記憶された命令を実行するように構成された1つ以上のハードウェアプロセッサ404(プロセッサ)を含み得る。プロセッサ404は、1つ以上のコアを備え得る。更に、コンピュータ400は、ルーティングコントローラ120、エッジルータ130、境界ルータ140、ネットワークファシリテータ160、及び/又は本明細書で説明する任意の他のデバイスによって実行されるものとして本明細書で説明する通信など、コンピュータ400と他のデバイスとの間の通信を提供するように構成された1つ以上のネットワークインターフェースを含み得る。ネットワークインターフェースは、パーソナルエリアネットワーク(personal area network、PAN)、有線及び無線ローカルエリアネットワーク(local area network、LAN)、有線及び無線ワイドエリアネットワーク(wide area network、WAN)などに結合するように構成されたデバイスを含み得る。例えば、ネットワークインターフェースは、イーサネット、Wi-Fi(商標)などと互換性のあるデバイスを含み得る。プログラム422は、本開示で説明する技法を実行するための任意のタイプのプログラム又はプロセスを備え得る。
【0042】
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、1つ以上の半導体ベース又は他の集積回路(integrated circuit、IC)(例えば、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)又は特定用途向けIC(application-specific IC、ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(hybrid hard drive、HHD)、光ディスク、光ディスクドライブ(optical disc drive、ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(floppy disk drive、FDD)、磁気テープ、ソリッドステートドライブ(solid-state drive、SSD)、RAMドライブ、セキュアデジタルカード若しくはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、又はこれらのうちの2つ以上の任意の好適な組み合わせを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性及び不揮発性の組み合わせであり得る。
【0043】
本明細書において、「又は」は、明示的に別段の指示がない限り、又は文脈によって別段の指示がない限り、包括的であり、排他的ではない。したがって、本明細書では、「A又はB」は、明示的に別段の指示がない限り、又は文脈によって別段の指示がない限り、「A、B、又は両方」を意味する。更に、「及び(and)」は、明示的に別段の指示がない限り、又は文脈によって別段の指示がない限り、共同及び複数の両方である。したがって、本明細書では、「A及びB」は、明示的に別段の指示がない限り、又は文脈によって別段の指示がない限り、「A及びBを一緒に又は別々に」を意味する。
【0044】
本開示の範囲は、当業者が理解するであろう、本明細書に説明又は例解される例示的実施形態に対する全ての変更、置換、変形、改変、及び修正を包含する。本開示の範囲は、本明細書で説明又は例解される例示的な実施形態に限定されない。更に、本開示は、特定の構成要素、要素、特徴、機能、動作、又はステップを含むものとして本明細書のそれぞれの実施形態を説明及び例解しているが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のいずれかに説明又は例解される構成要素、要素、特徴、機能、動作、又はステップのいずれかの任意の組み合わせ又は順列を含み得る。更に、添付の特許請求の範囲における、特定の機能を実行するように適合され、配置され、可能であり、構成され、有効化され、動作可能であり、又は動作可能である装置若しくはシステム、又は装置若しくはシステムの構成要素への言及は、その装置、システム、又は構成要素がそのように適合され、配置され、可能であり、構成され、有効化され、動作可能であり、又は動作可能である限り、それ又はその特定の機能がアクティブ化され、オンにされ、又はロック解除されるかどうかにかかわらず、その装置、システム、構成要素を包含する。加えて、本開示は、特定の実施形態を特定の利点を提供するものとして説明又は例解しているが、特定の実施形態は、これらの利点のいずれも提供しない場合があるか、これらの利点の一部又は全部を提供する場合がある。
【0045】
なお、本明細書で開示された実施形態は例にすぎず、本開示の範囲は、それらに限定されない。特定の実施形態は、本明細書に開示される実施形態の構成要素、要素、特徴、機能、動作、又はステップの全てを含む場合、いくつかを含む場合、又はいずれも含まない場合がある。ある実施形態は、特に、方法、記憶媒体、システム、及びコンピュータプログラム製品を対象とする添付の特許請求の範囲において開示され、1つの請求項カテゴリー、例えば方法において言及される任意の特徴は、別の請求項カテゴリー、例えばシステムにおいても同様に請求され得る。添付の特許請求の範囲における従属関係又は引用は、形式的な理由のみのために選択されている。しかしながら、任意の先行する請求項(特に、複数の従属関係)への意図的な参照から生じる任意の主題も同様に請求され得、そのため、請求項及びその特徴の任意の組み合わせが、開示され、添付の特許請求の範囲において選択された従属関係にかかわらず、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲に記載される特徴の組み合わせだけでなく、特許請求の範囲における特徴の任意の他の組み合わせも含み、特許請求の範囲において言及される各特徴は、特許請求の範囲における任意の他の特徴又は他の特徴の組み合わせと組み合わされ得る。更に、本明細書で説明若しくは描写される実施形態及び特徴のうちのいずれも、別個の請求項において、及び/又は本明細書で説明若しくは描写される任意の実施形態若しくは特徴との、若しくは添付の請求項の特徴のいずれかとの任意の組み合わせにおいて、請求され得る。
【国際調査報告】