(57)【要約】  仮想的なインフラストラクチャを階層的に構成し、様々な機能・サービスを提供する。サービス提供システムは、制御サーバと、制御サーバによって制御される物理リソースとを含む。制御サーバは、物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有し、前記仮想インフラ提供部は、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供することが可能である。（図１）
2011013805.tif 000002
【特許請求の範囲】
【請求項１】
物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、
前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有し、
前記仮想インフラ提供部は、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供することが可能であることを特徴とする制御サーバ。
【請求項２】
前記仮想インフラ提供部は、前記仮想インフラストラクチャを構成するために用いた仮想オブジェクトを制御する新しい仮想オブジェクトを作ることにより、前記仮想インフラストラクチャを仮想オブジェクトとして提供する請求項１の制御サーバ。
【請求項３】
前記各仮想的なインフラストラクチャに割り当てられている仮想オブジェクトを記憶する仮想インフラ構成記憶部と、
前記各仮想オブジェクトの提供元となっている仮想インフラ提供部または仮想装置提供部の情報を記憶する仮想オブジェクト構成記憶部と、を有し、
前記仮想インフラ構成記憶部および仮想オブジェクト構成記憶部に記憶された情報を参照して、前記仮想的なインフラストラクチャおよび仮想的なインフラストラクチャを構成する仮想オブジェクトに制御情報を伝達させていく請求項１または２の制御サーバ。
【請求項４】
前記各仮想装置提供部および前記各仮想インフラ提供部はそれぞれ、前記複数の仮想インフラ提供装置に仮想オブジェクトを提供するための、仮想オブジェクトの分割構成情報を記憶する構成情報記憶部を備える請求項１から３いずれか一の制御サーバ。
【請求項５】
前記仮想装置提供部は、
入力された制御情報に基づいて、提供中の複数の仮想オブジェクトの中から、呼び出された仮想オブジェクトを識別する仮想オブジェクト識別部と、
前記識別した仮想オブジェクトに対して与えられた制御情報に従って処理を行う制御部と、
制御チャネルを介して接続された前記特定の物理リソースとの情報の送受信を行う制御チャネル通信部とを含む、請求項１から４いずれか一の制御サーバ。
【請求項６】
前記仮想インフラ提供部は、
入力された制御情報に基づいて、提供中の複数の仮想オブジェクトの中から、呼び出された仮想オブジェクトを識別する仮想オブジェクト識別部と、
前記識別した仮想オブジェクトに対して与えられた制御情報に従って処理を行う制御部と、
前記処理結果に応じて、当該仮想インフラ提供部に割り当てられている仮想オブジェクトを呼び出す仮想オブジェクト呼び出し部とを含む、請求項１から５いずれか一の制御サーバ。
【請求項７】
前記物理リソースは、データプレーン装置であり、コントロールプレーン装置として機能する請求項１から６いずれか一の制御サーバ。
【請求項８】
物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、
前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有し、
前記仮想インフラ提供部は、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供することが可能であることを特徴とする制御サーバと、
前記制御サーバによって制御される物理リソースと、
を含むサービス提供システム。
【請求項９】
前記制御サーバの前記仮想インフラ提供部は、前記仮想インフラストラクチャを構成するために用いた仮想オブジェクトを制御する新しい仮想オブジェクトを作ることにより、前記仮想インフラストラクチャを仮想オブジェクトとして提供する請求項８のサービス提供システム。
【請求項１０】
前記制御サーバは、さらに、
前記各仮想的なインフラストラクチャに割り当てられている仮想オブジェクトを記憶する仮想インフラ構成記憶部と、
前記各仮想オブジェクトの提供元となっている仮想インフラ提供部または仮想装置提供部の情報を記憶する仮想オブジェクト構成記憶部と、を有し、
前記仮想インフラ構成記憶部および仮想オブジェクト構成記憶部に記憶された情報を参照して、前記仮想的なインフラストラクチャおよび仮想的なインフラストラクチャを構成する仮想オブジェクトに制御情報を伝達させていく請求項８または９のサービス提供システム。
【請求項１１】
物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有する制御サーバによる仮想的なインフラストラクチャの構築方法であって、
前記制御サーバの仮想インフラ提供部が、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供することを特徴とする仮想的なインフラストラクチャの提供方法。
【請求項１２】
前記制御サーバの前記仮想インフラ提供部が、前記仮想インフラストラクチャを構成するために用いた仮想オブジェクトを制御する新しい仮想オブジェクトを作ることにより、前記仮想インフラストラクチャを仮想オブジェクトとして提供する請求項１１の仮想的なインフラストラクチャの提供方法。
【請求項１３】
前記制御サーバは、さらに、
前記各仮想的なインフラストラクチャに割り当てられている仮想オブジェクトを記憶する仮想インフラ構成記憶部と、
前記各仮想オブジェクトの提供元となっている仮想インフラ提供部または仮想装置提供部の情報を記憶する仮想オブジェクト構成記憶部と、を有しており、
前記制御サーバは、前記仮想インフラ構成記憶部および仮想オブジェクト構成記憶部に記憶された情報を参照して、前記仮想的なインフラストラクチャおよび仮想的なインフラストラクチャを構成する仮想オブジェクトに制御情報を伝達させていく請求項１１または１２の仮想的なインフラストラクチャの提供方法。
【請求項１４】
物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有する制御サーバに実行させるプログラムであって、
前記仮想インフラ提供部が、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供するよう前記仮想インフラ提供部を制御するプログラム。
【請求項１５】
前記制御サーバの前記仮想インフラ提供部に、前記仮想インフラストラクチャを構成するために用いた仮想オブジェクトを制御する新しい仮想オブジェクトを作る処理を実行させることにより、前記仮想インフラストラクチャを仮想オブジェクトとして提供させる請求項１４のプログラム。
【請求項１６】
前記制御サーバは、さらに、
前記各仮想的なインフラストラクチャに割り当てられている仮想オブジェクトを記憶する仮想インフラ構成記憶部と、
前記各仮想オブジェクトの提供元となっている仮想インフラ提供部または仮想装置提供部の情報を記憶する仮想オブジェクト構成記憶部と、を有しており、
前記制御サーバに、前記仮想インフラ構成記憶部および仮想オブジェクト構成記憶部に記憶された情報を参照して、前記仮想的なインフラストラクチャおよび仮想的なインフラストラクチャを構成する仮想オブジェクトに制御情報を伝達させていく処理を実行させる請求項１４または１５のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２００９−１８００２３号（２００９年７月３１日出願）及び、特願２０１０−０３８９７４号（２０１０年２月２４日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法に関し、特に、ある物理リソースを複数の論理リソースに見せかける仮想化技術を用いた制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法に関する。
【背景技術】
【０００２】
階層的にネットワークやサーバといったインフラストラクチャを構成し、統合的に管理・制御する方法が存在する。【０００３】
ネットワークを階層化して統合的に管理・制御する方法としては、例えば、特許文献１に、多階層のＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ネットワークが開示されている。特許文献１では、階層化されたＭＰＬＳネットワークに対して、それぞれ外部サーバを設け、各外部サーバに帯域確認や経路決定を行わせる構成が開示されている（特許文献１の段落０１３５〜０１３８、図３２等参照）。【０００４】
また、同一レイヤの同一装置内においても、ある装置をリンクやスイッチ等で階層的に構成されたオブジェクトの集合として管理することも知られている。例えば、特許文献２には、仮想マシン環境における階層的な仮想化を提供する方法が開示されている。同文献には、ハイパーバイザを用いて維持される第１のパーティション内の仮想化スタックによって生成される第２のパーティションと、第１、第２のパーティションと直接対話するハイパーバイザマイクロカーネルとを含む構成が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３４０９３７号公報
【特許文献２】特表２００９−５０６４６２号公報
【非特許文献】
【０００６】
【非特許文献１】Nick McKeownほか７名、“OpenFlow: Enabling Innovation in Campus Networks”、［online］、［平成21年7月17日検索］、インターネット〈URL：http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
なお、上記特許文献及び非特許文献の全開示内容はその引用をもって本書に繰込み記載する。以下の分析は、本発明の観点から与えられる。
特許文献１の方式では、仮想化されたリソースを必要な分だけ切り出し、仮想化したインフラストラクチャを提供するといったことは不可能である。特許文献１では、制御プレーンや管理プレーンでの操作対象となっているオブジェクトが、物理的なデータプレーン装置（例えば、特許文献１のルータ）と１対１に対応している。このため、各装置を仮想化し、これを利用して自由度の高い仮想インフラストラクチャを構築することができないという問題点がある。【０００８】
また、特許文献１の方式では、物理的な装置構成やレイヤ構成と異なる仮想インフラストラクチャを構築することも不可能である。例えば、物理インフラストラクチャがスイッチとルータによって構成されるレイヤのインフラストラクチャである場合、この上に構築する仮想インフラストラクチャは、前記スイッチやルータの配置による制約を受けてしまう。【０００９】
また、特許文献２は、計算機の物理リソースを分割して使用させるパーティションに関するものであり、唯一つの親パーティションに仮想化スタックを並列または階層的に設定できる構成を開示するに止まっている。【００１０】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、仮想的なインフラストラクチャを階層的に構築し、前記仮想的なインフラストラクチャの階層関係に従って個々の物理リソースを統合的に制御し、様々な機能を提供できる制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有し、前記仮想インフラ提供部は、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供することが可能である制御サーバが提供される。【００１２】
本発明の第２の視点によれば、上記した制御サーバと、前記制御サーバによって制御される物理リソースとを含むサービス提供システムが提供される。【００１３】
本発明の第３の視点によれば、物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有する制御サーバによる仮想的なインフラストラクチャの構築方法であって、前記制御サーバの仮想インフラ提供部が、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供する、仮想的なインフラストラクチャの提供方法が提供される。本方法は、前記仮想装置提供部と仮想インフラ提供部とをそれぞれ複数有する制御サーバ（コンピュータ）という、特定の機械に結びつけられている。【００１４】
本発明の第４の視点によれば、物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、前記仮想装置提供部により提供される１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供することが可能な仮想インフラ提供部とを有する制御サーバに実行させるプログラムであって、前記仮想インフラ提供部が、仮想インフラ提供部が提供する仮想オブジェクトを用いて仮想インフラストラクチャを構成し、該仮想インフラストラクチャを仮想オブジェクトとして提供するよう前記仮想インフラ提供部を制御するプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、複数の物理リソースを仮想化し、この仮想化したリソースを用いて複数の仮想的なインフラストラクチャを階層的に構築し、これら仮想的なインフラストラクチャを統合的に制御し、様々な機能・サービスを実現することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の構成を表したブロック図である。
【図３】図２の仮想インフラ提供部の詳細構成を表したブロック図である。
【図４】図２の仮想装置提供部の詳細構成を表したブロック図である。
【図５】図２の仮想インフラ構成記憶部および仮想オブジェクト構成記憶部の構成を説明するための図である。
【図６】本発明の具体的な構成例を示す図である。
【図７】本発明の具体的な構成例を示す図である。
【図８】本発明を用いて２つの仮想ネットワークを作る場合のオブジェクトの階層構成の例である。
【図９】図８の構成に、さらに変形を加えた構成の例である。
【図１０】図９の構成に、さらに変形を加えた構成の例である。
【図１１】図８の構成に、さらに変形をして得られる仮想的スイッチの構成の例である。
【図１２】本発明を用いてＶＭサーバを仮想化したオブジェクトを含む階層構成の例である。
【発明を実施するための形態】
【００１７】
はじめに、本発明の概要について図１を参照して説明する。図１に示すとおり、本発明のサービス提供システムは、ｎ個の物理リソース１８１〜１８ｎと、制御チャネルを介して接続され、前記ｎ個の物理リソース１８１〜１８ｎの制御や監視を行う制御サーバ１１とを含んで構成される。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
制御サーバ１１は、特定の物理リソース（例えば、物理リソース１８ｎ）を制御するための３つの仮想オブジェクト１６ｎ１〜１６ｎ３を提供する仮想装置提供部（例えば、仮想装置提供部１６ｎ）と、前記仮想装置提供部（例えば、仮想装置提供部１６ｎ）から提供された仮想オブジェクトを含む１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供する仮想インフラ提供部（例えば、仮想オブジェクト１６ｎ１を用いて構築された仮想インフラ提供部１５４）と、をそれぞれ複数有する。ここでは、仮想インフラ提供部の数はｍ個であり、仮想装置提供部の数はｎ個であるものとする。
【００１９】
前記ｍ個の仮想インフラ提供部１５１〜１５ｍのうちの一の仮想インフラ提供部（例えば、仮想インフラ提供部１５１）は、前記ｍ個の仮想インフラ提供部のうちのいずれか一つの仮想インフラ提供部（例えば、仮想インフラ提供部１５３）から提供された仮想オブジェクトを含む１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを提供可能である。
【００２０】
ここでは、図１に示すとおり、仮想インフラ提供部１５１は、仮想インフラ提供部１５３から提供されている仮想オブジェクトと、仮想インフラ提供部１５４から提供されている仮想オブジェクトと、を利用しているものとする。また、仮想インフラ提供部１５３、１５４は、それぞれ仮想装置提供部１６１から提供されている仮想オブジェクトと、仮想装置提供部１６２から提供されている仮想オブジェクトと、を利用しているものとする。
【００２１】
このとき、例えば、仮想インフラ提供部１５１に何らかの制御情報が与えられると、仮想インフラ提供部１５１は、制御情報に従った処理を行った上で、必要に応じて、利用している仮想オブジェクトに対してさらなる制御情報を出力する。前記制御情報の出力を受けた仮想インフラ提供部１５３、１５４は、それぞれ前記制御情報が自身の提供する仮想オブジェクトのうち、どの仮想オブジェクトに与えられた制御情報であるかを判別し、当該制御情報に従った処理を行った上で、必要に応じて、自身が利用している仮想オブジェクトにさらなる制御情報を出力する。そして、前記制御情報の出力を受けた仮想装置提供部１６１、１６２は、それぞれ前記制御情報が自身の提供する仮想オブジェクトのうち、どの仮想オブジェクトに与えられた制御情報であるかを判別し、当該制御情報に従った処理を行った上で、必要に応じて、それぞれに紐付けられた物理リソース１８１、１８２にさらなる制御情報を出力する。
【００２２】
一方、物理リソース１８１、１８２から仮想装置提供部１６１、１６２へと、前記制御情報に対する応答や自動的な報告等があった場合、仮想装置提供部１６１、１６２、仮想インフラ提供部１５３、１５４にて、それぞれ当該情報に応じた処理が行われ、最終的に、仮想インフラ提供部１５１に伝達される。
【００２３】
上記仮想装置提供部は、物理リソースの異動に応じて適宜追加、削除、変更することが可能であり、上記仮想インフラ提供部は、既存の仮想オブジェクトを利用する形態で追加し、変更し、または削除することが可能である。以上により、様々なデータプレーン機器を複数化し、種々の仮想インフラストラクチャを構築して、統合的に制御し、様々な機能・サービスを実現することが可能になる。
【００２４】
本発明の制御サーバは、次のように特定することも可能である。即ち、本発明の制御サーバは、物理リソースを制御するための仮想オブジェクトを１つ以上提供する仮想装置提供部と、１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを仮想オブジェクトとして提供する複数の仮想インフラ提供部と、を有し、前記複数の仮想インフラ提供部のうちの一の仮想インフラ提供部が、前記複数の仮想インフラ提供部のうちのいずれか一つの仮想インフラ提供部から提供された仮想オブジェクトを含む１つ以上の仮想オブジェクトを用いて構成された仮想的なインフラストラクチャを提供する。
【００２５】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態に係るサービス提供システムの構成を表したブロック図である。図２を参照すると、制御サーバ１１と、ｎ個のデータプレーン装置１９１〜１９ｎと、が示されている。
【００２６】
データプレーン装置１９１〜１９ｎは、それぞれ対応したｎ個の制御チャネルを介して制御サーバ１１と接続されている。データプレーン装置１９１〜１９ｎとしては、非特許文献１のＯｐｅｎＦｌｏｗスイッチ、各種のルータ、オプティカルノード、各種基地局装置等が挙げられる。
【００２７】
制御サーバ１１は、データプレーン装置１９１〜１９ｎを制御する仮想装置提供部１６１〜１６ｎと、仮想オブジェクトが割り当てられて仮想的なインフラストラクチャとして機能するｍ個の仮想インフラ提供部１５１〜１５ｍと、仮想インフラ提供部に対する各仮想オブジェクトの割り当てを記憶する仮想インフラ構成記憶部１２と、仮想オブジェクトの構成情報やその提供元である仮想インフラ提供部あるいは仮想装置提供部の情報を記憶する仮想オブジェクト構成記憶部１３とを備えている。
【００２８】
仮想装置提供部１６１〜１６ｎは、それぞれが接続されたデータプレーン装置を仮想化した仮想オブジェクトを１つ以上生成し、仮想インフラ提供部１５１〜１５ｍに提供する。例えば、図２の仮想装置提供部１６ｎは、接続されたデータプレーン装置１９ｎを仮想化した、３つの仮想オブジェクト１６ｎ１〜１６ｎ３を提供する。なお、それぞれの仮想装置提供部が提供する仮想オブジェクトの数は、３つに限られず、データプレーン装置１９ｎの種類や性能等に応じて適宜設定することができる。
【００２９】
仮想インフラ提供部１５１〜１５ｍは、仮想装置提供部１６１〜１６ｎあるいは自身を含む仮想インフラ提供部１５１〜１５ｍから提供された１つ以上の仮想オブジェクトを割り当てて構築された仮想的なインフラストラクチャを複数の仮想オブジェクトとして提供する。例えば、図２の仮想インフラ提供部１５１は、仮想的なインフラストラクチャを、３つの仮想オブジェクト１５１１〜１５１３に分割して提供する。なお、それぞれの仮想インフラ提供部が提供する仮想オブジェクトの数は、３つに限られず、適宜変更することができる。このようにして生成された仮想オブジェクトは、仮想インフラ提供部１５１〜１５ｍまたは上位のアプリケーションプログラムから呼び出して利用される。
【００３０】
仮想インフラ構成記憶部１２および仮想オブジェクト構成記憶部１３に記憶される情報は制御サーバ１１の構成を変更する際に併せて更新され、仮想的なインフラストラクチャおよび仮想的なインフラストラクチャを構成する仮想オブジェクト群に情報を伝達する際に参照される。
【００３１】
続いて、図３〜図５を参照して、制御サーバ１１の各部の詳細構成について説明する。
【００３２】
図３は、本発明の第１の実施形態の制御サーバ１１の仮想インフラ提供部１５１の詳細構成を表したブロック図である。仮想インフラ提供部１５１は、仮想インフラ提供部１５１自身が提供する複数の仮想オブジェクト（図２の１５１１〜１５１３）のうちのどのオブジェクトが呼び出されたのかを識別する仮想オブジェクト識別部１５１ａと、割り当てられている仮想オブジェクトを操作して、目的の仮想的なインフラストラクチャとして機能を実現するプログラムによって構成された制御部１５１ｂと、割り当てられた仮想オブジェクトを操作するための通信を行う仮想オブジェクト呼び出し部１５１ｃと、仮想インフラ提供部１５１自身が提供する複数の仮想オブジェクト間の構成情報（分割構成情報）を保持する構成情報記憶部１５１ｄと、前記仮想オブジェクトの状態を保持するオブジェクト状態記憶部１５１ｅとを含んで構成される。仮想インフラ提供部１５２〜１５ｍも仮想インフラ提供部１５１と同様に構成される。
【００３３】
図４は、本発明の第１の実施形態の制御サーバ１１の仮想装置提供部１６１の詳細構成を表したブロック図である。仮想装置提供部１６１は、該仮想装置提供部１６１が提供する複数の仮想オブジェクト（例えば、図２の仮想装置提供部１６ｎの場合の１６ｎ１〜１６ｎ３）のうちのどのオブジェクトが呼び出されたのかを識別する仮想オブジェクト識別部１６１ａと、与えられた制御情報に基づいて割り当てられているデータプレーン装置１９１を制御するプログラムによって構成された制御部１６１ｂと、データプレーン装置１９１と通信を行うための通信を行う制御チャネル通信部１６１ｃと、仮想装置提供部１６１自身が提供する複数の仮想オブジェクト間の構成情報（分割構成情報）を保持する構成情報記憶部１６１ｄと、前記仮想オブジェクトの状態を保持するオブジェクト状態記憶部１６１ｅとを含んで構成される。仮想装置提供部１６２〜１６ｎも仮想装置提供部１６１と同様に構成される。
【００３４】
図５は、本発明の第１の実施形態の制御サーバ１１の仮想インフラ構成記憶部１２および仮想オブジェクト構成記憶部１３の構成を説明するための図である。仮想インフラ構成記憶部１２は、制御サーバ１１の仮想インフラ提供部１５１〜１５ｍによって構築された仮想的なインフラストラクチャに対して、割り当てられている仮想オブジェクトの構成を記憶するテーブル等によって構成される。例えば、図２の仮想インフラ提供部１５１は、仮想インフラ提供部１５３および仮想インフラ提供部１５４の仮想オブジェクトを割り当てられているので、図５に示すとおり、仮想インフラ提供部１５１と、仮想オブジェクト１５３１、１５４１とが対応付けて記憶される。
【００３５】
仮想オブジェクト構成記憶部１３は、制御サーバ１１の内に生成されたそれぞれの仮想オブジェクトが、仮想インフラ提供部または仮想装置提供部によって提供されているかの構成を記憶するテーブル等によって構成される。さらに、図５の仮想オブジェクト構成記憶部１３の構成情報は、複数の仮想オブジェクト間の構成情報（分割構成情報）であり、図３、図４の構成情報記憶部１５１ｄ、１６１ｄの構成情報（分割構成情報）に相当する。
【００３６】
なお、上記した仮想インフラ構成記憶部１２や、仮想オブジェクト構成記憶部１３の構成情報は、図５に示すように独立した記憶部として管理するものとしても良いが、それぞれの仮想インフラ提供部１５１〜１５ｍに、それぞれ内部情報として保持させる構成も採用可能である。
【００３７】
このように仮想インフラ構成記憶部１２と仮想オブジェクト構成記憶部１３との２つの記憶部により、仮想的なインフラストラクチャの再帰的関係や階層構造が記述される。例えば、仮想インフラ提供部１５１が提供する仮想オブジェクト１５１１を再び仮想インフラ提供部１５１が利用するといった関係も記述することが可能になる。
【００３８】
続いて、本実施形態の動作について図面を用いて詳細に説明する。仮想装置提供部１６１〜１６ｎは、制御チャネルを用いてそれぞれ対応するデータプレーン装置１９１〜１９ｎの制御を行うとともに、各データプレーン装置に対応する複数の仮想オブジェクトを生成しているものとする。なお、本実施形態では、データプレーン装置と仮想装置提供部とが１対１で対応しているものとして説明するが、複数の物理リソースに対し１つの仮想装置提供部を持つ構成も採用可能である。
【００３９】
はじめに図４を参照して、仮想インフラ提供部やその上位のアプリケーション等から、仮想装置提供部１６１が提供する仮想オブジェクト、すなわち、データプレーン装置１９１に対して制御指示が行われた場合について説明する。仮想装置提供部１６１に制御指示が与えられると、仮想オブジェクト識別部１６１ａがその制御指示がどの仮想オブジェクトに対してなされたものなのかを識別する。
【００４０】
そして、制御部１６１ｂは、オブジェクト状態記憶部１６１ｅおよび構成情報記憶部１６１ｄから前記識別した仮想オブジェクトの状態及び構成情報を読み出して、与えられた制御指示に応じた処理を行う。そして、前記処理の結果として必要がある場合、制御部１６１ｂは、制御チャネル通信部１６１ｃを介して、データプレーン装置１９１に対してさらなる制御指示を出力する。
【００４１】
また、逆にデータプレーン装置１９１から制御チャネル通信部１６１ｃを介して何らかの情報を受信した際には、制御部１６１ｂは、必要に応じて、仮想オブジェクト識別部１６１ａに、その情報に対して割り当てられている仮想オブジェクトを特定させ、次に、仮想インフラ構成記憶部１２を参照して、当該仮想オブジェクトが割り当てられている仮想インフラ提供部を割り出し、当該仮想インフラ提供部に対して該情報を通知する。
【００４２】
続いて、上記仮想装置提供部１６１〜１６ｎあるいは仮想オブジェクトの提供元の仮想インフラ提供部１５１〜１５ｍに対して制御指示を行う仮想インフラ提供部１５１〜１５ｍの動作について説明する。
【００４３】
ここでは、図３を参照して、仮想インフラ提供部１５１が提供する仮想オブジェクトに対して制御指示が行われた場合について説明する。図３に示すように、仮想インフラ提供部１５１に制御指示が与えられると、仮想オブジェクト識別部１５１ａがその制御指示がどの仮想オブジェクトに対してなされたものなのかを識別する。
【００４４】
そして、制御部１５１ｂは、オブジェクト状態記憶部１５１ｅおよび構成情報記憶部１５１ｄから前記識別した仮想オブジェクトの状態及び構成情報を読み出して、与えられた制御指示に応じた処理を行う。そして、前記処理の結果として必要がある場合、制御部１５１ｂは、仮想インフラ構成記憶部１２および仮想オブジェクト構成記憶部１３を参照して、当該仮想インフラ提供部１５１に割り当てられている仮想オブジェクトのうち、該当する仮想オブジェクトの提供元を決定し、仮想オブジェクト呼び出し部１５１ｃを介して、前記決定した仮想オブジェクト情報とともにさらなる制御指示を出力する。
【００４５】
また、逆に仮想インフラ提供部１５１に割り当てられている仮想オブジェクトを提供している仮想装置提供部１６１〜１６ｎまたは仮想インフラ提供部１５１〜１５ｍから何らかの情報を受信した際には、制御部１５１ｂは、必要に応じて、仮想オブジェクト識別部１６１ａに、その情報に対して割り当てられている仮想オブジェクトを特定させ、次に、仮想インフラ構成記憶部１２を参照して、当該仮想オブジェクトが割り当てられている仮想インフラ提供部を割り出し、該情報を通知する。
【００４６】
以上のように、本実施形態によれば、ある仮想インフラ提供部に対して、別の仮想インフラ提供部が制御指示を行うというように複数の仮想インフラ提供部同士を階層的（必要に応じて再帰的に）に接続した仮想的インフラストラクチャを構築することができる。
【００４７】
例えば、図６に示すように、データプレーン装置として、非特許文献１のＯｐｅｎＦｌｏｗスイッチ１９１−ａ〜１９１−ｎが接続されている場合、制御サーバ１１は、ＯｐｅｎＦｌｏｗプロトコルを用いてＯｐｅｎＦｌｏｗスイッチ１９１−ａ〜１９１−ｎを制御し、フロー制御を行う。
【００４８】
例えば、ＯｐｅｎＦｌｏｗスイッチ１９１−ａ〜１９１−ｎに対して、制御指示として、制御チャネルを介して、特定のヘッダを持つパケットを特定のポートに出力するルールを送信すると、このＯｐｅｎＦｌｏｗスイッチは、前記制御指示に従ってパケット処理を行うこととなる。
【００４９】
ここで、ＯｐｅｎＦｌｏｗスイッチを仮想化した仮想装置（仮想スイッチ）毎に、上記のようなルール群を別々に用意することで、一台のＯｐｅｎＦｌｏｗスイッチをいくつかの仮想的なスイッチとして用いることができる。
【００５０】
すなわち、仮想装置提供部１６１〜１６ｎは、それぞれのオブジェクト状態記憶部（図４の１６１ｅ）において仮想オブジェクト毎にそれぞれルール群を保持する。そしてこれらのルールは、それぞれ構成情報記憶部（図４の１６１ｄ）に保持された構成情報に応じて適宜ルール間の競合が発生しないように調整してから、ＯｐｅｎＦｌｏｗスイッチに対して送信される。ここで、上記調整としては、例えば、仮想装置間で同じＩＤ空間（ポート番号や、ＶＬＡＮ番号やその他のヘッダ情報など）が競合しないようにＩＤ空間の分離あるいはマッピングを行うことで実施可能である。なお、上記ルールは、非特許文献１ではフローテーブルと呼ばれているものや、ＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｍａｔｉｏｎ  Ｂａｓｅ）と同様のものを採用可能である。
【００５１】
上記のような仮想装置提供部１６１〜１６ｎから提供される仮想オブジェクトを利用してトポロジディスカバリとして機能する仮想インフラストラクチャや、最短パス計算処理手段やロードバランス計測手段として機能する仮想インフラストラクチャを構築することができる。さらに、仮想インフラストラクチャに相当する仮想オブジェクトと、仮想的なスイッチを用いて上位階層の仮想インフラストラクチャを構築することができる。
【００５２】
例えば、図７に示すように、データプレーン装置として、仮想化機能を備えたサーバ（ＶＭサーバ）１９２−ａ〜１９２−ｎが接続されている場合も考えられる。これらＶＭサーバ１９２−ａ〜１９２−ｎ上で複数の仮想マシンが動作し、これら複数の仮想マシンが仮想オブジェクトとして仮想インフラ提供部１５１〜１５ｍに割り当てられる。この場合、仮想装置提供部１６１〜１６ｎは、仮想マシンに対する移動や停止などの制御を指示することができる。
【００５３】
本発明の具体的な応用例について、図８〜図１２を参照して説明する。なお、以下の図８〜図１２の用いた説明では、仮想インフラ構成記憶部１２および仮想オブジェクト構成記憶部１３を省略する。
【００５４】
図８は、２つの仮想ネットワークを作る場合の実装置および仮想装置および仮想インフラストラクチャの構成を表した図である。図６と同様に、図８の仮想装置提供部１６１−ａ、１６１−ｂは、ＯｐｅｎＦｌｏｗスイッチ１９１−ａ、１９１−ｂを仮想化した仮想スイッチオブジェクト（例えば、１６１１−ａ）を仮想インフラ提供部に提供する。
【００５５】
図８の例では、仮想インフラ提供部として、複数装置統合部１５１−ａ、１５１−ｂ、トポロジ管理部１５２−ａ、１５２−ｂ、経路計算部１５３−ａ、１５３−ｂ、レイヤ２経路設定部１５４−ａ、１５４−ｂ、レイヤ３経路設定部１５５−ａ、１５５−ｂが構築されている。
【００５６】
図８の複数装置統合部１５１−ａ、１５１−ｂは、それぞれＯｐｅｎＦｌｏｗスイッチ１９１−ａ、１９１−ｂを制御する仮想インフラストラクチャを提供する。トポロジ管理部１５２−ａ、１５２−ｂは、上記複数装置統合部１５１−ａ、１５１−ｂから提供される仮想ネットワークオブジェクト１５１１−ａ、１５１１−ｂを用いてネットワークトポロジの管理機能を提供する。経路計算部１５３−ａ、１５３−ｂは、上記仮想ネットワークオブジェクトと、トポロジ管理部１５２−ａ、１５２−ｂから提供されるトポロジオブジェクト１５２１−ａ、１５２１−ｂとを用いてパス（経路）を求める仮想インフラストラクチャを提供する。レイヤ２経路設定部１５４−ａ、１５４−ｂおよびレイヤ３経路設定部１５５−ａ、１５５−ｂは、上記仮想ネットワークオブジェクトと、経路計算部１５３−ａ、１５３−ｂから提供される経路設定オブジェクト１５３１−ａ、１５３１−ｂとを用いてそれぞれレイヤ２とレイヤ３の経路設定処理を行う。
【００５７】
複数装置統合部１５１−ａ、１５１−ｂが提供する仮想ネットワークオブジェクト１５１１−ａ、１５１１−ｂは、他の仮想インフラ提供部（例えば、経路計算部１５３−ａ、１５３−ｂ）から呼び出されたとき、自己に割り当てられている仮想スイッチオブジェクトの中から適切な仮想スイッチオブジェクト（例えば、仮想スイッチオブジェクト１６１１−ａ）を選択して呼び出す。また、仮想スイッチオブジェクト（例えば、仮想スイッチオブジェクト１６１１−ａ）の方からデータが入力されたとき、複数装置統合部１５１−ａ、１５１−ｂは、提供している仮想ネットワークオブジェクトを利用している複数の仮想インフラ提供部（例えば、トポロジ管理部１５２−ａ、１５２−ｂや経路計算部１５３−ａ、１５３−ｂなど）から適切なものを選択して、そこにデータを送る。
【００５８】
同様に、経路計算部１５３−ａ、１５３−ｂが提供する経路設定オブジェクト１５３１−ａ、１５３１−ｂは、他の仮想インフラ提供部（例えば、レイヤ２経路設定部１５４−ａ、１５４−ｂ）から呼び出されたとき、自己に割り当てられている仮想スイッチオブジェクト（図８の例では、トポロジオブジェクト１５２１−ａ、１５２１−ｂ、仮想ネットワークオブジェクト１５１１−ａ、１５１１−ｂ）の中から適切な仮想オブジェクト（例えば、トポロジオブジェクト１５２１−ａ、１５２１−ｂ）を選択して呼び出してトポロジを取得する。そして、経路設定オブジェクト１５３１−ａ、１５３１−ｂは、このトポロジに沿って仮想ネットワーク内部でパスを計算し、仮想ネットワークオブジェクト１５１１−ａ、１５１１−ｂを呼び出してこのパスを設定するためのコマンドを送る。
【００５９】
このように、個々の仮想インフラ提供部が提供する仮想オブジェクトは、当該仮想インフラストラクチャを構成するために用いた（下位の）仮想オブジェクトの中から適切な仮想オブジェクトを制御するものとすることができる。そして、当該（下位の）仮想オブジェクトが、さらに自身に割り当てられている仮想オブジェクトの中から適切な仮想オブジェクトを制御するというように、順時階層関係をたどって制御情報が伝達されていく。反対方向のデータの流れも同様であり、（下位の）仮想オブジェクトから出力されたデータは、当該（下位の）仮想オブジェクトを利用している（上位の）仮想オブジェクトの中から選択された仮想オブジェクトに伝達されていく。
【００６０】
なお、図８の例では２つの仮想ネットワークを作るものとして説明したが、ＯｐｅｎＦｌｏｗスイッチと仮想装置提供部との組を追加することで３個以上の仮想ネットワークを構築することも可能である。また、上記した仮想装置提供部や各仮想インフラ提供部から提供される仮想オブジェクトを利用するさらなる仮想インフラストラクチャを構築することも可能である。
【００６１】
図９は、図８の構成にさらに、２つのＯｐｅｎＦｌｏｗスイッチを追加してスケールアウトを行った構成を示している。図９の構成では、スケールアウトに対応するため、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）と、仮想装置提供部として仮想ストレージオブジェクト１６３１−ａを提供する仮想ストレージ提供部１６３−ａを追加し、仮想インフラ提供部として、トポロジ管理部１５２−ａ、１５２−ｂに仮想データベースオブジェクト１５６１−ａを提供するトポロジデータベース１５６−ａが追加されている。
【００６２】
図１０は、図９の構成中のレイヤ３経路設定部１５５−ａ、１５５−ｂが提供する仮想ネットワークドメインオブジェクト１５５１−ａ、１５５１−ｂを用いて、上位レイヤの経路設定処理を行う上記経路設定部１５７−ａを追加した例である。
【００６３】
上記した各仮想インフラ提供部が提供する仮想オブジェクト同士の階層関係は自由に設定することができる。図１１は、ＯｐｅｎＦｌｏｗスイッチ１９１−ａおよび１９１−ｂを制御する仮想インフラストラクチャを提供する複合スイッチ構成制御部１５８−ａを構築し、この複合スイッチ構成制御部１５８−ａが提供する仮想スイッチオブジェクト１５８１−ａを、ＯｐｅｎＦｌｏｗスイッチ１９１−ｃ、１９１−ｄを制御する複数装置統合部１５１−ｂに割り当てた例である。この構成によれば、複数のスイッチを一まとめにして仮想的な大規模スイッチとして見せかけることが可能になる。
【００６４】
図１２は、物理リソースとして接続されたＶＭサーバ１９２−ａ〜１９２−ｅおよびＯｐｅｎＦｌｏｗスイッチ１９１−ａ、１９２−ｂをそれぞれ仮想化してロードバランス処理を行う構成を示している。ロードバランサ１５９−ａは、仮想装置提供部１６１−ａ、１６１−ｂ、１６２−ｃ〜１６２−ｅの負荷分散処理を行うサーバオブジェクト１５９１−ａを提供する。そして、ホストデータベース１５０−ａは、サーバオブジェクト１５９１−ａおよびＶＭサーバ１９２−ａ、１９２−ｂを仮想したサーバオブジェクトが割り当てられている。図１２の例では、ＶＭサーバ１９２−ａ〜１９２−ｂを仮想化したサーバオブジェクトは、ＶＭサーバ１９２−ｃ〜１９２−ｅを仮想化したサーバオブジェクトより上位の階層に位置しているが、これらの階層関係は自由に変更することができる。
【００６５】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した各実施形態では、ＯｐｅｎＦｌｏｗスイッチやＶＭサーバを制御する例を挙げて説明したが、各種のルータや通信ノード等のデータプレーン装置はもちろんとして、ネットワーク上に配置された各種の監視プローブや基地局装置、各種のサーバやストレージ等の物理リソースの統合的制御に用いることも可能である。
【００６６】
また例えば、図１〜図７の各図においては、仮想インフラ構成記憶部および仮想装置提供部は、それぞれ３つの仮想オブジェクトを提供するものとして示したが、これら提供する仮想オブジェクトの数はあくまで例示したものであり、前記仮想インフラ構成記憶部および仮想装置提供部それぞれが、必要な数の仮想オブジェクトを提供するよう構成することができる。
【００６７】
また上記した実施形態では、物理リソース（データプレーン装置）と、仮想装置提供部とがそれぞれ１対１で対応しているものとして説明したが、１つの仮想装置提供部が複数の物理リソースに対応する仮想オブジェクトを提供するように構成することも可能である。
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００６８】
１１  制御サーバ
１２  仮想インフラ構成記憶部
１３  仮想オブジェクト構成記憶部
１５１〜１５ｍ  仮想インフラ提供部
１５１ａ、１６１ａ  仮想オブジェクト識別部
１５１ｂ、１６１ｂ  制御部
１５１ｃ  仮想オブジェクト呼び出し部
１５１ｄ、１６１ｄ  構成情報記憶部
１５１ｅ、１６１ｅ  オブジェクト状態記憶部
１６１〜１６ｎ  仮想装置提供部
１６１ｃ  制御チャネル通信部
１８１〜１８ｎ  物理リソース
１９１〜１９ｎ  データプレーン装置
１９１−ａ〜１９１−ｎ    ＯｐｅｎＦｌｏｗスイッチ
１９２−ａ〜１９２−ｎ  サーバ（ＶＭサーバ）
１５１１〜１５１３、１６ｎ１〜１６ｎ３  仮想オブジェクト
１５１１−ａ  仮想ネットワークオブジェクト
１５２１−ａ  トポロジオブジェクト
１５３１−ａ  経路設定オブジェクト
１５５１−ａ  仮想ネットワークドメインオブジェクト
１５６１−ａ  仮想データベースオブジェクト
１５８１−ａ  仮想スイッチオブジェクト
１５９１−ａ  サーバオブジェクト
１６１１−ａ  仮想スイッチオブジェクト
１６３１−ａ  仮想ストレージオブジェクト
【図１】
2011013805.tif 000003
【図２】
2011013805.tif 000004
【図３】
2011013805.tif 000005
【図４】
2011013805.tif 000006
【図５】
2011013805.tif 000007
【図６】
2011013805.tif 000008
【図７】
2011013805.tif 000009
【図８】
2011013805.tif 000010
【図９】
2011013805.tif 000011
【図１０】
2011013805.tif 000012
【図１１】
2011013805.tif 000013
【図１２】
2011013805.tif 000014
【国際調査報告】
2011013805.tif 000015
2011013805.tif 000016