(57)【要約】【課題】アプリを別環境（サーバ）へ移動・複製する場合に、アプリの移動先の環境（サーバ）でリソース不足にならないように確認してから実行させる。【解決手段】予め定めた基準環境上で動作した時の、該当アプリのリソース使用量を元にしてアプリスコア、及び、予め定めた基準アプリを当該環境で動作したときのリソース使用量を基にして環境スコアを算出し、該当環境（サーバ）の能力を、基準環境と比較して環境スコアを算出し、別環境（サーバ）に該当アプリを移動・複製する場合に、前記アプリスコアと移動・複製先の環境スコアを使って、移動先でのリソース使用量を予測する。【選択図】図１
2012208598.tif 000002
【特許請求の範囲】
【請求項１】
業務アプリが動作する仮想環境がそれぞれ複数稼動する少なくとも一つの計算機と運用管理サーバとがネットワークを介して少なくとも一つのクライアントに接続されたネットワークシステムにおいて、前記計算機と前記クライアントの間に設けられた通信制御装置によって実行されるサービス負荷分散対応の通信制御方法は、
前記業務アプリを実際に当該環境上で動作させたときの前記業務アプリのリソース使用量を、前記業務アプリを予め定めた基準環境で動作させた時の全体のリソース量に対する百分率で示した値を、前記業務アプリのアプリスコアとして定義し、
当該環境で前記基準アプリを動作させた時のリソース使用量を、前記基準環境で前記基準アプリを動作させた時のリソース使用量に対する比率で表した環境スコアを定義し、
前記基準環境で前記業務アプリを動作させた時のリソース使用量に、前記アプリスコアを掛けた値によって、前記業務アプリを前記当該環境で動作させた時のリソース使用量を求め、
前記当該環境で前記業務アプリを動作させた時のリソース使用量を、前記環境スコアで割った値によって、前記業務アプリを前記基準環境で動作させた時のリソース使用量を求めることを特徴とするサービス負荷分散対応の通信制御方法。
【請求項２】
前記方法において、
移動元の環境上でのアプリスコアを移動・複製先の環境上での前記アプリスコアに変換する際に、一つの計算機上で複数の仮想環境間でリソースを共有する場合に、環境単体を稼働させた場合の値に変換することを特徴とする請求項１記載のサービス負荷分散対応の通信制御方法。
【請求項３】
前記方法において、
第１の環境と第２の環境とが、リソースを共有している場合に、
リソースを共有している前記第１の環境と前記第２の環境で同じ基準アプリを実行させた時のリソース使用量と、前記第１及び第２の環境のそれぞれにおける全体のリソース量に占める共有リソースの割合に基づいて、前記第１及び第２の環境のそれぞれにおける、共有リソースを含まない、それぞれの環境単体のリソース使用量を求めることを特徴とする請求項２記載のサービス負荷分散対応の通信制御方法。
【請求項４】
前記方法において、
移動・複製元である第１の環境、及び移動・複製先である第２の環境のそれぞれについて、前記第１及び第２の環境のリソース能力として、基準環境で基準アプリを動作させた時のリソース使用量に対する比率で決定した環境スコアが予め与えられている場合に、前記環境スコアに基づいて、前記第１の環境での前記業務アプリのリソース使用量を基準環境でのリソース使用量に換算し、前記換算したリソース使用量を前記第２の環境でのアプリ使用量に換算することによって、移動・複製元の環境でのリソース使用量から移動・複製先の環境での前記業務アプリのリソース使用量を予測することを特徴とする請求項１記載のサービス負荷分散対応の通信制御方法。
【請求項５】
クライアントにサービスを提供するサーバに対し、そこへの通信を制御する通信制御システムにおいて、
各環境上での業務アプリのリソース使用量を管理するアプリスコア管理部と、
各環境が保持するリソース量を提供する環境スコア管理部と、
移動元の環境上でのアプリスコアを移動・複製先の環境上でのアプリスコアに変換するスコア変換部を
有することを特徴とするサービス負荷分散対応の通信制御システム。
【請求項６】
前記システムにおいて、
業務アプリのリソース使用量を提供する前記アプリスコア管理部で、任意に定めた基準環境上における、事前に想定したクライアントからのアクセス数での業務アプリのリソース使用量に基づいて、前記業務アプリのリソース使用量を評価することを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項７】
前記システムにおいて、
業務アプリのリソース使用量を提供する前記アプリスコア管理部で、任意に定めた基準環境上における、クライアントからのアクセス数と、業務アプリのリソース使用量の関数を含む、予め用意された複数の値に基づいて、前記アプリスコアを求めることを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項８】
前記システムにおいて、
業務アプリのリソース使用量を提供する前記アプリスコア管理部で、複数の環境上における、クライアントからのアクセス数と、業務アプリのリソース使用量の関数を含む、予め用意された複数の値に基づいて、前記アプリスコアを求めることを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項９】
前記システムにおいて、
業務アプリが動作する環境が保持するリソース量を提供する環境スコア管理部で、複数の環境上における、任意に定めた基準業務アプリを、想定アクセス数で稼働させたときのリソース使用量の値に基づいて、当該環境のリソース使用量を評価することを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項１０】
前記システムにおいて、
業務アプリが動作する環境が保持するリソース量を提供する環境スコア管理部で、複数の環境上における、各業務アプリを、それぞれの想定アクセス数で稼働させたときのリソース使用量の値に基づいて、当該環境のリソース使用量を評価することを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項１１】
前記システムにおいて、
移動元の環境上でのアプリスコアを移動・複製先の環境上でのアプリスコアに変換する前記スコア変換部で、一つの実サーバ上で複数の仮想環境間でリソースを共有する場合に、環境単体を稼働させた場合の値に変換することを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項１２】
前記システムにおいて、
第１の環境と第２の環境とが、リソースを共有している場合に、
リソースを共有している前記第１の環境と前記第２の環境で同じ基準アプリを実行させた時のリソース使用量と、前記第１及び第２の環境のそれぞれにおける全体のリソース量に占める共有リソースの割合に基づいて、前記第１及び第２の環境のそれぞれにおける、共有リソースを含まない、それぞれの環境単体のリソース使用量を求めることを特徴とする請求項１１記載のサービス負荷分散対応の通信制御システム。
【請求項１３】
前記システムにおいて、
前記スコア変換部は、
業務アプリを実際に当該環境上で動作させたときの業務アプリのリソース使用量を、前記業務アプリを基準環境で動作させた時の全体のリソース量に対する百分率で示した値を、当該業務アプリのアプリスコアとして定義し、
当該環境で基準アプリを動作させた時のリソース使用量を、基準環境で前記基準アプリを動作させた時のリソース使用量に対する比率で表した環境スコアを定義し、
基準環境で業務アプリを動作させた時のリソース使用量に、前記アプリスコアを掛けた値によって、前記業務アプリを当該環境で動作させた時のリソース使用量を求め、
当該環境で前記業務アプリを動作させた時のリソース使用量を、前記環境スコアで割った値によって、前記業務アプリを基準環境で動作させた時のリソース使用量を求めることを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【請求項１４】
前記システムにおいて、
前記スコア変換部は、
移動・複製元である第１の環境、及び移動・複製先である第２の環境のそれぞれについて、前記第１及び第２の環境で基準アプリを動作させた時のリソース使用量を、基準環境で基準アプリを動作させた時のリソース使用量に対する比率で表した環境スコアが予め与えられている場合に、前記環境スコアに基づいて、前記第１の環境での前記業務アプリのリソース使用量を基準環境でのリソース使用量に換算し、前記換算したリソース使用量を前記第２の環境でのアプリ使用量に換算することによって、移動・複製元の環境でのリソース使用量から移動・複製先の環境での前記業務アプリのリソース使用量を予測することを特徴とする請求項５記載のサービス負荷分散対応の通信制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで結合された計算機システムに関し、特に、クライアントと称する多数の計算機からの通信を受け付け、処理を行い、その結果をクライアントへ返答する複数のサーバ群からなる分散システムにおける、負荷分散システム技術に関する。
【背景技術】
【０００２】
ユーザは、パーソナルコンピュータなどのクライアントPCからウェブブラウザなどを利用して、企業などが提供するサービスに対してアクセスを行う。サービスは、複数台のサーバ上の、仮想環境または実環境上のアプリケーション（アプリ）が複数で負荷分散を行いながら提供される。このとき、負荷分散を強化する目的で、サービスを提供するアプリケーションを増強するために、アプリケーションを別環境へ移動・複製したい場合に、そのアプリケーションの実行によって、移動先の環境でリソース不足にならないようにしたいニーズが存在する。また、仮想化技術の進展により、実行環境のみならず、アプリケーション自体の、実行環境間の移動・複製を自由に行えるようになってきている。あるシステムでは、仮想環境自体のリソース能力の調整を動的に行えたり、負荷に合わせてアプリケーションを切り替えたりするポリシーを記述することもできるようなってきた。
【０００３】
また、アプリ毎の、サーバのCPUやメモリ等の使用率を元に、別サーバへのアプリ追加時に、リソースがそのサーバの上限値以上にならないかチェックする技術も存在する。（特開2008−33852）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2008−33852号公報  リソース管理システム及びその方法（米国特許出願公開第2008／0034093号明細書）
【非特許文献】
【０００５】
【非特許文献１】ヴイエムウェア株式会社、“VMware DRS：システムリソースの動的なスケジューリング”、［online］、“概要”、ヴイエムウェア株式会社、［2011年2月16日検索］、インターネット＜URL:http:／／www.vmware.com／jp／products／vi／vc／drs.html＞
【非特許文献２】NEC株式会社、“負荷分散機能”、［online］、“グリッド技術を活用した負荷変動対応機能（V7.1で対応）”、NEC株式会社、［2011年2月16日検索］、インターネット＜URL:http:／／www.nec.co.jp／ WebOTX ／appserver／function／load.html＞
【非特許文献３】Microsoft株式会社、“アプリケーションの仮想化技術”、［online］、Microsoft株式会社、［2011年2月16日検索］、インターネット＜URL:http:／／www.microsoft.com／japan／virtualization／solution−tech-application.mspx＞＜URL:http:／／www.microsoft.com／systemcenter／appv／techoverview.mspx＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来技術では、同じサーバ上へ複数の業務アプリを追加する場合、CPU利用率等のリソースは合算しても良いが、性能の異なる複数のサーバへ一つの業務アプリを分散して追加する場合は、CPU利用率等はそのサーバの性能により変化するため、単純に合算する事はできない。また、同じサーバ上の仮想環境間で実CPUを取り合う場合、ある仮想環境のリソース能力には、同じCPUを取り合う他の仮想環境のリソース使用を考慮する必要がある。
【０００７】
発明の目的は、異なる環境間でリソース使用量を比較するための手段、方法を提供する。
【課題を解決するための手段】
【０００８】
各環境 （サーバ）の能力を、基準アプリで測定またはCPUクロック、メモリサイズ等で決定してスコアを取得し、また各業務アプリのリソース使用量も基準とする環境上でスコア化する。該当業務アプリを別の環境（サーバ）へ追加・移動する際に、追加先の環境（サーバ）のスコアと追加する業務アプリのスコアを利用して追加先環境（サーバ）でのリソース使用量を予測する。
【発明の効果】
【０００９】
業務アプリの追加・移動において、別の環境（サーバ）上へでも比較できるサービス毎のリソース使用量を求め、それを用いて必要十分な環境（サーバ）を選択し業務アプリ追加・移動を行うことができ、環境（サーバ）の有効利用が可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１のシステム構成図である。
【図２】本発明の実施例１のリソース使用量を取得するフローチャートである。
【図３】本発明の実施例１の業務アプリ情報テーブルである。
【図４】本発明の実施例１の振り分け方法指定テーブルである。
【図５】本発明の実施例１の振り分け先指定テーブルである。
【図６】本発明の実施例１のリソース使用状態テーブルである。
【図７】本発明の実施例１のアプリスコアテーブルである。
【図８】本発明の実施例１の環境スコアテーブルである。
【図９】本発明の実施例１の運用管理画面の例である。
【図１０】本発明の実施例２のアプリスコアテーブルである。
【図１１】本発明の実施例２の環境間リソース競合情報テーブルである。
【図１２】本発明の実施例３のリソース使用量を取得するフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１１】
以下に、本発明の実施形態を示す。図1は本発明の第1の実施形態のシステム構成を示すブロック図である。この図において、符号101はサービスを構成する複数の業務アプリの一つを、符号102は仮想環境、符号103は同じサーバ上の別の仮想環境、符号104は仮想環境の管理をする仮想環境管理部、符号105は別サーバ上の仮想環境管理部、符号106、符号107、符号108はそれぞれ業務アプリ、符号109は本発明の動作の主体である通信制御部、符号110、符号111、符号112はシステム利用者が利用するクライアント、符号113、符号121はOS、符号114はサーバ、符号115は通信制御部109が持つ様々なテーブルを保持するストレージ、符号116はクライアント110？112と通信制御部109をつなぐネットワーク、符号117は業務アプリのリソース使用量情報を管理するアプリスコア管理部、符号118は各環境のリソース能力情報を管理する環境スコア管理部、符号119はシステム利用者からのアクセスを、各サー場の各業務アプリに振り分けて負荷分散を行う通信振り分け部、符号120は業務アプリの移動や複製をサーバ内やサーバ間で行うアプリ管理部、符号122は業務アプリの移動や複製の際の、業務アプリのリソース使用量を計算するスコア変換部、符号123は通信制御部のCPU、符号124、符号125は別のサーバ上の仮想環境、符号126は符号114とは別のサーバ、符号127、符号128は符号114のサーバのCPUで、符号129、符号130は符号126のサーバのCPUである。これらのサーバのCPUには、2つ以上の複数のCPUやCPUコア等の並列なプログラム実行機能を含む。符号132は、このシステムの運用管理を行う運用管理部である。
【００１２】
アプリ101は仮想環境102と接続されている。仮想環境102はアプリ101、仮想環境管理部105と接続されている。仮想環境103はアプリ107、仮想環境管理部105と接続されている。仮想環境管理部104は仮想環境124、仮想環境125、OS113と接続されている。仮想環境管理部105は仮想環境102、仮想環境103、OS121と接続されている。アプリ106は仮想環境125と接続されている。アプリ107は仮想環境103と接続されている。アプリ108は仮想環境124と接続されている。通信制御部109はアプリスコア管理部117、環境スコア管理部118、通信振り分け部119、アプリ管理部120、スコア変換部122、CPU123から構成されており、ネットワーク116、サーバ114、サーバ126、ストレージ115と接続されている。クライアント110？クライアント112はネットワーク116と接続されている。OS113は仮想環境管理部104、CPU129、CPU130と接続されている。
【００１３】
サーバ114はアプリ101、仮想環境102、仮想環境103、仮想環境管理部105、アプリ107、OS121、CPU127、CPU128から構成されており、通信制御部109と接続されている。ストレージ115はCPU128と接続されている。ネットワーク116は通信制御部109、クライアント112、クライアント111、クライアント110と接続されている。
【００１４】
通信制御部109において、アプリスコア管理部117はスコア変換部122と接続されている。環境スコア管理部118はスコア変換部122と接続されている。通信振り分け部119はCPU123と接続されている。アプリ管理部120はCPU123と接続されている。OS121は仮想環境管理部105、CPU127、CPU128と接続されている。スコア変換部122はCPU123、環境スコア管理部118、アプリスコア管理部117と接続されている。CPU123は通信振り分け部119、アプリ管理部120、スコア変換部122、模擬通信作成・送受信部131と接続されている。
【００１５】
仮想環境124はアプリ108、仮想環境管理部104と接続されている。仮想環境125はアプリ106、仮想環境管理部104と接続されている。
【００１６】
サーバ126は仮想環境管理部104、アプリ106、アプリ108、OS113、仮想環境124、仮想環境125、CPU129、CPU130から構成されており、通信制御部109と接続されている。
【００１７】
CPU127はOS121と接続されている。CPU128はOS121と接続されている。CPU129はOS113と接続されている。CPU130はOS113と接続されている。運用管理部132は通信制御部109と接続されている。
【００１８】
ここで、通信制御部109の中の機能ブロックについて説明する。
【００１９】
最初に、アプリスコア管理部117において、どのように業務アプリのリソース使用量を計測するかを説明する。まず、基準環境を任意に一つ決定する。例えば、使用している多くの環境の中の平均的な能力を持つか、または一番能力が小さい環境を選ぶ。次に業務アプリを実際にその環境上で動作させ、その業務アプリに対して通信制御部109の模擬通信作成・送受信部131より、業務アプリ情報テーブル301により事前に定めた想定アクセス数と同じ数の、システム利用者からの通信を模倣したアクセスを与える。業務アプリを実際にその環境上で動作させたときの業務アプリのリソース使用量を、基準環境全体のリソース量に対する百分率で示した値を、その業務アプリのアプリスコアとする。ここでリソース使用量は、環境のどのリソースの使用量かは任意に決定できるが、例えばCPU、メモリ、ディスク、ネットワーク使用率を1つまたは複数指定する。この値を図７（a）のアプリスコアテーブル701にアプリ名とともに保存する。逆に、基準環境で業務アプリを動作させた時のリソース使用量に、このアプリスコアを掛けた値は、業務アプリをその環境で動作させた時のリソース使用量となる。
【００２０】
次に、環境スコア管理部118において、どのように各環境のリソース能力を計測するかを説明する。まず、基準アプリを任意に一つ決定する。例えば、稼働している業務アプリの中で、平均的なリソース使用量を持つ物を選ぶか、専用の基準アプリを事前に準備しておく。その基準アプリを上記基準環境で動作させた時のリソース使用量と、比較対象の各環境上で動作させた時のリソース使用量を、それぞれのOS121，113や仮想環境管理部104，105から取得して比べることで、その環境のリソース能力を、基準環境で動作させた時のリソース使用量に対する比率で決定することができる。この値を、環境スコアとして図８の環境スコアテーブル801に保存する。ここでリソース使用量は、環境のどのリソースの使用量かは任意に決定できるが、アプリスコア管理部117で利用を決定したリソースと同じ種類のリソースとする。逆に、その環境で業務アプリを動作させた時のリソース使用量を、この環境スコアで割った値は、業務アプリを基準環境で動作させた時のリソース使用量となる。
【００２１】
次に、スコア変換部122において、上記業務アプリのリソース使用量を各環境のリソース能力に換算して計算する方法を説明する。事前に、どのアプリをどこの環境へ移動するかは決定されているとする。この決定動作については後述する。まず、アプリ101の想定アクセス数を、各アプリ（サービス）ごとの模擬アクセスの内容を保持した図３の業務アプリ情報テーブル301より取得する。
【００２２】
次に、想定アクセス数での業務アプリのアプリスコアを、アプリスコアテーブル701より取得する。アプリスコアの形式を確認し、移動先の環境上のアプリスコアが存在した場合、その値を移動先環境上のアプリスコアとする。移動先環境上のアプリスコアが存在しなかった場合、想定アクセス数での基準環境上のアプリスコアを利用し、各環境ごとに各リソース性能の基準環境に対応する比を格納した図８の環境スコアテーブル801から取得した、移動先環境のリソース能力の基準環境に対する比率である環境スコアを利用して、移動先環境上のアプリスコアを計算する。
【００２３】
例えば、アプリスコアテーブル701のアプリ703では、基準環境上でリソース、CPU使用率30%、メモリ使用率10%、ディスク使用率5%、ネットワーク使用率30%を使用する。使用率は、基準環境の全リソース量に対する割合とする。このアプリ703を環境802（VM1）で動作させているときには、環境802上ではCPU使用率15%（30／2）、メモリ使用率10%（10／1）、ディスク使用率5%（5／1）、ネットワーク使用率30%（30／1）のリソースを使用している。（ ）内の値は、図７（a）の各リソースのスコア／図８の性能比である。このアプリ703を、環境803へ移動・複製した場合、その環境スコアはCPU性能比:1.5， メモリ容量比;2， ディスク容量比:2， ネットワーク速度:2となり、環境803上でのリソースを、CPU使用率20%（30／1.5）、メモリ使用率5%（10／2）、ディスク使用率2.5%（5／2）、ネットワーク使用率15%（30／2）使用することになる。これにより、あるアプリの移動先環境上でのリソース使用量を、そのアプリスコアと環境スコアの計算結果として取得することができる。
【００２４】
次に、通信振り分け部119の動作を説明する。まず、どのようにシステム利用者が使用するクライアント110〜112から業務アプリ101， 106〜108への通信を制御するかを説明する。通信制御部109が、クライアント110からの通信として、サービス名を受領して受信する。次に、そのサービス名に対応する業務アプリをアプリ管理部120に確認し、アプリAとアプリBが同じ機能を持ち、その通信を受信してその業務（サービス）の負荷を分散して対応する業務アプリであるとして、次に振り分け方法指定テーブル401を確認してどのように振り分けを行うかを決定する。例えば通信を一度行う毎に、その通信を受信する業務アプリを順次変更するラウンドロビン方式や、その時点での、クライアントからの通信の受信（アクセス）数が少ない業務アプリに対し通信を振り分ける最小アクセスサーバ指定方式などがある。このように、通信振り分け部119では、各アプリに対するクライアントからの通信数（アクセス数）を認識することができ、そのときの値（リアルタイム）として、またはある時間での平均値として振り分け先指定テーブル501に保存できる。
【００２５】
次に、アプリ管理部120について説明する。ここでは、業務アプリのサービスをどのアプリが行っているのかを指定する図５の振り分け指定テーブル501で、クライアントが指定するURL等のサービス名を、負荷分散を行っている複数の各環境上で実際のサービスを行う業務アプリ名に変換する。テーブル501は、負荷分散の対象の業務アプリ名502、負荷分散されて各環境上に振り分けられた業務アプリ名503からなる。また、各サーバ上の仮想環境管理部104， 105に問い合わせて、環境102，103，124，125等の環境毎に、アプリスコアの積算値と実リソース使用量を、図６に示すリソース使用状態テーブル601に保存する。
【００２６】
ここで、全体の動作の説明として、通信制御部109のCPU123でのフローチャートを図２に示す。まず、通常のクライアントから業務アプリへの通信（アクセス）を行っている通常の状態から、運用管理部132で負荷の上昇やサーバ停止等で業務アプリの移動・複製が必要になった時点で、その移動・複製を行うアプリが稼働している環境の環境スコアを、アプリスコア管理部117と環境スコア管理部118から取得する（ステップ201）。
【００２７】
次にリソース使用状態テーブル601を調べ、どの環境のリソース使用量に空きがあるかを調べる（ステップ202）。リソース使用量に空きがある移動・複製先環境上の該当アプリのアプリスコアが有るかどうか確認し（ステップ203）、空きがあるアプリスコアがあった場合はその値をアプリスコアとする（ステップ204）。空きがあるアプリスコアが無かった場合は上記アプリの現在稼働している環境の環境スコア（ステップ205）と該当アプリのアプリスコア（ステップ206）を取得し、それぞれの環境スコアの比率で計算する（ステップ207）ことで、それぞれの環境での、該当アプリのリソース使用量を予測できる（ステップ208）。
【００２８】
即ち、上記の基準アプリに関する基準環境と各環境とのリソース使用量の比較（図８）、及び当該アプリに関する模擬アクセスによる基準環境でのリソース使用量（図７（a））に基づいて、当該アプリのリソース使用量を予測する。
【００２９】
そこで、移動・複製先の各環境におけるリソース使用量の空きと、その環境での当該アプリのリソース使用量を勘案して（比較して）、該当アプリの移動・複製先を決定する。このとき、一番空きが大きい環境を選ぶことや、該当アプリのリソース使用量と同じ空きのある環境を選ぶこともできる。もし、空きのある環境が見つからないときは、運用管理部132に連絡し、新しく環境を追加してアプリの移動・複製を行うか、アプリの移動・複製の停止を行う。
【００３０】
これにより業務アプリの移動・複製先を選択することができる。この場合のシステム管理者向けの画面を図９の901にて示す。902は移動・複製を選択した業務アプリ名を示し、903は現在存在している環境と、その上で稼働する業務アプリ名を示す。904は、選択した業務アプリを、各環境に移動・複製した場合に余裕となるリソースを示し、OKならば余裕が大きく、Free10%はそのアプリをその環境に追加すると、リソースの余裕が10%になることを示す。またNGの場合はそのアプリを追加して稼働する余裕がないことを示す。
【００３１】
以上により、ある環境上で稼働している業務アプリを、別の環境上へ移動・複製を行った場合の、移動先環境上でのリソース使用量を予測し、その業務アプリの稼働が可能なリソース能力を持つ環境を選択して、業務アプリの移動・複製を行うことが可能になった。
【００３２】
以上において、環境は必ずしも仮想環境である必要はなく、実サーバ上のオペレーションシステム（OS）も環境であり、通信制御部も機能が存在していれば、一つの筐体に限らない。
【実施例２】
【００３３】
次に第２の実施例について説明する。第１の実施例アプリスコア管理部117（図1）におけるアプリスコアの計測方法では、求める業務アプリ（アプリ）の、そこで想定しているアクセス数でのアクセス時のリソース使用量をアプリスコアとしたが、ここで、複数のアクセス数に対するそれぞれのリソース使用量を関数または列挙データ（双方の対応関係をデータで表したもの）として利用することで、より精度の高いアプリスコアを算出できる。
【００３４】
まず、基準環境を任意に一つ決定する。例えば、使用している多くの環境の中で平均的な能力を持つか、または一番能力が小さい環境を選ぶ。次に業務アプリを実際に基準環境上で動作させ、その業務アプリに対して通信制御部109の模擬通信作成・送受信部131より、業務アプリ情報テーブル301から得られる、0？想定アクセス数まで、またはアプリが動作する範囲で十分に大きな数の、システム利用者からの通信を模倣したアクセスを与える。そのときの業務アプリのリソース使用量を、基準環境全体のリソースからの百分率で示した物を、その業務アプリのアプリスコアとする。
【００３５】
ここでリソース使用量は、環境のどのリソースの使用量かは任意に決定できるが、例えばＣＰＵ、メモリ、ディスク、ネットワーク使用率を1つまたは複数指定する。この複数のアクセス数に対応するリソース使用量の値を、アクセス数に対する各リソース使用量を与える関数として表すことができればその関数を図１０（b）の1011に保存し、またはアクセス数のある範囲での各リソースのアプリスコアの平均値として、図１０（c）の1021に保存する。図１０（a）のアプリスコアテーブル1001にアプリ名とともに、関数または列挙型等の保存方式IDを保存する。
【００３６】
次に、図１のスコア変換部122において、上記業務アプリのリソース使用量を各環境のリソース能力に換算して計算する方法を説明する。事前に、どのアプリをどこの環境へ移動するかは決定されているとする。まず、移動・複製を行うアプリの現在のアクセス数を、図５の振り分け先指定テーブル501から取得する。また、そのアプリが構成するサービス全体のアクセス数を図４の振り分け方法指定テーブル401より取得する。アプリを稼動させている場所を移動する場合は、そのアプリへのアクセス数は変化しないため、アクセス数はそのままである。しかし、アプリをある環境に追加する場合は、サービス全体のアクセス数を、増加したアプリの分も含めていくつかの環境に振り分けることになるため、サービス全体のアクセス数を、増加させたアプリを含めたアプリの数で割り、その値をアクセス数とする。そのアクセス数における標準環境上のアプリスコアを図１０（b）のアプリスコア関数テーブル1011または図１０（c）のアプリスコア列挙テーブル1021より取得し、環境スコアテーブル801から取得した、移動先環境におけるリソース能力の標準環境におけるリソース能力に対する比率である環境スコアを利用して、移動先環境上のアプリスコアを計算する。
【００３７】
例えば、アプリスコア列挙テーブル1021の行1023は、アプリapp2をアクセス数500回／秒で基準環境上で稼動させる場合、リソースをCPU使用率10%、メモリ使用率10%、ディスク使用率20%、ネットワーク使用率10%使用することを示している。このアプリapp2を図８に示す環境802で動作させているときには、図８の環境802の環境スコアがＣＰＵ比：２、メモリ容量比：１、ディスク容量比:１， ネットワーク速度:１であるので、環境802上ではCPU使用率5%（10／2）、メモリ使用率10%（10／1）、ディスク使用率20%（20／1）、ネットワーク使用率10%（10／1）のリソースを使用していることになる。また、このアプリapp2を、図８に示す環境803へ移動した場合、その環境スコアはCPU性能比:1.5， メモリ容量比;2， ディスク容量比:2， ネットワーク速度:2であるので、環境803上でのリソースを、CPU使用率6.7%（10／1.5）、メモリ使用率5%（10／2）、ディスク使用率10%（20／2）、ネットワーク使用率5%（10／2）使用することになる。
【００３８】
また、このアプリを、環境803へ移動ではなく複製した場合、負荷分散の結果としてサービス全体のアクセス数を、アプリ数で割った平均のアクセス回数が300を下回った場合（テーブル1021の行1022）、リソース使用量がCPU使用率10%、メモリ使用率10%、ディスク使用率10%、ネットワーク使用率10%となり、環境803上でのリソースを、CPU使用率約6.7%（10／1.5）、メモリ使用率5%（10／2）、ディスク使用率5%（10／2）、ネットワーク使用率5%（10／2）使用することになる。
【００３９】
また、このサービスを提供している他のアプリのアプリスコアも減少するため、リソース使用状態テーブル601の値を、新しいアクセス数によるアプリスコアで積算し修正する。
【００４０】
以上により、あるアプリの移動・複製先環境上でのリソース使用量を、複数のアクセス数から導出されるアプリスコアと、環境スコアの計算結果として取得することができるようになった。
【実施例３】
【００４１】
次に第３の実施例を説明する。上記実施例1では環境毎のリソース能力を表す環境スコアを独立として扱ったが、同一のサーバ上に複数の環境が存在する場合に、他環境の稼働により、現環境のリソースが使用され、環境スコアが小さくなる場合がある。
【００４２】
例えば、環境Aと環境Bが一つの実サーバ上に存在している場合、各環境のCPU数と実サーバのCPU数を合わせる必要がないことが多い。例えば実サーバには2つの実行主体を持つCPUが実装され、環境Aには1つ、環境Bには2つの実行主体を持つCPUを設定できる。この場合、環境AのCPUリソースと環境BのCPUリソースは共有されている部分が生じ、環境Bのリソース使用量が大きくなると、環境Aのリソース能力が小さくなる可能性がある。
【００４３】
ここで、図1のスコア変換部122において、各環境が同じリソースを利用する場合に、チューニング（リソース共有に伴うリソース使用率の補正）を行う方法を図１２のフローチャートで説明する。そのアプリが稼働している環境の環境スコアを、アプリスコア管理部117と環境スコア管理部118から取得し（ステップ1201）、次にリソース使用状態テーブル601を調べ、どの環境のリソース使用量に空きがあるかを調べる（ステップ1202）。移動・複製先環境上の該当アプリのアプリスコアが有るかどうか確認し（ステップ1203）、あった場合はその値をアプリスコアとし（ステップ1204）、無かった場合は上記アプリの現在稼働している環境の環境スコア（ステップ1205）と該当アプリのアプリスコア（ステップ1206）を取得し、リソースを共有している２つの環境におけるそれぞれの環境スコアの比率でリソース使用量を計算する（ステップ1207）ことで、それぞれの環境での、該当アプリのリソース使用量を予測できる（ステップ1208）。
【００４４】
ここで、図１１の環境間競合情報テーブル1101にて、事前に仮想環境管理部104，105により、環境間のリソースの共有情報を取得する。環境間競合情報テーブル1101の項目1102の環境VM1と環境VM2では、CPUとネットワークのリソースを共有していることを示し、図６のリソース仕様状態テーブル601における環境VM1とVM2のそれぞれのCPU使用率とネットワーク使用率の実稼動時の値と正味の値の差を、チューニング値として、図１２のフローチャート1201のステップ1209にて図７（a）に示すアプリスコアに加える。
【００４５】
ここで、同じ基準ＡＰを、リソースを共有している環境Ａと環境Ｂのそれぞれで実行する場合を考える。基準ＡＰを基準環境で実行した時のリソース量をｍ０、共有しているリソース量をｃ、環境Ａ及びＢの正味のリソース量（共有リソースを含まない、それぞれの環境単体のリソース量）をそれぞれｍａ及びｍｂとし、ｍ０及び、それぞれの環境における全体のリソース量に占める共有リソースの割合ｔａ（＝ｃ／（ｍａ＋ｃ））及びｔｂ（＝ｃ／（ｍｂ＋ｃ））が与えられているとする。このとき、実稼働（それぞれの環境単体と共有リソースを用いて稼動）時の環境Ａ及びＢの環境スコアＫａ及びＫｂは、Ｋａ＝（ｍａ＋ｃ）／ｍ０＝（ｃ／ｍ０）／ ｔａ及びＫｂ＝（ｍｂ＋ｃ）／ｍ０＝（ｃ／ｍ０）／ ｔｂとなる。一方、環境Ａ及びＢの正味の環境スコアＫａ＊及びＫｂ＊は、Ｋａ＊＝ｍａ／ｍ０及びＫｂ＊＝ｍｂ／ｍ０となる。従って、実稼動時の環境スコアから正味の環境スコアを求める式は、環境Ａ及びＢのそれぞれについて、Ｋａ＊＝Ｋａ−（ｃ／ｍ０）及びＫｂ＊＝Ｋｂ−（ｃ／ｍ０）となる。また、未知である共有リソース量ｃを含む（ｃ／ｍ０）は、実稼動時の環境スコアと共有リソースの割合から求まる。即ち、（ｃ／ｍ０）＝Ｋａ・ｔａ又はＫｂ・ｔｂにより求まる。
【００４６】
環境ＡとＢとで共有リソース量が異なり、それぞれがｃａ、ｃｂである場合、上記の式において、環境ＡとＢのそれぞれにおけるｃをｃａ、ｃｂとすればよく、これらの値は、それぞれの環境における環境スコアと共有リソース割合から求まる。
【００４７】
以上により、環境間でリソースを共有していても、各環境における正味の環境スコアを用いて、アプリのリソース使用量を予測することが可能になった。
【実施例４】
【００４８】
次に第４の実施例を説明する。上記実施例1では、アプリスコアを算出するために、基準環境上でのリソース使用量を元にしたが、環境スコアが事前に算出されている場合は、基準環境上のリソース使用量（基準アプリスコア）を持たなくとも、移動・複製先の環境でのアプリスコアを計算できる。
【００４９】
まず、移動・複製元の環境スコアを用いて、移動・複製を行うアプリのアプリスコアを基準環境上のアプリスコアに変換する。アプリスコアの値に移動・複製先の環境スコアを掛けた値を用いて、移動・複製先のアプリスコアを算出することができる。
【００５０】
例えば、基準アプリの、環境Ａ（移動・複製元）、基準環境及び環境Ｂ（移動・複製先）でのそれぞれのリソース使用量をａ、ｃ及びｂとし、ａ／ｃとｂ／ｃが環境スコアとして与えられているとすると、環境ＡでのアプリＸのリソース使用量ｘを基準環境でのリソース使用量に換算すると、ｘ／（ａ／ｃ）となるので、この基準環境でのアプリＸのリソース使用量を環境Ｂでのリソース使用量に換算すると、（ｘ／（ａ／ｃ））・（ ｂ／ｃ）となる。この値は、ｘ／（ａ／ｂ）に等しい。即ち、移動先の環境Ｂをあたかも基準環境とみなして、環境ＡでのアプリＸのリソース使用量ｘを環境Ｂでのリソース使用量に換算することに相当する。
【００５１】
以上により、新しいアプリを作成した時でも、基準環境でのアプリスコア測定作業を行わずに、基準アプリスコアを算出でき、移動・複製先でのアプリのリソース使用量を予測することができるようになった。
【符号の説明】
【００５２】
101，106？108 アプリ
102，103， 124， 125 仮想環境
104，105 仮想環境管理部
109 通信制御部
110？112 クライアント
113，121 OS
114，126 サーバ
115 ストレージ
116 ネットワーク
117 アプリスコア管理部
118 環境スコア管理部
119 通信振り分け部
120 アプリ管理部
122 スコア変換部
123，127？130 CPU
131 模擬通信作成・送受信部
132 運用管理部
133 運用管理サーバCPU
301 業務アプリ情報テーブル
401 振り分け方法指定テーブル
501 振り分け先指定テーブル
601 リソース使用状態テーブル
701 アプリスコアテーブル（a）
711 アプリスコアテーブル（b）
801 環境スコアテーブル
901 運用管理画面
1001 複数アクセス数対応アプリスコアテーブル
1011 アプリスコア関数テーブル
1021 アプリスコア列挙テーブル
1101 環境間競合情報テーブル
【図１】
2012208598.tif 000003
【図２】
2012208598.tif 000004
【図３】
2012208598.tif 000005
【図４】
2012208598.tif 000006
【図５】
2012208598.tif 000007
【図６】
2012208598.tif 000008
【図７】
2012208598.tif 000009
【図８】
2012208598.tif 000010
【図９】
2012208598.tif 000011
【図１０】
2012208598.tif 000012
【図１１】
2012208598.tif 000013
【図１２】
2012208598.tif 000014