JP2017059991A - ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム - Google Patents

ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム Download PDF

Info

Publication number
JP2017059991A
JP2017059991A JP2015183098A JP2015183098A JP2017059991A JP 2017059991 A JP2017059991 A JP 2017059991A JP 2015183098 A JP2015183098 A JP 2015183098A JP 2015183098 A JP2015183098 A JP 2015183098A JP 2017059991 A JP2017059991 A JP 2017059991A
Authority
JP
Japan
Prior art keywords
virtual
group
network
termination point
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015183098A
Other languages
English (en)
Inventor
仁史 藪崎
Hitoshi Yabusaki
仁史 藪崎
順史 木下
Yorifumi Kinoshita
順史 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015183098A priority Critical patent/JP2017059991A/ja
Publication of JP2017059991A publication Critical patent/JP2017059991A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】不要なBUM通信を抑制すること。【解決手段】ネットワークを介して接続される転送装置群の各転送装置を制御して、当該各転送装置間を通信可能に接続する仮想終端点を設定するネットワーク制御装置は、グループ情報と仮想ネットワーク情報とを記憶する記憶デバイスを有し、仮想ネットワーク情報を参照して、設定対象の仮想ネットワークの接続先の転送装置を特定し、グループ情報を参照して、接続先の転送装置を含む仮想終端点グループを割当候補として特定し、グループ情報を参照して、割当候補の中から、転送装置の組み合わせにおける転送装置の数が最小または所定のしきい値以下となる特定の仮想終端点グループを割当グループに決定し、グループ情報を参照して、割当グループを構成する転送装置の組み合わせの各転送装置が有する仮想終端点に、設定対象の仮想ネットワークを設定する処理を実行する。【選択図】図10

Description

