(57)【特許請求の範囲】
【請求項１】
それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリを設定する複数のコントローラと、
自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチと、
前記通信経路に基づいて構築された仮想ネットワークのトポロジ情報に基づき、前記複数のコントローラによって管理される複数の前記仮想ネットワークを結合して視認可能に出力する管理装置と
を具備し、
前記管理装置は、前記仮想ネットワークを構成する仮想ノードを識別する仮想ノード情報を保持し、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ノードを特定し、前記共通の仮想ノードを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記仮想ノードは仮想ブリッジを含み、
前記仮想ノード情報には、対応する複数の前記仮想ブリッジの組合せが設定され、
前記管理装置は、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ブリッジを特定し、前記共通の仮想ブリッジを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムにおいて、
前記仮想ノードは前記仮想ブリッジの接続先として見える仮想エクスターナルを含み、
前記仮想ノード情報には、対応する複数の前記仮想エクスターナルの組合せが設定され、
前記管理装置は、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想エクスターナルを特定し、前記共通の仮想エクスターナルを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。
【請求項４】
請求項１に記載のコンピュータシステムにおいて、
前記仮想ノード情報には、仮想ノードとＶＬＡＮ名が対応付けられて設定され、
前記管理装置は、前記トポロジ情報に含まれるＶＬＡＮ名と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ノードを特定し、前記共通の仮想ノードを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。
【請求項５】
請求項１から４のいずれか１項に記載のコンピュータシステムにおいて、
前記管理装置は、前記複数のコントローラのいずれかに搭載される
コンピュータシステム。
【請求項６】
それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリを設定する複数のコントローラと、
自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチと
を具備するコンピュータシステムにおいて実行される仮想ネットワークの可視化方法であって、
管理装置が、前記複数のコントローラから、前記複数のコントローラによって管理される複数の前記仮想ネットワークのトポロジ情報を取得するステップと、
前記管理装置が、前記複数の仮想ネットワークのそれぞれのトポロジ情報に基づき、前記複数の仮想ネットワークを結合して視認可能に出力するステップと
を具備し、
前記管理装置は、前記仮想ネットワークを構成する仮想ノードを識別する仮想ノード情報を保持し、
前記複数の仮想ネットワークを結合して視認可能に出力するステップは、
前記管理装置が、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ノードを特定するステップと、
前記管理装置が、前記共通の仮想ノードを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。
【請求項７】
請求項６に記載の可視化方法において、
前記仮想ノードは仮想ブリッジを含み、
前記仮想ノード情報には、対応する複数の前記仮想ブリッジの組合せが設定され、
前記複数の仮想ネットワークを結合して視認可能に出力するステップは、
前記管理装置が、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ブリッジを特定するステップと、
前記管理装置が、前記共通の仮想ブリッジを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。
【請求項８】
請求項７に記載の可視化方法において、
前記仮想ノードは前記仮想ブリッジの接続先として見える仮想エクスターナルを含み、
前記仮想ノード情報には、対応する複数の前記仮想エクスターナルの組合せが設定され、
前記複数の仮想ネットワークを結合して視認可能に出力するステップは、
前記管理装置が、前記トポロジ情報と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想エクスターナルを特定するステップと、
前記管理装置が、前記共通の仮想エクスターナルを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。
【請求項９】
請求項６に記載の可視化方法において、
前記仮想ノード情報には、仮想ノードとＶＬＡＮ名が対応付けられて設定され、
前記複数の仮想ネットワークを結合して視認可能に出力するステップは、
前記管理装置が、前記トポロジ情報に含まれるＶＬＡＮ名と前記仮想ノード情報に基づいて前記複数の仮想ネットワークに共通の仮想ノードを特定するステップと、
前記管理装置が、前記共通の仮想ノードを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。
【請求項１０】
請求項６から９のいずれか１項に記載の可視化方法をコンピュータに実行させる可視化プログラムが記録された記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、及びコンピュータシステムの可視化方法に関し、特に、オープンフロー（プログラマブルフローとも称す）技術を利用したコンピュータシステムの仮想ネットワークの可視化方法に関する。
【背景技術】
【０００２】
従来、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。近年、データセンタといった大規模ネットワークにおいては、故障による機器の停止や規模拡大のための機器の新規追加により、ネットワーク構成の変化が常に発生している。このため、ネットワークの構成の変化に即応し適切な経路を決定するという柔軟性が必要となってきた。しかし、スイッチにおける経路決定処理のプログラムは、外部から変更することができないため、ネットワーク全体を一元的に制御及び管理することはできなかった。【０００３】
一方、コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術（オープンフロー）が、Ｏｐｅｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｆｏｕｎｄａｔｉｏｎによって提案されている（非特許文献１参照）。この技術に対応したネットワークスイッチ（以下、オープンフロースイッチ（ＯＦＳ）と称す）は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。【０００４】
オープンフロープロトコルを利用したシステムでは、オープンフローコントローラ（プログラマブルフローコントローラとも称す。以下ＯＦＣと称す）によって通信経路の設定や、経路上のＯＦＳに対する転送動作（中継動作）等の設定が行われる。この際、ＯＦＣは、ＯＦＳが保持するフローテーブルに、フロー（パケットデータ）を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のＯＦＳは、ＯＦＣによって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、クライアント端末は、ＯＦＣによって設定された通信経路を利用して他のクライアント端末との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するＯＦＣと、転送処理を行うＯＦＳとが分離され、システム全体の通信を一元的に制御及び管理することが可能となる。【０００５】
ＯＦＣは、Ｌ１〜Ｌ４のヘッダ情報によって規定されるフロー単位で、クライアント端末間の転送を制御できるため、ネットワークを任意に仮想化することができる。これにより、物理構成の制約は緩和され、仮想テナント環境の構築が容易となるとともに、スケールアウトによる初期投資費用を低減することができる。【０００６】
オープンフローを利用したシステムに接続するクライアント端末やサーバ、ストレージ等の端末数が増大すると、フローを管理するＯＦＣに対する負荷が増大する。このため、ＯＦＣに対する負荷を軽減するため、１つのシステム（ネットワーク）に複数のＯＦＣが設置されることがある。あるいは、通常、データセンタ毎に１つのＯＦＣが設置されるため、複数のデータセンタを有するシステムの場合、システム全体におけるネットワークを複数のＯＦＣが管理することとなる。【０００７】
１つのネットワークを複数のコントローラで管理するシステムが、例えば、特開２０１１−１６６６９２号公報（特許文献１参照）、特開２０１１−１６６３８４号公報（特許文献２参照）、特開２０１１−１６０３６３号公報（特許文献３参照）に記載されている。特許文献１には、オープンフローを利用したネットワークのフロー制御を、トポロジ情報を共有した複数のコントローラで行うシステムが記載されている。特許文献２には、通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示する複数のコントローラと、優先度に応じてフローエントリの設定許否を判定し、自身に設定されたフローエントリに適合する受信パケットに対し、自身設定されたフローエントリに従った中継動作を行うスイッチとを具備するシステムが記載されている。特許文献３には、通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラ１と、複数のコントローラ１の１つを経路決定者として指定し、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチとを具備するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−１６６６９２号公報
【特許文献２】特開２０１１−１６６３８４号公報
【特許文献３】特開２０１１−１６０３６３号公報
【非特許文献】
【０００９】
【非特許文献１】ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （  Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２  ）  ２０１１年２月２８日
【発明の概要】
【００１０】
１つの仮想ネットワークを複数のコントローラで管理する場合、コントローラ毎で管理している仮想ネットワークの状況等は個々において把握できるが、複数のコントローラによって管理される仮想ネットワーク全体を１つの仮想ネットワークとして把握することはできない。例えば、２つのＯＦＣによって管理される２つの仮想ネットワーク“ＶＮＷ１”、“ＶＮＷ２”によって１つの仮想テナントネットワーク“ＶＴＮ１”が形成される場合、２つの仮想ネットワーク“ＶＮＷ１”、“ＶＮＷ２”のそれぞれの状況は、２つのＯＦＣのそれぞれによって把握され得る。しかし、２つの仮想ネットワーク“ＶＮＷ１”、“ＶＮＷ２”を統合することはできないため、仮想テナントネットワーク“ＶＴＮ１”全体の状況を一元的に把握することはできなかった。
【００１１】
従って、本発明による目的は、オープンフロー技術を利用した複数のコントローラによって制御された仮想ネットワーク全体を一元的に管理することにある。
【００１２】
本発明の一の観点によるコンピュータシステムは、複数のコントローラと、スイッチと、管理装置とを具備する。複数のコントローラのそれぞれは、通信経路を算出し、通信経路上のスイッチに対して、フローエントリを設定する。スイッチは、自身のフローテーブルに設定されたフローエントリに従って、受信パケットの中継動作を行う。管理装置は、通信経路に基づいて構築された仮想ネットワークのトポロジ情報に基づき、複数のコントローラによって管理される複数の仮想ネットワークを結合して視認可能に出力する。
【００１３】
本発明の他の観点による仮想ネットワークの可視化方法は、それぞれが、通信経路を算出し、通信経路上のスイッチに対して、フローエントリを設定する複数のコントローラと、自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチとを具備するコンピュータシステムにおいて実行される。本発明による可視化方法は、管理装置が、複数のコントローラから、複数のコントローラによって管理される複数の仮想ネットワークのトポロジ情報を取得するステップと、管理装置が、複数の仮想ネットワークのそれぞれのトポロジ情報に基づき、複数の仮想ネットワークを結合して視認可能に出力するステップとを具備する。
【００１４】
本発明による仮想ネットワークの可視化方法は、コンピュータによって実行される可視化プログラムによって実現されることが好ましい。
【００１５】
本発明によれば、オープンフロー技術を利用した複数のコントローラによって制御された仮想ネットワーク全体を一元的に管理することができる。
【図面の簡単な説明】
【００１６】
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
【図１】図１は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。
【図２】図２は、本発明によるオープンフローコントローラの実施の形態における構成を示す図である。
【図３】図３は、本発明によるオープンフローコントローラが保持するＶＮトポロジ情報の一例を示す図である。
【図４】図４は、本発明によるオープンフローコントローラが保持するＶＮトポロジ情報の概念図である。
【図５】図５は、本発明による管理装置の実施の形態における構成を示す図である。
【図６】図６は、本発明による管理装置が保持する仮想ノード情報の一例を示す図である。
【図７】図７は、本発明による管理装置が保持する仮想ノード情報の他の一例を示す図である。
【図８】図８は、図１に示す複数のオープンフローコントローラのそれぞれが保持するＶＮトポロジ情報の一例を示す図である。
【図９】図９は、図８に示すＶＮトポロジ情報を統合して生成された、仮想ネットワーク全体のＶＴＮトポロジ情報の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
【００１８】
（コンピュータシステムの構成）
図１を参照して、本発明によるコンピュータシステムの構成を説明する。図１は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。本発明によるコンピュータシステムは、オープンフローコントローラ１−１〜１−５（以下、ＯＦＣ１−１〜１−５と称す）、複数のオープンフロースイッチ２（以下、ＯＦＳ２と称す）、複数のＬ３ルータ３、複数のホスト４（例えばストレージ４−１、サーバ４−２、クライアント端末４−３）、管理装置１００を具備する。尚、ＯＦＣ１−１〜１−５を区別せずに総称する場合はＯＦＣ１と称す。
【００１９】
ホスト４は、図示しないＣＰＵ、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、他のホスト４との間で通信を行う。ホスト４間の通信は、スイッチ２又はＬ３ルータ３を介して行われる。ホスト４は、実行するプログラムやそのハードウェア構造に応じて、ストレージ４−１、サーバ（例えばＷｅｂサーバ、ファイルサーバ、アプリケーションサーバ）、あるいはクライアント端末４−３等に例示される機能を実現する。
【００２０】
ＯＦＣ１は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御するフロー制御部１２を備える。オープンフロー技術とは、コントローラ（ここではＯＦＣ１）が、ルーティングポリシー（フローエントリ：フロー＋アクション）に従い、マルチレイヤ及びフロー単位の経路情報をＯＦＳ２に設定し、経路制御やノード制御を行う技術を示す（詳細は、非特許文献１を参照）。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるＯＦＳ２は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、ＥＮＤ２ＥＮＤのフローとして通信を取り扱う。
【００２１】
ＯＦＣ１は、ＯＦＳ２が保持するフローテーブル（図示なし）にフローエントリ（ルール＋アクション）を設定することで当該ＯＦＳ２の動作（例えばパケットデータの中継動作）を制御する。ＯＦＣ１によるＯＦＳ２に対するフローエントリの設定や、ＯＦＳ２からＯＦＣ１に対するファーストパケットの通知（パケットＩＮ）は、制御用ネットワーク２００（以下、制御用ＮＷ２００と称す）を介して行われる。
【００２２】
図１に示す一例では、データセンタＤＣ１内のネットワーク（ＯＦＳ２）を制御するＯＦＣ１としてＯＦＣ１−１〜１−４が設置され、データセンタＤＣ２内のネットワーク（ＯＦＳ２）を制御するＯＦＣ１としてＯＦＣ１−５が設置されている。ＯＦＣ１−１〜１−４は、データセンタＤＣ１内のＯＦＳ２と制御ＮＷ２００−１を介して接続され、ＯＦＣ１−５は、データセンタＤＣ２内のＯＦＳ２と制御ＮＷ２００−２を介して接続されている。又、データセンタＤＣ１のネットワーク（ＯＦＳ２）とデータセンタＤＣ２のネットワーク（ＯＦＳ２）は、レイヤ３でルーティングを行うＬ３ルータ３を介して接続された異なるＩＰアドレス範囲のネットワーク（サブネットワーク）である。
【００２３】
図２を参照して、ＯＦＣ１の構成の詳細を説明する。図２は、本発明によるＯＦＣ１の構成を示す図である。ＯＦＣ１は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。ＯＦＣ１では、図示しないＣＰＵが記憶装置に格納されたプログラムを実行することで、図２に示すＶＮトポロジ情報通知部１１、フロー制御部１２の各機能が実現される。又、ＯＦＣ１は、記憶装置に格納されたＶＮトポロジ情報１３を保持する。
【００２４】
フロー制御部１２は、自身が管理するＯＦＳ２にフローエントリ（ルール＋アクション）の設定又は削除を行う。この際、フロー制御部１２は、フローエントリ（ルール＋アクション情報）にＯＦＣ１を識別するコントローラＩＤを対応付けてＯＦＳ２のフローテーブルに設定する。ＯＦＳ２は、設定されたフローエントリを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション（例えばパケットデータの中継や破棄）を実行する。ルール、アクションの詳細は後述する。
【００２５】
ルールには、例えば、ＴＣＰ／ＩＰのパケットデータにおけるヘッダ情報に含まれる、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレスや識別子の組み合わせが規定される。例えば、レイヤ１の物理ポート、レイヤ２のＭＡＣアドレス、ＶＬＡＮタグ（ＶＬＡＮ  ｉｄ）、レイヤ３のＩＰアドレス、レイヤ４のポート番号のそれぞれの組み合わせがルールとして設定される。尚、ＶＬＡＮタグには、優先順位（ＶＬＡＮ  Ｐｒｉｏｒｉｔｙ）が付与されていても良い。
【００２６】
ここで、ルールに設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルールとして設定されルことが好ましい。例えば、ＭＡＣ宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルールとして設定される。更に、データ転送プロトコルを特定する識別子をルールとして設定してもよい。
【００２７】
アクションには、例えばＴＣＰ／ＩＰのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションには、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
【００２８】
ＯＦＣ１によるフロー制御により、予め設定された仮想ネットワーク（ＶＮ）がＯＦＣ１毎に構築される。又、ＯＦＣ１毎に管理される少なくとも１つの仮想ネットワーク（ＶＮ）により１つの仮想テナントネットワーク（ＶＴＮ）が構築される。例えば、異なるＩＰネットワークを制御するＯＦＣ１−１〜１−５のそれぞれに管理される仮想ネットワークによって、１つの仮想テナントネットワークＶＴＮ１が構築される。あるいは、同一ＩＰネットワークを制御するＯＦＣ１−１〜１−４のそれぞれに管理される仮想ネットワークによって、１つの仮想テナントネットワークＶＴＮ２が構築されても良い。更には、１つのＯＦＣ１（例えばＯＦＣ１−５）によって管理される仮想ネットワークが１つの仮想テナントネットワークＶＴＮ３を構成しても良い。尚、図１に示すように、仮想テナントネットワーク（ＶＴＮ）は、システム内に複数構築されても良い。
【００２９】
ＶＮトポロジ情報通知部１１は、自身が管理する仮想ネットワーク（ＶＮ）のＶＮトポロジ情報１３を管理装置１００に通知する。ＶＮトポロジ情報１３は、図３及び図４に示すように、ＯＦＣ１が管理（制御）する仮想ネットワーク（ＶＮ）のトポロジに関する情報を含む。図１を参照して、本発明によるコンピュータシステムは、複数のＯＦＣ１によって制御されることで複数の仮想テナントネットワークＶＴＮ１、ＶＴＮ２、・・・を実現している。仮想テナントネットワークには、ＯＦＣ１−１〜１−５のそれぞれが管理（制御）する仮想ネットワーク（ＶＮ）を含んでいる。ＯＦＣ１は、自身が管理する仮想ネットワーク（以下、管理対象仮想ネットワークと称す）のトポロジに関する情報をＶＮトポロジ情報１３として保持する。
【００３０】
図３は、ＯＦＣ１が保持するＶＮトポロジ情報１３の一例を示す図である。図４は、ＯＦＣ１が保持するＶＮトポロジ情報１３の概念図である。ＶＮトポロジ情報１３は、ＯＦＳ２や図示しないルータ等の物理スイッチによって実現される仮想ネットワークにおける仮想ノードの接続状況に関する情報を含む。具体的には、ＶＮトポロジ情報１３は、管理対象仮想ネットワークに属する仮想ノードを識別する情報（仮想ノード情報１３２）と、当該仮想ノードの接続状況を示す接続情報１３３を含む。仮想ノード情報１３２と接続情報１３３は、管理対象仮想ネットワークが属する仮想ネットワーク（例えば、仮想テナントネットワーク）の識別子であるＶＴＮ番号１３１に対応付けられて記録される。
【００３１】
例えば、仮想ノード情報１３２には、仮想ノードとして仮想ブリッジ、仮想エクスターナル、仮想ルータのそれぞれを特定する情報を含む。仮想エクスターナルとは、仮想ブリッジの接続先となる端末（ホスト）やルータを示す。仮想ノード情報１３２は、例えば、仮想ノードが接続するＶＬＡＮ名とＭＡＣアドレス（又はポート番号）との組合せによって定義される。一例として、仮想ルータの識別子（仮想ルータ名）にＭＡＣアドレス（又はポート番号）が対応付けられて仮想ノード情報１３２として設定される。ここで、仮想ブリッジ名、仮想エクスターナル名、仮想ルータ名等に例示される仮想ノード名は、仮想ノード情報１３２としてＯＦＣ１毎に固有に設定されても良いし、システム内の全てのＯＦＣ１に共通の名称が設定されても良い。
【００３２】
接続情報１３３は、仮想ノードの接続先を特定する情報を含み、当該仮想ノードの仮想ノード情報１３２に対応付けられる。例えば、図４を参照して、仮想ブリッジ（ｖＢｒｉｄｇｅ）“ＶＢ１１”の接続先として仮想ルータ（ｖＲｏｕｔｅｒ）“ＶＲ１１”と仮想エクスターナル（ｖＥｘｔｅｒｎａｌ）“ＶＥ１１”が接続情報１３３として設定される。接続情報１３３には、接続相手を特定する接続種別（ブリッジ／エクスターナル／ルータ／外部ネットワーク（Ｌ３ルータ）や、接続先を特定する情報（例えばポート番号、ＭＡＣアドレス、ＶＬＡＮ名）が含まれても良い。詳細には、仮想ブリッジの識別子（仮想ブリッジ名）に当該仮想ブリッジに属するＶＬＡＮ名が対応付けられて接続情報１３３として設定される。又、仮想エクスターナルの識別子（仮想エクスターナル名）に、ＶＬＡＮ名とＭＡＣアドレス（又はポート番号）との組合せが対応付けられて接続情報１３３として設定される。すなわち、仮想エクスターナルは、ＶＬＡＮ名とＭＡＣアドレス（又はポート番号）との組合せによって定義される。
【００３３】
図４を参照して、ＯＦＣ１が保持するＶＮトポロジ情報１３に基づいて作成された仮想ネットワークの一例を説明する。図４に示す仮想ネットワークは、仮想テナントネットワークＶＴＮ１に属し、仮想ルータ“ＶＲ１１”、仮想ブリッジ“ＶＢ１１”、“ＶＢ１２”、仮想エクスターナル“ＶＥ１１”、“ＶＥ１２”によって構成される。仮想ブリッジ“ＶＢ１１”、“ＶＢ１２”は仮想ルータ“ＶＲ１１”を介して接続される別サブネットワークである。仮想ブリッジ“ＶＢ１１”には、仮想エクスターナル“ＶＥ１１”が接続され、仮想エクスターナル“ＶＥ１１”には、ＯＦＣ１−２“ＯＦＣ２”が管理する仮想ルータ“ＶＲ２２”のＭＡＣアドレスが対応付けられている。これは、仮想ブリッジ“ＶＢ１１”から、ＯＦＣ１−２“ＯＦＣ２”が管理する仮想ルータ“ＶＲ２２”のＭＡＣアドレスが見えていることを示す。同様に、仮想ブリッジ“ＶＢ１２”には、仮想エクスターナル“ＶＥ１２”が接続され、仮想エクスターナル“ＶＥ１２”には、Ｌ３ルータが対応付けられている。これは、仮想ブリッジ“ＶＢ１２”がＬ３ルータを介して外部ネットワークに接続されていることを示す。
【００３４】
図１を参照して、ＶＮトポロジ情報通知部１１は、自身が管理するＶＮトポロジ情報１３をセキュアな管理用ネットワーク３００（以下、管理用ＮＷ３００と称す）を介して管理装置１００に通知する。管理装置１００は、ＯＦＣ１−１〜１−５から収集したＶＮトポロジ情報１３を、仮想ノード情報１０５に基づいて結合し、システム全体の仮想ネットワーク（例えば仮想テナントネットワークＶＴＮ１、ＶＴＮ２、・・・）を生成する。
【００３５】
図５を参照して、管理装置１００の構成の詳細を説明する。図５は、本発明による管理装置１００の実施の形態における構成を示す図である。管理装置１００は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。管理装置１００では、図示しないＣＰＵが記憶装置に格納された可視化プログラムを実行することで、図５に示すＶＮ情報収集部１０１、ＶＮトポロジ結合部１０２、ＶＴＮトポロジ出力部１０３の各機能が実現される。又、管理装置１００は、記憶装置に格納されたＶＴＮトポロジ情報１０４及び仮想ノード情報１０５を保持する。尚、ＶＴＮトポロジ情報１０４は、初期状態では記録されてなく、ＶＮトポロジ結合部１０２によって生成された時点で初めて記録される。一方、仮想ノード情報１０５は、初期状態において予め設定されていることが好ましい。
【００３６】
ＶＮ情報収集部１０１は、管理用ＮＷ３００を介してＯＦＣ１に対してＶＮトポロジ情報収集指示を発行し、ＯＦＣ１からＶＮトポロジ情報１３を取得する。取得したＶＮトポロジ情報１３は、図示しない記憶装置に一時記憶される。
【００３７】
ＶＮトポロジ結合部１０２は、仮想ノード情報１０５に基づいて、取得したＶＮトポロジ情報１３をシステム全体における仮想ネットワーク単位（例えば仮想テナントネットワーク単位）で結合（統合）し、システム全体における仮想ネットワークに対応するトポロジ情報を生成する。ＶＮトポロジ結合部１０２によって生成されたトポロジ情報は、ＶＴＮトポロジ情報１０４として記録されるとともに、ＶＴＮトポロジ出力部１０３によって視認可能に出力される。例えば、ＶＴＮトポロジ出力部１０３は、ＶＴＮトポロジ情報１０４をモニタ等の出力装置（図示なし）に、テキスト形式又はグラフィカルに表示させる。ＶＴＮトポロジ情報１０４は、図３に示すＶＮトポロジ情報１３と同様な構成であり、ＶＴＮ番号に対応付けられた仮想ノード情報及び接続情報を含む。
【００３８】
ＶＮトポロジ結合部１０２は、ＯＦＣ１から取得したＶＮトポロジ情報１３と、仮想ノード情報１０５とに基づいて、ＯＦＣ１毎の管理対象仮想ネットワーク上の仮想ノードのうち、共通の（同一の）仮想ノードを特定する。ＶＮトポロジ結合部１０２は、共通の仮想ノードを介して当該仮想ノードが属する仮想ネットワークを結合する。ここで、ＶＮトポロジ結合部１０２は、同一ＩＰアドレス範囲の仮想ネットワーク（サブネット）同士を接続する場合、当該ネットワークに共通の仮想ブリッジを介して仮想ネットワークの結合を行う。又、ＶＮトポロジ結合部１０２は、異なるＩＰアドレス範囲の仮想ネットワーク（サブネット）同士を接続する場合、当該ネットワークに共通の仮想エクスターナルを介して仮想ネットワークの結合を行う。
【００３９】
仮想ノード情報１０５は、同一の仮想ノードに対してＯＦＣ１毎に固有に付与された仮想ノード名を対応付ける情報である。図６は、本発明による管理装置１００が保持する仮想ノード情報１０５の一例を示す図である。図６に示す仮想ノード情報１０５は、コントローラ名５１、共通仮想ノード名５２、対応仮想ノード名５３を含む。詳細には、ＯＦＣ毎に設定される仮想ノード名のうち同一の仮想ノードとして対応する仮想ノード名が、対応仮想ノード名５３として共通仮想ノード名５２に対応付けられて記録される。図６に示す一例では、コントローラ名５１が“ＯＦＣ１”のＯＦＣ１に設定される仮想ブリッジ“ＶＢｘ１”と、“ＯＦＣ２”のＯＦＣ１に設定される仮想ブリッジ“ＶＢｙ１”が、共通仮想ノード名“ＶＢ１”に対応付けられて、仮想ノード情報１０５として設定される。この場合、ＶＮトポロジ結合部１０２は、コントローラ名５１及び対応仮想ノード名５３をキーとして仮想ノード情報１０５を参照することで、ＯＦＣ１“ＯＦＣ１”から通知されたＶＮトポロジ情報１３に含まれる仮想ブリッジ“ＶＢｘ１”と、ＯＦＣ１“ＯＦＣ２”から通知されたＶＮトポロジ情報１３に含まれる仮想ブリッジ“ＶＢｙ１”が、同一の仮想ブリッジ“ＶＢ１”であると認識できる。同様に、ＶＮトポロジ結合部１０２は、図６に示す仮想ノード情報１０５を参照することで、ＯＦＣ１“ＯＦＣ１”で設定される仮想ブリッジ“ＶＢｘ２”とＯＦＣ１“ＯＦＣ２”で設定される仮想ブリッジ“ＶＢｙ２”を、同一の仮想ブリッジ“ＶＢ２”として認識することができる。又、ＯＦＣ１“ＯＦＣ１”に設定される仮想エクスターナル“ＶＥｘ１”と、ＯＦＣ１“ＯＦＣ２”に設定される仮想エクスターナル“ＶＥｘ２”が、共通仮想ノード名“ＶＥ１”に対応付けられて、仮想ノード情報１０５として設定される。この場合、ＶＮトポロジ結合部１０２は、仮想ノード情報１０５を参照することで、ＯＦＣ１“ＯＦＣ１”から通知されたＶＮトポロジ情報１３に含まれる仮想エクスターナル“ＶＥｘ１”と、ＯＦＣ１“ＯＦＣ２”から通知されたＶＮトポロジ情報１３に含まれる仮想エクスターナル“ＶＥｙ１”が同一の仮想エクスターナル“ＶＥ１”であると認識できる。同様に、図６に示す仮想ノード情報１０５を参照することで、ＶＮトポロジ結合部１０２は、ＯＦＣ１“ＯＦＣ１”で設定される仮想エクスターナル“ＶＥｘ２”とＯＦＣ１“ＯＦＣ２”で設定される仮想ブリッジ“ＶＥｙ２”を、同一の仮想ブリッジ“ＶＥ２”として認識することができる。
【００４０】
図７は、本発明による管理装置１００が保持する仮想ノード情報１０５の他の一例を示す図である。図７に示す仮想ノード情報１０５は、仮想ノード名６１、ＶＬＡＮ名６２、ＭＡＣアドレス６３を含む。詳細には、仮想ノードが属するＶＬＡＮや仮想ノードに属するＭＡＣアドレスが、当該仮想ノードの名称（仮想ノード名６１）に対応付けられて、仮想ノード情報１０５として設定される。図７に示される仮想ノード情報１０５が登録されている場合、ＶＮ情報収集部１０１は、仮想ノードが属するＶＬＡＮ名や仮想ノードに属するＭＡＣアドレスを含む仮想ノード情報１３２をＯＦＣ１から収集する。ＶＮトポロジ結合部１０２は、仮想ノード情報１０５を参照して、ＯＦＣ１からの仮想ノード情報１３２に含まれるＶＬＡＮ名やＭＡＣアドレスをキーとして仮想ノード名６１を特定し、当該仮想ノード情報１３２に含まれる仮想ノード名に対応付ける。これにより、ＶＮトポロジ結合部１０２は、他のＯＦＣから取得した仮想ノード名が異なっていても、ＶＬＡＮ名やＭＡＣアドレスによって特定した仮想ノード名６１が一致する仮想ノードを、同一の仮想ノードとして認識することができる。
【００４１】
（仮想ネットワークの結合（統合）動作）
次に、図８及び図９を参照して、管理装置１００における仮想ネットワークの結合動作の詳細を説明する。図８は、図１に示す複数のＯＦＣ１−１〜１−５のそれぞれが保持する仮想テナントネットワークＶＴＮ１に属する仮想ネットワークのＶＮトポロジ情報１３の一例を示す図である。
【００４２】
図８を参照して、ＯＦＣ１−１“ＯＦＣ１”は、自身の管理対象仮想ネットワークのＶＮトポロジ情報１３として、相互に接続された仮想ブリッジ“ＶＢ１１”及び仮想エクスターナル“ＶＥ１１”を保持する。ＯＦＣ１−２“ＯＦＣ２”は、自身の管理対象仮想ネットワークのＶＮトポロジ情報１３として、仮想ルータ“ＶＲ２１”、仮想ブリッジ“ＶＢ２１”、“ＶＢ２２”、仮想エクスターナル“ＶＥ２１”、“ＶＥ２２”を保持する。仮想ブリッジ“ＶＢ２１”、“ＶＢ２２”は仮想ルータ“ＶＲ２１”を介して接続される別サブネットワークを示す。仮想ブリッジ“ＶＢ２１”には、仮想エクスターナル“ＶＥ２１”が接続されている。仮想ブリッジ“ＶＢ２２”には、仮想エクスターナル“ＶＥ２２”が接続され、仮想エクスターナル“ＶＥ２２”には、Ｌ３ルータ“ＳＷ１”が対応付けられている。ＯＦＣ１−３“ＯＦＣ３”は、自身の管理対象仮想ネットワークのＶＮトポロジ情報１３として、仮想ブリッジ“ＶＢ３１”、仮想エクスターナル“ＶＥ３１”、“ＶＥ３２”を保持する。ＯＦＣ１−４“ＯＦＣ４”は、自身の管理対象仮想ネットワークのＶＮトポロジ情報１３として、仮想ブリッジ“ＶＢ４１”、仮想エクスターナル“ＶＥ４１”を保持する。ＯＦＣ１−５“ＯＦＣ５”は、自身の管理対象仮想ネットワークのＶＮトポロジ情報１３として、仮想ルータ“ＶＲ５１”、仮想ブリッジ“ＶＢ５１”、“ＶＢ５２”、仮想エクスターナル“ＶＥ５１”、“ＶＥ５２”を保持する。仮想ブリッジ“ＶＢ５１”、“ＶＢ５２”は仮想ルータ“ＶＲ５１”を介して接続される別サブネットワークを示す。仮想ブリッジ“ＶＢ５１”には、仮想エクスターナル“ＶＥ５１”が接続され、仮想エクスターナル“ＶＥ５１”には、Ｌ３ルータ“ＳＷ２”が対応付けられている。仮想ブリッジ“ＶＢ５２”には、仮想エクスターナル“ＶＥ５２”が接続されている。
【００４３】
管理装置１００のＶＮ情報収集部１０１は、仮想テナントネットワーク“ＶＴＮ１”に対するＶＮトポロジ情報収集指示をＯＦＣ１−１〜１−５に発行する。ＯＦＣ１−１〜１−５のそれぞれは、仮想テナントネットワーク“ＶＴＮ１”に属するＶＮトポロジ情報１３を、管理用ＮＷ３００を介して管理装置１００に通知する。これにより、管理装置１００は、例えば図８に示すＶＮトポロジ情報１３を、ＯＦＣ１−１〜１−５のそれぞれから収集する。管理装置１００のＶＮトポロジ結合部１０２は、仮想ノード情報１０５を参照して、収集したＶＮトポロジ情報１３において共通の仮想ノードを特定する。ここでは、仮想ノード情報１０５において、仮想ブリッジ“ＶＢ１１”、“ＶＢ２１”、及び“ＶＢ３１”、“ＶＢ４１”が仮想ブリッジ“ＶＢ１”として対応付けられて登録され、仮想エクスターナル“ＶＥ２２”と“ＶＥ５１”が仮想エクスターナル“ＶＥ１”として対応付けられて登録されているものとする。ＶＮトポロジ結合部１０２は、仮想ノード情報１０５を参照し、２つの仮想ネットワーク上の仮想ブリッジが対応づけられている場合、当該仮想ネットワークがＬ２接続しているものとみなす。この場合、ＶＮトポロジ結合部１０２は、対応づけられた仮想ブリッジを介して当該仮想ネットワークを結合する。本一例では、ＶＮトポロジ結合部１０２は、仮想ノード情報１０５に基づき、対応する仮想ブリッジ“ＶＢ１１”、“ＶＢ２１”、及び“ＶＢ３１”、“ＶＢ４１”を同一の仮想ブリッジ“ＶＢ１”として仮想ルータ“ＶＲ２１”に接続する。又、ＶＮトポロジ結合部１０２は、仮想ノード情報１０５を参照し、２つの仮想ネットワーク上の仮想エクスターナルが対応づけられている場合、当該仮想ネットワークがＬ３接続しているものとみなす。この場合、ＶＮトポロジ結合部１０２は、対応づけられた仮想エクスターナルを介して当該仮想ネットワークを結合する。本一例では、ＶＮトポロジ結合部１０２は、仮想エクスターナル“ＶＥ２２”と“ＶＥ５１が対応しているため、仮想エクスターナル“ＶＥ２２”と“ＶＥ５１を同一の仮想エクスターナル“ＶＥ1”として仮想ブリッジ“ＶＢ２２”、“ＶＢ５１”間を接続する。このように、ＶＮトポロジ結合部１０２は、図８に示すＯＦＣ１毎のＶＮトポロジ情報１３を結合（統合）し、図９に示す仮想テナントネットワーク“ＶＴＮ１”全体のトポロジ情報（ＶＴＮトポロジ情報１０４）を生成、記録する。
【００４４】
生成されたＶＴＮトポロジ情報１０４は、図９に示すように視認可能に出力される。これにより、ネットワーク管理者は、図１に示すシステム全体における仮想ネットワークのトポロジを一元的に管理することが可能となる。
【００４５】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、図１に示す管理装置１００は、ＯＦＣ１とは別に設けられているが、これに限らず、ＯＦＣ１−１〜ＯＦＣ１−５のいずれかに設けられても構わない。又、図１では、コンピュータシステムでは、５つのＯＦＣ１が設けられた形態を示したが、ネットワークに接続されるＯＦＣ１の数やホスト４の数は、これに限らない。
【００４６】
尚、本出願は、日本特許出願番号２０１２−０２７７７９に基づき、日本特許出願番号２０１２−０２７７７９における開示内容は引用により本出願に組み込まれる。
【図１】
0005967109.tif 000002
【図２】
0005967109.tif 000003
【図３】
0005967109.tif 000004
【図４】
0005967109.tif 000005
【図５】
0005967109.tif 000006
【図６】
0005967109.tif 000007
【図７】
0005967109.tif 000008
【図８】
0005967109.tif 000009
【図９】
0005967109.tif 000010