(57)【要約】ＶＭ配置管理システムは、デプロイ管理部と、仮想マシン配置管理部とを備え、デプロイ管理部は、保持する論理構成テンプレートと、論理構成テンプレート管理表と、ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたＶＭ間通信関係グラフ情報を生成して、仮想マシン配置管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求し、仮想マシン配置管理部は、保持する物理構成グラフ情報と、仮想マシン−物理マシン対応付け表と、論理ネットワーク−物理ネットワーク対応付け表と、ＶＭ間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行う。また、ＶＭ間通信関係グラフ情報の論理ネットワークの接続の形態に従い、物理マシンと物理スイッチの割当て方を変える。
2017056238.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより、仮想マシン（ＶＭ）システムをネットワークにより接続された一つ以上の物理マシンにプロビジョニングするＶＭ配置管理システムであって、  構築するシステムの論理情報を保持するデプロイ管理部と、  構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを保持し、前記デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備え、  前記デプロイ管理部は、  仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、  構築するシステムの情報と、前記論理構成テンプレートを保持する論理構成テンプレート管理表と、  前記論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、  前記仮想マシン配置管理部は、  ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、  仮想マシンと物理マシンを対応付ける仮想マシン−物理マシン対応付け表と、  論理ネットワークと物理ネットワークを対応付ける仮想マシン−物理マシン対応付け表とを有し、  前記デプロイ管理部は、前記論理構成テンプレートと、前記論理構成テンプレート管理表と、前記ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたＶＭ間通信関係グラフ情報を生成して、前記デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求し、  前記仮想マシン配置管理部は、前記物理構成グラフ情報と、前記仮想マシン−物理マシン対応付け表と、前記仮想マシン−物理マシン対応付け表と、前記ＶＭ間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行うことを特徴とするＶＭ配置管理システム。
【請求項２】
前記デプロイ管理部は、前記物理マシンを新たにプロビジョニングする場合に、割当てられていない物理スイッチと物理マシンがあるときは、それらを利用して要求された仮想マシンシステムの物理マシンへのプロビジョニングを行うことを特徴とする請求項１記載のＶＭ配置管理システム。
【請求項３】
前記デプロイ管理部は、物理マシンを新たに論理ネットワークに割当てるときに、割当て済み論理ネットワークがあるときには、前記物理マシンに接続する物理スイッチの評価値を求め、前記割当て済み論理ネットワークに割当てられる物理スイッチの評価値の総和を、前記物理マシンの評価値として、その評価値が最も小さい前記物理マシンを選択して、前記プロビジョニングを行うことを特徴とする請求項１記載のＶＭ配置管理システム。
【請求項４】
前記物理マシンに接続する物理スイッチの評価値は、前記割当て済み論理ネットワークの接続の形態が、仮想マシンが１対１で接続される１：１形態、又は、仮想マシンがＮ対Ｎで接続されるＮ：Ｎ形態（Ｎ≧２の整数）のときに、前記物理スイッチの評価値を、前記割当て済み論理ネットワークのスイッチ数とすることを特徴とする請求項３記載のＶＭ配置管理システム。
【請求項５】
前記物理マシンに接続する物理スイッチの評価値は、前記割当て済み論理ネットワークの接続の形態が、仮想マシンがＮ対１で接続されるＮ：１形態（Ｎ≧２の整数）、又は、仮想マシンがＮ対Ｍで接続され、Ｍ個の仮想マシンの属するクラスタの仮想マシンは、自分の属するクラスタの仮想マシンとは通信を行なわず、Ｎ個の仮想マシンの属するクラスタの仮想マシンのみと通信を行うＮ：Ｍ単方向形態（Ｎ，Ｍ≧２の整数）のときに、前記物理スイッチの評価値を、前記割当て済み論理ネットワークの前記物理マシンの最短到達スイッチ数とすることを特徴とする請求項３記載のＶＭ配置管理システム。
【請求項６】
前記デプロイ管理部は、物理マシンを新たに論理ネットワークに割当てるときに、割当て済み論理ネットワークがないときには、各々の論理ネットワークの未割当ての物理スイッチの評価値と、割当てられた物理スイッチの評価値に基づいて、前記物理マシンを選択し、前記プロビジョニングを行うことを特徴とする請求項１記載のＶＭ配置管理システム。
【請求項７】
前記未割当ての物理スイッチの評価値は、物理マシンとその物理マシンの最短到達スイッチ数とし、前記評価値がより大きい物理スイッチとそれに接続する物理マシンを選択して、前記プロビジョニングを行うことを特徴とする請求項６記載のＶＭ配置管理システム
【請求項８】
割当てられた物理スイッチの評価値は、論理ネットワークの帯域とその物理スイッチの最大性能までの残り帯域であって、前記評価値がより大きい物理スイッチとそれに接続する物理マシンを選択して、前記プロビジョニングを行うことを特徴とする請求項６記載のＶＭ配置管理システム
【請求項９】
コンピュータにより、仮想マシン（ＶＭ）システムをネットワークにより接続された一つ以上の物理マシンにプロビジョニングするＶＭ配置管理システムのＶＭ配置管理システム方法であって、  前記ＶＭ配置管理システムは、  構築するシステムの論理情報を保持するデプロイ管理部と、  構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを保持し、前記デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備え、  前記デプロイ管理部は、  仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、  構築するシステムの情報と、前記論理構成テンプレートを保持する論理構成テンプレート管理表と、  前記論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、  前記仮想マシン配置管理部は、  ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、  仮想マシンと物理マシンを対応付ける仮想マシン−物理マシン対応付け表と、  論理ネットワークと物理ネットワークを対応付ける仮想マシン−物理マシン対応付け表とを保持し、  前記デプロイ管理部が、前記論理構成テンプレートと、前記論理構成テンプレート管理表と、前記ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたＶＭ間通信関係グラフ情報を生成して、前記デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求するステップと、  前記仮想マシン配置管理部が、前記物理構成グラフ情報と、前記仮想マシン−物理マシン対応付け表と、前記仮想マシン−物理マシン対応付け表と、前記ＶＭ間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行うステップとを有することを特徴とするＶＭ配置管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ＶＭ配置管理システム、及び、ＶＭ配置管理方法に係り、特に、複数の業務システムが稼動するクラウド基盤（ＩａａＳ（Infrastructure as a Service））での仮想マシン（以下、ＶＭ（Virtual Machine）ともいう）の作成するにあたり、物理ネットワークの仕様に適合した最適なＶＭ配置を行うのに好適なＶＭ配置管理システム、及び、ＶＭ配置管理方法に関する。
【背景技術】
【０００２】  近年、インターネットの急速な普及により、従来は手元のコンピュータに導入して利用していたようなソフトウェアやデータ、あるいはそれらを提供するための技術基盤（サーバなど）を、インターネットなどのネットワークを通じて必要に応じて利用者に提供するサービスであるクラウドサービスが注目されている。【０００３】  このクラウドサービスの一形態として、ＩａａＳ（Infrastructure as a Service）という利用形態がある。ＩａａＳでは、コンピュータシステムを構築及び稼動させるための基盤（仮想マシンやネットワークなどのインフラ）そのものをインターネット経由のサービスとして提供するものである。【０００４】  また、仮想化環境における性能安定性の確保と集約率向上の両立を目的とした技術として、例えば、特許文献１がある。特許文献１では、複数の物理サーバから構成されるシステムにおいて、物理サーバ間で負荷に偏りが生じた場合に、ライブマイグレーション技術を用いて、ある物理サーバ上で稼働する仮想サーバを他の物理サーバへと移動させる。これにより負荷が平準化されるため、性能劣化が発生するリスクが軽減するとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第８０９５９２９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】  特許文献１に記載の技術は、ＩａａＳ基盤上において、複数の物理マシンからなるシステムにおいて、ＶＭを物理マシン上に最適な構成で構築する際に利用しうる。しかしながら、特許文献１記載の手法では、ＶＭの配置先の決定においてＣＰＵ、メモリの利用率を根拠にＶＭの配置先の物理サーバを決めており、ネットワークについては配慮がなされていない。ネットワークについては、通信の端点である物理マシンのみではなく、通信の途中で経由する全てのネットワーク装置の帯域を考慮しなければならず、物理的なネットワークのトポロジーを考慮する必要がある。また、テナント（クラウドサービスのサービス享受者）上のアプリケーションの通信先の数、及び、通信の態様（単方向、双方向、同期、非同期）の別により、最適な通信経路が異なる場合がある。例えば、ロードバランサは、他の多数のＶＭと通信するため、他のＶＭの通信量が多い物理マシンでの稼動は望ましくない。一方で、特定のサーバとしか通信を行わないことが決まっているＷｅｂサーバとＡＰサーバは、同一の物理マシンに配置することにより、通信を同一物理マシン内に局所化することができる。これはクラウド管理者の視点では、通信が他のテナントに影響を与える可能性を低くするため望ましい。従来技術では、このような観点については考慮されてこなかった。また、オープンソースのＨａｄｏｏｐに代表されるビッグデータ分析のソフトウェアは、互いに多数のＶＭ間で非同期通信を行うため、他のテナントからの影響が極力少ないクラスタに分離して配置することが望ましく、またジョブ完了時間に制限がない場合は、同種のアプリケーション同士でリソースをシェアすることがクラウド管理者にとっては望ましいが、同期型のレスポンスタイムを重視するアプリケーションでは、クリティカルパスとなるデータ転送に多数のスイッチを中継することは望ましくない。【０００７】  本発明は、上記問題点を解決するためになされたもので、その目的は、複数の業務システムが稼動するクラウド基盤での仮想マシンの作成するにあたり、物理ネットワークの仕様に適合して、最適なサービスを提供できるように、動的にＶＭ配置を行うＶＭ配置管理システムを提供することにある。
【課題を解決するための手段】
【０００８】  本発明のＶＭ配置管理システムの構成は、コンピュータにより、仮想マシン（ＶＭ）システムをネットワークにより接続された一つ以上の物理マシンにプロビジョニングするＶＭ配置管理システムであって、構築するシステムの論理情報を保持するデプロイ管理部と、構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを有し、デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備えるものである。デプロイ管理部は、仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、構築するシステムの情報と、論理構成テンプレートを保持する論理構成テンプレート管理表と、論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、仮想マシン配置管理部は、ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、仮想マシンと物理マシンを対応付ける仮想マシン−物理マシン対応付け表と、論理ネットワークと物理ネットワークを対応付ける仮想マシン−物理マシン対応付け表とを有する。そして、デプロイ管理部は、論理構成テンプレートと、論理構成テンプレート管理表と、ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたＶＭ間通信関係グラフ情報を生成して、デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求し、仮想マシン配置管理部は、物理構成グラフ情報と、仮想マシン−物理マシン対応付け表と、仮想マシン−物理マシン対応付け表と、ＶＭ間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行う。
【発明の効果】
【０００９】  本発明によれば、複数の業務システムが稼動するクラウド基盤での仮想マシンの作成するにあたり、物理ネットワークの仕様に適合して、最適なサービスを提供できるように、動的にＶＭ配置を行うＶＭ配置管理システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ＶＭ配置管理システムのシステム構成図である。
【図２】ＶＭ配置管理システムを実装させるコンピュータのハードウェア構成図である。
【図３Ａ】構成・トポロジ情報１５１の構成例を示す図である（その一）
【図３Ｂ】構成・トポロジ情報１５１の構成例を示す図である（その二）。
【図４】論理構成テンプレート管理表１２１の一例を示す図である。
【図５Ａ】ミドルウェア別通信量算出式定義テーブルの構成例を示す図である（その一）。
【図５Ｂ】ミドルウェア別通信量算出式定義テーブルの構成例を示す図である（その二）。
【図５Ｃ】ミドルウェア別通信量算出式定義テーブルの構成例を示す図である（その三）。
【図６】論理ネットワークの定義と種類を説明する図である。
【図７Ａ】ＶＭ間通信関係グラフ情報１４１の構成例を示す図である（その一）。
【図７Ｂ】ＶＭ間通信関係グラフ情報１４１の構成例を示す図である（その二）。
【図８Ａ】クラウド基盤物理構成グラフ情報１３１の例を示す図である（その一）。
【図８Ｂ】クラウド基盤物理構成グラフ情報１３１の例を示す図である（その二）。
【図９】仮想マシン−物理マシン対応付け表１３２の一例を示す図である。
【図１０Ａ】論理ネットワーク−物理ネットワーク対応付け表１３３の一例を示す図である。
【図１０Ｂ】図１０Ａの論理ネットワーク−物理ネットワーク対応付け表１３３のグラフによるイメージ示した図である。
【図１１】クラウドユーザ１６の初期構築要求からＶＭプロビジョニング処理を示すゼネラルフローチャートである。
【図１２】ＶＭ間通信関係グラフ情報１４１の生成処理を示すフローチャートである。
【図１３Ａ】クラウドユーザ１６によるサーバ追加要求処理を示すフローチャートである（その一）。
【図１３Ｂ】クラウドユーザ１６によるサーバ追加要求処理を示すフローチャートである（その二）。
【図１４】物理マシンを選択する手順を示すフローチャートである。
【図１５】新規物理スイッチへの論理ネットワークの割当処理を示すフローチャートである。
【図１６】割当済論理ネットワーク群から使用される通信の物理スイッチを極小化する物理マシンの選択処理を示すフローチャートである。
【図１７】ネットワークリソース利用の競合確率が低い物理マシンを選択する処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】  以下，本発明に係る一実施形態を、図１ないし図１７を用いて説明する。（Ｉ）ＶＭ配置管理システムのシステム構成  以下、図１及び図２を用いて本発明の一実施形態に係るＶＭ配置管理システムのシステム構成について説明する。図１は、ＶＭ配置管理システムのシステム構成図である。図２は、ＶＭ配置管理システムを実装させるコンピュータのハードウェア構成図である。
【００１２】  本実施形態のＶＭ配置管理システムは、ＩａａＳ基盤上へのテナントのシステム構成の管理と、システム構成に基づくＶＭの生成、配置（プロビジョニング）を行う。
【００１３】  ＶＭ配置管理システムは、図１に示されるように、デプロイ管理部１０と仮想マシン配置管理部１１で構成される。
【００１４】  このデプロイ管理部１０と仮想マシン配置管理部１１は、図２に示すコンピュータ２００上で動くプログラムとして実装できる。コンピュータ２００は、図２に示されるように、ＣＰＵ（Central Processing Unit）２０１、メモリ２０２、記憶装置２０３、入力装置２０４、出力装置２０５、通信装置２０６が、バスによって結合された形態である。ＣＰＵ２０１は、コンピュータ２００の各部を制御し、メモリ２０２上のデータを参照し、ロードされたプログラムを実行する。メモリ２０２は、主記憶装置ともよばれ、揮発性の半導体記憶装置である。記憶装置２０３は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの大容量のデータを記憶する装置であり、プログラムや後に説明するテーブル類、その他のデータを格納する。入力装置２０４は、マウスやキーボードなどの情報を入力する装置である。出力装置２０５は、液晶ディスプレイや印刷装置などの情報を表示・印刷する装置である。通信装置２０６は、ネットワーク２０７と接続して情報のやり取りを可能とする装置であり、例えば、Erthnet（登録商標）仕様のネットワークカードである。共有データストア１４は、前記デプロイ管理部１０と仮想マシン配置管理部１１が情報を共有する機構である。
【００１５】  デプロイ管理部１０及び仮想マシン配置管理部１１は、それぞれ内部での管理情報を記憶装置２０８に格納する。ただし、双方のシステム間で共有するデータに関しては何らかの共有手段で双方がアクセスできるように設計される。例えば、共有データストア１４を用いて、双方が互いに共通の管理情報へのアクセスを行う方法が挙げられる。この共有データストア１４の実現には、ＮＦＳ（Network File Sustem）やＲＤＢ（Relational DataBase）などの既存の手段を用いることができる。
【００１６】  デプロイ管理部１０は、各テナントを管理するクラウドユーザ１６から、ＩａａＳ上でのテナントの作成、削除、その他構成変更（サーバ追加、削除）の要求を受け付け、テナントの論理的なシステム構成情報を管理、編集した上で、実際のＶＭのプロビジョニングを仮想マシン配置管理部１１に要求する。
【００１７】  仮想マシン配置管理部１１は前記デプロイ管理部１０からのＶＭプロビジョニング要求を受付け、実際の物理的なシステムの利用状況を考慮しながらＶＭの配置先の決定、及び、ＶＭの作成、起動などのプロビジョニング処理を実施する。
【００１８】  デプロイ管理部１０は、クラウドユーザ１６からの業務システムの構築要求を受け付ける。クラウドユーザ１６は、識別子となるユーザＩＤ及び構築を依頼するシステムを識別するためのシステムＩＤとあわせて、論理構成テンプレート１５を入力としてデプロイ管理部に業務システムの構築を要求する。業務システムの構築は、論理構成テンプレート１５に記載された構成・トポロジ情報１５１に基づいて行われる。この構成・トポロジ情報１５１は、例えば、OASIS TOSCA （https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca）、Amazon Web ServicesのCloudFormationサービスのテンプレート構成情報、及びオープンソースのＩａａＳ基盤管理ソフトであるOpenStackのＨＯＴ形式などに準じており、テナント内で稼動する仮想マシンの種類などを含む仮想マシン情報、及び、サーバ上で稼動するソフトウェア情報で構成される。
【００１９】  デプロイ管理部１０は、論理構成・テンプレート受付部１０１、ＶＭ間通信関係グラフ作成部１０２、リソース要求送信部１０３で構成される。
【００２０】  論理構成・テンプレート受付部１０１は、クラウドユーザ１６からの業務システムの構築要求を受け付け、入力情報を受け付け、ユーザＩＤ、システムＩＤ及び論理構成情報テンプレートを対応付けて論理構成テンプレート管理表１２１に記録する機能を有する。また、記録された情報に基づいて、業務システムに対応する論理構成テンプレート情報、及び、それに基づいてプロビジョニングされたＶＭ一覧を返す。
【００２１】  ＶＭ間通信関係グラフ作成部１０２は、論理構成テンプレート情報に含まれるＶＭ種類、ソフトウェア依存関係情報に基づいて、プロビジョニングするＶＭの一覧、及び、ＶＭ間の通信関係を示す論理ネットワーク構成情報をグラフ構造として作成して、ＶＭ間通信関係グラフ情報１４１として記録する。
【００２２】  リソース要求送信部１０３は、ＶＭ間通信関係グラフ作成部で作成されたグラフ構造に含まれるＶＭ及びストレージボリュームの一覧を抽出し、それぞれの仮想リソースをプロビジョニングする要求を、仮想マシン配置管理部１１に送信する。これは一般的なＩａａＳ基盤の機能として備わるものであり、詳細な説明は省略する。
【００２３】  仮想マシン配置管理部１１は、リソース要求受付部１１１、配置先物理マシン選択部１１４、配置先物理ネットワーク選択部１１３、仮想マシン−物理マシン対応付け管理部１１５で構成される。
【００２４】  リソース要求受付部１１１は、デプロイ管理部１０のリソース要求部１０３からのＶＭ作成要求を受け付け、配置先物理マシン選択部１１４に要求を転送する。
【００２５】  配置先物理マシン選択部１１４は、クラウド基盤物理構成グラフ情報１３１、仮想マシン−物理マシン対応付け表１３２、仮想ネットワーク−物理ネットワーク対応付け表（以下、「仮想ＮＷ―物理ＮＷ対応付け表」と略記する）１３３及びＶＭ間通信関係グラフ情報１４１を利用して、新規にプロビジョニングするＶＭの配置先を決定する。また、必要に応じて、配置先物理ネットワーク選択部１１３を呼び出し、論理ネットワークを物理スイッチの集合に割当てる。呼び出された配置先物理ネットワーク選択部１１３は、後述する手順に従い、ネットワークの割当状況及びアプリケーションの通信形態（トポロジー）に基づいて、論理ネットワークを物理スイッチ群で構成される物理ネットワークに配置する。
【００２６】  仮想マシン−物理マシン対応付け管理部１１５は、配置先物理マシン選択部１１４及び配置先物理ネットワーク選択部１１３によって決定されたＶＭ及び論理ネットワークの配置先を記録し、相互を識別子として対応付けられたリソースを返す機能を有する。仮想マシン−物理マシン対応付け管理部は、ＩａａＳ基盤の一般的な管理機能であるため、詳細な説明は省略する。（ＩＩ）デプロイ管理部のデータ構造  次に、図３Ａないし図５Ｃを用いてデプロイ管理部のデータ構造について説明する。図３Ａ、図３Ｂは、構成・トポロジ情報１５１の構成例を示す図である。図４は、論理構成テンプレート管理表１２１の一例を示す図である。
【００２７】  構成・トポロジ情報１５１は、クラウドユーザ１６から入力として渡され、論理構成テンプレート１５中に保持されて、仮想マシン上の論理的なシステム構成、ソフトウェア構成を定義するためのデータである。
【００２８】  図３Ａに示される構成例は、Ｗｅｂ３階層システムの構成例であり、図３Ｂに示される構成例は、ビッグデータ解析システムの構成例である。なお、ここでの３階層システムとは、クライアントサーバシステムを「プレゼンテーション層」「アプリケーション層」「データ層」の3層に分割して構築したシステムであり、クライアント及びサーバの処理を複数の階層に分離して配置することにより、ある階層へ変更を加える必要が生じた際にも柔軟に対応できることを目指したものである。
【００２９】  構成・トポロジ情報１５１は、仮想マシン情報３１と、ソフトウェア情報３２により構成される。仮想マシン情報３１は、業務システムで必要となるＶＭとその他ストレージボリュームなどの仮想リソースの種類及び台数を示すものである。ソフトウェア情報３２は、仮想マシン情報３１で仕様が示された仮想マシン上で稼動させるためのソフトウェアに関する情報である。
【００３０】  仮想マシン情報３１は、仮想リソース種類、仮想リソースクラス名称、必要量、初期台数の組からなるリストとして表現される（図示せず）。仮想リソース種類は、リソースの種類を示し、例えば、ＶＭ、ストレージボリューム、及び、グループがある。グループは、ＶＭによる機能をグループ化したものであり、他の仮想マシン情報３１へのポインタとして表現される。このグループを利用することにより、他のサブシステムを再帰的に自身の定義の配下におくことができ、また、スケールアウトするクラスタを構成する際の増設単位を示すために使うことができる。仮想リソースクラス名称は、リスト中における識別子である。必要量は、仮想リソースに要求されるリソースの量を示し、仮想リソース種類ごとに定めされる。例えば、ＶＭにおける必要量は、ＣＰＵ能力（クロック、コア数など）及びメモリ容量である。また、ストレージボリュームにおける必要量は、記憶容量である。初期台数は、初期構築時にプロビジョニングする台数である。初期値は、各リソース種類ごとに１台とする。ただし、構築後にクラウドユーザからの指定、もしくは外部のシステムサイジングを行うプログラムなどによって、デプロイ基盤に台数の変更（スケールアウト／イン）を要求することができる。
【００３１】  図３Ａに示した仮想マシン情報３１Ａの例では、ロードバランサ３１１、Ｗｅｂサーバ３１４、ＡＰサーバ３１５、ＤＢサーバ３１６の四種類のＶＭと一つのストレージボリュームが定義されている。ＷｅｂサーバとＡＰサーバは、グループ３１２としてまとめられており、この単位で増設することが示されている。グループ３１２の初期台数は、３台である。
【００３２】  また、図３Ｂに示した仮想マシン情報３１Ｂの例では、ＨａｄｏｏｐＭａｓｔｅｒ、ＨａｄｏｏｐＴａｓｋ、ＨａｄｏｏｐＤａｔａの三種類のＶＭが定義されており、ストレージボリュームがあわせて定義されている。グループ１は、ＨａｄｏｏｐＴａｓｋからなり、初期台数は、３台であり、グループ２は、ＨａｄｏｏｐＤａｔａからなり、初期台数は、４台である。
【００３３】  ソフトウェア情報３２は、仮想マシン種類３１で定義された各ＶＭ上で稼動するソフトウェアの種類、及びソフトウェア間の通信状況を示すものである。ソフトウェア情報３２は、ソフトウェア名称、搭載仮想リソースクラス名称、及び一つ以上の通信先ソフトウェア名称の組を要素とするリストとして表現される（図示せず）。ソフトウェア名称は、該当するソフトウェアの識別子であり、最低限でも論理構成テンプレート１５中で一意的である必要がある。後述するミドルウェア別通信量算出式定義表１２２をデプロイ管理基盤で一括して用意する場合、デプロイ管理基盤全体でソフトウェアごとに一意な識別子を持つことが必要となるが、ミドルウェア別通信量算出式定義表１２２を論理構成テンプレート１５中に記載させ、各クラウドユーザに定義させるシステムにしてもよい。搭載先仮想リソースは、ソフトウェアが稼動するＶＭを、一つ以上の仮想リソースクラス名称で指定するものである。通信先ソフトウェア名称は、業務システム内で通信を行うソフトウェアを示すものである。なお、本発明ではソフトウェアという名称を用いているが、本来的には、インストールする対象となるソフトウェアパッケージと、そのソフトウェアによって実行されるプログラムのプロセス・サービスを区別する必要がある。本発明では簡単のため両者を同一として説明している。また、通信先ソフトウェア名称では、システム外部との通信を表現することができない。そこで、システム外部からのメッセージを「ソース」システム外部へのメッセージを「シンク」という特殊な要素で表現し、テナント外部との通信を表現できるようにしている。
【００３４】  図３Ａに示されたソフトウェア情報３２Ａの例では、ＨａＰｒｏｘｙ３２３がロードバランサ３１１（搭載仮想リソースクラス名称３２７により指定）、ＡｐａｃｈｅＨＴＴＰＤ３２４がＷｅｂサーバ３１４、Ｄｊａｎｇｏ３２５がＡＰサーバ３１５、ＰｏｓｔｇｒｅＳＱＬ３２６がＤＢサーバ３１６上で稼動していることを示している。また、それぞれＨａＰｒｏｘｙとＡｐａｃｈｅＨＴＴＰＤ（矢印３２８による表記），ＡｐａｃｈｅＨＴＴＰＤとＤｊａｎｇｏ、ＤｊａｎｇｏとＰｏｓｔｇｒｅＳＱＬが通信していることを示している。また、ＨａＰｒｏｘｙ３２３は、ソース３２１からメッセージを受取り、シンク３２２へメッセージを送信する。
【００３５】  次に、図４を用いて論理構成テンプレート管理表について説明する。
【００３６】  論理構成テンプレート管理表１２１は、業務システムと論理構成テンプレート、及びプロビジョニングされたリソース間の対応付けを行うテーブルであり、図４に示されるように、ユーザＩＤ４０１、システムＩＤ４０２、システム名４０３と、論理構成テンプレート４０４、及び、リソース一覧４０５の組からなるリストによって構成される。
【００３７】  ユーザＩＤ４０１は、ユーザを識別するための識別子である。システムＩＤ４０２、システム名４０３は、それぞれ業務システムを識別するための識別子とシステムの名称である。論理構成テンプレート４０４は、図３Ａ、図３Ｂで例示した業務システムの構築要求の際に渡される論理構成テンプレートへのポインタを格納する。リソース一覧４０５は、論理構成テンプレート４０４にしたがって作成されたＶＭなどのリソースを識別するためのリソース一覧４０６へのポインタを格納する。
【００３８】  リソース一覧４０６は、論理構成テンプレート中の仮想リソースクラス名称４１１とリソースの識別子である仮想マシンＩＤ４１２、及び、作成タスクの進捗状況など、現在仮想マシンの状態を示す状態４１３を対応付けて管理している。ここで、仮想マシンＩＤ４１２は、オブジェクト指向でいう所の仮想リソースクラス名称４１１のクラスのインスタンスになっていることに留意する。
【００３９】  次に、図５Ａないし図５Ｃを用いてミドルウェア別通信量算出式定義テーブルについて説明する。図５Ａないし図５Ｃは、ミドルウェア別通信量算出式定義テーブルの構成例を示す図である。
【００４０】  ミドルウェア別通信量算出式定義テーブルは、業務システムごとのネットワーク通信に必要なネットワーク帯域を記載したテーブルであり、図５Ａないし図５Ｃに示されるように、システムを識別するシステムＩＤ５１１と、そのシステムに関連付けられた帯域算出定義表５１２の組で表現される。帯域算出定義表５１２は、帯域算出定義表へのポインタを格納する。帯域算出定義表は、これは通信元ソフトウェア（通信元５２１）と通信先ソフトウェア（通信先５２２）の組合せ表と成っており、図中で〇と×により、通信の有無が記載され、図中で〇の組合せに対して、通信特性を算出する定義表５３を有する構成となっている。この図は、図３Ａで示されるソフトウェア情報３２Ａのグラフ構造の別形式での表現であり（Ｗｅｂ３階層システムの場合）、実質的には図３Ａのソフトウェア情報３２で示すグラフ構造の通信先ソフトウェアへの依存リンクごとに帯域定義表５３を有する解釈することができる。帯域定義表５３は、処理種別５３１、レスポンスタイム５３２、データ転送頻度５３３、スループット５３４の組で構成される。処理種別５３１は、通信が同期もしくは非同期であることを示すものである。レスポンスタイム５３２は、求められる平均の応答速度である。
【００４１】  各値は、即値であるか、あるいは、他の変数を参照して算出する計算式として表現される。変数を含む場合、論理構成テンプレートに変数欄を設け、クラウドユーザ１６に入力させるなどの方法により、デプロイ要求時に確定させるなどの方法で値を決定させることを前提とする。
【００４２】  また、図５Ｂに示される例は、図３Ｂで示されるソフトウェア情報３２Ａのグラフ構造の別形式での表現である（ビッグデータ解析システムの場合）。
【００４３】  ミドルウェア別通信料算出式定義表１２２は、論理構成テンプレート１５と組合せてクラウドユーザ１６に定義させる方法がある。
【００４４】  また、図５Ｃの例のように、別途事前にクラウド管理者１７が複数種類を定義（図中の事前定義表５０）しておき、デプロイ時にクラウドユーザ１６に前記事前定義表の事前定義名称５２一覧やその内容を表示して、適当なものをクラウドユーザ１６に選択させる方法、実行時に性能監視ソフトウェアと組み合わせてデータを蓄積、分析して動的に更新するなどの方法が考えられる。本実施形態では、デプロイ実行時には値を取得できることを前提とする。（ＩＩＩ）デプロイ管理部及び仮想マシン配置管理部の共有データ構造  次に、図６、図７Ａ及び図７Ｂを用いてデプロイ管理部と仮想マシン配置管理部で共有されるデータ構造について説明する。図６は、論理ネットワークの定義と種類を説明する図である。図７Ａ及び図７Ｂは、ＶＭ間通信関係グラフ情報１４１の構成例を示す図である。
【００４５】  ＶＭ間通信関係グラフ情報１４１は、業務システムを構成する全ＶＭのそれぞれについて、後述する手順により論理構成テンプレート１５から導出された各ＶＭの通信相手、及び、接続の形態（１：１通信、Ｎ：１通信、Ｎ：Ｍ単方向通信、Ｎ：Ｎ双方向通信）の特性を示す論理ネットワークを作成し、業務システムの通信量をリソース利用量に変換するためのグラフ構造である。
【００４６】  論理ネットワークは、図６に示されるタイプを有するＶＭ間の通信帯域と特性を現す論理的なオブジェクトである。論理ネットワークを用いて、システム内の通信の局所性、及び、通信帯域の大きさを把握することができる。論理ネットワークは、一つ以上のＶＭノードとの間にリンクを有する。ＶＭノードは、リソース一覧に記載されているＶＭに対応するオブジェクトで、それぞれが仮想リソースＩＤによって一意に識別される。
【００４７】  １：１論理ネットワーク６１は、図６（ａ）に示されるような特定のＶＭ間で１：１の通信を行うことを示すネットワーク構造である。通信をするＶＭは、それぞれ論理ネットワーク６１の１側端子６１１に接続される。各端子は、それぞれの通信に必要な帯域を示す帯域情報６１２を有する。なお、ここで「１側端子」とは、その端子へのＶＭの接続個数が一つであることを暗示しており、以下、「Ｎ側端子」、「Ｍ側端子」も同様に、それぞれＶＭの接続個数がＮ個、Ｍ個（Ｎ，Ｍ≧２の整数）であることを暗示するものとする。
【００４８】  Ｎ：１論理ネットワーク６２は、図６（ｂ）に示されるような特定のＶＭが、他の多数のＶＭが通信を行うネットワーク構造である。これは、ロードバランサが多数のワーカーノードと通信するようなケースに該当する。1側端子６２１に接続されたＶＭが、Ｎ側端子に接続された他のＶＭと通信し、各端子は、帯域情報６２３及び６２４を有する。1側端子の帯域情報６２４は、N個のＶＭとの通信に必要な帯域の総和として表現される。
【００４９】  Ｎ：Ｍ単方向論理ネットワーク６３は、図６（ｃ）に示されるようなＶＭが二つのクラスタに分類されており、一方のクラスタ内のＶＭが他方のクラスタ内のＶＭとそれぞれ１：Ｎで通信を行うことを示すネットワーク構造である。同一クラスタ内のＶＭ間では、通信が無いことが特徴である。これは、Ｗｅｂ３階層システムのＡＰサーバクラスタが、Ｍｅｍｃａｃｈｅクラスタにアクセスするような通信パターンである。片方のクラスタ内のＶＭがＭ側端子６３１に接続され、他方のクラスタ内のＶＭがＮ側端子６３２に接続され、各端子は、帯域情報６３３、６３４を有する。Ｍ側端子の帯域情報は、Ｎ側端子に接続されるＶＭとの通信量の総和である。同様に、Ｎ側端子の帯域情報は、Ｍ側端子のＶＭとの通信量の総和である。
【００５０】  Ｎ：Ｎ双方向論理ネットワーク６４は、図６（ｄ）に示されるようなクラスタ内のＶＭが相互に通信するネットワーク構造である。クラスタ内のＶＭは、Ｎ側端子６４１接続されて、他のＶＭと通信し、その端子は、帯域情報６４２を有する。これは、ＨａｄｏｏｐのＳｈｕｆｆｌｅ動作、あるいはＨＰＣにおけるＭＰＩノードなどが該当する。
【００５１】  図７Ａは、図３Ａで示した構成・トポロジ情報１５１におけるＷｅｂ３階層システムＶＭ間通信関係グラフ情報１４１の構成例であり、図７Ｂは、図３Ｂに示した構成・トポロジ情報１５１における解析システムのＶＭ間通信関係グラフ情報１４１構成例である。なお、これらのＶＭ間通信関係グラフ情報１４１は、後述する方法によって自動的に生成される。（ＩＶ）仮想マシン配置管理部のデータ構造  次に、図８Ａないし図１０Ｂを用いて仮想マシン配置管理部のデータ構造について説明する。図８Ａ、図８Ｂは、クラウド基盤物理構成グラフ情報１３１の例を示す図である。図９は、仮想マシン−物理マシン対応付け表１３２の一例を示す図である。図１０Ａは、論理ネットワーク−物理ネットワーク対応付け表１３３の一例を示す図である。図１０Ｂは、図１０Ａの論理ネットワーク−物理ネットワーク対応付け表１３３のグラフによるイメージ示した図である。
【００５２】  仮想マシン配置管理部１１で用いられるクラウド基盤物理構成グラフ情報１３１は、データセンタ内の物理マシン群と、物理マシンを接続するスイッチの接続関係、及び個々の識別番号及び仕様を記録する情報であり、接続関係のトポロジー（構造）を保持するグラフ構造として表現される。データセンタ内の物理的な構成情報をあらわすために、データセンタ内の各Ｌ２／Ｌ３スイッチ及び物理マシンをノード８１１として表現し、ノード間のネットワーク結線をエッジとして用いる。各ノードは、スイッチや物理マシン（本実施形態では、物理サーバと同義）などの種別を表す物理リソースクラスと、各ノードを一意に識別するためのノードＩＤをノードの属性値として有する。
【００５３】  なお、グラフ構造の一般的な表現・管理方式などはＲＤＦ（http://www.w3.org/RDF/）、ＧｒａｐｈＤＢ、ＡｃｔｉｖｅＲｅｃｏｒｄを用いたＲＤＢ構造への変換などの既存技術が確立している。
【００５４】  クラウド基盤物理構成グラフ情報１３１の具体例は、図８Ａ及び図８Ｂに示されるようになる。図８Ａに示したクラウド基盤物理構成グラフ情報１３１は、一般的なデータセンタを模擬した構成例であり、図８Ｂに示したクラウド基盤物理構成グラフ情報１３１は、近年の大規模ＩａａＳで用いられるようなＳＤＮ（Software Defined Network）技術を用いた、ネットワークが複数経路を持つことを特徴とするデータセンタを模擬した構成例である。なお、図８Ａのスイッチ４〜７、図８Ｂのスイッチ４〜８はそれぞれ図中の下段に四角で囲まれた物理マシン群と１：１で接続されている。また、スイッチ１とスイッチ２、スイッチ１とスイッチ３は、共に帯域８１３（４０Ｇｐｓ）を有することを示している。
【００５５】  仮想マシン−物理マシン対応付け表１３２は、図９に示されるように、物理マシンＩＤ９０１、物理マシンＩＰアドレス９０２、物理マシンＣＰＵコア数９０３、物理メモリサイズ９０４、ユーザＩＤ９０５、仮想マシンＩＤ９０６、仮想マシンＩＰアドレス９０７、仮想マシンＣＰＵコア数９０８、仮想メモリサイズ９０９の各フィールドよりなる。これは、仮想マシンが稼動している物理マシンを対応付けて管理し、双方の識別子を検索キーとして、対応付けられている物理マシン又は仮想マシンを相互に抽出するために用いる。また、新規にＶＭを配置する場合に、該当するリソース量の空きがある物理マシンを抽出するためにも用いる。なお、物理マシン上で稼動するＶＭが存在しない場合は、図中にあるようにＶＭの情報が記載されていない物理マシンのエントリが含まれるものとする。これにより、リソースに空きがある物理マシンの検索を簡単に行うことができる。対応付けは、一般的なＩａａＳ基盤によるものと同じ技術が用いられる。
【００５６】  論理ネットワーク−物理ネットワーク対応付け表１３３は、図１０Ａに示されるように、スイッチＩＤ１００１、端子−スイッチポートマッピング１００２、ユーザＩＤ１００３、システムＩＤ１００４、論理ＮＷＩＤ１００５の各フィールドよりなる。
【００５７】  論理ネットワーク−物理ネットワーク対応付け表１３３は、物理スイッチ上で動作している論理ネットワークの対応付けを示すテーブルである。ここで論理ネットワークが動作しているとは、そのスイッチ上で、その論理ネットワークに属するＶＭ間の通信を行っているということを意味する。図１０Ａの例においては、論理ネットワークは、ユーザＩＤ１００３、システムＩＤ１００４、及び論理ネットワークＩＤ１００５の組合せで一意に特定される。また、特定の論理ネットワークに属するＶＭが複数の機器を中継する場合があるため、一つの論理ネットワークが同時に複数のスイッチＩＤ１００１と対応付けられることもありえる。図１０Ｂは、図１０Ａの構成例に記された構成の実際の物理機器への対応付けのグラフによるイメージを示したものであり、物理構成は、図８Ａに記載した構成を想定している。（Ｖ）ＶＭ配置管理システムの処理    （Ｖ−１）クラウドユーザ１６の初期構築要求からＶＭプロビジョニング処理  先ず、図１１を用いてクラウドユーザ１６の初期構築要求からＶＭプロビジョニング処理の概要について説明する。図１１は、クラウドユーザ１６の初期構築要求からＶＭプロビジョニング処理を示すゼネラルフローチャートである。
【００５８】  以下では、デプロイ管理部１０が、各テナントを管理するクラウドユーザ１６から、ＩａａＳ上でのテナントの作成要求を受け付け、それに基づいてＶＭリソースをプロビジョニングするときの手順を説明する。（ステップ１１０１）  先ず、クラウドユーザ１６が図３Ａ、図３Ｂに示したような論理構成テンプレート１５を登録する。クラウドユーザ１６は、ＧＵＩ、ＣＬＩもしくはＲＥＳＴ ＡＰＩ（http://ja.wikipedia.org/wiki/REST）などの手段を用いて、図４に示したユーザＩＤ４０１、システムＩＤ４０２の元データ、及び、事前定義した論理構成テンプレート１５をデプロイ管理部１０に対して入力する。この論理構成テンプレート１５はテキストの形式、あるいはＧＵＩで表示され管理されたグラフ構造などによってデプロイ管理部１０に対して送信される。（ステップ１１０２）  次に、論理構成テンプレート受付部１０１は、ステップ１１０１においてクラウドユーザ１６から入力されたユーザＩＤ、システムＩＤ、及び、論理構成テンプレート１５とを、図４に示した論理構成テンプレート管理表１２１に関連付けて保存する （ステップ１１０３）  次に、ＶＭ間通信関係グラフ作成部１０２は、ステップ１１０１において登録された論理構成テンプレート、図５Ａないし図５Ｃに示したようなミドルウェア別通信料算出式定義表１２２を用いて、ＶＭ間通信関係グラフ情報１４１を生成して（ＶＭ間通信関係グラフ情報１４１を生成する手順は、後に図１２により詳説）、共有データストア１４に保存する。なお、ＶＭ間通信関係グラフ情報１４１は、デプロイ管理部に事前定義されていてもよいし、ステップ１１０１においてクラウドユーザ１６から明示的に指定されたものを用いてもよい。（ステップ１１０４）   次に、論理構成テンプレート受付部１０１は、ステップ１１０３において生成されたVM間通信関係グラフ情報１４１に含まれるＶＭ一覧（以下、「新規作成ＶＭ一覧」という）及びストレージボリューム一覧（以下、「新規作成ボリューム一覧」という）を抽出し、論理構成テンプレート管理表１２１のシステムＩＤで識別される行を検索し、該当行中のリソース一覧４０５に新規作成ＶＭ一覧１１５３、及び、新規作成ボリューム１１５４を、状態４１３を「実行待ち」として登録する。（ステップ１１０５）  次に、リソース要求送信部１０３は、ステップ１１０４において登録したリソース一覧４０５中の各行で状態４１３ が「実行待ち」であるものを抽出し、順番にプロビジョニング要求を仮想マシン配置管理部１１に発行する。
【００５９】    （Ｖ−２）ＶＭ間通信関係グラフ情報１４１の生成処理  次に、図１２を用いてＶＭ間通信関係グラフ情報１４１の生成処理について説明する。図１２は、ＶＭ間通信関係グラフ情報１４１の生成処理を示すフローチャートである。
【００６０】  この生成処理は、ＶＭ間通信関係グラフ情報１４１を生成するプログラムによって実行され、このプログラムでは、論理構成テンプレート４０４に登録されたテンプレート情報（図３Ａ、図３Ｂなどに例示）を入力として、ＶＭ間通信関係グラフ１４１を作成する。
【００６１】  また、図１２により示されたフローチャートでは、一つのグループ（図３Ａなどに示すＶＭ機能（論理サーバ）の増設単位となる）を引数として受け取り、そのグループ内に属するＶＭ間の通信関係グラフを算出してグラフ構造を返すものである。このアルゴリズムをシステム内の各グループに再帰的に適用することにより、グループ単位でまとめられたサーバ間のＶＭ間通信関係グラフを取得することができる。引数（グループ）の初期値は、ユーザＩＤ、システムＩＤで一意に特定された業務システムに対応付けられて論理構成テンプレート管理表１２１に格納されている論理構成テンプレート４０４を指し示す参照リンクである。（ステップ１２０１）  先ず、グラフ構造格納領域（以下、「通信グラフ構造」という、図示せず）を生成する。このデータ領域には、図６に示された論理ネットワークにおけるＶＭ、論理ネットワーク、及び、その間のリンクを表すデータ構造を格納する。グラフ構造のデータ表現は、計算機のプログラミングとして一般的に用いられる構造体やポインタなどの構造を用いることができる。初期状態では、通信グラフ構造には一切のデータ構造が含まれない状態で生成する。（ステップ１２０２）  次に、引数で与えられたグループ（以下、「通信関係抽出対象グループ」という）に含まれる仮想リソース種類を、図３Ａ、図３Ｂに示したような論理構成テンプレート４０４を参照して取得する。（ステップ１２０３ａ、１２０３ｂ）  （深さ優先での再帰処理）次に、論理構成テンプレート４０４を参照し、通信関係抽出対象グループ内に入れ子でグループが含まれていた場合には（ステップ１２０３ａ：ＹＥＳ）、子グループを引数として再帰的に本処理を実施して、結果を通信グラフ構造に追加する。（ステップ１２０４）  通信関係抽出対象グループの初期台数属性に記載した数の仮想マシンノード情報（以下、「新規生成ＶＭ」という）を、仮想リソース種類に基づいて生成し、通信グラフ構造に追加する。生成されたリソースのリソースクラスには、前記リソース種類３１０に記載されている仮想リソースクラス名称を用いる。 （ステップ１２０５ａ、１２０５ｂ）  ステップ１２０４で生成した新規生成ＶＭのそれぞれ（以下、ループ内では単にＶＭと呼称）に対してステップ１２０６、１２０７ａ−１２０７ｂ（ステップ１２０７１〜１２０７６）を実施する。
【００６２】    （ステップ１２０６）  論理構成テンプレート４０４のソフトウェア情報（３２Ａ、３２Ｂで例示）内に含まれるすべてのソフトウェア情報４２２からＶＭへの搭載リンクが張られたソフトウェア情報（以下、「搭載ソフトウェア群」という）を取得する。
【００６３】    （ステップ１２０７ａ、１２０７ｂ）  搭載ソフトウェア群のそれぞれが接続されている、図４中の接続リンク４２４（以下、単に「リンク」という）のそれぞれに対して下記ステップ（１２０７１）〜（１２０７６を含む）を実施する。
【００６４】        （ステップ１２０７１）  リンクが張られたソフトウェア情報（以下、「接続先ソフトウェア群」という）を取得する        （ステップ１２０７２）  通信グラフ構造において、論理構成テンプレート４０４を参照して、接続先ソフトウェア群から搭載リンクが張られたリソースクラス４１０の仮想マシンをすべて抽出する（以下、抽出した仮想マシンを「接続先ＶＭ群」という）。
【００６５】        （ステップ１２０７３）  新規生成ＶＭと接続先ＶＭ群のそれぞれのＶＭの組（新規生成ＶＭ内のＶＭ、接続先ＶＭ群内のＶＭ）に対して、それぞれ１：１論理ネットワークノードを生成し、通信グラフ構造に追加する。
【００６６】        （ステップ１２０７４）  ステップ１２０８で生成した通信グラフ構造内の１：１論理ネットワークノードにおいて、同じ接続先を持つ論理ネットワークノードを集約して、Ｎ：１論理ネットワークノードを作成して置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表１２２に記載されたＶＭ間の通信量及び各端子の帯域定義に従い更新する。
【００６７】        （ステップ１２０７５）  通信グラフ構造内のＮ：１論理ネットワークノードにおいて、Ｎ側端子に同じ接続先のセットを持つ論理ネットワークノードを集約して、Ｎ：Ｍ単方向論理ネットワークノードを作成し、置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表１２２に記載されたＶＭ間の通信量及び各端子の帯域定義に従い更新する。
【００６８】        （ステップ１２０７６）  通信グラフ構造内のＮ：Ｍ単方向論理ネットワークノードにおいて、Ｎ側端子とＭ側端子のＶＭ群が同じ場合、Ｎ：Ｎ双方向論理ネットワークノードに置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表１２２に記載されたＶＭ間の通信量及び各端子の帯域定義に従い更新する。（ステップ１２０８）通信グラフ構造を本処理の結果として返す     （Ｖ−３）クラウドユーザ１６によるサーバ追加要求処理  次に、図１３Ａ、図１３Ｂを用いてクラウドユーザ１６によるサーバ追加要求処理について説明する。
【００６９】  図１３Ａ、図１３Ｂは、クラウドユーザ１６によるサーバ追加要求処理を示すフローチャートである。
【００７０】  これは、業務システムの構築後に、デプロイ管理部１０がクラウドユーザ１６からのＶＭ追加要求を受けたときに、ＶＭ配置先を決定する処理手順である。（ステップ１３０１）  先ず、クラウドユーザ１６がユーザＩＤとシステムＩＤ、及び、システムＩＤで識別される業務システムを構築する際に指定した論理構成テンプレートに含まれる仮想リソースクラス名称及び追加台数を指定してスケールアウトを要求する。（ステップ１３０２）  次に、デプロイ管理部１０は、クラウドユーザ１６の要求に含まれる仮想リソースクラス名称及び追加台数を、論理構成テンプレート管理表１２１中の初期台数属性３１３の値に追加して、前述のステップ１１０２の手順に従って、論理構成テンプレート管理表１２１を更新する。その後、図１２に示す手順に従って、ＶＭ間通信関係グラフ生成部１０２がＶＭ間通信関係グラフ情報１４１を更新し、仮想リソース名称及び追加された仮想マシンＩＤ４１２を指定して、ＶＭ追加命令を仮想マシン配置管理部１１に送信する。（ステップ１３０３）  次に、仮想マシン配置管理部１１中のリソース要求受付部１１１は、デプロイ管理部１０からのＶＭ追加要求を受け取る。ここで、ＶＭ追加要求は、仮想マシンＩＤ及び必要リソース量（ＣＰＵ、メモリ）などを含む。
【００７１】  リソース要求受付部１１１は、指定されたＶＭのリストを引数として、配置先物理マシン選択部１１４で配置先物理マシン選択タスクを起動する。（ステップ１３０４ａ、１３０４ｂ）  配置先物理マシン選択部１１４は、ステップ１３０２で指定されたＶＭリスト中のそれぞれのＶＭ（以下、「追加ＶＭという）に対して、ステップ１３０５~１３１０を実行する。
【００７２】    （ステップ１３０５）  配置先物理マシン選択部１１４は、下記ステップ１３０５１~１３０５５を実行し、業務システム中のＶＭ及び論理ネットワークが割当済で、なおかつ必要とするリソース量の空きがある物理マシン群を抽出する(業務システム割当済の物理マシン候補取得処理（図１３Ｂ）)。
【００７３】        （ステップ１３０５１）  配置先物理マシン選択部１１４は、図９に示した仮想マシン−物理マシン対応付け表１３２を参照して、クラウド基盤中のそれぞれの物理マシンの実リソース量と割り当て済みのリソース量を計算する。そして、これらの二つの差分を取り、未割当てのリソース量を計算する。新規に要求された仮想マシンのリソース量に割り当てる空きがある物理マシンの一覧（以下、「空き物理マシン群」という）を抽出する。         （ステップ１３０５２）  ステップ１３０５１において、空き物理マシン群１３５２に該当する物理マシンが一つ以上見つかった場合はステップ１３０５３〜１３５５を実行する。該当する物理マシンがない場合は、後述のステップ１３１０ｂの割り当て失敗を実行する。
【００７４】        （ステップ１３０５３）  ＶＭ間通信関係グラフ情報１４１から、追加する仮想リソースＩＤに対応するＶＭノード（以下、「新規ＶＭ」という）を抽出する。次に、この新規ＶＭと接続されている論理ネットワークをすべて抽出する（以下、接続先論理ネットワーク群と呼称）。
【００７５】        （ステップ１３０５４）  図１０Ａに示した論理ネットワーク−物理ネットワーク対応付け表１３３を参照して、接続先論理ネットワーク群中のそれぞれの論理ネットワークが利用している物理スイッチをすべて取得する（以下、「論理ＮＷ割当済スイッチ群」という）。例えば、図１０Ａの例では、論理ネットワーク「ＷｅｂサーバーＡＰサーバ」が利用している論理ＮＷ割当済スイッチ群は「スイッチ２，４，５」となる。
【００７６】        （ステップ１３０５５）  クラウド基盤物理構成グラフ情報１３１を参照して、空き物理マシン群の中から、論理ＮＷ割当済スイッチ群中のスイッチと接続がある物理マシン（以下、「物理マシン候補群」という）を抽出する。新規ＶＭ１３５３と接続のある接続先論理ネットワーク群が複数ある場合、それぞれの接続先論理ネットワーク群に対応する論理ＮＷ割当済スイッチ群１３５５との接続があるものを物理マシン候補群として抽出する。（ステップ１３０６）  もし、ステップ１３０５で物理マシン候補群１３５６に該当するＶＭが一つ以上あれば、ステップ１３０７、１３０８を実行し、該当する物理マシン一覧からネットワーク要件に基づき物理マシンを一つ選択する。該当する物理マシンが存在しない場合、ステップ１３０９、１３１０の手順によって、論理ネットワークを物理スイッチ上に割当てて物理マシンを選択する。（ステップ１３０７）  図１４に後述する手順に従い、ネットワーク要件に基づき物理マシンを選択する（業務システム割当済みの物理マシンの検索・選択）。（ステップ１３０８）  ステップ１３０７で選択された物理マシンに対して、仮想マシンの生成・配置（プロビジョニング）を実施する。本手順は一般的なＩａａＳのＶＭプロビジョニング手順と同等であるため、詳細手順は省略する。（ステップ１３０９）  図１５に後述する手順に従って、論理ネットワークの割当て処理を実施し（新規物理スイッチへの論理ネットワークの割当処理）、さらに空き物理マシン群１３５２から物理マシンを一つ選択する。（ステップ１３１０ａ、１３１０ｂ）  ステップ１３０９（又は、ステップ１３０５２）において、論理ネットワークの割り当てに失敗した場合、エラー処理を実施して終了する。
【００７７】    （Ｖ−４）業務システム割当済みの物理マシンの検索・選択  次に、図１４を用いて物理マシンを選択する手順について説明する。
【００７８】  図１４は、物理マシンを選択する手順を示すフローチャートである。
【００７９】  図１４に示す手順は、ＣＰＵ、メモリの空きリソースがあり、なおかつ、業務システムの論理ネットワークが全て接続されている、すなわち、業務システムのＶＭが既に稼動している物理マシンの中から、帯域が溢れない物理マシンを選択するプロセスである。この手順により、既にデプロイされている業務システムがある場合、そのＶＭの稼動する物理マシンに優先してＶＭが割り付けられるようになり、通信の局所化が行われる。これにより、ＩａａＳ基盤全体としてテナントが混在しているときに、通信ボトルネックによって多くのテナントが性能の影響を受けるようになることを避けることができる。（ステップ１４０１ａ、１４０１ｂ）  物理マシン候補一覧中の全ての物理マシン（以下、「候補物理マシン」という）に対してステップ１４０２〜１４０４を実施する。（ステップ１４０２）  ＶＭを配置することにより、ＶＭ間通信のネットワークパケットが増加し、帯域を消費する可能性のある物理スイッチをすべて抽出する（以下、「ＶＭ配置影響有りスイッチ群」という）。
【００８０】  ＶＭ配置影響有りスイッチ群は、下記のステップ１４０２１、１４０２２によって計算する。
【００８１】    （ステップ１４０２１）  上記ステップ１３０５３と同一の手順により、ＶＭ間通信関係グラフ１４１において、追加ＶＭと接続している全ての論理ネットワーク（以下、「ＶＭ接続論理ネットワーク群Ａ」という）を抽出する。ＶＭ接続論理ネットワーク群Ａのそれぞれに対して、前記ステップ１３０５４と同一の手順により、ＶＭ接続論理ネットワークが割り当てられているすべての物理スイッチ（以下、「論理ネットワーク割当て済みスイッチ群」という）を抽出する。
【００８２】    （ステップ１４０２２）  抽出された論理ネットワーク割当て済みスイッチ群のそれぞれについて、図１０Ａに示された論理ＮＷ−物理ＮＷ対応付け表１３３を参照して論理ネットワークの１側、Ｎ側、Ｍ側のそれぞれの端子がマッピングされているスイッチポートを取得する。もし、該当するスイッチポートがある場合、その物理スイッチをＶＭ配置影響有りスイッチ群に加える。（ステップ１４０３）  図６に示したＶＭ間通信関係グラフ情報１４１中に含まれる帯域情報を用いて、候補物理マシンにＶＭを配置した時の各ポートのネットワーク帯域を再計算する。（ステップ１４０４）  ステップ１４０３で計算した各ポートのネットワーク帯域の中の最大値を物理マシンの帯域ペナルティ値とし、もし、その帯域ペナルティ値が物理スイッチのポート、又は、物理マシンのネットワーク帯域の値を超えた場合、その候補物理マシンは、ＶＭの配置先候補としては不適なため、物理マシン候補一覧から取り除く。（ステップ１４０５ａ、１４０５ｂ）  前記ステップ１４０４において、すべての物理マシンがＶＭの配置先候補から取り除かれた場合、処理失敗として、エラー処理をして終了する。（ステップ１４０６）  ステップ１４０４により削除されなかった物理マシンの中から、ステップ１４０４で計算した帯域ペナルティ値の値が最も小さい物理マシンを選択し、処理を終了する。
【００８３】    （Ｖ−５）新規物理スイッチへの論理ネットワークの割当処理  次に、図１５を用いて新規物理スイッチへの論理ネットワークの割当処理について説明する。図１５は、新規物理スイッチへの論理ネットワークの割当処理を示すフローチャートである。
【００８４】  上記ステップ１３０９で、物理スイッチに対して論理ネットワークが接続されていない場合には、業務システムを稼動させるためには、その物理スイッチに論理ネットワークを接続させる必要がある。この際に、論理ネットワークへの割当リソースがもっとも条件が良い物理スイッチを選択することにより、アプリケーションの通信形態に適した物理スイッチを配置先として選択する。（ステップ１５０１）  上記ステップ１３０５３と同一の手順により、ＶＭ間通信関係グラフ１４１において、追加ＶＭと接続している全ての論理ネットワーク（以下、「ＶＭ接続論理ネットワーク群Ｂ」という）を抽出する。（ステップ１５０２）  図１０Ａに示した論理ＮＷ−物理ＮＷ対応付け表１３３を参照して、すでに物理スイッチに割り当て済みの論理ネットワークが存在する論理ネットワークをすべて抽出する（以下、「割当済論理ネットワーク群」という）。（ステップ１５０３）  割当済論理ネットワーク群に該当する論理ネットワークが一つ以上存在するか否かを判定する。（ステップ１５０４）  割当済論理ネットワーク群に該当する論理ネットワークが一つ以上存在する場合は、後述の図１６のフローチャートに示す処理により、デプロイするシステム内の通信に使われる物理スイッチ数が少ない物理マシンを選択する。（ステップ１５０５）  ステップ１５０２において、物理スイッチに割当済の論理ネットワークが存在しない場合には、図１７に示す方法によって、割当済論理ネットワークから離れていてネットワークリソース利用の競合確率が低い物理マシンを選択する。
【００８５】    （Ｖ−６）割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択  次に、図１６を用いて割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択処理について説明する。図１６は、割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択処理を示すフローチャートである。
【００８６】  図１６のフローチャートに示す処理は、図１５のステップ１５０４の処理において、すでに物理スイッチに割り当てられている論理ネットワーク（以下、「割当済ネットワーク群」という）が存在する場合に、デプロイするシステム内の通信に使われる物理スイッチ数を極小化する物理マシンを選択する処理である。（ステップ１６０１ａ、１６０１ｂ）   上記ステップ１３０５１で抽出された空き物理マシン群１３５２のそれぞれ（以下、「物理マシン候補」という）について、ステップ１６０２~１６０６を実行し、デプロイするシステム内の通信に使われる物理スイッチ数を極小化する物理マシンを選択する。
【００８７】    （ステップ１６０２ａ、１６０２ｂ）  上記ステップ１５０２の割当済論理ネットワーク群のそれぞれに対して、ステップ１６０３〜１６０５を実行する。
【００８８】        （ステップ１６０３）  上記ステップ１３０５４と同一の手順により、ＶＭ接続論理ネットワークが割り当てられているすべての物理スイッチ（以下、論理ネットワーク割当済スイッチ群１６５３）を抽出する。
【００８９】        （ステップ１６０４）  物理マシン候補と、論理ネットワーク割当済スイッチ群との間で、経由スイッチ数が最短となるスイッチ（以下、「最短到達スイッチ」という）及び最短到達スイッチまでの経由スイッチ数（以下、「最短到達スイッチ数」という）を求める。
【００９０】  これは、論理ネットワーク割当済スイッチ群中のそれぞれのスイッチと物理マシン候補との間の経由スイッチ数を、それぞれダイクストラ法（最短経路問題のアルゴリズムの一種）などによって計算することによって求められる。
【００９１】        （ステップ１６０５）  割当済論理ネットワーク１６５２の接続の形態（１：１、１：Ｎ、Ｎ：Ｍ、Ｎ：Ｎ）の別により、システム内の通信に使われる物理スイッチ数をステップ１６０５１〜ステップ１６０５２の指標で評価する。
【００９２】            （ステップ１６０５１）  １：１、Ｎ：Ｎの場合、論理ネットワーク割当済スイッチ群に含まれるスイッチの数を評価値（Ｘ）とする。本ステップにより、対等な通信関係にある複数のサーバが極力同一のネットワークスイッチ配下に配置されることになり、システム全体のネットワークトラフィックが削減される。
【００９３】          （ステップ１６０５２）  Ｎ：１、Ｎ：Ｍの場合、最短到達スイッチ数を評価値（Ｘ）とする。本ステップにより、既存の負荷分散クラスタからの距離が遠くない物理マシンが選択される。
【００９４】    （ステップ１６０６）  割当済論理ネットワークに対して評価された評価値（Ｘ）の総和を取り、物理マシン候補の評価値とする 。（ステップ１６０７）  評価値が最も小さい物理マシン候補をＶＭの配置先として選択する （ステップ１６０８）  ＶＭ接続論理ネットワーク群Ｂに対して、最短到達スイッチからＶＭの配置先物理マシンまでの経由スイッチをすべて対応付け、論理ＮＷ−物理ＮＷ対応付け表１３３に対応付けを追記して記録する。その際、追加ＶＭが論理ネットワークと接続している端子を、物理スイッチとＶＭ配置先物理マシンが接続しているポートと対応付け、論理ＮＷ−物理ＮＷ対応付け表１３３を更新する。
【００９５】    （Ｖ−７）ネットワークリソース利用の競合確率が低い物理マシンの選択  次に、図１７を用いてネットワークリソース利用の競合確率が低い物理マシンを選択する処理について説明する。図１７は、ネットワークリソース利用の競合確率が低い物理マシンを選択する処理を示すフローチャートである。
【００９６】  図１７のフローチャートに示される処理では、図１５のステップ１５０５の処理において、追加ＶＭに関係する論理ネットワークの中で、すでに物理スイッチに割り当てられているもの（割当済ネットワーク群）が存在しない場合に、割当済論理ネットワークから離れていてネットワークリソース利用の競合確率が低い物理マシンを選択する処理である。（ステップ１７０１ａ、１７０１ｂ）  ステップ１５０１で取得したＶＭ接続論理ネットワーク群Ａ中の各論理ネットワークに対してステップ１７０２~１７０４を実行する。
【００９７】    （ステップ１７０２）  論理ＮＷ−物理ＮＷ対応付け表１３３を参照し、論理ネットワークが一つも割当たっていない未割当スイッチ群と、一つ以上の論理ネットワークが割り当てられている割当済スイッチ群を抽出する。
【００９８】  未割当スイッチ群が存在する場合はステップ１７０３ａ−１７０３ｂの方法により、存在しない場合はステップ１７０４ａ−１７０４ｂの方法により、他の論理ネットワークとの干渉の可能性が低い物理スイッチ及び物理マシンを選択する。
【００９９】    （ステップ１７０３ａ、１７０３ｂ）  未割当スイッチ群中のすべてのスイッチ（以下、「スイッチ候補」という）に対してそれぞれステップ１７０３１~１７０３３の指標に基づきスイッチを評価し、スイッチと物理マシンを一つ選択する。
【０１００】        （ステップ１７０３１）  上記ステップ１６０４と同等の方法により、スイッチ候補と、割当済スイッチ群との間で、経由スイッチ数が最短となる物理スイッチ（以下、「最短到達スイッチ」という）及び最短到達スイッチまでの経由スイッチ数（以下、「最短到達スイッチ数」という）を求める。
【０１０１】        （ステップ１７０３２）  最短スイッチ数をスイッチ候補の評価値とし、評価値が最も大きいものから順に選択する（以下、「選択スイッチ」という）。
【０１０２】        （ステップ１７０３３）  図８Ａ、図８Ｂで示したクラウド基盤物理構成グラフ情報１３３を参照し、選択スイッチが、上記ステップ１３０３で選択された空き物理マシン群のいずれかの物理マシンと直接接続しているか否かを確認する。もし、直接接続する物理マシンが一つ以上ある場合は、その中の一つの物理マシンを選択し、ステップ１７０５に進む。もし、該当する物理マシンが存在しない場合は、ステップ１７０３２に戻り、次の物理スイッチを選択する。（ステップ１７０４ａ、１７０４ｂ）  論理ネットワークに割当てられたスイッチ中のすべての物理スイッチについて、ステップ１７０４１、１７０４２の指標に基づきスイッチを評価し、物理スイッチ及び物理マシンを選択する。
【０１０３】        （ステップ１７０４１）  論理ネットワークの帯域を計算し、その物理スイッチの最大性能までの残り帯域を計算し、物理スイッチの評価値とし、評価値が最も大きいものから順に選択する（以下、「選択スイッチ」という）。
【０１０４】        （ステップ１７０４２）  図８Ａ、図８Ｂで示したクラウド基盤物理構成グラフ情報１３３を参照し、選択スイッチが、上記ステップ１３０３で選択された空き物理マシン群のいずれかの物理マシンと直接接続しているか否かを確認する。もし、直接接続する物理マシンが一つ以上ある場合は、その中の一つの物理マシンを選択し、ステップ１７０５に進む。
【０１０５】  もし、該当する物理マシンが存在しない場合は、ステップ１７０３２に戻り、次の物理スイッチを選択する。（ステップ１７０５）  上記処理（ステップ１７０３ａ−１７０３ｂ  ＯＲ  ステップ１７０４ａ−１７０４ｂ）により各論理ネットワーク（ステップ１７０１ａ−１７０１ｂでのＶＭ接続論理ネットワーク群Ａ中の各論理ネットワーク）に対して、一つずつ物理マシン及び物理スイッチが選択される。この中から、任意の方法により物理マシンを一つ選択する。（ステップ１７０６）  ＶＭ接続論理ネットワーク群に対して、ＶＭの配置先物理マシンと接続している物理スイッチを対応付け、論理ＮＷ−物理ＮＷ対応付け表１３３に対応付けを追記して記録する。 その際、追加ＶＭが論理ネットワークと接続している端子を、物理スイッチとＶＭ配置先物理マシンが接続しているポートと対応付け、論理ＮＷ−物理ＮＷ対応付け表１３３を更新する。（ＶＩ）本実施形態の論理ネットワークの形態によるＶＭプロビジョニングの特徴について  本実施形態によると，業務システムに追加でＶＭを配置する必要がある場合にＣＰＵ、メモリの利用量に加え、業務システム内のＶＭ間の通信帯域、及び、通信特性（１：１通信、Ｎ：１通信、Ｎ：Ｍ通信、Ｎ：Ｎ通信）を考慮してＶＭを配置する。
【０１０６】  ＶＭと通信する関係にある他のＶＭが既に物理マシン上に配置されている場合、ＶＭを配置することにより影響を受ける物理スイッチの帯域を再計算して必要帯域を確認してＶＭを配置するとともに、通信特性ごとのルールに従い、ネットワーク経路上の距離、及び利用されるネットワーク機器数が少なくなるように配置する。利用されるネットワーク機器を少なくすることにより、スイッチ間を横断するトラフィックの総量が削減され、ネットワーク帯域が干渉する可能性を低減する。
【０１０７】  ＶＭと通信関係にあるＶＭが一つも物理マシン上に配置されていない場合、他のシステムからのネットワーク経路上の距離が大きくなるようＶＭを配置し、ネットワーク帯域が干渉する可能性を低減する。
【０１０８】  また、本実施形態によれば、１：１通信は通信が局所的であるため、極力同一の物理マシン、あるいはネットワーク経路上の距離が近い物理マシンに配置する。Ｎ：Ｎ通信は対称性のあるクラスタ内の通信であり、送信元、送信先の区別を明に行わないため、通信帯域を満たす範囲内でクラスタ全体の利用スイッチの数が少なくなるよう配置することで利用スイッチが少なくなる。Ｎ：１、Ｎ：Ｍ通信では通信に非対称性がある（例えば、サーバークライアント通信など）ため特定のＶＭに負荷が集中する場合があり、合計利用スイッチ数を少なくする方法ではネットワーク帯域が不足する場合がある。したがって、例に挙げたサーバークライアント通信では、サーバ側とクライアント側のＶＭ群のネットワーク上の距離を小さく抑えることにより、ネットワークレイテンシ低下を避け、なおかつ、システム全体のトラフィック増加を避けることができるようになる。
【０１０９】  また、上記の通信特性は、業務システム上に配置されるソフトウェア（ミドルウェアなど）の情報、及びソフトウェア間の通信関係などの構成情報、及び構成要素間のトポロジー情報などから制約条件として導出することができる。本発明に於いては、そのような構成情報、及び構成情報内のトポロジー情報から制約条件を配置してＶＭの配置先を演繹し、ＶＭ配置の制約条件を生成することができる。
【符号の説明】
【０１１０】１０…デプロイ管理部 １１…仮想マシン配置管理部１５…論理構成 テンプレート１０１…論理構成テンプレート受付部 １０２…ＶＭ間通信関係グラフ作成部 １０３…リソース要求送信部 １１１…リソース要求受付部 １１３…配置先物理ネットワーク選択部 １１４…配置先物理マシン選択部 １１５…仮想マシン−物理マシン対応付け管理部 １２１…論理構成テンプレート管理表 １２２…ミドルウェア別通信量算出式定義表 １３１…クラウド基盤物理構成グラフ情報 １３２…仮想マシン−物理マシン対応付け表１３３…論理ネットワーク-物理ネットワーク対応付け表 １４１…ＶＭ間通信関係グラフ情報 
【図１】
2017056238.tif 000003
【図２】
2017056238.tif 000004
【図３Ａ】
2017056238.tif 000005
【図３Ｂ】
2017056238.tif 000006
【図４】
2017056238.tif 000007
【図５Ａ】
2017056238.tif 000008
【図５Ｂ】
2017056238.tif 000009
【図５Ｃ】
2017056238.tif 000010
【図６】
2017056238.tif 000011
【図７Ａ】
2017056238.tif 000012
【図７Ｂ】
2017056238.tif 000013
【図８Ａ】
2017056238.tif 000014
【図８Ｂ】
2017056238.tif 000015
【図９】
2017056238.tif 000016
【図１０Ａ】
2017056238.tif 000017
【図１０Ｂ】
2017056238.tif 000018
【図１１】
2017056238.tif 000019
【図１２】
2017056238.tif 000020
【図１３Ａ】
2017056238.tif 000021
【図１３Ｂ】
2017056238.tif 000022
【図１４】
2017056238.tif 000023
【図１５】
2017056238.tif 000024
【図１６】
2017056238.tif 000025
【図１７】
2017056238.tif 000026
【国際調査報告】
2017056238.tif 000027
2017056238.tif 000028