本発明は、ネットワークを制御するネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラムに関する。
近年、クラウドやサーバ仮想化の進展に伴い、VLAN(Virtual Local Area Network)等で構成されるブロードキャストドメインを物理的な空間に跨って構築する事例が増えている。ここで、物理的な空間とは、例えば、データセンタやデータセンタのフロア、企業拠点等である。このような事例では、物理的な空間を繋ぐネットワークに、ブロードキャストパケット(Broadcast packet)、アンノウンパケット(Unknown unicast packet)、および、マルチキャストパケット(Multicast Packet)(以下、これらの頭文字をとってBUMと呼ぶ。)が流れ、他の通信の帯域を圧迫してしまう。
ブロードキャストドメインを物理的な空間に跨って繋ぐ方法には、たとえば、VxLAN(Virtual eXtensible Local Area Network)、MPLS(Multi−ProtocolLabel Switching)、OTV(Overlay Transport Virtualization)、NVGRE(Network Virtualization Generic Routing Encapsulation)がある。
BUMは、受信する必要のない宛先にも送信される。BUMが、その宛先までのネットワーク内のルータやスイッチ、物理回線の通信帯域を消費した後、宛先で廃棄される。物理回線における通信帯域の消費により、他のパケットによる通信帯域が圧迫してしまい、通信品質や性能を劣化させる。
特許文献1は、アウトオブプロファイルなマルチキャストフレームのマルチキャストフラッディングを抑制するネットワーク装置についての機構を開示する。当該機構は、ブロードキャストドメインの一部であるポートのサブセットを含むマルチキャストフラッドドメインを定義することにより提供される。特許文献1の機構は、マルチキャストパケットのヘッダ部分を解析し、マルチキャストデータベースを参照することによってBUM通信量の抑制を試みる。
米国特許第7599367号明細書
特許文献1の機構は、学習可能なマルチキャストパケットや対向デバイス数がネットワーク装置内のマルチキャストデータベースのサイズに依存するため、ネットワーク装置数やマルチキャストパケット数が多い大規模なネットワークシステムやマルチキャストデータベースに用いるメモリ使用量を確保できないネットワーク装置には適用することができない。また、特許文献1の機構は、マルチキャストパケットに対応しないネットワーク装置には適用することができない。
近年、ネットワーク装置の開発コスト削減を目的に、ネットワーク装置専用のLSI(Large Scale Integration)を用いずに、汎用LSIを用いて開発される傾向が高まっている。その結果、特許文献1に示されるようなネットワーク装置に特殊な実装を施すことはネットワーク装置の開発コスト削減の観点から難しくなっている。そのため、上記のようなBUM通信量削減の為の機能を備えないネットワーク装置に対してもBUM通信量を抑制できるネットワーク制御装置が必要になっている。
本発明は、不要なBUM通信を抑制することを目的とする。
本願において開示される発明の一側面となるネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラムは、ネットワークを介して接続される転送装置群の各転送装置を制御して、当該各転送装置間を通信可能に接続する仮想終端点を設定するネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラムであって、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、前記記憶デバイスは、グループ情報と仮想ネットワーク情報とを記憶しており、前記グループ情報は、前記転送装置の組み合わせと、当該組み合わせの各々が有する前記仮想終端点と、を関連付けた仮想終端点グループを規定する情報であり、前記仮想ネットワーク情報は、前記転送装置群のうち仮想ネットワークに接続されるべき接続先の転送装置と、前記接続先の転送装置を含む仮想終端点グループ候補と、を関連付けた仮想ネットワークを規定する情報であり、前記プロセッサは、前記仮想ネットワーク情報を参照して、設定対象の仮想ネットワークの前記接続先の転送装置を特定する第1の特定処理と、前記グループ情報を参照して、前記第1の特定処理によって特定された前記接続先の転送装置を含む仮想終端点グループを割当候補として特定する第2の特定処理と、前記グループ情報を参照して、前記第2の特定処理によって特定された前記割当候補の中から、前記転送装置の組み合わせにおける前記転送装置の数が最小または所定のしきい値以下となる特定の仮想終端点グループを割当グループに決定する第1の決定処理と、前記グループ情報を参照して、前記第1の決定処理によって決定された前記割当グループを構成する前記転送装置の組み合わせの各転送装置が有する仮想終端点に、前記設定対象の仮想ネットワークを設定する第1の設定処理と、を実行することを特徴とする。
本開示によれば、不要なBUM通信を抑制することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1におけるネットワークシステムのシステム構成例を示すブロック図である。 BUM通信の抑制機能の適用前のデータ通信を示す説明図である。 BUM通信の抑制機能の適用後のデータ通信を示す説明図である。 本実施例にかかるネットワーク制御装置の機能的構成例を示すブロック図である。 トンネルエンドポイントグループ情報テーブルの記憶内容例を示す説明図である。 仮想ネットワーク情報テーブルの記憶内容例を示す説明図である。 エッジノードリソース情報テーブルの記憶内容例を示す説明図である。 通信情報テーブルの記憶内容例を示す説明図である。 本実施例にかかる仮想ネットワークの設定シーケンス例を示す説明図である。 図9に示した割当TEPG決定処理(ステップS905)の詳細な処理手順例を示すフローチャートである。 割当TEPG決定処理(ステップS905)による更新後の仮想ネットワーク情報テーブルの記憶内容例を示す説明図である。 図9に示した仮想ネットワーク設定処理(ステップS906)の詳細な処理手順例を示すフローチャートである。 本実施例にかかるトンネルエンドポイントグループの最適化シーケンス例を示す説明図である。 図11に示したTEPG最適化処理(ステップS1302)の詳細な処理手順例を示すフローチャートである。 図14に示したトンネルエンドポイントグループの接続構成変更処理(ステップS1405)の詳細な処理手順例を示すフローチャートである。 図13に示した割当TEPG決定処理(ステップS1304)の詳細な処理手順例を示すフローチャートである。
以下、図面を用いて本実施例について説明する。なお、図面中の符号において、同種の構成要素が複数存在する場合は、「エッジノード700−1〜700−4」のように、共通の符号(この場合は「700」)に枝番を付ける。ただし、同種の構成要素の各々を区別しない場合は、単に、「エッジノード700」のように枝番を省略する。
<ネットワークシステムのシステム構成例>
図1は、実施例1におけるネットワークシステムのシステム構成例を示すブロック図である。ネットワークシステム1は、ネットワーク制御装置100、ローカルエリアネットワーク(LAN)310、ワイドエリアネットワーク(WAN)320、サーバ400、トンネルエンドポイント500、ネットワークアプリケーション600、および、エッジノード700を備える。また、ネットワークシステム1の少なくとも一部は、仮想的に実装されてもよい。また、ネットワーク制御装置100は、一または複数のエッジノード700内に配置されてもよい。ネットワークアプリケーション600は、サーバ400内に配置されていても良い。ネットワーク制御装置100は、エッジノード700とトンネルエンドポイント500とを制御する計算機である。ネットワーク制御装置100については図4を用いて後述する。
LAN310は、エッジノード700とサーバ400とを繋ぐネットワークであり、テナント毎に論理的に分けられる。なお、テナントとは、一または複数のアプリケーションを構成するアプリケーションシステムである。たとえば、データセンタを利用する企業毎に一つのテナントが構成される。LAN310は、たとえば、VLANで構成される。
WAN320は、エッジノード700間を繋ぐネットワークであり、例えば、キャリアネットワークのような広域網や、広域網に限らず、データセンタ間ネットワーク、データセンタのフロア間を繋ぐネットワークが挙げられる。WAN320のプロトコルは、例えば、ネイティブなIP(Internet Protocol)通信、MPLS、GMPLS(Generalized MPLS)、PBB−TE(Provider Backbone Bridge Traffic Engineering)を含む。
サーバ400は、データ処理機能を動作させる計算機であり、プロセッサやメモリ、ストレージを備える。なお、データ処理機能とは、データ処理を行うプログラムであり、例えば、ウェブサーバやアプリケーションサーバ、DB(Data Base)サーバのようなプログラムが挙げられる。データ処理機能は、VM(Virtual Machine)として実現されてもよい。
トンネルエンドポイント500は、エッジノード700間を繋ぐ仮想ネットワークを終端する論理的な仮想終端点である。トンネルエンドポイント500のプロトコルは、例えば、VxLAN、NVGRE(Network Virtualization Generic Routing Encapsulation)を含む。本実施例では、VxLANを終端するトンネルエンドポイント500を例にして説明する。トンネルエンドポイント500は、例えば、VTEP(VxLAN Tunnel Endpoint)やループバックインタフェースを含む。
ネットワークアプリケーション600は、エッジノード700に対する設定をネットワーク制御装置100に要求する。ネットワークアプリケーション600は、たとえば、ネットワークやサーバ、ストレージを包括的に管理する管理システムや、テナントのアプリケーション管理システムを含む。
エッジノード700は、一組のLAN310とWAN320とをトンネルエンドポイント500で繋ぐ転送装置である。エッジノード700は、一または複数の通信装置やサーバで構成される。エッジノード700は、ネットワーク制御装置100からの要求に応じて、エッジノード700の中にトンネルエンドポイント500を追加、削除したり、接続先のサーバ400を変更する機能を有する。
<BUM通信の抑制機能適用前後のデータ通信例>
図2は、BUM通信の抑制機能の適用前のデータ通信を示す説明図であり、図3は、BUM通信の抑制機能の適用後のデータ通信を示す説明図である。図2および図3についての前提を説明する。図2および図3は、サーバ400−1,400−2および400−4が互いに通信するネットワーク構成を想定する。トンネルエンドポイント500間を仮想ネットワークであるVxLANを介して、サーバ400とトンネルエンドポイント500間がVLANで接続されるものとする。
この場合、トンネルエンドポイント500−1,500−2,500−4にはVNI(Visual Networking Index:VxLANの識別子)として「VNI1」が設定される。サーバ400−1とトンネルエンドポイント500−1間には「VLAN1」が設定される。サーバ400−2とトンネルエンドポイント500−2間には「VLAN1」が設定される。サーバ400−4とトンネルエンドポイント500−4間には「VLAN1」が設定される。図2および図3中、太矢印は、BUMの流れ(BUM通信)である。
図2において、サーバ400−1が、たとえば、ARPリクエストのようなBUMを配信すると、トンネルエンドポイント500−1がトンネルエンドポイント500−2,500−3,500−4にBUMを転送する。トンネルエンドポイント500−2,500−4には、VNI1およびVLAN1が設定されているため、トンネルエンドポイント500−2,500−4は、受信したBUMを配下のサーバ400−2,400−4に転送する。
他方、トンネルエンドポイント500−3にはVNI1が設定されていないため、トンネルエンドポイント500−3は、受信したBUMを廃棄する。トンネルエンドポイント500−3に転送されたBUMは、WAN320の通信帯域を消費した後に、トンネルエンドポイント500−3において廃棄される無駄なパケットである。ここで、注目すべき点は、トンネルエンドポイント500−3にはVNI1が設定されていない点である。すなわち、BUMが、VNI1で規定される仮想ネットワークが設定された範囲を超えて、VNI1が設定されていないエッジノード700−3に流れる。
これまで、BUMが広域網に流れるなどの問題点は指摘されてきたが、これらはサーバ400−4に送信されてしまうBUMの問題であり、従来のMPLSやPBB装置においては、仮想ネットワークVNI1が設定されていないエッジノード700−3にBUMが送信されることがなかった。しかし、近年、汎用OS(Operating System)を用いた装置開発が浸透する中で、今後、VNI1が設定されていないエッジノード700−3に対してもBUMが送信されてしまう問題が生じると予想される。本実施例は、VNI1が設定されていないエッジノード700−3宛に送信されるBUMを抑制することにより、BUMによるWAN320の通信帯域の消費を抑制する。
図3において、図2と同様、トンネルエンドポイント500−1は、相互に通信接続されたトンネルエンドポイント500に、たとえば、ARPリクエストのようなBUMを送信する。ここで、ネットワーク制御装置100が、各エッジノード700−1〜700−4に必要に応じて1つ以上のトンネルエンドポイント500を設定し、トンネルエンドポイント500間の通信接続を適切に設定する。例えば、ネットワーク制御装置100は、仮想ネットワークVNI1を構成するトンネルエンドポイント500−1,500−2,500−4を互いに接続させる。このように、相互に通信接続できるように設定されたトンネルエンドポイント500の集合をトンネルエンドポイントグループと呼ぶ。ここでは、トンネルエンドポイント500−1,500−2,500−4を第1のトンネルエンドポイントグループ(図3中、ハッチングで表記)とする。
また、必要であれば、ネットワーク制御装置100は、第2のトンネルエンドポイントグループ(例えば、トンネルエンドポイント500−3,500−5,500−6を繋ぐトンネルエンドポイントグループ)を設定する。この場合、第2のトンネルエンドポイントグループを構成するトンネルエンドポイント500−3,500−5,500−6には、VNI1とは別のVNIが付与されて、別の仮想ネットワークを構成する。
ネットワーク制御装置100は、サーバ400−1,400−2,400−4を繋ぐ仮想ネットワークVNI1を第1のトンネルエンドポイントグループに設定する。ネットワーク制御装置100は、第1のトンネルエンドポイントグループ内の各トンネルエンドポイント500−1,500−2,500−4とその配下のサーバ400−1,400−2,400−4とを接続してVLAN310−1,310−2,310−4を設定し、VLAN310−1,310−2,310−4同士を仮想ネットワークVNI1で接続する。
サーバ400−1がBUMを配信すると、トンネルエンドポイント500−1はトンネルエンドポイント500−2,500−4にBUMを転送する。トンネルエンドポイント500−2,500−4は配下のサーバ400−2,400−4にBUMを転送する。サーバ400−2は、BUMに含まれている宛先IPアドレスの一致により、BUMを受信する。また、サーバ400−4は、BUMに含まれている宛先IPアドレスの相違により、BUMを廃棄する。図3においては、トンネルエンドポイント500−1は、サーバ400−1からのBUMを、第1のトンネルエンドポイントグループに属さないトンネルエンドポイント500−3には送信しない(太点線矢印で表示)。
このように、ネットワーク制御装置100は、エッジノード700に複数のトンネルエンドポイント500を用意し、トンネルエンドポイント500がフルメッシュで繋がるトンネルエンドポイントグループを適切に生成、管理することによって不要なBUMの通信量を削減する。なお、あるエッジノード700に設定可能なトンネルエンドポイント500の数には上限があるため、ネットワーク制御装置100は、仮想ネットワークの接続構成や、各仮想ネットワークに流れるBUM通信量を踏まえて、トンネルエンドポイントグループを最適化する。
<ネットワーク制御装置100の機能的構成例>
図4は、本実施例にかかるネットワーク制御装置100の機能的構成例を示すブロック図である。ネットワーク制御装置100は、通信IF140、サービス受付部150、データ記憶部170、および、制御部110を有する。
通信IF140は、直接またはEMS(Element Management System)を介して、エッジノード700に対し、トンネルエンドポイント500、仮想ネットワーク(VxLAN)、VLAN(LAN310)を設定する。
サービス受付部150は、ネットワーク制御装置100に接続される管理端末(不図示)の操作画面を介して、トラフィックの通信経路やロールグループ間の通信経路が経由するネットワークファンクションの表示や上位のコントローラからの制御を受け付けるノースバンドインタフェースである。
制御部110は、データ記憶部170に保持される情報を参照し、トンネルエンドポイントグループの接続構成や仮想ネットワークを割り当てるトンネルエンドポイントグループを計算し、エッジノード700に指示する。制御部110は、トンネルエンドポイントグループ管理部111、エッジノード・トンネルエンドポイント設定部112、エッジノードリソース管理部113、通信量計測・分析部114、および、仮想ネットワーク管理部115を含む。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイント間の接続情報であるトンネルエンドポイントグループ情報を計算する。エッジノード・トンネルエンドポイント設定部112は、エッジノード700に送信する設定情報を生成する。エッジノードリソース管理部113は、エッジノード700が備えられる最大トンネルエンドポイント数や割当可能なトンネルエンドポイント数を管理する。通信量計測・分析部114は、仮想ネットワーク毎にエッジノード700に流れる通信量を計測し、図2のエッジノード700−3に流れたような不要なBUM通信量を計算する。仮想ネットワーク管理部115は、仮想ネットワークの接続構成を管理し、ネットワークアプリケーション600からの要求に応じて、仮想ネットワーク情報を生成する。
ネットワーク制御装置100は、プロセッサ、通信デバイス、揮発性の記憶デバイス(たとえば、RAM)、および、不揮発性の記憶デバイス(たとえば、フラッシュメモリ、ハードディスクドライブ)を備える計算機を用いて実現可能である。すなわち、制御部110は、ネットワーク制御装置100に備わる不揮発性の記憶デバイスに保持されたプログラムが、プロセッサによって揮発性または不揮発性の記憶デバイスにおいて実行されることによって、実現される。またこれらのプログラムは、あらかじめ不揮発性の記憶デバイスに格納されていてもよいし、ネットワークを介してまたは可搬型記憶媒体を介して外部装置から導入されても良い。
データ記憶部170は、制御部110によって情報を参照されたり、情報を更新されたりする。データ記憶部170は、ネットワーク制御装置100に備わる不揮発性の記憶デバイスに構築される。データ記憶部170は、トンネルエンドポイントグループ情報テーブル171、仮想ネットワーク情報テーブル172、エッジノードリソース情報テーブル173、および通信情報テーブル174を備える。
なお、上記テーブル171〜174を例に挙げて説明するが、必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
<テーブルの記憶内容例>
図5は、トンネルエンドポイントグループ情報テーブル171の記憶内容例を示す説明図である。トンネルエンドポイントグループ(TEPG)情報テーブル171は、トンネルエンドポイントグループ情報を記憶するテーブルである。トンネルエンドポイントグループ情報は、トンネルエンドポイントグループに関する情報である。トンネルエンドポイントグループは、相互に通信接続できるように設定されたトンネルエンドポイント500の集合である。トンネルエンドポイントグループ情報テーブル171は、トンネルエンドポイントグループ管理部111によって設定される。ネットワーク制御装置100は、トンネルエンドポイントグループ情報テーブル171を保持することによって、トンネルエンドポイント500間をフルメッシュで接続する構成だけでなく、様々な接続構成を管理する。
トンネルエンドポイントグループ情報テーブル171は、TEPG識別子フィールド501と、EN識別子フィールド502と、TEP識別子フィールド503と、割当仮想NW識別子フィールド504と、不要BUM通信量フィールド505と、を有し、各フィールドの値により、トンネルエンドポイントグループを特定するエントリであるトンネルエンドポイントグループ情報を構成する。
なお、以降の説明において、○○フィールドxxx(○○はフィールド名、xxxは符号)の値を、○○xxxと表記する。たとえば、TEPG識別子フィールド501の値を、TEPG識別子501と表記する。
TEPG識別子フィールド501は、値として、TEPG識別子501を格納する記憶領域である。TEPG識別子501は、トンネルエンドポイントグループを一意に特定する識別情報である。複数のトンネルエンドポイント500に跨る仮想ネットワークを設定する場合、当該複数のトンネルエンドポイント500は互いに通信接続できるように設定されていなければならない。なお、当該設定は、例えば、トンネルエンドポイント500がループバックインタフェースの場合、宛先のループバックインタフェースとして接続先すべきループバックインタフェースのIPアドレスが設定されることを示す。
EN識別子フィールド502は、値として、EN識別子502を格納する記憶領域である。EN識別子502は、エッジノード700を一意に特定する識別情報である。エッジノード700は、LAN310とWAN320を繋ぐ通信装置またはサーバである。たとえば、LAN310がデータセンタであり、WAN320がデータセンタ間を繋ぐ広域網である場合、エッジノード700はデータセンタのゲートウェイに相当し、複数の通信装置がスタックで構成される。たとえば、LAN310がKVMのような仮想環境であり、WAN320が仮想環境間を繋ぐネットワークである場合、エッジノード700は、仮想環境のゲートウェイに相当し、たとえば、ネットワークノードとして機能する複数のサーバで構成される。
TEP識別子フィールド503は、値として、TEP識別子503を格納する記憶領域である。TEP識別子503は、トンネルエンドポイント500を一意に特定する識別情報である。EN識別子502で特定されるエッジノード700には、TEP識別子503で特定されるトンネルエンドポイント500が設定される。たとえば、TEPG識別子501が「G1」であるエントリの場合、EN識別子502が「E1」であるエッジノード700には、TEP識別子503が「T11」であるトンネルエンドポイント500が設定され、EN識別子502が「E2」であるエッジノード700には、TEP識別子503が「T21」であるトンネルエンドポイント500が設定され、EN識別子502が「E3」であるエッジノード700には、TEP識別子503が「T31」であるトンネルエンドポイント500が設定される。TEPG識別子501、EN識別子502、およびTEP識別子503は、たとえば、手動操作で設定される。
割当仮想NW識別子フィールド504は、値として、割当仮想NW識別子504を格納する記憶領域である。割当仮想NW識別子504は、TEPG識別子501で特定されるトンネルエンドポイントグループに割り当てられた仮想ネットワークを一意に示す識別情報である。ネットワーク制御装置100は、TEPG識別子501のトンネルエンドポイントグループに仮想ネットワークが設定されると、当該仮想ネットワークの仮想NW識別子601を割当仮想NW識別子フィールド504に格納する。
不要BUM通信量505は、値として、TEPG識別子501で特定されるトンネルエンドポイントグループに流れるBUM通信量を格納する記憶領域である。具体的には、不要BUM通信量505は、割当仮想NW識別子504で特定される仮想ネットワークが本来接続される必要のないエッジノード700に流れるBUM通信量の合計値である。割当仮想ネットワークが本来接続される必要のないエッジノード700とは、トンネルエンドポイントグループ情報テーブル171のEN識別子502に含まれ、かつ、仮想ネットワーク情報テーブル172の仮想NW識別子601が割当仮想NW識別子504であるエントリにおける接続先EN識別子602に含まれないエッジノード700である。
なお、TEPG識別子501が「G0」であるエントリを、評価用のトンネルエンドポイントグループとする。評価用のトンネルエンドポイントグループとは、すべてのエッジノード700間がフルメッシュで通信接続されるように設定されたトンネルエンドポイントグループである。トンネルエンドポイントグループG0に所属するエッジノード700は、管理対象となる全エッジノードE1,E2,E3,…,Enである。図3の例では、n=4である。トンネルエンドポイントグループG0に所属するトンネルエンドポイント500は、各エッジノード700に1つずつ設定されるトンネルエンドポイントT10,T20,T30,…,Tn0である。
図6は、仮想ネットワーク情報テーブル172の記憶内容例を示す説明図である。仮想ネットワーク情報テーブル172は、仮想ネットワーク情報を記憶するテーブルである。仮想ネットワーク情報テーブル172は、ネットワークアプリケーション600からの要求情報に基づいて、仮想ネットワーク管理部115によって生成される。ネットワーク制御装置100は、仮想ネットワーク情報テーブル172を保持することによって、仮想ネットワークを割り当てるトンネルエンドポイントグループを計算することが可能になる。
仮想ネットワーク情報テーブル172は、仮想NW識別子フィールド601と、接続先EN識別子フィールド602と、候補TEPG識別子フィールド603と、割当TEPG識別子フィールド604と、接続先LNW識別子フィールド605と、ポート番号フィールド606と、通信帯域フィールド607と、瞬断可否フラグフィールド608と、不要BUM通信量フィールド609と、を有し、各フィールドの値により仮想ネットワーク情報を規定するエントリを構成する。
仮想NW識別子フィールド601は、値として、仮想NW識別子601を格納する記憶領域である。仮想NW識別子601は、仮想ネットワークを一意に特定する識別情報である。具体的には、たとえば、仮想NW識別子601は、VNIに対応する。
接続先EN識別子フィールド602は、値として、接続先EN識別子602を格納する記憶領域である。接続先EN識別子602は、仮想NW識別子601で特定される仮想ネットワークが接続されるべきエッジノード(接続先エッジノード)700を一意に特定する識別情報である。たとえば、図6の例では、仮想NW識別子601が「N1」で特定される仮想ネットワークに接続されるべき接続先エッジノードを特定する接続先EN識別子602は「E1,E2」であるが、実際には、割当TEPG識別子604のトンネルエンドポイントグループG0を構成するエッジノード700(EN識別子502:E1,E2,E3,…,En)に、仮想NW識別子601が「N1」であるVINが設定される。接続先EN識別子602は、ネットワークアプリケーション600が仮想ネットワークを設定する際に送信する要求情報に含まれる。
候補TEPG識別子フィールド603は、値として、候補TEPG識別子603を格納する記憶領域である。候補TEPG識別子603は、仮想ネットワークを割り当てることが可能なトンネルエンドポイントグループの候補を一意に特定する識別情報である。候補TEPG識別子603で特定されるトンネルエンドポイントグループは、ネットワークアプリケーション600が要求する仮想ネットワークの要件を満たすトンネルエンドポイントグループである。たとえば、仮想NW識別子601が「N1」である接続先EN識別子602は「E1,E2」である。トンネルエンドポイントグループ情報テーブル171において、「E1,E2」をEN識別子502に含むTEPG識別子501は、「G0,G1,G2」である。「G0,G1,G2」は、仮想NW識別子601が「N1」のエントリにおける候補TEPG識別子フィールド603に登録される。
なお、評価用のトンネルエンドポイントグループG0のTEPG識別子「G0」は、WAN320のフルメッシュを規定しているため、全エントリの候補TEPG識別子603に登録される。
割当TEPG識別子フィールド604は、割当TEPG識別子604を格納する記憶領域である。割当TEPG識別子604は、仮想NW識別子601で特定される仮想ネットワークに割り当てられたトンネルエンドポイントグループであり、候補トンネルエンドポイントグループの中から選択される。なお、図9に示す仮想ネットワーク設定では、評価用のトンネルエンドポイントグループG0のTEPG識別子「G0」が格納される。デフォルトで「G0」に設定されていてもよい。割当TEPG識別子604に対応する仮想NW識別子601は、割当TEPG識別子604と一致するTEPG識別子501に対応する割当仮想NW識別子フィールド504に格納される。
接続先LNW識別子フィールド605は、値として、接続先LNW識別子605を格納する記憶領域である。接続先LNW識別子605は、仮想NW識別子601で特定される仮想ネットワークが接続するローカルネットワークを一意に特定する識別情報である。接続先LNW識別子605は、たとえば、VLANの識別子である。図3の例では、仮想NW識別子601がVNI1であるため、仮想ネットワークVNI1に接続されるLAN310は、LAN310−1(V1),310−2(V2),310−4(V4)である。
ポート番号フィールド606は、値として、ポート番号606を格納する記憶領域である。ポート番号606は、接続先LNW識別子605で特定されるローカルネットワークに設定されるべき物理ポートのポート番号または論理ポートのポート番号を格納する領域である。
通信帯域フィールド607は、値として、通信帯域607を格納する記憶領域である。通信帯域607は、仮想NW識別子601で特定される仮想ネットワークが必要とする通信帯域である。通信帯域607は、ネットワークアプリケーション600が仮想NW識別子601で特定される仮想ネットワークを設定する際に送信する要求情報に含まれる。
瞬断可否フラグフィールド608は、値として、瞬断可否フラグ608を格納する記憶領域である。瞬断可否フラグ608は、仮想NW識別子601で特定される仮想ネットワークが瞬断可能か否かを示すフラグである。瞬断可否フラグ608の用途は、仮想NW識別子601で特定される仮想ネットワークを他のトンネルエンドポイントグループに変更することが可能か否かを判断するために用いられる。仮想ネットワークを他のトンネルエンドポイントグループに割り当てる場合、仮想ネットワークの通信が瞬断される可能性があるためである。瞬断可否フラグ608は、ネットワークアプリケーション600が、仮想NW識別子601で特定される仮想ネットワークを設定する際に送信する要求する情報に含まれる。
不要BUM通信量フィールド609は、値として、不要BUM通信量609を格納する記憶領域である。不要BUM通信量609は、仮想NW識別子601で特定される仮想ネットワークに本来接続される必要のないエッジノード700に流れるBUMの通信量である。具体的には、不要BUM通信量609は、接続先EN識別子602以外の仮想NW識別子601で特定されるいずれかのエッジノード700で計測されたBUM通信量である。たとえば、エッジノード700がエッジノード700−1(EN識別子:E1)〜700−4(EN識別子:E4)である場合、仮想NW識別子601が「N1」に対応する接続先EN識別子602は、「E1,E2」である。したがって、不要BUM通信量609は、EN識別子「E1〜E4」のうち、接続先EN識別子602:「E1,E2」以外のEN識別子「E3,E4」のいずれかで特定されるエッジノード700−3(または700−4)に流れるBUMの通信量である。
なお、上述したように、図5に示した不要BUM通信量505は、割当仮想NW識別子504で特定される仮想NW識別子601における不要BUM通信量609の合計値である。たとえば、TEPG識別子501が「G0」のトンネルエンドポイントグループの不要BUM通信量505は、割当仮想NW識別子504である「N1,N2,N4」の各々に対応する不要BUM通信量609の合計値である。
図7は、エッジノードリソース情報テーブル173の記憶内容例を示す説明図である。エッジノードリソース情報テーブル173は、エッジノード700のリソース情報を管理するテーブルである。エッジノードリソース情報テーブル173は、エッジノードリソース管理部113によって設定される。ネットワーク制御装置100は、エッジノードリソース情報テーブル173を保持することによって、エッジノード700の計算資源を考慮して、トンネルエンドポイント500の追加や削除を行うことが可能になる。エッジノードリソース情報テーブル173は、EN識別子フィールド701と、最大TEP数フィールド702と、既設TEP数フィールド703と、TEP識別子フィールド704と、を有し、各フィールドの値によりエッジノード700のリソース情報を規定するエントリを構成する。
EN識別子フィールド701は、値として、EN識別子701を格納する記憶領域である。EN識別子701は、エッジノード700を一意に特定する識別情報である。
最大TEP数フィールド702は、値として、最大TEP数702を格納する記憶領域である。最大TEP数702は、エッジノード700に設定可能なトンネルエンドポイント500の最大数である。最大TEP数702は、エッジノード700の物理リソース量に応じて、システム構築時に設定される。または、エッジノード700が最大TEP数702の問い合わせに対して応答するインターフェースとして、たとえば、API(Application Programming Interface)やCLI(Command Line Interface)を備える場合、それらを用いて取得されてもよい。
既設TEP数フィールド703は、値として、既設TEP数703を格納する記憶領域である。既設TEP数703は、エッジノード700に既に設定されたトンネルエンドポイント500の数である。既設TEP数703は、たとえば、トンネルエンドポイント500が設定、最適化、設定変更される都度、エッジノードリソース管理部113により、最新の値に更新される。
TEP識別子フィールド704は、値として、TEP識別子704を格納する記憶領域である。TEP識別子704は、EN識別子701で特定されるエッジノード700に含まれるトンネルエンドポイント500を一意に特定する識別情報である。TEP識別子704は、たとえば、トンネルエンドポイント500が設定、最適化、設定変更される都度、エッジノードリソース管理部113により、最新の値に更新される。
図8は、通信情報テーブル174の記憶内容例を示す説明図である。通信情報テーブル174は、WAN320の通信情報を管理するテーブルである。通信情報テーブル174は、通信量計測・分析部114によってあらかじめ設定される。ネットワーク制御装置100は、通信情報テーブル174を保持することによって、WAN320の状態を考慮してトンネルエンドポイントグループを計算することが可能になる。その結果、ネットワーク制御装置100は、WAN320のリソース(通信帯域)が枯渇しないように、または、コストが小さくなるようにトンネルエンドポイントグループを計算することが可能になる。
通信情報テーブル174は、経路識別子フィールド801と、第1EN識別子フィールド802と、第2EN識別子フィールド803と、コストフィールド804と、余剰リソース量フィールド805と、を有し、各フィールドの値によりWAN320の通信情報を規定するエントリを構成する。
経路識別子フィールド801は、値として、経路識別子801を格納する記憶領域である。経路識別子801は、WAN320内の端点となる2組のエッジノード700(第1EN識別子802、第2EN識別子803)の組み合わせによって規定される経路を一意に特定する識別情報である。
第1EN識別子フィールド802は、値として、第1EN識別子802を格納する記憶領域である。第1EN識別子802は、WAN320内の経路の一方の端点となるエッジノード700を一意に特定する識別情報である。
第2EN識別子フィールド803は、値として、第2EN識別子803を格納する記憶領域である。第2EN識別子803は、WAN320内の経路の他方の端点となるエッジノード700を一意に特定する識別情報である。
コストフィールド804は、値として、コスト804を格納する記憶領域である。コスト804は、経路識別子801で特定される経路にかかる通信費用である。コスト804は、たとえば、WAN320の通信コスト(たとえば、通信の値段(ビット単価)や、OSPF(Open Shortest Path First)またはBGP(Border Gateway Protocol)で用いられるリンクメトリックの合計値)として計算される通信費用である。
余剰リソース量フィールド805は、値として、余剰リソース量805を格納する記憶領域である。余剰リソース量805は、経路識別子801で特定される経路において余っているリソース量(通信帯域)である。通信情報テーブル174において、余剰リソース量805が最小またはしきい値以下である、第1EN識別子802および第2EN識別子803で特定される両エッジノード700が、ボトルネックとなる。
<仮想ネットワーク設定シーケンス例>
図9は、本実施例にかかる仮想ネットワークの設定シーケンス例を示す説明図である。本シーケンスは、ネットワークアプリケーション600がネットワーク制御装置100に仮想ネットワーク設定要求を送信することにより、ネットワーク制御装置100が仮想ネットワークを設定する動作概要例である。仮想ネットワーク設定要求の送信タイミングは、たとえば、ネットワークアプリケーション600を使用する運用者が仮想ネットワークを設定したいときである。
まず、ネットワーク制御装置100は、ネットワークアプリケーション600からの仮想ネットワーク設定要求を受信して、仮想ネットワーク情報テーブル172に格納する(ステップS901)。仮想ネットワーク設定要求は、たとえば、仮想NW識別子601、接続先EN識別子602、接続先LNW識別子605、ポート番号606、通信帯域607、および瞬断可否フラグ608を含む。ネットワーク制御装置100は、仮想ネットワーク設定要求を受け取ると、仮想ネットワーク設定要求内の仮想NW識別子601、接続先EN識別子602、接続先LNW識別子605、ポート番号606、通信帯域607、および瞬断可否フラグ608を、仮想ネットワーク情報テーブル172に格納する。
つぎに、ネットワーク制御装置100は、すべてのエッジノード700に仮想ネットワークを設定する(ステップS902)。具体的には、たとえば、ネットワーク制御装置100は、ステップS902で設定された仮想NW識別子601に対応する割当TEPG識別子フィールド604に、候補TEPG識別子603である評価用のトンネルエンドポイントグループのTEPG識別子「G0」を割り当てる。
具体的には、ネットワーク制御装置100は、割当TEPG識別子604となった評価用のトンネルエンドポイントグループG0に属する各トンネルエンドポイント500−1(T10)〜500−4(T40)に、仮想ネットワーク設定要求内の仮想NW識別子601に対応するVxLANのタグであるVNIを設定する。そして、ネットワーク制御装置100は、トンネルエンドポイントグループ情報テーブル171において、TEPG識別子501が「G0」のエントリにおいて、仮想ネットワーク設定要求内の仮想NW識別子601を割当仮想NW識別子フィールド504に格納する。
また、ネットワーク制御装置100は、接続先LNW識別子605に対応するVLANを設定し、設定したVNI(仮想NW識別子601)とVLAN(接続先LNW識別子605)が繋がるように設定する。これにより、仮想ネットワークに設定されたエッジノード700間がフルメッシュで通信可能に接続される。
つぎに、ネットワーク制御装置100は、仮想ネットワークに設定された各エッジノード700が計測したBUM通信量を収集する(ステップS903)。具体的には、たとえば、エッジノード700は、WAN320から流れてくるパケットのうち、仮想NW識別子601のタグがあるパケットの通信量を、設定された仮想ネットワークであるVNI毎に計測する。
たとえば、仮想NW識別子601が「N1」である場合、接続先EN識別子602である「E1,E2」に含まれていないエッジノード700は、「E3,…,En」である。「E3,…,En」であるエッジノード700−3,…,700−nは、WAN320から流れてくるパケットのうち、仮想NW識別子601のタグであるVNI1の通信量を計測して、計測した通信量をネットワーク制御装置100に送る。これにより、接続先EN識別子602である「E1,E2」に含まれていないエッジノード700からの通信量が収集される。
つぎに、ネットワーク制御装置100は、仮想ネットワーク情報テーブル172の不要BUM通信量フィールド609に格納する(ステップS904)。具体的には、たとえば、ネットワーク制御装置100は、エッジノード700−3,…,700−nから受信したいずれか1つの通信量を、仮想NW識別子601が「N1」であるエントリの不要BUM通信量フィールド609に格納する。
またこの場合、ネットワーク制御装置100は、トンネルエンドポイントグループ情報テーブル171のTEPG識別子501ごとに、不要BUM通信量フィールド505にBUM通信量を格納する。具体的には、たとえば、ネットワーク制御装置100は、割当仮想NW識別子504で特定される仮想NW識別子601ごとに仮想ネットワーク情報テーブル172から不要BUM通信量609を取得して合計する。そして、ネットワーク制御装置100は、合計したBUM通信量を、割当仮想NW識別子504のエントリにおける不要BUM通信量フィールド505に格納する。
たとえば、評価用のトンネルエンドポイントグループG0のエントリにおいて、ネットワーク制御装置100は、仮想NW識別子601が割当仮想NW識別子504「N1,N2,N4」である各エントリの不要BUM通信量609を取得して合計し、不要BUM通信量フィールド505に格納する。
これにより、ネットワーク制御装置100が、ステップS901でネットワークアプリケーション600から通知された接続先EN識別子602のエッジノード700だけでなく、それ以外のエッジノード700にも拡大して仮想ネットワークを設定することによって、仮想ネットワークの不要BUM通信量609を計測することが可能になる。
このような手法を採用する理由は、本来、仮想ネットワークが設定されないエッジノード700(上記の例では、接続先EN識別子602に該当しない「E3,…,En」であるエッジノード700−3,…,700−n)においても当該仮想ネットワークのBUMが流れてくるが、このような仮想ネットワークが設定されないエッジノード700は、設定されていない仮想ネットワークのパケットをパケットカウンタで計測する前に廃棄してしまい、パケットカウンタによって計測できないからである。
なお、以下のような場合は、ネットワーク制御装置100は、ステップS901〜S904を実行しなくてもよい。一つは、仮想NW識別子601で特定される仮想ネットワークの瞬断可否フラグ608が「否」である場合である。瞬断可否フラグ608が「否」である場合、仮想ネットワークをあるトンネルエンドポイントグループに割り当てた後に、他のトンネルエンドポイントグループに変更すると、通信が瞬断されてしまうからである。この場合、後続の処理(ステップS905、S906)も実行しない。また、不要BUM通信量609を計測しなくてもよい場合や、評価用のトンネルエンドポイントグループG0でなくても不要BUM通信量609を把握できる場合においても、ネットワーク制御装置100が、ステップS901〜S904を実行しなくてもよい。
つぎに、ネットワーク制御装置100は、割当TEPG決定処理を実行する(ステップS905)。割当TEPG決定処理(ステップS905)は、仮想NW識別子601で特定される仮想ネットワークを割り当てるトンネルエンドポイントグループを決定する。割当TEPG決定処理(ステップS905)の詳細については図10で後述する。
割当TEPG決定処理(ステップS905)のあと、ネットワーク制御装置100は、割当TEPG決定処理(ステップS905)で特定されたエッジノード700の各トンネルエンドポイントに、仮想ネットワークを設定する(ステップS906)。仮想ネットワーク設定処理(ステップS906)の詳細については図12で後述する。
仮想ネットワーク設定処理(ステップS906)のあと、ネットワーク制御装置100は、ネットワークアプリケーション600に対し、設定完了通知を送信する(ステップS907)。これにより、ネットワーク制御装置100は、仮想ネットワーク設定シーケンスを終了する。
<割当TEPG決定処理(ステップS905)>
図10は、図9に示した割当TEPG決定処理(ステップS905)の詳細な処理手順例を示すフローチャートである。仮想ネットワーク管理部115は、仮想ネットワークの接続構成を特定する(ステップS1001)。具体的には、仮想ネットワーク管理部115が、仮想ネットワーク情報テーブル172において、仮想ネットワーク設定要求に含まれる仮想NW識別子601に対応する接続先EN識別子602を特定する。たとえば、仮想ネットワーク設定要求に含まれる仮想NW識別子601が「N1」である場合、仮想ネットワーク管理部115は、接続先EN識別子602として「E1,E2」を特定する。
つぎに、トンネルエンドポイントグループ管理部111は、各トンネルエンドポイントグループの接続構成を特定する(ステップS1002)。具体的には、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、ステップS1001で特定されたすべての接続先EN識別子602がEN識別子502に含まれるトンネルエンドポイントグループのTEPG識別子501を、第1候補トンネルエンドポイントグループとして特定する。
たとえば、ステップS1001で特定されたすべての接続先EN識別子602が「E1,E2」である場合、トンネルエンドポイントグループ管理部111は、「E1,E2」が含まれるトンネルエンドポイントグループのTEPG識別子501である「G0,G1,G2」を、第1候補トンネルエンドポイントグループとして特定する。
そして、トンネルエンドポイントグループ管理部111は、特定した第1候補トンネルエンドポイントグループを、ステップS1001で特定された仮想NW識別子601であるエントリの候補TEPG識別子フィールド603に保存する。たとえば、トンネルエンドポイントグループ管理部111は、特定した第1候補トンネルエンドポイントグループである「G0,G1,G2」を、仮想ネットワーク設定要求に含まれる仮想NW識別子601が「N1」であるエントリの候補TEPG識別子フィールド603に格納する。
つぎに、通信量計測・分析部114は、WAN320のコスト804および余剰リソース量805を特定する(ステップS1003)。具体的には、通信量計測・分析部114は、通信情報テーブル174において、ステップS1001で特定された接続先EN識別子602に一致する第1EN識別子802および第2EN識別子803の組み合わせを特定し、特定した組み合わせと同一エントリのコスト804および余剰リソース量805を特定する。
たとえば、ステップS1001で特定された接続先EN識別子602が「E1,E2」である場合、第1EN識別子802および第2EN識別子803の組み合わせが「E1,E2」であるエントリのコスト804である「10」および余剰リソース量805である「100Mbps」を特定する。また、たとえば、ステップS1001で特定された接続先EN識別子602が「E1,E2,E3」である場合、第1EN識別子802および第2EN識別子803の組み合わせが「E1,E2」であるエントリのコスト804である「10」および余剰リソース量805である「100Mbps」と、第1EN識別子802および第2EN識別子803の組み合わせが「E1,E3」であるエントリのコスト804である「15」および余剰リソース量805である「150Mbps」と、第1EN識別子802および第2EN識別子803の組み合わせが「E2,E3」であるエントリのコスト804である「12」および余剰リソース量805である「30Mbps」と、を特定する。なお、WAN320の状態を考慮する必要がない場合は、ステップS1003は必ずしも行われる必要はない。
つぎに、トンネルエンドポイントグループ管理部111は、割当トンネルエンドポイントグループを選択する(ステップS1004)。具体的には、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171のEN識別子502を参照して、ステップS1002で特定された第1候補トンネルエンドポイントグループのうち、エッジノード700の数が少ないトンネルエンドポイントグループを第2候補トンネルエンドポイントグループとして特定する。エッジノード700の数が少ないトンネルエンドポイントグループとは、第1候補トンネルエンドポイントグループの中で相対的にエッジノード700の数が少ないトンネルエンドポイントグループでもよく、絶対的に、すなわち、エッジノード700の数がしきい値以下となるトンネルエンドポイントグループでもよい。
たとえば、ステップS1002で特定された第1候補トンネルエンドポイントグループを、候補TEPG識別子603である「G0,G1,G2」とする。トンネルエンドポイントグループ管理部111は、「G0,G1,G2」の各々について、エッジノード700の数を計数する。エッジノード700の数は、それぞれ「G0」が「n」(図3の例ではn=4)、「G1」が「3」、「G2」が「3」である。エッジノード700の数が相対的に少ないトンネルエンドポイントグループを選択する場合は、トンネルエンドポイントグループ管理部111は、「G1」および「G2」を選択する。エッジノード700の数が絶対的に少ないトンネルエンドポイントグループを選択する場合(たとえば、しきい値が5)は、トンネルエンドポイントグループ管理部111は、「G0」、「G1」および「G2」を選択する。
また、トンネルエンドポイントグループ管理部111は、第2候補トンネルエンドポイントグループが複数存在する場合、次の処理から割当トンネルエンドポイントグループを選択する。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、第2候補トンネルエンドポイントグループであるエントリのEN識別子502を特定する。たとえば、第2候補トンネルエンドポイントグループが「G1」および「G2」である場合、そのEN識別子502である「E1,E2,E3」および「E1,E2,E4」を特定する。この「E1,E2,E3」および「E1,E2,E4」をそれぞれ、第2候補EN識別子502と称す。
トンネルエンドポイントグループ管理部111は、第2候補EN識別子502に含まれ、かつ、ステップS1001において特定された接続先EN識別子602に含まれないEN識別子502を未接続エッジノード識別子502として特定する。ステップS1001において特定された接続先EN識別子602を仮想NW識別子601の「N1」に対応する接続先EN識別子602「E1,E2」とする。
たとえば、第2候補EN識別子502が「E1,E2,E3」の場合、第2候補EN識別子502の「E1,E2,E3」に含まれ、かつ、接続先EN識別子602の「E1,E2」に含まれないEN識別子は「E3」である。トンネルエンドポイントグループ管理部111は、「E3」を未接続EN識別子502として特定する。
同様に、第2候補EN識別子502が「E1,E2,E4」の場合、第2候補EN識別子502の「E1,E2,E4」に含まれ、かつ、接続先EN識別子602の「E1,E2」に含まれないEN識別子は「E4」である。トンネルエンドポイントグループ管理部111は、「E4」を未接続EN識別子502として特定する。
トンネルエンドポイントグループ管理部111は、ステップS1003で特定した第1EN識別子802(または第2EN識別子803)が未接続EN識別子502であり、第2EN識別子803(または第1EN識別子802)が接続先EN識別子502であるエントリのコスト804と余剰リソース量805をすべて特定する。
第2候補トンネルエンドポイントグループが「G1」の場合、未接続EN識別子502は「E3」である。この場合、接続先EN識別子602「E1」と未接続EN識別子502「E3」との組み合わせに該当する通信情報テーブル174のエントリは、経路識別子801が「P2」のエントリである。また、接続先EN識別子602「E2」と未接続EN識別子502「E3」との組み合わせに該当する通信情報テーブル174のエントリは、経路識別子801が「P3」のエントリである。
トンネルエンドポイントグループ管理部111は、経路識別子801が「P2」のエントリから、コスト804の「15」と余剰リソース量805の「150Mbps」を取得する。同様に、トンネルエンドポイントグループ管理部111は、経路識別子801が「P3」のエントリから、コスト804の「12」と余剰リソース量805の「30Mbps」を取得する。
なお、第2候補トンネルエンドポイントグループが「G2」の場合、未接続EN識別子502は「E4」である。この場合、接続先EN識別子602「E1」と未接続EN識別子502「E4」との組み合わせに該当する通信情報テーブル174のエントリは存在しない。また、接続先EN識別子602「E2」と未接続EN識別子502「E4」との組み合わせに該当する通信情報テーブル174のエントリも存在しない。
そして、未接続EN識別子502が「E3」である場合、トンネルエンドポイントグループ管理部111は、取得したコスト804の合計値、または、余剰リソース量805の最小値を特定する。上記の例の場合、取得したコスト804の合計値は、「15」と「12」の合計値「27」である。取得した余剰リソース量805の最小値は、「150Mbps」と「30Mbps」のうち、「30Mbps」である。
なお、未接続EN識別子502が「E4」である場合、コスト804の合計値、または、余剰リソース量805は得られていないため、取得したコスト804の合計値、または、余剰リソース量805の最小値は特定されない。
トンネルエンドポイントグループ管理部111は、すべての第2候補トンネルエンドポイントグループ(本例の場合、「G1」および「G2」)において、コスト804の合計値が最小のトンネルエンドポイントグループ、または、余剰リソース量805の最小値が最も大きいトンネルエンドポイントグループを、割当TEPG識別子501として選択する。上記の例では、「G1」が選択される。なお、コスト804を用いるか、余剰リソース量805を用いるかは、例えば、運用管理者が、ネットワーク制御装置100の初期設定情報として設定すればよい。
トンネルエンドポイントグループ管理部111は、ステップS1001で特定された仮想NW識別子601である「N1」のエントリの割当TEPG識別子フィールド604の値を、「G0」から、選択された割当TEPG識別子501である「G1」に更新する。
図11は、割当TEPG決定処理(ステップS905)による更新後の仮想ネットワーク情報テーブル172の記憶内容例を示す説明図である。また、ネットワーク制御装置100は、トンネルエンドポイントグループ情報テーブル171において、TEPG識別子501が、選択された割当TEPG識別子501である「G1」のエントリにおいて、仮想ネットワーク設定要求内の仮想NW識別子601である「N1」を、割当仮想NW識別子フィールド504に格納する。これにより、仮想ネットワーク管理部115は、割当TEPG決定処理(ステップS905)を終了して、ステップS906に移行する。
<仮想ネットワーク設定処理(ステップS906)>
図12は、図9に示した仮想ネットワーク設定処理(ステップS906)の詳細な処理手順例を示すフローチャートである。エッジノード・トンネルエンドポイント設定部112は、トンネルエンドポイントに仮想ネットワークを設定する(ステップS1201)。具体的には、エッジノード・トンネルエンドポイント設定部112は、設定対象となるTEP識別子503をすべて特定する。設定対象となるTEP識別子503とは、仮想ネットワークの接続先エッジノード700を含むTEP識別子503であり、そのトンネルエンドポイント500は、割当トンネルエンドポイントグループに含まれる。
たとえば、エッジノード・トンネルエンドポイント設定部112は、エッジノードリソース情報テーブル173において、EN識別子701がステップS1001で特定された接続先EN識別子602を含むエントリのTEP識別子704をすべて特定する。本例の場合、設定対象の仮想ネットワークの仮想NW識別子601が「N1」であるため、接続先EN識別子602は「E1,E2」である。したがって、エッジノード・トンネルエンドポイント設定部112は、TEP識別子704としてEN識別子701が「E1」であるエントリの「T10,T11,T12,T13」と、EN識別子701が「E2」であるエントリの「T20,T21,T22」と、を特定する。
トンネルエンドポイントグループ管理部111は、特定されたTEP識別子704のうち、トンネルエンドポイントグループ情報テーブル171において、TEPG識別子501がステップS1004で特定された割当トンネルエンドポイントグループであるエントリのTEP識別子503をすべて特定する。特定されたTEP識別子503が設定対象のトンネルエンドポイントである。
たとえば、ステップS1004で選択された割当トンネルエンドポイントグループが「G1」である場合、トンネルエンドポイントグループ管理部111は、TEPG識別子501が「G1」であるエントリのTEP識別子503として「T11,T21,T31」を設定対象のトンネルエンドポイントとして特定する。
つぎに、エッジノード・トンネルエンドポイント設定部112は、設定対象のトンネルエンドポイントに対して、仮想NW設定要求(ステップS901)においてネットワークアプリケーション600が送信した仮想NW識別子601に対応するVNIおよび接続先LNW識別子605に対応するVLANの設定情報を生成する(ステップS1202)。
たとえば、エッジノード・トンネルエンドポイント設定部112は、トンネルエンドポイントに仮想NW識別子601に対応するVNIを設定し、ポートに仮想NW識別子601に対応するVLANタグを設定し、設定されたVNIとVLANを関連付ける。そのため、このような設定例においては、設定情報は、ステップS1004で特定された設定対象のトンネルエンドポイントのTEP識別子、仮想ネットワーク情報テーブル172において設定変更される仮想NW識別子601に対応するタグ(VNI)、同エントリのポート番号606、および、同エントリの仮想NW識別子601に対応するタグを含む。
なお、タグの選択方法の詳細は割愛するが、たとえば、仮想NW識別子601に対応するタグはネットワーク識別子の下4ケタの値として計算され、仮想NW識別子601に対応するタグ(VNI)は仮想NW識別子601と同一の値として計算されてもよい。これにより、仮想ネットワーク管理部115は、仮想ネットワーク設定処理(ステップS906)を終了する。
このように、仮想ネットワーク設定シーケンスでは、ネットワーク制御装置100は、評価用のトンネルエンドポイントグループG0を用いることにより、仮想ネットワークの接続先エッジノード700以外の他のエッジノード700に流れるBUMの通信量を特定する。そして、ネットワーク制御装置100は、BUMの通信量が特定された仮想ネットワークを、当該仮想ネットワークに属するエッジノード700と属さないエッジノード700とを含むトンネルエンドポイントグループに割り当てる。割当先のトンネルエンドポイントグループは、評価用のトンネルエンドポイントグループG0よりも規模が小さい、すなわち、エッジノード700やトンネルエンドポイント500が少ないグループであるため、評価用のトンネルエンドポイントグループG0よりも不要BUM通信量505が低い。したがって、不要なBUM通信が抑制される。
たとえば、設定対象となる仮想ネットワークの仮想NW識別子601が「N1」である場合、本来通信される接続先エッジノード700の接続先EN識別子602は「E1,E2」である。ネットワーク制御装置100は、「N1」の仮想ネットワークに、評価用のトンネルエンドポイントグループG0を割り当てて、「N1」の仮想ネットワークの不要BUM通信量609を特定し、その後、トンネルエンドポイントグループG1を割り当てた場合、エッジノード700が「E1,E2,E3,…,En」から「E1,E2,E3」に縮小され、トンネルエンドポイント500が「T10,T20,T30,…,Tn0」から「T11,T21,T31」に縮小される。換言すれば、「N1」の仮想ネットワークの不要BUM通信量609が流れるエッジノード700が「E3,…,En」から「E3」に縮小され、「N1」の仮想ネットワークの不要BUM通信量609が流れるエッジノード700がトンネルエンドポイント500から「T30,…,Tn0」から「T31」に縮小される。
また、割当トンネルエンドポイントグループ(第2候補トンネルエンドポイントグループ)が複数候補ある場合、ネットワーク制御装置100は、当該グループ内で仮想ネットワークに未接続のエッジノード700と接続先エッジノード700との経路についてのコスト804または余剰リソース量805を参照して、割当トンネルエンドポイントグループを選択する。たとえば、ネットワーク制御装置100は、コスト804の総和がより低い、または、余剰リソース量805の総和がより高い方のトンネルエンドポイントグループを割当トンネルエンドポイントグループに決定する。これにより、通信コストの削減または通信帯域不足による通信性能(通信帯域や通信遅延)の劣化が抑制される。
<トンネルエンドポイントグループ最適化シーケンス例>
つぎに、トンネルエンドポイントグループの最適化について説明する。たとえば、エッジノード700の障害やメンテナンス、WAN320のリソース不足などの理由により、トンネルエンドポイントグループを再構成したい場合がある。このような場合、トンネルエンドポイントグループ最適化シーケンスを実行することにより、不要なBUM通信量を抑制するトンネルエンドポイントグループに再構成することが可能となる。これにより、仮想ネットワークに流れる不要なBUM通信量や、障害やメンテナンス対象のエッジノード700への不要なBUM通信量を抑制することができる。
図13は、本実施例にかかるトンネルエンドポイントグループの最適化シーケンス例を示す説明図である。本シーケンスは、ネットワークアプリケーション600による最適化の要求やエッジノード700からの通知を契機に、ネットワーク制御装置100がトンネルエンドポイント500を再設定する動作概要図である。
まず、ネットワークアプリケーション600は、ネットワーク制御装置100にトンネルエンドポイントグループ再構成要求を送信する(ステップS1301)。当該再構成要求には、再構成するTEPG識別子501が1以上含まれる。当該TEPG識別子501は、つぎのTEPG最適化処理(ステップS1302)のステップS1403で用いられる。
なお、図13においては、ネットワークアプリケーション600からのトンネルエンドポイントグループ再構成要求を、トンネルエンドポイントグループの最適化の契機とするが、契機はこの限りではない。例えば、トンネルエンドポイントグループの最適化の契機は、定期的でもよい。また、WAN320のリソースが足りなくなる場合、ネットワーク制御装置100が仮想ネットワーク設定の要求を受信する代わりに、割当可能なトンネルエンドポイントグループが存在しないことを、トンネルエンドポイントグループを最適化する契機としてもよい。
つぎに、ネットワーク制御装置100は、トンネルエンドポイントグループの最適化処理(TEPG最適化処理)を実行する(ステップS1302)。TEPG最適化処理(ステップS1303)は、現状の不要なBUM通信量に応じてトンネルエンドポイントグループを再構成する処理である。TEPG最適化処理(ステップS1302)の詳細については図14で後述する。
TEPG最適化処理(ステップS1302)のあと、ネットワーク制御装置100は、トンネルエンドポイント500を再設定する(ステップS1303)。具体的には、ネットワーク制御装置100は、TEPG最適化処理(ステップS1302)により、トンネルエンドポイントグループ情報テーブル171において新規に追加されたエントリにおけるEN識別子502のエッジノード700に、新規に追加されたエントリにおけるTEP識別子503のトンネルエンドポイントを設定する。
また、トンネルエンドポイントグループ再構成要求(ステップS1301)に含まれるTEPG識別子501のエントリは、TEPG最適化処理(ステップS1302)で削除対象となっている。したがって、ネットワーク制御装置100は、削除対象エントリにおけるEN識別子502のエッジノード700から、削除対象エントリにおけるTEP識別子503のトンネルエンドポイントを削除する。そのあと、ネットワーク制御装置100は、当該削除対象エントリをトンネルエンドポイントグループ情報テーブル171から削除する。
つぎに、ネットワーク制御装置100は、割当TEPG決定処理を実行する(ステップS1304)。割当TEPG決定処理(ステップS1304)は、TEPG最適化処理(ステップS1302)後の構成において、仮想ネットワークに割り当てるトンネルエンドポイントグループを決定する処理である。割当TEPG決定処理(ステップS1304)の詳細については図15で後述する。
つぎに、割当TEPG決定処理(ステップS1304)のあと、ネットワーク制御装置100は、エッジノード700に対し、仮想ネットワークを設定変更する(ステップS1305)。具体的には、割当TEPG決定処理(ステップS1304)において特定された削除対象のEN識別子502に対応する削除対象のTEP識別子503のトンネルエンドポイントから仮想ネットワークを削除し、また、追加対象のEN識別子502に対応する追加対象のTEP識別子503のトンネルエンドポイントに仮想ネットワークを追加する。
最後に、ネットワーク制御装置100は、各エッジノード700が計測したBUM通信量を収集して、仮想ネットワーク情報テーブル172の不要BUM通信量フィールド609に格納する(ステップS1306)。詳細な処理内容は、ステップS904と同一であるため説明を省略する。
最後に、ネットワーク制御装置100は、ネットワークアプリケーション600に対し、設定完了通知を送信する(ステップS1307)。具体的には、たとえば、ネットワーク制御装置100は、設定完了通知として、更新されたトンネルエンドポイントグループ情報、更新された仮想ネットワーク情報、更新されたエッジノードリソース情報、および、更新された通信情報を通知する。
<TEPG最適化処理(ステップS1302)>
図14は、図11に示したTEPG最適化処理(ステップS1302)の詳細な処理手順例を示すフローチャートである。まず、通信量計測・分析部114は、仮想ネットワーク毎の不要なBUM通信量を特定する(ステップS1401)。具体的には、たとえば、通信量計測・分析部114は、仮想ネットワーク情報テーブル172を参照して、仮想NW識別子601で特定される仮想ネットワークのエントリごとに、接続先EN識別子602および割当TEPG識別子604を特定する。
たとえば、仮想NW識別子601が「N1」であるエントリについては、接続先EN識別子602として「E1,E2」が特定され、割当TEPG識別子604として「G1」(上記の例で割当TEPG決定処理(ステップS905)のステップS1004で「G0」から「G1」に更新。図11参照。)が特定される。接続先EN識別子602および割当TEPG識別子604の特定の対象となるエントリの仮想ネットワークを、計測対象仮想ネットワークと称す。この例の場合は、仮想NW識別子601の「N1」で特定される仮想ネットワークが、計測対象仮想ネットワークである。
また、通信量計測・分析部114は、トンネルエンドポイントグループ情報テーブル171を参照して、本ステップS1401で特定された割当TEPG識別子604に一致するTEPG識別子501のエントリにおけるEN識別子502(以下、設定先EN識別子502と称す。)を特定する。上記の例では、本ステップS1401で特定された割当TEPG識別子604は「G1」であるため、通信量計測・分析部114は、TEPG識別子501が「G1」であるエントリにおけるEN識別子502の「E1,E2,E3」を設定先EN識別子502として特定する。
通信量計測・分析部114は、設定先EN識別子502に含まれ、かつ、接続先EN識別子602に含まれないEN識別子502(以下、計測対象EN識別子502と称す。)を特定する。上記の例では、通信量計測・分析部114は、設定先EN識別子502である「E1,E2,E3」に含まれ、かつ、接続先EN識別子602である「E1,E2」に含まれないEN識別子502(以下、計測対象EN識別子502と称す。)として、「E3」を特定する。
通信量計測・分析部114は、いずれかの計測対象EN識別子502で特定されるエッジノード(以下、計測対象エッジノード)において、WAN320から流れてくる通信のうち、計測対象仮想ネットワークのタグであるVNI毎の通信量を計測する。
この際、計測対象エッジノードに流れる各BUM通信量は、WAN320におけるパケットロスの量が誤差となるものの、その誤差の範囲で一致する。そのため、いずれか一つの計測対象エッジノードにおいて不要BUM通信量が計測されればよい。本例の場合、計測対象EN識別子502が「E3」である計測対象エッジノード700−3がBUM通信量を計測する。通信量計測・分析部114は、計測されたBUM通信量を、仮想ネットワーク情報テーブル172の計測対象仮想ネットワークのエントリにおける不要BUM通信量フィールド609に保存する。本例の場合、通信量計測・分析部114は、仮想NW識別子601が「N1」である計測対象仮想ネットワークのエントリにおける不要BUM通信量フィールド609に保存する。
つぎに、仮想ネットワーク管理部115は、仮想ネットワーク情報テーブル172を参照し、トンネルエンドポイントグループに割り当てられた仮想ネットワーク内に流れる不要BUM通信量609を計算する(ステップS1402)。以下にその計算方法を示す。
ステップS1401において特定された仮想ネットワークiの不要BUM通信量609をAiとし、計測対象エッジノード数をN1iとする。また、計測対象エッジノード700ではなく、かつ、同仮想ネットワークiの割当TEPG識別子604に対応するEN識別子502の数をN2iとする。仮想ネットワークi毎に流れる不要BUM通信量609の合計Biは、たとえば、数式(1)によって計算される。
Bi=Ai×N1i×N2i・・・・・・・・・(1)
仮想ネットワーク管理部115が、仮想ネットワーク情報テーブル172の仮想NW識別子601が「N1」であるエントリにおける不要BUM通信量フィールド609を、数式(1)で計算された不要BUM通信量609の合計Biに更新する。なお、当該更新に応じて、トンネルエンドポイントグループ情報テーブル171の不要BUM通信量505も更新される。
つぎに、トンネルエンドポイントグループ管理部111は、構成を変更可能なトンネルエンドポイントを選択する(ステップS1403)。具体的な処理手順を以下に示す。トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ再構成要求(ステップS1101)において特定されたTEPG識別子501に対応する割当仮想NW識別子504を特定する。トンネルエンドポイントグループ再構成要求(ステップS1101)において特定されたTEPG識別子501が「G1」の場合、割当仮想NW識別子504は「N5,N6」である。
トンネルエンドポイントグループ管理部111は、割当仮想NW識別子504に一致する仮想NW識別子601のエントリの瞬断可否フラグ608が「可」であるか否かを判断する。上記の場合、仮想NW識別子601が「N5」に対応する瞬断可否フラグ608と「N6」に対応する瞬断可否フラグ608がともに「可」であるか否かを判断する。ともに「可」である場合、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ再構成要求(ステップS1301)において特定されたTEPG識別子501を、再構成可能なトンネルエンドポイントグループに決定する。
つぎに、トンネルエンドポイントグループ管理部111は、通信情報テーブル174を参照して、WAN320の経路識別子801の経路ごとのコスト804または余剰リソース量805を特定する(ステップS1404)。ステップS1404は、つぎのステップS1405で用いられる場合に実行される。
つぎに、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループの接続構成変更処理を実行する(ステップS1405)。トンネルエンドポイントグループの接続構成変更処理(ステップS1405)は、ステップS1404で特定されたWAN320に流れるBUM通信量の合計が少なくなる、または、ボトルネックとなるエッジノード700のBUM通信量が少なくなるようにトンネルエンドポイントグループの接続構成を変更する処理である。
<トンネルエンドポイントグループの接続構成変更処理(ステップS1405)>
図15は、図14に示したトンネルエンドポイントグループの接続構成変更処理(ステップS1405)の詳細な処理手順例を示すフローチャートである。図15では、WAN320に流れる不要なBUM通信量の合計が少なくなるようにトンネルエンドポイントグループの接続構成を変更する場合について説明する。また、WAN320に流れる不要なBUM通信量の合計は、トンネルエンドポイントグループ情報テーブル171の不要BUM通信量の総和として計算される。具体的には、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171の全エントリに対して以下の処理を行う。
まず、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171のあるエントリkのトンネルエンドポイントグループ情報として、TEPG識別子501、EN識別子502(ここでは、EN識別子jと称す)、割当仮想NW識別子504(ここでは、割当仮想NW識別子lと称す)を特定する(ステップS1501)。エントリkは、ステップS1403で再構成可能なトンネルエンドポイントグループのエントリである。
つぎに、トンネルエンドポイントグループ管理部111は、仮想ネットワーク情報テーブル172において、エントリkのトンネルエンドポイントグループ情報に関連する仮想NW情報として、仮想NW識別子601が割当仮想NW識別子lであるエントリの接続先EN識別子602(ここでは、接続先EN識別子(m))、および、不要BUM通信量609(ここでは、不要BUM通信量(B))を取得する(ステップS1502)。割当仮想NW識別子lの不要BUM通信量B’は、下記式(2)によって計算される。
B’=B×(N―Nml)×Nml・・・・・・・・・(2)
ここで、NはEN識別子jの数であり、Nmlは接続先EN識別子mの数である。割当仮想NW識別子lが複数存在する場合、トンネルエンドポイントグループ管理部111は、割当仮想NW識別子504の各々に対してB’を計算する。トンネルエンドポイントグループ管理部111は、すべての割当仮想NW識別子lの不要BUM通信量B’の総和を、トンネルエンドポイントグループ情報テーブル171のエントリkの不要BUM通信量505として保存する。以上の処理によって、エントリkであるトンネルエンドポイントグループの不要なBUM通信量が計算される。
このように、エントリkであるトンネルエンドポイントグループの不要BUM通信量505は、各割当仮想NW識別子lの不要BUM通信量B’の和として計算される。以下に、不要BUM通信量B’の総和が小さくなるトンネルエンドポイントグループの接続構成を計算する手順を説明する。
つぎに、トンネルエンドポイントグループ管理部111は、エッジノードリソース情報テーブル173のEN識別子701が接続先EN識別子602である最大TEP数702と既設TEP数703とをすべて比較し、既設TEP数703が最大TEP数702より小さいか否かを確認する(ステップS1504)。すべてが小さい場合(ステップS1504:Yes)は下記の処理を続ける。なお、一つでも小さくない場合(ステップS1504:No)のマージ処理(ステップS1513)は後述する。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171の不要BUM通信量505が最も大きいエントリのTEPG識別子501、EN識別子502、TEP識別子503、割当仮想NW識別子504を特定する(ステップS1505)。トンネルエンドポイントグループ管理部111は、特定された割当仮想NW識別子504を二つのグループA、グループBに分ける(ステップS1506)。分け方としては例えばランダムに分けてもよい。
トンネルエンドポイントグループ管理部111は、グループAに含まれるすべての割当仮想NW識別子nに含まれる接続先EN識別子602を特定し、重複排除された接続先EN識別子602を新規エッジノード識別子候補pとして特定する。トンネルエンドポイントグループ管理部111は、同様に、グループBにおいても、割当仮想NW識別子nと新規エッジノード識別子候補pを特定する(ステップS1507)。
つぎに、トンネルエンドポイントグループ管理部111は、グループAの仮想ネットワークnAにおいて、下記式(3)より、仮想ネットワークnAの不要BUM通信量B’nAを計算する。同様に、トンネルエンドポイントグループ管理部111は、グループBの仮想ネットワークnBにおいて、下記式(4)より、仮想ネットワークnBの不要BUM通信量B’nBを計算する。
B’nA=BnA×(NmlA―NpA)×NmlA・・・・・・・・・(3)
B’nB=BnB×(NmlB―NpB)×NmlB・・・・・・・・・(4)
nAは、仮想ネットワークnAを特定する仮想NW識別子601に対応する不要BUM通信量609であり、BnBは、仮想ネットワークnBを特定する仮想NW識別子601に対応する不要BUM通信量609である。NmlAは、グループAの仮想ネットワークnAにおける接続先EN識別子mの数であり、NmlBは、グループBの仮想ネットワークnAにおける接続先EN識別子mの数である。NpAは、グループAの新規エッジノード識別子候補pの数であり、NpBは、グループBの新規エッジノード識別子候補pの数である。
そして、トンネルエンドポイントグループ管理部111は、上記式(3),(4)で求めた仮想ネットワークnAの不要BUM通信量B’nAと仮想ネットワークnBの不要BUM通信量B’nBとの総和を求める(ステップS1508)。
トンネルエンドポイントグループ管理部111は、割当仮想ネットワーク識別子の二つのグループA、Bの分類を毎回変更して、上記計算を所定回数試行する。所定回数に満たない場合(ステップS1509:No)、ステップS1505に戻る。所定回数に到達した場合(ステップS1509:Yes)、トンネルエンドポイントグループ管理部111は、不要BUM通信量B’nAと不要BUM通信量B’nBとの総和が最小となるグループAとグループBを選択する(ステップS1510)。
なお、通信情報テーブル174のコスト804を考慮する場合、コスト804を重み係数として下記式(5),(6)によって不要BUM通信量B’nAと不要BUM通信量B’nBを計算してもよい。
B’nA=Σi∈I,j∈J{BnA×Cij(NpA―Nml)×NmlA×Xij}・・・・・・(5)
B’nB=Σi∈I,j∈J{BnB×Cij(NpB―Nml)×NmlB×Xij}・・・・・・(6)
ここで,Cijは通信情報テーブル174の第1EN識別子802(ここでは、第1EN識別子i)および第2EN識別子803(ここでは、第2EN識別子j)に対応するコスト804である。
ijは定数である。仮想ネットワーク情報テーブル172の仮想NW識別子601で特定される仮想ネットワークnAのエントリの接続先EN識別子602にエッジノード識別子iが含まれ、かつ、エッジノード識別子候補pにエッジノード識別子jが含まれる場合、Xijは「1」である。また、仮想ネットワーク情報テーブル172の仮想NW識別子601で特定される仮想ネットワークnBのエントリの接続先EN識別子602にエッジノード識別子iが含まれ、かつ、エッジノード識別子候補pにエッジノード識別子jが含まれる場合も、Xijは「1」である。これら以外は、Xijは「0」である。
このあと、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171に新規エントリを作成し、図13に示したトンネルエンドポイントグループ再構成要求(ステップS1301)に含まれるTEPG識別子501のエントリをトンネルエンドポイントグループ情報テーブル171からの削除対象に設定する(ステップS1511)。
具体的には、トンネルエンドポイントグループ管理部111は、総和が最小となるグループAを新規のトンネルエンドポイントグループに決定し、新規のTEPG識別子501を割り当てる。トンネルエンドポイントグループ管理部111は、エッジノード識別子候補pを新規のEN識別子502に決定し、新規のTEPG識別子501(ここでは、新規TEP識別子TAnewとする)と同一エントリのEN識別子フィールド502に格納する。トンネルエンドポイントグループ管理部111は、エッジノード識別子候補pに対応する新規のTEP識別子503(ここでは、新規のTEP識別子TAijとする)を生成し、新規のTEPG識別子501と同一エントリのTEP識別子フィールド503に格納する。
トンネルエンドポイントグループ管理部111は、グループAの仮想ネットワークnAを特定する仮想NW識別子nを、割当仮想NW識別子504に決定し、新規のTEPG識別子501と同一エントリの割当仮想NW識別子フィールド504に格納する。トンネルエンドポイントグループ管理部111は、不要BUM通信量B’nAを不要BUM通信量505に決定し、新規のTEPG識別子501と同一エントリの不要BUM通信量フィールド505に格納する。
グループBについても同様に、トンネルエンドポイントグループ管理部111は、総和が最小となるグループBを新規のトンネルエンドポイントグループに決定し、新規のTEPG識別子501を割り当てる。トンネルエンドポイントグループ管理部111は、エッジノード識別子候補pを新規のEN識別子502に決定し、新規のTEPG識別子501(ここでは、新規TEP識別子TBnewとする)と同一エントリのEN識別子フィールド502に格納する。トンネルエンドポイントグループ管理部111は、エッジノード識別子候補pに対応する新規のTEP識別子503(ここでは、新規のTEP識別子TBijとする)を生成し、新規のTEPG識別子501と同一エントリのTEP識別子フィールド503に格納する。
トンネルエンドポイントグループ管理部111は、グループBの仮想ネットワークnBを特定する仮想NW識別子nを、割当仮想NW識別子504に決定し、新規のTEPG識別子501と同一エントリの割当仮想NW識別子フィールド504に格納する。トンネルエンドポイントグループ管理部111は、不要BUM通信量B’nBを不要BUM通信量505に決定し、新規のTEPG識別子501と同一エントリの不要BUM通信量フィールド505に格納する。
また、トンネルエンドポイントグループ管理部111は、割当TEPG識別子604を更新し、ステップS1303に戻る(ステップS1512)。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、仮想ネットワーク情報テーブル172において、グループAの仮想ネットワークnAのエントリを更新するため、仮想NW識別子601が仮想NW識別子nであるエントリの割当TEPG識別子604を新規TEP識別子TAnewに更新する。
同様に、トンネルエンドポイントグループ管理部111は、仮想ネットワーク情報テーブル172において、グループBの仮想ネットワークnBのエントリを更新するため、仮想NW識別子601が仮想NW識別子nであるエントリの割当TEPG識別子604を新規TEP識別子TBnewに更新する。TEPG最適化処理(ステップS1303)により、不要なBUM通信量が小さくなるように、トンネルエンドポイントグループを再構成することができる。
また、トンネルエンドポイントグループ管理部111は、エッジノードリソース情報テーブル173のEN識別子701が接続先EN識別子602に含まれるエントリを特定し、特定したエントリの既設TEP数703を、トンネルエンドポイントグループ情報テーブル171のグループA,Bの新規エントリにおいて追加した分だけ増やし、当該新規エントリにおいて発行されたTEP識別子503をTEP識別子フィールド704に追加する。
ここで、エッジノードリソース情報テーブル173において、既設TEP数703が最大TEP数702に比べて、一つでも小さくない場合(ステップS1504:No)のマージ処理(ステップS1513)を説明する。なお、説明のため、該当する(すなわち、既設TEP数703が最大TEP数702以上である)EN識別子701をEN識別子eとする。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、EN識別子eがEN識別子502に含まれるエントリを特定する。トンネルエンドポイントグループ管理部111は、仮想ネットワーク情報テーブル172において、特定したエントリの割当仮想NW識別子504と一致する仮想NW識別子601のエントリの瞬断可否フラグ608が「可」であるか否かを判断する。「可」である場合、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、当該特定したエントリにおけるTEPG識別子501、EN識別子502、および、不要BUM通信量505を特定する。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、特定されたEN識別子502の組み合わせが最も近似する2つ以上のエントリを選択する。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、共通するEN識別子502の数が最大となるエントリ群を、最も近似する2つ以上のエントリとして選択する。
トンネルエンドポイントグループ管理部111は、選択した2以上のエントリの中で不要BUM通信量505が小さい2つのエントリを1つのエントリにマージする。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、マージ後のエントリのTEPG識別子フィールド501に、マージされるいずれか1つのエントリのTEPG識別子501を格納する。
トンネルエンドポイントグループ管理部111は、マージ後のエントリのEN識別子フィールド502に、マージされるエントリの各々に含まれ、かつ、重複排除されたEN識別子502を格納する。トンネルエンドポイントグループ管理部111は、マージ後のエントリのTEP識別子フィールド503に、同一のEN識別子502のエッジノード700に複数のエントリのTEP識別子503が対応する場合は、マージされるいずれか1つのエントリのTEP識別子503を格納し、1つのエントリにしか存在しないTEP識別子503については、そのTEP識別子503を格納する。
トンネルエンドポイントグループ管理部111は、マージ後のエントリの割当仮想NW識別子フィールド504に、マージされるエントリの各々に含まれ、かつ、重複排除された全割当仮想NW識別子504を格納する。トンネルエンドポイントグループ管理部111は、マージ後のエントリの不要BUM通信量フィールド505に、マージされる各エントリの不要BUM通信量505の合計値を格納する。
また、トンネルエンドポイントグループ管理部111は、マージ後のエントリのEN識別子502に一致するEN識別子701のエントリを、エッジノードリソース情報テーブル173から特定する。トンネルエンドポイントグループ管理部111は、特定したエントリにおいて、既設TEP数703およびTEP識別子704について上記マージ結果を反映する。このマージ処理により、トンネルエンドポイント500の設定が不可能な状態を回避することができる。なお、マージ処理(ステップS1513)のあとは、ステップS1303に戻る。
上記では、WAN320に流れる不要BUM通信量の合計が少なくなるようにトンネルエンドポイントグループの接続構成を変更する場合を説明した。具体的には、エントリkであるトンネルエンドポイントグループの不要BUM通信量505は、各割当仮想NW識別子lの不要BUM通信量B’の和として計算される例を説明した。これに対し、ボトルネックとなるエッジノードの不要BUM通信量505が少なくなるようにトンネルエンドポイントグループの接続構成を変更する場合は、トンネルエンドポイントグループ管理部111は、上記の計算において不要BUM通信量B’の和を、ボトルネックとなる余剰リソース量805に変更すればよい。ボトルネックとなる余剰リソース量805とは、たとえば、余剰リソース量805の最小値または所定のしきい値以下となる余剰リソース量805である。
トンネルエンドポイントグループ管理部111は、エッジノードリソース情報テーブル173において、余剰リソース量805が最小値である第1EN識別子802および第2EN識別子803であるEN識別子701の最大TEP数702と既設TEP数703とを比較し、既設TEP数703が最大TEP数702より小さいか否かを確認する。すべてが小さい場合は下記の処理を続ける。なお、一つでも小さくない場合は、上述したマージ処理を実行する。
トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171において、余剰リソース量805が最小値である第1EN識別子802および第2EN識別子803の組み合わせを含むエントリを特定する。当該エントリが複数存在する場合は、不要BUM通信量505が最も大きいエントリを選択すればよい。トンネルエンドポイントグループ管理部111は、特定したエントリにおけるTEPG識別子501、EN識別子502、TEP識別子503、割当仮想NW識別子504を特定し、特定された割当仮想NW識別子504を二つのグループA、グループBに分ける。以降の処理は上記と同様である。これにより、ボトルネックとなるエッジノード700に絞り込んだ再構成が可能となる。
<割当TEPG決定処理(ステップS1304)>
図16は、図13に示した割当TEPG決定処理(ステップS1304)の詳細な処理手順例を示すフローチャートである。まず、仮想ネットワーク管理部115は、瞬断可能な仮想ネットワークを特定する(ステップS1601)。具体的には、たとえば、仮想ネットワーク管理部115は、仮想ネットワーク情報テーブル172の瞬断可否フラグ608が「可」である仮想NW識別子601をすべて特定する。
つぎに、仮想ネットワーク管理部115は、仮想ネットワークの接続構成を特定する(ステップS1602)。具体的には、たとえば、仮想ネットワーク管理部115は、仮想ネットワーク情報テーブル172において、ステップS1601において特定された仮想NW識別子601ごとに接続先EN識別子602をすべて特定する。
つぎに、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループの接続構成を特定する(ステップS1603)。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、トンネルエンドポイントグループ情報テーブル171の各TEPG識別子501、EN識別子502、TEP識別子503を特定する。
つぎに、トンネルエンドポイントグループ管理部111は、割当トンネルエンドポイントグループを選択する(ステップS1604)。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、ステップS1602において特定された接続先EN識別子602がステップS1603において特定されたEN識別子502に含まれるTEPG識別子501をすべて特定し、仮想ネットワーク情報テーブル172の候補TEPG識別子603に保存する。そして、トンネルエンドポイントグループ管理部111は、特定されたTEPG識別子501の中から、EN識別子502の数が最も少ないTEPG識別子501を選択する。選択されたTEPG識別子501のトンネルエンドポイントグループが割当トンネルエンドポイントグループである。なお、EN識別子502の数が同一であるTEPG識別子501が複数ある場合は、いずれか1つが選択される。
つぎに、トンネルエンドポイントグループ管理部111は、ステップS1604で選択された割当トンネルエンドポイントグループが基のトンネルエンドポイントグループと同一かを判断する(ステップS1605)。具体的には、たとえば、トンネルエンドポイントグループ管理部111は、ステップS1604で仮想ネットワーク情報テーブル172に保存された割当TEPG識別子603と、ステップS1604において選択されたTEPG識別子501とが同一であるかを判断する。同一である場合(ステップS1605:Yes)、構成変更する必要がないため、割当TEPG決定処理(ステップS1305)が終了し、ステップS1306に移行する。同一でない場合(ステップS1605:No)、ステップS1606に移行する。なお、同一でない場合のステップS1601で特定された仮想NW識別子601を変更対象仮想NW識別子601と称す。
同一でない場合(ステップS1605:No)、エッジノード・トンネルエンドポイント設定部112は、変更対象仮想NW識別子601の仮想ネットワークをトンネルエンドポイント500に割り当てるための情報を生成する(ステップS1606)。具体的には、たとえば、エッジノード・トンネルエンドポイント設定部112は、ステップS1604で仮想ネットワーク情報テーブル172に保存された割当TEPG識別子603に一致するTEPG識別子501に対応するEN識別子502およびTEP識別子503を、削除対象EN識別子502および削除対象TEPG識別子503に設定し、ステップS1604において選択されたTEPG識別子501に対応するEN識別子502とTEP識別子503を、追加対象EN識別子502および追加対象TEP識別子503に設定する。そして、割当TEPG決定処理(ステップS1304)が終了し、ステップS1306に移行する。
これにより、割当TEPG決定処理(ステップS1304)のあと、ネットワーク制御装置100は、エッジノード700に対し、仮想ネットワークを設定変更する(ステップS1305)。具体的には、割当TEPG決定処理(ステップS1304)において特定された削除対象のEN識別子502に対応する削除対象のTEP識別子503のトンネルエンドポイントから仮想ネットワークを削除し、また、追加対象のEN識別子502に対応する追加対象のTEP識別子503のトンネルエンドポイントに仮想ネットワークを追加する。
このように、本実施例によれば、仮想ネットワークを終端するトンネルエンドポイント500が、仮想ネットワークの接続構成を考慮せずに多数のトンネルエンドポイント500にBUMを送信することによって発生してしまう不要なBUM通信量を抑制することができる。
また、不要なBUM通信量が少なくなるように仮想ネットワークをトンネルエンドポイントグループに割り当てる際に、ある仮想ネットワークに接続されないエッジノード700における仮想ネットワークの通信量を不要なBUM通信量とみなすことにより、不要なBUM通信量の特定の容易化を図ることができる。そして、特定された不要なBUM通信量が少なくなるようにエンドポイントグループを最適化することにより、不要なBUM通信量を抑制することができる。
また、エッジノードの余剰リソースを考慮して、トンネルエンドポイントを増減することにより、エッジノードの余剰リソースの消費量を抑えつつ、BUM通信量を削減することができる。
また、割当トンネルエンドポイントグループが複数候補ある場合、ネットワーク制御装置100は、当該グループ内で仮想ネットワークに未接続のエッジノードと接続先エッジノードとの経路についてのコスト804または余剰リソース量805を考慮して割当トンネルエンドポイントグループを選択する。これにより、通信コストの削減または通信帯域不足による通信性能(通信帯域や通信遅延)の劣化を抑制することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1 ネットワークシステム
100 ネットワーク制御装置
110 制御部
111 トンネルエンドポイントグループ管理部
112 エッジノード・トンネルエンドポイント設定部
113 エッジノードリソース管理部
114 通信量計測・分析部
115 仮想ネットワーク管理部
150 サービス受付部
170 データ記憶部
171 トンネルエンドポイントグループ情報テーブル
172 仮想ネットワーク情報テーブル
173 エッジノードリソース情報テーブル
174 通信情報テーブル
400 サーバ

