(57)【要約】  本発明は、単一のネットワークにて複数のクライアントへ仮想ネットワークを提供する。制御装置は、物理リソースの状態に基づいて、仮想ネットワークを構築する構築手段と、前記構築手段によって構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離させるリソース分離手段と、を備える。
2016148002.tif 000002
【特許請求の範囲】
【請求項１】
物理リソースの状態に基づいて、仮想ネットワークを構築する構築手段と、
前記構築手段によって構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離させるリソース分離手段と、
を備える制御装置。
【請求項２】
前記構築手段は、他の仮想ネットワークに割り当てられた物理リソースとは異なる物理リソースを割り当てることで仮想ネットワークを構築する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記物理リソースは、物理ノードのポートを含み、
前記構築手段は、前記物理ノードを用いて実現され、他の仮想ネットワークに割り当てられたポートとは異なるポートを割り当てることにより前記仮想ネットワークを構築する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記物理リソースは、物理ネットワーク上のパスの少なくとも一部を実現する物理リンクを含み、
前記構築手段は、前記パスの少なくとも一部を共有し、かつ、他の仮想ネットワークに割り当てられた物理リンクとは異なる物理リンクを割り当てることで前記仮想ネットワークを構築する
ことを特徴とする請求項１乃至３のいずれか一に記載の制御装置。
【請求項５】
前記構築手段によって構築された仮想ネットワークは、それぞれ当該仮想ネットワークを識別するための識別子を有し、
前記リソース分離手段は、前記識別子に対応する仮想ネットワークに割り当てられたリソースを分離させる請求項１乃至４のいずれか一に記載の制御装置。
【請求項６】
前記構築手段は、第１の物理ネットワークのトポロジと、前記第１の物理ネットワークよりも上位レイヤの第２の物理ネットワークのトポロジとに基づいて、前記第１、第２のネットワークを統合した仮想ネットワークのトポロジを構築し、
前記リソース分離手段は、前記仮想ネットワークのトポロジの中から指定された識別子を持つ仮想ネットワークのトポロジを分離する請求項１乃至５のいずれか一に記載の制御装置。
【請求項７】
前記構築手段は、互いにレイヤの異なる複数の物理ネットワークのトポロジに関する情報に基づいて、当該複数の物理ネットワーク上に実現される仮想ネットワークを構築する
ことを特徴とする請求項１乃至６のいずれか一に記載の制御装置。
【請求項８】
さらに、前記リソース分離手段が表示させる内容に基づいて、ユーザからフローの操作を受け付けるフロー操作受付手段を備え、
前記構築手段は、前記フロー操作受付手段が受け付けたフローの操作に対応する前記第１、第２の物理ネットワークの端点を特定して、前記第１、第２の物理ネットワークを制御する請求項６又は７に記載の制御装置。
【請求項９】
物理リソースの状態に基づいて構築された１又は２以上の仮想ネットワークの情報を取得する取得手段と、
前記仮想ネットワークに割り当てられたリソースを、仮想ネットワークごとに分離させるリソース分離手段と、
を備える情報処理装置。
【請求項１０】
前記取得手段は、前記仮想ネットワークのうち、表示対象となる仮想ネットワークに割り当てられた物理リソースの情報を取得する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記物理リソースは、物理ノードのポートを含み、
前記取得手段は、前記仮想ネットワークのうち、表示対象となる仮想ネットワークに割り当てられたポートの情報を取得する
ことを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記物理リソースは、物理ネットワーク上のパスの少なくとも一部を実現する物理リンクを含み、
前記取得手段は、前記仮想ネットワークのうち、表示対象となる仮想ネットワークに割り当てられた物理リンクの情報を取得する
ことを特徴とする請求項９乃至１１のいずれか一に記載の情報処理装置。
【請求項１３】
前記仮想ネットワークは、それぞれ当該仮想ネットワークを識別するための識別子を有し、
前記リソース分離手段は、前記識別子に対応する仮想ネットワークに割り当てられたリソースを分離させる請求項９乃至１２のいずれか一に記載の情報処理装置。
【請求項１４】
前記取得手段は、互いにレイヤの異なる複数の物理ネットワークのトポロジに関する情報に基づいて構築され、当該複数の物理ネットワーク上に実現される仮想ネットワークの情報を取得する
ことを特徴とする請求項９乃至１３のいずれか一に記載の情報処理装置。
【請求項１５】
前記第１の制御装置の前記構築手段は、第１の物理ネットワークのトポロジと、前記第１の物理ネットワークよりも上位レイヤの第２の物理ネットワークのトポロジとに基づいて、前記第１、第２のネットワークを統合した仮想ネットワークのトポロジを構築し、
前記リソース分離手段は、前記仮想ネットワークのトポロジの中から指定された識別子を持つ仮想ネットワークのトポロジを分離する請求項９乃至１４のいずれか一に記載の情報処理装置。
【請求項１６】
さらに、前記リソース分離手段が表示させた内容に基づいて、ユーザからフローの操作を受け付けるフロー操作受付手段を備え、
前記フロー操作受付手段が受け付けたフローの操作を前記第１の制御装置に通知し、
前記第１の制御装置に、前記フローの操作に対応する前記第１、第２の物理ネットワークの端点を特定させ、前記第１、第２の物理ネットワークを制御させる請求項９乃至１５のいずれか一に記載の情報処理装置。
【請求項１７】
物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備えた第１の装置から前記複数の仮想ネットワークの情報を取得するステップと、
前記構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離させるステップと、
を含む仮想ネットワークの提示方法。
【請求項１８】
物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備えた第１の装置から前記複数の仮想ネットワークの情報を取得する処理と、
前記構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１５−０５１２２９号（２０１５年３月１３日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、情報処理装置、仮想ネットワークの提示方法及びプログラムに関し、特に、ネットワークを論理的に分割して仮想ネットワークとして提供する制御装置、情報処理装置、仮想ネットワークの提示方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、論理的に分割したネットワーク毎に、それぞれ設定した経路制御を行うことができるという情報システムが開示されている。同文献によると、この情報システムの制御サーバは、入出力パケットの特徴に応じた動作を定義した制御情報を保持し、当該制御情報に従って入出力パケットの処理を行う複数の物理ノードと、接続されている。さらに、この制御サーバは、前記物理ノードを仮想化した仮想ノードを含んで構成される仮想ネットワークの構成情報を記憶する第１の記憶部と、入力パケットの特徴から前記仮想ネットワークを特定する仮想ネットワーク特定情報を記憶する第２の記憶部と、を備え、前記物理ノードからの要求に基づいて、当該物理ノードが受信したパケットと共通する特徴を有するパケットを取り扱う仮想ネットワークを構成する物理ノードを特定して、前記各物理ノードの制御情報を更新する。【０００３】
特許文献２には、複数のホスト及び物理転送要素を含むサイトにおいてネットワーキングリソースを管理する方法が開示されている。同文献によると、この方法は、前記複数のホスト及び物理転送要素の第１の集合を使用する仮想機械の第１の集合を識別することと、前記複数のホスト及び物理転送要素の第２の集合を使用する仮想機械の第２の集合を識別することと、前記第１の集合及び前記第２の集合の前記ホスト及び前記物理転送要素のうちのいくつかが同一であり、仮想機械の前記第１の集合と前記第２の集合との間の隔離を維持しつつ、それぞれ、仮想機械の前記第１の集合と前記第２の集合との間の通信を排他的に処理する第１の分散仮想スイッチ及び第２の分散仮想スイッチを提供するとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／０４３４１６号
【特許文献２】特表２０１２−５２５０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明によって与えられたものである。特許文献１、２に記載の技術を用いることで、物理的なリソースを、複数のユーザ（特に企業ユーザを指して「テナント」ともいう）に共用させることができる。しかしながら、特許文献１、２の方法では、論理的な領域でそれぞれのユーザに対するサービスが切り分けられているだけで、物理的にリソースが切り分けられている訳ではない。【０００６】
このため、あるユーザに、専用のネットワークとして提供されたものであっても、実際は他のユーザと物理リソースを共有していることがある。また、特許文献１のようにオープンフロースイッチを用いたケースでは、フローを集約することにより、リソースを有効に活用できるという利点があるが、その反面で、ユーザに割り当てられた実際の物理リソースが見えない、見えにくいという問題点がある。この点では特許文献２でも同様であり、２つの通信が排他的に処理されるのは仮想化レイヤであり、物理リソース（物理転送要素）は複数のユーザから共用される（請求項７等参照）。【０００７】
本発明は、単一のネットワークにて複数のクライアントへ仮想ネットワークを提供する方法の豊富化に貢献できる制御装置、情報処理装置、仮想ネットワークの提示方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の視点によれば、物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備える制御装置が提供される。この制御装置は、さらに、前記構築手段によって構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離させるリソース分離手段と、を備える。【０００９】
第２の視点によれば、物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備えた第１の装置から前記複数の仮想ネットワークの情報を取得する取得手段と、前記複数の仮想ネットワークに割り当てられたリソースを、仮想ネットワークごとに分離させるリソース分離手段と、を備える情報処理装置が提供される。【００１０】
第３の視点によれば、物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備えた第１の装置から前記複数の仮想ネットワークの情報を取得するステップと、前記構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離するステップと、を含む仮想ネットワークの提示方法が提供される。本方法は、仮想ネットワークの情報をユーザにコンピュータという、特定の機械に結びつけられている。【００１１】
第４の視点によれば、物理リソースの状態に基づいて、複数の仮想ネットワークを構築する構築手段を備えた第１の装置から前記複数の仮想ネットワークの情報を取得する処理と、前記構築された仮想ネットワークに割り当てられたリソースを仮想ネットワークごとに分離する処理と、をコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１２】
本発明によれば、上述した仮想ネットワークユーザの要望に応えることが可能となる。また、本発明は、背景技術に示した制御装置を、実際に割り当てられた物理リソースを把握しやすい形態で、仮想ネットワークを構築する制御装置へと変換するものともなっている。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の構成を示す図である。
【図２】本発明の第２の実施形態の構成を示す図である。
【図３】本発明の第３の実施形態の構成を示す図である。
【図４】本発明の第３の実施形態の制御装置の動作を示したフローチャートである。
【図５】本発明の第４の実施形態の構成を示す図である。
【図６】本発明の第４の実施形態の制御装置の第１のネットワーク情報記憶部に記憶されるノード情報の一例を示す図である。
【図７】本発明の第４の実施形態の制御装置の第１のネットワーク情報記憶部に記憶されるポート情報の一例を示す図である。
【図８】本発明の第４の実施形態の制御装置の第１のネットワーク情報記憶部に記憶されるリンク情報の一例を示す図である。
【図９】本発明の第４の実施形態の第１のネットワークのトポロジを図で表したものである。
【図１０】本発明の第４の実施形態の制御装置の第２のネットワーク情報記憶部に記憶されるノード情報の一例を示す図である。
【図１１】本発明の第４の実施形態の制御装置の第２のネットワーク情報記憶部に記憶されるポート情報の一例を示す図である。
【図１２】本発明の第４の実施形態の制御装置の第２のネットワーク情報記憶部に記憶されるリンク情報の一例を示す図である。
【図１３】本発明の第４の実施形態の第２のネットワークのトポロジを図で表したものである。
【図１４】本発明の第４の実施形態の制御装置の階層制御部に設定されるレイヤ境界情報の一例を示す図である。
【図１５】本発明の第４の実施形態の制御装置のリソース分離部が保持するサービス情報の一例を示す図である。
【図１６】本発明の第４の実施形態の制御装置のリソース分離部が保持するサービス割当情報の一例を示す図である。
【図１７】本発明の第４の実施形態の動作を説明するためのネットワーク構成の一例を示す図である。
【図１８】本発明の第４の実施形態の制御装置の動作（準備処理）を示したフローチャートである。
【図１９】本発明の第４の実施形態において仮想ネットワーク上にユーザＡのためのリンクを張った状態を示す図である。
【図２０】図１９のＬＮ１−ＬＮ２間のリンクに対応するフロー情報の一例を示す図である。
【図２１】図９の上に図２０のフロー情報を矢線で表した図である。
【図２２】本発明の第４の実施形態においてユーザＡに提示されるユーザＡ用の仮想ネットワークを示す図である。
【図２３】本発明の第４の実施形態においてユーザＢに提示されるユーザＢ用の仮想ネットワークを示す図である。
【図２４】本発明の第４の実施形態の制御装置の動作（フロー追加処理）を示したフローチャートである。
【図２５】本発明の第４の実施形態においてユーザＡが仮想ネットワークに設定したフローの一例を示す図である。
【図２６】本発明の第４の実施形態の制御装置により第２のネットワーク情報記憶部に設定されるフロー情報の一例を示す図である。
【図２７】本発明の第４の実施形態の制御装置が第２のネットワークに設定する制御情報の一例を示す図である。
【図２８】本発明の第４の実施形態の制御装置によって構成された仮想ネットワーク上のユーザフローを示す図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態の構成を示す図である。図１を参照すると、構築手段２０１と、リソース分離手段２０２とを備え、物理リソース１００にアクセス可能な制御装置２００が示されている。
【００１５】
構築手段２０１は、物理リソース１００の状態に基づいて、複数の仮想ネットワーク（図１の仮想ネットワークＡ、仮想ネットワークＢ）を構築する。なお、下記のように、リソース分離手段２０２が、仮想ネットワークに割り当てられた物理リソースを表示するため、構築手段２０１は、仮想ネットワークを構築する際に、当該ユーザに割り当てたリソースに識別子等を付与することが好ましい。
【００１６】
リソース分離手段２０２は、前記構築手段２０１によって構築された仮想ネットワーク（図１の仮想ネットワークＡ、仮想ネットワークＢ）に割り当てられたリソースを仮想ネットワークごとに分離させる。例えば、リソース分離手段２０２は、図１の仮想ネットワークＡには、その仮想ネットワークに割り当てられたリソース（当該仮想ネットワークに割り当てられた物理リンク、物理ノード、物理リソースを用いて構成された論理リソース等）を識別できるように分離し、必要に応じ表示を行う。なお、このときのリソース分離手段２０２の表示先としては、仮想ネットワークのユーザの端末等が考えられるが、これに限られたものではない。例えば、制御装置２００に接続された表示装置に表示してもよいし、仮想ネットワークのユーザにサービスを提供するサービス提供業者の管理サーバ等であってもよい。あるいは、各仮想ネットワークを制御するソフトウェアであってもよい。
【００１７】
以上のように、本実施形態によれば、仮想ネットワークのユーザに仮想ネットワークに割り当てられているリソースを認識させることが可能となる。
【００１８】
［第２の実施形態］
続いて、本発明の第１の実施形態の装置構成に変更を加えた第２の実施形態について図面を参照して詳細に説明する。図２は、本発明の第２の実施形態の構成を示す図である。図２を参照すると、構築手段２０１を備えた制御装置２００Ａと、リソース分離手段２０２及び取得手段２０３を備えた情報処理装置２１０Ａとが接続された構成が示されている。
【００１９】
本実施形態の制御装置２００Ａ（第１の装置）の構築手段２０１は、第１の実施形態の構築手段２０１と同様に、物理リソース１００の状態に基づいて、複数の仮想ネットワーク（図１の仮想ネットワークＡ、仮想ネットワークＢ）を構築する。
【００２０】
情報処理装置２１０Ａの取得手段２０３は、制御装置２００Ａ（第１の装置）から前記複数の仮想ネットワークの情報を取得する。
【００２１】
リソース分離手段２０２は、前記取得手段２０３にて取得した情報に基づいて、前記複数の仮想ネットワークに割り当てられたリソースを、仮想ネットワークごとに分離し、必要に応じ表示する。
【００２２】
以上のように、本発明は、仮想ネットワークを構築する制御装置２００Ａとは独立して情報処理装置２１０Ａを設けた構成においても適用することが可能となる。本実施形態は第１の実施形態と同等の効果に加えて、１台の情報処理装置２１０Ａが複数の制御装置２００Ａから複数の仮想ネットワークの情報を取得するように構成できるという利点がある。
【００２３】
［第３の実施形態］
続いて、本発明の第３の実施形態について図面を参照して詳細に説明する。図３は本発明の第３の実施形態の構成を示す図である。図３を参照すると、ネットワーク情報記憶部１１０ａと、階層制御部２２０と、仮想ネットワーク情報記憶部３００と、表示部及び操作受付部として機能するリソース分離部２３０と、ドライバー／コントローラ４００を含む構成が示されている。
【００２４】
ネットワーク情報記憶部１１０ａは、例えば、物理ネットワークのトポロジ情報を記憶する。より具体的には、ネットワーク情報記憶部１１０ａには、例えば、ＭＰＬＳ−ＴＰ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ  −  Ｔｒａｎｓｐｏｒｔ−  Ｐｒｏｆｉｌｅ）網や、オープンフロースイッチを用いた物理ネットワークのようなパケット転送網の情報が登録される。ネットワーク情報記憶部１１０ａに記憶された情報は、物理ネットワークを制御するドライバー／コントローラ４００に参照され、物理ネットワークの制御に使用される。
【００２５】
また、ネットワーク情報記憶部１１０ａは、例えば、物理ノードに関する情報を記憶する。ネットワーク情報記憶部１１０ａは、例えば、物理ノードを一意に識別可能なノード識別子（例えば、ノードＩＤ＝ＬＭ１）と、当該物理ノードが保持するポートを一意に識別可能なポート識別子（例えば、ポートＩＤ＝ＬＰ１−１１、ＬＰ１−１２）とを対応付けて記憶する。なお、ネットワーク情報記憶部１１０ａは、ノード識別子に対して、その物理ノードの管理上の状態情報や利用可否等の情報を対応付けて記憶してもよい。
【００２６】
また、ネットワーク情報記憶部１１０ａは、例えば、物理ノードが保持するポートに関する情報を記憶する。ネットワーク情報記憶部１１０ａは、上述のポート識別子（例えば、ポートＩＤ＝ＬＰ１−１１、ＬＰ１−１２）と、そのポートの最大帯域幅等の情報や、当該ポートの管理上の状態情報や利用可否等の情報を対応付けて記憶する。
【００２７】
また、ネットワーク情報記憶部１１０ａは、例えば、リンク（物理ネットワークに含まれる物理的なリンク、物理リンク）に関する情報を記憶する。ネットワーク情報記憶部１００は、例えば、上述の物理ネットワークに含まれるリンクを一意に識別可能なリンク識別子（例えば、リンクＩＤ＝ＬＬｉｎｋ１−２）と、そのリンクに関する情報とを対応付けて記憶する。リンクに関する情報は、例えば、リンクがノードＬＮ１とノードＬＮ２との間のリンクであることや、リンクの最大帯域幅などである。
【００２８】
階層制御部２２０は、ネットワーク情報記憶部１１０ａに記憶されている情報を参照して、仮想ネットワークを作成・更新し、仮想ネットワーク情報記憶部３００に登録する仮想ネットワーク構築手段として機能する。
【００２９】
階層制御部２２０は、例えば、複数の仮想ネットワーク３１０Ａ、３１０Ｂ（以下、仮想ネットワーク３１０を特に区別しない場合、「仮想ネットワーク３１０」と記す。）を構築する際に、当該複数の仮想ネットワーク３１０の各々に対して、互いに異なる物理リソースを割り当てる。物理リソースは、例えば、物理ノードが保持するポートや、リンク（物理リンク）等の少なくとも一部である。例えば、階層制御部２２０は、複数の仮想ネットワーク３１０の各々に対して、共通の物理ノードと、互いに異なる物理ポートおよび物理リンクと、を割り当てる。なお、階層制御部２２０は、複数の仮想ネットワーク３１０の各々に対して、物理ネットワークに含まれる物理的なリソース（物理ノードや、ポート、物理リンク）の全てについて、互いに異なる物理リソースを割り当ててもよい。
【００３０】
階層制御部２２０は、例えば、複数の仮想ネットワーク３１０の各々のユーザごとに、それぞれ専用の物理リソースを割り当ててもよい。仮想ネットワークのユーザごとに異なる物理リソースが割り当てられるので、当該ユーザごとに物理リソースの一部または全部を独立して使用すること（占有すること）が可能となり、当該ユーザが提供を受けるサービス（例えば、仮想ネットワークを利用した通信サービスなど）のセキュリティを向上させることができる。
【００３１】
階層制御部２２０が構築した仮想ネットワーク３１０に対して、当該仮想ネットワーク３１０を一意に識別可能な識別子（仮想ネットワークＩＤ、サービスＩＤ）が付与（設定）される。仮想ネットワークＩＤを付与（設定）する手段は、例えば、所定の制御手段（図示していない）であってもよいし、階層制御部２２０であってもよいし、リソース分離部２３０であってもよい。
【００３２】
階層制御部２２０は、仮想ネットワーク３１０に割り当てられた物理リソースを、当該仮想ネットワークＩＤにより識別可能である。
【００３３】
仮想ネットワーク情報記憶部３００は、階層制御部２２０が構築した仮想ネットワークに関する情報を記憶する。また、仮想ネットワーク情報記憶部３００は、階層制御部２２０が更新した仮想ネットワークに関する情報を記憶する。また、仮想ネットワーク情報記憶部３００は、リソース分離部２３０が更新した仮想ネットワークに関する情報を記憶する。また、仮想ネットワーク情報記憶部３００は、仮想ネットワーク３１０に対して付与（設定）された、当該仮想ネットワーク３１０を一意に識別可能な識別子（仮想ネットワークＩＤ）を記憶する。仮想ネットワーク情報記憶部３００は、例えば、仮想ネットワークに割り当てられたリソースと、当該仮想ネットワークの仮想ネットワークＩＤとを対応付けて記憶する。
【００３４】
リソース分離部２３０は、階層制御部２２０によって付与された識別子に基づいて、仮想ネットワーク記憶部３００から、複数の仮想ネットワーク３１０（例えば、３１０Ａ及び３１０Ｂ）を切り出して提示（表示）する。リソース分離部２３０は、仮想ネットワーク３１０ごとに、当該仮想ネットワークに割り当てられたリソースに関する情報を表示する。リソースは、例えば、ノードに含まれるポートである。リソースは、例えば、ネットワークに含まれるリンクである。リソース分離部２３０は、例えば、仮想ネットワーク３１０ごとに、当該仮想ネットワーク３１０に割り当てられたポートやリンクを表示する。
【００３５】
本発明の第３の実施形態において、階層制御部２２０は、例えば、複数の仮想ネットワーク３１０を構築する際に、当該複数の仮想ネットワーク３１０の各々に対して、互いに異なるリソースを割り当てる。したがって、リソース分離部２３０が仮想ネットワークごとに表示するリソースは、当該仮想ネットワークごとに互いに異なる。
【００３６】
なお、リソース分離部２３０は、例えば、仮想ネットワークごとに割り当てられたリソース（例えば、リンク、ポート）と、複数の仮想ネットワークに共通して割り当てられるリソース（例えば、ノード）とを、仮想ネットワークごとに表示してもよい。この場合、リソース分離部２３０が仮想ネットワークごとに表示するリソースは、例えばリンクおよびポートは仮想ネットワークごとに互いに異なるものとなるが、例えばノードは共通のものとなる。
【００３７】
このように、リソース分離部２３０は、複数の仮想ネットワークごとに、当該仮想ネットワークに割り当てられたネットワークのトポロジ（例えば、ノード、ポートおよびリンク）を表示でき、当該ネットワークのトポロジは、当該複数の仮想ネットワークごとにその一部または全部が異なる。
【００３８】
リソース分離部２３０は、例えば、仮想ネットワーク３１０ごとに、互いに独立して、当該仮想ネットワーク３１０に割り当てられたリソースを表示可能である。
【００３９】
また、リソース分離部２３０は、例えば、ユーザ等から仮想ネットワーク３１０に対するフローの設定要求等の操作を受け付けると、仮想ネットワーク情報記憶部３００に記憶された情報（仮想ネットワークに関する情報）を更新する。階層制御部２２０は、仮想ネットワーク情報記憶部３００の更新内容に基づいて、ドライバー／コントローラ４００を通して、物理ネットワークに対して、フローの設定等のフロー制御（Ｓ１０６）を実施する。
【００４０】
図４は、本発明の第３の実施形態の制御装置の動作を示したフローチャートである。ネットワーク情報記憶部１１０ａへの、物理ネットワークのトポロジ情報の登録が行われる（ステップＳ１０１）。
【００４１】
階層制御部２２０は、ネットワーク情報記憶部１１０ａを参照して、仮想ネットワーク３１０を構築する（ステップＳ１０２）。例えば、階層制御部２２０は、仮想ネットワーク３１０上で仮想リンクの追加を実行する。
【００４２】
階層制御部２２０は、構築した仮想ネットワーク３１０を実現するため、ドライバー／コントローラを通して、物理ネットワークに対する設定を行う（ステップＳ１０３）。階層制御部２２０は、例えば、物理ネットワークにおいて、追加した仮想リンクに対応する転送を実現するためのフローを登録し、パスを設定する。
【００４３】
次に、階層制御部２２０が構築した仮想ネットワーク３１０に対し、当該仮想ネットワーク３１０を一意に識別可能な識別子（仮想ネットワークＩＤ）の付与（設定）が行われる（ステップＳ１０４）。なお、この識別子は、仮想ネットワークの提供を行う側から見てサービスを識別するものとなるためのサービスＩＤと呼ぶこともできる。
【００４４】
上記のＳ１０１乃至Ｓ１０４を仮想ネットワーク３１０ごとに繰り返すことにより、階層制御部２２０は、複数の仮想ネットワーク３１０（例えば、３１０Ａと３１０Ｂ）を構築することができる。ここで、本発明の第１の実施形態において、階層制御部２２０は、例えば、複数の仮想ネットワーク３１０（例えば、３１０Ａと３１０Ｂ）を構築する際に、当該複数の仮想ネットワーク３１０の各々に対して、互いに異なる物理リソースを割り当てる。階層制御部２２０は、例えば、複数の仮想ネットワーク３１０に、それぞれ専用のリソースを割り当てる。割り当てる物理リソースは、例えば、物理ポートや物理リンクそのものを割り当てても良いし、論理的なパスを設定する形で、その一部を割り当てても良い。
【００４５】
続いて、リソース分離部２３０は、階層制御部２２０によって付与された識別子に基づいて、仮想ネットワーク記憶部３００から、複数の仮想ネットワーク３１０（例えば、３１０Ａおよび３１０Ｂ）を切り出して提示（表示）する（ステップＳ１０５の「表示用トポロジ作成」）。
【００４６】
以上のように、本実施形態によれば、物理ネットワークから、一旦、管理・更新用の仮想ネットワーク（仮想ネットワーク情報記憶部３００の仮想ネットワークに関する情報）を構築し、さらに、そこから個別のユーザ用の仮想ネットワークを切り出して、複数のユーザに割り当てられているリソースを認識させることが可能となる。
【００４７】
［第４の実施形態］
続いて、２つの物理ネットワークを用いて構成された仮想ネットワークの実例を挙げて本発明の第４の実施形態について説明する。図５は、本発明の第４の実施形態の構成を示す図である。
【００４８】
図５を参照すると、第１、第２のネットワーク情報記憶部１１０、１２０と、階層制御部２２０と、仮想ネットワーク情報記憶部３００と、表示部及び操作受付部として機能するリソース分離部２３０と、ドライバー／コントローラ４０１、４０２を含む構成が示されている。
【００４９】
第１のネットワーク情報記憶部１１０は、例えば、ＭＰＬＳ−ＴＰ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ  −  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｆｉｌｅ）網のようなトランスポート網の情報が登録される。第１のネットワーク情報記憶部１１０に記憶された情報は、第１のネットワークを制御するドライバー／コントローラ４０１に参照され、第１のネットワークの制御に使用される。
【００５０】
図６は、第１のネットワーク情報記憶部１１０に登録されているノード情報の一例である。例えば、図６の例では、ノードＩＤ＝ＬＮ１、物理ＩＤ＝ＬＮ１で特定されるノードがＬＰ１−１１、ＬＰ１−１２といったポート識別子（ポートＩＤ）で特定されるポートを持つといった情報が登録される。なお、図６の例では、ノードＩＤと物理ＩＤとが同一ＩＤとなっているが、これは、ノードの物理ＩＤであるＤＰＩＤ（ＤａｔａＰａｔｈＩＤ）をそのままノードＩＤとして使用しているためである。また、図６に示した情報のほか、ノードの管理上の状態情報（ＵＰ／ＤＯＷＮ）や利用可否（ＵＰ／ＤＯＷＮ）等の情報を持たせてもよい。
【００５１】
図７は、第１のネットワーク情報記憶部１１０に登録されているポート情報の一例である。例えば、図７の例では、ポートＩＤ＝ＬＰ１−１１、ＬＰ１−１２といったポート識別子で特定されるポートの情報が登録される。例えば、ポートＩＤ＝ＬＰ１−１１のポートは、ノードＩＤ＝ＬＮ１のポートであり、そのポートの最大帯域幅（ｍａｘ＿ｂａｎｄｗｉｄｔｈ）や利用可能な帯域幅（ｕｎｒｅｓｅｒｖｅｄ＿ｂａｎｄｗｉｄｔｈ）といった情報が格納される。また、ＩｎＬｉｎｋは、当該ポートに入るリンクの識別子を格納するフィールドであり、ＯｕｔＬｉｎｋは、当該ポートから出るリンクの識別子を格納するフィールドである。また、図７に示した情報のほか、ポート管理上の状態情報（ＵＰ／ＤＯＷＮ）や利用可否（ＵＰ／ＤＯＷＮ）等の情報を持たせてもよい。
【００５２】
図８は、第１のネットワーク情報記憶部１１０に登録されているリンク情報の一例である。例えば、図８の例では、リンクＩＤ＝ＬＬｉｎｋ１−２といったリンク識別子で特定されるリンクの情報が登録される。例えば、リンクＩＤ＝ＬＬｉｎｋ１−２のリンクは、ノードＬＮ１とＬＮ２間のリンクであり、端点となるポートのポートＩＤやリンクの最大帯域幅（ｍａｘ＿ｂａｎｄｗｉｄｔｈ）や利用可能な帯域幅（ｕｎｒｅｓｅｒｖｅｄ＿ｂａｎｄｗｉｄｔｈ）といった情報が格納される。また、図８に示した情報のほか、リンク利用可否（ＵＰ／ＤＯＷＮ）、リンクコスト、レイテンシー等の情報を持たせてもよい。
【００５３】
図９は、上記第１のネットワーク情報記憶部１１０に登録されている情報をトポロジとして図示したものである。
【００５４】
第２のネットワーク情報記憶部１２０は、第１のネットワーク情報記憶部１１０に記憶されているネットワークよりも上位レイヤのネットワークの情報が登録される。例えば、オープンフロースイッチを用いたネットワークのようなパケット転送網の情報が登録される。第２のネットワーク情報記憶部１２０に記憶された情報は、第２のネットワークを制御するドライバー／コントローラ４０２に参照され、第２のネットワークの制御に使用される。
【００５５】
図１０は、第２のネットワーク情報記憶部１２０に登録されているノード情報の一例である。例えば、図１０の例では、ノードＩＤ＝ＵＮ１、物理ＩＤ＝ＵＮ１で特定されるノードがＵＰ１−１１、ＵＰ１−１２といったポート識別子（ポートＩＤ）で特定されるポートを持つといった情報が登録される。なお、図１０の例では、ノードＩＤと物理ＩＤとが同一ＩＤとなっているが、これは、ノードの物理ＩＤ（例えば、ＤＰＩＤ（ＤａｔａＰａｔｈＩＤ））をそのままノードＩＤとして使用しているためである。また、図１０に示した情報のほか、ノードの管理上の状態情報（ＵＰ／ＤＯＷＮ）や利用可否（ＵＰ／ＤＯＷＮ）等の情報を持たせてもよい。
【００５６】
図１１は、第２のネットワーク情報記憶部１２０に登録されているポート情報の一例である。例えば、図１１の例では、ポートＩＤ＝ＵＰ１−１、ＵＰ１−２といったポート識別子で特定されるポートの情報が登録される。例えば、ポートＩＤ＝ＵＰ１−１のポートは、ノードＩＤ＝ＵＮ１のポートであり、リンクＩＤ＝ＵＬｉｎｋ２−１、ＵＬｉｎｋ１−２に接続され、そのポートの最大帯域幅（ｍａｘ＿ｂａｎｄｗｉｄｔｈ）が１Ｇｂｐｓであるといった情報が格納される。なお、図１１のＳｅｒｖｉｃｅＩＤフィールドは、そのポートを割り当てられているユーザ（サービス）のＩＤを設定するためのフィールドである。また、ＩｎＬｉｎｋは、当該ポートに入るリンクの識別子を格納するフィールドであり、ＯｕｔＬｉｎｋは、当該ポートから出るリンクの識別子を格納するフィールドである。また、図１１に示した情報のほか、ポート管理上の状態情報（ＵＰ／ＤＯＷＮ）や利用可否（ＵＰ／ＤＯＷＮ）、残り帯域等の情報を持たせてもよい。
【００５７】
図１２は、第２のネットワーク情報記憶部１２０に登録されるリンク情報の一例である。例えば、図１２の例では、リンクＩＤ＝ＵＬｉｎｋ１−２といったリンク識別子で特定されるリンクの情報が登録される。例えば、リンクＩＤ＝ＵＬｉｎｋ１−２のリンクは、ノードＵＮ１とＵＮ２間のリンクであり、端点となるポートのポートＩＤやリンクの最大帯域幅（ｍａｘ＿ｂａｎｄｗｉｄｔｈ）が１Ｇｂｐｓであるといった情報が格納される。図１２のＳｅｒｖｉｃｅＩＤフィールドは、そのリンクを割り当てられているユーザ（サービス）のＩＤを設定するためのフィールドである。また、Ｅｓｔａｂｌｉｓｈｍｅｎｔ＿ｓｔａｔｕｓフィールドは、そのリンクに対応するフローが第１のネットワークに設定されているか否かの状態を設定するためのフィールドである。図１２の例ではＥｓｔａｂｌｉｓｈｅｄ（設定完了）となっているが、設定中であれば“Ｅｓｔａｂｌｉｓｈｉｎｇ”、設定失敗であれば“Ｆａｉｌｅｄ”といった情報が設定される。また、図１２に示した情報のほか、リンク利用可否（ＵＰ／ＤＯＷＮ）、リンクコスト、レイテンシー要求帯域等の情報を持たせてもよい。
【００５８】
図１３は、上記第２のネットワーク情報記憶部１２０に登録されている情報をトポロジとして図示したものである。なお、図１３では、ＵＮ１とＵＮ２間にリンクもサービスＩＤ（仮想ネットワークＩＤ）も設定されていないものとする。
【００５９】
なお、図６〜図８及び図１０〜図１２の例では、ノード情報、ポート情報、リンク情報の３つのテーブルに分けてネットワークの情報を格納しているが、これらを一つのテーブルにまとめたり、あるいは、最大帯域幅や未割当帯域幅情報等の任意の情報は別のテーブルで管理すること等も可能である。
【００６０】
階層制御部２２０は、第１、第２のネットワーク情報記憶部１１０、１２０に格納されている情報を参照して、統合された仮想ネットワークを作成・更新し、仮想ネットワーク情報記憶部３００に登録する。なお、複数のネットワークレイヤを、１つのネットワークインスタンスにマッピングするネットワークオペレータであるレイヤライザ（Ｌａｙｅｒｉｚｅｒ）が知られている。従って、階層制御部２２０は、複数のネットワークレイヤのリンクを、１つの仮想ネットワークに見せかけるようにマッピングする処理を行う前述の構築手段の一形態であるということができる。この意味で階層制御部は、リンクレイヤライザーと呼ぶこともできる。
【００６１】
図１４の上段のテーブルは、階層制御部２２０に設定されるリンク境界情報の一例である。図１４の下段のテーブルは図１４の上段のテーブルに設定された情報を図示したものである。例えば、図１４の例では、第２のネットワーク（上位レイヤ）のノードＵＮ１のポートＵＰ１−１と、第１のネットワーク（下位レイヤ）のノードＬＮ１のポートＬＰ１−１１とが２つのネットワークの境界をなすことが設定されている。このような情報を基に、階層制御部２２０は、統合された仮想ネットワークを構築する。
【００６２】
また、階層制御部２２０は、仮想ネットワーク情報記憶部３００に保持されている仮想ネットワーク上にリンクやフローの登録等が行われると、前記リンク境界情報及び第１、第２のネットワーク情報記憶部１１０、１２０を参照して、各物理ネットワークを制御するドライバー／コントローラ４０１、４０２に指示を与える。例えば、上記仮想ネットワークにリンクが設定されると、階層制御部２２０は、その内容に基づいて、第２のネットワーク情報記憶部１２０の該当テーブルへのリンクの追加を行うとともに、第１のネットワーク情報記憶部１１０に対応するフローを設定する。これにより、複数レイヤに跨ったネットワークをあたかも１つのネットワークであるかのように取り扱う環境を提供する。この動作は、後に詳細に説明する。
【００６３】
さらに、本実施形態の階層制御部２２０は、仮想ネットワークを構築する際に、仮想ネットワークのユーザに、それぞれ専用のネットワークリソースが割り当てできるように同一区間に重複したリンクを設定可能な仮想ネットワークを構築することが好ましい（図１４の下段参照）。そして、階層制御部２２０は、仮想ネットワーク３００に対して、あるユーザへのリソースの割り当てが行われると、当該リソースに識別子（仮想ネットワークやサービスＩＤ）を付与する。
【００６４】
また、階層制御部２２０側は、作成される仮想ネットワーク（提供ネットワーク）も図１０〜図１２に示すノード情報、ポート情報、リンク情報によって表現することができる。但し、両者の役割は異なっており、第２のネットワーク情報記憶部１２０に保持されている情報はドライバー／コントローラ４０１、４０２により参照され、仮想ネットワーク情報記憶部３００に保持されている情報は、リソース分離部２３０により参照される。
【００６５】
リソース分離部２３０は、前記階層制御部２２０によって付与された識別子に基づいて、仮想ネットワーク情報記憶部３００から、複数のユーザそれぞれに割り当てられた仮想ネットワーク３１０Ａ、３１０Ｂを切り出して提示する。また、リソース分離部２３０は、ユーザから当該仮想ネットワーク３１０Ａ、３１０Ｂを元にしたフローの設定要求等の操作を受けると、仮想ネットワーク情報記憶部３００の該当情報を更新する。階層制御部２２０は、仮想ネットワーク情報記憶部３００の更新内容に基づいて、ユーザの意図に沿ったフローの設定等を実施する。
【００６６】
図１５は、リソース分離部２３０が保持するサービス情報の一例を示す図である。図１５の例では、クライアントＡ向けのＮＷ（仮想ネットワーク）の提供サービスに、サービスＩＤ＝Ａが付与されている。
【００６７】
図１６は、リソース分離部２３０が保持するサービス割当情報の一例を示す図である。図１６の例では、上述のサービスＩＤ＝Ａのために、ノードＩＤ、ポートＩＤリストフィールドのリソースが割り当てられていること、その他、提供ネットワークＩＤ（当該サービスで提供する仮想ネットワークのＩＤ）、クライアント（ユーザ）向けに見せるネットワークのＩＤ、提供するリンクの帯域等が登録されている。
【００６８】
なお、上記した制御装置及び情報処理装置の各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェア（プロセッサ、メモリ、ストレージ等）を用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００６９】
続いて、本実施形態の動作について、簡単な仮想ネットワークの構成例を示してより具体的に説明する。図１７は、本実施形態の動作を説明するためのネットワーク構成の一例を示す図である。図１７を参照すると、互いに接続された第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３と、第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３とユーザのルータ１３０−１Ａ〜１３０−３Ｂとの間に、第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３が配置された構成が示されている。第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３は、上記した第１のネットワーク（下位レイヤ）のノードＬＮ１〜ＬＮ３に相当し、第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３は、上記した第２のネットワークのＵＮ１〜ＵＮ３に相当する。
【００７０】
また、以下の説明では、ルータ１３０−１Ａ、ルータ１３０−２Ａ、ルータ１３０−３Ａは、クライアントＡ（ユーザＡ）の機器であり、ルータ１３０−１Ｂ、ルータ１３０−２Ｂ、ルータ１３０−３Ｂは、クライアントＢ（ユーザＢ）の機器であるものとして説明する。
【００７１】
図１８は、本発明の第４の実施形態の制御装置の動作（準備処理）を示したフローチャートである。図１８を参照すると、まず、第１のネットワーク情報記憶部１１０及び第２のネットワーク情報記憶部１２０へのネットワークトポロジ等の登録が行われる（ステップＳ００１）。以下の説明では、前述の図６〜図１３に示すトポロジ情報が登録されたものとして説明する。
【００７２】
次に階層制御部２２０へのリンク境界情報の登録が行われる（ステップＳ００２）。以下の説明では、前述の図１２に示すリンク境界情報が登録されたものとして説明する。
【００７３】
次に階層制御部２２０で、仮想ネットワークの構築が行われ、例えば、クライアント（ユーザ）Ａ向けにサービスを提供するために、仮想ネットワーク上でリンクの追加が行われる（ステップＳ００３）。
【００７４】
図１９はクライアントＡ（ユーザＡ）のためのリンクを張った状態を示す図である。図１９の例では、第２レイヤ（上位レイヤ）ノード１２０−１（ＵＮ１）〜１２０−３（ＵＮ３）のポート１、２を割り当て、それぞれにリンクを張っている。
【００７５】
図１９に示すリンクの設定が行われると、階層制御部２２０は、リンク境界情報を元に、まず、第１のネットワークの第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３間に、上記リンクに対応する転送を実現するためのフローを登録し、パスを設定する（ステップＳ００４）。
【００７６】
図２０は、図１９のＬＮ１−ＬＮ２間のリンクに対応するフロー情報の一例を示す図である。図２０の例では、第１レイヤ（下位レイヤ）ノード１１０−１（ＬＮ１）のポート１０で、ＬＮ１を始点としＬＮ３を終点とするパスＬＬｉｎｋ１−３のパケットを、第１レイヤ（下位レイヤ）ノード１１０−３（ＬＮ３）のポート３１から出力するフロー（フローＩＤ＝ＬＦ１−３）が設定されている。図２０の例では、フロー（フローＩＤ＝ＬＦ１−３）の反対方向となるフロー（フローＩＤ＝ＬＦ３−１）も設定されている。同様に、第１レイヤ（下位レイヤ）ノード１１０−１（ＬＮ１）と第１レイヤ（下位レイヤ）ノード１１０−２（ＬＮ２）間、第１レイヤ（下位レイヤ）ノード１１０−２（ＬＮ２）と第１レイヤ（下位レイヤ）ノード１１０−３（ＬＮ３）間にも同様のフローが設定される。
【００７７】
図２１は、上記フロー情報を図９の上に表した図である。このようなフローが第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３に登録されることにより、ステップＳ００３で作成された仮想ネットワーク上のリンクに沿った転送が実現される。また、第１レイヤ（下位レイヤ）ノード１１０−１〜１１０−３の外側のポートから出ていくパケットは、レイヤ境界情報に従い、第２レイヤ（下位レイヤ）ノード１２０−１〜１２０−３で受信されることになる。
【００７８】
また、階層制御部２２０は、図１９に示すリンクの設定に応じて、第２のネットワークの第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３間にも、図１９のリンクに対応するリンクを追加する（ステップＳ００５）。このリンク情報は図１２に示したリンク情報と同様である。
【００７９】
その後、リソース分離部２３０を介して、コンポーネント及びコネクションの作成が行われ（ステップＳ００６）、サービスＩＤが設定される（ステップＳ００７）。具体的には、図１１、図１２に示すテーブルのサービスＩＤフィールドにサービスＩＤを設定する処理が行われる。
【００８０】
以上の処理が完了すると、クライアントＡ（ユーザＡ）用の仮想ネットワークのトポロジの作成が可能となる（ステップＳ００８）。具体的には、リソース分離部２３０が仮想ネットワーク情報記憶部３００からサービスＩＤ＝Ａが設定されているリンクとポート及びこれらに関連するノードの情報を取り出して、クライアントＡ（ユーザＡ）用の仮想ネットワークのトポロジを作成する。
【００８１】
尚、図１８に示すフローチャートにおいて、階層制御部２２０によって行われるフローを登録し、パスを設定する処理（ステップＳ００４）、および図１９のリンクに対応するリンクを追加する処理（ステップＳ００５）は、並行して行われても良いし、先にいずれか一方の処理が開始され、その後、もう一方の処理が開始されるようにしても良い。
【００８２】
図２２は、クライアントＡ（ユーザＡ）用の仮想ネットワーク３１０Ａのトポロジの一例を示す図である。このような仮想ネットワークのトポロジを参照することで、クライアントＡ（ユーザＡ）は、自身に第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３の物理的なポートＡ１．Ａ３．Ａ５と、これらノードを接続するポート・リンクが割り当てられていることを認識することができる。
【００８３】
上記と同様の手順を繰り返すことで、クライアントＢ（ユーザＢ）に物理ネットワークの資源を割り当て、クライアントＢ（ユーザＢ）用の仮想ネットワークを構築し、クライアントＢ（ユーザＢ）に、専用の仮想ネットワークを提示することが可能となる。図２３は、クライアントＢ（ユーザＢ）用の仮想ネットワーク３１０Ｂのトポロジの一例を示す図である。このような仮想ネットワークのトポロジを参照することで、クライアントＢ（ユーザＢ）は、自身に物理的な第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３のポートＡ２．Ａ４．Ａ６と、これらノードを接続するポート・リンクが割り当てられていることを認識することができる。
【００８４】
続いて、上記のような仮想ネットワークのトポロジを参照したクライアント（ユーザ）が、フローを設定し、第２レイヤ（上位レイヤ）ノード１２０−１〜１２０−３をレイヤ３スイッチ相当の動作を行わせる手順を説明する。
【００８５】
図２４は、本発明の第４の実施形態の制御装置の動作（フロー追加処理）を示したフローチャートである。まず前提条件として、図１７に示すルータ１３０−１Ａ等がＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）等を利用して、通信相手が接続されているルータ情報を取得したものとする。ここでは、クライアントＡ（ユーザＡ）がルータ１３０−１Ａ又はルータ１３０−２Ａから送出されたパケットをルータ１３０−３Ａに転送するフローを設定する例を用いて説明する。
【００８６】
まず、リソース分離部２３０を介して、ルータ１３０−１Ａ又はルータ１３０−２Ａから送出されたパケットをルータ１３０−３Ａに転送するフローの設定操作が行われる（ステップＳ１０１）。なお、フローの設定操作は、例えば、図２２に示す仮想ネットワークのトポロジを用いたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）にての受け付けることも好ましい。もちろん、コマンドラインインターフェース等で入力を受け付けるようにしてもよい。
【００８７】
リソース分離部２３０はフローの設定操作を受け付けると、受け付けたフロー情報を複製して仮想ネットワーク情報記憶部３００に登録する（ステップＳ１０２）。図２５は、クライアントＡ（ユーザＡ）が設定したフローの一例である。図２５の例では、例えば、第２レイヤ（上位レイヤ）ノード１２０−１のポートＡ１で宛先ＩＰアドレスが１９２．１６８．１．０／２４のパケットを受信した場合、送信元ＭＡＣアドレスと宛先ＭＡＣアドレスをそれぞれ書き換えた上で、第２レイヤ（上位レイヤ）ノード１２０−１のポートＡ５から出力するといったフローが設定されている。
【００８８】
上記フロー情報が仮想ネットワーク情報記憶部３００に登録されると、階層制御部２２０は、登録された上記フロー情報に対応するフロー情報を第２のネットワーク情報記憶部１２０に登録する（ステップＳ１０３）。図２６は、第２のネットワーク情報記憶部１２０に設定されたフロー情報の一例を示す図である。図２６の例では、第２レイヤ（上位レイヤ）ノード１２０−１（ＵＮ１）のポートＡ１で、ＵＮ１を始点としＵＮ３を終点とするパスＵＬｉｎｋ１−３のパケットを、第２レイヤ（上位レイヤ）ノード１２０−３（ＵＮ３）のポートＡ５から出力するフロー（フローＩＤ＝ＵＦ１−３）が設定されている。図２６の例では、第２レイヤ（上位レイヤ）ノード１２０−２（ＵＮ２）のポートＡ３で、ＵＮ２を始点としＵＮ３を終点とするパスＵＬｉｎｋ２−３のパケットを、第２レイヤ（上位レイヤ）ノード１２０−３（ＵＮ３）のポートＡ５から出力するフロー（フローＩＤ＝ＵＦ２−３）も設定されている。
【００８９】
前記フローの設定が行われると、ドライバー／コントローラ４０２により第２レイヤ（上位レイヤ）ノード１２０−１（ＵＮ１）〜１２０−３（ＵＮ３）への物理制御が行われる。図２７は、第２レイヤ（上位レイヤ）ノード１２０−１（ＵＮ１）〜１２０−３（ＵＮ３）に設定される制御情報の一例を示す図である。図２７の例では、第２レイヤ（上位レイヤ）ノード１２０−１は、ポートＡ１で宛先ＩＰアドレスが１９２．１６８．１．０／２４のパケットを受信した場合、クライアントＡ（ユーザＡ）に割り当てられたポート１（図１１のＵＰ１−１）から出力する動作を行う。第２レイヤ（上位レイヤ）ノード１２０−１のポート１（図１１のＵＰ１−１）から出力されたパケットは、第１レイヤ（下位レイヤ）ノード１１０−１のポート１１で受信され、図２０に示した下位フローに沿って第１レイヤ（下位レイヤ）ノード１１０−３のポート３１から出力される。第２レイヤ（上位レイヤ）ノード１２０−３は、クライアントＡ（ユーザＡ）に割り当てられたポート１で宛先ＩＰアドレスが１９２．１６８．１．０／２４のパケットを受信した場合、クライアントＡ（ユーザＡ）に割り当てられたポートＡ５（図１１のＵＰ３−Ａ５）から出力する動作を行う。以上のように、図２５に示す仮想ネットワーク上のフローに沿った物理転送が実現される。
【００９０】
同様の処理を双方向、クライアントＡ（ユーザＡ）及びクライアントＢ（ユーザＢ）が設定することで図２８の両矢線に示すフロー（破線がユーザＡ、点線がユーザＢを示す）をユーザ毎に設定することが可能となる。前述したように、第２レイヤ（上位レイヤ）ノードと第１レイヤ（下位レイヤ）ノード間のリンクは、仮想ネットワーク上だけでなく、物理的または論理的にも分離されている。このため、クライアント（ユーザ）としては、提示された仮想ネットワークを見て、どこにフローを通すかを指定し、その通りに物理リンクを利用することが可能となる。また、同時に、この特徴は、第２レイヤ（上位レイヤ）ノードにおいて、それぞれ別の制御情報（フローエントリ）を用いて各クライアント（ユーザ）のトラヒックを管理することができることを意味している。
【００９１】
また、上記した例ではフローを登録するまでの流れを説明したが、フローの削除も同様の手順で仮想ネットワークに対して指示された操作内容を第１、第２のネットワークに落とし込むことで実現することが可能である。また前記フローの削除とフローの登録の組み合わせはフローの変更を行うことでできる。即ち、本実施形態のリソース分離部２３０は、ユーザからフローの操作を受け付けるフロー操作受付手段としても機能することになる。
【００９２】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００９３】
例えば、第４の実施形態は、第１、第２のネットワーク情報記憶部１１０、１２０に対する更新等を、仮想ネットワークの構成に反映したり、仮想ネットワーク上での仮想ノードの追加等に応じて、第１、第２のネットワーク情報記憶部１１０、１２０に必要な更新を行うことも可能である。
【００９４】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態の制御装置において、
前記構築手段は、他の仮想ネットワークに割り当てられた物理リソースとは異なる物理リソースを割り当てることで仮想ネットワークを構築する制御装置。
［第３の形態］
第１又は第２の形態の制御装置において、
前記物理リソースは、物理ノードのポートを含み、
前記構築手段は、前記物理ノードを用いて実現され、他の仮想ネットワークに割り当てられたポートとは異なるポートを割り当てることにより前記仮想ネットワークを構築する制御装置。
［第４の形態］
第１から第３いずれか一の形態の制御装置において、
前記物理リソースは、物理ネットワーク上のパスの少なくとも一部を実現する物理リンクを含み、
前記構築手段は、前記パスの少なくとも一部を共有し、かつ、他の仮想ネットワークに割り当てられた物理リンクとは異なる物理リンクを割り当てることで前記仮想ネットワークを構築する制御装置。
［第５の形態］
第１から第４いずれか一の形態の制御装置において、
前記構築手段によって構築された仮想ネットワークは、それぞれ当該仮想ネットワークを識別するための識別子を有し、
前記リソース分離手段は、前記識別子に対応する仮想ネットワークに割り当てられたリソースを表示させる制御装置。
［第６の形態］
第１から第５いずれか一の形態の制御装置において、
前記構築手段は、第１の物理ネットワークのトポロジと、前記第１の物理ネットワークよりも上位レイヤの第２の物理ネットワークのトポロジとに基づいて、前記第１、第２のネットワークを統合した仮想ネットワークのトポロジを構築し、
前記リソース分離手段は、前記仮想ネットワークのトポロジの中から指定された識別子を持つ仮想ネットワークのトポロジを表示する制御装置。
［第７の形態］
第１から第６いずれか一の形態の制御装置において、
前記構築手段は、互いにレイヤの異なる複数の物理ネットワークのトポロジに関する情報に基づいて、当該複数の物理ネットワーク上に実現される仮想ネットワークを構築する制御装置。
［第８の形態］
第６又は第７の形態の制御装置において、
さらに、前記リソース分離手段が表示させる内容に基づいて、ユーザからフローの操作を受け付けるフロー操作受付手段を備え、
前記構築手段は、前記フロー操作受付手段が受け付けたフローの操作に対応する前記第１、第２の物理ネットワークの端点を特定して、前記第１、第２の物理ネットワークを制御する制御装置。
［第９の形態］
（上記第２の視点による情報処理装置参照）
［第１０の形態］
（上記第３の視点による仮想ネットワークの提示方法参照）
［第１１の形態］
（上記第４の視点によるコンピュータプログラム参照）
なお、上記第９〜第１１の形態は、第１の形態と同様に、第２〜第８の形態に展開することが可能である。
【００９５】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９６】
１００、１００ａ  物理リソース
１１０  第１のネットワーク情報記憶部
１１０−１〜１１０−３  第１レイヤ（下位レイヤ）ノード
１１０ａ  ネットワーク情報記憶部
１２０  第２のネットワーク情報記憶部
１２０−１〜１２０−３  第２レイヤ（上位レイヤ）ノード
１３０−１Ａ〜１３０−３Ｂ  ルータ
２００、２００Ａ  制御装置
２１０Ａ  情報処理装置
２０１  構築手段
２０２  リソース分離手段
２０３  取得手段
２２０  階層制御部
２３０  リソース分離部
３００  仮想ネットワーク情報記憶部
３１０Ａ  第１の仮想ネットワーク
３１０Ｂ  第２の仮想ネットワーク
４００、４０１、４０２  ドライバー／コントローラ
【図１】
2016148002.tif 000003
【図２】
2016148002.tif 000004
【図３】
2016148002.tif 000005
【図４】
2016148002.tif 000006
【図５】
2016148002.tif 000007
【図６】
2016148002.tif 000008
【図７】
2016148002.tif 000009
【図８】
2016148002.tif 000010
【図９】
2016148002.tif 000011
【図１０】
2016148002.tif 000012
【図１１】
2016148002.tif 000013
【図１２】
2016148002.tif 000014
【図１３】
2016148002.tif 000015
【図１４】
2016148002.tif 000016
【図１５】
2016148002.tif 000017
【図１６】
2016148002.tif 000018
【図１７】
2016148002.tif 000019
【図１８】
2016148002.tif 000020
【図１９】
2016148002.tif 000021
【図２０】
2016148002.tif 000022
【図２１】
2016148002.tif 000023
【図２２】
2016148002.tif 000024
【図２３】
2016148002.tif 000025
【図２４】
2016148002.tif 000026
【図２５】
2016148002.tif 000027
【図２６】
2016148002.tif 000028
【図２７】
2016148002.tif 000029
【図２８】
2016148002.tif 000030
【国際調査報告】
2016148002.tif 000031
2016148002.tif 000032
2016148002.tif 000033
2016148002.tif 000034