(57)【特許請求の範囲】
【請求項１】
仮想マシンの配置先の候補となる物理サーバを備える各配置拠点についてのネットワークトポロジ上の位置情報と、前記仮想マシンを利用するユーザの端末を備える各ユーザ拠点についての前記ネットワークトポロジ上の位置情報と、前記ネットワークトポロジを構成する各通信装置の接続情報とがそれぞれ格納されている記憶部と、
前記各通信装置の接続情報を参照することで、前記各ユーザ拠点から前記各配置拠点に対して通信を行うときの通信性能を特定し、どのユーザ拠点からも所定の通信要件を満たす通信性能を提供できる配置拠点を、前記仮想マシンの配置先として決定する配置先決定部とを有し、
前記配置先決定部は、
どの前記ユーザ拠点からも所定の通信要件を満たす通信性能を提供できる前記配置拠点が存在しないときには、あらかじめ設定された優先度の高い前記ユーザ拠点に対して提供できる通信性能が他の前記配置拠点よりも良い前記配置拠点を、前記仮想マシンの配置先として決定し、
１つ以上の前記ユーザ拠点を有するユーザが複数存在するときには、以下のルールに沿って前記仮想マシンを配置するユーザの順序を決定することを特徴とする
（ルール１）前記所定の通信要件として高い通信性能を要するユーザほど先に選択する
（ルール２）前記の（ルール１）で同点となった場合、ユーザ拠点が多いユーザほど先に選択する
（ルール３）前記の（ルール２）で同点となった場合、優先度の高いユーザ拠点が多いユーザほど先に選択する
仮想マシン配置先決定装置。
【請求項２】
前記配置先決定部は、前記各通信装置の接続情報を参照して、前記各ユーザ拠点を収容する通信装置から前記各配置拠点を収容する通信装置までのホップ数を特定し、この特定したホップ数に比例した通信時間を、前記各ユーザ拠点から前記各配置拠点までの通信性能として特定することを特徴とする
請求項１に記載の仮想マシン配置先決定装置。
【請求項３】
前記配置先決定部は、所定の仮想マシンの配置先として決定した前記配置拠点が前記所定の仮想マシンが要する計算機リソースを提供できないときには、決定した前記配置拠点上ですでに配置されている別の仮想マシンを別の前記配置拠点に移動した後、前記所定の仮想マシンを決定した前記配置拠点に配置することを特徴とする
請求項１または請求項２に記載の仮想マシン配置先決定装置。
【請求項４】
仮想マシン配置先決定装置は、記憶部と、配置先決定部とを有しており、
前記記憶部には、仮想マシンの配置先の候補となる物理サーバを備える各配置拠点についてのネットワークトポロジ上の位置情報と、前記仮想マシンを利用するユーザの端末を備える各ユーザ拠点についての前記ネットワークトポロジ上の位置情報と、前記ネットワークトポロジを構成する各通信装置の接続情報とがそれぞれ格納されており、
前記配置先決定部は、
前記各通信装置の接続情報を参照することで、前記各ユーザ拠点から前記各配置拠点に対して通信を行うときの通信性能を特定し、どのユーザ拠点からも所定の通信要件を満たす通信性能を提供できる配置拠点を、前記仮想マシンの配置先として決定し、
どの前記ユーザ拠点からも所定の通信要件を満たす通信性能を提供できる前記配置拠点が存在しないときには、あらかじめ設定された優先度の高い前記ユーザ拠点に対して提供できる通信性能が他の前記配置拠点よりも良い前記配置拠点を、前記仮想マシンの配置先として決定し、
１つ以上の前記ユーザ拠点を有するユーザが複数存在するときには、以下のルールに沿って前記仮想マシンを配置するユーザの順序を決定することを特徴とする
（ルール１）前記所定の通信要件として高い通信性能を要するユーザほど先に選択する
（ルール２）前記の（ルール１）で同点となった場合、ユーザ拠点が多いユーザほど先に選択する
（ルール３）前記の（ルール２）で同点となった場合、優先度の高いユーザ拠点が多いユーザほど先に選択する
仮想マシン配置先決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン配置先決定装置、および、仮想マシン配置先決定方法の技術に関する。
【背景技術】
【０００２】
仮想マシン（ＶＭ：Virtual Machine）を物理サーバ上に配置して実行することにより、物理サーバの計算機資源を効率的に活用する仮想化システムが普及している。
特許文献１には、アプリケーションの処理スケジュール情報から物理サーバの負荷を予測し、物理サーバの消費リソース量間の偏りが小さい仮想マシンの組み合わせで配置することが記載されている。
特許文献２には、仮想マシンの現用系・予備系の種別を意識し、可用性を担保しつつ仮想マシン収容効率を向上させた配置手法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３９０９５号公報
【特許文献２】特開２０１５−２２６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウドサービスの利用が拡大する中、配置先であるデータセンタ（ＤＣ：Data Center）の拠点（以下、ＤＣ拠点）として、複数箇所に分散されたＤＣ拠点を管理するクラウドサービス事業者が増えている。また、大手企業などにおいて複数のユーザ拠点（支店や営業拠点など）にまたがって、同一のクラウドサービスを利用するシーンも増加している。そして、拠点数の増加とともに、各拠点が各地に分散されて配置される。よって、仮想マシンの利用元となるユーザ拠点から仮想マシンの配置先となるＤＣ拠点までの通信経路は、都道府県間や国間をまたがるなど、年々長距離になる傾向にある。
【０００５】
クラウドサービスはネットワークを経由してサービスを提供するため、そのネットワークの通信性能がサービスの品質に影響されることも多い。例えば、双方向で会話をするようなクラウドサービスでは、通信時間が長くかかってしまうと、その遅延がユーザの満足度を低下させてしまう。よって、地理的に分散されたユーザ拠点から１つのクラウドサービスへの接続を保証するだけでなく、その接続の通信品質（必要通信要件）も併せて保証する必要がある。
【０００６】
図９は、サービスの応答時間の内訳を示す説明図である。
ユーザ拠点内のクライアント端末が処理要求を受けてから、その応答を出力するまでの期間を「応答期間」とする。この応答期間は、以下の各期間（時間）の総和である。
・処理要求の入力を受け付ける期間
・処理要求をＤＣ拠点に送信する上り通信時間
・処理要求を受けたＤＣ拠点内でシステム処理される期間
・システム処理の結果をＤＣ拠点から受信する下り通信時間
・受信したシステム処理の結果を応答として出力する期間
【０００７】
この応答時間を短縮するためには、ユーザ拠点とＤＣ拠点とを互いに近くに配置することで、上りおよび下りの通信時間を短縮することが効果的である。ユーザ拠点の移動はユーザの都合があるので困難である。一方、同じクラウドサービス事業者が管理する複数のＤＣ拠点のうち、どのＤＣ拠点にクラウドサービスを配置するかで、通信時間は変わってくる。つまり、データセンタレベルという広範囲での配置先の決定により、通信経路の通信ホップ数を減らすことで、通信時間を短縮できる可能性がある。
【０００８】
しかし、特許文献１，２などの従来の仮想マシンの配置技術では、配置先となる物理サーバそのものの性能（ＣＰＵ資源、メモリ容量などの計算機資源）は考慮されていたが、通信経路が長距離になることで、通信品質にばらつきが生じるような事態は想定されていなかった。よって、物理サーバの内部処理では余裕があっても、その結果を伝達するときの通信性能の不足により、ユーザの満足を満たさないこともあった。
【０００９】
そこで、本発明は、複数の異なる位置のユーザ拠点から利用される仮想マシンを、適切な通信品質を提供できる位置に配置することを、主な課題とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明の仮想マシン配置先決定装置は、
仮想マシンの配置先の候補となる物理サーバを備える各配置拠点についてのネットワークトポロジ上の位置情報と、前記仮想マシンを利用するユーザの端末を備える各ユーザ拠点についての前記ネットワークトポロジ上の位置情報と、前記ネットワークトポロジを構成する各通信装置の接続情報とがそれぞれ格納されている記憶部と、
前記各通信装置の接続情報を参照することで、前記各ユーザ拠点から前記各配置拠点に対して通信を行うときの通信性能を特定し、どのユーザ拠点からも所定の通信要件を満たす通信性能を提供できる配置拠点を、前記仮想マシンの配置先として決定する配置先決定部とを有し、
前記配置先決定部は、
どの前記ユーザ拠点からも所定の通信要件を満たす通信性能を提供できる前記配置拠点が存在しないときには、あらかじめ設定された優先度の高い前記ユーザ拠点に対して提供できる通信性能が他の前記配置拠点よりも良い前記配置拠点を、前記仮想マシンの配置先として決定し、
１つ以上の前記ユーザ拠点を有するユーザが複数存在するときには、以下のルールに沿って前記仮想マシンを配置するユーザの順序を決定することを特徴とする。
（ルール１）前記所定の通信要件として高い通信性能を要するユーザほど先に選択する。
（ルール２）前記の（ルール１）で同点となった場合、ユーザ拠点が多いユーザほど先に選択する。
（ルール３）前記の（ルール２）で同点となった場合、優先度の高いユーザ拠点が多いユーザほど先に選択する。
【００１１】
これにより、ユーザ拠点から配置拠点までの通信性能が仮想マシンの配置先の配置拠点の決定処理に反映されることで、複数の異なる位置のユーザ拠点から利用される仮想マシンを、適切な通信品質を提供できる位置に配置することができる。
さらに、通信資源が不足しがちな状況下でも、ユーザの満足度を大きく減らすことを抑制できる。
そして、配置が難しいユーザの仮想マシンを先に配置することで、通信要件を満たすユーザの数を増やすことができる。
【００１２】
本発明は、前記配置先決定部が、前記各通信装置の接続情報を参照して、前記各ユーザ拠点を収容する通信装置から前記各配置拠点を収容する通信装置までのホップ数を特定し、この特定したホップ数に比例した通信時間を、前記各ユーザ拠点から前記各配置拠点までの通信性能として特定することを特徴とする。
【００１３】
これにより、ホップ数から通信時間を簡易に計算できる。
【００１４】
本発明は、前記配置先決定部が、所定の仮想マシンの配置先として決定した前記配置拠点が前記所定の仮想マシンが要する計算機リソースを提供できないときには、決定した前記配置拠点上ですでに配置されている別の仮想マシンを別の前記配置拠点に移動した後、前記所定の仮想マシンを決定した前記配置拠点に配置することを特徴とする。
【００１５】
これにより、ユーザ間で配置拠点を融通し合うことで、通信要件を満たすユーザの数を増やすことができる。
【発明の効果】
【００２０】
本発明によれば、複数の異なる位置のユーザ拠点から利用される仮想マシンを、適切な通信品質を提供できる位置に配置することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係わるクラウドサービス構築用ネットワークの構成図である。
【図２】本実施形態に係わる配置先決定装置の構成図である。
【図３】図３（ａ）は、ユーザ拠点情報の構成図である。図３（ｂ）は、ＤＣ拠点情報の構成図である。図３（ｃ）は、配置サービス情報の構成図である。
【図４】図４（ａ）は、クラウドサービス構築用ネットワークの階層構造を示す図である。図４（ｂ）は、通信設備情報の構成図である。
【図５】図５（ａ）は、拠点間の通信コストの組み合わせを示す表である。図５（ｂ）は、拠点間の通信コストが許容時間を満たすか否かを示す表である。図５（ｃ）は、拠点間の通信コストをもとに、配置先のＤＣ拠点を選択するための表である。
【図６】本実施形態に係わる配置先決定部の処理内容を示すフローチャートである。
【図７】本実施形態に係わる複数のユーザの配置状況を示す図である。
【図８】本実施形態に係わる図１のクラウドサービス構築用ネットワークについて、サービスの２段階配置を行った図である。
【図９】本実施形態に係わるサービスの応答時間の内訳を示す説明図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００２３】
図１は、クラウドサービス構築用ネットワークの構成図である。このネットワークシステムは、通信装置であるルータＲ（Ｒ１１〜Ｒ１５，Ｒ２１，Ｒ３１，Ｒ５１）間が接続される（図では太線）。さらに、各ルータには、同じユーザＵＡが使用する複数のユーザ拠点Ｕ（ＵＡ１〜ＵＡ４）と、クラウドサービスを実行するための仮想マシン（ＶＭ：Virtual Machine）の配置先である配置拠点としてのＤＣ拠点Ｄ（Ｄ１〜Ｄ４）とが接続されている。なお、クラウドサービスは、プログラムなどに記載された処理内容であり、物理サーバに配置された仮想マシンから実行されることで機能する。
【００２４】
あるユーザ拠点（例えば、ＵＡ１）内の端末は、あるＤＣ拠点（例えば、Ｄ３）の物理サーバ上に構築されたＶＭが実行するクラウドサービス（例えば、社員検索ＤＢ）にアクセスするため、１つ以上のルータ（例えば、Ｒ２１→Ｒ１２→Ｒ１３→Ｒ１４の４ホップ）を経由した通信を行う。一方、社員検索ＤＢをＤＣ拠点Ｄ１に配置することで、ユーザ拠点ＵＡ１からの通信距離を短くすることができ（Ｒ２１→Ｒ１２の２ホップ）、ＤＣ拠点Ｄ１からの通信時間を短縮することができる。
【００２５】
しかし、ＤＣ拠点Ｄ３上の社員検索ＤＢは、同じユーザＵＡのすべてのユーザ拠点（ＵＡ１〜ＵＡ４）から使用される。ＤＣ拠点Ｄ１は、ユーザ拠点ＵＡ１からは近距離であっても、ユーザ拠点ＵＡ３からは遠距離である（Ｒ５１→Ｒ１５→Ｒ１１→Ｒ１２の４ホップ）。つまり、本実施形態で提供されるクラウドサービスは、同じユーザに属するどのユーザ拠点Ｕからも、許容通信時間の範囲内の通信時間で収まるような通信距離に位置するＤＣ拠点Ｄを、配置先として選択する必要がある。
【００２６】
図２は、配置先決定装置１の構成図である。
配置先決定装置１は、ＣＰＵ（Central Processing Unit）と、メモリと、ハードディスクなどの記憶手段（記憶部）と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラム（アプリケーションや、その略のアプリとも呼ばれる）を実行することにより、後記する各処理部により構成される制御部（制御手段）を動作させる。
【００２７】
配置先決定装置１は、図１のクラウドサービス構築用ネットワークの管理を行うサーバであり、クラウドサービス（を実行するためのＶＭ）の配置先となるＤＣ拠点Ｄを決定する。そのため、配置先決定装置１は、処理部として、ユーザ情報入力部１０、ＤＣ情報入力部２０、配置先決定部３１、配置指示部３２を有する。さらに、配置先決定装置１は、前記の各処理部が処理を実行するためのデータとして、ユーザ拠点情報１１、配置サービス情報１２、ＤＣ拠点情報２１、通信設備情報２２を装置内または装置外の記憶手段（記憶部）に格納する。これらの各データの詳細は、図３，図４で後記する。
【００２８】
ユーザ情報入力部１０は、クラウドサービス構築用ネットワークのユーザ拠点Ｕに関する情報として、ユーザ拠点情報１１と、配置サービス情報１２とを、ユーザに入力させる。
ＤＣ情報入力部２０は、クラウドサービス構築用ネットワークのＤＣ拠点ＤおよびルータＲに関する情報として、ＤＣ拠点情報２１と、通信設備情報２２とをサービス事業者に入力させる。
配置先決定部３１は、ユーザ情報入力部１０およびＤＣ情報入力部２０が入力を受け付けた各情報をもとに、許容通信時間を保証するようなクラウドサービスの配置先のＤＣ拠点Ｄを決定する。
配置指示部３２は、配置先決定部３１が決定した配置先のＤＣ拠点Ｄ内の仮想インフラシステムに対し、クラウドサービスを実行するための仮想マシンの配置を指示する。ＤＣ拠点Ｄ内の仮想インフラシステムは、配置指示部３２から指示を受け、該当仮想マシンの配置を行う。
【００２９】
図３（ａ）は、ユーザ拠点情報１１の構成図である。
ユーザ拠点情報１１は、ユーザ名ごとに、そのユーザがクラウドサービスを利用するアクセス元となるユーザ拠点のリストと、そのユーザ拠点の所在地を示す最寄の（例えば１ホップの）ルータＲと、そのユーザ拠点の優先度（高い／普通）とを対応付けている。なお、各ユーザ拠点は、例えば、東京都、青森県、山梨県、沖縄県などの日本各地に分散していることもあり、図１で示したように、アクセス先となるＤＣ拠点Ｄの位置によって、通信時間にばらつきが発生してしまうこともある。
【００３０】
図３（ｂ）は、ＤＣ拠点情報２１の構成図である。
ＤＣ拠点情報２１は、ＤＣ拠点ごとに、その現在の空きリソースと、ＤＣ拠点の所在地を示す最寄のルータＲと、空き状況を対応付けている。
ＤＣ拠点情報２１の「空きリソース」列は、ＤＣ拠点内の物理サーバが現時点で提供できるリソースについての拠点ごとの総和である。この「空きリソース」列は、計算機資源の種別ごとに記載され、図３（ｂ）ではその一例として、CPUコア数,メモリ容量,Disk I/O速度, NW(NetWork) I/O速度が例示されている。
【００３１】
なお、リソース量の表記として、個々のリソース種別ごとに表記する代わりに、複数種別のリソースをまとめて１つの仮想計算機性能（１ＶＭ分）として表記してもよい。例えば、１単位ＶＭあたりに使用する計算機性能として、ＣＰＵを８コア分、メモリを１０ＧＢ分、ディスクＩ／Ｏを１Ｇｂｐｓ分、ネットワークＩ／Ｏを０．５Ｇｂｐｓ分とする。ここで、ＤＣ拠点Ｄ１には、ＣＰＵを８０コア分、メモリを１００ＧＢ分、ディスクＩ／Ｏを１０Ｇｂｐｓ分、ネットワークＩ／Ｏを５Ｇｂｐｓ分提供できるので、単位ＶＭが１０台分（１０ＶＭ分）である。
【００３２】
ＤＣ拠点情報２１の「空き状況」列は、個々のクラウドサービスについて、そのクラウドサービスをＤＣ拠点内に配置可能か否かという判定結果を示す列である。図３（ｂ）では、社員検索ＤＢ（図３（ｃ）参照）に着目したときの判定結果を例示している。
【００３３】
図３（ｃ）は、配置サービス情報１２の構成図である。
配置サービス情報１２は、クラウドサービスのサービス名ごとに、その必要リソースと、サービスを提供するための必要通信要件とを対応付けている。必要リソースは、図３（ｂ）で説明した「空きリソース」列と同じ表記であり、クラウドサービスの実行に伴うＤＣ拠点Ｄ内の物理サーバのリソースの消費量である。
（図３（ｃ）の「必要リソース」列のリソース量）＜（図３（ｂ）の「空きリソース」列のリソース量）なら、図３（ｂ）の「空き状況」列＝「あり」である。
【００３４】
図３（ｃ）の必要通信要件は、クラウドサービスの実行に伴うユーザ拠点Ｕ〜ＤＣ拠点Ｄ間の通信性能として求められる基準を示す。例えば、社員検索ＤＢは、ユーザ拠点Ｕ→ＤＣ拠点Ｄの片道またはユーザ拠点Ｕ←ＤＣ拠点Ｄの片道の通信時間が０．８秒以下であることが求められる。さらに、通信時間という指標を用いて必要通信要件を定義するときには、片道の通信時間だけでなく、往復の通信時間や、上りと下りそれぞれの通信時間を指定してもよい。
【００３５】
なお、必要通信要件はサービスの種別やその提供相手のユーザによって様々である。例えば、サーバが生成したゲーム画面をクライアントに送信し続けるクラウドゲーミングのサービスでは、ユーザの操作を直ちにゲーム画面へと反映させる必要があるので、必要通信要件は厳しい（許容通信時間が短い）ものとなる。
また、本実施形態では、必要通信要件の一例として、通信時間（遅延）に着目したが、これはあくまで通信指標の一例で有り、通信速度（帯域）やジッタ（通信変動）などの他の通信指標を通信時間と組み合わせて、または、単独で用いてもよい。例えば、映像配信システムでは、「帯域＝10[Mbps]以上」という必要通信要件が登録される。
【００３６】
また、図示は省略したが、クラウドサービスに関する情報として、クラウドサービスが実行される計算機環境などの付加情報も併せて、サービス名に対応付けて配置サービス情報１２に格納してもよい。計算機環境とは、例えば、実行するオペレーティングシステム（Ubuntsu 12.0など）、使用するＷｅｂサーバ（Apache 10.0など）、使用するデータベースサーバ（Oracle DB 5.0など）である。
【００３７】
図４（ａ）は、クラウドサービス構築用ネットワークの階層構造を示す図である。
各ルータＲは、上位下位の階層構造で接続される。例えば図４（ａ）では、１つのグループの第１階層（Ｒ１）と、１つのグループの第２階層（Ｒ１１，Ｒ１２，Ｒ１３，Ｒ１４，Ｒ１５）と、３つのグループの第３階層（「Ｒ２１，Ｒ２２，Ｒ２３」のグループ、「Ｒ３１，Ｒ３２，Ｒ３３」のグループ、「Ｒ５１，Ｒ５２」のグループ）と、で階層構造が形成されている。
一般的に、上位層のルータＲ間であるほど、物理的な距離が長くなる。例えば、第１層が国と国との間を接続し、第２層が県と県との間を接続し、第３層が市と市との間を接続する。
【００３８】
あるルータ（例えばルータＲ１１）から同じグループの別ルータ（例えばルータＲ１３）への通信は、グループ内のリングネットワークを介して隣接するルータ間で伝達される（右回りならＲ１１→Ｒ１５→Ｒ１４→Ｒ１３）。
あるルータ（例えばルータＲ１１）から別のグループのルータ（例えばルータＲ３３）への通信は、グループ間の接続ルータ（例えばルータＲ１３）までは、前記した同じグループの別ルータへの通信と同じである。さらに、接続ルータＲ１３から別グループのルータＲ３１へと転送された後、別グループ内で伝達される（右回りならＲ３１→Ｒ３２→Ｒ３３）。
【００３９】
なお、図４（ａ）のネットワークは、現用系（右回り）と予備系（左回り）との双方向で通信ができるように、冗長性を持たせてもよい。例えば、正常時には、右回りの「Ｒ１１→Ｒ１５→Ｒ１４→Ｒ１３」のルートを使用していたが、Ｒ１４の故障が発生すると、左回りの「Ｒ１１→Ｒ１２→Ｒ１３」のルートを使用してもよい。
【００４０】
図４（ｂ）は、通信設備情報２２の構成図である。ここでは図４（ａ）のクラウドサービス構築用ネットワークを示す通信設備情報２２を例示する。通信設備情報２２は、ルータ名ごとに、そのルータの右回りおよび左回りにおける同グループの隣接ルータと、ルータ名で示されるルータからみて、上位および下位に直接接続されるルータとが対応付けられている。また、図示は省略したが、通信設備情報２２は、前記したように、「現用系は右回りで予備系は左回り」などの経路ポリシ情報も保持している。
【００４１】
この通信設備情報２２のネットワークトポロジ情報を参照することにより、例えば、Ｒ１１からＲ３３までの通信性能（何ホップか、通信時間はどのくらいか）を特定することができる。より詳細にルータ間の通信性能を特定するため、ルータ間の接続情報（隣のルータはＲ１２である、など）だけでなく、その接続に関する通信性能（隣のルータＲ１２までの通信回線速度は100[Mbps]で、通信遅延は10[ms]で、ルータＲ１２内部の転送処理の平均時間は100[ms]である、など）も併せて通信設備情報２２で管理してもよい。
【００４２】
図５（ａ）は、拠点間の通信コストの組み合わせを示す表である。この表は、配置先決定部３１の処理途中の計算過程を示すものである。
まず、配置先決定部３１は、あるクラウドサービスを配置するＤＣ拠点の候補が４箇所（Ｄ１〜Ｄ４）存在するときは、図４（ｂ）で説明した通信設備情報２２などの各情報を参照して、そのクラウドサービスのユーザ拠点ごとに、各候補のＤＣ拠点までの通信性能（何ホップか、通信時間はどのくらいか）を求める。
【００４３】
例えば、図５（ａ）の第１列第１行におけるユーザ拠点ＵＡ１→ＤＣ拠点Ｄ１という組み合わせの通信性能を検討する。配置先決定部３１は、ユーザ拠点情報１１を参照してユーザ拠点ＵＡ１の最寄りがＲ２１であり、ＤＣ拠点情報２１を参照してＤＣ拠点Ｄ１の最寄りがＲ１２であることを取得する。
次に、配置先決定部３１は、Ｒ２１→Ｒ１２の通信性能として、通信設備情報２２を参照することで、このルータ間が上位下位として直接接続されていることがわかる。つまり、Ｒ２１とＲ１２という２台のルータを通過する（２ホップ）ことを取得する。さらに、説明を簡単にするために、すべてのルータで１ホップあたり0.2[s]の処理時間がかかるとすると、配置先決定部３１は、Ｒ２１→Ｒ１２の通信性能（通信時間）を２[hop]×0.2[s]＝0.4[s]として計算する。なお1ホップ間を光で伝送する時間が0に限りなく小さいと仮定したとき、この0.2[s]は、ルータでの処理時間や通信遅延を主に決定される。
このようなホップ数をもとにした通信時間の推定方法は、計算が簡易に行える。
【００４４】
一方、ホップ数をもとにした通信時間の推定方法の代わりに、以下に示す通信設備ごとの通信時間の計算方法を用いてもよい。
２拠点（ユーザ拠点とＤＣ拠点）の通信時間＝（２拠点間で経由する各通信装置の転送処理にかかる内部処理時間の総和）＋（２拠点間で経由する各通信装置間のケーブル内の伝送時間の総和）
なお、ケーブル内の伝送時間は、ケーブル総距離÷光の速度によって求まるが、日本国内に敷設されたケーブルでは光の速度に対してケーブル総距離が短いため、ケーブル内の伝送時間＝０としてもよい。
【００４５】
図５（ｂ）は、拠点間の通信コストが許容時間を満たすか否かを示す表である。ここでは許容時間＝0.8[s]とする。図５（ａ）の各通信時間に対して、0.8[s]以下の通信時間を許容（○）とし、0.8[s]を超過した通信時間を却下（×）とする。
配置先決定部３１は、すべてのユーザ拠点ＵＡ１〜ＵＡ４からの通信時間が許容（○）であるＤＣ拠点Ｄ３を、配置先として選択する。これにより、位置が分散しているすべてのユーザ拠点から同等の通信品質でアクセスされるので、例えば、同じ代金を払っているユーザ拠点間であっても、公平にサービスを提供できる。
【００４６】
図５（ｃ）は、図５（ｂ）と同様に、拠点間の通信コストをもとに、配置先のＤＣ拠点を選択するための表である。ここでは許容時間＝0.6[s]とするため（制約がきつくなるため）、許容（○）される組み合わせの数が図５（ｂ）よりも減少している。そのため、すべてのユーザ拠点ＵＡ１〜ＵＡ４からの通信時間が許容（○）であるＤＣ拠点が存在しない。
そこで、配置先決定部３１は、次善策として、高優先であるユーザ拠点ＵＡ２，ＵＡ３それぞれからの通信時間の和（または平均時間）をより削減可能なＤＣ拠点を選択する。つまり、配置先決定部３１は、あらかじめ設定された優先度の高いユーザ拠点に絞り込み、そのユーザ拠点に対して提供できる通信性能が他のＤＣ拠点よりも良いＤＣ拠点を、仮想マシンの配置先として決定する。
しかし、図５（ｃ）では、通信時間の和が1.6[s]となるＤＣ拠点Ｄ２は除外できるものの、通信時間の和が1.4[s]となる残りのＤＣ拠点Ｄ１，Ｄ３，Ｄ４は同点となってしまい、まだ配置先のＤＣ拠点を１つに決定できない。
【００４７】
さらに、配置先のＤＣ拠点を１つに決定できないときには、配置先決定部３１は、予めユーザ拠点情報１１に登録されているユーザ拠点ごとの優先度を参照し、高い優先度のユーザ拠点どうしの通信時間の差分（隔たり）が少ないＤＣ拠点を配置先とする。よって、配置先決定部３１は、図５（ｃ）の第５行（高優先であるユーザ拠点ＵＡ間の通信時間差分を示す「高差分」）に示すように、高優先であるユーザ拠点ＵＡ２，ＵＡ３間の通信時間の差分を、ＤＣ拠点ごとに計算する。例えば、ＤＣ拠点Ｄ１では、（ＵＡ３の通信時間1.0[s]）−（ＵＡ２の通信時間0.4[s]）＝0.6[s]である。
そして、配置先決定部３１は、「高差分」行の各差分時間の内の最小の差分時間0.2[s]であるＤＣ拠点Ｄ３を、配置先とする。これにより、ユーザが特に重視する高優先度のユーザ拠点ＵＡ２，ＵＡ３において、相対的に見て品質が著しく悪いユーザ拠点の数を減らすことができる。
なお、前記した例では、高優先度拠点が2拠点のため、その拠点間の差を示しているが、3拠点以上の場合には、各拠点間の通信時間差の標準偏差等偏りを示す指標値を用いてもよい。
【００４８】
なお、ビデオ会議の配信サービスでは、現場で取材した大容量の映像データをリアルタイムで処理するために、配信者からＤＣに配置したシステムに配信を行う。そのため、例えば、高優先のユーザ拠点を配信者（ビデオに撮影される発言者）とし、普通のユーザ拠点を受信者（ビデオに撮影されない聴講者）とするようにユーザ拠点情報１１にあらかじめ登録しておく。これにより、会議中の通信時間の遅延を減らすことで、配信者にも聴講者にもサービスの満足度を低下させずに済む。
【００４９】
ここで、Ｒ１１→Ｒ１３などの同じルータ間であっても、右回りの「Ｒ１１→Ｒ１５→Ｒ１４→Ｒ１３」などの現用系の通信時間（４ホップで0.8[s]）と、左回りの「Ｒ１１→Ｒ１２→Ｒ１３」などの予備系の通信時間（３ホップで0.6[s]）とが異なることもある。よって、冗長性を持たせたネットワークを用いるときには、拠点間の通信時間として、現用系の通信時間をそのまま用いてもよいし、現用系の通信時間と予備系の通信時間との統計時間（最小時間、最大時間、平均時間、合計時間など）を用いてもよい。
【００５０】
さらに、以下に例示するように、両系を組み合わせて許容時間に対する許容（○）／却下（×）判定を行ってもよい。
（判定例１）現用系の通信時間（＝0.8[s]）≦許容時間（＝0.8[s]）なので、許容（○）
（判定例２）現用系の通信時間（＝0.8[s]）≦許容時間（＝0.8[s]）、かつ、予備系の通信時間（＝0.6[s]）≦許容時間（＝0.8[s]）なので、許容（○）
（判定例３）現用系の通信時間（＝0.8[s]）と予備系の通信時間（＝0.6[s]）との平均時間0.7[s]≦許容時間（＝0.8[s]）なので、許容（○）
（判定例４）現用系の通信時間（＝0.8[s]）＋予備系の通信時間（＝0.6[s]）＝合計時間1.4[s]＞許容時間（＝0.8[s]）なので、却下（×）
【００５１】
図６は、配置先決定部３１の処理内容を示すフローチャートである。配置先決定部３１は、各情報（ユーザ拠点情報１１、配置サービス情報１２、ＤＣ拠点情報２１、通信設備情報２２）をもとに、ユーザの配置したいサービス(ＶＭ)を配置する適切なＤＣ拠点を決定する。以下、その詳細を説明する。
Ｓ１０１として、配置先決定部３１は、複数のユーザ（ＵＡ，ＵＢ，ＵＣ…）が存在する場合、どのユーザのクラウドサービスから順に配置するかを決定するため、ユーザを順序づける。この順序づけ処理は、例えば以下のルールに従う。
（ルール１）配置サービス情報１２に登録されているサービスの必要通信要件が高いユーザほど、先に選択する。必要通信要件が高いとは、例えば、許容応答時間が短い、許容通信時間が短いなど、より多くの通信性能を要することである。
（ルール２）前記の（ルール１）で同点となった場合、ユーザ拠点情報１１に登録されているユーザ拠点が多いユーザほど、先に選択する。
（ルール３）前記の（ルール２）で同点となった場合、ユーザ拠点情報１１に登録されている高優先度のユーザ拠点が多いユーザほど、先に選択する。
【００５２】
このような各ルールに沿って、例えば、以下のようにユーザが順序づけされる。
１位のユーザ：許容通信時間＝0.8[s]、ユーザ拠点３つのうち、高優先は２箇所。
２位のユーザ：許容通信時間＝0.8[s]、ユーザ拠点３つのうち、高優先は１箇所。
３位のユーザ：許容通信時間＝0.8[s]、ユーザ拠点２つのうち、高優先は１箇所。
４位のユーザ：許容通信時間＝2.5[s]、ユーザ拠点３つのうち、高優先は０箇所。
そして、配置先決定部３１は、Ｓ１０１で決定された順序に従って、未選定のユーザがなくなるまで（Ｓ１０２，Ｎｏになるまで）、未選定かつ最高順位のユーザを今回の選定対象として（Ｓ１０３）、Ｓ１１１〜Ｓ１２３の各処理を実行する。
【００５３】
前記した（ルール１）〜（ルール３）に沿ってユーザの順序を決定することで、以下の図７に示すように、各位置に分散するようにユーザが配置される。
図中の四角形のアイコンは、１つのアイコンが１ユーザ（１つ以上のユーザ拠点をもつ）が使用するサービスに対応し、（ルール１）の必要通信要件が高いサービスを黒四角形（■）で示し、必要通信要件が高くないサービスを白四角形（□）で示す。
図中の楕円は、その楕円内が黒四角形（■）の必要通信要件を満たすことができる範囲を示す。図示したように、楕円の範囲が限定されているため、（ルール１）を適用することで、楕円内に黒四角形（■）を先に配置することができる。よって、黒四角形（■）が楕円外に外れてしまうことを抑制できる。
【００５４】
図６に戻り、説明を続ける。Ｓ１１１として、配置先決定部３１は、図５（ａ）で説明したように、各ユーザ拠点から各ＤＣ拠点までの通信時間を計算する。
Ｓ１１２として、配置先決定部３１は、同じユーザについてのすべてのユーザ拠点で応答性ＯＫである（必要通信要件を満たす）ＤＣ拠点が存在するか否かを判定する。そして、Ｓ１１２でＹｅｓならＳ１１３に進み、ＮｏならＳ１１４へ進む。例えば、図５（ｂ）では、ＤＣ拠点Ｄ３が応答性ＯＫであるので、Ｓ１１３に進む。
Ｓ１１３として、配置先決定部３１は、Ｓ１１２で応答性ＯＫと判定したＤＣ拠点を配置先として決定する。
【００５５】
一方、Ｓ１１４として、配置先決定部３１は、図５（ｃ）で説明したいように、ユーザ拠点ごとの優先度をもとに配置先となるＤＣ拠点を決定する。前記したように、配置先決定部３１は、あらかじめ設定された優先度の高いユーザ拠点に絞り込み、そのユーザ拠点に対して提供できる通信性能が他のＤＣ拠点よりも良いＤＣ拠点を、仮想マシンの配置先として決定する。例えば、高優先のユーザ拠点からの通信時間の和が最小となるＤＣ拠点を決定してもよいし、高優先のユーザ拠点からの通信時間どうしの差が最小となるＤＣ拠点を決定してもよい。
【００５６】
Ｓ１２１として、配置先決定部３１は、Ｓ１１３またはＳ１１４で決定した配置先のＤＣ拠点について、ＤＣ拠点情報２１の空き状況を参照して、配置サービス情報１２に記載されている配置対象のサービスの必要リソース分を配置可能か否かを判定する。つまり、配置先のＤＣ拠点の物理サーバ上に空き性能があるか否かを判定する。Ｓ１２１でＹｅｓならＳ１２３に進み、ＮｏならＳ１２２に進む。
【００５７】
Ｓ１２２として、配置先決定部３１は、Ｓ１０３で今回の選定対象となっているユーザとは別のユーザに着目する。配置先決定部３１は、その別ユーザがすでに使用している配置済みのＶＭ（およびそのＶＭ上で動作するクラウドサービス）を、Ｓ１１３またはＳ１１４で決定した配置先のＤＣ拠点から他のＤＣ拠点に移動することで、その移動元のＤＣ拠点に空き性能を確保する。つまり、配置済みのＶＭの再配置処理と、新規に配置するＶＭの配置処理との２段階配置を行えばよい。
【００５８】
なお、移動対象のＶＭについても、その移動先のＤＣ拠点において、応答性ＯＫである（必要通信要件を満たす）必要がある。そのため、配置先決定部３１は、移動対象のＶＭを選択するときには、移動しやすい（許容通信時間が長いなどの必要通信要件がゆるい）ＶＭを優先的に選択すればよい。そして、配置先決定部３１は、移動対象のＶＭについても、Ｓ１１２と同様に、必要通信要件を満たす適切な移動先のＤＣ拠点を選択する。
また、移動対象のＶＭがＳ１１２にて応答性OKのDC拠点を見つけられない場合、配置先決定部３１は、Ｓ１１４に基づき、別の配置先の候補となるＤＣ拠点から、新たに移動対象のＶＭを検索してもよい。
【００５９】
図８は、図１のクラウドサービス構築用ネットワークについて、サービスの２段階配置を行った図である。
まず、Ｓ１０３で今回の選定対象のユーザが社員検索ＤＢ（図３（ｃ）の配置サービス情報１２の第１行）を使用する場合を考える。この社員検索ＤＢの必要通信要件は「片道の通信時間≦０．８秒」であり、図５（ｂ）で説明したように、ＤＣ拠点Ｄ３だけが応答性ＯＫである（Ｓ１１２）。しかし、ＤＣ拠点Ｄ３には空き性能がない（Ｓ１２１，Ｎｏ）とする。
【００６０】
そこで、配置先決定部３１は、ＤＣ拠点Ｄ３上に既に配置されている別のクラウドサービス「売上統計ＤＢ」に着目する。この売上統計ＤＢの必要通信要件は図３（ｃ）では「上りの通信時間≦１．２秒かつ下りの通信時間≦２．４秒」であり、いずれの片道も社員検索ＤＢの必要通信要件「片道の通信時間≦０．８秒」よりもゆるい。よって、配置先決定部３１は、売上統計ＤＢの必要通信要件を満たす別のＤＣ拠点Ｄ２へと売上統計ＤＢを移動させることによって、移動元のＤＣ拠点Ｄ３のリソースに空きを作る（Ｓ１２２）。
【００６１】
そして、配置指示部３２は、当初の社員検索ＤＢの配置先であるＤＣ拠点Ｄ３に対して、社員検索ＤＢを配置させる（Ｓ１２３）。なお、Ｓ１２２の移動指示やＳ１２３の配置指示において、配置指示部３２は、指示対象のＤＣ拠点Ｄ内の仮想インフラシステムに対し、配置サービス情報１２を併せて通知することにより、具体的なＶＭの構築処理を指示できる。
【００６２】
以上説明した本実施形態は、配置先決定装置１が複数の分散されたユーザ拠点からＤＣ拠点までの通信性能を考慮し、どのユーザ拠点からもサービスの提供で必要になる程度の通信品質を提供できる適切な位置のＤＣ拠点を、クラウドサービスの配置先として選択することを特徴とする。そのため、配置先決定装置１の配置先決定部３１は、ネットワークトポロジを通信設備情報２２から読み取り、図５（ａ）で示すように各ユーザ拠点から各ＤＣ拠点までの通信性能を推測し、図５（ｂ）で示すように必要通信要件との照合結果により各ＤＣ拠点を評価することで、適切なＤＣ拠点を絞り込む。
【００６３】
また、通信資源も有限であるので、ユーザ数の増加によりすべてのユーザを満足させるような配置先を決定するのが困難となることもある。そのときには、図５（ｃ）に示したように、高い優先度が設定されたユーザ拠点を優先的に満足させるようなＤＣ拠点を配置先とすることで、ユーザの満足度を大きく減らすことを抑制できる。
【符号の説明】
【００６４】
１      配置先決定装置（仮想マシン配置先決定装置）
１０    ユーザ情報入力部
１１    ユーザ拠点情報
１２    配置サービス情報
２０    ＤＣ情報入力部
２１    ＤＣ拠点情報
２２    通信設備情報
３１    配置先決定部
３２    配置指示部
【図１】
0006499567.tif 000002
【図２】
0006499567.tif 000003
【図３】
0006499567.tif 000004
【図４】
0006499567.tif 000005
【図５】
0006499567.tif 000006
【図６】
0006499567.tif 000007
【図７】
0006499567.tif 000008
【図８】
0006499567.tif 000009
【図９】
0006499567.tif 000010