Claims (15)

  1. ネットワークを介して接続される転送装置群の各転送装置を制御して、当該各転送装置間を通信可能に接続する仮想終端点を設定するネットワーク制御装置であって、
    プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、
    前記記憶デバイスは、グループ情報と仮想ネットワーク情報とを記憶しており、
    前記グループ情報は、前記転送装置の組み合わせと、当該組み合わせの各々が有する前記仮想終端点と、を関連付けた仮想終端点グループを規定する情報であり、
    前記仮想ネットワーク情報は、前記転送装置群のうち仮想ネットワークに接続されるべき接続先の転送装置と、前記接続先の転送装置を含む仮想終端点グループ候補と、を関連付けた仮想ネットワークを規定する情報であり、
    前記プロセッサは、
    前記仮想ネットワーク情報を参照して、設定対象の仮想ネットワークの前記接続先の転送装置を特定する第1の特定処理と、
    前記グループ情報を参照して、前記第1の特定処理によって特定された前記接続先の転送装置を含む仮想終端点グループを割当候補として特定する第2の特定処理と、
    前記グループ情報を参照して、前記第2の特定処理によって特定された前記割当候補の中から、前記転送装置の組み合わせにおける前記転送装置の数が最小または所定のしきい値以下となる特定の仮想終端点グループを割当グループに決定する第1の決定処理と、
    前記グループ情報を参照して、前記第1の決定処理によって決定された前記割当グループを構成する前記転送装置の組み合わせの各転送装置が有する仮想終端点に、前記設定対象の仮想ネットワークを設定する第1の設定処理と、
    を実行することを特徴とするネットワーク制御装置。
  2. 請求項1に記載のネットワーク制御装置であって、
    前記記憶デバイスは、前記ネットワークにおいて前記転送装置間の経路ごとにコストが設定されている通信情報を記憶しており、
    前記第1の決定処理では、前記プロセッサは、
    前記特定の仮想終端点グループが複数存在する場合、前記グループ情報を参照して、前記割当候補の各々について、前記転送装置の組み合わせを特定し、
    前記仮想ネットワーク情報を参照して、前記特定の仮想終端点グループごとに、前記特定の仮想終端点グループについての前記転送装置の組み合わせに含まれ、かつ、前記設定対象の仮想ネットワークの前記接続先の転送装置に含まれない未接続の転送装置を特定し、
    前記通信情報を参照して、前記特定の仮想終端点グループごとに、前記未接続の転送装置と前記設定対象の仮想ネットワークの前記接続先の転送装置との経路についてのコストの合計値を算出し、
    前記各特定の仮想終端点グループの前記コストの合計値に基づいて、前記特定の仮想終端点グループの中から前記割当グループを決定することを特徴とするネットワーク制御装置。
  3. 請求項1に記載のネットワーク制御装置であって、
    前記記憶デバイスは、前記ネットワークにおいて前記転送装置間の経路ごとに余剰リソース量が保持されている通信情報を記憶しており、
    前記第1の決定処理では、前記プロセッサは、
    前記特定の仮想終端点グループが複数存在する場合、前記グループ情報を参照して、前記割当候補の各々について、前記転送装置の組み合わせを特定し、
    前記仮想ネットワーク情報を参照して、前記特定の仮想終端点グループごとに、前記特定の仮想終端点グループについての前記転送装置の組み合わせに含まれ、かつ、前記設定対象の仮想ネットワークの前記接続先の転送装置に含まれない未接続の転送装置を特定し、
    前記通信情報を参照して、前記特定の仮想終端点グループごとに、前記未接続の転送装置と前記設定対象の仮想ネットワークの前記接続先の転送装置との経路についての余剰リソース量の最小値を特定し、
    前記各特定の仮想終端点グループの前記余剰リソース量の最小値に基づいて、前記特定の仮想終端点グループの中から前記割当グループを決定することを特徴とするネットワーク制御装置。
  4. 請求項1に記載のネットワーク制御装置であって、
    前記グループ情報は、前記ネットワーク内の全転送装置と、当該全転送装置の各々が有する仮想終端点と、を関連付けた評価用の仮想終端点グループを規定しており、
    前記プロセッサは、
    前記グループ情報を参照して、前記評価用の仮想終端点グループを構成する全仮想終端点に、仮想ネットワークを仮設定する仮設定処理と、
    前記仮設定処理によって仮設定された仮想ネットワークにおいて、前記転送装置群のうち、前記設定対象の仮想ネットワークについての前記接続先の転送装置以外の他の転送装置の通信量を、前記他の転送装置から取得して、前記設定対象の仮想ネットワーク内の仮想終端点から前記設定対象の仮想ネットワーク外の仮想終端点に流れるBUMの通信量に決定する第1のBUM通信量決定処理と、
    を実行することを特徴とするネットワーク制御装置。
  5. 請求項1に記載のネットワーク制御装置であって、
    前記仮想ネットワーク情報は、前記仮想ネットワークに瞬断可否を示す瞬断可否情報を関連付けており、
    前記第1の特定処理では、前記プロセッサは、前記仮想ネットワーク情報を参照して、前記設定対象の仮想ネットワークに関連付けられた瞬断可否情報が瞬断可を示す場合に、前記接続先の転送装置を特定することを特徴とするネットワーク制御装置。
  6. 請求項1に記載のネットワーク制御装置であって、
    前記プロセッサは、
    前記仮想ネットワーク情報を参照して、前記仮想ネットワーク毎に、前記接続先の転送装置と、前記割当グループと、を特定する第3の特定処理と、
    前記グループ情報を参照して、前記仮想ネットワーク毎に、前記割当グループを構成する前記転送装置の組み合わせである設定先の転送装置を特定する第4の特定処理と、
    前記仮想ネットワークごとに、前記設定先の転送装置に含まれ、かつ、前記接続先の転送装置に含まれない計測対象の転送装置を特定する第5の特定処理と、
    前記仮想ネットワークごとに、前記計測対象の転送装置から通信量を収集して、前記仮想ネットワークについての不要なBUMの通信量に決定する第2のBUM通信量決定処理と、
    前記第2のBUM通信量決定処理によって決定された前記仮想ネットワークごとの不要なBUM通信量に基づいて、再構成対象の仮想終端点グループを構成する前記転送装置の組み合わせおよび当該組み合わせの各々が有する仮想終端点を変更する変更処理と、
    前記変更処理の変更結果に従って、前記仮想ネットワークごとに、前記再構成対象の仮想終端点グループを構成する前記転送装置の組み合わせの各々の転送装置に前記仮想終端点を再設定する再設定処理と、
    前記再設定処理の再設定後において、特定の仮想ネットワークについての接続先の転送装置が含まれる仮想終端点グループを再割当候補として選択する選択処理と、
    前記選択処理によって選択された前記再割当候補の中から、前記転送装置の組み合わせにおける前記転送装置の数が最小となる仮想終端点グループを再割当グループに決定する第2の決定処理と、
    前記第2の決定処理によって決定された前記再割当グループを前記特定の仮想ネットワークに設定する第2の設定処理と、
    を実行することを特徴とするネットワーク制御装置。
  7. 請求項6に記載のネットワーク制御装置であって、
    前記記憶デバイスは、前記転送装置ごとに、前記仮想終端点を設定可能な最大数と、現在設定されている前記仮想終端点の数である既存数と、を規定するリソース情報を記憶しており、
    前記変更処理では、前記プロセッサは、
    前記再構成対象の仮想終端点グループの割当先となる仮想ネットワークについての前記不要なBUM通信量、前記接続先の転送装置、および、前記再構成対象の仮想終端点グループの前記転送装置の組み合わせにおける前記転送装置の数に基づいて、前記再構成対象の仮想終端点グループについての不要なBUM通信量を算出し、
    前記リソース情報を参照して、いずれの転送装置についても前記既存数が前記最大数より小さい場合、前記仮想終端点グループについての不要なBUM通信量が最大である仮想終端点グループを特定し、
    前記不要なBUM通信量が最大である仮想終端点グループの割当先となる仮想ネットワーク群を2つのグループに分割して、グループごとのBUM通信量の総和を算出する処理を所定回数試行し、
    前記グループごとのBUM通信量の総和が最小となる前記2つのグループについて仮想終端点グループを作成することを特徴とするネットワーク制御装置。
  8. 請求項6に記載のネットワーク制御装置であって、
    前記記憶デバイスは、前記転送装置ごとに、前記仮想終端点を設定可能な最大数と、現在設定されている前記仮想終端点の数である既存数と、を規定するリソース情報を記憶しており、
    前記変更処理では、前記プロセッサは、
    前記再構成対象の仮想終端点グループの割当先となる仮想ネットワークについての前記不要なBUM通信量、前記接続先の転送装置、および、前記再構成対象の仮想終端点グループの前記転送装置の組み合わせにおける前記転送装置の数に基づいて、前記再構成対象の仮想終端点グループについての不要なBUM通信量を算出し、
    前記リソース情報を参照して、前記既存数が前記最大数より小さくない転送装置が存在する場合、当該転送装置を前記転送装置の組み合わせに含む仮想終端点グループを併合することを特徴とするネットワーク制御装置。
  9. 請求項6に記載のネットワーク制御装置であって、
    前記記憶デバイスは、リソース情報と通信情報とを記憶しており、
    前記リソース情報は、前記転送装置ごとに、前記仮想終端点を設定可能な最大数と、現在設定されている前記仮想終端点の数である既存数と、を規定しており、
    前記通信情報は、前記ネットワークにおいて前記転送装置間の経路ごとに余剰リソース量を保持しており、
    前記変更処理では、前記プロセッサは、
    前記再構成対象の仮想終端点グループの割当先となる仮想ネットワークについての前記不要なBUM通信量、前記接続先の転送装置、および、前記再構成対象の仮想終端点グループの前記転送装置の組み合わせにおける前記転送装置の数に基づいて、前記再構成対象の仮想終端点グループについての不要なBUM通信量を算出し、
    前記リソース情報を参照して、いずれの転送装置についても前記既存数が前記最大数より小さい場合、前記通信情報を参照して、前記余剰リソース量が最小または所定のしきい値以下となる経路を規定する一対の転送装置を特定し、
    前記一対の転送装置を含む仮想終端点グループの割当先となる仮想ネットワーク群を2つのグループに分割して、グループごとのBUM通信量の総和を算出する処理を所定回数試行し、
    前記グループごとのBUM通信量の総和が最小となる前記2つのグループについて仮想終端点グループを作成することを特徴とするネットワーク制御装置。
  10. 請求項6に記載のネットワーク制御装置であって、
    前記記憶デバイスは、リソース情報と通信情報とを記憶しており、
    前記リソース情報は、前記転送装置ごとに、前記仮想終端点を設定可能な最大数と、現在設定されている前記仮想終端点の数である既存数と、を規定しており、
    前記通信情報は、前記ネットワークにおいて前記転送装置間の経路ごとに余剰リソース量を保持しており、
    前記変更処理では、前記プロセッサは、
    前記再構成対象の仮想終端点グループの割当先となる仮想ネットワークについての前記不要なBUM通信量、前記接続先の転送装置、および、前記再構成対象の仮想終端点グループの前記転送装置の組み合わせにおける前記転送装置の数に基づいて、前記再構成対象の仮想終端点グループについての不要なBUM通信量を算出し、
    前記リソース情報を参照して、前記既存数が前記最大数より小さくない転送装置が存在する場合、当該転送装置を前記転送装置の組み合わせに含む仮想終端点グループを併合することを特徴とするネットワーク制御装置。
  11. ネットワークを介して接続される転送装置群の各転送装置を制御して、当該各転送装置間を通信可能に接続する仮想終端点を設定するネットワーク制御装置によるネットワーク制御方法であって、
    前記ネットワーク制御装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、
    前記記憶デバイスは、グループ情報と仮想ネットワーク情報とを記憶しており、
    前記グループ情報は、前記転送装置の組み合わせと、当該組み合わせの各々が有する前記仮想終端点と、を関連付けた仮想終端点グループを規定する情報であり、
    前記仮想ネットワーク情報は、前記転送装置群のうち仮想ネットワークに接続されるべき接続先の転送装置と、前記接続先の転送装置を含む仮想終端点グループ候補と、を関連付けた仮想ネットワークを規定する情報であり、
    前記プロセッサは、
    前記仮想ネットワーク情報を参照して、設定対象の仮想ネットワークの前記接続先の転送装置を特定する第1の特定処理と、
    前記グループ情報を参照して、前記第1の特定処理によって特定された前記接続先の転送装置を含む仮想終端点グループを割当候補として特定する第2の特定処理と、
    前記グループ情報を参照して、前記第2の特定処理によって特定された前記割当候補の中から、前記転送装置の組み合わせにおける前記転送装置の数が最小または所定のしきい値以下となる特定の仮想終端点グループを割当グループに決定する第1の決定処理と、
    前記グループ情報を参照して、前記第1の決定処理によって決定された前記割当グループを構成する前記転送装置の組み合わせの各転送装置が有する仮想終端点に、前記設定対象の仮想ネットワークを設定する第1の設定処理と、
    を実行することを特徴とするネットワーク制御方法。
  12. 請求項11に記載のネットワーク制御方法であって、
    前記記憶デバイスは、前記ネットワークにおいて前記転送装置間の経路ごとにコストが設定されている通信情報を記憶しており、
    前記第1の決定処理では、前記プロセッサは、
    前記特定の仮想終端点グループが複数存在する場合、前記グループ情報を参照して、前記割当候補の各々について、前記転送装置の組み合わせを特定し、
    前記仮想ネットワーク情報を参照して、前記特定の仮想終端点グループごとに、前記特定の仮想終端点グループについての前記転送装置の組み合わせに含まれ、かつ、前記設定対象の仮想ネットワークの前記接続先の転送装置に含まれない未接続の転送装置を特定し、
    前記通信情報を参照して、前記特定の仮想終端点グループごとに、前記未接続の転送装置と前記設定対象の仮想ネットワークの前記接続先の転送装置との経路についてのコストの合計値を算出し、
    前記各特定の仮想終端点グループの前記コストの合計値に基づいて、前記特定の仮想終端点グループの中から前記割当グループを決定することを特徴とするネットワーク制御方法。
  13. 請求項11に記載のネットワーク制御方法であって、
    前記記憶デバイスは、前記ネットワークにおいて前記転送装置間の経路ごとに余剰リソース量が保持されている通信情報を記憶しており、
    前記第1の決定処理では、前記プロセッサは、
    前記特定の仮想終端点グループが複数存在する場合、前記グループ情報を参照して、前記割当候補の各々について、前記転送装置の組み合わせを特定し、
    前記仮想ネットワーク情報を参照して、前記特定の仮想終端点グループごとに、前記特定の仮想終端点グループについての前記転送装置の組み合わせに含まれ、かつ、前記設定対象の仮想ネットワークの前記接続先の転送装置に含まれない未接続の転送装置を特定し、
    前記通信情報を参照して、前記特定の仮想終端点グループごとに、前記未接続の転送装置と前記設定対象の仮想ネットワークの前記接続先の転送装置との経路についての余剰リソース量の最小値を特定し、
    前記各特定の仮想終端点グループの前記余剰リソース量の最小値に基づいて、前記特定の仮想終端点グループの中から前記割当グループを決定することを特徴とするネットワーク制御方法。
  14. ネットワークを介して接続される転送装置群の各転送装置を制御して、当該各転送装置間を通信可能に接続する仮想終端点を設定する処理をプロセッサに実行させるネットワーク制御プログラムであって、
    前記プロセッサは、グループ情報と仮想ネットワーク情報とを記憶する記憶デバイスにアクセス可能であり、
    前記グループ情報は、前記転送装置の組み合わせと、当該組み合わせの各々が有する前記仮想終端点と、を関連付けた仮想終端点グループを規定する情報であり、
    前記仮想ネットワーク情報は、前記転送装置群のうち仮想ネットワークに接続されるべき接続先の転送装置と、前記接続先の転送装置を含む仮想終端点グループ候補と、を関連付けた仮想ネットワークを規定する情報であり、
    前記プロセッサに、
    前記仮想ネットワーク情報を参照して、設定対象の仮想ネットワークの前記接続先の転送装置を特定する第1の特定処理と、
    前記グループ情報を参照して、前記第1の特定処理によって特定された前記接続先の転送装置を含む仮想終端点グループを割当候補として特定する第2の特定処理と、
    前記グループ情報を参照して、前記第2の特定処理によって特定された前記割当候補の中から、前記転送装置の組み合わせにおける前記転送装置の数が最小または所定のしきい値以下となる特定の仮想終端点グループを割当グループに決定する第1の決定処理と、
    前記グループ情報を参照して、前記第1の決定処理によって決定された前記割当グループを構成する前記転送装置の組み合わせの各転送装置が有する仮想終端点に、前記設定対象の仮想ネットワークを設定する第1の設定処理と、
    を実行させることを特徴とするネットワーク制御プログラム。
  15. 請求項14に記載のネットワーク制御プログラムであって、
    前記記憶デバイスは、前記ネットワークにおいて前記転送装置間の経路ごとにコストが設定されている通信情報を記憶しており、
    前記第1の決定処理では、前記プロセッサに、
    前記特定の仮想終端点グループが複数存在する場合、前記グループ情報を参照して、前記割当候補の各々について、前記転送装置の組み合わせを特定させ、
    前記仮想ネットワーク情報を参照して、前記特定の仮想終端点グループごとに、前記特定の仮想終端点グループについての前記転送装置の組み合わせに含まれ、かつ、前記設定対象の仮想ネットワークの前記接続先の転送装置に含まれない未接続の転送装置を特定させ、
    前記通信情報を参照して、前記特定の仮想終端点グループごとに、前記未接続の転送装置と前記設定対象の仮想ネットワークの前記接続先の転送装置との経路についてのコストの合計値を算出させ、
    前記各特定の仮想終端点グループの前記コストの合計値に基づいて、前記特定の仮想終端点グループの中から前記割当グループを決定させることを特徴とするネットワーク制御プログラム。
