IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シスコ テクノロジー,インコーポレイテッドの特許一覧

特許7304439インテントベースのアプリケーションファブリック
<>
  • 特許-インテントベースのアプリケーションファブリック 図1
  • 特許-インテントベースのアプリケーションファブリック 図2
  • 特許-インテントベースのアプリケーションファブリック 図3
  • 特許-インテントベースのアプリケーションファブリック 図4
  • 特許-インテントベースのアプリケーションファブリック 図5
  • 特許-インテントベースのアプリケーションファブリック 図6
  • 特許-インテントベースのアプリケーションファブリック 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-28
(45)【発行日】2023-07-06
(54)【発明の名称】インテントベースのアプリケーションファブリック
(51)【国際特許分類】
   H04L 41/0893 20220101AFI20230629BHJP
   H04L 41/0895 20220101ALI20230629BHJP
   H04L 41/0894 20220101ALI20230629BHJP
   H04L 43/08 20220101ALI20230629BHJP
【FI】
H04L41/0893
H04L41/0895
H04L41/0894
H04L43/08
【請求項の数】 23
(21)【出願番号】P 2021572654
(86)(22)【出願日】2020-06-11
(65)【公表番号】
(43)【公表日】2022-08-29
(86)【国際出願番号】 US2020037124
(87)【国際公開番号】W WO2020252096
(87)【国際公開日】2020-12-17
【審査請求日】2022-05-10
(31)【優先権主張番号】62/860,577
(32)【優先日】2019-06-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/702,272
(32)【優先日】2019-12-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508041127
【氏名又は名称】シスコ テクノロジー,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100140431
【弁理士】
【氏名又は名称】大石 幸雄
(72)【発明者】
【氏名】サンダラーヤン,バラジ
(72)【発明者】
【氏名】ヴァルリ,ヴァムシダール
(72)【発明者】
【氏名】バラスブラマニアン,チャンドラムーリ
(72)【発明者】
【氏名】オズワル,アナンド
(72)【発明者】
【氏名】シン,ラム,ドゥラール
【審査官】宮島 郁美
(56)【参考文献】
【文献】米国特許出願公開第2017/0012870(US,A1)
【文献】米国特許出願公開第2016/0315912(US,A1)
【文献】米国特許出願公開第2018/0167319(US,A1)
【文献】特表2020-536403(JP,A)
【文献】米国特許出願公開第2019/0103990(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-13/18,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
ソフトウェア定義ワイドエリアネットワーク(SD-WAN)のコントローラによる使用のための方法であって、
前記SD-WANの複数のエッジルータに第1のプロファイルを提供することであって、前記複数のエッジルータが、複数のデバイスを前記SD-WANにインターフェースするように動作可能であり、前記第1のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す前記情報に基づいて第1のアプリケーションファブリックを構築することであって、前記第1のアプリケーションファブリックが、前記第1のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANの一部分に対応する、構築することと、を含む、方法。
【請求項2】
前記第1のアプリケーションに固有である第1のポリシーを判定することと、
前記第1のアプリケーションファブリックに関連付けられた前記エッジルータの各々に、前記第1のポリシーを前記第1のアプリケーションのトラフィックに適用するように命令することと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記第1のアプリケーションファブリックのパフォーマンスを示すデータを報告することと、をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記監視することに基づいて前記第1のアプリケーションファブリックを制御することであって、前記第1のアプリケーションファブリックを制御することが、前記第1のアプリケーションファブリックの1つ以上のノードに、1つ以上のアクションを実行するように命令することを含み、前記アクションのうちの少なくとも1つが、帯域幅リソースを予約すること、ルーティング決定を実装すること、およびポリシーを更新すること、を含む群から選択される、制御することと、をさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記監視することは、前記第1のアプリケーションが所定の要件を満たしているかどうかを示し、前記所定の要件が、前記第1のアプリケーションのサービス品質(QoS)、レイテンシ、損失、または帯域幅の可用性のうちの少なくとも1つに関する情報を含む、請求項4に記載の方法。
【請求項6】
前記第1のプロファイルが、前記第1のアプリケーションに関連する1つ以上の特性を示し、前記特性のうちの少なくとも1つが、プロトコル、ポート番号、およびメッセージ署名、を含む群から選択される、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記SD-WANの前記複数のエッジルータに第2のプロファイルを提供することであって、前記第2のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第2のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す前記情報に基づいて第2のアプリケーションファブリックを構築することであって、前記第2のアプリケーションファブリックが、前記第2のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANファブリックの一部分に対応する、構築することと、をさらに含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
システムであって、
1つ以上のプロセッサと、
前記プロセッサのうちの1つ以上に結合され、かつ命令を含む1つ以上のコンピュータ可読非一時的記憶媒体と、を備え、前記命令が、前記プロセッサのうちの1つ以上によって実行されたときに、前記システムに、
ソフトウェア定義ワイドエリアネットワーク(SD-WAN)の複数のエッジルータに第1のプロファイルを提供することであって、前記複数のエッジルータが、複数のデバイスを前記SD-WANにインターフェースするように動作可能であり、前記第1のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す前記情報に基づいて第1のアプリケーションファブリックを構築することであって、前記第1のアプリケーションファブリックが、前記第1のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANの一部分に対応する、構築することと、を行わせるように動作可能である、システム。
【請求項9】
前記プロセッサが、
前記第1のアプリケーションに固有である第1のポリシーを判定することと、
前記第1のアプリケーションファブリックに関連付けられた前記エッジルータの各々に、前記第1のポリシーを前記第1のアプリケーションのトラフィックに適用するように命令することと、を行うようにさらに動作可能である、請求項8に記載のシステム
【請求項10】
前記プロセッサが、
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記第1のアプリケーションファブリックのパフォーマンスを示すデータを報告することと、を行うようにさらに動作可能である、請求項8または9に記載のシステム。
【請求項11】
前記プロセッサが、
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記監視することに基づいて前記第1のアプリケーションファブリックを制御することであって、前記第1のアプリケーションファブリックを制御することが、前記第1のアプリケーションファブリックの1つ以上のノードに、1つ以上のアクションを実行するように命令することを含み、前記アクションのうちの少なくとも1つが、帯域幅リソースを予約すること、ルーティング決定を実装すること、およびポリシーを更新すること、を含む群から選択される、制御することと、を行うようにさらに動作可能である、請求項8~10のいずれか一項に記載のシステム。
【請求項12】
前記監視することは、前記第1のアプリケーションが所定の要件を満たしているかどうかを示し、前記所定の要件が、前記第1のアプリケーションのサービス品質(QoS)、レイテンシ、損失、または帯域幅の可用性のうちの少なくとも1つに関する情報を含む、請求項11に記載のシステム。
【請求項13】
前記第1のプロファイルが、前記第1のアプリケーションに関連する1つ以上の特性を示し、前記特性のうちの少なくとも1つが、プロトコル、ポート番号、およびメッセージ署名、を含む群から選択される、請求項8~12のいずれか一項に記載のシステム。
【請求項14】
前記プロセッサが、
前記SD-WANの前記複数のエッジルータに第2のプロファイルを提供することであって、前記第2のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第2のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す前記情報に基づいて第2のアプリケーションファブリックを構築することであって、前記第2のアプリケーションファブリックが、前記第2のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANファブリックの一部分に対応する、構築することと、を行うようにさらに動作可能である、請求項8~13のいずれか一項に記載のシステム。
【請求項15】
ソフトウェアを具現化する1つ以上のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアが、実行されたときに、
ソフトウェア定義ワイドエリアネットワーク(SD-WAN)の複数のエッジルータに第1のプロファイルを提供することであって、前記複数のエッジルータが、複数のデバイスを前記SD-WANにインターフェースするように動作可能であり、前記第1のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す前記情報に基づいて第1のアプリケーションファブリックを構築することであって、前記第1のアプリケーションファブリックが、前記第1のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANの一部分に対応する、構築することと、を行うように動作可能である、コンピュータ可読非一時的記憶媒体。
【請求項16】
前記ソフトウェアが、
前記第1のアプリケーションに固有である第1のポリシーを判定することと、
前記第1のアプリケーションファブリックに関連付けられた前記エッジルータの各々に、前記第1のポリシーを前記第1のアプリケーションのトラフィックに適用するように命令することと、を行うようにさらに動作可能である、請求項15に記載の媒体
【請求項17】
前記ソフトウェアが、
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記第1のアプリケーションファブリックのパフォーマンスを示すデータを報告することと、を行うようにさらに動作可能である、請求項15または16に記載の媒体。
【請求項18】
前記ソフトウェアが、
前記第1のアプリケーションファブリックに関連付けられたトラフィックを監視することと、
前記監視することに基づいて前記第1のアプリケーションファブリックを制御することであって、前記第1のアプリケーションファブリックを制御することが、前記第1のアプリケーションファブリックの1つ以上のノードに、1つ以上のアクションを実行するように命令することを含み、前記アクションのうちの少なくとも1つが、帯域幅リソースを予約すること、ルーティング決定を実装すること、およびポリシーを更新すること、を含む群から選択される、制御することと、を行うようにさらに動作可能である、請求項15~17のいずれか一項に記載の媒体。
【請求項19】
前記第1のプロファイルが、前記第1のアプリケーションに関連する1つ以上の特性を示し、前記特性のうちの少なくとも1つが、プロトコル、ポート番号、およびメッセージ署名、を含む群から選択される、請求項15~18のいずれか一項に記載の媒体。
【請求項20】
前記ソフトウェアが、
前記SD-WANの前記複数のエッジルータに第2のプロファイルを提供することであって、前記第2のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第2のアプリケーションをサポートするかを発見することを可能にする、提供することと、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す情報を受信することと、
前記複数のデバイスのうちのどのデバイスが前記第2のアプリケーションをサポートするかを示す前記情報に基づいて第2のアプリケーションファブリックを構築することであって、前記第2のアプリケーションファブリックが、前記第2のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANファブリックの一部分に対応する、構築することと、を行うようにさらに動作可能である、請求項15~19のいずれか一項に記載の媒体。
【請求項21】
ソフトウェア定義ワイドエリアネットワーク(SD-WAN)のコントローラによる使用のための装置であって、
前記SD-WANの複数のエッジルータに第1のプロファイルを提供するための手段であって、前記複数のエッジルータが、複数のデバイスを前記SD-WANにインターフェースするように動作可能であり、前記第1のプロファイルは、前記複数のエッジルータが、前記複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする、提供するための手段と、
前記エッジルータのうちの1つ以上から、前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す情報を受信するための手段と、
前記複数のデバイスのうちのどのデバイスが前記第1のアプリケーションをサポートするかを示す前記情報に基づいて第1のアプリケーションファブリックを構築するための手段であって、前記第1のアプリケーションファブリックが、前記第1のアプリケーションに関連するメッセージを通信するように動作可能な前記SD-WANの一部分に対応する、構築するための手段と、を備える、装置。
【請求項22】
請求項2~7のいずれか一項に記載の方法を実装するための手段をさらに備える、請求項21に記載の装置。
【請求項23】
コンピュータによって実行されるときに、前記コンピュータに、請求項1~7のいずれか一項に記載の方法のステップを実行させる命令を含む、コンピュータプログラム、コンピュータプログラム製品、またはコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、参照により本明細書に組み込まれる、2019年6月12日に出願された米国仮特許出願第62/860,577号の米国特許法第119条(e)項に基づく利益を主張する。
【0002】
本開示は、概して、ソフトウェア定義ワイドエリアネットワーク(SD-WAN)に関し、より具体的には、SD-WAN上でアプリケーションファブリックを生成することに関する。
【背景技術】
【0003】
コンピュータネットワークは、別個のデバイスが通信し、データを共有し、ソフトウェアアプリケーションなどのリソースにアクセスすることを集合的に可能にする、ハードウェア、ソフトウェア、プロトコル、および伝送構成要素のシステムを含むことができる。より具体的には、コンピュータネットワークは、パーソナルコンピュータおよびワークステーションなどのエンドポイント間でデータを転送するための通信リンクおよびセグメントによって相互接続された、地理的に分散したノードの集合である。ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)から、ソフトウェア定義ローカルエリアネットワーク(SD-LAN)およびソフトウェア定義ワイドエリアネットワーク(SD-WAN)などのオーバーレイおよびソフトウェア定義ネットワーク、ならびに仮想LAN(VLAN)および仮想プライベートネットワーク(VPN)などの仮想ネットワークにわたる、多くのタイプのネットワークが利用可能である。
【図面の簡単な説明】
【0004】
図1】SD-WANオーバーレイの一例を例解する。
図2】SD-WAN内の第1のアプリケーションファブリックのアプリケーションオーバーレイの第1の例を例解する。
図3】第1のアプリケーションファブリックを構築するための方法およびシステムの例示的な信号フローを例解する。
図4】SD-WAN内の第2のアプリケーションファブリックのアプリケーションオーバーレイの第2の例を例解する。
図5】第2のアプリケーションファブリックを構築するための方法およびシステムの例示的な信号フローを例解する。
図6】SD-WAN内で関心のあるアプリケーションのアプリケーションファブリックを構築するフローチャートの一例を例解する。
図7】マネージャ、コントローラ、またはエッジルータなど、コンピュータシステムの構成要素の一例を例解する。
【発明を実施するための形態】
【0005】
概説
本発明の態様は、独立請求項で述べられ、好ましい特徴は、従属請求項で述べられる。一態様の特徴は、単独で、または他の態様と組み合わせて、各態様に適用され得る。
【0006】
本明細書で説明する特定の実施形態は、通信ネットワーク内のソフトウェア定義ワイドエリアネットワーク(SD-WAN)の一部分を使用して、関心のある1つ以上の特定のアプリケーションを制御および管理するために作成されるインテントベースのアプリケーションファブリックを提供する。これは、(1)どのデバイス(またはルータ)が、SD-WANのエッジルータ間で、関心のあるアプリケーションを実行しているかを発見し、(2)関心のあるアプリケーションを実行している1つ以上のエッジルータが発見されたとき、関心のあるアプリケーションのポリシー(例えば、ネットワークポリシー)、サービス品質(QoS)、レイテンシ、損失、または帯域幅の可用性に基づいて、関心のあるアプリケーションのアプリケーションファブリックを構築(または生成)することによって達成される。説明の目的で、特定の実施形態は、このアプリケーションファブリックを「インテントベースのアプリケーションファブリック」と呼ぶことがある。アプリケーションファブリックは、SD-WANの一部分を使用して構築され、この理由は、アプリケーションファブリックが、SD-WANのエッジルータの中から選択される、関心のあるアプリケーションを各々が実行する、エッジルータのすべてまたは一部を用いて構成されているためである。
【0007】
特定の実施形態では、SD-WANのコントローラは、第1のアプリケーションのための第1のプロファイルを生成し、SD-WANの複数のエッジルータに第1のプロファイルを提供するように構成されている。本明細書では、複数のエッジルータは、複数のデバイスをSD-WANにインターフェースするように動作可能であり得、第1のプロファイルは、複数のエッジルータが、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にし得る。コントローラは、エッジルータのうちの1つ以上から、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報を受信するようにさらに構成されている。また、コントローラは、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報に基づいて、第1のアプリケーションのための第1のアプリケーションファブリックを構築するようにさらに構成されている。
【0008】
例示的な実施形態
いくつかの実施形態では、ビジネスインテントをビジネス言語でキャプチャし、このインテントを、ネットワーク全体に適用され、および継続的に監視され得るITポリシーに変換する、インテントベースのネットワーキングインフラストラクチャが提供される。ユーザの視点に照らして、ユーザまたはオペレータのインテント(例えば、「もの」)は、そのインテントを実行するための特定の実行(「方法」)に変換される。インテントベースのネットワークは、インテントをキャプチャする能力、ネットワークインフラストラクチャ全体で表現されたインテントの展開を自動化する機能、および所望のインテントが実現されていることを保証する能力という、3つの主要な機能構築ブロックを提供する。
【0009】
本開示の特定の実施形態では、インテントベースのネットワーキング(IBN)は、ネットワークが計画、設計、および運用される方法において重要なパラダイムシフトを提供し得る。以前は、インテントを宣言し、それを、所望の結果を実現するために必要なデバイスレベルの構成に変換するために利用可能なツールがなかった。代わりに、ネットワーク設計者またはオペレータは、「私は、これらのサーバがこれらの支社から到達可能になることを希望し、したがって、私は、私のネットワーク内の各デバイス上で、特定の仮想ローカルエリアネットワーク(VLAN)、サブネット、およびセキュリティルールを構成する必要がある」など、所望のインテントをサポートするために、個々のネットワーク要素構成を手動で導出する必要があった。インテントベースのネットワーキングソリューションは、手動で導出された個々のネットワーク要素構成の整合を必要とする従来の慣例が、オペレータが容易にインテント(所望の結果)を表現し、その後、彼らが求めたものをネットワークが行っていることを検証することを可能にする、コントローラ主導型およびポリシーベースのアブストラクションに置き換えられることを可能にする。
【0010】
インテントベースのネットワーキングのいくつかの実施形態では、デジタルトランスフォーメーションに関連するスケール、敏捷性、およびセキュリティの要求により、要素ごとのネットワーク構成を、一貫したインテントベースのポリシーを備えたネットワーク要素の自動化されたシステム全体のプログラミングに置き換える必要がある。さらに、展開前、展開中、展開後のデータのコンテキスト分析により、ネットワークが任意の時点において所望の結果および保護を配信していることを保証するのを助ける継続的な検証が可能になる。多数の多様なソースからテレメトリおよび他の形態のデータを継続的に収集することにより、システムを最適化し、かつそれが安全であることを確実にするための豊富な情報コンテキストが提供される。インテントベースのポリシーは、クライアントまたはアプリケーションのアクセス制御を超えて拡張される。これは、所望のユーザ経験の表現、アプリケーションの優先順位付け、アプリケーションフローに適用される必要のあるサービスチェーンネットワーク機能、またはさらには、「私は、私のネットワークデバイス上に金色の画像のみを展開することを希望する」など、運用サービスレベルアグリーメント(SLA)ルールにまで広がる。
【0011】
本明細書に記載されるように、実施形態は、様々な要素および制限を含み、どの要素または制限も、重要な要素または制限であるとは企図されない。請求項の各々は、全体として、実施形態の態様を個別に記載している。さらに、記載されるいくつかの実施形態は、とりわけ、システム、ネットワーク、集積回路チップ、組み込みプロセッサ、ASIC、方法、および命令を含むコンピュータ可読非一時的媒体を含み得るが、これらに限定されない。1つ以上のシステム、デバイス、構成要素などは、1つ以上の実施形態を含み得、これは、同じまたは異なるシステム、デバイス、構成要素などによって実行される請求項のいくつかの要素または制限を含み得る。処理要素は、汎用プロセッサ、タスク固有のプロセッサ、1つ以上のプロセッサのコア、または対応する処理を実行するための同じ場所に配置されたリソース共有の他の実装形態であり得る。以下に説明する実施形態は、様々な態様および構成を具現化しており、図は、例示的および非限定的な構成を例解する。「システム」または「装置」という用語は、本明細書では、アプライアンスまたはデバイスのその一般的な定義とともに一貫して使用される。
【0012】
ブロック図およびフロー図ならびにメッセージシーケンスチャートを含むがこれらに限定されない、図に例解される信号および情報のステップ、接続、および処理は、これが実施形態を無効にするか、またはシーケンスが明示的もしくは暗黙的に必要とされない限り(例えば、値を読み取るシーケンスでは、その読み取り値を処理し、値は、それを処理する前に取得される必要があるが、関連する処理の一部は、読み取り動作の前に、それと同時に、および/またはその後に実行され得る)、通常、同じもしくは異なる直列もしくは並列の順序で、ならびに/または異なる構成要素および/もしくはプロセス、スレッドなどによって、ならびに/または異なる接続を介して実行され、他の実施形態における他の機能と組み合わされ得る。また、本文献内で記載または参照されているものは、明示的に記載されていない限り、本出願の先行技術として認められない。
【0013】
「一実施形態」という用語は、本明細書では、特定の実施形態を参照するために使用され、「一実施形態」への各参照は、異なる実施形態を指し得、関連する特徴、要素、および/または制限を説明する際に本明細書において用語を繰り返し使用することは、あらゆる実施形態が含まなければならない関連する特徴、要素、および/または制限の累積的なセットを確定するわけでないが、とはいえ、実施形態は通常、これらすべての特徴、要素、および/または制限を含み得る。さらに、「第1の」、「第2の」など、ならびに「特定の」および「固有の」という用語は、通常、本明細書では、異なるユニット(例えば、第1のウィジェットまたは動作、第2のウィジェットまたは動作、特定のウィジェットまたは動作、固有のウィジェットまたは動作)を示すために使用される。本明細書におけるこれらの用語の使用は、必ずしも、1つのユニット、動作、またはイベントが、別のものまたは別の特性化の前に発生するかまたは来ることなどの順序を示すわけではなく、むしろ、要素ユニットを区別するためのメカニズムを提供する。さらに、「xに基づいて」および「xに応答して」という句は、何かがそれから導出されるかまたは引き起こされるアイテム「x」の最小セットを示すために使用され、「x」は、拡張可能であり、必ずしも、動作が実行されるアイテムの完全なリストを記載するわけではない、など。「または」という用語は、明示的に別段に示されない限り、または文脈によって別段に示されない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明示的に別段に示されない限り、または文脈によって別段に示されない限り、「A、B、またはそれらの両方」を意味する。さらに、「および」は、明示的に別段に示されない限り、または文脈によって別段に示されない限り、一緒と個別の両方である。したがって、本明細書では、「AおよびB」は、明示的に別段に示されない限り、または文脈によって別段に示されない限り、「一緒にまたは個別に、AおよびB」を意味する。さらに、文脈に応じて「含む」、「含有する」、または「によって特徴付けられる」と一般に同義であり得る、「備える」という移行用語は、包括的またはオープンエンドであり、追加の、引用されていない要素または方法ステップを除外しない。最後に、「特定の機械」という用語は、ステップを実行するための方法請求項に記載されている場合、米国特許法第101条の機械法定クラス内の特定の機械を指す。
【0014】
図1は、SD-WANオーバーレイ100の一例を例解する。SD-WANオーバーレイ100は、管理コントローラ(マネージャ110)、ネットワークコントローラ(コントローラ120)、および複数のエッジルータ130(例えば、エッジルータ131~138)を備える。エッジルータ130は、例えば、動的トンネルを介して互いに接続する。図1の例は、各エッジルータ130がSD-WANオーバーレイの一部である完全にメッシュ化されたネットワークを例解する。エッジルータ130は、複数のデバイスをSD-WANにインターフェースし得る。デバイスの例には、洗濯機、クレジットカードマシン、セキュリティカメラ、会議室カメラ、プリンタ、遠隔手術機などが含まれ得る。デバイスは、様々なサイトに配備され得る。例えば、あるサイトのデバイスは、エッジルータ131と通信し得、異なるサイトのデバイスは、エッジルータ132と通信し得る。様々なサイトの例には、本社、1つ以上の支社、R&Dキャンパス、クラウドベースのサイト、データセンターなどが含まれ得る。デバイスは、様々なアプリケーション(例えば、洗濯機アプリケーション、ビデオ会議、クレジットカードアプリケーション、セキュリティカメラアプリケーション、プリンタアプリケーション、遠隔手術アプリケーションなど)に従ってSD-WANを介してメッセージを通信し得る。
【0015】
マネージャ110およびコントローラ120は、両方ともコントローラの例である。図1に示す例では、マネージャ110(例えば、管理コントローラ)は、コントローラ120に接続されている。コントローラ120は、マネージャ110と通信するように、およびSD-WANオーバーレイ100内の複数のエッジルータ130を制御するように構成されている。一実施形態では、コントローラ120は、マネージャ110から独立して具現化され得る。別の実施形態では、コントローラ120は、マネージャ110とともに具現化され得る(例えば、単一のコンピュータシステムまたはデバイス内のコントローラは、マネージャ110とコントローラ120の両方の機能を実行し得る)。したがって、実施形態に応じて、コントローラは、(同じシステム/デバイス内で具現化されるか、またはネットワークもしくは他の接続を介して通信可能に結合された異なるシステム/デバイス内で具現化されるかにかかわらず)マネージャ110、コントローラ120、またはそれらの両方を備え得る。
【0016】
特定の実施形態では、マネージャ110およびコントローラ120は、協働して、SD-WANオーバーレイに配備されたエッジルータのためのアプリケーション固有のファブリックオーバーレイを判定し得る。アプリケーション固有のファブリックは、特定のアプリケーション(一例として、洗濯機アプリケーション)に関連付けられたメッセージを通信するように動作可能なSD-WANの一部分を備える。アプリケーション固有のファブリックは、特定のアプリケーション(この例では、洗濯機アプリケーション)をサポートするデバイスをSD-WANとインターフェースさせるエッジルータ130のサブセットを含む。いくつかの実施形態では、マネージャ110およびコントローラ120は、ユーザ(システム管理者、ネットワークオペレータ、またはエンドユーザなど)からの要求に応答して、アプリケーション固有のファブリックオーバーレイを構築し得る。要求は、ユーザがアプリケーション固有のファブリックを構築したいアプリケーション(またはアプリケーションの特徴)を示し得る。
【0017】
一例として、特定の実施形態では、マネージャ110は、関心のあるアプリケーション(アプリケーションファブリックオーバーレイが構築されるアプリケーション)を判定するように、およびエッジルータ131~138に配信されるプロファイルをコントローラ120に提供するように動作可能である。このプロファイルは、エッジルータ131~138が、どのデバイスが、関心のあるアプリケーションをサポートするかを発見することを可能にする。エッジルータ131~138のうちの1つ以上は各々、そのエッジルータが、関心のあるアプリケーションをサポートするデバイスを発見したかどうかを示す情報をコントローラ120に提供し得る。コントローラ120は、情報をマネージャ110に提供し、マネージャ110は、この情報を使用して、関心のあるアプリケーションのためのアプリケーションファブリックオーバーレイを構築する。次に、マネージャ110は、アプリケーション固有のポリシーを開発し、関心のあるアプリケーションのアプリケーションファブリックオーバーレイに関連付けられているエッジデバイスのサブセットに配信するために、コントローラ120にポリシーを提供し得る。次に、エッジデバイスのサブセットは、関心のあるアプリケーションに関連付けられたトラフィックを通信するときに、アプリケーション固有のポリシーを執行し得る。コントローラ120は、エンドデバイスからアプリケーション監視データ(またはアプリケーションメタデータ)を受信し得る。
【0018】
本開示の特定の実施形態では、例示的な方法およびシステムは、SD-WANの能力をサポートし得、SD-WANにおけるビジネスクリティカルなアプリケーションに、インテントベースのアプリケーションファブリック(例えば、ミドルウェア技術のセットを使用するプラットフォーム)を提供し得る。例えば、特定の実施形態では、SD-WANインフラストラクチャの1つ以上のコントローラ(例えば、マネージャ110および/またはコントローラ120)は、アプリケーションファブリック(例えば、顧客のアプリケーションファブリック)を見るかもしくは監視すること、サイト(例えば、図1においてエッジルータ130が配置されている場所)内のトラフィック状態およびネットワーク内を流れるトラフィックを監視すること、様々なサイト間のトラフィックのセキュリティおよびパフォーマンスをリアルタイムで監視すること、ならびに/またはネットワークのセグメント化、セキュリティ(例えば、隔離または他のセキュリティ)の提供、および/もしくはサービス品質(QoS)の変更または維持のためのトラフィックポリシーを執行すること、を行うように動作可能であり得る。本開示の特定の実施形態は、(i)サイト内でホストされるアプリケーションを識別すること、(ii)アプリケーションをホストし、エンタープライズネットワーク計算システム(ENCS)タイプのブランチプラットフォーム上でメタデータを収集し、アプリケーションの可用性を残りのエンタープライズネットワークにアドバタイズすること、(iii)エンタープライズ全体でアプリケーションに属するフロー/会話を可視化および監視すること、(iv)SD-WANオーバーレイを使用するためのネットワーク帯域幅の可用性について管理コントローラ(例えば、図1のマネージャ110などのvManageコントローラ)に対してクエリを実行し、アプリケーションを促進するためにサイト間に動的トンネルを割り当てること、という、一連の技術的機能または能力を実行する、SD-WANにおいてインテントベースのアプリケーションファブリックを実行するためのソリューションおよびシステムを提供する。
【0019】
図2は、SD-WAN内の第1のアプリケーションファブリックのアプリケーションオーバーレイの第1の例を例解する。図2は、(図1に関して上記で説明した)マネージャ110およびコントローラ120を含む。図2はまた、(図1に関して上記で説明したエッジルータ130と同様の)複数のエッジルータ230を含む。特に、図2は、8つのエッジルータ231~238を例解する。図2に示されるトンネルによって示されるように、アプリケーションオーバーレイは、エッジルータのサブセット(231および234~238)を接続する。このサブセットは、特定のアプリケーションに関連付けられたエッジルータを表す。この例では、エッジルータ232および233は、特定のアプリケーションに関連付けられていない(例えば、エッジルータ232および233がSD-WANにインターフェースするデバイスは、特定のアプリケーションをサポートしていない)ため、エッジルータ232および233は、アプリケーションオーバーレイに含まれていない。したがって、図2に示されるアプリケーションオーバーレイは、エッジルータ232および233に接続するトンネルを含まない。
【0020】
一例として、図2は、ヘルスケアに関連するアプリケーションのアプリケーションオーバーレイを表し得る。特定の実施形態では、アプリケーションオーバーレイは、フィールド(例えば、ヘルスケア)および/またはエンタープライズ(例えば、病院またはヘルスケア提供者)に関連するアプリケーションを包含し得る。一例として、インテントベースのアプリケーションファブリックは、病院が様々なサイトにあり、かつこれらの様々なサイトがSD-WANオーバーレイを使用して接続されているヘルスケアバーティカル(例えば、McKesson、Cigna、Palo Alto Medical Foundationなど)のユースケースに適用され得る。特定のヘルスケア関連の実施形態は、高品質のケアと、医師およびスタッフが利用可能な最新技術のすべてへのアクセスとを患者に提供することを容易にし得る。特定の実施形態は、例えば、ヒースケアのようなビジネスバーティカルに基づいて、様々な所定のアプリケーションオーバーレイの可用性を提供し得る。一実施形態では、SD-WANのデバイスにおいて管理されるアプリケーションを識別するために、コンピューティングシステムは、例えば、アプリケーション署名を使用するアプリケーション認識エンジン(例えば、NBAR2)に加えて、デバイスを分類するデバイス分類サービス(DCS)を展開し得る。
【0021】
「遠隔手術」テレプレゼンスのアプリケーションの例を考察する。特定の実施形態は、ヘルスケア提供者がネットワーク内で一連の命令を実行することを可能にするか、または許可する。命令は、ユーザのインテントを示し得、ユーザから取得された情報に基づき得る。ユーザがユーザのインテントを伝えるための専門用語を学ぶことを要求する代わりに、ヘルスケアビジネスなどの該当するビジネスにおいて通常使用される馴染みのある自然言語を通じてユーザのインテントを取得するための、ユーザフレンドリーなインターフェースが提供され得る。命令は、ヘルスケア提供者が、遠隔手術アプリケーションを実行することができるすべてのサイトを知る(すなわち、監視、検出、またはチェックする)ことを可能にし得る。この例では、ヘルスケア提供者は、ネットワークエンドポイントにおいてサイトのサブセット(例えば、病院)に関連付けられ得る。特定の実施形態は、ヘルスケア提供者が、これらのサイト間で、各遠隔手術アプリケーションがホストされている「遠隔手術」テレプレゼンスアプリケーションがどのように実行されているか(例えば、エッジルータのうちのどれが、遠隔手術アプリケーションをホストし、ホストするようにスケジュールされ、および/またはホストすることが可能であるか)のビューと、各遠隔手術アプリケーション(または各エッジルータ)に関連付けられたパフォーマンス信頼性および/またはパフォーマンス保証とを示すことを可能にするか、または許可し得る。ヘルスケア提供者は、アプリケーションオーバーレイに基づいて取得された情報を使用して、帯域幅リソースを予約し得る。例えば、ヘルスケア提供者は、特定のサービス品質(QoS)保証(遠隔手術アプリケーション用に承認されたQoS)とともに、(手術がスケジュールされている)特定の時間のために帯域幅を予約し得る。ヘルスケア提供者は、予約されたリソースの可用性が高いことを確実にするようにリソースをスケジュールすることができる(例えば、遠隔手術アプリケーションでは、患者の安全を確実にするために高い可用性が必要とされ得、バックオフィスアプリケーションなどの他のタイプのアプリケーションと比較して、より高い優先順位/QoS保証を与えられ得る)。アプリケーションオーバーレイを介して取得された情報は、ネットワークまたは特定のアプリケーションの問題を迅速にトラブルシューティングする際にヘルスケア提供者を支援する場合もある。
【0022】
別の例として、特定の実施形態は、SD-WANコントローラ(例えば、図1および図2の110および120)が様々なクエリプロセスを実行し、サイト間の帯域幅がビデオおよび/または音声遠隔会議に参加するために予約されるように、エンタープライズネットワークにおいてビデオおよび音声サービスを提供し得る。マネージャ110は、関心のあるアプリケーションに固有である(1つ以上の)ポリシーを判定し得る。マネージャ110は、コントローラ120を介してエッジルータに、判定されたポリシーを提供し得る。様々なタイプのポリシーには、例えば、ルーティングポリシー、帯域幅予約ポリシー、QoSポリシー、サービスレベルアグリーメント(SLA)ポリシー、セキュリティポリシーなどが含まれ得る。ポリシーは、ユーザ(システム管理者、ネットワークオペレータ、またはエンドユーザなど)から取得された情報に基づいて判定され得る。ポリシーはまた、ネットワークから取得された情報に基づいて(例えば、ネットワークパフォーマンスに基づいて)判定され得る。
【0023】
図3は、第1のアプリケーションファブリックを構築するための方法およびシステムの例示的な信号フローを例解する。本開示の特定の実施形態では、ビジネスクリティカルなアプリケーション(例えば、「遠隔手術」アプリケーション)のための「インテントベースのアプリケーションファブリック」(例えば、図2に示されるアプリケーションファブリックオーバーレイ)を構築するための方法およびシステムは、以下のプロセス(またはステップ)を実行し得る:(1)アプリケーション発見、(2)アプリケーションファブリック構築、(3)アプリケーション監視、(4)アプリケーション制御および経験。図3の実施形態は、アプリケーション発見(例えば、ステップ310~350)、アプリケーションファブリック構築(例えば、ステップ360)、アプリケーション監視(例えば、ステップ380)、ならびにアプリケーション制御および経験(例えば、ステップ390)のプロセスに関連する信号フローを提示する。図3の例は、1つ以上のコントローラの特定の機能を示している。この機能は、実施形態に応じて、マネージャ110、コントローラ120、それらの両方、または説明された機能を実行するように動作可能な任意の他のコントローラ、もしくはコントローラの組み合わせによって実行され得る。
【0024】
ステップ310において、マネージャ110は、第1のアプリケーションを判定し得る。第1のアプリケーションは、第1のアプリケーションファブリックが構築されるアプリケーションであり得る。例えば、第1のアプリケーションは、ユーザが関心を持つアプリケーションであり得る。特定の実施形態では、第1のアプリケーションは、ユーザ(システム管理者、ネットワークオペレータ、またはエンドユーザなど)から受信された情報に基づいて判定され得る。特定の実施形態では、ユーザは、所定のアプリケーションのリストから第1のアプリケーションを選択し得る。例えば、リストは、ビデオアプリケーション、テレプレゼンスアプリケーション、プリンタアプリケーション、クレジットカードリーダーアプリケーションなどを含み得る。特定の実施形態では、ユーザは、カスタムアプリケーションを定義することができる。例えば、洗濯機のベンダーが、独自の洗濯機アプリケーションをサポートする洗濯機を発見するための特性を提供し得る。特性の例には、アプリケーション識別子、アプリケーション署名、または他のアプリケーション関連情報(例えば、パラメータ、ポート番号、プロトコル番号、プロトコル形式、メッセージ署名など)が含まれ得る。アプリケーション署名(またはカスタム署名)は、特定のビジネスまたは特定の顧客に固有である特定のアプリケーションを判別するように構成されている。特定の実施形態は、(例えば、デフォルトのアプリケーションもしくは以前に定義されたカスタムアプリケーションをリストする)所定のアプリケーションのリストから選択するか、またはアプリケーションの新しい定義をカスタマイズするオプションをユーザに提供し得る。情報は、マネージャ110(もしくはコントローラ120)のI/Oインターフェースを介するか、またはマネージャ110をユーザのコンピュータシステムに接続するネットワーク(例えば、インターネット)を介するなど、任意の好適な方法でユーザから取得され得る。
【0025】
ステップ320において、マネージャ110は、エッジルータ231~238が、第1のアプリケーション(すなわち、ステップ310において判定されたアプリケーション)をサポートするデバイスを発見することを可能にするための第1のプロファイルを生成し得る。プロファイルは、アプリケーション識別子、アプリケーション署名、または他のアプリケーション関連情報(例えば、パラメータ、ポート番号、プロトコル番号、プロトコル形式、メッセージ署名など)など、第1のアプリケーションに関連する1つ以上の特性を示し得る。マネージャ110は、SD-WANのエッジルータ230に配信するためにコントローラ120に第1のプロファイルを提供し得、ステップ330において、コントローラ120は、ステップ320において生成された第1のプロファイルをSD-WANの複数のエッジルータ230に提供し得る。
【0026】
第1のプロファイルは、エッジルータ231~238が、第1のアプリケーションをサポートするデバイスを発見することを可能にする。例えば、エッジルータ231~238は、複数のデバイス(洗濯機、クレジットカードマシン、セキュリティカメラ、会議室カメラ、プリンタなど)をSD-WANにインターフェースするように動作可能である。第1のプロファイルは、ビデオ会議デバイスがエッジルータおよびSD-WANを介して他のビデオ会議デバイスに通信するメッセージのメッセージ署名など、ビデオ会議アプリケーションの特性を示していると仮定する。第1のプロファイルは、複数のエッジルータ231~238が、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする。ビデオ会議アプリケーションの例を続けると、メッセージ署名は、エンドデバイスがSD-WANに送信するメッセージと比較することができ、第1のアプリケーションを実行しているビデオ会議デバイスからのメッセージは、第1のアプリケーションに関連付けられたメッセージ署名と一致するであろう。他のタイプのデバイス(洗濯機など)からのメッセージは、第1のアプリケーションに関連付けられたメッセージ署名と一致しないであろう。
【0027】
ステップ340において、マネージャ110および/またはコントローラ120は、エッジルータ230のうちのエッジルータの1つ以上(例えば、231、234~238)から、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報を受信し得る。いくつかの実施形態では、マネージャ110は、コントローラ120を介してエッジルータから情報を受信する。図3では、エッジルータ231、および234~238は、第1のアプリケーションのサポートを示す情報を送信し得る。情報は、1つ以上のエッジルータから送信されるトラフィック信号を介して送信され得る。いくつかの実施形態では、情報は、各デバイスを検証するために使用されるデバイス署名(または他のデバイス識別子)を含み得る。マネージャ110は、デバイス署名に基づいて検証プロセス(またはセキュリティプロセス)を実行し得る。例えば、関心のある第1のアプリケーションがビデオ会議アプリケーションである場合、(エッジルータのうちの1つを介して)プリンタから受信されるトラフィック信号は、プリンタのデバイス署名を含むはずであり、ビデオ会議アプリケーションの検証に失敗するであろう。したがって、プリンタは、ビデオ会議アプリケーションを実行することを許可されないであろう。これにより、アプリケーションをスプーフィングしているデバイスなどの不正なデバイスが、第1のアプリケーションファブリックに関連付けられるのを防止する。検証は、任意の好適なノード(例えば、マネージャ110、コントローラ120、またはエッジルータ)によって実行され得る。
【0028】
ステップ350において、マネージャ110および/またはコントローラ120は、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報に基づいて、第1のアプリケーションファブリックを構築し得る。第1のアプリケーションファブリックは、第1のアプリケーションに関連するメッセージを通信するように動作可能なSD-WANの一部分に対応し得る。例えば、図1は、エッジルータ131~138間で通信するように動作可能な完全メッシュ化されたSD-WANオーバーレイを示し、図2は、SD-WANオーバーレイのすべてのエッジルータ231~238の間で判定された部分(例えば、エッジルータ231および234~238)を用いて構築された第1のアプリケーションファブリック(すなわち、第1のアプリケーションのために構成されたアプリケーションオーバーレイ)を示す。エッジルータ231および234~238の間に第1のアプリケーションファブリックを構築することは、第1のアプリケーションのアプリケーションオーバーレイを構成するので、エッジルータ231および234~238は、(ステップ360において)それらの間で第1のアプリケーションに関連するメッセージを通信するように動作可能であり得る。この例では、マネージャ350は、ステップ340においてエッジルータ232および233からのメッセージがないことに基づいて(または、第1のアプリケーションをサポートするデバイスをそれらが発見していないことを示す、エッジルータ232および233からのメッセージが存在することに基づいて)、第1のアプリケーションファブリックからエッジルータ232および233を除外する。特定の実施形態では、マネージャ110および/またはコントローラ120は、(例えば、追加のデバイスが経時的にSD-WANに追加されるとき)第1のアプリケーションをサポートする追加のデバイスの発見を示す情報を経時的にエッジルータ230から受信し続け得る。マネージャ110および/またはコントローラ120は、それに応じて第1のアプリケーションファブリックを構築/更新し続け得る。同様に、マネージャ110および/またはコントローラ120は、(例えば、エッジルータが第1のアプリケーションについて発見したデバイスのすべてが、そのエッジルータによってホストされているサイトから後で削除される場合)第1のアプリケーションファブリックからエッジルータを削除するように第1のアプリケーションファブリックを構築/更新し得る。したがって、アプリケーションファブリックの構築は、デバイスがSD-WANに追加またはSD-WANから削除されたときを反映するように動的であり得る。
【0029】
ステップ360において、マネージャ110および/またはコントローラ120が、エッジデバイス231および234~238を含む(ならびにエッジデバイス232および233を除く)第1のアプリケーションファブリックを構成する。特定の実施形態では、マネージャ110およびコントローラ120は、ステップ370に示されるように、第1のアプリケーションファブリックを使用して、アプリケーション固有のポリシーを適用し得る。ステップ370-1において、マネージャ110が、第1のアプリケーションに固有である第1のポリシーを判定し得、第1のポリシーをコントローラ120に提供し得る。ステップ370-2において、コントローラ120が、第1のアプリケーションファブリックに関連付けられたエッジルータ231および234~238に、関心のある第1のアプリケーションの署名(または識別子、またはメタデータ)を有する第1のポリシーをプッシュして、第1のポリシーを第1のアプリケーションのトラフィックに適用し得る。すなわち、マネージャ110およびコントローラ120は、(ステップ370-2において)エッジルータ231および234~238の各々に、第1のポリシーを第1のアプリケーションのトラフィックに適用するように命令する。第1のポリシーは、例えば、ルーティングポリシー、帯域幅予約ポリシー、QoSポリシー、SLAポリシー、セキュリティポリシーなど、1つ以上の異なるタイプのポリシーを含み得る。第1のポリシーは、ユーザ(システム管理者、ネットワークオペレータ、エンドユーザなど)から取得された情報に基づいて判定され得る。ポリシーはまた、ネットワークから取得された情報に基づいて(例えば、ネットワークパフォーマンスに基づいて)判定され得る。一実施形態では、コントローラ120は、第1のアプリケーションファブリックに関連付けられていないエッジルータに第1のポリシーを提供するのを控え得る。したがって、第1のポリシーは、第1のアプリケーションファブリックに関連付けられたエッジルータ(例えば、図2の231および234~238)によってのみ適用される必要がある。また、ポリシーのタイプに応じて、第1のポリシーは、第1のアプリケーションファブリックに関連付けられた他のタイプのノード(例えば、内部ルータ)に提供され、それらによって執行され得る。代替的な実施形態では、ステップ370は、第1のアプリケーションファブリックを構築する前に実行され得る(この場合、ポリシーは、SD-WAN内の各エッジルータに送信され得る)。
【0030】
マネージャ110またはコントローラ120のいずれかまたは両方は、ステップ380および390において、アプリケーション監視およびアプリケーション制御のプロセスをさらに実行し得る。マネージャ110は、第1のアプリケーションファブリックに関連付けられたトラフィックを監視し得る。例えば、マネージャ110は、SD-WANを介して通信されたアプリケーション固有のトラフィックに関する情報を受信し得る。マネージャ110は、(ステップ380において)第1のアプリケーションファブリックに関連付けられたエッジルータからアプリケーション固有のトラフィックに関する情報を受信し得る。いくつかの実施形態では、マネージャ110は、コントローラ120を介してエッジルータから情報を受信し得る。マネージャ110は、(ステップ390において)第1のアプリケーションファブリックのパフォーマンスを示すデータを生成し(例えば、データは、統計、ステータス報告などであり得る)、生成されたデータを、ユーザ(システム管理者、ネットワークオペレータ、またはエンドユーザなど)に報告するか、またはネットワークの構成要素に報告し得、ネットワークの構成要素は、データを使用してポリシーを自動的に更新する(例えば、データが、第1のアプリケーションが大きすぎるレイテンシを経験していたことを示す場合、ルーティングポリシーが更新され得る)。ステップ390において、マネージャ110およびコントローラ120は、第1のアプリケーションファブリックの1つ以上のノード(例えば、図2のエッジルータ231、234~238および/またはSD-WAN内の内部ノード(図示せず))に、例えば、帯域幅リソースの予約、ルーティング決定の実装、ポリシーの更新など、1つ以上のアクションを実行するように命令することによって、監視されたトラフィックに基づいて第1のアプリケーションファブリックをさらに制御し得る。
【0031】
図3に記載された方法を繰り返して、追加のアプリケーション用の追加のアプリケーションファブリックを構築し得る。異なるアプリケーションファブリックは、様々なアプリケーションをサポートするデバイスが配置されている場所に応じて、SD-WANの異なる(重複または非重複)部分を含み得る。図4図5に関して例を説明する。
【0032】
図4は、SD-WAN内の第2のアプリケーションファブリックのアプリケーションオーバーレイの第2の例を例解する。図4に例解されるトポロジは、関心のある特定のアプリケーション(例えば、「洗濯機」アプリケーション)のためのアプリケーションオーバーレイであり得る。図4を参照すると、関心のある第2のアプリケーションのための第2のアプリケーションファブリックは、SD-WAN内のアプリケーションオーバーレイ400を構成するために構築される。図4では、第2のアプリケーションファブリック400は、特定のアプリケーション(すなわち、「洗濯機」アプリケーション)を実行するように動作可能なエッジルータ(例えば、図4のエッジルータ231~234)を用いて構成されている。図4の第2のアプリケーションファブリック400は、図3において上記で説明したように、SD-WANの一部分に対応する。図2および図4を参照すると、図2は、第1のアプリケーションのために構築され、かつエッジルータ231および234~238の間で通信するように動作可能である第1のアプリケーションファブリックのアプリケーションオーバーレイを示している。図4は、第2のアプリケーションのために構築され、かつエッジルータ231~234間で通信するように動作可能である第2のアプリケーションファブリックのアプリケーションオーバーレイを示している。
【0033】
図5は、第2のアプリケーションファブリックを構築するための方法およびシステムの例示的な信号フローを例解する。第2のアプリケーションファブリックを構築するためのプロセスは、図3に記載されたプロセスに類似している。エッジルータ231および234~238を用いて構成された第1のアプリケーションファブリックが構築されているが(ステップ370)、第2のアプリケーションファブリックが、第2のアプリケーションのためにさらに構築され得る。
【0034】
ステップ510は、第2のアプリケーションを判定する。第2のアプリケーションは、図3のステップ310と同様の方法で判定され得る。一例として、この方法は、図3のステップに従って第1のアプリケーション(例えば、ビデオ会議アプリケーション)の第1のアプリケーションファブリックを構築し得、また、第2のアプリケーションファブリックが構築される第2のアプリケーション(例えば、プリンタアプリケーション)を判定し得る。
【0035】
ステップ520は、エッジルータ231~238が、第2のアプリケーション(すなわち、ステップ510において判定されたアプリケーション)をサポートするデバイスを発見することを可能にするための第2のプロファイルを生成する。プロファイルは、アプリケーション識別子、アプリケーション署名、または他のアプリケーション関連情報(例えば、パラメータ、ポート番号、プロトコル番号、プロトコル形式、メッセージ署名など)など、第2のアプリケーションに関連する1つ以上の特性を示し得る。マネージャ110は、SD-WANのエッジルータ230に配信するためにコントローラ120に第2のプロファイルを提供し得、ステップ530において、コントローラ120は、ステップ520において生成された第2のプロファイルをSD-WANの複数のエッジルータ230に提供し得る。
【0036】
図5のステップ540は、概して、図3のステップ340に類似している。ステップ540において、マネージャ110および/またはコントローラ120は、エッジルータ230のうちのエッジルータの1つ以上(例えば、231~234)から、複数のデバイスのうちのどのデバイスが第2のアプリケーションをサポートするかを示す情報を受信し得る。この例では、第2のアプリケーションをサポートするエッジルータのサブセット(エッジルータ231~234)は、第1のアプリケーションをサポートするルータのサブセット(エッジルータ231、234~238)とは異なるが、これらの異なるサブセットは、部分的に重複している(エッジルータ231および234は両方のサブセットに属する)。
【0037】
ステップ550は、第2のアプリケーションの第2のアプリケーションファブリックを構築する。図5のステップ550は、概して、図3のステップ350に類似している。第2のアプリケーションファブリックは、ステップ540において第2のアプリケーションをサポートするデバイスがそれから発見されたエッジルータ(例えば、エッジルータ231~234)を含み、他のエッジルータ(例えば、エッジルータ235~238)を除外する。
【0038】
ステップ560は、第2のアプリケーションの第2のアプリケーションファブリックを構成する。図5のステップ560は、概して、図3のステップ360に類似している。特定の実施形態では、マネージャ110および/またはコントローラ120は、ステップ570に示されるように、第2のアプリケーションファブリックを使用して、アプリケーション固有のポリシーを適用し得る。一例として、ステップ570-1において、マネージャ110が、第2のアプリケーションに固有である第2のポリシーを判定し得、第2のポリシーをコントローラ120に提供し得る。ステップ570-2において、コントローラ120は、第2のポリシーを第2のアプリケーションファブリックのエッジルータ(例えば、エッジルータ231~234)にプッシュし得る。次に、第2のアプリケーションファブリックのエッジルータは、第2のアプリケーションに関連付けられたトラフィックに第2のポリシーを適用し得る。上で考察されるように、ポリシーの例には、ルーティングポリシー、帯域幅予約ポリシー、QoSポリシー、SLAポリシー、セキュリティポリシーなどが含まれ得る。特定の実施形態では、ポリシーは、特定のアプリケーションに優先順位を付けることを可能にし得る。例えば、第1のアプリケーションファブリックは、重要なアプリケーション(遠隔手術テレプレゼンスアプリケーションなど)に対応し、第2のアプリケーションファブリックは、重要でないアプリケーション(バックオフィス内のプリンタアプリケーションなど)に対応すると仮定する。ポリシーは、第1のアプリケーションファブリックが帯域幅の予約に対してより高い優先順位を持ち、より厳密なQoSおよびSLAポリシーを持つことなどを確実にするように構成され得る。
【0039】
図5のステップ580は、(図3のステップ380と同様に)第1のアプリケーションファブリックに関連付けられたトラフィック、および第2のアプリケーションファブリックに関連付けられたトラフィックを監視する。図5のステップ590は、(図3のステップ390と同様に)第1のアプリケーションファブリックのパフォーマンスを示すデータ、および第2のアプリケーションファブリックのパフォーマンスを示すデータを報告し得る。特定の実施形態では、第1のアプリケーショントラフィックの監視に基づく統計または報告は、第2のアプリケーションファブリックの監視に基づく統計または報告から分離され得る。特定の実施形態では、統計または報告は、組み合わされ得、アプリケーションファブリック識別子をデータに含めて、第1のアプリケーションファブリックまたは第2のアプリケーションファブリックのいずれかに関連する情報をフィルタリングすることを可能にし得る。特定の実施形態では、ステップ590は、(図3のステップ390と同様に)監視されたトラフィックに基づいて第1のアプリケーションファブリックおよび第2のアプリケーションファブリックを制御することを含む。第1のアプリケーションファブリックおよび第2のアプリケーションファブリックは、それぞれのトラフィックに基づいて別々に制御され得る。一例として、データが、第1のアプリケーションが大きすぎるレイテンシを経験していたことを示す場合は、第1のアプリケーションファブリックのルーティングポリシーが更新され得るが、データが、第2のアプリケーションが許容可能なレイテンシを経験していたことを示す場合は、第2のアプリケーションファブリックのルーティングポリシーを必ずしも更新する必要はないであろう。ステップ580および590は、マネージャ110および/またはコントローラ120によって実行され得る。
【0040】
図6は、SD-WAN内で関心のあるアプリケーションのアプリケーションファブリックを構築するフローチャートの一例を例解する。図2図6を参照すると、この方法は、SD-WANのコントローラによって実行され得(例えば、コントローラは、図2図5のマネージャ110およびコントローラ120のいずれかまたは両方であり得る)、ここで、コントローラは、コンピューティングシステムに含まれ、関心のある特定のアプリケーションのアプリケーションファブリックを構築するためのプロセスを実行するように構成されている。一実施形態では、コントローラは、(ステップ610において)SD-WANの複数のエッジルータに第1のプロファイルを提供するように構成されている。エッジルータは、複数のデバイスをSD-WANにインターフェースするように動作可能であり、第1のプロファイルは、複数のエッジルータが、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にし得る。ステップ620において、コントローラは、エッジルータのうちの1つ以上から、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報を受信するように構成されている。ステップ630において、コントローラは、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報に基づいて第1のアプリケーションファブリックを構築するように構成されており、第1のアプリケーションファブリックは、第1のアプリケーションに関連するメッセージを通信するように動作可能なSD-WANの一部分に対応する。
【0041】
特定の実施形態では、インテントベースのアプリケーションファブリックの構築に関連する記述および要件は、以下のプロセス(またはステップ)を考慮して以下に提示される:(1)アプリケーション発見、(2)アプリケーションファブリック構築、(3)アプリケーション監視、(4)アプリケーション制御および経験。
【0042】
ステップ1:アプリケーション発見
本開示の特定の実施形態によるアプリケーション発見は、ビジネスクリティカルなアプリケーションがホストされているサイト(例えば、図1および図2のエンドポイントまたはエッジルータ)を識別し、サイト間のユーザ会話/セッションを追跡し、リアルタイム監視ビューとともにこの情報に基づいてアプリケーションファブリック(例えば、インテントベースのアプリケーションファブリック)を構築するための、技術的命令を実行することである。特定の実施形態は、アプリケーションファブリックを必要とする1つ以上のアプリケーションが、以下のように、技術的機能、命令、または能力を実行することを可能にする。
a)アプリケーションは、産業/バーティカルまたはユースケースに基づいて自動的に選択することができる、
b)アプリケーションは、{プロトコル、ポート}のように、顧客によって静的に定義することができる、
c)アプリケーションは、事前定義されたリストから選択することができる、
d)アプリがブランチ(またはエッジルータ)内のENCSプラットフォームにインストールされているとき、アプリケーションは、特別な「ファブリックオプション」を選択していることが可能である。
【0043】
アプリケーション(例えば、図2に関連する説明に提示された「遠隔手術」の特定のアプリケーション)が選択されると、この情報は、SD-WANの管理コントローラ(例えば、図1および2に示されるマネージャ110)によって、顧客の要望に応じて、すべてのサイトまたは特定のサイトに伝播される。特定のサイトは、顧客が、選択されたサイトにおいてのみ、例えば、Webexを最適化することに関心があるとき、関連する。
【0044】
エッジデバイスは、既存のアプリケーション識別モジュール(NBAR2、Cosmos)を利用してトラフィックを監視し、ファブリックリストにおいて選択されたアプリケーションと照合する。一致する場合、アプリケーションメタデータがサイトにおいて収集され、{サイト、フロー情報-src、dst、トンネル、時間、ボリューム、パフォーマンス}を含むスマートコントローラ(例えば、Controllers/vSmart)においてアドバタイズされる。アプリケーション署名は、多くのエッジデバイス上に展開されることがあり、ここで、一部のエッジデバイスは、アプリケーショントラフィックがそのエッジデバイス上で見られないか、または管理者が何らかのポリシーを通して除外していないことがあるため、まだアプリケーションファブリックの一部ではないことがある。
【0045】
ENCSブランチの場合:顧客がアプリケーションを様々なサイトにインストールするときに、vManageにおいてアプリケーションファブリックオプションが選択された仮想プラットフォーム上で、ファブリックポリシーがプッシュされ、NBAR2/SD-AVCを使用して、アプリケーションメタデータが、アプリがホストされているサイトからアドバタイズされる。
【0046】
ステップ2:アプリケーションファブリック構築
アプリケーションメタデータは、プロトコル拡張としてOMP(Overlay Management Protocol)プロトコルを介してアドバタイズされ、そこで、vSmartなどのコントローラによって、上記アプリケーションのためにサイトにわたってアプリケーションオーバーレイを構築することができる。サイトにおいてホストされる各アプリケーションには、別々のオーバーレイファブリックがあり、それ自体の帯域幅およびQoSが必要である。これらのアプリ要件は、vManage上に事前構成されているため、このアプリケーションをホストするすべてのサイトは、アプリケーションファブリックの必要性を認識する。
【0047】
自動アプリケーション発見が選択されるときに、特定のカテゴリに属するアプリケーションは、例えば、WebEx、Skype、Zoomなどを含み得る「企業コミュニケーションアプリケーション」のようにグループ化され得、ファブリックはまた、個別のアプリファブリックビューを有し、すなわち、WebExファブリックのみを私に示す。必要な場合、アプリケーションは、上記アプリケーションのサイト間に動的トンネルを構築することができる。コントローラによってアプリケーションファブリックが構築されると、「明日の午前10時00分から午後12時00分の時間まで、サイト、例えば、1、2、3にわたって、このアプリケーションのためにBWを予約する」のようなアプリケーションファブリック固有のポリシーを簡単にプッシュすることができる。
【0048】
ステップ3:アプリケーション監視
一定のvAnalytics(すなわち、ビデオコラボレーション用の主要な分析アプリケーション)監視は、オーバーレイ上のアプリケーショントポロジが、ファブリックオーバーレイ内で満たされる最小要件を有するかどうかを示すであろう。要件が満たされていない場合、サイト全体のアプリケーションのパフォーマンスは最適ではなくなり、アプリケーション優先順位およびBW予約のような必要な回復アクションを提供すべきである。アプリケーションパケットのドロップが目撃されるケースが発生すると、そのようなケースでは、そのアプリケーションの経路に沿ったサイト間のIPSECトンネル上のより多くの帯域幅を予約するかまたは割り当てることが可能になる。
【0049】
アプリケーションの監視は、アプリファブリックSLAを満たすかどうかに応じて行われる。サイトにわたってホストされる必要がある、より新しいアプリケーションは、最初にSD-WANコントローラに相談し、アプリケーション要件を満たすのに十分な帯域幅がSD-WANオーバーレイ上で利用可能かどうかを判定する。顧客が関心を持っているアプリケーションの監視は、可視性を目的として、非アプリケーションファブリックエッジデバイスにおいて行われ得る。
【0050】
ステップ4:アプリケーション制御および経験
例示的な方法およびシステムは、以下のように、アプリケーション経験に関連する技術的機能または命令を実行することになる。
【0051】
(i)「遠隔手術」アプリケーションの場合、手術の期間中に中断がないように、リアルタイムQoS保証を備えた信頼性の高いビデオおよび音声サービスをネットワーク内に提供する必要性がある。これを達成するには、帯域幅を予約し、期間中の特定のアプリケーショントランザクションにエンタープライズグレードのQoSを提供し、優れたアプリケーション応答時間を提供する能力が必要である。これは、特定のケースでは、BWリソースの競合があるとき、上記アプリケーションのトランザクション/会話/セッションの期間中に、他のトラフィックの優先順位を下げることによっても達成することができる。(ii)アプリケーショントラフィックのタイプに基づくアプリケーションファブリック全体のオンデマンド帯域幅予約は、顧客にとって非常に魅力的である(トランザクション/バルク/リアルタイム/会話)。
【0052】
アプリケーション経験は、例示的な方法およびシステムによって実行され、特定のケースでは粒状レベルで達成することができる。例えば、ビデオ会議は、多くのユーザグループによって使用されているが、アプリケーションファブリック監視に基づいて、特定のユーザグループの優先順位を上げる必要がある場合は、「SGT」ベースのポリシーをアプリケーションファブリック用に作成することができる。例えば、「医師/手術室のビデオ会議セッション」は、スタッフ会議の他のビデオ会議よりも優先順位が高い。
【0053】
例示的な方法およびシステムは、以下のように、アプリケーション制御に関連する技術的機能または命令も実行することになる。
(i)アプリケーション更新をすべての関連サイトにプッシュする能力は、帯域幅を大量に消費する動作になり得、インテント(ソフトウェア配信、アプリ配信など)を満たすための帯域幅の可用性を識別することは、SDWANコントローラが、上記動作のために、予約された帯域幅を用いてトンネルを作成することを意味し、これは、オンデマンドで実行することも、アプリケーションファブリックを介して収集されたアプリケーション監視データに基づいてスケジュールすることもできる。他の更新は、ウイルススキャンソフトウェアのアップグレード、Microsoft officeのアップグレード、バックアップ/復元ソフトウェアの更新を含む。
(ii)ポリシーは、vManage(例えば、図2のマネージャ110)において作成し、vSmart(例えば、図2のコントローラ120)を介して関連サイトに伝播することができる。これらのポリシーは、必要な期間の間、SD-WANオーバーレイ上のBWおよびQoSリソースを予約する能力を有する。
【0054】
いくつかの実施形態では、コンピューティングシステムは、ユーザの選好に基づいて1つ以上のアプリケーションを定義することと、1つ以上のアプリケーションを含む事前定義されたリストを提供することと、事前定義されたリストから特定のアプリケーションを選択することと、特定のアプリケーションが1つ以上のファブリックオプションを選択することを可能にすることと、を行うように構成された1つ以上のエンドデバイス(またはブランチデバイス、もしくはエッジルータ)を備える。コンピューティングシステムは、特定のアプリケーションを選択するための情報を1つ以上の特定のサイトに伝播するように構成された第1のコントローラをさらに備える。コンピューティングシステムは、特定のサイト全体で特定のアプリケーションのアプリケーションオーバーレイを構築し、特定のアプリケーションのメタデータを1つ以上のブランチデバイスにアドバタイズするように構成された第2のコントローラをさらに備える。コンピューティングシステムは、トラフィック(このトラフィックは、ファブリックリスト内で選択されたアプリケーションに対する)を観測し、特定のアプリケーションのメタデータを収集するように構成された1つ以上のエッジデバイスをさらに備える。コンピューティングシステムは、アプリケーション発見を実行して、1つ以上のエンドポイントを識別し、エンドポイント間で確立されたセッションを追跡するための第1のプロセスと、識別されたエンドポイントおよび追跡されたセッションに関する情報に基づいてアプリケーションファブリック構築を実行するための第2のプロセスと、ソフト定義ネットワークシステム内のファブリックオーバーレイの所定の要件に基づいてアプリケーション監視を実行するための第3のプロセスと、サービス品質(QoS)の程度を判定し、アプリケーショントラフィックのタイプに基づいて要求帯域幅を予約することによって、アプリケーション制御および経験を実行するための第4のプロセスと、を含む、1つ以上のプロセスを実行する。
【0055】
図7は、特定の実施形態による、コンピューティングシステム700の構成要素の一例を例解する。特定の実施形態では、コンピューティングシステム700は、マネージャ110、コントローラ120、エッジルータ(例えば、131~138もしくは231~238)、エンドデバイス、または本明細書に開示される機能を実行するための他の好適なコンピューティングシステムとして実装され得る。特定の実施形態では、1つ以上のコンピュータシステム700は、本明細書に記載または例解されている1つ以上の方法の1つ以上のステップを実行する。特定の実施形態では、1つ以上のコンピュータシステム700は、本明細書で記載または例解されている機能を提供する。特定の実施形態では、1つ以上のコンピュータシステム700上で実行されるソフトウェアは、本明細書に記載もしくは例解されている1つ以上の方法の1つ以上のステップを実行するか、または本明細書に記載もしくは例解されている機能を提供する。特定の実施形態は、1つ以上のコンピュータシステム700の1つ以上の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、逆もまた同様である。さらに、コンピュータシステムへの言及は、適切な場合、1つ以上のコンピュータシステムを包含し得る。
【0056】
本開示は、任意の好適な数のコンピュータシステム700を企図している。本開示は、任意の好適な物理的形態を採るコンピュータシステム700を企図している。限定としてではなく例として、コンピュータシステム700は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタント(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、またはこれらのうちの2つ以上の組み合わせであり得る。適切な場合、コンピュータシステム700は、1つ以上のコンピュータシステム700を含むか、単一もしくは分散であるか、複数の場所にまたがるか、複数のマシンにまたがるか、複数のデータセンターにまたがるか、または1つ以上のネットワーク内に1つ以上のクラウド構成要素を含み得るクラウド内に存在し得る。適切な場合、1つ以上のコンピュータシステム700は、実質的な空間的または時間的制限なしに、本明細書に記載または例解されている1つ以上の方法の1つ以上のステップを実行し得る。限定としてではなく、一例として、1つ以上のコンピュータシステム700は、本明細書に記載または例解されている1つ以上の方法の1つ以上のステップをリアルタイムまたはバッチモードで実行し得る。1つ以上のコンピュータシステム700は、適切な場合、本明細書に記載または例解されている1つ以上の方法の1つ以上のステップを、異なる時間または異なる場所において実行し得る。
【0057】
特定の実施形態では、コンピュータシステム700は、1つ以上のプロセッサ702、メモリ704、ストレージ706、入力/出力(I/O)インターフェース708、通信インターフェース710、および/またはバス712を含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを記載および例解するが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【0058】
特定の実施形態では、プロセッサ702は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。限定としてではなく、一例として、命令を実行するために、プロセッサ702は、内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706から命令を取り出し(またはフェッチし)、それらをデコードして実行し、次に、1つ以上の結果を、内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706に書き込み得る。特定の実施形態では、プロセッサ702は、データ、命令、またはアドレスのための1つ以上の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ702を企図する。限定としてではなく、一例として、プロセッサ702は、1つ以上の命令キャッシュ、1つ以上のデータキャッシュ、および1つ以上のトランスレーションルックアサイドバッファ(TLB)を含み得る。命令キャッシュ内の命令は、メモリ704またはストレージ706内の命令のコピーであり得、命令キャッシュは、プロセッサ702によるそれらの命令の取り出しを高速化し得る。データキャッシュ内のデータは、プロセッサ702において実行される命令が動作するためのメモリ704またはストレージ706内のデータのコピーであるか、プロセッサ702において実行される後続の命令によるアクセスのために、またはメモリ704もしくはストレージ706への書き込みのために、プロセッサ702において実行された前の命令の結果であるか、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ702による読み取りまたは書き込み動作を高速化し得る。TLBは、プロセッサ702の仮想アドレス変換を高速化し得る。特定の実施形態では、プロセッサ702は、データ、命令、またはアドレスのための1つ以上の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ702を企図する。適切な場合、プロセッサ702は、1つ以上の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つ以上のプロセッサ702を含み得る。本開示は、特定のプロセッサを記載および例解しているが、本開示は、任意の好適なプロセッサを企図する。
【0059】
特定の実施形態では、メモリ704は、プロセッサ702が実行するための命令、またはプロセッサ702が動作するためのデータを記憶するためのメインメモリを含む。限定としてではなく、一例として、コンピュータシステム700は、ストレージ706または別のソース(例えば、別のコンピュータシステム700など)からメモリ704に命令をロードし得る。次に、プロセッサ702は、メモリ704から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ702は、内部レジスタまたは内部キャッシュから命令を取り出し、それらをデコードし得る。命令の実行中または実行後に、プロセッサ702は、(中間または最終結果であり得る)1つ以上の結果を内部レジスタまたは内部キャッシュに書き込み得る。次に、プロセッサ702は、それらの結果のうちの1つ以上をメモリ704に書き込み得る。特定の実施形態では、プロセッサ702は、(ストレージ706または他の場所とは対照的に)1つ以上の内部レジスタもしくは内部キャッシュまたはメモリ704内の命令のみを実行し、(ストレージ706または他の場所とは対照的に)1つ以上の内部レジスタもしくは内部キャッシュまたはメモリ704内のデータのみに対して動作する。(各々がアドレスバスおよびデータバスを含み得る)1つ以上のメモリバスは、プロセッサ702をメモリ704に結合し得る。バス712は、以下に説明するように、1つ以上のメモリバスを含み得る。特定の実施形態では、1つ以上のメモリ管理ユニット(MMU)が、プロセッサ702とメモリ704との間に存在し、プロセッサ702によって要求されるメモリ704へのアクセスを容易にする。特定の実施形態では、メモリ704は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。さらに、適切な場合、このRAMは、シングルポートまたはマルチポートのRAMであり得る。本開示は、任意の好適なRAMを企図している。メモリ704は、適切な場合、1つ以上のメモリ704を含み得る。本開示は、特定のメモリを記載および例解しているが、本開示は、任意の好適なメモリを企図する。
【0060】
特定の実施形態では、ストレージ706は、データまたは命令のための大容量ストレージを含む。限定としてではなく、一例として、ストレージ706は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、磁気光学ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つ以上の組み合わせを含み得る。ストレージ706は、適切な場合、取り外し可能または取り外し不可能な(もしくは固定された)媒体を含み得る。ストレージ706は、適切な場合、コンピュータシステム700の内部または外部にあってもよい。特定の実施形態では、ストレージ706は、不揮発性のソリッドステートメモリである。特定の実施形態では、ストレージ706は、読み取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的変更可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つ以上の組み合わせであり得る。本開示は、任意の好適な物理的形態を採る大容量ストレージ706を企図している。ストレージ706は、適切な場合、プロセッサ702とストレージ706との間の通信を容易にする1つ以上のストレージ制御ユニットを含み得る。適切な場合、ストレージ706は、1つ以上のストレージ706を含み得る。本開示は、特定のストレージを記載および例解しているが、本開示は、任意の好適なストレージを企図する。
【0061】
特定の実施形態では、I/Oインターフェース708は、ハードウェア、ソフトウェア、またはそれらの両方を含み、コンピュータシステム700と1つ以上のI/Oデバイスとの間の通信のための1つ以上のインターフェースを提供する。コンピュータシステム700は、適切な場合、これらのI/Oデバイスのうちの1つ以上を含み得る。これらのI/Oデバイスのうちの1つ以上は、人とコンピュータシステム700との間の通信を可能にし得る。限定としてではなく、一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つ以上の組み合わせを含み得る。I/Oデバイスは、1つ以上のセンサを含み得る。本開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース708を企図している。適切な場合、I/Oインターフェース708は、プロセッサ702がこれらのI/Oデバイスのうちの1つ以上を駆動することを可能にする、1つ以上のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース708は、適切な場合、1つ以上のI/Oインターフェース708を含み得る。本開示は、特定のI/Oインターフェースを記載および例解しているが、本開示は、任意の好適なI/Oインターフェースを企図する。
【0062】
特定の実施形態では、通信インターフェース710は、コンピュータシステム700と、1つ以上の他のコンピュータシステム700または1つ以上のネットワークとの間の通信(例えば、パケットベースの通信など)のための1つ以上のインターフェースを提供するハードウェア、ソフトウェア、またはそれらの両方を含む。特定の実施形態では、通信インターフェース710は、コンピュータシステム700と、マネージャ110、コントローラ120、エッジルータ(例えば、131~138もしくは231~238)、またはエンドデバイスとの間の通信を容易にし得る。限定としてではなく、一例として、通信インターフェース710は、イーサネットまたは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)または無線アダプタを含み得る。本開示は、任意の好適なネットワーク、およびそれのための任意の好適な通信インターフェース710を企図している。限定としてではなく、一例として、コンピュータシステム700は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つ以上の部分、あるいはこれらのうちの2つ以上の組み合わせと通信し得る。これらのネットワークのうちの1つ以上の1つ以上の部分は、有線または無線であり得る。一例として、コンピュータシステム700は、無線PAN(WPAN)(例えば、BLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、もしくは5Gネットワークなど)、または他の好適な無線ネットワーク、あるいはこれらのうちの2つ以上の組み合わせと通信し得る。コンピュータシステム700は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース710を含み得る。通信インターフェース710は、適切な場合、1つ以上の通信インターフェース710を含み得る。本開示は、特定の通信インターフェースを記載および例解しているが、本開示は、任意の好適な通信インターフェースを企図する。
【0063】
特定の実施形態では、バス712は、コンピュータシステム700の構成要素を互いに結合するハードウェア、ソフトウェア、またはそれらの両方を含む。限定としてではなく、一例として、バス712は、アクセラレーテッドグラフィックスポート(AGP)もしくは他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、低ピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオ電子装置標準化協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つ以上の組み合わせを含み得る。バス712は、適切な場合、1つ以上のバス712を含み得る。本開示は、特定のバスを記載および例解しているが、本開示は、任意の好適なバスまたは相互接続を企図する。
【0064】
本明細書では、1つ以上のコンピュータ可読非一時的記憶媒体は、適切な場合、1つ以上の半導体ベースもしくは他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、磁気光学ディスク、磁気光学ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、SECURE DIGITALカードもしくはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、またはこれらのうちの2つ以上の任意の好適な組み合わせを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組み合わせであり得る。
【0065】
要約すると、一実施形態では、方法は、SD-WANの複数のエッジルータに第1のプロファイルを提供することを含み、複数のエッジルータは、複数のデバイスをSD-WANにインターフェースするように動作可能である。第1のプロファイルは、複数のエッジルータが、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを発見することを可能にする。この方法は、エッジルータのうちの1つ以上から、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報を受信することと、複数のデバイスのうちのどのデバイスが第1のアプリケーションをサポートするかを示す情報に基づいて第1のアプリケーションファブリックを構築することと、を含む。
【0066】
本開示の特定の実施形態は、1つ以上の技術的利点を提供し得る。特定の実施形態の技術的利点は、SD-WANのどの部分が特定のアプリケーションをサポートするかに応じて、異なるアプリケーションのために異なるアプリケーションファブリックオーバーレイを構築することを可能にする。例えば、第1のアプリケーションファブリックオーバーレイ(図1に示されるものなど)は、第1のアプリケーションに使用され得、第2のアプリケーションファブリックオーバーレイ(図2に示されるものなど)は、第2のアプリケーションに使用され得、第3のアプリケーションファブリックオーバーレイ(図4に示されるものなど)は、第3のアプリケーションに使用され得、任意の好適な数のアプリケーションについて以下同様である。各アプリケーションファブリックオーバーレイは、トポロジに依存せず、オーバーレイは、すべてのサイトにアクセスする必要はない。一例として、一実施形態では、第1のアプリケーションは、キャンパスの監視のために接続されたビデオカメラが第1のアプリケーションファブリックオーバーレイの一部となるような監視アプリケーションに対応し得、第2のアプリケーションは、HIPAA準拠デバイスが第2のアプリケーションファブリックオーバーレイの一部となるようなヘルスケアアプリケーションに対応し得、第3のアプリケーションは、リアルタイムコラボレーションソフトウェアがそれ自体の(第3の)アプリケーションファブリックオーバーレイとなるようなリアルタイムコラボレーションアプリケーションに対応し得る。他の実施形態は、追加のアプリケーションまたは異なるアプリケーションのためのアプリケーションファブリックオーバーレイを構築し得る。特定の実施形態は、これらの利点のすべて、一部を含むか、またはまったく含まない場合がある。他の技術的利点は、当業者によって理解されるであろう。
【0067】
本開示の範囲は、当業者が理解するであろう本明細書に記載または例解されている例示的な実施形態に対する、すべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書に記載または例解されている例示的な実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして記載および例解しているが、これらの実施形態のいずれも、当業者が理解するであろう本明細書の随所に記載または例解されている構成要素、要素、特徴、機能、動作、またはステップのいずれかの任意の組み合わせまたは順列を含み得る。さらに、添付の特許請求の範囲における、特定の機能を実行するように適合され、配置され、可能にされ、構成され、有効化され、動作可能であり、または操作可能である装置もしくはシステム、または装置もしくはシステムの構成要素への言及は、それまたはその特定の機能がアクティブ化されるか、オンにされるか、またはロック解除されるかどうかにかかわらず、その装置、システム、または構成要素がそのように適合され、配置され、可能にされ、構成され、有効化され、動作可能であり、または操作可能である限り、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして記載または例解しているが、特定の実施形態は、これらの利点をまったく提供しないか、またはそれの一部、もしくはすべてを提供する場合がある。
図1
図2
図3
図4
図5
図6
図7