JP2015183098A 2015-09-16 2015-09-16 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム Pending JP2017059991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015183098A JP2017059991A (ja) 2015-09-16 2015-09-16 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015183098A JP2017059991A (ja) 2015-09-16 2015-09-16 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム

Publications (1)

Publication Number Publication Date
JP2017059991A true JP2017059991A (ja) 2017-03-23

Family

ID=58391868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015183098A Pending JP2017059991A (ja) 2015-09-16 2015-09-16 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム

Country Status (1)

Country Link
JP (1) JP2017059991A (ja)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019216371A (ja) * 2018-06-13 2019-12-19 日本電信電話株式会社 ネットワーク制御装置、ユーザ端末、通信システム、ネットワーク制御方法およびネットワーク制御プログラム
US11375005B1 (en) * 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11418997B2 (en) 2020-01-24 2022-08-16 Vmware, Inc. Using heart beats to monitor operational state of service classes of a QoS aware network link
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11444872B2 (en) 2015-04-13 2022-09-13 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11509571B1 (en) 2021-05-03 2022-11-22 Vmware, Inc. Cost-based routing mesh for facilitating routing through an SD-WAN
US11516049B2 (en) 2017-10-02 2022-11-29 Vmware, Inc. Overlay network encapsulation to forward data message flows through multiple public cloud datacenters
US11533248B2 (en) 2017-06-22 2022-12-20 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11606286B2 (en) 2017-01-31 2023-03-14 Vmware, Inc. High performance software-defined core network
US11606225B2 (en) 2017-10-02 2023-03-14 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11606314B2 (en) 2019-08-27 2023-03-14 Vmware, Inc. Providing recommendations for implementing virtual networks
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11677720B2 (en) 2015-04-13 2023-06-13 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US11700196B2 (en) 2017-01-31 2023-07-11 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US11706126B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11804988B2 (en) 2013-07-10 2023-10-31 Nicira, Inc. Method and system of overlay flow control
US11895194B2 (en) 2017-10-02 2024-02-06 VMware LLC Layer four optimization for a virtual network defined over public cloud
US11902086B2 (en) 2017-11-09 2024-02-13 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US12034630B2 (en) 2023-07-17 2024-07-09 VMware LLC Method and apparatus for distributed data network traffic optimization

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11804988B2 (en) 2013-07-10 2023-10-31 Nicira, Inc. Method and system of overlay flow control
US11444872B2 (en) 2015-04-13 2022-09-13 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US11677720B2 (en) 2015-04-13 2023-06-13 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US11606286B2 (en) 2017-01-31 2023-03-14 Vmware, Inc. High performance software-defined core network
US11700196B2 (en) 2017-01-31 2023-07-11 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US11706126B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US11533248B2 (en) 2017-06-22 2022-12-20 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US11894949B2 (en) 2017-10-02 2024-02-06 VMware LLC Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SaaS provider
US11516049B2 (en) 2017-10-02 2022-11-29 Vmware, Inc. Overlay network encapsulation to forward data message flows through multiple public cloud datacenters
US11606225B2 (en) 2017-10-02 2023-03-14 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11855805B2 (en) 2017-10-02 2023-12-26 Vmware, Inc. Deploying firewall for virtual network defined over public cloud infrastructure
US11895194B2 (en) 2017-10-02 2024-02-06 VMware LLC Layer four optimization for a virtual network defined over public cloud
US11902086B2 (en) 2017-11-09 2024-02-13 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11582069B2 (en) 2018-06-13 2023-02-14 Nippon Telegraph And Telephone Corporation Network control device, user terminal, communication system, network control method, and network control program
JP7052580B2 (ja) 2018-06-13 2022-04-12 日本電信電話株式会社 ネットワーク制御装置、ユーザ端末、通信システム、ネットワーク制御方法およびネットワーク制御プログラム
WO2019240024A1 (ja) * 2018-06-13 2019-12-19 日本電信電話株式会社 ネットワーク制御装置、ユーザ端末、通信システム、ネットワーク制御方法およびネットワーク制御プログラム
JP2019216371A (ja) * 2018-06-13 2019-12-19 日本電信電話株式会社 ネットワーク制御装置、ユーザ端末、通信システム、ネットワーク制御方法およびネットワーク制御プログラム
US11831414B2 (en) 2019-08-27 2023-11-28 Vmware, Inc. Providing recommendations for implementing virtual networks
US11606314B2 (en) 2019-08-27 2023-03-14 Vmware, Inc. Providing recommendations for implementing virtual networks
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11716286B2 (en) 2019-12-12 2023-08-01 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11722925B2 (en) 2020-01-24 2023-08-08 Vmware, Inc. Performing service class aware load balancing to distribute packets of a flow among multiple network links
US11418997B2 (en) 2020-01-24 2022-08-16 Vmware, Inc. Using heart beats to monitor operational state of service classes of a QoS aware network link
US11689959B2 (en) 2020-01-24 2023-06-27 Vmware, Inc. Generating path usability state for different sub-paths offered by a network link
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11582144B2 (en) 2021-05-03 2023-02-14 Vmware, Inc. Routing mesh to provide alternate routes through SD-WAN edge forwarding nodes based on degraded operational states of SD-WAN hubs
US11509571B1 (en) 2021-05-03 2022-11-22 Vmware, Inc. Cost-based routing mesh for facilitating routing through an SD-WAN
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11375005B1 (en) * 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
US12034587B1 (en) 2023-03-27 2024-07-09 VMware LLC Identifying and remediating anomalies in a self-healing network
US12034630B2 (en) 2023-07-17 2024-07-09 VMware LLC Method and apparatus for distributed data network traffic optimization

Similar Documents

Publication Publication Date Title
JP2017059991A (ja) ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム
US10263889B2 (en) Data forwarding method, device, and system in software-defined networking
US11451467B2 (en) Global-scale connectivity using scalable virtual traffic hubs
JP5976942B2 (ja) ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法
US9203702B2 (en) Path calculation method
US9584369B2 (en) Methods of representing software defined networking-based multiple layer network topology views
US10749780B2 (en) Systems and methods for management of cloud exchanges
WO2014118938A1 (ja) 通信経路の管理方法
US20140192645A1 (en) Method for Internet Traffic Management Using a Central Traffic Controller
US20120008632A1 (en) Sharing Resource Reservations Among Different Sessions In RSVP-TE
US11855893B2 (en) Tag-based cross-region segment management
US20170085462A1 (en) Network Control Method and Apparatus
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
US11799755B2 (en) Metadata-based cross-region segment routing
US20190098061A1 (en) Packet forwarding apparatus for handling multicast packet
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
US10742554B2 (en) Connectivity management using multiple route tables at scalable virtual traffic hubs
US20160285734A1 (en) Cloud-environment provision system, route control method, and medium
CN114884873A (zh) 一种转发路径的确定方法及装置
US20170310581A1 (en) Communication Network, Communication Network Management Method, and Management System
JP2015122680A (ja) 論理ネットワークの構築方法、および、ネットワークシステム
JP7003876B2 (ja) 通信システム及び通信方法
WO2023096811A1 (en) Tag-based cross-region segment management
CN115811494A (zh) 用于sd-wan服务的自动基于应用的多路径路由
US11936558B1 (en) Dynamic evaluation and implementation of network mutations